CAPITULO NO. 4 PROCESOS DEL SOFTWARE


4.2 Explique por qué los programas que se desarrollan utilizando el desarrollo evolutivo tienden a ser difíciles de mantener.

Al tener que hacer cambios puede tener algún efecto negativo en lo que es la estructura del software


4.3 Explique cómo el modelo en cascada para el proceso del software y el de construcción de prototipos pueden encajar en el de proceso en espiral.
El modelo espiral es ya para sistemas de muchos procesos, se podría incluir características de ambos modelos para así poder mejorar la calidad del sistema.
4.5 Explique por qué es importante hacer distinción entre el desarrollo de los requerimientos del usuario y el de los requerimientos del sistema en el proceso de ingeniería de requerimientos.
Se debe saber cual es cada cual para que así no presente problemas a la hora de la implementación del sistema. Los requerimientos del usuario son las ideas de lo que es el sistema, y los requerimientos del sistema es mucho más detallado de lo que en realidad es.
4.6 Describa las principales actividades en el proceso de diseño del software y las salidas de estas actividades. 

1. Diseño arquitectónico
Los subsistemas que forman el sistema y sus relaciones se identifican y documentan.
2. Especificación abstracta.
 Para cada subsistema se produce una especificación abstracta de sus servicios y las restricciones bajo las cuales debe funcionar.
3. Diseño de la interfaz.
 Para cada subsistema se diseña y documenta su interfaz con otros subsistemas. Esta especificación de la interfaz debe ser inequívoca ya que permite que el subsistema se utilice sin conocimiento de su funcionamiento.
4. Diseño de componentes.
 Se asignan servicios a los componentes y se diseñan sus interfaces.
 5. Diseño de la estructura de datos.
 Se diseña en detalle y especifica la estructura de datos utilizada en la implementación del sistema.
6. Diseño de algoritmos.
 Se diseñan en detalle y especifican los algoritmos utilizados para proporcionar los servicios.


4.7 ¿Cuáles son los cinco componentes de un método de diseño? Considere cualquier método que conozca y describa sus componentes. Evalúe la integridad del método elegido.
l. Un modelo que objetos que muestra las clases de objetos utilizadas en el sistema y sus dependencias.
2. Un modelo de secuencias que muestra cómo interactúan los objetos en el sistema cuando éste se ejecuta.
3. Un modelo del estado de transición que muestra los estados del sistema y los disparadores de las transiciones desde un estado a otro.
4. Un modelo estructural en el cual se documentan los componentes del sistema y sus agregaciones.
5. Un modelo de flujo de datos en el que el sistema se modela utilizando la transformación de datos que tiene lugar cuando se procesan. 

4.12 Históricamente, la introducción de la tecnología ha causado profundos cambios en el mercado laboral Y, al menos temporalmente, elimina personas de los puestos de trabajo. Comente si es probable que la introducción de tecnología CASE avanzada pueda tener las mismas consecuencias para los ingenieros de software. Si piensa que no es así, explique por qué no. Si piensa que reducirá las oportunidades de trabajo, ¿es ético para los ingenieros afectados resistirse, pasivamente o activamente, a la introducción de esta tecnología?
Pienso que en toda situación por mas perfecto que sea se va a necesitar ayuda de ser humano y la tecnología CASE son software por lo tanto los software necesitan mantenimiento al igual que los convencionales por lo tanto podemos decir que esto puede hasta aumentar la cantidad de oportunidades de trabajo.