Академический Документы
Профессиональный Документы
Культура Документы
1.- Introducción.
La programación orientada a Objetos surgió en los años 70. Como ha ocurrido
con otras metodologías de desarrollo del software los conceptos O.O. se extendieron
hacia atrás dándose forma al Diseño orientado a Objetos, pero dejándose de lado el
Análisis. En la actualidad son varias las metodologías de Análisis Orientado a Objeto
que se han desarrollado, UML se perfila como estándar. Vamos a estudiar una de las
primeras que surgieron, ya que ofrecen un enfoque relativamente simple e intuitivo.
Esta es la metodología debida a Coad y Yourdon que tiene su continuación en un
Diseño Orientado a Objetos.
Una de las ventajas que ofrece el enfoque orientado a objeto es que permite
mantener un lenguaje común entre las diferentes fases del ciclo de vida, evitándose el
problema que surge en las metodologías estructuradas relativo al cambio de
nomenclatura al pasar de una fase a otra por cambiarse de herramienta o modo de
expresión o al realizar el estudio de los procesos y de los datos.
Una de las razones de ese paso de metodologías estructuradas a las orientadas a
objeto se deben en parte a que los sistemas a desarrollar son mucho más grandes y
complejos, dándose cada vez más importancia a las interfaces de usuario. Por otra parte
se consigue una complejidad funcional mucho menor y llegando a darse más
importancia al modelado de los datos.
En el conocimiento del mundo real, se emplean 3 métodos de organización:
1.- Se diferencia entre los objetos particulares y sus características (o atributos).
Ej. Un árbol, su tamaño, y su relación con otros objetos
2.- Distinción entre objetos (como un todo) y las partes que los componen. Ej.:
El árbol y las ramas que lo componen.
3.- La formación de, y la distinción entre clases de objetos. Ej. Clase de los
arboles, de piedras...
1
Ingenieria del software Analisis Orientado a Objetos. Una metodología.
2
Ingenieria del software Analisis Orientado a Objetos. Una metodología.
3
Ingenieria del software Analisis Orientado a Objetos. Una metodología.
Terminología:
4
Ingenieria del software Analisis Orientado a Objetos. Una metodología.
objetos de
la clase
clase
5
Ingenieria del software Analisis Orientado a Objetos. Una metodología.
a) Estructura Generalización-Especialización.
6
Ingenieria del software Analisis Orientado a Objetos. Una metodología.
Generalizacion
Especializacion Especializacion
Jerarquía y entramado.
La forma más común de expresar una Generalización-Especialización es en una
jerarquía de Gen-Espec. También pueden representarse en forma de entramado:
Resalta especializaciones adicionales, e incrementa la complejidad del modelo.
7
Ingenieria del software Analisis Orientado a Objetos. Una metodología.
b) Estructura Todo-Parte
Este es uno de los métodos básicos que utiliza la mente humana en la
elaboración de cualquier razonamiento. También ayuda en el estudio del dominio del
problema.
Se representa como un objeto Todo en la parte superior del esquema, y un objeto
Parte debajo, uniendo ambos componentes una línea con un triángulo. La notación es
direccional, por lo que la estructura podría ser representada en cualquier ángulo.
Todo
1,m 1,m
1 1
Parte Parte
c) Estructuras múltiples.
Las estructuras múltiples incluyen varias combinaciones de Estructuras Gen-
Espec., y Todo-Parte
8
Ingenieria del software Analisis Orientado a Objetos. Una metodología.
cada área. Las áreas ayudan al analista a revisar el modelo, considerando las áreas
comprendidas en el dominio del problema y las responsabilidades del problema bajo su
consideración.
Hay 3 modos de representarlos:
a) Notación reducida. Sólo figura el nombre del área.
1. Area1
1. Area2
.
b) Notación parcialmente expandidas. Figuran clases y objetos
1 1 2 2
9
Ingenieria del software Analisis Orientado a Objetos. Una metodología.
C la se y O bjeto C la se y O bjeto
1,m 1
10
Ingenieria del software Analisis Orientado a Objetos. Una metodología.
Casos especiales.
.- Clase y objeto con un solo atributo. Es un caso raro pero que puede ocurrir.
Hay que comprobar que realmente está bien definida la clase y objeto de este modo.
.- Un atributo con n valores repetidos. En estos casos, revisar la definición de
clases y objetos, para ver la posibilidad de descomponer la clase y objeto con e l
atributo de valores repetido en 2 clases y objeto.
4 Nombrar atributos.
Nombrar cada atributo con el nombre más apropiado. Deben ser legibles y
suficientemente claros
Proceso 1 Proceso 1
Proceso 2 Proceso 2
11
Ingenieria del software Analisis Orientado a Objetos. Una metodología.
potenciales. Los estados por los que pasa un objeto en el tiempo se representa mediante
los Diagramas de Estado en los que se representan también las transiciones de un estado
a otro.
* Identificar procesos.
Podemos distinguir entre los procesos algorítmicamente simples y los
algoritmicamente complejos:
Procesos algoritmicamente simples:
Se aplican a todos y cada uno de los objetos del modelo. Su modo de operación
es siempre el mismo. Entre ellos:
Crear: Crea un objeto en una clase. También lo inicializa.
Conectar: Conecta/desconecta un objeto a otro Establece relaciones entre ellos.
Acceder: Toma o asocia los valores de un atributo a un objeto
Liberar: Libera ( desconecta o borra) un objeto.
Procesos algoritmicamente complejos. Podemos distinguir 2 categorías
- Calcular. Calcula el resultado a partir de los valores de un atributo de un
objeto.
- Monitorizar: Controla el Sistema. o un dispositivo externo. Trabaja con E/S.
Proceso 1 Proceso 1
Proceso 2 Proceso 2
12
Ingenieria del software Analisis Orientado a Objetos. Una metodología.
Para identificar las conexiones de mensaje necesarias, para cada objeto hay que
considerar:
- De qué otros objeto necesita información este proceso. Dibujar la
correspondiente conexión de mensaje.
- Que otros objeto necesitan información de este..
- Repetir el proceso para cada objeto.
13