1-St204v-Taller Ingenieria Software I_ok

27
FIIS - UNI Facultad de Ingeniería Industrial y de Sistemas 1 TALLER DE INGENIERIA DE SOFTWARE I UNIDAD I: MODELO DEL CICLO DE VIDA DEL SOFTWARE SESION 1: METODOLOGIA DE ANALISIS Y DISEÑO DE SISTEMAS APLICACIÓN DE RUP-PARA DESARROLLO DE SOFTWARE Y UML PARA MODELADO Mg. Ing. WILFREDO CARRANZA

Transcript of 1-St204v-Taller Ingenieria Software I_ok

Page 1: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

1

TALLER DE INGENIERIA DE SOFTWARE I

UNIDAD I:

MODELO DEL CICLO DE VIDA

DEL SOFTWARE

SESION 1:METODOLOGIA DE ANALISIS Y DISEÑO DE

SISTEMAS

APLICACIÓN DE RUP-PARA DESARROLLO DE SOFTWARE

Y UML PARA MODELADO

Mg. Ing. WILFREDO CARRANZA

Page 2: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

2

SESION 1:RUP- METODOLOGIA DESARROLLO DE SOFTWARE

EJERCICIO Nº 1:

GESTION DEL PROYECTO EN EL PROCESO UNIFICADO:

Parte A

1. El workflow de la Gestión del Proyecto

2. Descripción general del sistema a implementar

Objetivo, Alcance, Problema a resolver –beneficio para el usuario

3. El modelo conceptual del sistema

4. Funcionalidades del sistema a desarrollar

5. Los principales riesgos: identificados y priorizados

6. El Plan del Proyecto (el Índice del Plan)

7. El Equipo del Proyecto

Parte B- Ejercicios

8. Iteraciones por fase del RUP

9. Mitigación de riesgos identificados

10. Estructura de Desglose Trabajo (EDT)

Mg. Ing. WILFREDO CARRANZA

Page 3: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

3

SESION 1: PROCESOS DE DESARROLLO SOFTWARE

1.1 Producción de SW: problemática, origen de los

problemas, panorama contemporáneo.

1.2 ¿ Qué es el RUP? Características

1.3 Descripción del Proceso

1.4 Los puntos clave en el proceso de desarrollo SW (las 4 P)

1.5 Las 5 expectativas de la Ingeniería de Software contemporánea

y el papel de las 4 P.

1.6 Estructura del Proceso de Desarrollo Unificado: fases e

iteraciones

• Fase de Incepción

• Fase de Elaboración

• Fase de Construcción

• Fase de Transición

1.7 Modelado Visual

Page 4: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

4

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

1.1 Producción de software: Problemática

Page 5: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

5

• 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

1.1 Producción de software: Orígen de los problemas

Page 6: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

6

¿Cuáles son los retos que afronta la ingeniería de software en el siglo XXI ?

1. El reto de la heterogeneidad.• Integrar software con sistemas heredados

Desarrollar técnicas para construir software confiablecon alto grado de integración ante la heterogeneidad

2. 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)

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

1.1 Producción de software: Panorama contemporáneo

Page 7: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

7

SESION 1: PROCESOS DE DESARROLLO SOFTWARE

1.1 Producción de SW: problemática, origen de los problemas,

panorama contemporáneo.1.2 ¿ Qué es el RUP? Características1.3 Descripción del Proceso1.4 Los puntos clave en el proceso de desarrollo SW (las 4 P)

1.5 Las 5 expectativas de la Ingeniería de Software

1.6 Estructura del Proceso de Desarrollo Unificado: fases e

iteraciones

• Fase de Incepción

• Fase de Elaboración

• Fase de Construcción

• Fase de Transición

1.7 Modelado Visual

Page 8: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

8

1.2 ¿Qué es el RUP? - Caracteristicas

Concepto:

“Un proceso define Quién está haciendo Qué y, Cuándo y Cómo logrará una meta trazada”

El RUP es un proceso, caracterizado por:

• Desarrollo iterativo e incremental

• Conducido por Diagramas de Caso de Uso

• Centrado en Arquitecturas

Page 9: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

9

1.3 Descripción del proceso

Worker

Actividad

Artefacto

Paquete

de CdU

Caso de Uso

responsible de

Analista

Una unidad de

trabajo

Una pieza de información

que puede ser producida,

modificada o usada por

un proceso

Define un rol y

responsabilidades de

un individuo o equipo

Describir

un CdU

El worker desarrolla una actividad que genera o consume un artefacto

Page 10: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

10

Los Equipos necesitan Procesos para construir

un Sistema

Lenguaje

de Modelado

Procesos

Unificados

Desarrollo

basado en Equipos

Page 11: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

11

1.4 Los puntos clave en el desarrollo SW:

Las 4 P

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.

Page 12: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

12

1.5 Las 5 expectativas de la Ingeniería de SW

La Ingeniería de Software contemporánea tiene 5 expectativas importantes:

1. Predeterminar metas de calidad cuantitativas, que se aplicarán al proyecto y al producto.

Ejm. “No más de 2% de reprocesos mensuales por aplicación”

2. Reunir datos para usarlos en proyectos subsecuentes, a fin de realizar estimaciones de recursos y tiempos.

