Diapositiva 1

Download Report

Transcript Diapositiva 1

Bases Conceptuales
Sistema Inf. II
•Etapas en el proceso de desarrollo
•Metodologías para el proceso de desarrollo
•Herramientas para el análisis , diseño,
desarrollo
Motivación
Construcción de una casa para
“fido”
Puede hacerlo una sola persona
Requiere:
Modelado mínimo
Proceso simple
Herramientas simples
Motivación
Construcción de un Chalet
Construido eficientemente y en un tiempo
razonable por un equipo
Requiere:
Modelado
Proceso bien definido
Herramientas más sofisticadas
Motivación
Construcción de un Rascacielos
CICLO DE VIDA
• Marco de referencia común para equipos
de trabajo
• Incorpora procesos ,actividades y tareas a
desarrollar.
• Existencia de diferentes paradigmas en el
tiempo
– Ciclo de vida en cascada, espiral , evolutivos,
y los mas recientes orientados a objetos.
Ciclo de Vida para el desarrollo de
Software según la IEEE e ISO/IEC
• “Una aproximación lógica a la adquisición
, el suministro, el desarrollo, la explotación
y el mantenimiento del software”
( Norma IEEE 1074)
• “Un
marco de referencia que contiene los
procesos , las actividades y las tareas
involucradas en el desarrollo, la
explotación y el mantenimiento de un
producto de software, abacando la vida
del sistema desde la definición de
requerimientos hasta la finalización de su
uso” ( Norma ISO 12207)
ISO 12207
Propósito
• Establecer un marco común para el ciclo de vida
del software para
– adquirir, suministrar, desarrollar, operar y mantener
software
– gestionar, controlar y mejorar el marco
– como base para el comercio internacional de software
Una arquitectura de alto nivel para el ciclo de vida
– Modularidad
• Cohesión: un proceso por función principal
• Acoplamiento: interfaces mínimas
– Responsabilidad
• Un proceso bajo la responsabilidad de una parte (de un
acuerdo – relación cliente-proveedor -)
ISO 12207 – árbol de procesos
ACQUISITION
Principales
funciones y partes
SUPPLY
DEVELOPMENT
OPERATION
MAINTENANCE
PRIMARY
LIFE CYCLE
SUPPORTING
Soportan otras
funciones, con un
propósito
Gestión de la
organización y mejora
Para formalizar el
ajuste del estándar
DOCUMENTATION
CONFIGURATION MANAGEMENT
QUALITY ASSURANCE
VERIFICATION
VALIDATION
JOINT REVIEW
AUDIT
PROBLEM RESOLUTION
ORGANIZATIONAL
MANAGEMENT
INFRASTRUCTURE
IMPROVEMENT
TRAINING
TAILORING
Estructura de un proceso
PROCESS
ACTIVITY 1
TASK 1
•••
•••
TASK X
Proceso compuesto por actividades
 Una actividad compuesta por tareas
