Your SlideShare is downloading. ×
2. El proceso del software
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

2. El proceso del software

684
views

Published on

Una serie de pasos predecibles que ayude a crear un resultado de alta calidad y a tiempo. …

Una serie de pasos predecibles que ayude a crear un resultado de alta calidad y a tiempo.
Es un conjunto estructurado de actividades para: Especificar, diseñar, implementar y probar software.

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
684
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Sesión II: Visión General El proceso del software Ing. Luis Alfredo Fernández Vizcarra lfernandez@speedy.com.pe lfernandez@coesi.com.pe
  • 2. Vistazo rápido: Software ¿Qué es? • Una serie de pasos predecibles que ayude a crear un resultado de alta calidad y a tiempo. • Es un conjunto estructurado de actividades para: Especificar, diseñar, implementar y probar software. ¿Quién lo hace? • Los ingenieros de software y sus jefes adaptan el proceso a sus necesidades y después lo siguen. • La gente que ha solicitado el software deben definir, construir y probar el proceso. ¿Por qué es importante? • Ofrece estabilidad, control y organización a una actividad que puede volverse caótica si no se controla. • Un enfoque de ingeniería del software moderno debe ser “ágil”. ¿Cuáles son los pasos? • El proceso que se adopte depende del software que se está construyendo. ¿Cuál es el producto obtenido? • Programas, documentos y datos que se producen como consecuencia de las actividades y tareas definidas por el proceso. ¿Cómo puedo estar seguro de que lo he hecho correctamente? • La calidad, el tiempo requerido, la viabilidad a largo plazo del producto que se construye son los mejores indicadores de la eficacia del proceso que se utiliza.
  • 3. Un enfoque de calidad Proceso La Ingeniería de Software es el establecimiento y uso de principios robustos de la ingeniería a fin de obtener económicamente software que sea fiable y que funcione eficientemente sobre máquinas reales. (Fritz Bauer) Ingeniería del Software: Una Tecnología Estratificada Métodos Herramientas La ingeniería del software es una tecnología estratificada Es la base que soporta la ingeniería del software Proporcionan el soporte automatizado o semi automatizado para el proceso y los métodos. Proporcionan los “cómo” técnicos para construir software (comunicación, análisis de requisitos, modelado del diseño, la construcción del programa, la realización de pruebas y el soporte) Es el elemento que mantiene juntos los estratos de la tecnología y que permite el desarrollo racional y a tiempo del software de computadora.
  • 4. Marco de Trabajo para el Proceso MARCO DE TRABAJO DEL PROCESO Actividades sombrilla Actividad del marco de trabajo # 1 acción de la ingeniería de software #1.1 Conjunto de tareas Tareas del trabajo - productos del trabajo - puntos de aseguramiento de la calidad - fundamentos del proyecto acción de la ingeniería de software # 1.k Conjunto de tareas Tareas del trabajo - productos del trabajo - puntos de aseguramiento de la calidad - fundamentos del proyecto Actividad del marco de trabajo # n acción de la ingeniería de software #n.1 Conjunto de tareas Tareas del trabajo - productos del trabajo - puntos de aseguramiento de la calidad - fundamentos del proyecto acción de la ingeniería de software # n.m Conjunto de tareas Tareas del trabajo - productos del trabajo - puntos de aseguramiento de la calidad - fundamentos del proyecto
  • 5. Actividades del marco del trabajo COMUNICACIÓN Colaboración y comunicación con los clientes. Investigación de requisitos y otras actividades relacionadas. PLANEACIÓN Tareas técnicas, riesgos probables, los recursos que serán requeridos, los productos y un programa de trabajo. MODELADO Determinar un modelo o esquema compartido entre desarrollador y cliente, para tener una orientación de lo que se va a crear. CONSTRUCCIÓN Generación de código + pruebas del software DESPLIEGUE Es la entrega al cliente para su prueba con el fin de obtener información que permita mejorar el producto.
  • 6. Actividades Sombrillas Ocurren a lo largo del proceso de software y se enfocan de modo principal en la gestión, el rastreo y el control del proyecto. Gestión del riesgo Seguimiento y control del proyecto de software Aseguramiento de la calidad del software Revisiones técnicas formales Medición Gestión de la configuración del software Gestión de la reutilización Preparación y producción del producto de trabajo
  • 7. Integración del modelo de capacidad de madurez (IMCM) Modelo para la mejora o evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software. Creado por el SEI en el 2000 y publicado en el 2002 con el objetivo de realizar mejoras respecto al CMM. La IMCM representa un modelo completo de proceso en dos formas diferentes:  Como modelo continuo: 05 niveles de capacidad NIVEL 0 Incompleto NIVEL 1 Realizado NIVEL 2 Administrado NIVEL 3 Definido NIVEL 4 Administrado en forma cuantitativa NIVEL 5 Mejorado El área del proceso aún no se realiza o no alcanza todas las metas y objetivos. Las metas específicas han sido satisfechas. Todas las tareas de trabajo y productos están monitoreados, controlados y revisados; y son evaluados de acuerdo a la descripción del proceso. Criterios del nivel 2 cumplidos. El proceso está adaptado al conjunto de procesos estándar de la organización. Criterios del nivel 3 cumplidos. El área del proceso se controla y mejora mediante mediciones y evaluación cuantitativa. Criterios del nivel 4 satisfechos. El área del proceso se adapta y mejora mediante el uso de medios cuantitativos para conocer las necesidades cambiantes del cliente.
  • 8. Integración del modelo de capacidad de madurez (IMCM) Como modelo discreto: 05 niveles de madurez Ejecutado Gestionado Definido Gestionado de manera cuantitativa Optimizado 5 4 3 2 1 Gestión básica del proyecto Estandarización del proceso Ejecución del proceso organizacional Mejora continua del proceso
  • 9. Patrones del Proceso TIPODEPATRONES Patrones de Tarea: Definen una acción de la ingeniería de software o una tarea de trabajo importante. Patrones de Escenario: Definen una actividad del marco de trabajo para el proceso. Patrones de fase: Definen la secuencia de actividades del marco de trabajo que ocurre junto con el proceso. Un patrón de proceso ofrece una plantilla: un método consistente para describir una característica importante del proceso de software. Se definen en cualquier grado de abstracción (un proceso completo o una actividad del marco de trabajo importante o una tarea dentro de una actividad del marco de trabajo).
  • 10. Plantilla para describir un patrón de proceso Usos conocidos/Ejemplos: Se indican los ejemplos específicos en los cuales el patrón es aplicable. Patrones relacionados: lista de todos los patrones de proceso directamente relacionados con éste. Contexto resultante: Se describen las condiciones que habrá una vez que el patrón haya sido implementado con éxito. Definen una acción de la ingeniería de software o una tarea de trabajo importante. Solución: Se describe la implementación del patrón Contexto inicial: Se describen las condiciones en las cuales se aplica el patrón. Tipo: De tarea, de escenario o de fase Propósito: Objetivo del patrón Nombre del patrón: Describe su función dentro del software
  • 11. Plantilla para describir un patrón de proceso EJEMPLO:  Nombre del patrón  Propósito  Tipo  Contexto inicial  Problema  Solución  Contexto resultante  Patrones relacionados  Usos conocidos/ejemplos
  • 12. En la evaluación se pretende comprender el estado actual del proceso de software y se intenta mejorarlo. Evaluación del Proceso Proceso del software Mejoramiento del proceso de software Evaluación del proceso de software Determinación de la capacidad Identifica modificaciones a Es examinado por Identifica capacidades y riesgos de Conduce a Conduce a Motiva
  • 13. Enfoques para la evaluación del proceso de software Método de evaluación de la IMCM para el mejoramiento del proceso (MEIEMP): iniciación, diagnóstico, establecimiento, acción y aprendizaje. Apreciación basada en el CMM para el mejoramiento del proceso interno (ABC MPI). SPICE (ISO/IEC 15504) ISO 9001:2000 para software: Serie de normas internacionales establecidas para sistemas de calidad, las mismas pueden aplicarse prácticamente en cualquier compañía, y cuyo objetivo final es satisfacer al consumidor. CICLOS: Planear – hacer – revisar - actuar
  • 14. Modelos de Proceso Personales y en Equipo 1.PROCESO DE SOFTWARE PERSONAL (PSP): Destaca la necesidad de registrar y analizar los tipos de errores que se cometen para desarrollar estrategias encaminadas a eliminarlos. REQUIERE ACTIVIDADES DEL MARCO DE TRABAJO  Planificar el trabajo  Esforzarse por cumplir la planificación  Esforzarse por obtener productos de la mejor calidad a) Planeación: Seleccionar requisitos, establecer el tamaño del proyecto y estimar recursos. b) Diseño de alto nivel: elaborar las especificaciones externas para el diseño de cada componente. c) Revisión del diseño de alto nivel: los métodos formales de verificación se aplican a errores descubiertos en el diseño. d) Desarrollo: el diseño al nivel del componente se refina y revisa. e) Análisis de resultados: Se determina la efectividad del proceso mediante las mediciones y medidas recolectadas.
  • 15. Modelos de Proceso Personales y en Equipo 2. PROCESO DE SOFTWARE EN EQUIPO: La meta del PSE es construir un equipo de proyecto “autodirigido” que se organice para producir un software de alta calidad. Actividades Lanzamiento: con una secuencia de tareas como base sólida para iniciar el proyecto. Diseño de alto nivel Implementación Integración y prueba Análisis de resultados
  • 16. Tecnología del Proceso HERRAMIENTAS DE TECNOLOGÍA DEL PROCESO: Permiten que una organización de software construya un modelo automatizado del marco de trabajo común del proceso, tareas y actividades sombrilla. Puede aprovecharse para coordinar el uso de las herramientas de ingeniería de software asistida por computadora Herramientas de tecnología de proceso Ayudan Analizar procesos actuales Organizar sus tareas Administrar su calidad técnica Controlar y monitorear su progreso
  • 17. Producto y Proceso Si el proceso es débil, sin duda el producto final sufrirá las consecuencias. Una confianza excesiva en el proceso es peligrosa. Las personas obtienen tanta satisfacción del proceso creativo que del producto final. Un profesional creativo del software debería también obtener tanta satisfacción de la programación como del producto final. La dualidad del producto y proceso es un elemento importante para mantener ocupada a la gente creativa hasta que se finalice la transición de la programación a la ingeniería del software.
  • 18. Bruegge, B., Dutoit, A.H., Ingeniería del Software Orientado a Objetos, cap. 1 Jacobson, I., Booch, G., Rumbaugh, J., El Proceso Unificado de Desarrollo de Software, cap. 1 Pressman, R.S., Ingeniería del Software. Un enfoque práctico, cap. 1 y 2 Sommerville, I., Ingeniería de Software, cap. 1, 2 y 3 Referencias