Ejm. “base de datos de conocimientos, Relatorio del Pyto.”

3. Mantener todo el trabajo visible, para que el Team pueda disponer de todos los requisitos, diseños, códigos y pruebas.

4. Todos los miembros del Team deben seguir el proceso:

a) Diseñar sólo contra requisitos

b) Programar sólo contra diseño

c) Probar sólo contra requisitos y diseños

5. Medir y lograr las metas de calidad.

Page 13: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

13

SESION 1: PROCESOS DE DESARROLLO SOFTWARE

1.1 Producción de SW: problemática, origen de los problemas,

panorama contemporáneo.1.2 ¿ Qué es el RUP? Características1.3 Descripción del Proceso1.4 Los puntos clave en el proceso de desarrollo SW (las 4 P)

1.5 Las 5 expectativas de la Ingeniería de Software contemporánea

y el papel de las 4 P.

1.6 Estructura del Proceso de Desarrollo Unificado: fases e

iteraciones

• Fase de Incepción

• Fase de Elaboración

• Fase de Construcción

• Fase de Transición

1.7 Modelado Visual

Page 14: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

14

En una iteración

se puede

desplazar por

todas los

workflows

1.6 Estructura del Proceso de Desarrollo Unificado:

fases e iteraciones

Page 15: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

15

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.

Page 16: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

16

Fase 1: INCEPCION

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.

Page 17: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

17

Fase 2: ELABORACION

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.

Page 18: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

18

Fase 3: CONSTRUCCION

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 hasta ese

momento vrs. los costos estimados.

Page 19: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

19

Fase 4: TRANSICION

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.

Page 20: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

20

SESION 1: PROCESOS DE PRODUCCION DE SOFTWARE

1.1 Producción de SW: problemática, origen de los problemas,

panorama contemporáneo.1.2 ¿ Qué es el RUP? Características1.3 Descripción del Proceso1.4 Los puntos clave en el proceso de desarrollo SW (las 4 P)

1.5 Las 5 expectativas de la Ingeniería de Software contemporánea

y el papel de las 4 P.

1.6 Estructura del Proceso de Desarrollo Unificado: fases e

iteraciones

• Fase de Incepción

• Fase de Elaboración

• Fase de Construcción

• Fase de Transición

1.7 Modelado Visual

Page 21: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

21

1.7 Modelado Visual

El Modelado Visual es una de las 6 Mejores prácticas de la Ingeniería de Software

Modelar 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)

Page 22: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

22

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.

Page 23: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

23

Modelado Visual usando diagramas UML

Actor A

Use Case 1

Use Case 2

Actor B

user : Clerk

mainWnd : MainWnd

fileMgr : FileMgr

repository : Repositorydocument : Document

gFile : GrpFile

9: sortByName ( )

L1: Doc view request ( )

2: fetchDoc( )

5: readDoc ( )

7: readFile ( )

3: create ( )

6: fillDocument ( )

4: create ( )

8: fillFile ( )

Window95

¹®¼°ü¸®

Ŭ¶óÀ̾ðÆ®.EXE

Windows

NT

¹®¼°ü¸® ¿£Áø.EXE

Windows

NT

Windows95

Solaris

ÀÀ¿ë¼¹ö.EXE

Alpha

UNIX

IBM

Mainframe

µ¥ÀÌŸº£À̽º¼¹ö

Windows95

¹®¼°ü¸® ¾ÖÇø´Document

FileManager

GraphicFile

File

Repository DocumentList

FileList

user

mainWnd fileMgr :

FileMgr

repositorydocument :

Document

gFile

1: Doc view request ( )

2: fetchDoc( )

3: create ( )

4: create ( )

5: readDoc ( )

6: fillDocument ( )

7: readFile ( )

8: fillFile ( )

9: sortByName ( )

ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸±â¸¦

»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.

ÈÀÏ°ü¸®ÀÚ´Â Àоî¿Â

¹®¼ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼

°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.

È¸é °´Ã¼´Â ÀоîµéÀÎ

°´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î

Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡

º¸¿©ÁØ´Ù.

Openning

Writing

ReadingClosing

add file [ numberOffile==MAX ] / flag OFF

add file

close file

close fileUse Case 3

Diagrama de

Casos de UsoDiagrama

de Clases

Diagrama de

Colaboración

Diagrama de

Secuencia

Diagrama de

Componentes

Diagrama de

Estado

Diagrama de

Despliegue

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( )

open( )

close( )

read( )

sortFileList( )

create( )

fillDocument( )

fList

1

FileList

add( )

delete( )1

File

read( )

read() fill the

code..

Construyendo un modelo visual de un sistema,

diferentes diagramas son necesarios para

representar diferentes vistas del sistema

Page 24: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

24

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

Page 25: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

25

PRACTICAS EN LABORATORIO

Uso del software BizAgi Process Modeler

http://www.bizagi.com

El BizAgi Process Modeler permite diagramar y documentar

los procesos en el estándar BPMN

(Business Process Modelling Notacion).

Page 26: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

26

BizAgi Process Modeler

Page 27: 1-St204v-Taller Ingenieria Software I_ok

FIIS

-U

NI

Facu

ltad

de I

ng

en

ierí

a I

nd

ustr

ial

y d

e S

iste

mas

27

FIN DE LA SESION 1