La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Fundamentos de Ingeniería de Software

Presentaciones similares


Presentación del tema: "Fundamentos de Ingeniería de Software"— Transcripción de la presentación:

1 Fundamentos de Ingeniería de Software
Modelo de Diseño Diseño Orientado a Objetos

2 Modelos de desarrollo Orientación a objetos
Primero se empezaron a utilizar los lenguajes de programación estructurados, que permiten la descomposición modular de los programas; esto condujo a la adopción de técnicas de diseño estructuradas y de ahí se paso al análisis estructurado. El paradigma orientado a objetos ha seguido el mismo camino: el uso de la Programación Orientada a Objetos (POO) ha modificado las técnicas de diseño para adaptarlas a los nuevos lenguajes y ahora se están empezando a utilizar técnicas de análisis basadas en esta nueva forma de desarrollar software.

3 Métodos orientados a objeto
Describen e implementan los sistemas de información desde un punto de vista más real.

4 Modelos de desarrollo Orientación a objetos
La cultura implícita en los modelos usuales de ciclo de vida está basada en el “proyecto” ( y “Beneficios”), mientras que en el desarrollo orientado a objetos está basada en el “producto” (e “inversión”).

5 Términos más importantes en la orientación a objetos
Reusabilidad: Los nuevos Sistemas OO pueden ser creados utilizando otros sistemas OO ya existentes. Extensibilidad: Los nuevos sistemas OO son fácilmente ampliables, sin tener que retocar los módulos empleados en su construcción.

6 Características principales del enfoque orientado a objetos
Las características principales del enfoque orientado a objetos son, en primer lugar: Identidad: Los datos se organizan en entidades discretas y distinguibles llamadas objetos. Estos objetos pueden ser concretos o abstractos, pero cada objeto tiene su propia identidad. Dicho de otra forma: dos objetos son distintos incluso aún en el caso de que los valores de todos sus atributos coincidan. Dos manzanas pueden ser totalmente idénticas pero no por eso pierden su identidad: nos podemos comer una u otra.

7 Características principales del enfoque orientado a objetos
Clasificación: Los objetos que tengan los mismos atributos y comportamiento se agrupan en clases. Todas las manzanas tienen una serie de atributos comunes: tamaño, peso, grado de maduración, y un comportamiento común: podemos coger una manzana, moverla o comerla. Los valores de los atributos podrán ser distintos para cada una de ellas, pero todas comparten los mismos atributos y comportamiento (las operaciones que se pueden realizar sobre ellas). Una clase es una abstracción que describe propiedades (atributos y comportamiento) relevantes para una aplicación determinada, ignorando el resto.

8 Polimorfismo El polimorfismo permite que una misma operación pueda llevarse a cabo de forma diferente en clases diferentes. Por ejemplo, la operación mover, es distinta para una pieza de ajedrez que para una ficha de damas, pero ambos objetos pueden ser movidos. Una operación es una acción o transformación que realiza o padece un objeto. La implementación específica de una operación determinada en una clase determinada se denomina método.

9 Herencia El concepto de herencia se refiere al compartir atributos y operaciones basada en una relación jerárquica entre varias clases. Una clase puede definirse de forma general y luego refinarse en sucesivas subclases. Cada clase hereda todas las propiedades (atributos y operaciones) de su superclase y añade sus propiedades particulares. La posibilidad de agrupar las propiedades comunes de una serie de clases en una superclase y heredar estas propiedades en cada una de las subclases es lo que permite reducir la repetición de código en el paradigma OO y es una de sus principales ventajas.

10 Etapas del Desarrollo OO
Fase Planificación y Especificación de Requerimientos Definir el Plan-Borrador. Crear el Informe de Investigación Preliminar. Definir los Requerimientos. Registrar Términos en el Glosario. Implementar un Prototipo. (opcional) Definir Casos de Uso (de alto nivel y esenciales). Definir el Modelo Conceptual-Borrador. Definir la Arquitectura del Sistema-Borrador. Refinar el Plan.

