Está en la página 1de 41

Curso:

INGENIERÍA DE SOFTWARE
Sesión 4

PROCESOS DEL CICLO DE VIDA DEL SOFTWARE:


ISO/IEC 12207

2
Contenido

SEMANA 1: ESTRUCTURA DE LA GUÍA SWEBOK

SEMANA 2: INTRODUCCIÓN AL SEBOK

SEMANA 3: PROCESOS DEL CICLO DE VIDA DEL SISTEMA: ISO/IEC 15288

SEMANA 4: PROCESOS DEL CICLO DE VIDA DEL SOFTWARE: ISO/IEC 12207

SEMANA 5: INGENIERÍA DE SOFTWARE E INGENIERÍA DE SISTEMAS

SEMANA 6: APLICACIONES DE LA INGENIERÍA DE SISTEMAS CON APOYO DE LA ISW

SEMANA 7: INGENIERÍA Y GESTIÓN DE SISTEMAS

SEMANA 8. Sistema “D”

3
UNIDAD III: GESTIÓN DE INGENIERÍA DE SISTEMAS Y DE COMPONENTES

SEMANA 9: GESTIÓN DE INGENIERÍA DE SISTEMAS

SEMANA 10: COMPONENTES DE SISTEMAS Y DE SOFTWARE

UNIDAD IV: CICLO DE VIDA DEL SOFTWARE

SEMANA 11: PROCESO DE DESARROLLO DE SOFTWARE

SEMANA 12: MODELOS DE DESARROLLO DE SOFTWARE

SEMANA 13: MANTENIMIENTO Y EVOLUCIÓN DEL SOFTWARE

SEMANA 14: ESTIMACIÓN DE COSTOS Y MÉTRICAS DEL PROCESO SOFTWARE

SEMANA 15: EXPOSICIONES GRUPALES DEL TRABAJO FINAL

SEMANA 16: Sistema “D”

4
1. PROCESOS DEL
CICLO DE VIDA DEL SOFTWARE:
ISO/IEC 12207
Temario
SEMANA 4: PROCESOS DEL CICLO DE VIDA DEL
Temario

SOFTWARE: ISO/IEC 12207


La ISO/IEC 12207 como un estándar de procesos
basada en los principios fundamentales de
modularidad y responsabilidad.
• Aspectos relacionados con la aplicación del
estándar ISO/IEC 12207
• Procesos del ciclo de vida del software:
• Procesos principales, procesos de apoyo y procesos
organizacionales.
• Lectura: ISO/IEC 12207
PROCESOS DEL CICLO DE VIDA DEL SOFTWARE

4.1 Conceptos en la Gestión de Procesos Software

4.2 Procesos del Ciclo de Vida del Software- ISO/IEC 12207

4.3 Relación entre Gestión de Procesos Software e ISO/IEC 1220

4.4 Las 6 mejores prácticas de la Ingeniería de Software


4.1 Conceptos en la Gestión de Procesos Software

• La Ingeniería de Software, como la aplicación de un


conjunto de conocimientos (principios, enfoques, metodologías,
técnicas, herramientas, entre otros) a los procesos de desarrollo,
operación y mantenimiento de software.

• El Proceso Software, es un conjunto coherente de políticas,


estructuras organizacionales, tecnologías, procedimientos y
artefactos que son necesarios para concebir, desarrollar, instalar
y mantener un producto software.

El proceso software define la manera como el desarrollo y


mantenimiento del software es organizado, gestionado, medido,
soportado y mejorado.
…..Conceptos en la Gestión de Procesos Software

• Existe una correlación directa entre la calidad del proceso y la


calidad del producto obtenido.

La calidad del producto final va a estar afectada en gran medida por la


forma de obtener ese producto, es decir, por el proceso

Hoy, una de las grandes preocupaciones de las organizaciones es la


mejora de sus procesos software.

La clave de una exitosa entrega de un producto- en tiempo, costo y


