Sie sind auf Seite 1von 31

INGENIERÍA DE SOFTWARE

Procesos del Software


CAPÍTULO I1
Ian Sommerville, Edición 9na.
CONTENIDO

 1. Objetivos.
 2. Estructura de un proceso de software.
 3. Modelos de Proceso.
 4. Cómo enfrentar el cambio.
 5. El Proceso Unificado Racional.
 6. Conclusiones.
 7. Referencias Bibliográficas.
2.1 OBJETIVOS

General:

• Analizar y Comprender los procesos de software, además de las distintas


fases por las que atraviesa incluyendo sus metodologías y los distintos
enfoques que utiliza para obtener el producto final.

Específicos:

• Determinar que actividades claves son las que se realizan en cada una de
las etapas de los procesos de software.

• Establecer de forma clara la que es RUP y comparar sus enfoque con las
etapas de un proceso de software.

• Determinar los beneficios de la tecnología CASE en los procesos de software.


2. ESTRUCTURA DE UN PROCESO DE SOFTWARE

La colección de actividades de
trabajo, acciones y tareas que se
realizan cuando va a crearse algún
producto terminado.

Procesos ágiles

Creación de Procesos propios

Procesos Obsoletos

Estandarización
Actividades
Fundamentales
Diseño e Validación Evolución
Especificación
implementació del del
del software
n del software software software

Se debe definir
la Se debe El software
Se debe validar
funcionalidad producir debe
el software
del software y software que evolucionar
para asegurar
las cumpla su para cubrir las
que hace lo que
restricciones especificación necesidades
el cliente desea.
en su del cliente.
operación
3. MODELOS DEL PROCESO DE SOFTWARE

Modelo en Modelo
Cascada Incremental

Ingeniería de software Modelo


orientada a la reutilización
. Evolutivo
3.1 MODELO EN CASCADA

Análisis de Requerimientos: Los servicios, las restricciones


y las metas del sistema se establecen mediante consulta
a los usuarios del sistema.

Diseño de Sistema y del Software: El diseño del software


implica identificar y describir las abstracciones
fundamentales del sistema de software y sus relaciones.

Implementación y Prueba de Unidad: La prueba de


unidad consiste en verificar que cada unidad cumpla
con su especificación.

Integración y Prueba del Sistema: Las unidades del


programa o los programas individuales se integran y
prueban como un sistema completo.

Operación y Mantenimiento: esta es la fase más larga


del ciclo de vida, el mantenimiento incluye corregir los
errores no detectados, mejorar las unidades del sistema
e incrementar servicios.
3.2 MODELO DE DESARROLLO INCREMENTAL
3.2 MODELO DE DESARROLLO INCREMENTAL

PROBLEMAS
BENEFICIOS

Reduce el costo de los


requerimientos
cambiantes El proceso no es
visible
Sencilla
Retroalimentación
Incorporación
Entrega e costoso y difícil
Implementación mas
rápida del software
3.3 INGENIERIA DE SOFTWARE ORIENTADAS A LA
REUTILIZACION

Análisis de Modificación Diseño del Desarrollo e


componentes de sistema con integración
requerimientos reutilización
Con todos
Analiza los Diseño del los
Se busca y marco
analiza requerimientos componente
modificándolos conceptual s listos se
componentes del sistema
para para reflejar integran
componentes o para formar
implementarlos reutilización
disponibles. el nuevo
de un marco sistema.
existente.
3.3 INGENIERIA DE SOFTWARE ORIENTADAS A LA
REUTILIZACION

Componentes

Existen diferentes
Servicios Web
componentes que
se pueden utilizar Colecciones de
en este modelo: Objetos

Sistemas de software
independientes
3.4 MODELO DE DESARROLLO EVOLUTIVO
3.4 MODELO DE DESARROLLO EVOLUTIVO

Modelos de
proceso evolutivo

El ideal es que el prototipo sirva como


Hacer Prototipos mecanismo para identificar los
requerimientos del software

Es un generador de modelo de proceso