11 Etapas del Desarrollo OO
Fase de Construcción: Análisis Definir Casos de Uso Esenciales en formato expandido. Refinar los Diagramas de Casos de Uso. Refinar el Modelo Conceptual. Refinar el Glosario. Definir los Diagramas de Secuencia del Sistema. Definir Diagramas de Estados. (opcional)

12 Etapas del Desarrollo OO
Fase de Construcción: Diseño Definir los Casos de Uso Reales. Definir Informes e Interfaz de Usuario. Refinar la Arquitectura del Sistema. Definir los Diagramas de Interacción. Definir el Diagrama de Clases de Diseño. Definir el Esquema de Base de Datos. Fases de Implementación y Pruebas

13 Diseño Orientados a Objetos
Consiste en representar un modelo de datos que pueda ser fácilmente implantable con algún lenguaje de programación orientado a objetos. Los objetos son componentes potencialmente reutilizables, lo que hace que el software sea más fácil de mantener.

14 Diseño Orientado a Objeto
El proceso general para el diseño orientado a objetos tiene varias etapas: Comprender y definir el contexto y los modos de utilización del sistema. Diseñar la arquitectura del sistema. Identificar los objetos principales en el sistema.

15 Diseño Orientado a Objetos
Desarrollar los modelos de diseño. Especificar las interfaces de los objetos. No es un proceso sistematizado al 100%, por lo que necesita refinarse con varias iteraciones.

16 Diseño Orientado a Objetos
El primer paso consiste en identificar los tipos de relaciones definidos en el sistema, los cuales pueden ser internos y externos. Estas relaciones pueden ser dos: El contexto del sistema: es un modelo estático que describe a los otros sistemas en ese entorno.

17 Diseño Orientado a Objetos
El modelo que el sistema utiliza: es un modelo dinámico que describe cómo interactúa el sistema con su entorno. Con el diseño de contexto se puede crear fácilmente el diseño arquitectónico de la aplicación. Existen diversas técnicas para identificar objetos:

18 Diseño Orientado a Objetos
Utilizar un análisis gramatical de la descripción en lenguaje natural de un sistema. Utilizar entidades tangibles (cosas). Utilizar un enfoque de comportamiento. Utilizar un análisis basado en escenarios.

19 Diseño Orientado a Objetos
Existen dos tipos de modelos de diseño para describir un diseño orientado a objetos: Modelos Estáticos. Modelos Dinámicos. Ejemplos de algunos modelos:

20 Diseño Orientado a Objetos
Los modelos de subsistemas Los modelos de secuencia Los modelos de máquinas de estado La encapsulación de las clases hace que los sistemas evolucionen de forma rápida y sencilla.

21 Métodos Orientado a Objetos
Existen diversas metodologías para la realización de análisis y diseño orientado a objetos como: Método de Booch: abarca un microproceso de desarrollo y un macroproceso de desarrollo. Método OMT (Rumbaugh)

22 Métodos Orientado a Obejtos
Objectory (Jacobson) Método de Coad-Yourdon Método UML: Análisis: tiene 5 diferentes vistas con diferentes diagramas en cada una de ellas.

23 Métodos Orientado a Objetos
Vista usuario: representa el sistema (producto) desde la perspectiva del usuario. Se suele utilizar diagramas de casos de uso. Vista estructural: modela los datos y la funcionalidad del sistema; es decir, la estructura estática (clases, objetos y relaciones).

24 Métodos Orientado a Objetos
Vista del comportamiento: representa los aspectos dinámicos o de comportamiento del sistema. También muestra las interacciones o colaboraciones entre los diversos elementos estructurales descritos en vistas anteriores. Vista de implementación Los aspectos estructurales y de comportamiento se representan aquí tal y como van a ser implementados.

25 Métodos Orientado a Objetos
Vista del entorno: aspectos estructurales de comportamiento en el que el sistema a implementar se representa. En cuestión de diseño se tienen dos actividades principales: Diseño de sistema. Diseño de objetos.

26 MODELOS ORIENTADOS A OBJETOS
Se emplean clases para definir las entidades Clase -> Define estructura y compotamiento de objetos Esquema OO -> Conjunto de clases. Modelo -> Aspecto de la realidad y se construye de modo que nos ayude a comprender a esta.

