Sei sulla pagina 1di 25

El Producto y el Proceso

(Cap. I y II , Ing. del Software - Un Enfoque Prctico, Roger S. Pressman, 5ta Edicin).

Qu es la Ingeniera del Software?


(1) La aplicacin de un enfoque sistemtico, disciplinado y cuantificable hacia el desarrollo, operacin y mantenimiento del Software; es decir la aplicacin de la Ingeniera al Software. (2) El estudio de enfoques como (1).[IEEE, 1993]
1

El Producto Caractersticas del SW


Producto y vehculo. Lgico, no fsico. Se desarrolla, no se fabrica. No se desgasta, se deteriora. Mayora hecho a medida, tendencia a reusar.
En los 60s, subrutinas de clculos numricos. Actualidad, biliotecas de componentes (objetos).
2

El Producto Aplicaciones del SW


Dificil establecer compartimientos netamente separados.

SW de Sistemas SW de Tiempo Real SW de Negocio o Gestin SW de Ingeniera o Cientfico SW Embebido o Empotrado SW de PC SW de IA SW basado en la Web
3

El Producto - Mitos del Software


Propagaron confusin e informacin errnea. Del administrador del proyecto

Mitos del SW

Del usuario final o cliente


Del desarrollador

El Producto - Mitos del Software Ejemplos


Si fallamos en la planificacin, podemos aadir ms programadores y adelantar el tiempo perdido (MA) Los requisitos cambian continuamente, pero los cambios pueden acomodarse fcilmente porque el SW es flexible (MC) Lo nico que se entrega al terminar el proyecto es el programa funcionando (MD).

El Proceso
Qu es?
Marco de trabajo de tareas a realizar para desarrollar SW de alta calidad.

Es sinnimo de Ingeniera del Software?


Define un enfoque para desarrollar SW en forma ingenieril, pero la ISW comprende, adems de un Proceso, Mtodos y Herramientas.
6

Qu es la Ingeniera del Software?


Pressman: Tecnologa multicapa

Herramientas Mtodos Proceso Un enfoque de calidad

Capa fundamental

El Proceso Visin Genrica


Ing. Sistemas Planificacin Anlisis de req. Diseo G. de Cdigo Prueba Mant. Correctivo

Definicin
(QUE)

Desarrollo
(COMO)

Soporte
(CAMBIOS)

Mant. Adaptativo
Mant. Perfectivo

Mant. Preventivo o Reingeniera del Software

El Proceso
Modelo de Capacidad de Madurez (CMM)
Nivel 1: Inicial Nivel 2: Repetible Nivel 3: Definido Nivel 4: Gestionado Nivel 5: Optimizado
9

Modelo Lineal Secuencial


Ciclo de vida clsico, modelo en cascada + antiguo, + usado Enfoque sistemtico secuencial

Anlisis Diseo Ing. de Sistemas Codif. Prueba Mant.


10

Modelo Lineal Secuencial


Crticas:
Proyectos reales raras veces se ajustan. Raras veces cliente expone todos los req. de entrada. Producto operativo al final => Paciencia (cliente) alta.

Consejo:
Usar cuando todos los requerimientos han sido establecidos claramente de entrada.

11

Modelo de Construccin de Prototipos


No estn claros los reqs. de entrada Iterativo. Hasta cuando se itera? Working prototype, desechar y empezar con desarrollo de sistema.

Escuchar al cliente

Construir prototipo

Validar prototipo

12

Modelo de Construccin de Prototipos


Crticas:
Cliente cree que es el sistema. Peligro de familiarizacin con malas elecciones iniciales (quick and dirty).

Consejo:
Usar cuando inicialmente no estn claros los requerimientos. Definir claramente de entrada las reglas de juego con el cliente. No ceder a presin del cliente.
13

Modelo DRA (Desarrollo Rpido de Aplicaciones)


Lineal secuencial con ciclo extremadamente corto.
Candidatos: sistemas que se pueden modularizar

=> equipos de desarrollo paralelos.


Basado en el uso de componentes y T4G.

14

Equipo # n Modelo de Negocio

Modelo DRA
Modelo de Proceso Generacin de Aplic.

Equipo # 2 Modelo de Negocio

