Vous êtes sur la page 1sur 39

Anlisis y diseo con UML

MCC Ramn Mora Mrquez

Requerimientos
Software
Eclipse
Plugin UML Designer

Sistema
Un

sistema es una coleccin de


componentes interrelacionados
que trabajan conjuntamente para
cumplir algn objetivo.

Software
Que
Parte

es el software?

intangible de la computadora.
El software de computadora es el
producto que disean y construyen los
ingenieros de Sw.
El producto obtenido son los programas,
documentos y los datos que configuran
el software de computadoras
Es la informacin resltate de un
proceso

Caractersticas del
Software
El

software se desarrolla, no se
fabrica.
El software no se descompone,
se echa a perder.
Aunque la industria tiende a
ensamblar componentes, la
mayora del software es hecho a
la medida.

Tipos de Software
Software

de sistemas
Software de tiempo real
Software de gestin
Software de ingeniera y
cientfico
Software empotrado
Software basado en web
Software de computadoras
personales
Software de inteligencia
artificial
Ingenieria de Software
Orientada a Objetos

MCC Ramon Mora Marquez - UVP

Modelos de proceso del software

Existen diferentes modelos de procesos para la ingeniera


del software. Cada una de ellas representa un intento de
ordenar una actividad inherentemente catica!!!. Algunos
de ellos son los siguientes:
1.

Modelo lineal Secuencial

2.

Modelo de Construccin de prototipos

3.

Modelo RAD (Rapid Development Applications, Desarrollo Rpido de


Aplicaciones)

4.

Modelos Evolutivos

Modelo Incremental
Modelo Espiral
Modelo de desarrollo concurrente

5.

Modelos orientados a objetos

6.

Tcnicas de 4ta generacin


Ingenieria de Software
Orientada a Objetos

MCC Ramon Mora Marquez - UVP

Modelo Lineal Secuencial

Llamado algunas veces ciclo de vida bsico o modelo en


cascada, el modelo lineal secuencial sugiere un enfoque
sistemtico, secuencial, para el desarrollo del software que
comienza en un nivel de sistemas y progresa con el anlisis,
diseo, codificacin, pruebas y mantenimiento.

Ingenieria de Software
Orientada a Objetos

MCC Ramon Mora Marquez - UVP

El ciclo de vida del SW

Segn el ISO 1994 - Software life-cycle process - : El proceso de software


de ciclo de vida es un marco de referencia que contiene los procesos, las
actividades y las tareas involucradas en el desarrollo, la explotacin y el
mantenimiento de un producto software, abarcando la vida del sistema
desde la definicin de los requisitos hasta la finalizacin de su uso.

Ingenieria de Software
Orientada a Objetos

MCC Ramon Mora Marquez - UVP

Modelo de Construccin de
Prototipos

El desarrollador y el cliente encuentran y definen los objetivos


globales para el software, identifican los requisitos conocidos y las
reas del esquema en donde es obligatoria ms definicin.
Entonces aparece un diseo rpido que se va refinando
realizando en mismo procedimiento hasta llegar al producto final.

Ingenieria de Software
Orientada a Objetos

MCC Ramon Mora Marquez - UVP

10

Modelo Desarrollo Rpido de


Aplicaciones

El modelo RAD es una adaptacin a alta velocidad del modelo


lineal secuencial en el que se logra el desarrollo rpido utilizando
una construccin basada en componentes.

Ingenieria de Software
Orientada a Objetos

MCC Ramon Mora Marquez - UVP

11

Modelo Incremental

El modelo incremental combina elementos del modelo lineal


secuencial (aplicados repetidamente) con la filosofa interactiva
de construccin de prototipos.

Ingenieria de Software
Orientada a Objetos

MCC Ramon Mora Marquez - UVP

12

Agenda
Anlisis

OO - (OOA)

Casos de uso
Clases Modelo conceptual
Diagrama de secuencia
Contratos

Diseo

OO (OOD)

Casos de uso reales


Modelo Dinmico
Diagramas de comunicacin
Diagramas de actividades
MCC RAMON MORA
MARQUEZ - UVP

13

IN
GE
NIE
RIA
DE
L
SO
FT
WA
RE
ORI
EN
TA
DO
A
OBJ
ET
OS

Introduccin
70-80

