Está en la página 1de 9

Actividades y Ejercicios

COMPROBACION DE SOFTWARE4ta. UNIDAD

Anlisis y diseo de oo
Presente un caso donde se desarrolle el modelo de anlisis y diseo orientado a
objetos. Describa su desarrollo paso a paso. Enva tu archivo a travs de este
medio.

Anlisis y diseo orientado a objetos (ADOO). En este mtodo de anlisis y diseo


se crea un conjunto de modelos utilizando una notacin acordada como, por
ejemplo, el lenguaje unificado de modelado (UML). ADOO aplica tcnicas de
modelado de objetos para analizar los requerimientos para un contexto - por
ejemplo, un sistema de negocio, un conjunto de mdulos de software - y para
disear una solucin para mejorar los procesos involucrados. No est restringido al
diseo de programas de computadora, sino que cubre sistemas enteros de distinto
tipo. Las metodologas de anlisis y diseo ms modernas son casos de uso
guiados a travs de requerimientos, diseo, implementacin, pruebas, y
despliegue.
En el AOO deben llevarse a cabo las siguientes actividades:

La identificacin de clases semnticas, atributos y servicios


Identificacin de las relaciones entre clases (generalizaciones, agregaciones y
asociaciones).
El emplazamiento de las clases, atributos y servicios.
La especificacin del comportamiento dinmico mediante paso de mensajes.

En el DOO deben llevarse a cabo las siguientes actividades:

Aadir las clases interfaz, base y utilidad.


Refinar las clases semnticas.

Pasos del Diseo Orientado a Objetos


1. Definicin del problema
2. Desarrollo informal de la forma de procesamiento para la realizacin del
software
3. Formalizacin de la forma de procesamiento
a. Identificar los objetos y sus atributos
b. Identificar las operaciones de los objetos
c. Establecer las interfaces que muestren las relaciones entre los objetos y las
operaciones
d. Crear un diseo detallado que proporcione una descripcin de la
implementacin de los objetos

PROCESO DEL ANLISIS Y DISEO ORIENTADO A LOS OBJETOS


1 INGENIERIA DE SISTEMAS E INFORMATICA
Edwin Antonio

Alumno : Castro Rosado,

El resultado del diseo orientado a objetos es una jerarqua de clases.Los


elementos iniciales de un ADOO son los propios objetos, y posteriormente,
amedida que se van identificando aspectos comunes, los objetos se vanagrupando
en clases, que a su vez sern subclases de clases ms abstractas.
Los mtodos estructurados y sus correspondientes notaciones definen unsistema
como un conjunto secuencial de mdulos interdependientes quecomparten datos.
En cambio, los mtodos orientados a objetos definen unconjunto de mdulos
independientes relacionados y con visibilidad limitadaentre ellos.
Pasos del ADOO
Esencialmente, el DOO consta de cuatro pasos fundamentales:
a. Identificacin y definicin de objetos y clases
b. Organizacin de relaciones entre clases
c. Extraccin de estructuras en una jerarqua de clases
d. Construccin de bibliotecas de clases reutilizables
Como en todas las fases de Ingeniera del Software, el DOO es cclico, esdecir, los
diseadores comienzan definiendo un conjunto de clases, que seamplan,
modificany vuelta a empezar.
Identificacin y definicin de objetos
El principal problema del desarrollo de un sistema orientado a objetos esencontrar
los objetos en la fase de AOO y DOO.
El mtodo que utilizaremos para la identificacin de objetos es el propuesto
porBooch en 1983, que dio origen al mtodo gramatical.
Esta metodologa sugiere que se comience con una descripcin textual delsistema
deseado y que el diseador vea:
A los nombres como posibles identificadores de las clases de los objetos
A los verbos como posibles mtodos
La lista resultante de clases (nombres) y mtodos (verbos) se utilizar
paracomenzar el proceso de diseo.
EJEMPLO:
Se desea disear el software necesario para una red bancaria provista de cajeros
automticos (ATM, automaticteller machines), que sern compartidos por un
consorcio de bancos. Cada banco dispone de su propio ordenador, provisto de
software propio, que lleva la informacin sobre sus cuentas y procesa las
transacciones que actan sobre dichas cuentas. A este ordenador estn
conectadas las estaciones de cajero, que son propiedad del banco y en las que
operan cajeros humanos, que pueden crear cuentas e introducir transacciones
sobre ellas.
Los cajeros automticos aceptan tarjetas de crdito, interaccionan con el usuario,
se comunican con un ordenador central para llevar a cabo las transacciones,
entregan dinero en efectivo al usuario e imprimen recibos. El sistema llevar
correctamente el registro de las transacciones efectuadas, cumplir caractersticas
2 INGENIERIA DE SISTEMAS E INFORMATICA
Edwin Antonio

