Académique Documents
Professionnel Documents
Culture Documents
Captulo 12, Ingeniera de Software, Ian Sommerville, 5a Edicin, Addison Wesley, 2002
Objetivos
El alumno conocer:
cmo interactan los objetos entre ellos y adems administran su propio estado y operaciones las actividades ms importantes en un proceso general de diseo OO diversos modelos para documentar el diseo OO una introduccin a UML
Introduccin (1)
El DOO es una estrategia en la cual se debe pensar en trminos de cosas en lugar de operaciones o funciones. Se compone de objetos que interactan entre s para realizar las operaciones Los objetos ocultan y limitan el acceso a operaciones y atributos
Introduccin (2)
El DOO es parte del desarrollo OO, que se conforma de:
Anlisis. Comprende el modelo OO del dominio de la aplicacin que reflejan las entidades y operaciones del problema a resolver Diseo. Modelo OO que incluye tanto objetos del dominio como de la solucin en computadora. Programacin. Se realiza mediante un lenguaje de programacin OO como Java.
Introduccin (3)
Los sistemas OO deben ser mantenibles del todo, puesto que los objetos son independientes. Los diseos OO pueden tener objetos que se utilicen en diseos posteriores. Los objetos se pueden agrupar en componentes o marcos de trabajo que pueden reutilizarse. Existen varios mtodos de DOO:
Coad y Yourdon (1990), Robinson (1992), Rumbaugh et al (1991) Jacobson et al (1993), Booch (1994), Graham (1994), Unificacin de varias metodologas en UML (1999)
Clase de Objeto
Plantilla para crear objetos. sta incluye las declaraciones de todos los atributos y operaciones asociadas con un objeto de esa clase.
Atributos de la clase
Operaciones asociadas
Sncrona
El objeto invocador espera a que la peticin del servicio se complete
Asncrona
Para objetos concurrentes o cadenas El objeto invocador contina trabajando mientras su servicio solicitado se completa
navegabilidad
clase
Cliente 1
restriccin
nombre direccin
Si califCredito():String pedido.Cliente.CalifCredito cierra() es pobre, entonces herencia Pedido.prepagado debe * ser cierto agregacin CliPersonal CliCorporativo 1..* multiplicidad
#tarjCred
Empleado
Relaciones y asociaciones
Objetos activos.
En ellos el estado cambia debido a la ejecuacin de operaciones internas. El proceso que representa al objeto ejecuta continuamente estas operaciones, por lo que no se suspende por s solo.
Arquitectura de Capas para un Sistema de Trazado de Mapas Climticos (hecho con ModelMaker) Capa de despliegue de Datos
Subsistema Despliegue de Datos donde los objetos estn involucrados en la preparacin y presentacin de datos en una forma humanamente legible Capa de archivacin de Datos donde los objetos estn involucrados con el almacenamiento de datos para procesamiento futuro Capa de procesamiento de datos donde los objetos estn involucrados con la verificacin e integracin de los datos recolectados Capa de recoleccin de datos donde los objetos estn involucrados con la adquisicin de datos de fuentes remotas
{usa}
{usa}
{usa}
Estacin climtica
Globo
12.2.1 El contexto del sistema y los modelos de utilizacin Lo primero es comprender las relaciones entre el software que se est diseando y el entorno externo Para ello se utilizan dos modelos:
Esttico
Representa el contexto del sistema y describe a los otros sistemas en ese entorno (modelo de contexto)
Dinmico
Representa el modelo que el sistema utiliza y describe cmo interacta el sistema con su entorno (modelo de interacciones)
Formas de representacin
Modelo de Contexto
Utilizando asociaciones (diagramas de clases, diagrama de paquetes)
Modelo de interacciones
Utilizando un enfoque abstracto que no incluya mucho detalle de las interacciones (diagramas de casos de uso, diagramas de robustez)
10
Apagar
Sistema: Estacin Climtica Caso de Uso: Reportar Actores: Sistema de Recoleccin de Datos Climticos (SRDC) y estacin climtica Datos:
La estacin enva un reporte de los datos climticos recolectados de los instrumentos en el periodo de recoleccin al SRDC. Los datos enviados son mximo, mnimo y medio de temperaturas del suelo y del aire; las presiones...
Estmulo:
El sistema de recoleccin de datos establece un vnculo por medio del modem con la estacin climtica
Hacer pruebas
Respuesta:
Los datos resumidos se envan al sistema de recoleccin de datos climticos.
Comentarios:
Habitualmente, a las estaciones climticas se les pide reportar una vez por hora aunque esta frecuencia puede diferir de una estacin a otra y modificarse en el futuro.
Subsistema Instrumentos
11
WeatherStation attributes Undefined airTemperatures: Integer; Identifier: string; temperature: Integer; w indSpeed: Integer; WeatherData attributes Undefined airTemperatures: Integer; groundTemparatures: Integer; pressures: Integer; rainfall: Integer; w indDirections: string; w indSpeeds: Integer;
operations Undefined + calibrate(instruments): Boolean; + reportWeather: string; + shutdow n(instruments): Boolean; + startup(instruments): Boolean; + test(instruments): Boolean;
Anem om eter Groundtherm om eter operations Undefined + Calibrate: Boolean; + test: Boolean; attributes Undefined - w indDirection: Integer; - w indSpeed: Integer; operations Undefined + test: Boolean;
12
unit Interfaz
usa
unit RecolecciondeDatos
import
unit Instrumentos
13
CommsController
WeatherStation attributes Undefined airTemperatures: Integer; Identifier: string; temperature: Integer; windSpeed: Integer;
operations Undefined + calibrate(instruments): Boolean; + reportWeather: string; + shutdown(instruments): Boolean; + startup(instruments): Boolean; + test(instruments): Boolean;
14
Prueba Completa
15
12.2.5 Especificacin de la interfaz de los objetos (1) Es necesario identificar interfaces para que los objetos y otros componentes se puedan disear en paralelo.
Se debe evitar la informacin de representacin Se deben proveer las operaciones de los objetos para acceder y actualizar los datos.
Con el ocultamiento se pude garantizar un mejor mantenimiento. Los atributos del modelo esttico deben exponerse los atributos esenciales.
public void test (); public void test (Instrument i); } //WeatherStation
16
17
AirQuality attributes Undefined - benzeneData: Real; - NOData: Real; - smokeData: Real; operations Undefined + Collect: Real; + Summarize: Real;
Subsistema InstrumentosContaminacion
NOmeter
Smokemeter
Benzemeter
18