Bases Conceptuales Sistema Inf. II Etapas en el proceso de desarrollo Metodologías para el proceso...

60
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

Transcript of Bases Conceptuales Sistema Inf. II Etapas en el proceso de desarrollo Metodologías para el proceso...

Page 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,

Bases ConceptualesSistema Inf. II

•Etapas en el proceso de desarrollo•Metodologías para el proceso de desarrollo•Herramientas para el análisis , diseño, desarrollo

Page 2: 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,

MotivaciónConstrucción de una casa para

“fido”

Puede hacerlo una sola personaRequiere:

Modelado mínimoProceso simpleHerramientas simples

Page 3: 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,

MotivaciónConstrucción de un Chalet

Construido eficientemente y en un tiempo razonable por un equipoRequiere:

ModeladoProceso bien definidoHerramientas más sofisticadas

Page 4: 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,

MotivaciónConstrucción de un Rascacielos

Page 5: 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,

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.

Page 6: 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,

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)

Page 7: 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,
Page 8: 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,

ISO 12207Propó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 -)

Page 9: 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,

ISO 12207 – árbol de procesos

LIFE CYCLE

TAILORING

CONFIGURATION MANAGEMENT

DOCUMENTATION

QUALITY ASSURANCE

VERIFICATIONVALIDATION

JOINT REVIEWAUDIT

PROBLEM RESOLUTION

PRIMARY

DEVELOPMENT

OPERATION

MAINTENANCE

ACQUISITION

SUPPLY

ORGANIZATIONALMANAGEMENT

INFRASTRUCTURE

IMPROVEMENT

TRAINING

SUPPORTING

Principales funciones y

partes

Soportan otras funciones, con un propósito

Gestión de la organización y mejora

Para formalizar el ajuste del estándar

Page 10: 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,

Estructura de un proceso

Proceso compuesto por actividades Una actividad compuesta por tareas

TASKINPUTS OUTPUTS

ACTIVITY 1

TASK 1TASK 1 TASK X• • •

PROCESS

ACTIVITY n• • •

Naturaleza de una tarea:Una acción con entradas y salidasIndica qué hacer, no cómo

Page 11: 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,

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

Page 12: 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,

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

Page 13: 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,

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

Page 14: 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,

Evaluación es una función elemental

EVALUATION

PURPOSE FORUM/MOTIVECheck, Review,Audit, Verify,Validate, Assure,Inspect, Monitor,Control, Improve, ...

Diverse, Different,Formal, Informal,Peer, Independent,Defensive, Critique

CRITERIAAt various levels:Requirements,Derived reqmts.,Ad hoc conditions,

ENTITY

Process,Activity, Task,Inputs, Outputs,Data, Product,Plan, Contract,Report, ...

RESULTS;REPORTS

PROCESS 2INTERNAL

EVALUATION

PROCESS 1INTERNAL

EVALUATION

BETWEENPROCESSES

1 & 2 E VAL U ATE J O INTLY

1 EVALUAT ES 2

Page 15: 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,

Procesos Primarios

Mantenimiento

Desarrollo

Operación

SuministroAdquisición

T

00E/T

PLAN, DO, CHECK & ACT

T

U

O: THE SAME POINTS; E: EXECUTE; T: TASK; U: USE

Page 16: 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,

Proceso de Adquisición

Revisión Conjunta Verif. Valid.Audit.

Inicio

Controlar al Proveedor

Aceptación y Cierre

Preparar Llamado

Preparar y ajustar contrato

Control Interno

Desarrollo

Cubre períodos previos al contrato y de contrato

CONTRATO

CONTRATO

PRE-

Para quien adquiere productos y servicios de software

Ajuste

Procesos invocadosUso interno

Reqs. SistemaPlan AdquisiciónCriterios Aceptación

Reqs. Adquisición incl. –ajustes a12207- referencias a contrato

Contrato con:- proveedor- otros

Control y evaluación de resultados

Productos y servicios aceptados

Actividades Salidas

Page 17: 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,

Proceso de Adquisiciónactividades y tareas

• Documentar Reqs. Adquisic.• Determinar procesos• Definir referencias al contrato• Establecer hitos de revisión

• Preparar para aceptación, incl. pruebas• Cumplir revisiones/pruebas de aceptación• Aceptar entregables

• Asumer Gestión de Configuración

