Sie sind auf Seite 1von 4

UNIVERSIDAD NACIONAL DE CAJAMARCA

FACULTAD DE INGENIERÍA
ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE SISTEMAS

Resumen del Capítulo II del libro de Somerville:


Procesos de Software

Por:

Tirado Muñoz, Frank

Docente:

Ing. Manuel Malpica Rodríguez

Curso:

Ingeniería de Software I

Ciclo VI

Cajamarca, mayo de 201


Procesos de Software
Un proceso de software se basa en cuatro actividades principales: especificación de
software, diseño e implementación del software, validación del software y evolución del
software. Sin embargo, también se deben incluir descripciones de procesos tales como:
productos, es el resultado de una actividad del proceso; roles, la responsabilidad de las personas
que interviene en el proceso; precondiciones y postcondiciones, estas son declaraciones validas
antes y después de que se realice una actividad del proceso o se cree un producto.

Modelos de proceso de software: Es una forma simplificada de representar un proceso.

1. Modelo en cascada: este modelo representa las actividades como fases separadas del
proceso. Las etapas fundamentales de este proceso son: análisis y definición de
requerimientos, Diseño del sistema y del software, implementación y prueba de unidad,
integración y prueba del sistema y operación y mantenimiento.
La desventaja de este modelo, mientras una fase no se culmine, no se puede iniciar con
otra; lo que hace que este modelo no sea el más óptimo para el desarrollo de software.
2. Desarrollo incremental: este modelo se basa en el desarrollo de versiones; donde cada
versión añade nuevas y mejores funcionalidades. No se recomienda usar este modelo
para sistemas grandes, complejos y de larga duración.
3. Ingeniería de software orientada a la reutilización: este modelo se centra en la
reutilización de componentes ya existentes, en lugar de empezar desde cero el
desarrollo de software. Las etapas de este modelo son: especificación de
requerimientos, análisis de componentes, modificación de requerimientos, diseño de
sistema con reutilización, desarrollo e integración y validación del sistema.
Actividades del proceso
1. Especificación del software: se centra en la comprensión y definición de los
requerimientos que el cliente quiere en el sistema, así como el establecer las
restricciones para el desarrollo del mismo. En esta actividad se deben definir todo de
manera muy precisa para evitar problemas posteriores en el desarrollo del sistema.
En la ingeniería de requerimientos existen cuatro actividades principales: estudio de
factibilidad, obtención y análisis de requerimientos, especificación de requerimientos y
validación de requerimientos.
2. Diseño e implementación del software: se centra en incorporar cada especificación en
el sistema, además de corregir algunas especificaciones ya incorporadas. Durante las
etapas de diseño existe una retroalimentación constante entre las etapas.
3. Validación de software: en esta actividad se verifica si el software cumple con las
especificaciones ya establecidas, para ello existe etapas de pruebas como: prueba de
desarrollo, se prueban por separado los componentes del sistema; pruebas del sistema,
se integran los componentes y se prueban de forma conjunta para detectar posibles
errores en las interacciones; pruebas de aceptación, se prueba el sistema con datos
reales.
4. Evolución del software: el software debe ser flexible a cambios que se pueden producir
con el tiempo, por lo que la implementación de los nuevos requerimientos debe ser de
manera sencilla.
Como enfrentar el cambio
En lo posible se debe evitar realizar cambios en el desarrollo de software, esto es algo que
no se puede controlar y debido a eso se debe de incluir dentro de los costos de desarrollo los
gastos que generarían estos posibles cambios. Se plantean dos enfoques para reducir estos
costos: evitar el cambio y tolerancia al cambio, se ajusta el diseño de manera que los costos de
cambios sean bajos.
1. Creación del prototipo: nos ayuda a tener una vista general de cómo sería el software
terminado, de esta manera también controlas costos. También sirve para verificar si el
software cubrirá todos los requerimientos o se tiene que agregar nuevos y descubrir
fortalezas o debilidades dentro del software.
2. Entrega incremental: aquí se establece la prioridad de los servicios para hacer un
subconjunto de ellos y entregarlos en forma de módulos para ir implementándolos en
el sistema.
3. Modelo en espiral de Boehm:
Proceso unificado Racional (RUP)
Es un ejemplo de un modelo de proceso moderno que se derivó del trabajo sobre el
UML y el proceso asociado de desarrollo de software unificado. EL RUP se describe en tres
perspectivas: dinámica, muestra las fases del modelo a través del tiempo; estática, presenta las
actividades del proceso que se establecen; y práctica, sugiere buenas practicas a usar durante
el proceso.
El RUP identifica cuatro fases en el proceso de software: concepción, ; elaboración, ;
construcción, ; y transición, .
Preguntas
1. Explicando las razones para su respuesta, y con base en el tipo de sistema a
desarrollar, sugiera el modelo de proceso de software genérico más adecuado que se
use como fundamento para administrar el desarrollo de los siguientes sistemas:
a. Un sistema para controlar el antibloqueo de frenos en un automóvil
b. Un sistema de realidad virtual para apoyar el mantenimiento de software
c. Un sistema de contabilidad universitario que sustituya a uno existente
d. Un sistema interactivo de programación de viajes que ayude a los usuarios a
planear viajes con el menor impacto ambiental
2. Explique por qué el desarrollo incremental es el enfoque más efectivo para diseñar
sistemas de software empresariales. ¿Por qué este modelo es menos adecuado para
ingeniería de sistemas de tiempo real?
3. Considere el modelo de proceso basado en reutilización que se muestra en la figura
2.3. Explique por qué durante el proceso es esencial tener dos actividades separadas
de ingeniería de requerimientos.
4. Sugiera por qué, en el proceso de ingeniería de requerimientos, es importante hacer
una distinción entre desarrollar los requerimientos del usuario y desarrollar los
requerimientos del sistema.
5. Describa las principales actividades en el proceso de diseño de software y las salidas
de dichas actividades. Con un diagrama, muestre las posibles relaciones entre las
salidas de dichas actividades.
6. Explique por qué el cambio es inevitable en los sistemas complejos, y mencione
ejemplos (además de la creación de prototipos y la entrega incremental) de las
actividades de proceso de software que ayudan a predecir los cambios y a lograr que
el software por desarrollar sea más resistente al cambio.
7. Explique por qué los sistemas desarrollados como prototipos por lo general no deben
usarse como sistemas de producción.
8. Exponga por qué el modelo en espiral de Boehm es un modelo adaptable que puede
apoyar las actividades tanto de evitar el cambio como de tolerar el cambio. En la
práctica, este modelo no se ha usado ampliamente. Sugiera por qué éste podría ser el
caso.
9. ¿Cuáles son las ventajas de proporcionar visiones estática y dinámica del proceso de
software como en el Proceso Unificado Racional?
10. Históricamente, la introducción de la tecnología ha causado profundos cambios en el
mercado laboral y, al menos temporalmente, ha reemplazado a personas en los
puestos de trabajo. Explique si es probable que la introducción de extensos procesos
de automatización tenga las mismas consecuencias para los ingenieros de software.
Si no cree que haya consecuencias, explique por qué. Si cree que reducirá las
oportunidades laborales, ¿es ético que los ingenieros afectados resistan pasiva o
activamente la introducción de esta tecnología?

Das könnte Ihnen auch gefallen