2
Software:
Los ingenieros de software son los encargados de la especificación del sistema, del diseño
de la arquitectura, la integración y la puesta en marcha.
¿Qué es CASE?
CASE es Computer-Aided Software Engineering. Programas que son usados para dar
soporte automatizado a las actividades del proceso de software; Análisis de
requerimientos, modelado del sistema, pruebas y depuración (debugging). Las
herramientas CASE son comúnmente usadas para dar soporte a los métodos de software:
Editores para la notación del método, módulos de análisis que verifican que las reglas del
método se cumplan, generadores de reportes que facilitan la creación de la documentación
del sistema y generadores de código a partir del modelo del sistema.
4
Definición De Software Dada Por El IEEE:
Métodos:
Conjunto de tareas ordenadas para conseguir un fin. Los métodos se desarrollaron para
cada una de las fases del desarrollo (análisis, diseño, implementación, etc.), y un conjunto
de varios con una filosofía común componen una metodología. Es un conjunto de
herramientas,
técnicas y procesos que brindan soporte y facilitan el logro u obtención de una meta.
Técnicas:
Ayudan con las dificultades para llevar a cabo lo que se indica en los métodos.
5
Herramientas:
Programas que mecanizan los métodos y las técnicas.
Proceso:
Define quien está haciendo qué, cuándo y cómo lograr cierta meta.
The three “Amigos”
Definición #2 De Proceso:
Un proceso es "una serie de pasos que involucra actividades, restricciones y recursos que
producen una salida de algún tipo
" Pfleeger
Definición #3 De Proceso
Modelo De Proceso
Hitos:
Hitos es una forma de darle “visibilidad” al proceso.
8
Roles:
Sirven para definir quién hace que (y probablemente cuando), son una forma de asignar y definir
responsabilidades a personas, sin tener que nombrar a las personas en particular
Proceso en Cascada:
Es el modelo más simple, conocido. El producto / resultado sólo se ve al final (para el cliente). Si existe algún
error (diferencia) ésto tiene un resultado catastrófico
Modelo En V:
Es una variación del modelo de cascada que hace explícito el proceso de Verificación (V)
en las fases de análisis y diseño
9
Modelo De Riesgos O De Espiral:
Incluye de forma explícita en cada giro la especificación de objetivos, definición de alternativas y restricciones
y evaluación de riesgos (verdaderamente importante). En cada giro se construye un nuevo modelo del
sistema. Hasta los momentos, se considera el mejor modelo para el desarrollo de sistemas grandes (El más
fiable). No es aconsejable para sistemas pequeños debido a su alta complejidad.
Modelos Incrementales:
El sistema se desarrolla como una secuencia de pasos e iteraciones una vez establecida la
arquitectura global. Los usuarios pueden experimentar con los productos resultantes de
cada iteración, y usualmente el equipo de desarrollo puede continuar con el trabajo mientras
que los usuarios experimentan con el sistema. En general, la idea es combinar lo mejor de
las estrategias orientadas a prototipos con una buena gestión. En general, luego de que se
válida y se termina un componente, este no se cambia (o se procura no cambiarlo) a menos
que se encuentren errores (Bugs).
10
Modelo Iterativo-Incremental:
Es un modelo derivado del ciclo de vida en cascada. Este modelo busca reducir el riesgo
que surge entre las necesidades del usuario y el producto final por malos entendidos
durante la etapa de recogida de requisitos. Consiste en la iteración de varios ciclos de vida
en cascada. Al final de cada iteración se le entrega al cliente una versión mejorada o con
mayores funcionalidades del producto. El cliente es quien después de cada iteración evalúa
el producto y lo corrige o propone mejoras. Estas iteraciones se repetirán hasta obtener un
producto que satisfaga las necesidades del cliente.
Desarrollo Incremental:
Estrategia de puesta en escena y programación en la cual las diversas partes del sistema se
desarrollan en diferentes tiempos o tasas, y se integran como están completos ". "No implica,
requiere ni excluye el desarrollo iterativo" o el desarrollo de cascada - ambas son estrategias de re
trabajo. la alternativa al desarrollo incremental es desarrollar la totalidad sistema con una integración
de "big bang". El desarrollo "incremental" lo ayuda a mejorar su proceso. Cada tiempo alrededor del
proceso, puedes cambiar y mejorar tu trabajo hábitos.
11
Modelo Incremental:
Modelo Evolutivo:
Logran su objetivo por medio del desarrollo de una serie de prototipos que van
evolucionando a medida que se tiene realimentación del cliente. Pretende vencer las
limitaciones del modelo en cascada debidas a la deficiente realimentación entre sus fases.
Fuente; Sommerville / Ingeniería del Software
Prototipos Evolutivos:
Poner un sistema a disposición de los usuarios finales. El proceso comienza con una serie
de requisitos, se desarrollan una serie de prototipos, se exponen al usuario y se van
refinando paso a paso.
12
Prototipos Experimentales Prototipos Desechables / Exploratorios:
Se desarrollan prototipos (que luego se desecharan) para aclarar aspectos particulares de los requerimientos
del usuario. Este conocimiento se utilizará para especificar/diseñar/desarrollar la aplicación.
13