• Describir necesidades• Definir Reqs. Sistema• Definir Reqs. Sw. (Posiblemente)• Preparar plan de adquisición• Definir estrategia de aceptación

• Establecer procedimientos de selección de proveedor

• Seleccionar proveedor• Ajustar e involucrar a las partes

• Negociar contrato[ durante el contrato]

• Controlar de acuerdo con Revisión Conjunta y Auditoriía• Suplementar con V&V

1. Inicio

2. Llamado (RFP)

3. Preparación y actualización del contrato

4. Controlar al Proveedor

5. Aceptación y cierre

Page 18: 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,

Proceso de Suministro

Elegir uno o más

MNT.OPN.DEV. ACQ.

JT. REV. V&V QAAUDIT

MONITOR,CONTROL

Inicio

Preparar Respuesta

Contratar

Planificación

Ejecución y Control

Revisión y Evaluación

Entrega y Cierre

Decisión de ofrecer

Propuesta

Contrato

Plan(es) gestión del proyecto

Resultados de evaluaciones

Productos/ servs. entregados

Cubre períodos previos al contrato y de contrato

Control de Resultados

A 12207 COMPANY

QUALITY SUPPLY CO.

Para el proveedor de productos/servicios

CONTRATO

PRECON

-

Uso interno Procesos invocadosActividades Salidas

Page 19: 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,

Proceso de Suministro actividades y tareas1. Inicio

• Revisar RFP• Decidir ofertar o aceptar contrato

• 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

• Entregar el producto o servicio• Proporcionar Asistencia

• Preparar propuesta

• Negociar contrato con adquirente• Solicitar modificaciones

• Cumplir PGPs• Desarrollar, Operar o mantener• Controlar progreso/Calidad• Gestioanr Subcontratos• Conexión con IVVT• Conexión con otras partes

2. Preparar respuesta

3. Contratar

4. Planificación

5. Ejecución y Control

6. Revisión y Evaluación

7. Entrega y Cierre

Page 20: 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,

Proceso de Desarrollo

Test Cualif. Sistema Evaluaciones AUDITS

Integración Sistema Evaluaciones SW Integrado (SIS)

Test Cualific. SW Evaluaciones AUDITS Diseño y Código

Integración SW Evaluaciones JT. REVIEWS SW Integrado (SCI)

Codif./Test SW EvaluacionesCódigo SW

Base de Datos

Diseño Det. SW Evaluaciones JT. REVIEWS Diseño Det. SW

Diseño Arq. SW Evaluaciones JT. REVIEWS Arq. SW

Análisis reqs. SW JT. REVIEWSEvaluaciones Reqs. SW

Diseño Arq. Sistema Evaluaciones Arq. Sistema- HW, SW, MO

Análisis Reqs. Sistema Evaluaciones Reqs. Sistema

Aceptación SW y Soporte SW pronto para entrega

Instalación SW Evaluaciones SW instaladoPlan Instalación

Implementación del Proceso Documentación C.M. Resolución Problemas

Modelos y planes desarrollo

Para quien desarrolla (o modifica) productos de software - Puede llevar a cabo algunas actividades de Ingeniería del Sistema

Salidas

- Actividades no necesariamente en orden

Actividades

ISO/IEC 9126

Diseño y Código

Uso interno Procesos invocados

Page 21: 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,

Proceso de Desarrollo

1. Implementación del Proceso

4-9, 12,13 Actividades SW

2,3,10,11 Actividades del Sistema

• Realizar

• Realizar o soportar

• Elegir/Ajustar Métodos/herramientas/…Internos

• Desarrollar, Documentar, Ejecutar planes

5. Diseñar Arquitectura del SW

8. Integración SW10. Integración Sistema

• Identificar componentes del SW

• Producir una Arquitectura del SW

3. Diseñar Arquitectura del Sistema

• Producir una arquitectura del sistema

• Identificar HW, SW e items de operaciónmanual

• Agregados integrados• Caminos de división e integración pueden ser distintos

• 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

• Emplea de forma regular los procesos DOC, CM, y RES. PROB

• Puede usar No-entregables - evitar dependencia de operación y mantenimiento futuros

actividades y tareas

Page 22: 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,

Proceso de Desarrollo

Organización del Sistema

SC

SUSU

SUSU

HW SW

HI SI MOX X

Sistema

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

SC

Page 23: 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 de SoftwareSU FUNCIONAMIENTO

ANALISIS REQS.SW>

