La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PROCESO DE SOFTWARE Y GESTION DE PROYECTO DE SOFTWARE

Presentaciones similares


Presentación del tema: "PROCESO DE SOFTWARE Y GESTION DE PROYECTO DE SOFTWARE"— Transcripción de la presentación:

1 PROCESO DE SOFTWARE Y GESTION DE PROYECTO DE SOFTWARE
INGENIERIA DE SOFTWARE PROCESO DE SOFTWARE Y GESTION DE PROYECTO DE SOFTWARE Ing. Sanchez Castillo Eddye Arturo Sesión 03

2 PROCESO DE SOFTWARE Y GESTION DE PROYECTOS DE SOFWARE
Temario ... El Proceso Unificado (RUP) Definiciones Generales. Fases de RUP e Iteraciones. Componentes del Proceso. Características del Proceso Unificado. El Proyecto de Software 02 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

3 PROCESO DE SOFTWARE Y GESTION DE PROYECTOS DE SOFWARE
1. Producción de SW: problemática, origen del problema. 1.1 ¿ Qué es el RUP? Características 1.2 Definiciones Generales Los puntos clave en el proceso de desarrollo SW (las 4 P) Las 5 expectativas de la Ingeniería de Software contemporánea y el papel de las 4 P. 1.3 Estructura del RUP: fases e iteraciones Fase de Incepción Fase de Elaboración Fase de Construcción Fase de Transición 1.4 Componentes del Proceso 1.5 Características del Proceso Unificado 1.6 El Proyecto de Software 03 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

4 PRODUCCIÓN DE SOFTWARE: PROBLEMÁTICA
PROBLEMAS: perspectiva del cliente Excesiva duración para terminar los programas Costos elevados del desarrollo del software Los programas no cumplen con lo requerido PROBLEMAS: perspectiva de los desarrolladores El usuario no transmite bien sus necesidades Los requerimientos son cambiados constantemente Muy poco trabajo en equipo Se trabaja sin estándares 04 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

5 PRODUCCIÓN DE SOFTWARE: ORIGEN
Excesiva complejidad Comunicaciones ambiguas e imprecisas Pruebas insuficientes No se detectan las inconsistencias en los requerimientos, el diseño y en la implementación Fallas en identificar y mitigar los riesgos Propagación de los cambios no controlada Automatización insuficiente 05 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

6 PRODUCCIÓN DE SOFTWARE: RETO
¿Cuáles son los retos que afronta la ingeniería de software en el siglo XXI ? El reto de la heterogeneidad. Integrar software con sistemas heredados Desarrollar técnicas para construir software confiable con alto grado de integración ante la heterogeneidad El reto de la entrega. Reducir los tiempos de entrega sin comprometer la calidad Implementar marcos de trabajo (modelos de calidad, metodologías reconocidas como buenas prácticas, estándares) El reto de la confianza. El software tiene relación con todos los aspectos de nuestra vida. Desarrollar y aplicar técnicas con alto grado de confiabilidad 06 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

7 PROCESO DE SOFTWARE Y GESTION DE PROYECTOS DE SOFWARE
1. Producción de SW: problemática, origen del problema. 1.1 ¿ Qué es el RUP? Características 1.2 Definiciones Generales Los puntos clave en el proceso de desarrollo SW (las 4 P) Las 5 expectativas de la Ingeniería de Software contemporánea y el papel de las 4 P. 1.3 Estructura del RUP: fases e iteraciones Fase de Incepción Fase de Elaboración Fase de Construcción Fase de Transición 1.4 Componentes del Proceso 1.5 Características del Proceso Unificado 1.6 El Proyecto de Software 07 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

8 El Proceso Unificado (RUP) ...

9 Proceso de Desarrollo de Software
¿QUÉ ES EL RUP? Concepto: “Un proceso define Quién está haciendo Qué, Cuándo y Cómo logrará una meta trazada” El RUP es un conjunto de actividades necesarias para transformar los requisitos de un usuario a un sistema de software Requisitos del Usuario Proceso de Desarrollo de Software Sistema Software 09 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