Alumno : Castro Rosado,

aceptables de seguridad y manejar correctamente accesos concurrentes a la


misma cuenta.
El coste de desarrollo de la parte compartida del sistema se dividir entre los
bancos que forman parte del consorcio en funcin del nmero de clientes provistos
de tarjetas de crdito.
Expresar los requisitos como Casos de Uso
Preparar escenarios detallados. Primero los normales. Despus se aaden los
problemas que pueden surgir. En el ejemplo de los cajeros automticos:
Escenario normal:
El cajero automtico pide al cliente que inserte la tarjeta de crdito.
El cliente inserta la tarjeta de crdito.
El cajero automtico acepta la tarjeta de crdito y lee el nmero de tarjeta y el
cdigo del banco.
El cajero automtico pide la contrasea al cliente.
El cliente teclea "1234".
El cajero automtico enva el nmero de tarjeta, el cdigo del banco y la
contrasea al consorcio.
El consorcio enva el nmero de tarjeta y la contrasea al banco.
El banco notifica la aceptacin al consorcio.
El consorcio notifica la aceptacin al cajero automtico.
El cajero automtico pide al cliente que elija el tipo de transaccin: retirada de
fondos, depsito, transferencia, informacin.
El cliente selecciona retirada de fondos.
El cajero automtico pide al cliente que teclee la cantidad.
El cliente teclea 25000.
El cajero automtico comprueba que la cantidad est dentro de los lmites
generales.
El cajero automtico genera una transaccin y la enva al consorcio.
El consorcio pasa la transaccin al banco.
El banco aprueba la transaccin.
El banco actualiza la cuenta.
El banco enva al consorcio la notificacin de aceptacin y el nuevo saldo de la
cuenta.
El consorcio enva al cajero automtico la notificacin de aceptacin y el nuevo
saldo de la cuenta.
El cajero automtico entrega el dinero al cliente.
El cliente toma el dinero.
El cajero automtico pregunta al cliente si quiere un recibo.
El cliente contesta SI.
El cajero automtico imprime un recibo y pide al cliente que lo tome.
El cliente toma el recibo.
El cajero automtico pregunta al cliente si quiere hacer otra operacin.
El cliente contesta NO.
El cajero automtico expulsa la tarjeta de crdito e indica al cliente que la tome.
3 INGENIERIA DE SISTEMAS E INFORMATICA
Edwin Antonio

Alumno : Castro Rosado,

El cliente toma la tarjeta de crdito.