<

TEST CUALIF. SW>

<

TEST CUALIF. SISTEMA<

>

...

ACEPT. Y SIPORTE SW>

<

ANALISIS REQS. SISTEMA>

<

DISEÑO ARQ. SISTEMA>

<

...

...

MODELO(S) DE CICLO DE VIDA; METODOS, HERRAMIENTAS, ...;PLAN(ES) DE DESARROLLO

PLAN(ES) GESTION PROYECTO

REQS. Y ESPECIFICACIÓN DEL SISTEMA

REQS. Y ESPECIFICACIONES DEL SW [LINEAS BASE]

ARQUITECTURA SISTEMA [HW, SW, MO]

PRODUCTOS Y SERVICIOS PRONTOS PARA ENTREGAR

O

ENTRADA

SALIDA

DISEÑO Y CODIGO SW [LINEAS BASE]MANUALES USUARIO, ...

><

PROCESO SUMINISTRO

>

<

DESARROLLOIMPLEMENTACIÓN PROCESO

<

>

RECURSION

ITERACION

• 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

• PERMITIDAS ITERACIONES/RECURSIONES: - PARA CONSTRUIR MODELOS ESPECÍFICOS - GEBERAR MODELOS PREDEFINIDOS

• PROYECTO ESTABLECE LINEAS BASE - DE QUE Y CUANDO

• LINEAS BASE EN REVISIONES/AUDITORIAS PREDETERMINADAS - FORO PARA INVOLUCRAR PARTES CLAVE

• ENTREGABLES INCLUYEN AL MENSOS 3PRODUCTOS EN LINEA BASE: - REQUERIMIENTOS, DISEÑO, CODIGO

• LINEAS BASE INHIBEN CAMBIOSNO PLANEADOS O FACILES

Page 24: 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,

Proceso de operación

SW operacional

liberado

Testing y

Aseguramiento

interno

QUALITY LINES

Mantenimiento

[funciones

realizadas]

- OPERATION PLAN

- OPERATION

PROCEDURES

Para quien opera un sistema que contiene software

Implementación

del proceso

Operación

Sistema

- Solicitudes de usuarioSoporte a

Usuarios

Prueba

Operacional

-Resolución de

problemas

Resolución de

Problemas

SalidasActividades Uso interno Procesos invocados

Page 25: 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,

Proceso de OperaciónActividades y tareas

• Asistir a usuarios• Encaminar solicitudes de usuarios de mantenimiento de forma apropiada• Para arreglos temporales, dar opción autilizarlos

• Opera en ambiente

• Realizar testing operacional para cadaliberación• Liberar luego que los criterios se cumplen• Asegurar que código/Base de datosFuncionan de acuerdo a lo planeado

• 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 paraConectarse con proceso de mantenimiento• Establecer procedimientos para liberarProductos para uso operacional

1. Implementación del Proceso 2. Testing Operacional

3. Operación del Sistema

4. Soporte a usuarios

Page 26: 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,

Proceso de Mantenimiento

Resolución

ProblemasCMImplementación

del proceso

Análisis

Prob./Modif.

Implement.

modificación

Aceptación revisión

mantenimiento

Migración

Retiro del SW

-Planes/Procs.

- Mantenimiento

- PROB./MOD.ANAL/SOLN.

SW modificado

Resultados

Revisión

Plan retrio

Archivos

Revisiones

Internas

Desarrollo

Revisiones

Internas

-Planes/Reportes migr.

-Sistema migrado

HDQUALITYFIXING

Para quien mantiene productos de software

SalidasActividades Uso interno Procesos invocados

Page 27: 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,

Proceso de Mantenimiento Actividades y tareas

• Develop, document and execute plan• Establish procedures for problem reports and modifications requests• Manage modifications

• Analyze modifications for impacts• Replicate/vefify problems• Implement modifications• Document and get approval

• Determinar elementos a modificar• Usar proceso desarrollo para las modificaciones• Suplementar con testingpara asegurar que las partesModificadas y no modificadas están bien resueltas

• Revisar conorganización que autoriza

• Desarrollar/documentar/ ejecutar plan• Notificar usuarios, etc.• Realizar operaciones enparalelo• Realizar operacionesa posteriori por impacta

• Desarrollar/documentar/ ejecutar plan• Notificar usuarios, etc.• Realizar operaciones enparalelo• Proveer acceso a datos/productos retirados