10 ¿QUÉ ES EL RUP? El “Proceso Unificado” es un marco de trabajo genérico que puede especializarse para una gran variedad de sistemas de software, para diferentes áreas de aplicación, diferentes tipos de organizaciones y diferentes tamaños de proyectos. El “Proceso Unificado” está basado en Componentes, interconectados a través de Interfaces bien definidas. El “RUP” se resume en tres fases: Conducido por Diagramas de Caso de Uso Centrado en Arquitecturas Desarrollo iterativo e incremental 10 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

11 ¿QUÉ ES EL RUP? Conducido por Diagramas de Caso de Uso
Un Caso de Uso es un fragmento de funcionalidad del sistema que proporciona al usuario un resultado importante. Los casos de uso representan los requisitos funcionales. Todos los casos de uso juntos constituyen el Modelo de Caso de Uso el cual describe la funcionalidad total del Sistema. 11 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

12 ¿QUÉ ES EL RUP? Centrado en Arquitecturas
El papel de la Arquitectura de Software es parecido al papel de la Arquitectura de la construcción. Arquitectura de Software: Plataforma en la que funciona el Software (arquitectura software, sistema operativo, sistema de gestión de base de datos, protocolo para comunicaciones en red) El valor de una arquitectura depende de las personas que se hayan responsabilizado de su creación. 12 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

13 ¿QUÉ ES EL RUP? Desarrollo Iterativo e Incremental
Es practico dividir el trabajo en partes más pequeñas o miniproyectos. Cada miniproyecto es una iteración que resulta en un incremento. Las iteraciones hacen referencia a pasos en el flujo de trabajo, y los incrementos al crecimiento del producto. 13 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

14 ¿QUÉ ES EL RUP? Desarrollo basado en Equipos Lenguaje de Modelado
Procesos Unificados 14 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

15 PROCESO DE SOFTWARE Y GESTION DE PROYECTOS DE SOFWARE
1. Producción de SW: problemática, origen del problema. 1.1 ¿ Qué es el RUP? Características 1.2 Definiciones Generales Los puntos clave en el proceso de desarrollo SW (las 4 P) 1.3 Estructura del RUP: fases e iteraciones Fase de Incepción Fase de Elaboración Fase de Construcción Fase de Transición 1.4 Componentes del Proceso 1.5 Características del Proceso Unificado 1.6 El Proyecto de Software 015 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

16 LAS 4 P’s Las 4 P de la Ingeniería de Software:
La meta de todo PROYECTO de software es producir un producto de software. Los PRODUCTOS de un esfuerzo de desarrollo de software consisten en mucho más que el código fuente y el ejecutable. Incluye documentación, resultado de las pruebas y medidas de productividad. Estos productos se llamarán “artefactos” Es clave el PROCESO mediante el cual los proyectos producen productos de manera efectiva. Otro factor de éxito, son las PERSONAS porque la dinámica interpersonal del equipo influye en los logros del proyecto. 16 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

17 LAS 4 P’s 17 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

18 LAS PERSONAS SON DECISIVAS
18 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

19 LAS PERSONAS SON DECISIVAS
19 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

20 LAS PERSONAS SON DECISIVAS
20 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

21 QUE ES UN SISTEMA DE SOFTWARE
21 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

22 QUE ES UN SISTEMA DE SOFTWARE
22 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

23 QUE ES UN SISTEMA DE SOFTWARE
23 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

24 PROCESO DE SOFTWARE Y GESTION DE PROYECTOS DE SOFWARE
1. Producción de SW: problemática, origen del problema. 1.1 ¿ Qué es el RUP? Características 1.2 Definiciones Generales Los puntos clave en el proceso de desarrollo SW (las 4 P) 1.3 Estructura del RUP: fases e iteraciones Fase de Incepción Fase de Elaboración Fase de Construcción Fase de Transición 1.4 Componentes del Proceso 1.5 Características del Proceso Unificado 1.6 El Proyecto de Software 024 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