El modelo Espiral impulsado por el riesgo, que se usa para
guiar la ingeniería concurrente con
participantes múltiples de sistemas
intensivos en software
ACTIVIDADES DEL PROCESO
1. Especificación del software

Estudio de Factibilidad: Estima si las necesidades del usuario se pueden satisfacer con las
tecnologías actuales.

Obtención y análisis de
requerimientos: Obtiene los requerimientos por parte de los usuarios, observación de
sistemas existentes, proveedores potenciales o análisis de tareas.

Especificación de
requerimientos:
Traducir la información en la fase de análisis, en requerimientos

Validación de Comprueba la veracidad, consistencia y completitud de los


requerimientos: requerimientos.
Diseño Implementación del Software

Actividades específicas del proceso de diseño son:

Diseño Arquitectónico: Diseño de Interfaz:


Se identifica la Definen las Diseño de
estructura del sistema interfaces entre Componentes: Se
asi como los componentes sin especifica como
componentes sus presentar funcionara cada
relaciones y su ambigüedades. componente.
distribución.

Diseño de base de datos: Se encarga de


diseñar la estructura de la base de datos.
Proceso de Depuración

El proceso de eliminar los defectos de un proyecto se llama depuración.


Validación del Software
Se utiliza para mostrar, que el sistema se ajusta la especificación y que cumple las
expectativas del usuario.

Implica procesos de comprobación como inspecciones de revisión a menudo es casi


tan costoso como el desarrollo y se lo debe hacer después de su implementación.

Etapas del proceso de pruebas

 Pruebas de componentes(ó unidades): comprueba que cada componente funcione


correctamente individualmente a menudo son simples como funciones.

 Pruebas del sistema: Los componentes se integran y se forma un sistema, luego de


esto se realizan pruebas para encontrar errores en la interacción de los mismos.

 Pruebas de aceptación: Etapa final del proceso de pruebas que verifican que el
sistema tenga un funcionamiento aceptable una vez iniciado el mismo.
Evolución del software
4. CÓMO ENFRENTAR EL CAMBIO
Los cambios en los proyectos de software son inevitables ya que los requerimientos
a menudo cambian debido a nueva tecnología.

Procesos para apoyar la


interacción:

Desarrollo en espiral: gira en


Entrega incremental: El
espiral hacia afuera con
proceso de desarrollo se
esbozo inicial y terminando
divide en una serie de
con el desarrollo final del
incrementos.
mismo.
ENTREGA INCREMENTAL

En lugar de entregar el sistema en una sola entrega, el desarrollo y


la prestación se divide en incrementos, y con cada incremento se
entrega parte de la funcionalidad requerida.

Son priorizados los requerimientos de los usuarios y los


requerimientos de más alta prioridad son incluidos en los primeros
incrementos.

Una vez que el desarrollo de un incremento se ha iniciado, los


requisitos están congelados.
DESARROLLO EN ESPIRAL

Desarrollo y validación:
Evaluación y reducción
Depende muchas
de riesgos: define los
veces de la finalidad
pasos para reducir
del proyecto sobre las
riesgos evitando tener
medidas que se
requerimientos
tomará para su
inapropiados .
desarrollo.

Planificación:
Definición de objetivos: revisa y toma la
identifica los objetivos, decisión si se debe
restricciones, y riesgos continuar con el
del proyecto. ciclo posterior a la
espiral.
Sectores
5. EL PROCESO UNIFICADO RACIONAL
Perspectivas:

Dinámica que muestra las fases del modelo sobre el


tiempo.

Estática que muestra las actividades del proceso


que se representan.

Práctica que sugiere buenas prácticas a utilizar


durante el proceso.
FASES DEL MODELO RUP DEL PROCESO DE SOFTWARE
PROCESOS DE SOFTWARE

1. Inicio. El objetivo de esta fase es el de establecer un caso de


negocio para el
sistema.

2. Elaboración. Los objetivos de esta fase son desarrollar


una comprensión del dominio del problema, establecer un
marco de trabajo arquitectónico para el sistema.

3. Construcción. La fase de construcción fundamentalmente


comprende el diseño del sistema, la programación y las
pruebas.

