Que es un producto ?
Un producto es cualquier cosa que se puede ofrecer a un mercado para satisfacer un deseo o una necesidad
Quien lo hace?
un equipo de programadores,analistas,ingeniero,diseñadores entre otros.
Porque es importante?
porque nace de una necesidad
Cuáles son los pasos?
- Planificar
- Ciclo de vida
- Desarrollar
- Darle soporte
Cual es el producto obtenido?
software capaz de satisfacer los requerimientos previamente mencionados
La Evolución del Software
Quien es el gestor del software?
el líder,el que organiza al equipo
el producto cumple dos funciones :
- producto
- vehículo para entregar
Democratización del conocimiento?
La comunicación científica es importante, porque de esta forma el conocimiento se registra, acumula y dispersa. Nos explica que gracias a la sociedad de la información y mediante sus tecnologías, la difusión de conocimiento científico a crecido, pero algo aún más importante es que ha creado redes de conocimiento, en las que el objetivo no solo es la difusión, sino acceder y conocer los aportes, para someter a revisión y crítica los trabajos hay publicados.
Programadores
Un programador es aquella persona que escribe, depura y mantiene el código fuente de un programa informático, es decir, del conjunto de instrucciones que ejecuta el hardware de una computadora para realizar una tarea determinada. La programación es una de las principales disciplinas dentro de la informática.
Hardware Vs Software
Diferencias:
- El software no se estropea se deteriora.
- El software son programas que la computadora usa para realizar sus tareas. El hardware son las partes físicas de la computadora, incluye el teclado, el mouse, el procesador, el disco duro.
Aplicaciones del Software
Aplicaciones del software?
Software de sistemas:
Consiste en programas informáticos que sirven para controlar e interactuar con el sistema operativo, proporcionando control sobre el hardware y dando soporte a otros programas
Software de tiempo real:
Es un sistema cuyo funcionamiento se degrada si los resultados no se producen de acuerdo con los requerimientos temporales especificados.
Software de gestión:
El proceso de la información constituye la mayoría de las áreas de aplicación del software
Software de ingeniería y científico:
Está caracterizado por los algoritmos de manejo de números
Software empotrado:
Se utiliza para controlar productos y sistemas de los mercados industriales y de consumo,ejecuta funciones limitadas
Software de computadoras personales:
El mercado de software de computadoras personales han germinado en las pasadas dos décadas.
aplicaciones:
- Hoja de cálculo
- Multimedia
- Entretenimiento
- Gestión de bases de datos
- Procesamientos de textos
Software basados en la Web:La páginas web buscadas por un explorador son software que incorpora instrucciones ejecutables(HTML,Java).
Software de inteligencia artificial:Hace uso de un algoritmos no numéricos para resolver problemas complejos para los que no son adecuados el calculo o analisis directo.
Tipos de Software
Software de Aplicación:
Aquí se incluyen todos aquellos programas que permiten al usuario realizar una o varias tareas específicas. Aquí se encuentran aquellos programas que los individuos usan de manera cotidiana como: procesadores de texto, hojas de cálculo, editores, telecomunicaciones, software de cálculo numérico y simbólico, videojuegos, entre otros.
Software de Programación:
Son aquellas herramientas que un programador utiliza para poder desarrollar programas informáticos. Para esto, el programador se vale de distintos lenguajes de programación. Como ejemplo se pueden tomar compiladores, programas de diseño asistido por computador, paquetes integrados, editores de texto, enlazadores, depuradores, intérpretes, entre otros.
Software de Sistema:
Es aquel que permite a los usuarios interactuar con el sistema operativo así como también controlarlo. Este sistema está compuesto por una serie de programas que tienen como objetivo administrar los recursos del hardware y, al mismo tiempo, le otorgan al usuario una interfaz. El sistema operativo permite facilitar la utilización del ordenador a sus usuarios ya que es el que le da la posibilidad de asignar y administrar los recursos del sistema, como ejemplo de esta clase de software se puede mencionar a Windows, Linux y Mac OS X, entre otros. Además de los sistemas operativos, dentro del software de sistema se ubican las herramientas de diagnóstico, los servidores, las utilidades, los controladores de dispositivos y las herramientas de corrección y optimización.
Software según su Licencia
Software libre:
Es un software que, para cualquier propósito, se puede usar, copiar, distribuir y modificar libremente, es decir, es un software que incluye archivos fuentes.
Software semi-libre:
Es un software que posee las libertades del software libre pero sólo se puede usar sin fines de lucro, por lo cual lo cataloga como software no libre.
Software freeware:
Es un software que se puede usar, copiar y distribuir libremente pero que no incluye archivos fuentes. Para la FSF, el software freeware no es software libre, aunque tampoco lo califica como semi-libre ni propietario. El software freeware se asemeja más al software libre porque no se debe pagar para adquirirlo o utilizarlo.
Software de dominio público:
(Public Domain Software), es un software libre que tiene como particularidad la ausencia de Copyright, es decir, es libre
sin derechos de autor. En este caso los autores renuncian a todos los derechos que les puedan corresponder.
Software shareware:
Es un tipo particular de software propietario, sin embargo, la diferencia está en su forma de distribución y los efectos que su uso ocasiona.
El software shareware se caracteriza porque es de libre distribución o copia, de tal forma que se puede usar, contando con el permiso del autor, durante un periodo limitado de tiempo, después de esto se debe pagar para continuar utilizándolo, aunque la obligación es únicamente de tipo moral ya que los autores entregan los programas confiando en la honestidad de los usuarios.
Software GNU:
(GNU General Public License GPL) es la licencia que acompaña los paquetes distribuidos por el Proyecto GNU, más una gran variedad de software que incluye el núcleo del sistema operativo Linux.
Software de libre no protegido con copyleft:
El software libre no protegido con copyleft viene desde el autor con autorización para redistribuir y modificar así como para añadirle restricciones adicionales. Si un programa es libre pero no protegido con copyleft, entonces algunas copias o versiones modificadas pueden no ser libres completamente.
Licencia de software de Copyleft:
El software protegido con copyleft es software libre cuyos términos de distribución no permiten a los redistribuidores agregar ninguna restricción adicional cuando éstos redistribuyen o modifican el software. Esto significa que cada copia del software, aun si ha sido modificado, debe ser software libre.
Software de fuente abierta:sus términos de distribución cumplen los criterios de:
- Distribución libre
- Inclusión del código fuente
- Permitir modificaciones y trabajos derivados en las mismas condiciones que el software original
- Integridad del código fuente del autor, pudiendo requerir que los trabajos derivados tengan distinto nombre o versión
- No discriminación a personas o grupos
- Sin uso restringido a campo de actividad
Software privativo: aquél cuyo uso, redistribución o modificación están prohibidos o necesitan una autorización.