25 Puntos de decisión planeados
1.3 Estructura del Proceso de Desarrollo Unificado: fases e iteraciones Puntos de decisión planeados (enfoque del negocio) Comprometer recursos para la fase de Elaboración Comprometer recursos para Construcción Producto suficiente maduro para usuarios-cliente Aceptación o fin de ciclo Incepcion Elaboracion Construccion Transicion Iteración preliminar arquitectura desarrollo transición Puntos de visibilidad planeados (enfoque técnico) 25 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

26 UNA ITERACIÓN En una iteración se puede desplazar por todas los workflows 26 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

27 FASES DEL CICLO DE VIDA INCEPCION: Definir el objetivo del proyecto y elaborar el modelo del negocio ELABORACION: Planificar el proyecto, especificar los Modelos y sentar las bases para las Arquitecturas CONSTRUCCION: Construir el Producto TRANSICION: Transición de los usuarios al nuevo sistema. 27 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

28 FASES DEL CICLO DE VIDA: Incepción
INCEPCION: Definir el objetivo del proyecto y elaborar el modelo del negocio Output de la Etapa: Visión documentada, donde se define los requisitos principales del proyecto, principales características y restricciones. Un inicial modelo Use-Case de negocio (10% a 20%) Un glosario de conceptos y términos del proyecto Un inicial Modelo del negocio, que incluya el contexto de la empresa y factores de éxito (Costo-Beneficio) Un inicial inventario y costeo de riesgos El Plan del Proyecto, indicando las etapas e iteraciones Si es posible, un prototipo inicial. 28 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

29 FASES DEL CICLO DE VIDA: Elaboración
ELABORACION: Planificar el proyecto, especificar los Modelos y sentar las bases para las Arquitecturas Output de la Etapa: Modelo del Use-Case (100% completado), todos los CdU y actores identificados y las descripciones de los CdU. Requerimientos suplementarios (generalmente son no funcionales) son recolectados y asociados a un CdU Descripción de la Arquitectura del Software Prototipo del software Lista de riesgos y Casos del negocio validados Plan del Proyecto completo y aprobado por el Usuario Manual del usuario preliminar. 29 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

30 FASES DEL CICLO DE VIDA: Construcción
CONSTRUCCION: Construir el Producto Output de la Etapa: Primera versión del Producto (versión Beta) Pruebas del Producto Los Manuales del usuario Validación de los costos incurridos vrs. los costos estimados. 30 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

31 FASES DEL CICLO DE VIDA: Transición
TRANSICION: Transición de los usuarios al nuevo sistema. Output de la Etapa: Testeo de la versión Beta para validar el nuevo sistema comparándolas con las expectativas del usuario. Plan de puesta en producción Tareas de migración y conversión de datos Capacitación y Entrenamiento del Usuario y del Área de Sistemas Instalación del producto en todos los ambientes del usuario, previamente definidos. 31 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

32 PROCESO DE SOFTWARE Y GESTION DE PROYECTOS DE SOFWARE
1. Producción de SW: problemática, origen del problema. 1.1 ¿ Qué es el RUP? Características 1.2 Definiciones Generales Los puntos clave en el proceso de desarrollo SW (las 4 P) 1.3 Estructura del RUP: fases e iteraciones Fase de Incepción Fase de Elaboración Fase de Construcción Fase de Transición 1.4 Componentes del Proceso 1.5 Características del Proceso Unificado 1.6 El Proyecto de Software 032 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

33 COMPONENTES DEL PROCESO
El worker desarrolla una actividad que genera o consume un artefacto Define un rol y responsabilidades de un individuo o equipo Una unidad de trabajo Actividad Worker Describir un CdU Analista responsible de Una pieza de información que puede ser producida, modificada o usada por un proceso Artefacto Paquete de CdU Caso de Uso 33 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

34 CARACTERÍSTICAS DEL PROCESO UNIFICADO
I ) Arquitectura basada en componentes II ) Modelado visual en UML III) Administración de requerimientos IV) Desarrollo iterativo e incremental V ) Control del cambio VI) Verificación de la calidad 34 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