calidad- radica en la efectiva gestión de sus procesos software.

• La Gestión de Procesos Software trata sobre gestionar


exitosamente los procesos de trabajo asociados con el desarrollo,
mantenimiento y soporte de productos software.
…..Conceptos en la Gestión de Procesos Software

• El concepto de gestión de procesos está basado en los


principios de la tecnología del control estadístico de procesos:
los procesos deben producir resultados predecibles

• Los resultados siempre varían, pero cuando un proceso está


bajo control estadístico, ellos varían dentro de límites
permisibles.

Upper Control Limit 12.09


Upper Spec Limit 12.10

Diagramas de Control: 12.1


12.08

Se utilizan para establecer 12.06


12.04

inches
12.02
si un proceso es estable o no, 12
11.98
o si tiene un rendimiento predecible. 11.96
11.94
Lower Control
Limit 11.91 Lower Spec
Limit 11.90
11.92
11.9

time dimension

• Los procesos controlados son procesos estables


y los procesos estables permiten predecir resultados.
…..Conceptos en la Gestión de Procesos Software

Las 4 responsabilidades fundamentales para la Gestión de Procesos


Software:
1. Definir el proceso,
2. Medirlo,
3. Controlarlo y
4. Mejorar el proceso

4. Mejoras por cambios en las capacidades existentes o


substituyendo procesos por otros más eficientes o eficaces

3. Control: asegurar que la variabilidad


1. Crear el ambiente disciplinado y
sea estable; tomar acciones correctivas
estructurado para controlar y
mejorar el proceso

2. Medir para detectar las


desviaciones e identificar las
oportunidades de mejoras
…..Conceptos en la Gestión de Procesos Software

EDWARD DEMING (Investigador de la Calidad de los Procesos)

CICLO DE MEJORA DE LA CALIDAD DE LOS REACCION EN CADENA DE


PROCESOS
PLAN- DO- CHECK- ACT ; DEMING
están vinculado por los resultados: la salida de uno
↓ Mejora de la calidad,
se convierte en la entrada del siguiente.
↓ mejora la productividad,
↓ disminuye los costos,
PLANIFICAR ↓ disminuye los precios,
↓ incrementa el mercado,
↓ crece el negocio y

ACTUAR ↓ mejora retorno de la inversión.


HACER

REVISAR
PROCESOS DEL CICLO DE VIDA DEL SOFTWARE

4.1 Conceptos en la Gestión de Procesos Software

4.2 Procesos del Ciclo de Vida del Software- ISO/IEC 12207

4.3 Relación entre Gestión de Procesos Software e ISO/IEC 1220 4.4

Las 6 mejores prácticas de la Ingeniería de Software


4.2 Procesos Ciclo de vida del SW- ISO 12207

Procesos de Apoyo Procesos Principales


APO.1 Documentación
PRI.1 Adquisición
APO.2 Gestión de Configuración
APO.3 Aseguramiento Calidad PRI.2 Suministro
APO.4 Verificación
PRI.3 Desarrollo
APO.5 Validación
APO.6 Revisión Conjunta PRI.4 Operación
APO.7 Auditoria PRI.5 Mantenimiento
APO.8 Solución de Problemas

Procesos Organizativos
ORG.1 Gestión ORG.3 Mejora
ORG.2 Infraestructura ORG.4 RRHH
…. Procesos Ciclo de vida del SW- ISO 12207

• El estándar ISO/IEC 12207:2004 estructura los procesos del


ciclo de vida del software en tres categorías:

i) Procesos principales - PRI


ii) Procesos de apoyo - APO
iii) Procesos organizativos - ORG

• Cada uno de los procesos son descritos en términos de sus propósito


y sus resultados.

- El propósito define una visión general del objetivo que debe


satisfacer el proceso.

- Los resultados detallan lo que se espera que produzca el proceso.