Proceso
Un proceso es un conjunto de actividades o eventos (coordinados u organizados) que se realizan o suceden bajo ciertas circunstancias con un fin determinado. Este término tiene significados diferentes según la rama de la ciencia o la técnica en que se utilice.
Marco
es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, con base a la cual otro proyecto de software puede ser más fácilmente organizado y desarrollado.
Herramienta
es un objeto con el fin de facilitar la realización de una tarea que requiere de una aplicación correcta (siempre y cuando hablemos de herramienta material). Existen herramientas didácticas que sirven para realizar un proceso.
Etapas
- Análisis de requerimientos
- Especificación
- Diseño y Arquitectura
- Programación
- Pruebas
- Mantenimientos
Modelos de ciclos de vida del software
Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software.
El primer ciclo de vida del software, "Cascada", fue definido por Winston Royce a fines del 70.
Un modelo de ciclo de vida de software es una vista de las actividades que ocurren durante el desarrollo de software, intenta determinar el orden de las etapas involucradas y los criterios de transición asociadas entre estas etapas.
Modelo Cascada:
Este es el más básico de todos los modelos, y sirve como bloque de construcción para los demás modelos de ciclo de vida. La visión del modelo cascada del desarrollo de software es muy simple; dice que el desarrollo de software puede ser a través de una secuencia simple de fases. Cada fase tiene un conjunto de metas bien definidas, y las actividades dentro de una fase contribuye a la satisfacción de metas de esa fase o quizás a una subsecuencia de metas de la fase.
Modelo De Desarrollo:
Los riesgos asociados con el desarrollo de sistemas largos y complejos son enormes. Una forma de reducir los riesgos es construir sólo una parte del sistema, reservando otros aspectos para niveles posteriores. El desarrollo es el proceso de construcción siempre incrementando subconjuntos de requerimientos del sistema.

Modelo Espiral
El modelo espiral de los procesos software es un modelo del ciclo de meta-vida. En este modelo, el esfuerzo de desarrollo es iterativo. Tan pronto como uno completa un esfuerzo de desarrollo, otro comienza. Además, en cada desarrollo ejecutado, puedes seguir estos cuatros pasos:
- Determinar qué quieres lograr.
- Determinar las rutas alternativas que puedes tomar para lograr estas metas.
- Seguir la alternativa seleccionada en el paso 2.
- Establecer qué tienes terminado
Modelo Concurrente:
Como el modelo espiral, el modelo concurrente provee una meta-descripción del proceso software. Mientras que la contribución primaria del modelo espiral es en realidad que esas actividades del software ocurren repetidamente, la contribución del modelo concurrente es su capacidad de describir las múltiples actividades del software ocurriendo simultáneamente.
Esto no sorprende a nadie que ha estado involucrado con las diversas actividades que ocurren en algún tiempo del proceso de desarrollo de software.
Gestión de Proyectos
La gestión de proyectos es el proceso por el cual se planifica, dirige y controla el desarrollo de un sistema aceptable con un costo mínimo y dentro de un período de tiempo especifico.
Causas de proyectos fallidos por la gestión de proyectos.
Dentro de las principales causas por las que puede fallar un proyecto, se encuentra el hecho de que los analistas no respetan o no conocen bien las herramientas y las técnicas del análisis y diseño de sistemas, además de esto puede haber una mala gestión y dirección del proyecto. Además existen una serie de factores que pueden hacer que el sistema sea mal evaluado, entre estas están:
- Necesidades no satisfechas o no identificadas
- Cambio no controlado del ámbito del proyecto
- Exceso de costo
- Retrasos en la entrega
Aunque estos factores pueden influir de manera muy trascendente en la falla de un proyecto, generalmente están acompañados de otro tipo de falencias.
Pero ¿Cuáles de estos errores de gestión de proyectos ocasionan que no se cumplan los requisitos, que se sobrepase los tiempos de entrega o se aumenten repetidas veces los costos.
La respuesta a esta pregunta puede ser hallada en dos fuentes principalmente, deficiencias en las herramientas y las técnicas de análisis del diseño de sistemas o la mala gestión de los proyectos.
En el caso de las necesidades no satisfechas o no identificadas, el error puede aparecer debido a que se omiten datos durante el desarrollo del proyecto, es por esto que es muy importante no saltar ninguna etapa del ciclo de vida del desarrollo de sistemas.