35 CARACTERÍSTICAS DEL PROCESO UNIFICADO
Arquitectura basada en Componentes Estructura la arquitectura del sistema en componentes. Los componentes pueden ser acoplados unos con otros, para soportar las funciones que se requiere del sistema. En el enfoque de desarrollo de software basado en componentes, se aplica mucho la reutilización. Ventajas: Al reducirse la cantidad de software a desarrollar, se logra la reducción de costos y de riesgos, con entregas más rápidas del SW La modularidad permite una separación clara de los elementos del sistema, facilitando el manejo de los cambios. 35 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

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

37 CARACTERÍSTICAS DEL PROCESO UNIFICADO
Modelado visual Ventajas: El uso de modelos que reflejan tanto la estructura como el comportamiento del sistema a desarrollar es un factor indispensable para una buena comunicación entre los miembros del equipo de desarrollo, usuarios finales y toda entidad involucrada con el sistema. Los modelos presentan en forma clara el diseño del sistema y facilitan la identificación de inconsistencias. Proporciona un elemento importante en la documentación ayudan a mantener la consistencia entre requerimientos, diseño e implementación. 37 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

38 MODELADO VISUAL CON DIAGRAMAS UML
Diagrama de Casos de Uso Diagrama de Clases Diagrama de Estado Use Case 1 GrpFile read( ) open( ) create( ) fillFile( ) rep Repository name : char * = 0 readDoc( ) readFile( ) (from Persistence) FileMgr fetchDoc( ) sortByName( ) DocumentList add( ) delete( ) Document name : int docid : int numField : int get( ) close( ) sortFileList( ) fillDocument( ) fList 1 FileList File read() fill the code.. Actor A Actor B Use Case 2 Use Case 3 Diagrama de Despliegue Diagrama de Colaboración 9: sortByName ( ) Document FileManager GraphicFile File Repository DocumentList FileList mainWnd : MainWnd Window95 Windows95 1: Doc view request ( ) Windows95 L 2: fetchDoc( ) 4: create ( ) gFile : GrpFile ¹®¼­°ü¸® Ŭ¶óÀ̾ðÆ®.EXE ¹®¼­°ü¸® ¾ÖÇø´ 8: fillFile ( ) Windows user : Clerk NT Solaris fileMgr : FileMgr 3: create ( ) ¹®¼­°ü¸® ¿£Áø.EXE 6: fillDocument ( ) Alpha Windows UNIX NT ÀÀ¿ë¼­¹ö.EXE 5: readDoc ( ) 7: readFile ( ) Mainframe IBM repository : Repository document : Document µ¥ÀÌŸº£À̽º¼­¹ö Diagrama de Componentes mainWnd fileMgr : user FileMgr document : Document gFile repository »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù. ƯÁ¤¹®¼­¿¡ ´ëÇÑ º¸±â¸¦ 1: Doc view request ( ) 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) È­ÀÏ°ü¸®ÀÚ´Â Àоî¿Â °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù. ¹®¼­ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼­ 6: fillDocument ( ) 7: readFile ( ) 8: fillFile ( ) Construyendo un modelo visual de un sistema, diferentes diagramas son necesarios para representar diferentes vistas del sistema È­¸é °´Ã¼´Â ÀоîµéÀÎ Á¤·ÄÀ» ½ÃÄÑ È­¸é¿¡ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î º¸¿©ÁØ´Ù. 9: sortByName ( ) Diagrama de Secuencia 38 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

39 CARACTERÍSTICAS DEL PROCESO UNIFICADO
Gestión de requerimientos La gestión de requerimientos se encarga de identificar, documentar, organizar y dar seguimiento a los requerimientos del sistema y a los cambios que puedan tener a lo largo del ciclo de vida. Un requerimiento es una condición o capacidad que el sistema debe satisfacer. Actividades: Documentar explícitamente los requerimientos del cliente y las funcionalidades y restricciones del sistema. Evaluar los cambios a los requerimientos y medir su impacto. Realizar el seguimiento de las trazas y actualizar documentación. “Los requerimientos son los cimientos sobre los cuáles se construye un producto software y, sin embargo, la incapacidad de gestionar sus cambios es una de las principales causas de entregas fuera de tiempo, exceder los presupuestos y no cumplir con la calidad esperada por el cliente” (Ian Sommerville et al ) 39 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

