conceptos de oo - kybele.etsii.urjc.es · ingeniería del software –2009/2010 es un conjunto de...

38
TEMA 3: METODOLOGÍAS DE DESARROLLO Profesora: Elisa Herrmann

Upload: lamkhuong

Post on 02-Oct-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

TEMA 3:METODOLOGÍAS DE

DESARROLLO

Profesora: Elisa Herrmann

Ingeniería del Software – 2009/2010 2

Índice

3.1. ¿Qué es una metodología?.

3.2. Implantación de una plataforma

metodológica.

2

Ingeniería del Software – 2009/2010 3

Índice

3.1. ¿Qué es una metodología?.

3.2. Implantación de una plataforma

metodológica.

3

Ingeniería del Software – 2009/2010

Es un conjunto de métodos, técnicas, herramientas y un soporte documental que ayuda a desarrollar software.

Es decir:

Una metodología establece un camino para desarrollar software de manera sistemática, proporcionando un estándar de trabajo a la organización.

Debería definir con precisión los artefactos, roles y actividades involucrados, junto con prácticas y técnicas recomendadas, guías de adaptación de la metodología al proyecto, guías para uso de herramientas de apoyo, etc.

Habitualmente se utiliza el término “método” para referirse a técnicas, notaciones y guías asociadas, que son aplicables a una (o algunas) actividades del proceso de desarrollo (métodos de análisis y/o diseño).

44

¿Qué es una metodología?

Ingeniería del Software – 2009/2010

Metodología vs ciclo de vida

Una metodología puede seguir uno o

varios modelos de ciclo de vida, es decir,

el ciclo de vida indica qué es lo que hay

que obtener a lo largo del desarrollo del

proyecto pero no cómo hacerlo.

La metodología indica cómo hay que

obtener los distintos productos parciales y

finales.5

Ingeniería del Software – 2009/2010 66

¿Qué especifica una metodología?

En un proyecto de desarrollo de software la metodología

define Quién debe hacer Qué, Cuándo y Cómo debe

hacerlo.

Proceso

SW

Notación

Herramientas

Artefactos1

Roles

Actividades

Personas

1 Un artefacto es una pieza de información que es producida, modificada o usada por el proceso, define un área de responsabilidad para un rol y está sujeta a control de versiones. Un artefacto puede ser un modelo, un elemento de modelo o un documento.

Ingeniería del Software – 2009/2010

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.

La metodología también está influenciada

por consideraciones de tamaño y

estructura de la organización.

7

Elección de una metodología

Ingeniería del Software – 2009/2010

La organización de desarrollo tiene dos

opciones:

Crear y desarrollar la metodología apropiada

(métodos de gestión, técnicas de desarrollo y

soporte automatizado).

Analizar y evaluar las metodologías

existentes y adoptar la que más se ajuste a

sus necesidades.

8

Elección de una metodología

Ingeniería del Software – 2009/2010

Metodologías de desarrollo

Evolución histórica de las metodologías de

desarrollo:

Desarrollo convencional

Desarrollo estructurado

Desarrollo orientado a objetos

Sistemas de tiempo real

10

Ingeniería del Software – 2009/2010

Metodologías de desarrollo

Evolución histórica de las metodologías de

desarrollo:

Desarrollo convencional

Desarrollo estructurado

Desarrollo orientado a objetos

Sistemas de tiempo real

Ingeniería del Software - 2008/2009 11

Ingeniería del Software – 2009/2010

Metodologías estructuradas

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 (por ejemplo: el diagrama de Estructura) primero y posteriormente para el Análisis (por ejemplo: Diagramas de Flujo de Datos).

Ejemplos de metodologías estructuradas de ámbito gubernamental: MERISE (Francia), MÉTRICA(España), SSADM (Reino Unido).

Ejemplos de propuestas de métodos estructurados en el ámbito académico: Gane & Sarson, Ward & Mellor, Yourdon & DeMarco e InformationEngineering.

12

Ingeniería del Software – 2009/2010

Modelar el sistema en base a procesos,

flujos y estructura de los datos.

Se pasa de una visión más general a una

más particular.

Idea: Salida = Función (Entradas)

