Академический Документы
Профессиональный Документы
Культура Документы
El proceso Software
software.
desarrollo de software.
Existen 4 actividades fundamentales de proceso, comunes para todos los procesos de software:
Especificacin del software Desarrollo del software Validacin del software Evolucin del software
Procesos del ciclo de vida del software 4
Sin embargo, para algunos tipos de aplicacin, algunos procesos son ms convenientes que otros.
Procesos del ciclo de vida del software 5
2.- Estndares en ingeniera del software. Porqu usar estndares en Ingeniera del Software?
2.- Estndares en ingeniera del software. Tipos de estndares en ingeniera del software
Estndares de codificacin:
abreviaturas y designaciones formales para describir actividades dentro de la organizacin
Estndares estructurales:
polticas de divisin del software en mdulos
2.- Estndares en ingeniera del software. Ejemplos de estndares en ingeniera del software
IEEE Standards Collection Software Engineering 1998 Edition IEEE Std. 610.12-1990, Glossary of Software Engineering Terminology IEEE Std. 829-1983, Standard for Software Test Documentation IEEE Std. 830-1993, Recommended Practice for Software Requirements Specifications. IEEE Std. 990-1987, Recommended Practice for Ada as a Program Design Language. IEEE Std. 1045-1992, Standard for Software Productivity Metrics IEEE Std. 1062-1987, Recommended Practice for Software Acquisition IEEE Std. 1063- 1987, Standard for Software User Documentation IEEE Std. 1219-1992, Standard for Software Maintenance etc. etc. etc.
Procesos del ciclo de vida del software 11
3.- Estndares relacionados con el proceso software. Mtodos de Evaluacin. SEIs CMM (Capability Maturity Model)
El enfoque SEI Software Engineering Institute, proporciona una medida de la eficacia global de las prcticas de ingeniera del sw de una compaia y establece para ello, cinco niveles de madurez del proceso. Los cinco niveles definidos por el SEI se obtienen como consecuencia de evaluar las respuesta del cuestionario de evaluacin basado en el CMM (Capability Maturity Model). Los resultados se flitran e un nico grado numrico que proporciona una indicacin de la madurez del proceos en la organizacin.
Procesos del ciclo de vida del software 12
3.- Estndares relacionados con el proceso software. Mtodos de Evaluacin. SEIs CMM (Capability Maturity Model)
El primer paso para consolidar y mejorar un proceso es valorarlo
Nivel 5 4 3 2 1
Inicial
Repetible Definido Gestionado
Optimizado
Tiempo
(Pressman 2002) pp.16-18
Procesos del ciclo de vida del software 13
3.- Estndares relacionados con el proceso software. Mtodos de Evaluacin. SEIs CMM (Capability Maturity Model) 1. Inicial:
el xito depende de esfuerzos heroicos y personales ms que de procesos adecuadamente definidos. se establecen polticas y procedimientos para llevar a cabo un proyecto. Una funcin de calidad asegura que se cumplen dichos procedimientos. Se obtienen niveles de calidad parecidos a proyectos anteriores. se adopta un proceso sw. estndar, y se adapta a cada proyecto.
4. Gestionado:
2. Repetible:
la calidad del producto y del proceso es medida, predecible y cuantificable. Se pueden usar dichas medidas (mtricas del software) para detectar situaciones excepcionales y corregirlas. continuamente mejorado usando las medidas obtenidas de procesos anteriores.
5. Optimizado: el proceso es
3. Definido:
14
vida
16
Software Life Cycle Processes ISO/IEC 12207:1995 (E) Information technology Software life cycle processes (posteriormente
adoptado por IEEE/EIA)
IEEE Institute of Electrical and Electronics Engineers ISO International Organization for Standardization IEC International Electrotechnical Commission
Procesos del ciclo de vida del software 17
3.- Estndares relacionados con el proceso software. Estndar de calidad: ISO 9000
Familia de estndares para la gestin de la calidad de cualquier proceso de produccin. La organizacin debe tener un sistema de calidad que supervise todas las fases de la produccin y entrega del producto:
Audita los proyectos para asegurar que se cumplen los controles de calidad. Mejora la calidad del propio sistema de calidad. Proporciona entradas al grupo de desarrollo (como nuevas notaciones, procedimientos, estndares). Produce informes para la direccin.
Describe el sistema de calidad utilizado para mantener el desarrollo de un producto que implique diseo Aplicable a cualquier proceso de produccin: cojinetes, automviles, TVs, equipamientos deportivos, etc. Se est convirtiendo en el ppal. medio con el que los clientes pueden juzgar la competencia de un desarrollador de software (aceptado en ms de 130 pases). Se han desarrollado varios documentos que relacionan el estndar con la industria del software, pero no entran en muchos detalles. No impone ciclo de vida. Puede adoptarse por contrato o voluntariamente.
19
21
Contiene guas para proporcionar servicios de software, como por ejemplo el soporte de usuario.
22
3.- Estndares relacionados con el proceso software. IEEE 1074-1998. Developing Software Life Cycle Processes
Define: Las actividades que constituyen los procesos necesarios para el desarrollo y el mantenimiento de software, ya sea parte de un sistema mayor o autnomo (stand-alone) Los procesos de gestin y soporte a lo largo de todo el ciclo de vida
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 23
3.- Estndares relacionados con el proceso software. IEEE 1074-1998. Developing Software Life Cycle Processes
Ciclo de vida: una aproximacin lgica a la adquisicin, el suministro, el desarrollo, la explotacin y el mantenimiento del software El estndar requiere la definicin de un
ciclo de vida
3.- Estndares relacionados con el proceso software. IEEE 1074-1998. Developing Software Life Cycle Processes
Cada organizacin debe asociar las actividades definidas en el estndar a su propio ciclo de vida del software. El seguimiento del estndar no implica el uso de ningn mtodo especfico, ni la creacin de determinados documentos
prescribe los procesos del ciclo de vida, no los productos del mismo.
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 25
3.- Estndares relacionados con el proceso software. IEEE 1074-1998. Developing Software Life Cycle Processes
Seccin 2 3 Ttulo Procesos de modelo de ciclo de vida del software Procesos de gestin del proyecto Procesos Modelo del Ciclo de vida del software Inicio del proyecto Monitorizacin y control del proyecto Gestin de la calidad del software Exploracin de conceptos Asignacin del sistema Requisitos Diseo Implementacin Instalacin Operacin y soporte Mantenimiento Fin de uso Verificacin y validacin Gestin de la configuracin del software Desarrollo de la documentacin Entrenamiento
4 5
Procesos post-desarrollo
Procesos integrales
26
3.- Estndares relacionados con el proceso software. IEEE 1074-1998. Developing Software Life Cycle Processes
Antes de empezar un proyecto, revisar las actividades para ver si son aplicables, y establecer un orden. Conformidad con el estndar: realizacin de todas las actividades obligatorias.
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 27
Establece un marco comn para los procesos de ciclo de vida. Emplea trminos bien definidos. Describe el ciclo de vida.
Desde la definicin de requisitos hasta el fin de uso, y contiene procesos para adquirir y suministrar productos y servicios software.
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 28
Procesos estndar - IEEE/EIA (ISO/IEC) 12207. Information technology Software life cycle processe: Ciclo de Vida.
Un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotacin y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definicin de los requisitos hasta la finalizacin de su uso
Proceso: conjunto de actividades. Actividad: conjunto de tareas. Tarea: accin que transforma entradas en salidas.
Procesos del ciclo de vida del software
29
Procesos estndar - IEEE/EIA (ISO/IEC) 12207. Information technology Software life cycle processe: Ciclo de Vida.
Procesos estndar - IEEE/EIA (ISO/IEC) 12207. Information technology Software life cycle processe: Ciclo de Vida.
Tambin proporciona procesos para definir, controlar y mejorar los procesos de ciclo de vida software. El marco descrito por el estndar est diseado para ser adaptado a cada organizacin y proyecto. El proceso de adaptacin consiste en la eliminacin de procesos, actividades y tareas no aplicables (tb. se pueden aadir).
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 31
Procesos estndar - IEEE/EIA (ISO/IEC) 12207. Information technology Software life cycle processe: Procesos del
PROCESOS PRINCIPALES
ADQUISICIN SUMINISTRO EXPLOTACIN DESARROLLO MANTENIMIENTO
PROCESOS DE SOPORTE
DOCUMENTACIN GESTIN DE CONFIGURACIN ASEGURAMIENTO DE CALIDAD VERIFICACIN VALIDACIN
PROCESOS DE LA ORGANIZACIN
GESTIN MEJORA INFRAESTRUCTURA FORMACIN REVISIN CONJUNTA AUDITORA
RESOLUCIN DE PROBLEMAS
PROCESO DE ADAPTACIN
32
Procesos estndar - IEEE/EIA (ISO/IEC) 12207. Information technology Software life cycle processe: Procesos del
Procesos principales: tiles a las personas que inician o realizan el desarrollo, la explotacin o el mantenimiento del software durante su ciclo de vida
compradores, suministradores, personal de desarrollo, operadores y personal de mantenimiento del software
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 33
Procesos estndar - IEEE/EIA (ISO/IEC) 12207. Information technology Software life cycle processe: Procesos del
Procesos de soporte: Sirven de apoyo al resto. Contribuyen al xito y calidad del proyecto software. Se aplican en cualquier momento del ciclo de vida.
34
Procesos estndar - IEEE/EIA (ISO/IEC) 12207. Information technology Software life cycle processe: Procesos del
Procesos estndar - IEEE/EIA (ISO/IEC) 12207. Information technology Software life cycle processe: Procesos del
Proceso de adaptacin: Permite adaptar el estndar a cada proyecto y organizacin. Factores que influencian la forma de adquirir, desarrollar, explotar o mantener un sistema:
Tamao y complejidad del proyecto. Requisitos del sistema. Mtodos de desarrollo. Variaciones en las polticas y procedimientos de la organizacin
Procesos del ciclo de vida del software
36
Identificacin de procedimientos y recursos para gestionar bien el proyecto. Desarrollo de los planes del proyecto. Ejecucin de los planes del proyecto hasta la entrega del producto software al comprador.
Procesos del ciclo de vida del software 38
39
Las actividades y tareas del proceso de desarrollo sern seleccionadas y relacionadas con el modelo de ciclo de vida.
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 40
Procesos principales: Proceso de desarrollo. Implementacin del proceso Si no estn indicados en el contrato el desarrollador deber seleccionar, adaptar y utilizar aquellos estndares, mtodos, herramientas y lenguajes de programacin que son apropiados (y estn documentados) para realizar las actividades del proceso de desarrollo y de los procesos de soporte.
41
Procesos principales:
Procesos principales:
Se identifica la arquitectura de alto nivel del sistema: Se determinan los principales componentes hardware, software y las operaciones manuales Se asignan los requisitos del sistema a dichos componentes
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 43
Procesos principales:
Varios estndares definidos para esta fase: IEEE 830- 1998. Recommended
Practice for Software Requirements Specifications DI-IPSC- 81433. Software Requirements Specification (estndar
del DoD)
(http://diamond.spawar.navy.mil/498/mil-498.html) (ya superado)
45
Procesos principales:
Componentes principales del software Versin preliminar de los manuales de usuario Requisitos de las pruebas Planificacin de la integracin del software
46
Procesos principales: Proceso de desarrollo - Diseo detallado del software Diseo detallado de cada componente sw. Diseo detallado de las interfaces. Diseo detallado de la BD Actualizar manuales de usuario. Def. y documentar los req. de prueba. Actualizar req. de prueba para la integracin del sw. Evaluar todo lo anterior. Reuniones de revisin.
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 47
Procesos principales:
Se desarrollan los componentes software y las bases de datos Se prueban los componentes (prueba de unidad) Se actualizan los manuales de usuario
48
Procesos principales:
Procesos principales:
Procesos principales:
51
Proceso de explotacin
Tambin llamado de operacin. Explotacin del software y del soporte del mismo. La explotacin del software est integrada en la del sistema, por lo que las actividades y tareas de este proceso se aplican al sistema completo.
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 52
Procesos principales:
Proceso de explotacin
El sistema debe ser operado de acuerdo con la documentacin de usuario en su entorno previsto Entre otras actividades, el operador deber:
Desarrollar un plan para llevar a cabo las actividades y tareas de este proceso. Procedimientos para comprobar el producto software en su entorno de operacin, enviando informes de problemas y peticiones de modificacin al proceso de mantenimiento. El operador debe proporcionar asistencia a los usuarios.
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 53
Procesos principales:
Proceso de mantenimiento
El software o la documentacin necesita ser modificado, debido a problemas o a necesidades de mejora o adaptacin, p.e.:
nuevos errores detectados cambios en la legislacin cambios en el entorno necesidad de mejoras migracin a un nuevo entorno operativo se va a terminar con su uso
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 54
Procesos principales:
Proceso de mantenimiento
Modificar el software existente manteniendo su consistencia
Comprende las siguientes actividades:
Implementacin del proceso de mantenimiento. Anlisis del problema y de la modificacin. Implementacin de la modificacin. Revisin y aceptacin del mantenimiento. Migracin.
Procesos principales:
Procesos de soporte
Sirven de apoyo al resto de procesos. Se aplican en cualquier momento del ciclo de vida:
Documentacin Gestin de la configuracin Aseguramiento de la calidad Verificacin Validacin Revisin conjunta Auditora Resolucin de problemas
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 56
gestin de la configuracin
haciendo uso de un depurador sobre el ejecutable y con un listado. No encuentra el error, pero ms tarde se da cuenta de que le haban dado un listado anticuado. Con el listado correcto, soluciona el problema rpidamente"
Procesos de soporte:
gestin de la configuracin
Se encarga de gestionar: las modificaciones de los elementos de configuracin del software de un sistema
la modificacin X al programa Y fue hecha por la persona Z
gestin de la configuracin
Se encarga de:
registrar e informar sobre el estado de los elementos y las peticiones de modificacin asegurar la completitud, consistencia y correccin de los elementos controlar el almacenamiento, la manipulacin y la entrega de los elementos
61
de la calidad
Aporta confianza en que los procesos y los productos software del ciclo de vida cumplen con los requisitos especificados y se ajustan a los planes establecidos. Aseguramiento de la calidad:
interno externo
verificacin
Indica
si los requisitos de un sistema o del software estn bien recogidos en cada modelo
verificacin horizontal
si los productos software de cada fase del ciclo de vida cumplen los requisitos impuestos sobre ellos en las fases previas
verificacin vertical
Estamos construyendo correctamente el producto?
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 63
validacin
Indica si el sistema o software final cumple con las necesidades del usuario. Tambin se puede validar una especificacin. Puede ser realizado por una organizacin de servicios independiente (proceso de validacin independiente).
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 64
revisin conjunta
Evaluar el estado del software y sus productos en una actividad del ciclo de vida o fase del proyecto.
Se realiza durante todo el ciclo de vida: a nivel de gestin a nivel tcnico del proyecto
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 65
auditora
El conjunto de tcnicas, mtodos y procedimientos empleados para la evaluacin de sistemas informticos Control de la adecuacin de los sistemas a los requisitos establecidos para ellos (correccin, completitud, eficiencia, etc.) Produce un documento de recomendaciones
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 66
auditora
El objetivo de una auditora es realizar una evaluacin exhaustiva y producir un documento de recomendaciones para enmendar o mejorar los aspectos dbiles que se detecten Tipos de auditora informtica:
De De De De De ... explotacin sistemas comunicaciones desarrollo de proyectos seguridad
Procesos del ciclo de vida del software 67
auditora
resolucin de problemas
Analizar y eliminar los problemas (diferencias con el contrato o los requisitos) descubiertos durante el desarrollo, el mantenimiento, u otro proceso. Se trata de disponer de una manera de garantizar que todos los problemas descubiertos se analizan y eliminan.
Profesor: Juan Antonio Lpez Quesada Procesos del ciclo de vida del software 69
Procesos generales
Ayudan a establecer, implementar y mejorar la gestin consiguiendo una organizacin ms efectiva. Se llevan a cabo a nivel organizativo, fuera del mbito de proyectos y contratos especficos.
Proceso Proceso Proceso Proceso de de de de gestin infraestructura mejora formacin
Procesos del ciclo de vida del software 70
71
73
Proceso de formacin
Sirve para mantener el personal formado, desarrollando un plan de formacin, junto con materiales adecuados.
74