…. Procesos Ciclo de vida del SW- ISO 12207

Proceso Principal PRI.3 DESARROLLO


Propósito: “Establecer y mantener una capacidad de análisis de los requisitos,
diseño, codificación, integración, pruebas e instalación y aceptación relacionadas
con los productos software”.
….………… PRI.3 DESARROLLO
….………… PRI.3 DESARROLLO
…. Procesos Ciclo de vida del SW- ISO 12207
PRI.3 DESARROLLO
Fortalezas:
Conocimiento y dominio de la técnicas de programación aplicadas al
sistema comercial, que es el soporte a la gestión del negocio.

Mantener comunicado a los usuarios cuándo se les atenderá sus


peticiones, a cargo del Área de Sistemas.

Uso de la tecnología Internet, a través del Portal Web en desarrollo por


terceros, para la comercialización de productos.

Oportunidades de mejora:
Hacer efectivo planes y procedimientos de trabajo para todos los
niveles en la gestión de construcción de software

Aplicar hojas de estimación para definir tamaño, esfuerzo y costos


de los nuevos desarrollos.

Planificar adecuadamente la implementación de proyectos de


negocio, comunicando oportunamente al Área de Sistemas.

Delimitar competencia funcional entre desarrollo y operaciones, en


el manejo y acceso a las bases de datos en producción.

Alinearse con una metodología formal de desarrollo de sistemas.


PROCESOS DEL CICLO DE VIDA DEL SOFTWARE

4.1 Conceptos en la Gestión de Procesos Software

4.2 Procesos del Ciclo de Vida del Software- ISO/IEC 12207

4.3 Relación entre Gestión de Procesos Software e ISO/IEC 1220

4.4 Las 6 mejores prácticas de la Ingeniería de Software


4.3 Relación entre la Gestión de Procesos SW, Procesos ISO/IEC 12207 y
la definición de Proyecto
Aporte del ISO/IEC 12207 a la Gestión de Procesos SW
Aporte del ISO/IEC 12207 a la Gestión de Procesos SW

Aporte: Fuerte Normal


PROCESOS DEL CICLO DE VIDA DEL SOFTWARE

4.1 Conceptos en la Gestión de Procesos Software

4.2 Procesos del Ciclo de Vida del Software- ISO/IEC 12207

4.3 Relación entre Gestión de Procesos Software e ISO/IEC 1220

4.4 Las 6 mejores prácticas de la Ingeniería de Software


4.4 Las 6 mejores prácticas de la Ingeniería de Software

I ) Arquitectura basada en componentes

II ) Modelado visual en UML

III) Administración de requerimientos

IV) Desarrollo iterativo e incremental

V ) Control del cambio

VI) Verificación de la calidad


4.4 Las 6 mejores prácticas de la Ingeniería de Software

I ) Arquitectura basada en Componentes

Estructure la arquitectura del sistema en componentes.

Los componentes pueden ser acoplados unos con otros, para soportar las

funciones que se requiere del sistema.

En el enfoque de desarrollo de software basado en componentes, se aplica

mucho la reutilización.

Ventajas:

✓ Al reducirse la cantidad de software a desarrollar, se logra la reducción

de costos y de riesgos, con entregas más rápidas del SW

✓ La modularidad permite una separación clara de los elementos del

sistema, facilitando el manejo de los cambios.


4.4 Las 6 mejores prácticas de la Ingeniería de Software

II ) Modelado visual
Modele visualmente con UML, reconocido hoy en día como el
estándar de la industria para la modelación de sistemas
complejos.
Desarrollar modelos para sistemas antes de su desarrollo es tan
esencial como crear planos antes de construir un edificio.
El lenguaje unificado de modelación (UML - Unified Modeling
Language), nos permite visualizar y razonar sobre los modelos
abstractos del software y, pasar al diseño con esquemas o
diagramas de las ideas centrales.
“Un porcentaje muy importante del cerebro de las personas está implicado
en el procesamiento visual, que es una de las motivaciones que hay detrás
de la presentación visual o gráfica de la información” (Edward Tufte-1992)
4.4 Las 6 mejores prácticas de la Ingeniería de Software