El cajero automtico vuelve a la situacin inicial.
Escenario con problemas:
El cajero automtico pide al cliente que inserte la tarjeta de crdito.
El cliente inserta la tarjeta de crdito.
El cajero automtico acepta la tarjeta de crdito y lee el nmero de tarjeta y el
cdigo del banco.
El cajero automtico pide la contrasea al cliente.
El cliente teclea "9999".
El cajero automtico enva el nmero de tarjeta, el cdigo del banco y la
contrasea al consorcio.
El consorcio enva el nmero de tarjeta y la contrasea al banco.
El banco notifica el rechazo al consorcio.
El consorcio notifica el rechazo al cajero automtico.
El cajero automtico notifica el rechazo al cliente y pide que teclee de nuevo la
contrasea.
El cliente teclea "1234".
El cajero automtico enva el nmero de tarjeta, el cdigo del banco y la
contrasea al consorcio.
El consorcio enva el nmero de tarjeta y la contrasea al banco.
El banco notifica la aceptacin al consorcio.
El consorcio notifica la aceptacin al cajero automtico.
El cajero automtico pide al cliente que elija el tipo de transaccin: retirada de
fondos, depsito, transferencia, informacin.
El cliente selecciona retirada de fondos.
El cajero automtico pide al cliente que teclee la cantidad.
El cliente teclea CANCELAR.
El cajero automtico expulsa la tarjeta de crdito e indica al cliente que la tome.
El cliente toma la tarjeta de crdito.
El cajero automtico vuelve a la situacin inicial.
Modelo de objetos
Consta de los siguientes pasos:
Identificar objetos y clases
Identificar y depurar relaciones
Identificar atributos de objetos y relaciones
Aadir herencia
Comprobar los casos de uso (iterar)
Modularizar
Aadir y simplificar mtodos
Identificar objetos y clases
Consta de los siguientes pasos:
Seleccionar nombres en los requisitos
4 INGENIERIA DE SISTEMAS E INFORMATICA
Edwin Antonio

Alumno : Castro Rosado,

Aadir clases adicionales procedentes de nuestro conocimiento del tema


Eliminar redundancias
Eliminar clases irrelevantes
Eliminar clases vagas
Separar atributos
Separar mtodos
Eliminar objetos de diseo
Resultado: Preparar diccionario de clases
En el ejemplo de los cajeros automticos:

Seleccionar nombres en los requisitos


Los nombres extrados de los requisitos en lenguaje natural del sistema de
cajeros automticos son los siguientes (23):
Software, Red bancaria, Cajero automtico, Consorcio de bancos, Banco,
Ordenador del banco, Cuenta bancaria, Informacin sobre la cuenta,
Transaccin, Estaciones de cajero, Cajero humano, Tarjeta de crdito, Usuario,
Ordenador central, Dinero en efectivo, Recibo, Sistema, Registro de
transacciones, Caractersticas de seguridad, Acceso a la cuenta, Coste de
desarrollo, Parte compartida, Cliente.

Aadir clases adicionales procedentes de nuestro conocimiento del tema


Podemos aadir la clase Lnea de comunicaciones.

Eliminar redundancias
Cliente y Usuario son la misma clase. Nos quedamos con Cliente por adaptarse
mejor al concepto.

Eliminar clases irrelevantes


Coste de desarrollo no tiene nada que ver con el problema, queda fuera del
sistema.

Eliminar clases vagas


Sistema, Caractersticas de seguridad, Red bancaria y Parte compartida
pueden considerarse vagas.

Separar atributos
Los atributos definen datos asociados a un objeto, en lugar de objetos. Aunque
la separacin no es clara (los atributos pueden ser objetos embebidos) en
algunos casos se pueden distinguir. En el ejemplo, pueden considerarse
atributos Informacin sobre la cuenta, (atributo de Cuenta bancaria), Dinero en
efectivo y Recibo (atributos de Cajero automtico).

Separar mtodos
Algunos nombres (por ejemplo, Llamada telefnica) definen realmente
operaciones o eventos.
5 INGENIERIA DE SISTEMAS E INFORMATICA
Edwin Antonio

Alumno : Castro Rosado,

Eliminar objetos de diseo


Todas las clases que corresponden ms a la solucin del problema que a la
situacin real, deben considerarse objetos de diseo y eliminarse en la fase del
anlisis. En el ejemplo, eliminaremos Registro de transacciones, Lnea de
comunicaciones, Acceso a la cuenta y Software.