27 MODELOS ORIENTADOS A OBJETOS
Mundo real Análisis y diseño Modelo Código Programa

28 MODELOS ORIENTADOS A OBJETOS
Dimensión estructural de los objetos -> Propiedades estáticas Dimensión dinámica del comportamiento -> Propiedades activas, comportamiento individual y colaboración entre objetos. Dimensión funcional de los requerimientos -> Propiedades de transformación del sistema Dimensiones que describen un sistema de objetos

29 MODELOS ORIENTADOS A OBJETOS
Las actividades que se deben seguir para llevar un MOO son: Identificar clases, objetos y atributos Asociar estáticamente los objetos Describir el comportamiento de los objetos Definir la colaboración del comportamiento de los objetos Organizar las clases en jerarquías de herencia Agregar y/o particionar las clases por niveles de abstracción

30 MODELOS ORIENTADOS A OBJETOS
ANÁLISIS ORIENTADO A OBJETOS Se basa en conceptos sencillos (objetos y atributos , el todo y las partes). El paradigma orientado a objetos ha evolucionado. Lenguajes de programación estructurados Análisis estructurado Programación orientada a objetos (POO)

31 MODELOS ORIENTADOS A OBJETOS
ANÁLISIS ORIENTADO A OBJETOS El AOO ofrece un enfoque nuevo para el análisis de requisitos de sistemas software . AOO consigue una abstracción mayor que el Análisis estructurado. Antes de empezar a diseñar un sistema es necesario realizar un estudio previo de este. La ventaja del AOO es que se basa en la utilización de objetos como abstracciones del mundo real.

32 MODELOS ORIENTADOS A OBJETOS
ANÁLISIS ORIENTADO A OBJETOS En AOO los objetos encapsulan tanto atributos como procedimientos e incorpora otros conceptos (herencia, polimorfismo, etc).-> Reutilización de código El uso de AOO puede facilitar mucho la creación de prototipos, y las técnicas de desarrollo evolutivo de software Objetos reutilizables -> catálogo de objetos.

33 MODELOS ORIENTADOS A OBJETOS
VENTAJAS DEL AOO Dominio del problema -> Permite pasar del dominio del problema al modelo del sistema. Comunicación: -> Cliente / Analista Consistencia -> Reduce distancias entre datos y procesos. Expresión de características comunes -> Reutilización = Mecanismos efectivos Resistencia al cambio -> Facilidad de realizar modificaciones. Reutilización.

34 MODELOS ORIENTADOS A OBJETOS
TECNICA DE MODELADO DE OBJETOS (OMT) Se basa en aplicar el enfoque orientado a objetos a todo el proceso de desarrollo de un sistema software, desde el análisis hasta la implementación. La metodología consiste en construir un modelo del dominio de aplicación e ir añadiendo detalles a este modelo durante la fase de diseño.

35 MODELOS ORIENTADOS A OBJETOS
FASES DE OMT Conceptualizacion Inicia con análisis de empresa o negocio. Se deben resolver las preguntas: Cual es la aplicación? Que problemas deben ser resueltos? Donde será usado el sistema? Cuando será requerido el sistema? Para que es necesario el sistema?

36 MODELOS ORIENTADOS A OBJETOS
FASES DE OMT Analisis Especifica las necesidades que se deben satisfacer. Se determina el modelo de objeto. Se busca un nivel de abstracción para modelar subsistemas. Se definen diccionarios de datos para los objetos modelados

37 MODELOS ORIENTADOS A OBJETOS
FASES DE OMT Diseño Se crean estrategias, arquitecturas para el sistema y sus políticas, teniendo en cuenta: Elegir una implementación para control externo Elegir el paradigma de administración de Base de datos. Determinar oportunidades para el reuso Seleccionar estrategias para interacción de datos Detallar el diseño

38 MODELOS ORIENTADOS A OBJETOS
FASES DE OMT Implementación Se instala el nuevo sistema para su utilización. El sistema debe ser flexible y extensible


Descargar ppt "Fundamentos de Ingeniería de Software"

Presentaciones similares


Anuncios Google