INPUTS
OUTPUTS
TASK
Naturaleza de una tarea:
Una acción con entradas y salidas
Indica qué hacer, no cómo
ACTIVITY n
TASK 1
Características del estándar
• Implementa principios de TQM
– Cada parte/participante tiene responsabilidad apropiada
– Ciclo PDCA (Plan-Do-Check-Act) incorporado en los procesos
• Plan: Tareas, WBS, calendario, responsabilidad, etc.
• Do: Ejecución de los planes
• Check: Evaluaciones internas al proceso
– Suplementado con evaluaciones inter-procesos y de mejora
• Act: Vuelta atrás para solución de problemas
• Establece un nexo con Ingeniería de Sistemas
– Software tratado como parte de un sistema
• Ingeniería de Sistemas fundamento de Ingeniería de Software
– Se proporciona el contexto necesario del sistema
• Actividades de software ubicadas en ese contexto
• Software extraído e integrado al sistema
– Ingeniería de Software participa en Ingeniería del Sistema
Conceptos básicos
• Organización y Parte
– Organización: un grupo independiente de personas
– Parte: Quien participa en un acuerdo
– Partes pueden ser de la misma o de diferentes organizaciones
• Tipos de acuerdos
– Desde un acuerdo informal a un contrato legal
• Proyecto
– Un proyecto puede existir en la fase de pre-acuerdo,
post-acuerdo, o una combinación de ambos
– Un proyecto puede abarcar una parte o todo el ciclo de
vida
Conceptos básicos (cont.)
• Se adapta a cambios en la tecnología
– Independiente de
•
•
•
•
métodos de gestión/ingeniería
Lenguajes de programación
Ambientes de ingeniería de software
Modelos de ciclo de vida
– Cascada, incremental, evolutivo, reingeniería, utilizable con prototipación
• No es un estándar para productos
– Requiere que las salidas específicas sean documentadas
– No prescribe formatos, contenidos explícitos ni medios
– Compatible con estándar de productos de la organización
• No es un estándar de métricas
– Muchas tareas requieren métricas e indicadores
– El estándar no prescribe ninguno
– Contiene referencias a ISO 9126 como guía
Evaluación es una función elemental
PURPOSE
FORUM/MOTIVE
Diverse, Different,
Check, Review,
Audit, Verify,
Formal, Informal,
Validate, Assure, Peer, Independent,
Inspect, Monitor, Defensive, Critique
Control, Improve, ...
ENTITY
Process,
Activity, Task,
Inputs, Outputs,
Data, Product,
Plan, Contract,
Report, ...
EVALUATION
RESULTS;
REPORTS
CRITERIA
At various levels:
Requirements,
Derived reqmts.,
Ad hoc conditions,
LU
INTERNAL
PROCESS 1
BETWEEN
PROCESSES
EVALUATION
INTERNAL
PROCESS 2
EVALUATION
UA
Procesos Primarios
Operación
T
0
Adquisición
Mantenimiento
Suministro
T
0
E/T
U
Desarrollo
O: THE SAME POINTS; E: EXECUTE; T:
TASK; U: USE
PLAN, DO, CHECK & ACT
Proceso de Adquisición
Para quien adquiere productos y servicios de software
Cubre períodos previos al contrato y de contrato
Uso interno
Actividades
P
R
E
C
O
N
T
R
A
T
O
C
O
N
T
R
A
T
O
Procesos invocados
Reqs. Sistema
Plan Adquisición
Criterios Aceptación
Desarrollo
Inicio
Reqs. Adquisición incl.
–ajustes a12207
- referencias a contrato
Preparar
Llamado
Preparar y
ajustar contrato
Controlar al
Proveedor
Aceptación
y Cierre
Salidas
Revisión
Conjunta
Contrato con:
- proveedor
- otros
Control
Interno
Ajuste
Audit.
Verif.
Valid.
Control y evaluación
de resultados
Productos y
servicios aceptados
Proceso de Adquisición
actividades y tareas
1. Inicio
4. Controlar al Proveedor
• Describir necesidades
• Definir Reqs. Sistema
• Definir Reqs. Sw. (Posiblemente)
• Preparar plan de adquisición
• Definir estrategia de aceptación
• Controlar de acuerdo con Revisión
Conjunta y Auditoriía
• Suplementar con V&V
2. Llamado (RFP)
5. Aceptación y cierre
• Documentar Reqs. Adquisic.
• Determinar procesos
• Definir referencias al contrato
• Establecer hitos de revisión
3. Preparación y
actualización del contrato
• Preparar para aceptación, incl. pruebas
• Cumplir revisiones/pruebas de
aceptación
• Aceptar entregables
• Asumer Gestión de Configuración
• Establecer procedimientos de selección de proveedor
• Seleccionar proveedor
• Ajustar e involucrar a las partes
• Negociar contrato
[ durante el contrato]
Proceso de Suministro
Para el proveedor de productos/servicios
Cubre períodos previos al contrato y de contrato
Actividades
P
R
E
C
O
N
Uso interno
Procesos invocados
Evaluación
Entrega y
Cierre
Salidas
Propuesta
Contrato
Contratar
O
A 12207 COMPANY
Decisión de
ofrecer
Inicio
Preparar
Respuest
a
C Planificación
O
N
Ejecución
T
y Control
R
A
T Revisión y
QUALITY SUPPLY CO.
Plan(es) gestión
del proyecto
Elegir uno o más
MONITOR,
CONTROL
JT. REV.
DEV.
AUDIT
OPN.
MNT.
V&V
ACQ.
Control de
Resultados
QA
Resultados de
evaluaciones
Productos/
entregados
servs.
Proceso de Suministro
actividades y tareas
1. Inicio
• Revisar RFP
• Decidir ofertar o aceptar
contrato
2. Preparar respuesta
• Preparar propuesta
4. Planificación
• Revisar reqs.
Adquisición
• Si necesario, elegir
modelo de ciclo de vida
• Establecer reqs. para
planes
• Desarrollar y documentar
PGP planes de gestión de
proyecto [15 ITEMS]
• Coordinar con adquirente
• Revisión conjunta
• Auditoría
• V&V
• Acceso al adquirente
• QA por proceso QA
5. Ejecución y
Control
3. Contratar
• Negociar contrato con
adquirente
• Solicitar modificaciones
6. Revisión y
Evaluación
• Cumplir PGPs
• Desarrollar, Operar o mantener
• Controlar progreso/Calidad
• Gestioanr Subcontratos
• Conexión con IVVT
• Conexión con otras partes
7. Entrega y Cierre
• Entregar el producto o
servicio
• Proporcionar Asistencia
Proceso de Desarrollo
Para quien desarrolla (o modifica) productos de software
- Puede llevar a cabo algunas actividades de Ingeniería del Sistema
- Actividades no necesariamente en orden
Actividades
Uso interno
Procesos invocados
Salidas
Implementación
del Proceso
Documentación
Análisis Reqs. Sistema
Evaluaciones
Reqs. Sistema
Diseño Arq. Sistema
Evaluaciones
Arq. Sistema
Análisis reqs. SW
Evaluaciones
Diseño Arq. SW
C.M.
Resolución Problemas
Modelos y planes
desarrollo
- HW, SW, MO
JT. REVIEWS
Reqs. SW
Evaluaciones
JT. REVIEWS
Arq. SW
Diseño Det. SW
Evaluaciones
JT. REVIEWS
Codif./Test SW
Evaluaciones
Integración SW
Evaluaciones
JT. REVIEWS
SW Integrado (SCI)
Test Cualific. SW
Evaluaciones
AUDITS
Diseño y Código
Integración Sistema
Evaluaciones
Test Cualif. Sistema
Evaluaciones
Instalación SW
Evaluaciones
Aceptación SW y Soporte
ISO/IEC 9126
Diseño Det. SW
Código SW
Base de Datos
SW Integrado (SIS)
AUDITS
Diseño y Código
Plan Instalación
SW instalado
SW pronto para entrega
Proceso de Desarrollo
actividades y tareas
1. Implementación del Proceso
• Definir/elegir Modelo(s) de ciclo de vida
- base para el proyecto
- Basado en iteraciones/recursiones de las
actividades y tareas desde Análisis. Reqs.
Sistema hasta Aceptación de SW y Soporte
3. Diseñar Arquitectura del
Sistema
• Producir una arquitectura del sistema
• Identificar HW, SW e items de operación
manual
• Emplea de forma regular los procesos
DOC, CM, y RES. PROB
• Elegir/Ajustar Métodos/herramientas/…
Internos
• Desarrollar, Documentar, Ejecutar planes
• Puede usar No-entregables
- evitar dependencia de operación y
mantenimiento futuros
2,3,10,11 Actividades del Sistema
• Realizar o soportar
4-9, 12,13 Actividades SW
• Realizar
5. Diseñar Arquitectura del SW
• Producir una Arquitectura del SW
• Identificar componentes del SW
8. Integración SW
10. Integración Sistema
• Agregados integrados
• Caminos de división e integración
pueden ser distintos
Proceso de Desarrollo
Organización del Sistema
Sistema
HI
HW
SI
X
SW
X
SC
SC
SU
SU
SU
SU
Significados:
HI- HARDWARE ITEM; SI- SOFTWARE ITEM; MO- MANUAL OPERATIONS;
SC- SOFTWARE COMPONENT; SU- SOFTWARE UNIT; X- OTHER
• 12207 pide Arquitectura y diseño, pero no implica estilo ni método de
representación, ni de derivación
• Caminos de Organización e integración pueden ser diferentes
MO
Desarrollo de Software
SU FUNCIONAMIENTO
ENTRADA
<
PLAN(ES) GESTION PROYECTO
PROCESO SUMINISTRO
MODELO(S) DE CICLO DE VIDA; METODOS, HERRAMIENTAS, ...;
PLAN(ES) DE DESARROLLO
IMPLEMENTACIÓN PROCESO
DESARROLLO
<
REQS. Y ESPECIFICACIÓN DEL SISTEMA
<
ARQUITECTURA SISTEMA [HW, SW, MO]
ANALISIS REQS. SISTEMA
DISEÑO ARQ. SISTEMA
ANALISIS REQS.SW
...
TEST CUALIF. SW
<
REQS. Y ESPECIFICACIONES DEL SW [LINEAS BASE]
<
...
DISEÑO Y CODIGO SW [LINEAS BASE]
MANUALES USUARIO, ...
O
TEST CUALIF. SISTEMA
...
SALIDA
ACEPT. Y SIPORTE SW
<
PRODUCTOS Y SERVICIOS PRONTOS PARA ENTREGAR
• PERMITIDAS ITERACIONES/RECURSIONES:
- PARA CONSTRUIR MODELOS ESPECÍFICOS
- GEBERAR MODELOS PREDEFINIDOS
• NO SE PRECISAN TODAS LAS ACTIVIDADES
(TAREAS) EN UN PROCESO (ACTIVIDAD) EN
CADA ITERACIÓN O RECURSIÓN, PERO
DEBIERAN COMPLETARSE EN LA ÚLTIMA
ITERACIÓN O RECURSIÓN
I
T
E
R
A
C
I
O
N
RECURSION
• PROYECTO ESTABLECE LINEAS BASE
- DE QUE Y CUANDO
• LINEAS BASE EN REVISIONES/AUDITORIAS
PREDETERMINADAS
- FORO PARA INVOLUCRAR PARTES CLAVE
• LINEAS BASE INHIBEN CAMBIOS
NO PLANEADOS O FACILES
• ENTREGABLES INCLUYEN AL MENSOS 3
PRODUCTOS EN LINEA BASE:
- REQUERIMIENTOS, DISEÑO, CODIGO
Proceso de operación
Para quien opera un sistema que contiene software
Actividades
Uso interno
Implementación
Resolución de
del proceso
Problemas
Testing y
Prueba
Operacional
Aseguramiento
interno
Procesos invocados
QUALITY LINES
Salidas
- OPERATION PLAN
Mantenimiento
- OPERATION
PROCEDURES
SW operacional
liberado
Operación
[funciones
Sistema
realizadas]
Soporte a
Usuarios
- Solicitudes de usuario
-Resolución de
problemas
Proceso de Operación
Actividades y tareas
1. Implementación del Proceso
• Desarrollar un plan operacional
• Establecer estándares operacionanles
• Documentar y ejecutar plan
• Establecer procedimientos para
resolución de problemas
• Establecer procedimientos para
Testing operacional
• Establecer procedimientos para
Conectarse con proceso de mantenimiento
• Establecer procedimientos para liberar
Productos para uso operacional
2. Testing Operacional
• Realizar testing operacional para cada
liberación
• Liberar luego que los criterios se cumplen
• Asegurar que código/Base de datos
Funcionan de acuerdo a lo planeado
3. Operación del Sistema
• Opera en ambiente
4. Soporte a usuarios
• Asistir a usuarios
• Encaminar solicitudes de usuarios de
mantenimiento de forma apropiada
• Para arreglos temporales, dar opción a
utilizarlos
Proceso de Mantenimiento
Para quien mantiene productos de software
Actividades
Procesos invocados
Uso interno
Implementación
Resolución
del proceso
Problemas
CM
HD
QUALITY
FIXING
Salidas
-Planes/Procs.
- Mantenimiento
Análisis
- PROB./MOD.
Prob./Modif.
ANAL/SOLN.
Implement.
Desarrollo
modificación
SW modificado
Aceptación revisión
Revisiones
Resultados
mantenimiento
Internas
Revisión
Migración
Revisiones
-Planes/Reportes migr.
Internas
-Sistema migrado
Plan retrio
Retiro del SW
Archivos
Proceso de Mantenimiento
Actividades y tareas
1. Implementación
del Proceso
• Develop, document
and execute plan
• Establish procedures
for problem reports and
modifications requests
• Manage modifications
2. Análisis del
3. Implementación
Modificación
• Determinar elementos
a modificar
• Usar proceso desarrollo
para las modificaciones
• Suplementar con testing
para asegurar que las partes
Modificadas y no modificadas
están bien resueltas
5. Migración
• Desarrollar/documentar/
ejecutar plan
• Notificar usuarios, etc.
• Realizar operaciones en
paralelo
• Realizar operaciones
a posteriori por impacta
6. Retiro del SW
Problema/Modificación
4. Aceptación de revi• Analyze modifications
for impacts
• Replicate/vefify problems
• Implement modifications
• Document and
get approval
sión Mantenimiento
• Revisar con
organización
que autoriza
• Desarrollar/documentar/
ejecutar plan
• Notificar usuarios, etc.
• Realizar operaciones en
paralelo
• Proveer acceso a datos/
productos retirados
Procesos de Soporte
Para soportar otro procesos en llevar a cabo una función específica
QUALITY
ASSURANCE
ADQUISICION
VERIFICACION
SUMINISTRO
VALIDACION
DOCUMENTACION
DESARROLLO
JOINT
REVIEW
CONFIGURATION
OPERACION
AUDIT.
MANTENIMIENTO
RESOLUCION
PROBLEMAS
EMPLEA/ iNVOCA
MANAGEMENT
Proceso de Documentación
Para establecer estándares de documentación
- MEDIOS, FORMATO, ESTRUCTURA, CONTENIDO, ARCHVO, DISTRIBUCION, ...
- EJEMPLOS: MANUALES DE USUARIO DE SU ORG.;
IEEE SRS, ...
Actividades
Uso interno
Procesos invocados
Salidas
Implementación
Plan de
del proceso
Documentación
Documentos
Diseño y
“preparados"
Desarrollo
Documentos
Producción
Mantenimiento
producidos
CONFIGURATION
MANAGEMENT
Documentos
Modificados
Proceso de Gestión de la Configuración
• Para GC de Productos y tareas
• INTERNA O EXTERNA
• IDENTIFICAR PRODUCTOS CONTROLADOS
ACTIVITIES
Actividades
Uso interno
Implementación
Procesos invocados
OUTPUTS
Salidas
del proceso
CONFIGURATION
MANAGEMENT
PLAN
Identificación de
-Esquem,a de
Configuración
Identificación
- def. Líneas base
Control
Control de acceso
Configuración
y Auditoría internos
Reportes de
estado CC
Determinar estado
de Configuración
Evaluación de la
Configuración
Resultados de CC
Evaluación
Interna
Reportes de
Evaluación
Gestión y entrega de
Productos
la liberación(RELEASE)
Entregables
Proceso de Aseguramiento de la Calidad
• Para asegurar la conformidad de productos/servicios con requerimientos y de
acuerdo con planes
• Externa, con independencia organizacional
• Usa el término “Asegura” en lugar de “Evalúa”
Actividades
ACTIVITIES
Implementación
del proceso
Uso interno
Procesos invocados
Resolución
V&V, JT. REVIEW,
AUDIT. comoTécnicas
de Problemas
Salidas
OUTPUTS
Plan de
Aseguramiento
de la calidad
Aseguramiento
Productos
del Producto
Asegurados
Aseguramiento
Procesos
del Proceso
Asegurados
Aseguramiento
del Sistema de
Calidad
De acuerdo a lo
ISO 9001
especificado en
el contrato
Proceso de Aseguramiento de la Calidad
Actividades y tareas
1. Implementación del Proceso
3. Aseguramiento del Proceso
• Establecer proceso de QA para el
proyecto
• Desarrollar/Documentar/
Ejecutar Plan de QA
Asegurar que::
• Coordinar con procesos de Verificación,
Validación,Revisión Conjunta y
Auditoría
2. Aseguramiento del Producto
Asegurar que:
• Planes están/son Documentados//
Conformes/Ejecutados
• Procesos empleados son conformes
• Prácticas de ingeniería interna
conformes
• Requerimientos primarios son
Pasados a lo subcontratistas
• Se proporciona soporte a las
otras partes
• Se dispone de personal entrenado
y de entrenamiento
• Productos/Documentación Conformes
4. Aseguramiento del Sistema
de Calidad
• Productos se pueden entregar y ser
Aceptados por adquirente
• Gestión de calidad adicional por
ISO 9001
Proceso de Verificación
• Para la verificación de los requerimientos de un producto en una
actividad contra las actividades previas
• Interna o Independiente
• Usa el término “Verificar” en lugar de “evaluar”
Actividades
ACTIVITIES
Implementación
del proceso
Verificación
-Contrato
- Proceso
- Requerimientos
- Diseño
- Código
- Integraci{on
- Documentación
Cada uno con sus
propios criterios
Uso interno
Procesos invocados
Resolución
de Problemas
Salidas
OUTPUTS
Plan de
Verificación
Productos y
Servicios
Verificados
Proceso de Verificación
1. Implementación del Proceso
• Determinar si y cuánto se precisa
- Usar factores de criticidad
• Determinar el grado de independencia
2. Verificación del Contrato
• El proveedor tiene la capacidad requerida
• Las necesidades de usuario están cubiertas
• Manejo adecuado de cambios en los reqs.
• Estipula conexiones entre las partes
3. Verificación del Proceso
• Planificación adecuada y oportuna
• Procesos adecuados/implementados y se
ejecutan de acuerdo a lo previsto
• Estándares/Procedimientos/Ambientes
adecuados
• Personal asignado y entrenado
4. Verificación de Requerimientos
• Consistentes/Factibles/Verificables
• Asignados de forma apropiada
• Reqs. Críticos Correctos por métodos
rigurosos
Actividades y tareas
5. Verificación del Diseño
• Correcto/Consistente/Trazable
• Adecuada Secuencia/Asignación de
Eventos, E/S, Interfaces, Lógica,
Tiempos, Tamaños, Recuperación, ...
• Diseño implementa Reqs. Críticos de forma
Correcta [mostrado por métodos rigurosos]
6. Verificación del Código
• Correcto/Verificable/Trazable
• Similar a Diseño
7. Verificación de Integración
• Componentes/Unidades Integradas
Completamente/Correctamente
• Items integrados en el sistema completamente
Y correctamente
• Llevado a cabo de acuerdo a planes
8. Verificación de Documentación
• Adecuada/Completa/Consistente
• Oportuna
• Sigue CM
Proceso de Validación
• Para la validación de productos como están construidos respecto a criterios
especificados
• Interna o Independiente
• Usa el término “Validar” en lugar de “Evaluar”
• Confianza en la validación: a partir de pruebas
ACTIVITIES
Actividades
Uso interno
Implementación
del Proceso
Procesos invocados
Resolución
de Problemas
OUTPUTS
Salidas
Plan de
Validación
Validación
Productos y
4/5 Tareas: Testing
1 Tarea: Uso previsto
Servicios
Validados
Proceso de Revisión Conjunta
Para revisiones conjuntas entre revisor y revisado
- Típicamente por proveedor con adquirente
- Tanto técnicas como de gestión
Revisión del estado del proyecto, productos, tareas respecto a que
estén completos y conformes
Actividades
ACTIVITIES
Implementación
del Proceso
Uso interno
Procesos invocados
Resolución
de Problemas
Salidas
OUTPUTS
Agenda, Alcance,
Foro, etc.,
Revisiones de
Estado del Proyecto
Gestión de Proy,
Y decisiones
Revisiones
Resultados
Técnicas
Revisión
Proceso de Auditoría
Para auditoríoas entre auditor y auditado
- Típicamente por adquirente con proveedor
Para evaluar cumplimiento de requerimientos/¨Planes/Contrato
ACTIVITIES
Actividades
Implementación
del Proceso
Auditoría
Uso interno
Procesos invocados
Resolución
de Problemas
OUTPUTS
Salidas
Agenda, Alcance,
Foro, etc.,
Resultados
Auditoría
Proceso de Resolución de Problemas
Para analizar y resolver problemas, tomando acciones correctivas
y detectando tendencias
Un proceso cíclico:
- Problemas reportados/ingresados
- Acción tomada
- Causas identificadas/eliminadas
- Resolución/Disposición lograda/registrada
- Tendencia detectada
Nota: No todo problema precisa una acción correctiva
Actividades
ACTIVITIES
Uso interno
Procesos invocados
Salidas
OUTPUTS
Implementación
del Proceso
Resolución
de Problemas
Problemas
Resueltos
Procesos Organizacionales
• Para que una organización gestione y mejore su proceso a nivel
corporativo
PROCESO DE
1
PROCESO
PRIMARIO
2
PROCESO DE
INFRAESTRUCTURA
3
PROCESO DE
SOPORTE
GESTION
4
PROCESO DE
MEJORA
PROCESO DE
1: Gestionar siguiendo el proceso de gestión
ENTRENAMIENTO
2: Establecer infraestructura de acuerdo al proceso de infraestructura
3: Mejorar siguiendo el proceso de mejora
4: Entrenar al personal de acuerdo al proceso de entrenamiento
Nota: El proceso de gestión se instancia en procesos primarios y de soporte
porque se gestionan de forma diferente
Proceso de Gestión
Para la gestión general del proceso a lo largo del ciclo de vida
- Se instancia en otros procesos
ACTIVITIES
Actividades
Uso interno
Procesos invocados
OUTPUTS
Salidas
Inicio y definición
[Requerimiento
de alcance
del Proceso]
Planificación
Ejecución
y control
Revisión y
Evaluación
Cierre
Plan de Gestión
[Reportes]
[Reportes]
[Productos]
[Servicios]
Proceso de Infraestructura
Para establecer y mantener la infraestructura a lo largo del ciclo de viuda
-Infraestructura: procedimientos, estándares, herramientas,
equipos, espacio
ACTIVITIES
Actividades
Implementación
del Proceso
Uso interno
Procesos invocados
OUTPUTS
Salidas
Infraestructura
Establecer la
Configuración de la
infraestructura
Infraestructura
Mantener la
infraestructura
[Registros]
Proceso de Mejora
Para establecer, evaluar, medir, controlar y mejorar un proceso a lo
largo del ciclo de vida
ACTIVITIES
Actividades
Uso interno
Procesos invocados
OUTPUTS
Salidas
Establecer
[Proceso(s)
el proceso
establecido(s)]
Evaluar
el proceso
Mejorar
el proceso
Procedimientos
y Planes de
Evaluación
[Evaluación, Historia,
Registros de Costo
de la Calidad]
Proceso de Entrenamiento
Para entrenar al personal y mantenerlo entrenado
ACTIVITIES
Actividades
Uso interno
Procesos invocados
OUTPUTS
Salidas
Implementación
Plan de
del Proceso
Entrenamiento
Desarrollo del
Manuales de
material de
Entrenamiento
entrenamiento
Implementación
Registros de
del Plan de
Entrenamiento
entrenamiento
[Personal entrenado]
Proceso de Ajuste
Un proceso especial
• Para el ajuste del estándar a un proyecto
- Agregados en contrato
• Este proceso no admite ajuste
ACTIVITIES
Actividades
Uso interno
Procesos invocados
OUTPUTS
Salidas
Identificar
ambiente del
Características
proyecto
del proyecto
Solicitar
Entradas de las
información
organizaciones
Seleccionar
procesos, actividades
y tareas
Procesos, actividades y tareas
seleccionadas
Documentar las
razones y decisiones
Razones y decisiones
de ajustes
de ajustes
3-33
Procesos basados en evaluación
PROCESS 1
INTER-PARTY
EVALUATIONS
PROCESS n
N
Múltiples tareas basadas en evaluación
• Evs. internas a un proceso:
contra criterios especificados
• Verificación:
respecto a (resultados de) actividades previas
• Validación:
respecto al uso previsto
• QA:
Aseguramiento respecto a requerimientos/planes
• Revisiones Conjuntas (Jnt.Rev.): Evaluaciones del estado del proyecto y de productos
• Auditoría:
Evaluación del cumplimiento con requerimientos/planes/contrato
Funciones Críticas
Proceso
Adquisición
Tareas
•• DEFINE
SAFETY/SECURITY/CRITICALITY
REQUIREMENTS
Incluir estándares/procedimientos
relacionadas
con
diseño/ testing/ conformidad
Suministro
Abordar en planes de proyecto (se sugieren planes separados) gestión de:
- SAFETY/SECURITY/ Requerimientos críticos
- Polítca/ Regulación/ Certificación relacionados
Desarrollo
Abordar planificación, análisis, diseño y cualificación de requerimientos relacionados
con seguridad (safety,security) y críticos, incluyendo ergonomía
Mantenimiento
• Analizar impacto de modificaciones sobre funciones de
seguridad (safety/security) /críticas
Documentación
• Producir/ almacernar documentos de acuerdo a políticas de seguridad
Gest. Configuración
Verificación
• Controlar/auditar acceso al software que procesa funciones de seguridad
(safety/security) / críticas
• Determinar esfuerzo de verificación por requerimiento crítico
• Verificar mediante métodos rigurosos que las funciones de seguridad
(safety/security) /críticas son analizadas/ diseñadas/ codificadas correctamente
Nota: 12207 puede ser suplementado o adaptado para sistemas críticos para la seguridad (sec./safe)
Procesos e interacciones
ORGANIZATION
MANAGEMENT
INFRASTRUCTURE
IMPROVEMENT
TRAINING
F
M
PROJECT
OPERATION
F
F
F
F
E: 3
T
O
ACQUISITION
T
U: 4
P
U: 4
JOINT
REVIEW
E
AUDIT
P
T
E: ACQ
T: SUB
E: 3
U
E
E
E
(I)V&V
E: 3
1
DOCUMENTATION
E
E
O
E: 2,3
E
QA
U
DEVELOPMENT
E: 3
E: 3
(T)E
MAINTENANCE
SUPPLY
E: 1,2,3
V&V
E: 3
2
CM
3
PROBLEM
RESOLUTION
O - THE SAME POINTS, ACQ - ACQUISITION, SUB - SUBCONTRACTOR
E - EXECUTE, F - FEEDBACK, M - MANAGE, P - PARTICIPATE, T - TASK; U - USE
E:N - EXECUTE THE PROCESS NUMBERED N
4
TAILORING
PDCA
Claves en el Desarrollo de SI
Notación
Herramientas
Metodología
Notación
“El modelado captura las
partes esenciales del sistema”
Orden
Item
envío
Proceso de Negocios
Sistema Computacional
Notación
Modelado para manejar la
Complejidad
Notación
Modelado de la Arquitectura
del SW
Interface de Usuario
(Visual Basic,
Java, ..)
Lógica del Negocio
(C++, Java, ..)
Servidor de BDs
(C++ & SQL, ..)
“Modelar el sistema independientemente
del lenguaje de implementación”
Notación
Modelado para promover la
Reutilización
Múltiples Sistemas
Componentes
Reutilizados
Metodología
¿Qué es una Metodología?
• En un proyecto de desarrollo de software la
metodología define Quién debe hacer Qué, Cuándo y
Cómo debe hacerlo
Requisitos nuevos
o modificados
Proceso de Desarrollo
de Software
Sistema nuevo
o modificado
• No existe una metodología de software universal. Las
características de cada proyecto (equipo de
desarrollo, recursos, etc.) exigen que el proceso sea
configurable
Metodología
Procesos y Metodologías
• La Ingeniería de Software como disciplina
• Algunos modelos de proceso de desarrollo son:
desarrollo en Cascada, usando Prototipos,
Basado en Componentes, en Espiral
(Incremental, Iterativo), Programación
Automática. Las metodologías se basan en
alguna combinación de estos enfoques
• Las metodologías (tanto comerciales como en el
ámbito académico y de investigación) pueden ser
agrupadas en dos grandes corrientes:
Metodologías Estructuradas y Metodologías
Orientadas a Objetos
Metodología
Metodologías Estructuradas
• Los métodos estructurados comenzaron a desarrollarse a
fines de los 70’s con la Programación Estructurada, luego a
mediados de los 70’s aparecieron técnicas para el Diseño
primero y luego para el Análisis. Enfocados a
implementaciones usando lenguajes de 3ra generación
• Ejemplos de metodologías estructuradas gubernamentales:
MERISE (Francia), MÉTRICA 3 (España), SSADM (Reino
Unido)
• Ejemplos de métodos estructurados en el ámbito académico:
Gane & Sarson, Ward & Mellor, Yourdon & DeMarco e
Information Engineering
Metodología
Metodologías Orientadas a Objetos
(OO)
• Su historia va unida a la evolución de los lenguajes de programación
orientada a objeto, los más representativos: a fines de los 60’s
SIMULA, a fines de los 70’s Smalltalk-80, la primera versión de C++
por Bjarne Stroustrup en 1981 y actualmente Java o C#. A fines de
los 80’s comenzaron a consolidarse algunos métodos Orientadas a
Objeto
• En 1995 aparece el Método Unificado, que posteriormente se
reorienta para dar lugar al Unified Modeling Language (UML), la
notación OO más popular en la actualidad
• Algunos métodos OO con notaciones predecesoras de UML: OOAD
(Booch), OOSE (Jacobson), Coad & Yourdon, Shaler & Mellor y OMT
(Rumbaugh)
• Algunas metodologías orientadas a objetos basadas en UML:
Rational Unified Process (RUP), OPEN, MÉTRICA 3
Metodología
Elementos de un Proceso SW
Actividades
Herramientas
Personas
Proceso
SW
Roles
Artefactos
Notación
Herramientas CASE
• CASE es un acrónimo para Computer-Aided Software
Engineering, aunque existen algunas variaciones para
lo que actualmente se entiende por CASE:
C
A
S
E
Computer
Aided
Assisted
Automated
Software
Systems
Engineering
Herramientas CASE
¿Qué es una CASE?
• En “Terminology for Software Engineering and
Computer-aided Software Engineering”, B.Terry
& D.Logee, Software Engineering Notes, Abril
1990, CASE es definido como:
“Herramientas individuales para ayudar al
desarrollador de software o administrador de
proyecto durante una o más fases del desarrollo
de software (o mantenimiento).”
• En “The CASE Experience”, Carma McClure,
BYTE Abril 1989 p.235 se ofrece la siguiente
definición:
“Una combinación de herramientas de software y
metodo-logías de desarrollo”
Proceso
Producción
Subproceso
Tarea de desarrollo apoyada por una herramienta CASE
Representación  Representación de objetos, relaciones o procesos
 Análisis de objetos relaciones o procesos
Análisis



Transformación 




Control


Coordinación
Cooperación
Soporte
Organización
Infraestructura










Automatización de tareas de planificación o diseño
Generación de código/esquema de base de datos
Generación de código procedural
Generación de datos de prueba
Análisis de la estructura del programa
Reestructuración automática del código del programa
Análisis de la estructura de la base de datos
Ayuda al cumplimiento de reglas, políticas o prioridades que gobiernan
las actividades del proceso de desarrollo
Administración de recursos: presupuesto, programación de tareas y
seguimiento
Control de acceso: auditoría, control de configuración y manejo de
autorizaciones
Mensajes y comunicación electrónica
Asociación electrónica de notas a los objetos
Soporte de interacción de grupo
Ayuda en línea para comandos y características
Plantillas para tutoriales o demos
Facilidades de explicación para acciones recomendadas
Uso de conocimiento del dominio para diagnosticar problemas del
usuario y recomendar acciones apropiadas
Estructuras estandarizadas para representar diseños
Consistencia de definición de estructuras de datos
Repositorio del proyecto
Communications of the ACM, Enero 2000, pp.80-88.