Resultado. Del anlisis anterior, resultan seleccionadas las siguientes clases (11):
Cajero automtico, Consorcio de bancos, Banco, Ordenador del banco, Cuenta
bancaria, Transaccin, Estaciones de cajero, Cajero humano, Tarjeta de crdito,
Ordenador central, Cliente.
El diccionario de clases contiene la definicin detallada de todas estas clases en
lenguaje natural. Ejemplo:
Cajero automtico: Terminal remoto que permite a los clientes realizar
transacciones utilizando tarjetas de crdito para identificarse. El cajero automtico
interacciona con el cliente para identificar la transaccin deseada y sus datos
asociados, enva esta informacin al ordenador central para su validacin y
proceso, y entrega al usuario dinero en efectivo y un recibo. Suponemos que el
cajero automtico no opera cuando est desconectado de la red.
Consorcio de bancos: Conjunto organizado de bancos que lleva la gestin de los
cajeros automticos. Suponemos que slo se gestionan transacciones para los
bancos que pertenecen al consorcio.
Banco: Institucin financiera que maneja las cuentas bancarias de sus clientes y
emite tarjetas de crdito que facilitan el acceso a dichas cuentas a travs de la red
de cajeros automticos.
Identificar y depurar relaciones
Consta de los siguientes pasos:

Seleccionar verbos relacionales en los requisitos


Aadir relaciones adicionales procedentes de nuestro conocimiento del tema
Eliminar relaciones de diseo o entre clases eliminadas
Eliminar eventos transitorios
Reducir relaciones ternarias
Eliminar relaciones redundantes o derivadas
Aadir relaciones olvidadas
Definir la multiplicidad de cada relacin

En el ejemplo de los cajeros automticos:


Seleccionar verbos relacionales en los requisitos
1. Una Red bancaria est provista de Cajeros automticos.
2. El Consorcio de bancos comparte los Cajeros automticos.
6 INGENIERIA DE SISTEMAS E INFORMATICA
Edwin Antonio

Alumno : Castro Rosado,

3. Cada Banco dispone de un Ordenador del banco.


4. El Ordenador del banco dispone de Software.
5. El Ordenador del banco lleva la informacin sobre las Cuentas bancarias.
6. El Ordenador del banco procesa Transacciones.
7. Una Transaccin acta sobre una Cuenta bancaria.
8. Las Estaciones de cajero estn conectadas al Ordenador del banco.
9. Las Estaciones de cajero son propiedad del Banco.
10. El Cajero humano opera en la Estacin de cajero.
11. El Cajero humano crea Cuentas bancarias.
12. El Cajero humano introduce Transacciones sobre las Cuentas bancarias.
13. Los Cajeros automticos aceptan Tarjetas de crdito.
14. Los Cajeros automticos interaccionan con el Usuario.
15. Los Cajeros automticos comunican con el Ordenador central.
16. El Ordenador central lleva a cabo las Transacciones.
17. Los Cajeros automticos entregan Dinero en efectivo al Usuario.
18. Los Cajeros automticos imprimen Recibos.
19. El Sistema lleva el Registro de las transacciones.
20. El Sistema cumple Caractersticas de seguridad.
21. El Sistema maneja Accesos concurrentes a la Cuenta bancaria.
22. El Coste de desarrollo se divide entre los Bancos.
23. Los Bancos forman parte del Consorcio.
24. Los Clientes estn provistos de Tarjetas de crdito.
Relaciones adicionales implcitas en el texto:
Las Cuentas bancarias estn en los Bancos.
El Ordenador central pertenece al Consorcio.
Los Bancos tienen Clientes.
Aadir relaciones adicionales procedentes de nuestro conocimiento del tema
28. Las Tarjetas de crdito estn asociadas a las Cuentas bancarias .
29. Los Cajeros humanos son empleados de los Bancos.
Eliminar relaciones de diseo o entre clases eliminadas
Eliminamos las relaciones nmeros 1, 4, 17, 18, 19, 20, 21, 22.
Eliminar eventos transitorios
Son sucesos que pertenecen al modelo dinmico y no constituyen relaciones
estructurales (estticas) entre los objetos.
Eliminamos las relaciones nmeros 13 y 14. Otras veces conviene
reformularlas, como en el caso de la nmero 16, el Ordenador central lleva a
cabo las Transacciones, que debera sustituirse por:
16 a. El Ordenador central se comunica con el Banco.
Reducir relaciones ternarias
Son relaciones entre tres o ms clases. Muchas veces es posible descomponerlas
en varias relaciones binarias (entre dos clases). Por ejemplo, la relacin nmero 12
7 INGENIERIA DE SISTEMAS E INFORMATICA
Edwin Antonio