Modelado visual
Ventajas:
✓ El uso de modelos que reflejan tanto la estructura como el
comportamiento del sistema a desarrollar es un factor
indispensable para una buena comunicación entre los miembros
del equipo de desarrollo, usuarios finales y toda entidad
involucrada con el sistema.
✓ Los modelos presentan en forma clara el diseño del sistema y

facilitan la identificación de inconsistencias.

✓ Proporciona un elemento importante en la documentación

✓ ayudan a mantener la consistencia entre requerimientos,

diseño e implementación.
Modelado Visual usando diagramas UML

Diagrama de
Diagrama Diagrama de
Casos de Uso
de Clases Estado
add file

DocumentList

Use Case 1 FileMgr Document

add( )
name : int
Actor A Actor B fetchDoc( ) delete( )
docid : int
sortByName( ) numField : int Writing
add file [ numberOffile==MAX ] /
flag OFF
get( )
open( ) read() fill the
Use Case 2 close( ) code..
Openning
FileList read( )
sortFileList( )
fList create( )
fillDocument( ) close file
add( )
delete( )
1

Use Case 3 Reading


close file
Closing

rep

File
Repository

Diagrama de
(from Persistence)

name : char * = 0

readDoc( )
readFile( )
read( )
GrpFile

read( )
open( )
create( )
Diagrama de
fillFile( )

Colaboración 9: sortByName ( )
Repository DocumentList
Despliegue
Windows95
mainWnd : MainWnd Window95

FileManager
Windows95

1: Doc view request ( ) L

2: fetchDoc( ) ¹®¼°ü¸®
Ŭ¶óÀ̾ðÆ®.EXE

4: create ( ) gFile : GrpFile Document ¹®¼°ü¸® ¾ÖÇø´

Windows
8: fillFile ( ) NT

user : Clerk Solaris

fileMgr : FileMgr ¹®¼°ü¸® ¿£Áø.EXE

3: create ( ) GraphicFile Alpha


UNIX
ÀÀ¿ë¼¹ö.EXE
6: fillDocument ( )
File FileList
Windows
NT

IBM

7: readFile ( ) Mainframe

5: readDoc ( )
document : Document
repository : Repository
µ¥ÀÌŸº£À̽º¼¹ö

ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸±â¸¦


user

1: Doc view request ( )


mainWnd fileMgr :
FileMgr
document :
Document
gFile repository

Diagrama de
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.

2: fetchDoc( )

3: create ( )

4: create ( )
Componentes
5: readDoc ( )

ÈÀÏ°ü¸®ÀÚ´Â Àоî¿Â 6: fillDocument ( )


¹®¼ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.

7: readFile ( )

8: fillFile ( )

È¸é °´Ã¼´Â ÀоîµéÀÎ 9: sortByName ( )


°´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î

Construyendo un modelo visual de un sistema,


Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡
º¸¿©ÁØ´Ù.

Diagrama de diferentes diagramas son necesarios para


Secuencia representar diferentes vistas del sistema
4.4 Las 6 mejores prácticas de la Ingeniería de Software

III) Gestión de requerimientos


La gestión de requerimientos se encarga de identificar,
documentar, organizar y dar seguimiento a los requerimientos del
sistema y a los cambios que puedan tener a lo largo del ciclo de
vida. Un requerimiento es una condición o capacidad que el
sistema debe satisfacer.
Actividades:
Documentar explícitamente los requerimientos del cliente y las
funcionalidades y restricciones del sistema.
Evaluar los cambios a los requerimientos y medir su impacto.
Realizar el seguimiento de las trazas y actualizar documentación.

“Los requerimientos son los cimientos sobre los cuáles se construye un


