Planificación del ciclo de vida de un producto de software Profesora: Karen Niemann Vizcarra...

Post on 23-Jan-2016

227 views 0 download

Transcript of Planificación del ciclo de vida de un producto de software Profesora: Karen Niemann Vizcarra...

Planificación del ciclo de vida de un producto

de software

Profesora: Karen Niemann Vizcarra

TECNOLOGÍA DE LA INFORMACIÓN PARA LA GESTIÓNESCUELA DE INGENIERÍA COMERCIAL

Requerimiento del cliente: construcción de un columpio

Especifica-ción de requerimiento

- Ciclo de vida

- Producto de software

- Cliente/usuario

- Validación/verificación

- Modelo del ciclo de vida influye en:• La velocidad de desarrollo

• La calidad

• El control

• El seguimiento del proyecto

• La reducción de gastos y riesgos

• Las relaciones con los clientes/usuarios

PLANIFICACIÓN DEL CICLO DE VIDA DE UN PRODUCTO DE SOFTWARE

Modelo cascada pura

Genera sistema altamente fiable. Genera sistema con amplio desarrollo.

Modelo codificar y corregir

Requiere poco tiempo de gestión. Permite modificaciones a medio camino. Requiere poco nivel de educación e instrucción para directivos y desarrolladores.

Modelo espiral

Trabaja con poca definición de los requerimientos. Trabaja con poca comprensión sobre la arquitectura. Genera un sistema altamente fiable. Genera un sistema con amplio desarrollo. Gestiona riesgos. Ofrece a los clientes/usuarios signos visibles del progreso.

Modelo prototipo evolutivo

Trabaja con poca definición de los requerimientos. Genera un sistema con amplio desarrollo. Permite modificaciones a medio camino. Ofrece a los clientes/usuarios signos visibles del progreso.

Modelo entrega por etapas

Genera un sistema altamente fiable. Genera un sistema con amplio desarrollo. Ofrece a los clientes/usuarios signos visibles del progreso.

Modelo entrega evolutiva

Ofrece a los clientes/usuarios signos visibles del progreso.

Software comercial disponible

Trabaja con poca identificación de requerimientos.

Está sometido a una planificación predeterminada.

Requiere poco tiempo de gestión.

Consideraciones en contratos para el desarrollo de un producto de software

Los contratos de desarrollo de un producto de software pueden ser de distinto tipo, a saber:

-Adquisición y/o adaptación de un paquete,

-Desarrollo de un sistema ad-hoc o

-Provisión de personal externo para desarrollo interno

Contrato se compone de dos documentos:

-Contrato de prestación de servicio (desarrollo e implementación del producto de software)

-Especificación funcional

Cláusulas de contrato de desarrollo de un producto de software

Incluir:

1. Especificación de propiedad del software desarrollado (asegurarse del derecho de autor; proveedor o cliente)

2. Fechas de entrega de los diferentes módulos (pérdida económica que puede implicar el retraso en la entrega de un módulo/sistema)

3. Términos de cancelación (pagos sujetos a la entrega de módulos y sólo cuando el producto sea aceptado a entera satisfacción del cliente/usuario.

•Evitar cláusulas que impliquen: “cualquier otro gasto en que se incurra”,

•Proyectos deben contemplar un valor total, no sujeto a HH u Hmáquina.

4. Disponibilidad del código fuente (proveedor y/o cliente).

5. Condiciones de aceptación (prueba de estrés, capacitación).

6. Documentación a entregar (documentación del sistema y manual del usuario).

7. Garantías de desempeño del producto de software (especificaciones limitantes).

8. Entrenamiento y/o capacitación a una cantidad x de usuarios (monitores).

9. Cláusula penal para los casos de incumplimiento de cualesquiera de las partes.

Calidad de un producto de software

Factores básicos para comprobar la calidad de un producto de software:

- que esté conforme a los requerimientos

- funcione correctamente (ausencia de defectos) y

- satisfaga interfaz al usuario (amigable)

Calidad de un producto de software

Estudio más profundo se puede abarcar desde tres prismas:

-Revisión del producto:

• Facilidad de mantenimiento (¿puedo corregirlo?)

• Flexibilidad (¿puedo cambiarlo?)

• Facilidad de prueba (¿puedo probarlo por módulos? ¿interfaces? ¿sistema?)

-Transición del producto:

• Portabilidad (¿puedo usarlo en otra máquina?)

• Reusabilidad (¿podré reusar alguna parte del software?)

• Interoperabilidad (¿podré hacerlo interactuar con otro sistema?)

-Operaciones del producto:

• Corrección (¿hace lo que quiero?)

• Fiabilidad (¿lo hace de forma confiable todo el tiempo?)

• Eficiencia (¿la performance es la adecuada?)

• Integridad (¿es seguro?)

• Facilidad de uso (¿es amigable al usuario?)