Crisis del Software.

Mucho tiempo en desarrollo y Fuera del


presupuesto.
No cumpla con las especificaciones.
Sistemas poco flexibles y difcil dar
mantenimiento
90

Corriente de Orientacin a objetos


para resolver este problema
Surgieron varias metodologas Booch,
OMT, OOSE
Surge paradigma POO
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

14

Metodologas
Booch

(OOAD)
CASEIode (CCM)
Coad-Yourdon- Nicola (OOA,OOD)
NE University (Demeter)
Object Engin. (Fresco)
Hewlett-Packard (Fusion)
Graham (SOMA)
Texas Instruments (IE\O)
ICL (MTD)
ParcPlace (OBA)
Jacobson (OOSE)
Olivetti (OGROUP)
Martin-Odell (OOIE)
TASKON (OORAM)
Winter (OSMOSYS)
Rumbaugh (OMT)
LBMS (SE/OT)
Shlaer/Mellor (OOSA)
CCTA (SSADM)
Wirfs-Brock (RDD)
Lloyds Register (Z++)
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

15

Paradigma Orientado a
Objetos
La

Orientacin a Objetos se basa


en estas ideas: un programa es
un mundo que representa un
subconjunto del mundo real

POO

- Tcnica de programacin
cuyo soporte fundamental es el
"objeto
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

16

Objeto
Es

la representacin de alguna
cosa en el dominio del problema
(mundo real) que refleja la
capacidad de un sistema de
alcanzar informacin alrededor
de l.
POO define objeto como:
Extensin de un Tipo Abstracto
de Datos (TAD), Un TAD es un
tipo definido por el usuario, que
encapsula un conjunto de datos y
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

17

Ventajas
Mdulos

con fuerte cohesin interna y


escaso acoplamiento externo
Facilita el funcionamiento en entorno
multiprocesador
Correspondencia directa con el mundo
real
Prototipos rpidos
Herramientas y bibliotecas muy amplias
Aplicaciones construidas enganchando
objetos
Mejor comprensin y mantenimiento
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

18

Desventajas
Impactos

desfavorables sobre
espacio y tiempo de ejecucin
Forma de pensar diferente: curva
de aprendizaje lenta
Herencia y enlace dinmico
dificulta las pruebas

UVP - MCC Ramon Mora


Marquez

Ingenieria de Software Orientado a


Objetos

19

OO: : Abstraccin
Quitar

las propiedades y acciones de un objeto para


dejar solo aquellos que sean necesarios.

Proceso

mental por el que se evitan los detalles para


centrarse en las cosas ms genricas de manera que
se facilite su comprensin

Es

el principio de ignorar los aspectos de un sujeto


que no son relevantes en un propsito de orden de
concentracin ms exacto.

Proceso

de representar entidades reales como


elementos internos a un programa recibe el nombre
de abstraccin.
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

20

OO: Clases
21

Clase:

Es una
descripcin de un
conjunto de objetos
similares. Por ejemplo
la clase Coches. Una
clase contiene los
atributos y las
operaciones sobre
esos atributos que
hacen que una clase
tenga la entidad que
se desea.

Ingenieria de Software Orientado a Objetos

UVP - MCC Ramon Mora


Marquez

OO: Herencia
Es

un mecanismo mediante el cual se puede crear


una nueva clase partiendo de una existente, se
dice entonces que la nueva clase hereda las
caractersticas de la case existentes aunque se le
puede aadir ms capacidades (aadiendo datos o
capacidades) o modificar las que tiene.

La

herencia es un mecanismo que para expresar


similaridad entre clases, simplificando definiciones
de clases similares previamente detenidas.
La herencia simple es cuando el lenguaje slo permite
que una clase derive de una clase.
La herencia mltiple es cuando una clase puede ser
derivada de ms de una clase.
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

22

OO: Herencia
23

Ingenieria de Software Orientado a Objetos

UVP - MCC Ramon Mora


Marquez

OO: Herencia
24

Ingenieria de Software Orientado a Objetos

UVP - MCC Ramon Mora


Marquez

OO: : Polimorfismo
Hace

referencia a la posibilidad de que


dos mtodos implementen distintas
acciones, aun teniendo el mismo
nombre, dependiendo del objeto que lo
ejecuta o de los parmetros que recibe.