13

Metodologías estructuradas

Ingeniería del Software – 2009/2010

Metodologías estructuradas

Orientada a Datos:

Estructuras de datos jerárquicas.

Estructuras de datos no jerárquicas.

Orientada a procesos.

Mixtas

14

Ingeniería del Software – 2009/2010

Metodologías estructuradas

Orientadas a procesos: Diagramas de Flujo de Datos (DFD)

Diccionario de Datos (DD)

Especificación de los procesos

Descomposición funcional: especificando el

software que debe mapear las entradas en

salidas, desde “arriba” hacia “abajo”

dividiendo cada función en sub-funciones.

De Marco (1979), Gane y Sarson (1982) y

Yourdon y Constantine (1979)

17

Ingeniería del Software – 2009/2010

Metodologías estructuradas

18

Yourdon: DFDs

Diagrama de contexto DFD de nivel medio

Ingeniería del Software – 2009/2010

Metodologías estructuradas

19

Gane y Sarson

DFD de nivel 0 DFD de nivel medio

Ingeniería del Software – 2009/2010

Metodologías estructuradas

Metodología MERISE, 1978

Mayor cobertura del ciclo de vida

Propone una serie de fases diferenciadas

Metodología SSADM, 1981

Proporciona un conjunto de procedimientos

para realizar análisis y diseño

Metodología METRICA, 1989

Incorpora una etapa de planificación de

sistemas.

20

Ingeniería del Software – 2009/2010

Metodologías de desarrollo

Evolución histórica de las metodologías de

desarrollo:

Desarrollo convencional

Desarrollo estructurado

Desarrollo orientado a objetos

Sistemas de tiempo real

Ingeniería del Software - 2008/2009 21

Ingeniería del Software – 2009/2010

Metodologías orientadas a objeto 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.

22

Ingeniería del Software – 2009/2010

Metodologías orientadas a objeto

La esencia del desarrollo orientado a objetos es

la identificación y organización de conceptos del

dominio de la aplicación

Es decir:

Centrado en los objetos del dominio del problema y

sus relaciones

23

Ingeniería del Software – 2009/2010

Metodologías orientadas a objeto

Análisis Orientado a Objeto: Identificar y definir los objetos (conceptos) dentro del dominio del problema.

Diseño Orientado a Objetos: Definir los objetos lógicos de Software (con atributos y métodos) que serán programados el un lenguaje de programación idóneo.

Diferencia con el modelo estructurado:El análisis y diseño estructurado son orientado a los procesos.

24

Ingeniería del Software – 2009/2010

Metodologías orientadas a objeto

UML (Booch et al., 1997)

Lenguaje estándar de modelado propuesto

por OMG

Describe la semántica esencial de los

diagramas y símbolos

Extensible: Perfiles UML

NO representa un proceso de desarrollo

25

Ingeniería del Software – 2009/2010

Metodologías orientadas a objeto

El Proceso Unificado de Desarrollo

Fusión de:

OOSE (Object Oriented Software

Engineering), Jacobson et al. (1992)

OOD (Object Oriented Design),Booch (1991)

OMT (Object Modeling Technique), centrado

en el análisis, Rumbaugh, J.

26

Ingeniería del Software – 2009/2010

Metodologías orientadas a objeto

27

Ingeniería del Software – 2009/2010

Metodologías orientadas a objeto

Los flujos de trabajo se dividen en

actividades y tareas

Los casos de uso dirigen el proceso de

desarrollo

Así, los requisitos de usuarios se van

transformando en productos software.

Los productos (artefactos) más

representativos son los modelos.

28

Ingeniería del Software – 2009/2010

Metodologías orientadas a objeto

MÉTRICA 3

Metodología de Planificación, Desarrollo y

Mantenimiento de sistemas de información

Promovida por el Ministerio de

Administraciones Públicas

Enfoque estructurado y orientado a

objetos.

29

Ingeniería del Software – 2009/2010 30

Índice

3.1. ¿Qué es una metodología?.

3.2. Implantación de una plataforma

metodológica.

30

Ingeniería del Software – 2009/2010 3131

¿Qué es una plataforma metodológica?