1. Implementacióndel Proceso

2. Análisis del Problema/Modificación

3. Implementación Modificación

4. Aceptación de revi-sión Mantenimiento

5. Migración

6. Retiro del SW

Page 28: 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,

Procesos de Soporte

QUALITYASSURANCE

RESOLUCIONPROBLEMAS

AUDIT.

JOINTREVIEW

VALIDACION

VERIFICACION

CONFIGURATIONMANAGEMENT

DOCUMENTACION

ADQUISICION

SUMINISTRO

DESARROLLO

OPERACION

MANTENIMIENTO

EMPLEA/ iNVOCA

Para soportar otro procesos en llevar a cabo una función específica

Page 29: 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,

Proceso de Documentación

Mantenimiento Documentos

ModificadosCONFIGURATION

MANAGEMENT

Implementación

del proceso

Plan de

Documentación

ProducciónDocumentos

producidos

Diseño y

Desarrollo

Documentos

“preparados"

SalidasActividades Uso interno Procesos invocados

Para establecer estándares de documentación - MEDIOS, FORMATO, ESTRUCTURA, CONTENIDO, ARCHVO, DISTRIBUCION, ... - EJEMPLOS: MANUALES DE USUARIO DE SU ORG.; IEEE SRS, ...

Page 30: 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,

Proceso de Gestión de la Configuración

Control de acceso

y Auditoría internos

Control

Configuración

Determinar estado

de Configuración

Resultados de CC

Reportes de

Evaluación

CONFIGURATION

PLAN

Evaluación de la

Configuración

Evaluación

Interna

Implementación

del proceso

Gestión y entrega de

la liberación(RELEASE)

Identificación de

Configuración

Reportes de estado CC

MANAGEMENT

-Esquem,a de

Identificación

- def. Líneas base

Productos

Entregables

OUTPUTSACTIVITIES

• Para GC de Productos y tareas

• INTERNA O EXTERNA• IDENTIFICAR PRODUCTOS CONTROLADOS

SalidasActividades Uso interno Procesos invocados

Page 31: 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,

Proceso de Aseguramiento de la Calidad

Implementación

del proceso

Plan de

Aseguramiento

de la calidad

V&V, JT. REVIEW,AUDIT. comoTécnicas

Resolución

de Problemas

De acuerdo a lo

especificado en

el contratoISO 9001

Aseguramiento

del Producto

Productos

Asegurados

OUTPUTSACTIVITIES

• 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”

SalidasActividades Uso interno Procesos invocados

Aseguramiento

del Proceso

Aseguramiento

del Sistema de

Calidad

Procesos

Asegurados

Page 32: 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,

Proceso de Aseguramiento de la

Calidad Actividades y tareas1. Implementación del Proceso

2. Aseguramiento del Producto

• Establecer proceso de QA para elproyecto

• Desarrollar/Documentar/ Ejecutar Plan de QA

Asegurar que:

• Planes están/son Documentados//Conformes/Ejecutados

• Productos/Documentación Conformes

• Productos se pueden entregar y ser Aceptados por adquirente

3. Aseguramiento del Proceso

Asegurar que::

• 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 entrenadoy de entrenamiento

4. Aseguramiento del Sistema de Calidad

• Gestión de calidad adicional por ISO 9001

• Coordinar con procesos de Verificación, Validación,Revisión Conjunta y Auditoría

Page 33: 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,

Proceso de Verificación

Plan de

Verificación

-Contrato- Proceso- Requerimientos- Diseño