Modelo de Datos

Equipo # 1 Qu informacin? Quin la genera? A dnde va? Identificacin de Objetos y relaciones Modelo de Negocio

Modelo de Datos

Modelo de Proceso Generacin de Aplic.

Modelo de Datos

Prueba y Entrega

Descripciones de procesos de negocio para ABM de objetos de MD T4G + Reusabilidad de Componentes

Modelo de Proceso
Generacin de Aplicacin

Prueba y Entrega

Prueba de Comp. Nuevos e interfaces.

Prueba y Entrega

Tiempo
15

Modelo DRA
Crticas:
Proyectos grandes => gran nro. de personas. Alto compromiso en tiempo. No apto para todo tipo de sistema (ej. no modularizable, baja reusabilidad de componentes). Desaconsejable cuando riesgos tecnolgicos altos (ej. Uso de nuevo lenguaje) o alta interoperatividad con programas ya existentes.
16

Modelos Evolutivos
Se adaptan ms fcilmente a los cambios introducidos a lo largo del desarrollo. Iterativos En cada iteracin se obtienen versiones ms completas del SW. Modelos Evolutivos:
Modelo Incremental (*) Modelo en Espiral (*) Modelo de Desarrollo Basado en Componentes (*) Modelo WINWIN Modelo de Desarrollo Concurrente
17

Modelo Incremental
Iteracin de Lineal Secuencial. Cada iteracin devuelve un Incremento o versin operativa. (Ej. Editor de texto). Util cuando no se est seguro de cumplir con plazos de tiempo o se tiene una fecha imposible de cambiar.
18

Modelo Incremental
Ing. de Sistemas
Inc1

Anlisis

Diseo

Codif.

Prueba

Entrega 1er Incremento

Inc2

Anlisis

Diseo

Codif.

Prueba

Entrega 2do Incremento

Inc3

Anlisis

Diseo

Codif.

Prueba
Tiempo

Entrega 3er Incremento

19

Modelo en Espiral

20

Modelo en Espiral
Util para proyectos grandes. Permite usar el prototipado en todas las etapas de la evolucin para reducir el riesgo. Mantiene el enfoque sistemtico de los pasos sugeridos por el lineal secuencial, pero lo incorpora dentro de un marco iterativo ms real. Crticas:
Dificil de convencer a los clientes de que es controlable. Requiere mucha habilidad para el anlisis de riesgos y de esta habilidad depende su xito. No ha sido utilizado tanto como el lineal secuencial o el de prototipos.
21

Desarrollo Basado en Componentes


Basado en modelo en Espiral (evolutivo e iterativo) + Tecnologas de Objetos. Enfatiza la Reusabilidad.
Planificacin
Comunicacin con el Cliente Anlisis de Riesgos

Ident. Comps. candidatos Buscar Comps. en biblioteca

Ingeniera, Construccin y Entrega Evaluacin del Cliente

Construir

Extraer

Colocar en biblioteca

Construir iteracin

22

Modelo de Mtodos Formales


Usan notacin rigurosa. Especificaciones sin ambigedades. Utiles para sistemas crticos. Demostraciones formales de propiedades. Dificulta validacin con cliente => combinacin con otras tcnicas semi-formales. Alto nivel de experticia en lgica y matemtica.
23

Tcnicas de Cuarta Generacin (T4G)


Herramientas que facilitan la realizacin de especificaciones a alto nivel -> cdigo fuente. Basadas en Lenguajes de 4ta Generacin (L4G). Ventajas: Reduccin en tiempo de desarrollo.
Generador de Pantallas Planillas de Clculo Generador de Informes Generador de Cdigo

Lenguaje de Consulta a BD

Sistema de Administracin de Base de Datos

Un entorno de desarrollo de software basado en Tcnicas de 4ta Generacin

24

Tcnicas de Cuarta Generacin (T4G)


Crticas: Cdigo ineficiente. No mas fciles de usar que L3G. Mantenimiento cuestionable. Consejo: Aunque se usen T4G se debe hacer anlisis, diseo y pruebas (sino mala calidad, mantenimiento pobre, baja aceptacin por el cliente).
25

Potrebbero piacerti anche