producto software y, sin embargo, la incapacidad de gestionar sus cambios es
una de las principales causas de entregas fuera de tiempo, exceder los
presupuestos y no cumplir con la calidad esperada por el cliente”
(Ian Sommerville et al. -1997)
4.4 Las 6 mejores prácticas de la Ingeniería de Software

Gestión de los requerimientos


Ventajas:
✓ Los requerimientos son administrados bajo un enfoque disciplinado
✓ Los requerimientos pueden ser priorizados, filtrados y rastreados
✓ Facilita una evaluación objetiva de la funcionalidad y desempeño
✓ Permite un detección oportuna de las inconsistencias entre los
requisitos, los productos y los planes del proyecto.
4.4 Las 6 mejores prácticas de la Ingeniería de Software

IV) Desarrollo iterativo e incremental

Cada iteración del proceso produce un nuevo incremento del

software, generándose una nueva versión.

Ventajas:

✓ Centrado en lo importante

✓ Se captan requerimientos reales por la retroalimentación de los usuarios

✓ Mejor conocimiento del negocio en cada iteración

✓ Los usuarios disponen de evidencias del avance del desarrollo SW

✓ Los errores se evidencian temprano, corrigiéndose sin altos costos.


Desarrollo iterativo e incremental

Requerimientos
Análisis y Diseño
Planeamiento
Implementacion
Planeamiento
inicial

Despliegue

Evaluacion
Prueba
Una versión
ejecutable resulta
de cada iteración
4.4 Las 6 mejores prácticas de la Ingeniería de Software

V) Control de cambios
Las necesidades del negocio y los requerimientos cambian
durante el ciclo de vida de los sistemas de software grandes.
Gestionar los cambios del software usando un sistema de gestión
de cambios y herramientas de soporte a los procedimientos de
gestión de cambios.
La gestión de las versiones y entregas es el proceso de
identificar y mantener los registros de las diferentes versiones y
entregas de un sistema (matriz de entregables)
Ventajas:
✓ El requerimiento de cambios facilita la comunicación con los
usuarios.
✓ Mantener la documentación actualizada.
✓ Las estadísticas de los cambios facilita evaluar el estado del
proyecto
4.4 Las 6 mejores prácticas de la Ingeniería de Software

VI) Verificación de la calidad


Asegurar que el software cumple los estándares de calidad
organizacionales
La verificación de la calidad del software es parte del proceso, en
todas las actividades e involucrando a los stakeholders.
Aspectos a considerar: desviaciones de lo planeado, confiabilidad
(resistencia a fallas al ejecutarse), validación (funcionamiento de
acuerdo al uso esperado), desempeño (tiempo de respuesta
aceptable en condiciones reales)
Ventajas:

✓ Detección de inconsistencias en los requerimientos, diseño o


implementaciones, como resultado de las pruebas.
✓ Las verificaciones y pruebas se centran en los puntos de mayor
riesgo, asegurando su calidad.
✓ Detección temprana de errores, reduciendo el costo de su
corrección.
Procesos del Ciclo de Vida del Software

TAREA 4:

Elaborar 3 mapas mentales de los grupos de procesos del Ciclo de


Vida del Software:
• Mapa 1 comprende Grupos de procesos principales PRI(5);
• mapa 2: Grupo de procesos de apoyo - APO (8) y,
• mapa 3: Grupo de procesos organizativos - ORG (4).

Mapas con texto en castellano, indicando Propósito, Actividades y


Resultados por cada Proceso.
REF.- ISO/IEC 12207
PREGUNTAS?

PÁGINA 38 38
CONCLUSIONES
Esto es lo que hemos
aprendido
(a responder por los
estudiantes)
Logros de
Aprendizaje
• …
• …
• …

PÁGINA 39 39
40
Mg. Ing. Wilfredo Carranza
wcarranzab@uni.edu.pe

41

También podría gustarte