Professional Documents
Culture Documents
LABORATORIO N° 12
Alumno(s) Nota
Grupo A
Ciclo lll
Fecha de entrega 14/06/2018
I.- OBJETIVOS:
II.- SEGURIDAD:
Advertencia:
En este laboratorio está prohibida la manipulación del
hardware, conexiones eléctricas o de red; así como la
ingestión de alimentos o bebidas.
No aplica
IV.- RECURSOS:
En este laboratorio cada alumno trabajará con un equipo con Windows 10.
El análisis y diseño orientado a objetos (ADOO) es un enfoque de la ingeniería de software que modela un sistema
como un grupo de objetos que interactúan entre sí. Este enfoque representa un domino absoluto en términos de
conceptos compuestos por verbos y sustantivos, clasificados de acuerdo a su dependencia funcional. Todo sistema
de información requiere de artefactos o componentes (clases) para llevar a cabo tareas; es de gran importancia
dentro de la ingeniería de software tener un buen “análisis y diseño” para un mejor desarrollo, que conlleva a que
tan “escalabre” sea un sistema de información.
En este método de análisis y diseño se crea un conjunto de modelos utilizando la notación acordada como, por
ejemplo, el lenguaje unificado de modelado (UML).
ADOO aplica técnicas de modelado de objetos para analizar los requerimientos para un contexto (por ejemplo, un
sistema de negocio, un conjunto de módulos de software) y para diseñar una solución para mejorar los procesos
involucrados.
No está restringido al diseño de programas de computadora, sino que cubre sistemas enteros de distinto tipo. Las
metodologías de análisis y diseño más modernas son “casos de uso” guiados a través de requerimientos, diseño,
implementación, pruebas, y despliegue.
El lenguaje unificado de modelado se ha vuelto el lenguaje de modelado estándar usado en análisis y diseño
orientado a objetos.
El diseño orientado a objetos (DOO) es una fase de la metodología orientada a objetos para el desarrollo de software.
Su uso induce a desarrolladores y programadores a pensar en términos de objetos, en vez de procedimientos,
cuando planifican el código.
Un objeto agrupa datos encapsulados y procedimientos para representar una entidad. La “interfaz del objeto”, esto
es, las formas de interactuar con el objeto, también se definen en esta etapa. Un programa orientado a objetos se
caracteriza por la interacción de esos objetos.
El diseño orientado a objetos es la disciplina que define los objetos y sus interacciones para resolver un problema
de negocio que fue identificado y documentado durante el análisis orientado a objetos (AOO).
Nro. DD-106
Laboratorio de Ingeniería de Requerimientos Página 2 de 17
ARQUITECTURA TRADICIONAL
Conjunto cooperante de objetos encapsulados que interactúa por medio del envío de mensajes.
Los componentes de un sistema encapsulan los datos y las operaciones que se deben realizar para
manipular los datos. La comunicación y la coordinación entre componentes se consiguen a través del paso
de mensajes. La representación de los datos y sus operaciones primitivas son encapsuladas en un tipo de
datos abstracto u objeto.
Nro. DD-106
Laboratorio de Ingeniería de Requerimientos Página 3 de 17
o Como un objeto oculta su representación a sus clientes, es posible cambiar su implementación sin
modificar los clientes: modificabilidad.
o La integración de un conjunto de rutinas de acceso con los datos que manipulan permite a los
diseñadores descomponer los problemas en colecciones de agentes que interactúan.
o Para que un objeto interactúe con otro (mediante la invocación a un procedimiento) debe conocer
la identidad del otro objeto. Luego, cuando la identidad de un objeto cambie es necesario modificar
todas las invocaciones a tal objeto.
o Se pueden presentar efectos laterales: si los objetos A y C usan al objeto B, entonces los efectos
de C en B lucen como efectos laterales no esperados en A, y viceversa.
El modelo del diseño puede verse en dos dimensiones distintas, como se ilustra en la figura siguiente:
La dimensión del proceso indica la evolución del modelo de diseño conforme se ejecutan las tareas de éste como
parte del proceso del Software. La dimensión de la abstracción representa el nivel de detalle a medida que cada
elemento del modelo de análisis se transforma en un equivalente de diseño y luego se mejora en forma iterativa.
La línea punteada indica la frontera entre los modelos de análisis y de diseño. En ciertos casos, es posible hacer
una distinción entre ambos modelos. En otros, el modelo de análisis se mezcla poco a poco con el de diseño y la
distinción es menos obvia.
Estáticos: Estructura de subsistemas y/o clases, y sus relaciones. Se describe la estructura estática (de
datos), de los objetos del sistema (identidad, atributos y operaciones) y también sus relaciones. El modelo
de objetos contiene diagramas de objetos. Un diagrama de objetos es un grafo cuyos nodos son clases
de objetos y cuyos arcos son relaciones entre las clases. El diagrama contiene clases de objetos
organizados en jerarquías que comparten una estructura y comportamiento comunes y que están asociadas
a otras clases. Estas clases definen los atributos que lleva cada instancia de objeto y las operaciones que
efectúa o sufre cada uno. En cada instancia de la clase se guardan los valores de esos atributos.
o Diagrama de objetos: En UML, diagrama que muestra una vista completa o parcial de los objetos
de un sistema en un instante de ejecución específico. Es un gráfico de instancias, incluyendo objetos
y datos, de un diagrama de clases; muestra una “foto” del estado de un sistema en un punto de
tiempo determinado. Por tanto, comparten virtualmente los mismos símbolos de notación que los
diagramas de clases. Se generan en las disciplinas de arquitectura y diseño. Se utilizan para mostrar
estructuras de datos y las interacciones que existen entre objetos en tiempo de ejecución.
Un diagrama de objetos se enfoca en los atributos de un conjunto de objetos y cómo estos objetos
se relacionan entre sí.
Hay muchos casos en los que un desarrollador le resultaría útiles los diagramas de objetos. Dichos
casos incluyen:
- Objetos
- Títulos de clases
- Atributos de clases
- Enlaces
Nro. DD-106
Laboratorio de Ingeniería de Requerimientos Página 5 de 17
Dinámicos: Se describen las estructuras que muestra la interacción entre objetos. Ejemplos de UML:
diagramas de secuencia, diagramas de estado. Describen los aspectos de comportamiento (de control) de
un sistema que cambian con el tiempo. El modelo dinámico se utiliza para especificar e implementar los
aspectos del control del sistema. Los modelos dinámicos contienen diagramas de estados. Un diagrama
de estados es un grafo cuyos nodos son estados y cuyos arcos son transiciones entre estados causadas
por sucesos o eventos. Se especifican en este modelo la temporización y secuencia de operaciones
(sucesos que marcan los cambios, secuencias de sucesos, estados que definen el contexto para los
sucesos), y la organización de sucesos y de estados. El modelo dinámico captura el control, aquel aspecto
de un sistema que describe las secuencias de operaciones que se producen sin tener en cuenta lo que
hagan las operaciones, aquello a lo que afecten o la forma en la que estén implementadas. Las acciones
de los diagramas de estado se corresponden con funciones procedentes del modelo funcional; los sucesos
de un diagrama de estado pasan a ser operaciones que se aplican a objetos dentro del modelo de objetos.
o Diagramas de estado: Muestran una máquina de estado. Son útiles para modelar la vida de un
objeto. Muestran el flujo de control entre estados (en qué estados posibles puede estar “cierto algo”
y cómo se producen los cambios entre dichos estados). P. ej.: De la pregunta “¿en qué estado (de
ánimo) se encuentra usted y cómo cambia su estado de ánimo?”, se tiene el siguiente diagrama de
estados:
Un estado es una condición o situación en la vida de un objeto durante la cual satisface una condición,
realiza alguna actividad o espera algún evento.
Una transición es una relación entre dos estados que indica que un objeto que esté en el primer estado
realizará ciertas acciones y entrará en el segundo estado cuando ocurra un evento especificado y se
satisfagan unas condiciones especificadas.
o Diagrama de casos de uso: Es una forma de diagrama de comportamiento UML mejorado. Los
diagramas de casos de uso son a menudo confundidos con los casos de uso. Mientras que los
conceptos están relacionados, los casos de uso son mucho más detallados que los diagramas de
casos de uso. El diagrama de casos de uso puede representar uno o varios casos de uso. Hay que
tener en cuenta que cada caso de uso representa una funcionalidad del Software que se va a
construir.
El diagrama de casos de uso representa la forma en como un Cliente (Actor) opera con el sistema
en desarrollo, además de la forma, tipo y orden en cómo los elementos interactúan (operaciones o
casos de uso).
- Caso de uso
- Actor
- Comunicación
- Entorno del sistema
Nro. DD-106
Laboratorio de Ingeniería de Requerimientos Página 9 de 17
Caso de uso
Actores
Resumen
Pre-condiciones
Post-condiciones
Incluye
Extiende
Hereda de
Flujo de eventos
Actor Sistema
Nro. DD-106
Laboratorio de Ingeniería de Requerimientos Página 10 de 17
Como ejemplo:
- Inclusión
- Extensión
- Herencia
- Herencia
Relaciones entre casos de uso – Inclusión: Un caso de uso A incluye a un caso de uso B, si una
instancia de A puede realizar todos los eventos que aparecen descritos en B.
Relaciones entre casos de uso – Extensión: Un caso de uso B extiende a un caso de uso A, si
en la descripción de A figura una condición cuyo cumplimiento origina la ejecución de todos los
eventos que aparecen descritos en B.
Relaciones entre casos de uso – Herencia: Un caso de uso B especializa a un caso de uso A, si
el flujo de eventos de B es un refinamiento de flujo de eventos de A.
Actor antecesor
Actores
descendientes
VII.- PROCEDIMIENTO:
“Un sistema de ventas de productos diversos, el cual emite boletas de pago o facturas, según requerimiento del
cliente, por producto(s) vendido(s). La venta únicamente puede ser efectuada por un cajero, quien registra los
datos principales del cliente y de los productos que se están vendiendo. Los productos deben ser buscados por su
categoría, para luego ser agregados al comprobante de pago.
De acuerdo a la cantidad de productos que ha comprado el cliente, se determinará si tiene alcance a un descuento
en su próxima compra, estableciéndose las fechas de inicio y fin de tal descuento. Para ello, un encargado de
Post-Venta revisará las cantidades compradas por los clientes a la fecha, determinará el descuento y lo comunicará
al cliente, vía correo electrónico.
El sistema debe tener la capacidad de emitir reportes de ventas efectuadas en un tiempo determinado, los cuales
se entregarán al gerente de ventas.”
Registrar Datos del Cliente
Registrar Datos del Producto
Conceder Descuento
Comunicar Descuento
Emitir Reportes
Evento 5. El cajero
procederá ahora con los
productos
Nro. DD-106
Laboratorio de Ingeniería de Requerimientos Página 14 de 17
Diagrama de clases (considerando todos los tipos de relación que se puedan establecer)
Diagrama de estados (de acuerdo a los cambios de estado que se puedan producir en el sistema)
El informe se presentará a muy tardar el día jueves 14-06-2018, a las 23.50 horas, adjuntándolo en la plataforma
Canvas.
Nro. DD-106
Laboratorio de Ingeniería de Requerimientos Página 17 de 17
OBSERVACIONES Y CONCLUSIONES
- Cuando terminamos el análisis tenemos ya una comprensión mayor del problema
- Sabemos cuales son las abstracciones claves, y empezamos a estudiar como se desenvuelve la aplicación
en el tiempo.
- También expresan los requerimientos funcionales que los usuarios comunicaron al sistema durante la
redacción del pliego de condiciones.
- Comprobar que el sistema cumple dichos requisitos en el momento de la entrega.
- Determinar las fronteras del sistema.
- Escribir la documentación del sistema.
- Confeccionar juegos de test.