40 CARACTERÍSTICAS DEL PROCESO UNIFICADO
Gestión de los requerimientos Ventajas: Los requerimientos son administrados bajo un enfoque disciplinado Los requerimientos pueden ser priorizados, filtrados y rastreados Facilita una evaluación objetiva de la funcionalidad y desempeño Permite un detección oportuna de las inconsistencias entre los requisitos, los productos y los planes del proyecto.

41 CARACTERÍSTICAS DEL PROCESO UNIFICADO
Desarrollo iterativo e incremental Cada iteración del proceso produce un nuevo incremento del software, generándose una nueva versión. Ventajas: Centrado en lo importante Se captan requerimientos reales por la retroalimentación de los usuarios Mejor conocimiento del negocio en cada iteración Los usuarios disponen de evidencias del avance del desarrollo SW Los errores se evidencian temprano, corrigiéndose sin altos costos.

42 DESARROLLO ITERATIVO E INCREMENTAL
Planeamiento inicial Requerimientos Análisis y Diseño Implementacion Prueba Despliegue Evaluacion Una versión ejecutable resulta de cada iteración

43 CARACTERÍSTICAS DEL PROCESO UNIFICADO
Control de cambios Las necesidades del negocio y los requerimientos cambian durante el ciclo de vida de los sistemas de software grandes. Gestionar los cambios del software usando un sistema de gestión de cambios y herramientas de soporte a los procedimientos de gestión de cambios. La gestión de las versiones y entregas es el proceso de identificar y mantener los registros de las diferentes versiones y entregas de un sistema (matriz de entregables) Ventajas: El requerimiento de cambios facilita la comunicación con los usuarios. Mantener la documentación actualizada. Las estadísticas de los cambios facilita evaluar el estado del proyecto

44 CARACTERÍSTICAS DEL PROCESO UNIFICADO
Verificación de la calidad Asegurar que el software cumple los estándares de calidad organizacionales. La verificación de la calidad del softwarees parte del proceso, en todas las actividades e involucrando a los interesados (stakeholders). Aspectos a considerar: desviaciones de lo planeado, confiabilidad (resistencia a fallas al ejecutarse), validación (funcionamiento de acuerdo al uso esperado), desempeño (tiempo de respuesta aceptable en condiciones reales) Ventajas: Detección de inconsistencias en los requerimientos, diseño o implementaciones, como resultado de las pruebas. Las verificaciones y pruebas se centran en los puntos de mayor riesgo, asegurando su calidad. Detección temprana de errores, reduciendo el costo de su corrección. 44 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

45 DIAGRAMAS DE UML Diagrama de Clases Diagrama de Casos de Uso
Diagramas de Comportamiento - Diagrama de Estados - Diagrama de Actividad Diagramas de Interacción - Diagrama de Secuencia - Diagrama de Colaboración Diagramas de Implementación - Diagrama de Componentes - Diagrama de Despliegue 45 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

46 GESTIÓN DEL PROYECTO SOFTWARE
Actividades de Gestión del Proyecto Software Planificación del Proyecto Calendarización del Proyecto Gestión de Riesgos 46 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

47 PRACTICAS EN LABORATORIO
Uso del software BizAgi Process Modeler El BizAgi Process Modeler  permite diagramar y documentar los procesos en el estándar BPMN (Business Process Modelling Notacion). 47 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

48 BizAgi Process Modeler
Ejemplo 48 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

49 49 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

50 50 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

51 51 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

52 52 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

53 53 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

54 54 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

55 55 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

56 56 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

57 57 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

58 58 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

59 59 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

60 60 Ingeniería de Software - Ing. Eddye Arturo Sanchez Castillo

61 Análisis y Diseño de Sistemas
Fin de la Presentación GRACIAS Análisis y Diseño de Sistemas


Descargar ppt "PROCESO DE SOFTWARE Y GESTION DE PROYECTO DE SOFTWARE"

Presentaciones similares


Anuncios Google