Es

cuando una clase tiene varios


procedimientos con el mismo nombre,
pero con distinto tipo y/o nmero de
argumentos
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

25

OO: Polimorfismo
26

Ingenieria de Software Orientado a Objetos

UVP - MCC Ramon Mora


Marquez

OO: Encapsulamiento
(ocultamiento

de datos)Se refiere
al hecho de que ningn
programador ni de ninguna otra
parte de un programa se pueda
tener acceso a los datos de un
objeto en forma directa, sino a
travs de los procedimientos del
objeto.
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

27

OO: Encapsulamiento

UVP - MCC Ramon Mora


Marquez

Ingenieria de Software Orientado a


Objetos

28

OO: Envi de mensajes


Los

objetos se envan mensajes


entre si para realizar operacin y
trabajar en conjunto

Los

mensajes mandan una


peticin de accin a un objeto,
mientras que los mtodos del
objeto deciden cmo llevar a
cabo la accin.
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

29

OO: Envi de mensajes

UVP - MCC Ramon Mora


Marquez

Ingenieria de Software Orientado a


Objetos

30

Principios bsicos del


modelado
El

proceso a seguir para realizar


desarrollo orientado a objetos es
complejo, debido a la
complejidad que nos vamos a
encontrar al intentar desarrollar
cualquier sistema software de
tamao medio-alto.

UVP - MCC Ramon Mora


Marquez

Ingenieria de Software Orientado a


Objetos

31

Principios bsicos del


modelado
Planificacin

y Especificacin de
Requisitos: Planificacin, definicin de
requisitos, construccin de prototipos.
Construccin: La construccin del sistema.
Diseo de Alto Nivel: Se analiza el problema
construyendo un modelo conceptual.
Diseo de Bajo Nivel: El sistema definido en la fase
anterior se especifica en detalle.
Implementacin:

Se lleva a un lenguaje de

programacin.
Pruebas: Corroborar que el software funciona
correctamente y que satisface lo especificado
Instalacin: La puesta en marcha del sistema
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

32

Principios bsicos del


modelado

UVP - MCC Ramon Mora


Marquez

Ingenieria de Software Orientado a


Objetos

33

Anlisis y diseo OO

UVP - MCC Ramon Mora


Marquez

Ingenieria de Software Orientado a


Objetos

34

Anlisis OO
Cul

es el comportamiento que
se desea en el sistema?
Qu objetos existen en el
sistema?
Cules son las misiones de los
objetos para llevar a cabo el
comportamiento deseado del
sistema?
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

35

Diseo OO:
Modelo

lgico

Qu clases existen y como se relacionan


estas clases?
Qu mecanismos se utilizan para regular la
forma en que los objetos colaboran?
Modelo

fsico

Dnde debera declararse y construirse


cada clase y objeto?
A qu procesador debera asignarse un
proceso, y para un procesador dado, cmo
deberan planificarse sus mltiples procesos?
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

36

Proceso de Anlisis y Diseo


Preliminar
Ttulo de la aplicacin

1.

El ttulo de una aplicacin debe reflejar de la mejor


forma posible sus fines y su funcionalidad

Documentos de anlisis

2.

Son la documentacin que aporta el cliente que encarga


la aplicacin
Tambin es la documentacin elaborada de forma
informal en reuniones de trabajo para entender las
solicitudes del cliente

Especificacin de Requisitos o Requerimientos

3.

Es la especificacin ms tcnica y elaborada de los


documentos de anlisis
Es importante codificar los requisitos para poder
seguirlos a lo largo del proceso de construccin del
software
UVP - MCC Ramon Mora
Marquez

Ingenieria de Software Orientado a


Objetos

37

Proceso de Anlisis OO
Diagramas de Casos de Uso
Escenarios y sub-escenarios
Diagramas de Secuencia
Diccionario de datos

UVP - MCC Ramon Mora


Marquez

Ingenieria de Software Orientado a


Objetos

38

Procesos del Diseo OO


Diagramas
Diagramas
Diagramas
Diagramas
Diagramas

de Colaboracin
Estticos
de Actividad
de Estados
de implementacin

UVP - MCC Ramon Mora


Marquez

Ingenieria de Software Orientado a


Objetos

39

Vous aimerez peut-être aussi