Alumno : Castro Rosado,

(El Cajero humano introduce Transacciones sobre las Cuentas bancarias) puede
descomponerse en:
12a. El Cajero humano introduce Transacciones
12b. Las Transacciones actan sobre las Cuentas bancarias.
De igual modo, la nmero 17 puede descomponerse as:
17a. Los Cajeros automticos entregan Dinero en efectivo.
17b. El Usuario recoge el Dinero en efectivo.
Eliminar relaciones redundantes o derivadas
Por ejemplo, la relacin nmero 2 es una combinacin de las relaciones nmero 15
y 26. Hay que tener cuidado, sin embargo, de no eliminar relaciones
aparentemente redundantes, pero que en realidad son necesarias (por ejemplo, si
la multiplicidad es distinta).
Aadir relaciones olvidadas
Por ejemplo:
30. Los Clientes tienen Cuentas.
31. Las Transacciones son autorizadas por la Tarjeta de crdito.
32. Las Transacciones pueden introducirse en una Estacin de cajero.
Definir la multiplicidad de cada asociacin
Un Banco puede contener muchas Cuentas.
Un Cliente puede tener muchas Cuentas.
Un Cliente puede tener muchas Tarjetas de crdito.
Un Banco emplea muchos Cajeros.
Un Banco tiene un solo Ordenador del banco.
El Ordenador central se comunica con muchos Ordenadores del banco.
Etc.
El resultado de estas operaciones es un esqueleto del modelo de clases sin
herencia.
Identificar atributos de objetos y relaciones
Consta de los siguientes pasos:

Distinguir los objetos de los atributos


Distinguir entre los atributos de objetos y de relaciones
El identificador del objeto es siempre un atributo implcito
Eliminar atributos privados (de diseo)
Eliminar atributos de detalle fino
Localizar atributos discordantes (dividir la clase)

En el ejemplo de los cajeros automticos:

Atributos de los objetos


o Del Banco: Nombre.
o De la Cuenta: Saldo, Lmite de crdito, Tipo de cuenta.
8 INGENIERIA DE SISTEMAS E INFORMATICA
Edwin Antonio

Alumno : Castro Rosado,

o
o
o
o
o
o

Del Cliente: Nombre, Direccin.


Del Cajero: Nombre.
De una Transaccin del cajero: Tipo, Fecha y hora, Cantidad.
Del Cajero automtico: Efectivo disponible, Cantidad entregada.
De una Transaccin remota: Tipo, Fecha y hora, Cantidad.
De la Tarjeta de crdito: Clave, Cdigo del banco, Cdigo de la tarjeta.

Atributos de las relaciones


o 8 y 9: Cdigo de la estacin de cajero.
o 15: Cdigo del cajero automtico.
o 16a: Cdigo del banco.
o 23: Cdigo del banco.
o 25: Cdigo de la cuenta.
o 29: Cdigo de empleado.
o Aadir herencia

9 INGENIERIA DE SISTEMAS E INFORMATICA


Edwin Antonio

Alumno : Castro Rosado,

También podría gustarte