- Código- Integraci{on- Documentación

Verificación

Productos y

Servicios

Verificados

Cada uno con sus

propios criterios

OUTPUTSACTIVITIES

• 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”

SalidasActividades Uso interno Procesos invocados

Implementación

del proceso

Resolución

de Problemas

Page 34: 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,

Proceso de Verificación

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étodosrigurosos

• Determinar si y cuánto se precisa - Usar factores de criticidad• Determinar el grado de independencia

1. Implementación del Proceso 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 formaCorrecta [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 completamenteY correctamente• Llevado a cabo de acuerdo a planes

8. Verificación de Documentación

• Adecuada/Completa/Consistente• Oportuna• Sigue CM

Actividades y tareas

Page 35: 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,

Proceso de Validación

Implementación

del ProcesoPlan de

Validación

Validación

OUTPUTSACTIVITIES

4/5 Tareas: Testing1 Tarea: Uso previsto

Productos y

Servicios

Validados

• 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

SalidasActividades Uso interno Procesos invocados

Resolución

de Problemas

Page 36: 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,

Proceso de Revisión Conjunta

- Tanto técnicas como de gestión

Para revisiones conjuntas entre revisor y revisado

Revisión del estado del proyecto, productos, tareas respecto a que

estén completos y conformes

Estado del Proyecto

Y decisiones

- Típicamente por proveedor con adquirente

OUTPUTSACTIVITIES

Agenda, Alcance,

Foro, etc.,

SalidasActividades Uso interno Procesos invocados

Implementación

del Proceso

Resolución

de Problemas

Revisiones de

Gestión de Proy,

Revisiones

Técnicas

Resultados

Revisión

Page 37: 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,

Proceso de Auditoría

Resultados

AuditoríaAuditoría

OUTPUTSACTIVITIES

Para auditoríoas entre auditor y auditado- Típicamente por adquirente con proveedor

Para evaluar cumplimiento de requerimientos/¨Planes/Contrato

SalidasActividades Uso interno Procesos invocados

Implementación

del ProcesoResolución

de Problemas

Agenda, Alcance,

Foro, etc.,

Page 38: 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,

Proceso de Resolución de ProblemasPara analizar y resolver problemas, tomando acciones correctivas

y detectando tendencias

Nota: No todo problema precisa una acción correctiva

Un proceso cíclico:- Problemas reportados/ingresados- Acción tomada- Causas identificadas/eliminadas- Resolución/Disposición lograda/registrada- Tendencia detectada

Problemas

Resueltos

OUTPUTSACTIVITIESSalidasActividades Uso interno Procesos invocados

Implementación

del Proceso

Resolución

de Problemas

Page 39: 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,

Procesos Organizacionales

PROCESO

PRIMARIO

PROCESO DE

GESTION

PROCESO DE

INFRAESTRUCTURA

PROCESO DEMEJORA

PROCESO DE

ENTRENAMIENTO

1

2

3

4

PROCESO DE

SOPORTE

• Para que una organización gestione y mejore su proceso a nivelcorporativo

1: Gestionar siguiendo el proceso de gestión

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 soporteporque se gestionan de forma diferente

Page 40: 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,

Proceso de Gestión

Inicio y definición

de alcance

Planificación

Ejecución

y control

Revisión y

Evaluación

Cierre

Plan de Gestión

[Requerimiento

del Proceso]

[Reportes]

[Reportes]

[Productos]

Para la gestión general del proceso a lo largo del ciclo de vida

- Se instancia en otros procesos

OUTPUTSACTIVITIES

[Servicios]

SalidasActividades Uso interno Procesos invocados

Page 41: 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,

Proceso de Infraestructura

Configuración de la

Infraestructura

Infraestructura

[Registros]

-Infraestructura: procedimientos, estándares, herramientas,

equipos, espacio

Para establecer y mantener la infraestructura a lo largo del ciclo de viuda

OUTPUTSACTIVITIES SalidasActividades Uso interno Procesos invocados

Implementación

del Proceso

Establecer la

infraestructura

Mantener la

infraestructura

Page 42: 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,

Proceso de Mejora

[Proceso(s)

establecido(s)]

Establecer

el proceso

Procedimientos

y Planes de

Evaluación

[Evaluación, Historia,

Registros de Costo

de la Calidad]

Para establecer, evaluar, medir, controlar y mejorar un proceso a lo

largo del ciclo de vida

OUTPUTSACTIVITIESSalidasActividades Uso interno Procesos invocados

Evaluar

el proceso

Mejorar

el proceso

Page 43: 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,

Proceso de Entrenamiento

Registros de

Entrenamiento

[Personal entrenado]

Para entrenar al personal y mantenerlo entrenado

OUTPUTSACTIVITIESSalidasActividades Uso interno Procesos invocados

Implementación

del Proceso

Desarrollo del

material de

entrenamiento

Implementación

del Plan de

entrenamiento

Plan de

Entrenamiento

Manuales de

Entrenamiento

Page 44: 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,

Proceso de AjusteUn proceso especial

3-33

• Este proceso no admite ajuste

- Agregados en contrato• Para el ajuste del estándar a un proyecto

OUTPUTSACTIVITIES SalidasActividades Uso interno Procesos invocados

Identificar

ambiente del

proyecto

Solicitar

información

Características

del proyecto

Entradas de las

organizaciones

Seleccionar

procesos, actividades

y tareas

Procesos, activi-

dades y tareas

seleccionadas

Documentar las

razones y decisiones

de ajustes

Razones y decisiones

de ajustes

Page 45: 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,

Procesos basados en evaluación

PROCESS n

SELF IMPROVEMENT

CONFORMANCE EVALUATIONS

SUPPLEMENTARY EVALUATIO

NS

INTERNAL EVALUATIO

NS

VERIFICATION & VALIDATION

QUALITY ASSURANCE

IMPROVEMENT

PROCESS 1

AUDIT

JOINT REVIEW

INTER-PARTYEVALUATIONS

• 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

Múltiples tareas basadas en evaluación

Page 46: 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,

Funciones Críticas• DEFINE SAFETY/SECURITY/CRITICALITY REQUIREMENTSAdquisición • Incluir estándares/procedimientos relacionadas con diseño/ testing/ conformidad

• Analizar impacto de modificaciones sobre funciones deseguridad (safety/security) /críticas

Mantenimiento

• Producir/ almacernar documentos de acuerdo a políticas de seguridadDocumentación

• 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

Verificación

SuministroAbordar en planes de proyecto (se sugieren planes separados) gestión de: - SAFETY/SECURITY/ Requerimientos críticos

- Polítca/ Regulación/ Certificación relacionados

DesarrolloAbordar planificación, análisis, diseño y cualificación de requerimientos relacionadoscon seguridad (safety,security) y críticos, incluyendo ergonomía

Proceso Tareas

Nota: 12207 puede ser suplementado o adaptado para sistemas críticos para la seguridad (sec./safe)

Gest. Configuración• Controlar/auditar acceso al software que procesa funciones de seguridad (safety/security) / críticas

Page 47: 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,

Procesos e interacciones

FM

INFRASTRUCTURE TRAINING IMPROVEMENTMANAGEMENT

ORGANIZATION

MAINTENANCE

DEVELOPMENT

OPERATION

E: 2,3

E: 1,2,3

E: 3

QAE: 3

SUPPLYU: 4T

ACQUISITIONU: 4 E

FFFF

V&VE: 3

PROJECT

E

AUDIT

P

E

(T)EE: 3

E: 3

JOINTREVIEW

E: 3

(I)V&V

E: ACQT: SUB

O O

T

U

U

PDCA

CM2

PROBLEMRESOLUTION

3

DOCUMENTATION

1

TAILORING

4E

E

E

E

P

T

E - EXECUTE, F - FEEDBACK, M - MANAGE, P - PARTICIPATE, T - TASK; U - USEO - THE SAME POINTS, ACQ - ACQUISITION, SUB - SUBCONTRACTOR

E:N - EXECUTE THE PROCESS NUMBERED N

Page 48: 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,

Claves en el Desarrollo de SI

Herramientas Metodología

Notación

Page 49: 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,

Sistema Computacional

Proceso de Negocios

Orden

Item

envío

“El modelado captura laspartes esenciales del sistema”

Notación

Page 50: 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,

Notación Modelado para manejar la

Complejidad

Page 51: 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,

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 de la Arquitectura

del SW

Page 52: 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,

Múltiples Sistemas

Notación Modelado para promover la

Reutilización

Componentes Reutilizados

Page 53: 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,

Requisitos nuevoso modificados

Sistema nuevoo modificado

Proceso de Desarrollo de Software

• En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué, Cuándo y Cómo debe hacerlo

• 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 ¿Qué es una Metodología?

Page 54: 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,

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

Page 55: 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,

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

Page 56: 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,

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

Page 57: 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,

Metodología Elementos de un Proceso SW

ProcesoSW

Notación

HerramientasPersonas

ArtefactosRoles

Actividades

Page 58: 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,

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 Computer

A Aided

Assisted

Automated

S Software

Systems

E Engineering

Page 59: 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,

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”

Page 60: 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,

Proceso Subproceso Tarea de desarrollo apoyada por una herramienta CASE Representación Representación de objetos, relaciones o procesos

Análisis Análisis de objetos relaciones o procesos

Producción Transformación

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

Control

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

Coordinación

Cooperación Mensajes y comunicación electrónica Asociación electrónica de notas a los objetos Soporte de interacción de grupo

Soporte

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 Organización

Infraestructura 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.