4. Transición. La fase final del RUP se ocupa de mover el sistema


desde la comunidad de desarrollo a la comunidad del usuario y
hacerlo trabajar en un entorno real.
FLUJOS DE TRABAJO ESTATICOS DEL RUP

Modelado del Negocio: proceso de negocio se modelan con casos de uso.

Requerimientos: definen actores que interactúan con el sistema.

Análisis y Diseña: crea y documenta un modelo de diseño con


modelos arquitectónicos, de componentes, de objetos y de
secuencias.
Implementación: se estructuran en subsistemas los componentes
del sistema.

Prueba: proceso iterativo tiene lugar a las pruebas del sistema.

Despliegue: se crea un “reléase” del producto, se distribuye a los


usuarios y se instala en su lugar de trabajo.

Configuración y cambios de gestión: gestiona los cambios del sistema.


RECOMENDACIONES RUP

1. Desarrolle el software de Planifique incrementos del sistema basado en las


forma iterativa. prioridades del usuario

Documente explícitamente los requerimientos del


2. Gestione los requerimientos. cliente y manténgase al tanto de los cambios de
estos requerimientos.

3. Utilice arquitecturas Estructure la arquitectura del sistema en


basadas en componentes. componentes.

4. Modele el software visualmente. Utilice modelos gráficos UML para presentar


vistas estáticas y dinámicas del software.

5. Verifique la calidad del software. Asegure que el software cumple los


estándares de calidad organizacionales.
6. Controle los cambios del Gestione los cambios del software usando un
software. sistema de gestión de cambios
INGENIERÍA DEL SOFTWARE ASISTIDA POR
COMPUTADORA (CASE)
 La tecnología CASE proporciona ayuda al proceso del software
automatizando algunas de sus actividades, así como proporcionando
información acerca del software en desarrollo, el diseño, el desarrollo de
programas y las pruebas.

Actividades que se pueden automatizar:

Modelos gráficos para el modelo de desarrollo del sistema.


Diccionario de datos para la gestión de las entidades de diseño.
Constructor GUI para construcción de interfaz gráfica de usuario de forma
interactiva.
Depuradores para ayudar a encontrar defectos en el programa.
Traductores automatizados para generar nuevas versiones de un
programa.
CLASIFICACIÓN CASE

Una perspectiva Una perspectiva de


funcional en la que las integración donde las
herramientas CASE se herramientas CASE se
clasifican de acuerdo clasifican de acuerdo a
con su función su organización en
específica. unidades integradas.

Una perspectiva de
proceso en la que las
herramientas se
clasifican de acuerdo con
las actividades del
proceso que ayudan.
CLASIFICACIÓN DE LAS HERRAMIENTAS CASE ACORDE CON SU FUNCIÓN

de planificación Herramientas PERT, herramientas de estimación,


hojas de calculo.
de edición Editores de texto, editores de diagramas,
procesadores de texto
de construcción de
prototipos Lenguajes de alto nivel, generadores de código.

de procesamiento de
lenguajes Compiladores, Interpretes

de pruebas Generadores de pruebas de datos, comparadores


de archivos
de documentación Programas de diseño de páginas, editores de
imágenes.
de reingeniería
Sistemas reestructuración de programas.
6. CONCLUSIONES

• Procesos de software son las actividades implicadas en la producción y la


evolución de un sistema de software.

• Actividades generales son la especificación, diseño e implementación, la


validación y la evolución.

• Los modelos de iteración de procesos describen el proceso del software


como un ciclo de actividades.

• La validación implica que el sistema cumple con las especificaciones y


requerimientos del usuario.

• RUP es un proceso genérico en fases (inicio, elaboración, construcción).

• La tecnología CASE proporciona ayuda automatizada a los procesos de


software.
7. REFERENCIAS BIBLIOGRÁFICAS

• Sommerville. Ian,(2011), Ingeniería de Software,


NOVENA EDICIÓN

• Roger S. Pressman,(2010), Ingeniería de Software un


Enfoque Práctico. SEPTIMA EDICIÓN

Das könnte Ihnen auch gefallen