1
Gestión de Proyectos para Desarrollos de
Software
Unidad II
Unidad II : Gestión de Proyectos para
desarrollo de software
* .- Desarrollo de proyectos para implementación de sistemas de información
Trinomio de desarrollo
Ciclo de vida del desarrollo de un sistema de información
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
Ciclo de vida del desarrollo de un sistema de información Periodos de un sistema de información
Etapas o fases del periodo de desarrollo de un S.I.
* .- Costo y complejidad del software
3
* - Planificación de proyectos de software
Que es un proyecto de sistema de software Objetivos de la planificación de proyectos
Actividades asociadas al proyecto de software Ámbitos del software.
Recursos
Unidad II - Contenido
Recursos
Recursos humanos
¿ Que es un proyecto de desarrollo de Software ?
¿ Como esta organizado un equipo de desarrollo de un proyecto de
Software.?
Desarrollo de proyectos de Software
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
¿ Quienes conforman un equipo de desarrollo de un Proyecto de
Software?
Software.?
5
El éxito de un proyecto de desarrollo de un sistema de información, depende esencialmente de:
Administración De proyecto
Desarrollo de proyectos de Software
Técnicas: es un conjunto de procedimientos que indican como hacer “mejor” una tarea o actividad. Adm./Proy.: el jefe de proyecto
administre el desarrollo, esto es, planifique, organice, dirija y controle.
Unidad II –
Gestión de Proyectos para desarrollo de softwareMetodología Técnicas y
Herramientas
Trinomio de desarrollo
Herramientas: son instrumentos generalmente automatizados que realizan o ayudan a realizar una tarea o actividad
Ciclo de vida de un sistema de información
Maduración Crecimiento
Originado por
necesidades, a partir del cual se emprende su desarrollo desde la definición del proyecto hasta puesta en operación (crecimiento)
Se inicia su operación y mantenimiento por un periodo mayor a los demás durante el cual se alcanza el máximo rendimiento posible (maduración)
Aquí se toma la decisión de renovar el
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
Decaimiento Nacimiento
Muerte Factores como la dinámica de la organización, avances tecnológicos y las presiones externas o internas vuelven obsoleto e ineficaz al sistema (decaimientos)
Origina su ineficiencia o paralización (muerte)
7
Los periodos relevantes del ciclo de vida de un sistema de información, se agrupan en las siguientes etapas :
•.- Surgimiento de necesidades.
• .- Desarrollo.
Unidad II –
Gestión de Proyectos para desarrollo de software• .- Desarrollo.
• .- Operación y mantenimiento.
• .- Disposición (renovación o extinción)
Fases Actividades
Tareas
El Ciclo de Vida y sus Etapas
El Ciclo de Vida y sus Etapas
1.
1. Definición del ProyectoDefinición del Proyecto
2.
2. Análisis del ContextoAnálisis del Contexto
3.
3. Definición de Definición de Requerimientos Requerimientos
4.
4. Diseño del SistemaDiseño del Sistema
Surgimiento de Surgimiento de Necesidades Necesidades Desarrollo Desarrollo Justifica la necesidad organizacional
Se implanta y se
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
4.
4. Diseño del SistemaDiseño del Sistema
5.
5. Construcción del Construcción del Sistema
Sistema
6.
6. Pruebas del SistemaPruebas del Sistema
7.
7. Implantación del SistemaImplantación del Sistema
Operación y Operación y Mantenimiento Mantenimiento Extinción) Extinción) Disposición Disposición (Renovación o (Renovación o Extinción) Extinción)
Se implanta y se inicia su
operación
Se realizan ajustes, dados por el usuario, TI y Org.
9
1.
1. Definición del Proyecto
Definición del Proyecto
2.
2. Análisis del Contexto
Análisis del Contexto
3.
3. Definición de Requerimientos
Definición de Requerimientos
Fases de la etapa de Desarrollo
Se determinan las necesidades básicas que motivan el desarrollo de un nuevo sistema de información:
-. se define el problema en términos generales.
Unidad II –
Gestión de Proyectos para desarrollo de software4.
4. Diseño del Sistema
Diseño del Sistema
5.
5. Construcción del Sistema
Construcción del Sistema
6.
6. Pruebas del Sistema
Pruebas del Sistema
7.
7. Implantación del Sistema
Implantación del Sistema
generales.
-. se establecen los objetivos básicos del sistema.
1.
1. Definición del Proyecto
Definición del Proyecto
2.
2. Análisis del Contexto
Análisis del Contexto
3.
3. Definición de Requerimientos
Definición de Requerimientos
Fases de la etapa de Desarrollo
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
4.
4. Diseño del Sistema
Diseño del Sistema
5.
5. Construcción del Sistema
Construcción del Sistema
6.
6. Pruebas del Sistema
Pruebas del Sistema
7.
7. Implantación del Sistema
Implantación del Sistema
Consiste en recolectar toda la
11
1.
1. Definición del Proyecto
Definición del Proyecto
2.
2. Análisis del Contexto
Análisis del Contexto
3.
3. Definición de Requerimientos
Definición de Requerimientos
Fases de la etapa de Desarrollo
Unidad II –
Gestión de Proyectos para desarrollo de software4.
4. Diseño del Sistema
Diseño del Sistema
5.
5. Construcción del Sistema
Construcción del Sistema
6.
6. Pruebas del Sistema
Pruebas del Sistema
7.
7. Implantación del Sistema
Implantación del Sistema
Consiste en establecer junto con los usuarios una descripción detallada de los
objetivos del nuevo sistema, su
1.
1. Definición del Proyecto
Definición del Proyecto
2.
2. Análisis del Contexto
Análisis del Contexto
3.
3. Definición de Requerimientos
Definición de Requerimientos
Fases de la etapa de Desarrollo
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
4.
4. Diseño del Sistema
Diseño del Sistema
5.
5. Construcción del Sistema
Construcción del Sistema
6.
6. Pruebas del Sistema
Pruebas del Sistema
7.
7. Implantación del Sistema
Implantación del Sistema
13
1.
1. Definición del Proyecto
Definición del Proyecto
2.
2. Análisis del Contexto
Análisis del Contexto
3.
3. Definición de Requerimientos
Definición de Requerimientos
Fases de la etapa de Desarrollo
Unidad II –
Gestión de Proyectos para desarrollo de software4.
4. Diseño del Sistema
Diseño del Sistema
5.
5. Construcción del Sistema
Construcción del Sistema
6.
6. Pruebas del Sistema
Pruebas del Sistema
7.
7. Implantación del Sistema
Implantación del Sistema
1.
1. Definición del Proyecto
Definición del Proyecto
2.
2. Análisis del Contexto
Análisis del Contexto
3.
3. Definición de Requerimientos
Definición de Requerimientos
Fases de la etapa de Desarrollo
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
4.
4. Diseño del Sistema
Diseño del Sistema
5.
5. Construcción del Sistema
Construcción del Sistema
6.
6. Pruebas del Sistema
Pruebas del Sistema
7.
7. Implantación del Sistema
Implantación del Sistema
Esta es la etapa que consume la mayor parte del tiempo y consiste en probar adecuadamente tanto programas, como los procedimientos y las bases de datos.
Cada componente se prueba
15
1.
1. Definición del Proyecto
Definición del Proyecto
2.
2. Análisis del Contexto
Análisis del Contexto
3.
3. Definición de Requerimientos
Definición de Requerimientos
Fases de la etapa de Desarrollo
Unidad II –
Gestión de Proyectos para desarrollo de software4.
4. Diseño del Sistema
Diseño del Sistema
5.
5. Construcción del Sistema
Construcción del Sistema
6.
6. Pruebas del Sistema
Pruebas del Sistema
7.
7. Implantación del Sistema
Implantación del Sistema
Requerimientos de Programas
Validación
Requerimientos del Sistema
Validación
Diseño Preliminar
Validación
Diseño
Fases del desarrollo de un ciclo de vida
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
Codificación y Depuración
Validación
Diseño Detallado
Validación
Pruebas y Pre-operación
Validación
Operaciones y Mantenimiento
17
1.- Identificación de
problemas, oportunidades y objetivos
2.- Determinación de
los requerimientos de
información. 3.- Análisis de las
necesidades del sistema.
Fases del ciclo de vida de desarrollo de sistemas
Unidad II –
Gestión de Proyectos para desarrollo de software4.- Diseño del sistema
recomendado.
5.- Desarrollo y
documentación del software.
6.- Prueba y mantenimiento
del sistema
7.- Implementación y
Costo del software
¿ Cual es el costo del software ?
* .- Costo Directo
-. Software Empacado
-. Software a la Medida
Negocios de computación o
por Internet
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
* .- Costo Indirecto
* .- Costo Oculto
-. Capacitación -. Instalación
-. Soporte técnico -. Otros .
Ocasionados por fallas de software. Son difíciles de prever. (Afectan sistemas críticos.)
Desarrollo especializado y adaptado a las necesidades particulares de una empresa
19
1.- Son los perjuicios ocasionados
Costo del software
Costos ocultos
Consecuencias de las fallas de Software (costos ocultos)
Unidad II –
Gestión de Proyectos para desarrollo de software1.- Son los perjuicios ocasionados mientras dura la caída de los sistemas.
2.- Son costos relativamente predecibles, por que dependen directamente del tiempo que dure la interrupción.
-. Consecuencias directas
y efectos directos.
Costo del software
Costos ocultos
Consecuencias de las fallas de Software (costos ocultos)
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
1.- Son los perjuicios posteriores a la caída de los sistemas.
2.- Son costos adicionales que pueden volver insignificante los costos directos del software.
3.- Son difíciles de predecir.
-. Consecuencias directas
y efectos directos.
21
Costo del software
Costos ocultos
Consecuencias de las fallas de Software (costos ocultos)
-- Restauración de datos -- Servicios de emergencia. -- Propaganda negativa -- Perdida de clientes. -- Etc.
Unidad II –
Gestión de Proyectos para desarrollo de software1.- Son los perjuicios posteriores a la caída de los sistemas.
2.- Son costos adicionales que pueden volver insignificante los costos directos del software.
3.- Son difíciles de predecir.
-. Consecuencias directas
y efectos directos.
Costo del software
Ejemplos de fallas de sistemas de software..
Fracaso Mariner 1 (1962)
La primera misión del programa Mariner 1 (cuyo costo local total, desde la misión Mariner 1 asta la Mariner 10, fue de 554 millones de dólares) fracaso por un carácter incorrecto (‘-’) en la especificación del programa
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
fracaso por un carácter incorrecto (‘-’) en la especificación del programa de control para el cohete de propulsión Atlas, lo cual causo finalmente que se saliera de su curso. Tanto el cohete como el vehículo espacial tuvieron que ser destruidos poco después del lanzamiento. Se cree que un error de computadora también fue la causa del fracaso del Mariner 8 en 1971.
Error en el procesador Pentium de Intel (1994)
23
Costo del software
Ejemplos de fallas de sistemas de software..
Accidente e un F-18 (1986)
En abril de 1986 un avión de combate F-18 se estrello por culpa de un giro descontrolado (unrocoverable spin), atribuido a una expresión
“if-then”, para la cual no había una instrucción “else”, por considerarse
innecesaria, lo cual origino una excepción fuera de control del programa.
Unidad II –
Gestión de Proyectos para desarrollo de softwareinnecesaria, lo cual origino una excepción fuera de control del programa. Por suerte el piloto pudo salir del avión a tiempo.
Actualización de software mal planificado paralizo Nasdaq (1999)
“El 17 de noviembre de 1999 los corredores de bolsa de valores de
Nasdaq no pudieron comprar ni vender acciones durante 17 minutos
Costo del software
Ejemplos de fallas de sistemas de software..
Error del Milenio (2000)
El “error del milenio “ o “Y2K” (del ingles Year 2 K, donde K=kilo = mil), cuando los programadores adoptaron la convención de representar el año con dos dígitos, en lugar de cuatro; a estos dígitos alambraba al
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
25
Complejidad del software
Complejidad del software
La problemática del software esta directamente relacionada con el tamaño de los sistema.
Mientras mas grande son los sistemas , mayor será complejidad o el caos que pueda ocasionar.
Unidad II –
Gestión de Proyectos para desarrollo de softwarecaos que pueda ocasionar.
Factores que causan complejidad del software:
-. Complejidad del problema
-. Complejidad de la solución
Tiene que ver con la funcionalidad que el sistema debe brindar. Cuando mayor es el numero de requerimientos o funcionalidad ofrecida por una aplicación, mayor será el tamaño del sistema
Complejidad del software
Existen dos factores relacionados con la Complejidad de un sistema:
•.- Factor Estático
Corresponde a la funcionabilidad que un sistema de software debe ofrecer al ser
inicialmente desarrollado.
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
•* .- Factor Dinámico
Corresponde a la funcionabilidad que varia con el tiempo, en otras palabras, con los
posibles cambios en el sistema.
Ley de Lehman: todo programa que se use se modificara..
27
ERRORES CLASICOS EN UN PROYECTO DE SOFTWARE.
1. El no conocimiento adecuado de la organización o negocio.
2.Mal análisis en los requerimientos.
2. Una mala planeación.
Costo y complejidad del software
Unidad II –
Gestión de Proyectos para desarrollo de software3. No tener una negociación (documento, contrato) con el cliente.
4. No hacer un análisis costo beneficio.
5. Desconocer el ambiente de trabajo de los usuarios.
6. Desconocer los usuarios que trabajan con el sistema.
Planificación y Desarrollo de proyectos de software
¿ Que es un proyecto de Sistema o Software. ?
“Es el Proceso de gestión para la creación de un Sistema o software, la cual encierra un conjunto de actividades, una de las cuales es la estimación, estimar es echar un vistazo al futuro y aceptamos resignados
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
estimación, estimar es echar un vistazo al futuro y aceptamos resignados cierto grado de Incertidumbre”.
29
Objetivos de la Planificación del Proyecto.
Planificación y Desarrollos de proyectos de software
El objetivo de la Planificación del proyecto de Software es proporcionar un marco de trabajo que permita al gestor hacer estimaciones razonables de
Unidad II –
Gestión de Proyectos para desarrollo de softwarePlanificación y Desarrollos de proyectos de software
Actividades que se realizan durante un proyecto de software
-. Ámbito de software
Es un pre-requisito para la estimación y existen algunos elementos que se debe tomar en cuenta como es:
La Obtención de la Información necesaria para
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
-. Ámbito de software
-. Estimación de Recursos
La Obtención de la Información necesaria para el software. Para esto el analista y el cliente se reúnen sobre las expectativas del proyecto y se ponen de acuerdo en los puntos de interés para su desarrollo.
31
Planificación y Desarrollos de proyectos de software
Pirámide de Estimación de los recursos
El recurso primario, las personas (el recurso humano).
Unidad II –
Gestión de Proyectos para desarrollo de softwareLas Herramientas (hardware y Software), son la base proporciona la infraestructura de soporte al esfuerzo de desarrollo
Planificación de proyectos de software
La Cantidad de personas requeridas para el desarrollo de un proyecto de software solo puede ser determinado después de hacer una estimación del esfuerzo de desarrollo (por ejemplo personas mes o personas años), y seleccionar la posición dentro de la organización y la
Recursos Humanos:
Prof. (Ing.) Jesús E. Chaparro D. Curso: Análisis y Diseño de Sistemas de Información
personas años), y seleccionar la posición dentro de la organización y la especialidad que desempeñara cada profesional
Cualquier estudio sobre recursos de software estaría incompleto sin estudiar la reutilización, esto es la creación y la reutilización de bloques de construcción de Software.
33