Es un conjunto formado por una o más

metodologías. Lo normal es seguir sólo una.

Y una o más herramientas que ayudan a la

utilización automatizada de estas metodologías.

Lo normal es utilizar varias.

Ingeniería del Software – 2009/2010 3232

¿Qué factores se deben considerar a la hora

de implementar una plataforma metodológica?

Todas las personas relacionadas con el uso de la

plataforma tienen que recibir una formación

adecuada.

Primero se debe aplicar a proyectos piloto.

Es importante contar con la ayuda de un experto,

interno o externo.

Se debe empezar a aplicar en proyectos nuevos.

Ingeniería del Software – 2009/2010 3333

Método de ImplantaciónINICIAR EL PY DE

IMPLANTACIÓN

REALIZAR LA

EVALUACIÓN

NORMALIZACIÓN Y

ADAPTACIÓN

PLAN DE FORMACIÓN

PROBAR EN

PROYECTOS PILOTO

INICIAR LA

IMPLANTACIÓN

SOPORTE Y

MEJORA

Ingeniería del Software – 2009/2010 3434

Iniciar el PY de implantación

Definir el equipo de trabajo para la implantación:

Responsables del proyecto: jefe de departamento, jefe de

proyecto.

Consultores externos que ayudan a la implantación.

Integrantes del equipo de desarrollo.

Integrantes del equipo técnico.

Decidir el alcance que tendrá la metodología:

Decidir qué procesos del ciclo de vida del Sw cubrirá la

metodología que se pretende implantar.

Hacer la planificación:

Establecer tareas, recursos y tiempos necesarios.

Marcar hitos concretos de revisión y toma de decisiones.

Ingeniería del Software – 2009/2010 3535

Realizar la evaluación

Identificar la metodología más adecuada para

cada proceso. Nos tenemos que basar en la

experiencia pasada.

Podemos elegir entre metodologías públicas o

privadas que sean fáciles de aprender.

Buscar la mejores herramientas que soporten la

metodología.

Ingeniería del Software – 2009/2010 3636

Plan de normalización y adaptación

Adaptar la metodología a nuestra empresa

teniendo en cuenta:

Factores de la organización (grande, pequeña…)

Factores técnicos. (Instalación, Hw…)

Factores profesionales. (Formación, experiencia…)

Objetivos de la empresa.

Adaptar la metodología a los diferentes proyectos.

Se tienen que normalizar:

Procesos.

Responsabilidades.

Documentos a generar y su formato.

Comunicaciones entre el equipo.

Ingeniería del Software – 2009/2010 3737

Plan de formación

Formación en las técnicas: Conocimientos

específicos de cómo realizar las tareas que

componen la metodología.

Formación en la guía de uso: Dar a conocer

todas las actividades que se tienen que llevar a

cabo.

Formación en las herramientas: Imprescindible.

Debe ser impartida por profesionales.

Ingeniería del Software – 2009/2010 3838

Iniciar el proyecto piloto

Seleccionar el proyecto piloto: Se considera

proyecto piloto aquel que aporta poco riesgo a la

empresa (ni muy grande ni muy pequeño).

Se utiliza este proyecto piloto para evaluar y

modificar la metodología y adaptarla mejor a las

necesidades de la empresa.

Una vez acabado con el proyecto piloto debemos

recolectar los resultados y conclusiones para una

implantación futura.

Ingeniería del Software – 2009/2010 3939

Realizar la migración

Diagnosticar la situación de los sistemas

existentes: Hacer un inventario de los sistemas

actuales de la empresa y un estudio de cada uno

de ellos.

Planificar la migración hacia la nueva plataforma.

Ingeniería del Software – 2009/2010 4040

Iniciar el proceso de soporte y mejora

Ya aplicamos la metodología a proyectos reales.

Los diferentes componentes de la plataforma se

deben refinar y ajustar: es habitual al principio.

Tener en cuenta que hay elementos de la

plataforma en constante evolución. Por ejemplo

las herramientas. El equipo de trabajo necesita

una formación continuada en las nuevas

versiones.

TEMA 3:METODOLOGÍAS DE

DESARROLLO

Profesora: Elisa Herrmann