Está en la página 1de 128

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

INGENIERIA WEB
ANALISIS DE REQUERIMIENTOS

SESION 01
ING. IVAN PEREZ FARFAN IPEREZF@UCVLIMA.EDU.PE

IVANPEREZF@HOTMAIL.COM

Rational Unified Process (RUP)


Concepcin Elaboracin Construccin Transicin

Modelado del Negocio Requerimientos Anlisis y Diseo Implementacin Prueba Implantacin Conf. y Ctrl .de Cambios Admn. del Proyecto Administracin Entorno
Iteraciones IT #1 IT # 2 IT # 3 IT # 4 IT # 5 IT # 6 IT # 7 IT # 8

Requerimientos. Objetivos.
Llegar a un acuerdo formal con los clientes y

usuarios sobre lo que el sistema debe hacer. Proporcionar a los miembros del proyecto una idea clara de los requerimientos del sistema. Delimitar las fronteras del sistema. Proporcionar las bases para la planificacin del contenido tcnico de las iteraciones. Proporcionar las bases para estimar los costos y el tiempo de desarrollo del sistema. Definir la interfase grfica del sistema.

Requerimientos. Artefactos
Se obtienen los siguientes artefactos.

Modelo de Casos de Uso del Sistema

Especificacin de Casos de Uso del Sistema

Requerimientos funcionales

Requerimientos no funcionales

Modelo Conceptual

Actores del Sistema

Casos de Uso del Sistema

Paquetes del Sistema

Prototipos

Qu es un requerimiento?

Un requerimiento se define como una condicin o capacidad a la que debe ajustarse el sistema que se construye

Dnde identificar requerimientos?

Actividades del negocio

Cliente s

Analistas

Usuarios

Socios

Cmo capturar requerimientos?



Entrevistas. Cuestionarios. Encuestas. Sondeos. Diagramas de procesos y workflows. Descripcin de puestos. Casos de uso del negocio. Diagramas de actividades de los procesos del negocio.

Requerimientos. Actividades
1. Identificacin de los requerimientos del sistema. 1.1 Identificar requerimientos funcionales. 1.2 Identificar requerimientos no funcionales. 2. Construccin del Modelo de Casos de Uso del Sistema. 3. Construccin del Modelo conceptual.

1. Identificacin de requerimientos

Requerimientos

1.1 Requerimientos funcionales

Requerimientos

1.1 Requerimientos funcionales

Requerimientos

1.2 Requerimientos no funcionales

Requerimientos

1.2 Requerimientos no funcionales


Apariencia o interfaz externa. Usabilidad. 10.Interfaz interna. Rendimiento. 11.Ayudas y documentacin en lnea. Soporte. 12.Software. Portabilidad. 13.Hardware. Seguridad. Polticos y Culturales. 14.Restricciones en el diseo y la Legales. implementacin. Confiabilidad.

2. Modelo Casos de Uso del Sistema

El Modelo de Casos de Uso del sistema define y


modela todos los elementos que describen los requerimientos funcionales del sistema. Modela la forma en que el sistema es usado por sus usuarios, clientes, patrocinadores, etc. Muestra los roles y procesos e informacin que participan:

Directamente en el sistema.

2. Modelo Casos de Uso del Sistema


Garantizar.

Comunicacin con el usuario final y el experto del dominio. Credibilidad en una etapa inicial del desarrollo del sistema. Comprensin mutua de los requerimientos.

Identificar.

Quin interactuar con el sistema. Qu deber hacer el sistema. Qu interfaz deber tener el sistema.

2. Modelo Casos de Uso del Sistema


Verificar.

La captura de todos los requisitos. Que los desarrolladores hayan entendido los requisitos

Apoyar.

La etapa de pruebas. Las planificacin del proyecto.

Casos de Uso
Casos de uso Modelado del Negocio Casos de uso de Requerimientos
Casos de uso Anlisis y Diseo

2. Modelo Casos de Uso del Sistema


Est formado por:

Actores. Diagrama de Actores. Paquetes. Dependencias entre paquetes. Diagrama de Paquetes. Casos de uso. Asociaciones entre actores y casos de uso. Diagramas de Casos de Uso.

2. Modelo Casos de Uso del Sistema


Casos de Uso del Sistema.

Estereotipos ms importantes en el Modelo de

UML

Actor

Paquete

Caso de Uso

2. Modelo Casos de Uso del Sistema


1. Identificar los actores del sistema (actors). 1.1 Lista de actores del sistema. 2. Identificar los paquetes del sistema. 2.1 Diagrama de Paquetes del Sistema. 3. Identificar los casos de uso del sistema (use cases). 3.1 Lista de casos de uso del sistema. 3.2 Diagrama de Casos de Uso del Sistema.

2.1 Actores del Sistema


Un actor del sistema (actor) representa un rol
(humano, software o hardware) externo al sistema con el que se establece intercambio directo de informacin. Ejemplo:

Vendedor. Jefe de Almacn. Asistente de Produccin.


Nombre del Actor

2.1 Actores del Sistema


Representa a uno o grupo de usuarios. Varios usuarios pueden jugar el mismo rol para el

sistema lo que significa que son un solo actor para el sistema. Cada usuario representa una instancia del actor a que pertenece. El mismo usuario puede jugar varios roles en el sistema. Usuario <> Rol Rol = Actor

2.1 Actores del Sistema


Dnde encontrar a los actores del sistema?

Trabajadores del negocio (bussiness workers).


Por cada trabajador del negocio con actividades a automatizar identificar a un actor del sistema. Dar al actor del sistema el mismo nombre del trabajador del negocio.

2.1 Actores del Sistema


Dnde encontrar a los actores del sistema?

Trabajadores del negocio (bussiness workers).

2.1 Actores del Sistema


Dnde encontrar a los actores del sistema?

Trabajadores del negocio (bussiness workers).

2.1 Actores del Sistema


Dnde encontrar a los actores del sistema?

Trabajadores del negocio (bussiness workers).

2.1 Actores del Sistema


Otros elementos que ayudan a encontrar a los
actores del sistema.

Personas que usan el sistema. Personas que interactuarn con el sistema. Personas que proveen informacin al sistema. Usuarios que requieren ayuda de parte del sistema para poder desarrollar sus actividades o tareas. Usuarios que se requieren para ejecutar las funciones principales o ms obvias del sistema.

2.1 Actores del Sistema


Dnde encontrar a los actores del sistema?

Usuarios que se requieren para desarrollar funciones secundarias, tales como mantenimiento y administracin del sistema. Personas que instalarn el sistema. Sistemas de software externos a la frontera del sistema con los que el sistema requiera interactuar. Hardware externo a la frontera del sistema con el que el sistema requiera interactuar.

2.1.1 Lista de Actores del Sistema


La lista de los actores del sistema se realiza
especificando:
Nombre

del actor:

Debe dar idea clara de la funcin que realiza o desempea. Sustantivo con letra inicial mayscula. Siempre corresponde con el nombre de un rol (trabajador) en el proceso del negocio. Excepciones pueden ser roles de mantenimiento y administracin del sistema.
Descripcin:

Describir la funcin que realiza para el sistema y la responsabilidad que tiene.

2.1.1 Diagrama de Actores del Sistema

Usuario

Lector de cdigo de barra

Vendedor

Asistente

2.2 Paquete
Un paquete es una coleccin de artefactos (casos de
uso, actores, relaciones, diagramas y otros paquetes) que se utiliza para dividir un modelo en partes de menor tamao. Ejemplo:

Paquete Ventas. Paquete Seguridad.

Nombre del Paquete

2.2 Paquete
Cundo utilizar paquetes dentro del Modelo de
Casos de Uso del Sistema.

Si el nmero de actores y casos de uso es elevado.

Cmo definir los paquetes del sistema?

Crear un paquete por cada grupo de casos de uso que respondan a una funcionalidad similar. Los procesos del negocio (casos de uso del negocio) pueden ayudar a encontrar las funcionalidades respectivas.

2.2.1 Diagrama de paquetes

Ventas

R.R.H.H.

Seguridad

Almacn

Evaluacin tcnica

2.3 Casos de uso del sistema


Un caso de uso del sistema identifica:

Es un proceso especfico del sistema con identidad propia. Define una secuencia de acciones que el sistema realiza para un actor en particular. Define la interaccin con el actor correspondiente. Produce un resultado observable y esperado para el actor correspondiente.
Nombre del caso de uso

2.3 Casos de uso del sistema


Dnde encontrar casos de uso del sistema?

Cules son las actividades del negocio objetos de automatizacin? Cules son las tareas que el actor desea que el sistema desarrolle? El actor crea, almacena, cambia, elimina o consulta datos en el sistema? El actor necesita informar al sistema cambios generados en el entorno circundante al sistema? El actor necesita ser informado sobre la ocurrencia de situaciones externas al sistema?

2.3 Casos de uso del sistema



Caso de Uso vs Requerimiento Funcional. Diferencias? Existe una correspondencia directa entre ambos. La diferencia radica en la manera en que se describe cada uno.

2.3.1 Lista casos de uso del Sistema


especificando:

La lista de los casos del sistema se realiza


Nombre del caso de uso:
Debe dar idea clara de las acciones a realizar. Se concibe desde el punto de vista del actor. Debe ser un verbo o una frase verbal en infinitivo.

Descripcin:
Se indica el objetivo fundamental del caso de uso.

2.3.2 Diagrama Casos de uso Sistema

Herramienta proporcionada por UML. Describir cmo los procesos del sistema son usados por
los actores del sistema. Se muestra a cada actor y caso de uso del sistema identificados y la relacin entre ellos. No constituye un Diagrama de Flujo de Datos. Solo se tiene en cuenta QUIN realiza QU proceso?

QUIN? (actor). QU? (caso de uso). Asociaciones entre ellos.

2.3.2 Diagrama Casos de uso Sistema


Matricular estudiante Auxiliar de Matricula Auxiliar de Evaluacion Colocar examen

Cancelar matricula

Consultar disponibilidad de cursos Reservar cupo en un curso

Actualizar registro de profesores Rendir examen J de Escuela Aspirante

Disear examen Abrir un curso Disear curso Profesor

Asociaciones entre casos de uso


Las asociaciones entre casos de uso pueden ser de
tres tipos.

Asociacin de inclusin (include). Asociacin de extensin (extended). Asociacin de Generalizacin (herencia).

Asociacin de inclusin (include)


Es una relacin de dependencia entre dos casos de
uso. El caso de uso base depende del caso de uso incluido. Se establece cuando el caso de uso base necesita incluir obligatoriamente la secuencia de acciones descritas por el caso de uso incluido. El caso de uso incluido es de obligatoria ejecucin cuando ocurra el evento respectivo dentro del caso de uso base.

Asociacin de inclusin (include)


Al caso de uso base solo le interesa el resultado de
la invocacin del caso de uso incluido. Cundo utilizar la inclusin?

Cuando exista un comportamiento comn a varios casos de uso (reuso). Las acciones similares en los casos de uso base se extraen al caso de uso incluido. Cuando existen casos de uso complejos: Se simplifica el caso de uso base extrayendo parte de las acciones al caso de uso incluido.

Asociacin de inclusin (include)


La flecha se orienta de manera que indique que el
caso de uso base es quien necesita incluir al caso de uso incluido. Se utiliza el estereotipo <<include>> y se coloca encima de la flecha.

<<include>>

Caso de Uso base

Caso de Uso incluido

Asociacin de inclusin (include)

Caso de Uso base

<<include>>

Caso de Uso incluido

Asociacin de inclusin (include)


Venta de productos y compra de insumos en un
mercado. Las acciones para Realizar movimiento de producto en su kardex respectivo puede separarse en un caso de uso independiente.

Cajero

Realizar venta de producto

<<include>>

Realizar movimento de producto <<include>>

Comprador

Realizar compra de insumos

Asociacin de inclusin (include)


Se especifica de la manera siguiente.

2. ... 5. ... 7. ... 9. El sistema actualiza el kardex de cada producto. Incluir el caso de uso Realizar movimiento de producto.

Asociacin de extensin (extended)


Es una relacin de dependencia entre dos casos de
uso. El caso de uso extendido depende del caso de uso base. Se establece cuando el caso de uso extendido ocurre excepcionalmente en el caso de uso base. El caso de uso extendido ocurre solo cuando ocurra el evento respectivo dentro del caso de uso base.

Asociacin de extensin (extended)


Al caso de uso base solo le interesa el resultado de
la invocacin del caso de uso extendido. Cundo utilizar la extensin?

Cuando exista un comportamiento comn a varios casos de uso (reuso). Las acciones similares en los casos de uso base se extraen al caso de uso extendido. Cuando existen casos de uso complejos: Se simplifica el caso de uso base extrayendo parte de las acciones al caso de uso extendido.

Asociacin de extensin (extended)


La flecha se orienta de manera que indique que el
caso de uso extendido constituye la extensin del caso de uso base. Se utiliza el estereotipo <<extended>> y se coloca encima de la flecha.

<<extended>>

Caso de Uso base

Caso de Uso extendido

Asociacin de extensin (extended)

Caso de Uso base

<<extended>>

Caso de Uso extendido

Asociacin de extensin (extended)

Caso de Uso base

<<extended>>

Caso de Uso extendido

Asociacin de extensin (extended)


Venta de productos y
compra de insumos en un mercado. Las acciones para Actualizar Tarjeta Bonus puede separarse en un caso de uso independiente.
<<extended>> Actualizar Tarjeta Bonus

Cajero

Realizar venta de producto

<<include>>

Realizar movimento de producto <<include>>

Comprador

Realizar compra de insumos

Asociacin de extensin (extended)


Se especifica de la manera siguiente.

2. ... 5. ... 7. ... 9. Si el cliente posee Tarjeta Bonus entonces se actualizan sus puntos. Extender el caso de uso Actualizar Tarjeta Bonus.

Asociacin de generalizacin
Es una relacin de herencia entre casos uso. Los casos de uso hijos heredan el comportamiento
del caso de uso padre. El caso de uso padre es abstracto y solo se crean instancias de los casos de uso hijos. Cundo utilizar la generalizacin?
Cuando

existen casos de uso que poseen un comportamiento exactamente igual o comn. Las actividades comunes son llevadas hacia un caso de uso padre o generalizado. Las actividades diferentes y particulares se quedan en los casos de uso hijos.

Asociacin de generalizacin
Se utiliza una flecha con saeta transparente. La flecha se orienta de manera que indique que los
casos de uso hijos necesitan heredar el comportamiento del caso de uso padre.

Caso de Uso hijo 1 Caso de Uso padre Caso de Uso hijo 2

Asociacin de generalizacin
Llamada telefnica nacional o internacional. Las acciones para Realizar Llamada nacional o
Realizar llamada internacional tienen acciones exactamente iguales que se pueden generalizar en Realizar llamada telefnica.
Cliente Realizar llamada telefnica

Realizar llamada nacional

Realizar llamada internacional

Generalizacin de actores
Si existen dos o ms actores que:

Utilizan el sistema de la misma forma. Ocupar el rol de otro actor en un momento determinado.

Entonces es posible.

Establecer una relacin de Generalizacin entre ellos. Simplificar el modelo de Casos de Uso.

El actor hijo hereda el rol representado por el actor


padre en la relacin.

Generalizacin de actores
Actualizar Tarjeta Bonus

<<extended>>

Jefe de Turno

Cajero

Realizar venta de producto

<<include>>

Realizar movimento de producto <<include>>

Actualizar cajeros

Cerra caja Comprador Realizar compra de insumos

Ejemplo

Caso Alquiler de Vehiculos La Empresa Unica se encarga de Alquilar Vehiculos a clientes que llegan de viaje a la cuidad de Lima se desea automatizar dicho proceso. Dicho sistema debe de permitir realizar lo siguiente: R1 El counter debe registrar en el sistema la reserva del vehiculo que son solicitados por el cliente. Por tal motivo el sistema debe de hacer una bsqueda de los datos del cliente y tambin el sistema hace una bsqueda de los datos de vehiculo que desea alquilar el cliente. R2. El Sistema debe ser desarrollado en Visual Basic. Net. R3. El counter debe de registrar en el sistema el Alquiler del Vehiculo para tal motivo antes se debe de haber registrado la reserva de vehiculo. Para registrar el Alquiler el sistema hace una Bsqueda de vehculos disponibles y una bsqueda de datos de cliente. R4. Nuestro Sistema deber ser instalado en nuestro servidor Web que manejara la seguridad de acceso para los clientes. R5. Al finalizar el alquiler el counter debe de facturar el servicio al cliente para ello el sistema busca los datos del cliente. R6. El gestor de Base de Datos a Utilizar sera MS-SQL Server 2005. Determinar lo siguiente: Requerimientos Funcionales. Requerimientos no funcionales Caso de Uso de Requerimientos. Diagrama de Paquetes Realizaciones de los Casos de Uso.

Solucion:
Requerimientos Funcionales: Caso Alquiler de Vehiculos La Empresa Unica se encarga de Alquilar Vehiculos a clientes que llegan de viaje a la cuidad de Lima se desea automatizar dicho proceso. Dicho sistema debe de permitir realizar lo siguiente: R1 El counter debe registrar en el sistema la reserva del vehiculo que son solicitados por el cliente. Por tal motivo el sistema debe de hacer una bsqueda de los datos del cliente y tambin el sistema hace una bsqueda de los datos de vehiculo que desea alquilar el cliente. R2. El Sistema debe ser desarrollado en Visual Basic. Net. R3. El counter debe de registrar en el sistema el Alquiler del Vehiculo para tal motivo antes se debe de haber registrado la reserva de vehiculo. Para registrar el Alquiler el sistema hace una Bsqueda de vehculos disponibles y una bsqueda de datos de cliente. R4. Nuestro Sistema deber ser instalado en nuestro servidor Web que manejara la seguridad de acceso para los clientes. R5. Al finalizar el alquiler el counter debe de facturar el servicio al cliente para ello el sistema busca los datos del cliente. R6. El gestor de Base de Datos a Utilizar sera MS-SQL Server 2005.

Solucion:
Requerimientos No Funcionales: Caso Alquiler de Vehiculos La Empresa Unica se encarga de Alquilar Vehiculos a clientes que llegan de viaje a la cuidad de Lima se desea automatizar dicho proceso. Dicho sistema debe de permitir realizar lo siguiente: R1 El counter debe registrar en el sistema la reserva del vehiculo que son solicitados por el cliente. Por tal motivo el sistema debe de hacer una bsqueda de los datos del cliente y tambin el sistema hace una bsqueda de los datos de vehiculo que desea alquilar el cliente. R2. El Sistema debe ser desarrollado en Visual Basic. Net. R3. El counter debe de registrar en el sistema el Alquiler del Vehiculo para tal motivo antes se debe de haber registrado la reserva de vehiculo. Para registrar el Alquiler el sistema hace una Bsqueda de vehculos disponibles y una bsqueda de datos de cliente. R4. Nuestro Sistema deber ser instalado en nuestro servidor Web que manejara la seguridad de acceso para los clientes. R5. Al finalizar el alquiler el counter debe de facturar el servicio al cliente para ello el sistema busca los datos del cliente. R6. El gestor de Base de Datos a Utilizar sera MS-SQL Server 2005.

Solucion:
Casos de Uso de Requerimientos Caso Alquiler de Vehiculos La Empresa Unica se encarga de Alquilar Vehiculos a clientes que llegan de viaje a la cuidad de Lima se desea automatizar dicho proceso. Dicho sistema debe de permitir realizar lo siguiente: R1 El counter debe registrar en el sistema la reserva del vehiculo que son solicitados por el cliente. Por tal motivo el sistema debe de hacer una bsqueda de los datos del cliente y tambin el sistema hace una bsqueda de los datos de vehiculo que desea alquilar el cliente. R2. El Sistema debe ser desarrollado en Visual Basic. Net. R3. El counter debe de registrar en el sistema el Alquiler del Vehiculo para tal motivo antes se debe de haber registrado la reserva de vehiculo. Para registrar el Alquiler el sistema hace una Bsqueda de vehculos disponibles y una bsqueda de datos de cliente. R4. Nuestro Sistema deber ser instalado en nuestro servidor Web que manejara la seguridad de acceso para los clientes. R5. Al finalizar el alquiler el counter debe de facturar el servicio al cliente para ello el sistema busca los datos del cliente. R6. El gestor de Base de Datos a Utilizar sera MS-SQL Server 2005.

Solucion:
Actores de Sistema Caso Alquiler de Vehiculos La Empresa Unica se encarga de Alquilar Vehiculos a clientes que llegan de viaje a la cuidad de Lima se desea automatizar dicho proceso. Dicho sistema debe de permitir realizar lo siguiente: R1 El counter debe registrar en el sistema la reserva del vehiculo que son solicitados por el cliente. Por tal motivo el sistema debe de hacer una bsqueda de los datos del cliente y tambin el sistema hace una bsqueda de los datos de vehiculo que desea alquilar el cliente. R2. El Sistema debe ser desarrollado en Visual Basic. Net. R3. El counter debe de registrar en el sistema el Alquiler del Vehiculo para tal motivo antes se debe de haber registrado la reserva de vehiculo. Para registrar el Alquiler el sistema hace una Bsqueda de vehculos disponibles y una bsqueda de datos de cliente. R4. Nuestro Sistema deber ser instalado en nuestro servidor Web que manejara la seguridad de acceso para los clientes. R5. Al finalizar el alquiler el counter debe de facturar el servicio al cliente para ello el sistema busca los datos del cliente. R6. El gestor de Base de Datos a Utilizar sera MS-SQL Server 2005.

Solucion:
Counter
(from Actor...

Alquiler de Vehiculo
(from Casos de Uso) <<include>>

<<extend>> Buscar Vehiculo Disponible <<include>> (from Casos de Uso) <<include>> <<include>>

Reservar Vehiculo
(from Casos de Uso)

<<include>> Facturar cliente


(from Casos de Uso)

Buscar Cliente
(from Casos de Uso)

Solucion:
Diagrama de Paquetes

Alquiler Vehiculo

Facturar

Solucion:
Realizacion de los Casos de Uso

Alquiler de Vehiculos
(from Use Cases)

RCU Alquiler de Vehiculos

<<extend>>

Reserva de Vehiculo
(from Use Cases)

RCU Reserva de Vehiculo

Conceptos Basicos

Qu es un objeto ?
Un objeto tiene estado, comportamiento,
e identidad; la estructura y comportamiento de objetos similares son definidos en su clase comn; los terminos instancia y objeto son intercambiables . Grady Booch 91 Un objeto es cualquier cosa a la que se le aplica un concepto, el que representa una idea o nocin que nosotros compartimos y aplicable a ciertos objetos en nuestro conocimiento . James Martin 92

Caractersticas de un Objeto
OBJETO = ESTADO + COMPORTAMIENTO + IDENTIDAD

Objeto = Identidad + Estado + Comportamiento El estado est representado por los valores de los atributos Un atributo toma un valor en un dominio concreto
Un coche Azul 979 Kg 70 CV ...

El Estado
Agrupa los valores instantneos
de todos los atributos de un objeto sabiendo que un atributo es una informacin que cualifica al objeto que la contiene. El estado evoluciona con el tiempo, es variable y puede verse como la consecuencia de sus comportamientos pasados.

El Comportamiento
Agrupa todas las competencias de un
objeto y describe sus acciones y reacciones. Cada tomo de comportamiento se llama operacin. Las operaciones de un objeto se desencadenan a consecuencia de un estmulo externo, representando en forma de un mensaje enviado por otro objeto.

La Identidad
Distingue los objetos de forma no
ambigua, independientemente de su estado. Distingue dos objetos en los que todos los valores de atributos son idnticos. La identidad es un concepto, no se representa de manera especfica en el modelado. Cada objeto posee una identidad de manera implcita.

Tipos de Objetos

Concretos: Persona-Carro-PC

Roles: Doctor-Propietario-Maestro
Relacional: Sociedad-Hijo-Matrimonio

Eventos: Venta-Compra-Arribo

Como identificar Objetos

Siendo un objeto una abstraccin de la realidad, y entendiendo que ser una abstraccin creada por un desarrollador para satisfacer necesidades de una aplicacin, observe e identifique :

Cosas tangibles Roles Incidentes o eventos Interacciones

Describiendo Objetos

Despus de identificar un objeto, se crea una abstraccin para describir esta como un conjunto de atributos y operaciones. Los atributos almacenan valores de datos relativos a un objeto. Ejemplo de atributos :

Peso Tamao Nro Identidad

Describiendo Objetos

Operaciones o mtodos son actividades llevadas a cabo por un objeto como resultado de un evento.
Ejemplo de actividades : Listar Facturas Calcular Volumen Totalizar Items

Se describen relaciones a otros objetos.


Ejemplo de relacin : Factura pertenece a Cliente

MODELO CONCEPTUAL

Modelo Conceptual
Es un caso particular de Diagrama de Clases. Se colocan solamente los conceptos que manejar cada
caso de uso. Los conceptos se convertirn en un futuro en las clases entidad del sistema para manejar los datos. Se incluyen las asociaciones simples entre cada concepto, especificando el nombre, navegabilidad y multiplicidad de la asociacin.

Modelo Conceptual
Dnde encontrar
los conceptos del sistema?

Entidades del negocio.

Objetivos
Identificar clases conceptuales relacionadas a un
dominio del problema. Identificar las relaciones entre clases. Identificar las asociaciones, agregasiones y la Herencias entre clases. Encontrar la multiplicidad entre clases. Crear un modelo conceptual.

Los Modelos Conceptuales NO son Componentes de Software No es una visualizacin de componentes de software C++o Java.

BaseDeDatos Ventas

SistemaVenta

Clase
Nivel superior de abstraccin. Representa a un conjunto de elementos con
caractersticas o detalles comunes. Es la descripcin de un grupo de objetos con:

Una semntica en comn (nombre): Propiedades en comn (atributos). Comportamiento similar (operaciones). La misma forma de relacionarse (asociaciones).

Clases Conceptuales
Informalmente una clase conceptual es una
idea, cosa u objeto. Formalmente una clase podra ser considerada en trminos de su smbolo, intencin y extensin.
Smbolo: Palabras o imgenes representando una clase conceptual
Empleado

Empleado

Representacin Grfica de las CLASES


Cada clase se representa
bajo la forma de un rectngulo dividido en tres compartimentos. El primero contiene el nombre de la clase, el segundo los tributos y el tercero las operaciones.
Nombre
Atributo 1 Atributo 2 Atributo 3 Operacin 01 ( ) Operacin 02 ( )

Motocicleta
Color Cilindrada Velocidad maxima arrancar ( ) acelerar ( ) frenar ( ) Llenar tanque ( )

Estrategias para identificar Clases Conceptuales

Existen dos Tcnicas:


1.Utilizar una lista de categoras de clases conceptuales. 2.Identificar frases sustantivas.

Clase
Se representa a travs de un rectngulo
dividido en tres partes.

Parte 1: Se coloca el nombre de la clase. Parte 2: Se colocan los atributos. Parte 3: Se especifican las operaciones.

... ... ...

Nombre Atributos Operaciones

Nombre de la clase
Debe ser un sustantivo claro y preciso. Debe dar idea clara de la unidad de
informacin que representa. La primera letra en mayscula. El resto de las letras en minscula.
Objeto fsico Descripcin Lugar Transaccin Rol Contenedor Avin Ruta Aeropuerto Venta Piloto Tienda

Nombre de la clase

Factura

Cliente

Pais

DetalleFactura

Producto

Clase
Atributos:
Forma

la parte esttica de la clase. Representa una caracterstica de la clase. Debe dar idea clara de la unidad de informacin que representa. Los valores del atributo establecen la diferencia entre los objetos. No debe representar una llave fornea. No debe representar caractersticas como tipo, estado, categora, etc.

Atributo de la clase
Nombrarse con un sustantivo claro y preciso. Puede formarse por una o varias palabras. Deben ser escritas de forma continua. Utilizar letra minscula en su redaccin.
Si

est compuesto por ms de una palabra solo la primera letra de cada palabra a partir de la segunda debe escribirse en maysculas. tipo de dato, valor inicial y visibilidad. nombre: tipodato = valorInicial

Los elementos que definen al atributo son:


Nombre,

Sintaxis.
visibilidad

Clase
Operaciones:
Forma

la parte dinmica de la clase. Representa un comportamiento de la clase. Significa un conjunto de acciones con un mismo objetivo a ser desarrollado por la clase. Debe dar idea clara de la accin que representa. Cada objeto de la clase tiene la capacidad de desarrollar la operacin.

Operacin de la clase
Nombrarse con un verbo en infinitivo. Debe ser claro y preciso. Puede formarse por una o varias palabras. Deben ser escritas de forma continua. Utilizar letra minscula en su redaccin.
Si

est compuesto por ms de una palabra solo la primera letra de cada palabra a partir de la segunda debe escribirse en maysculas.

Poseen visibilidad al igual que los atributos.

Clase
Persona
nombre apellido materno apellido paterno sexo edad comer() beber() dormir() Nombre

Atributos

Operaciones

Clase
Vehculo
marca modelo color nmero de serie mover() abrir() girar() detener()

Nombre

Atributos

Operaciones

Qu es Encapsulacin ?
La abstraccin y el encapsulamiento son
conceptos complementarios: la primera se centra en el comportamiento observable de un objeto, mientras el encapsulamiento se centra en la implementacin que da lugar a este comportamiento. Para que la abstraccin funcione la implementacin debe estar encapsulada.

El encapsulamiento oculta los detalles de la implementacin de un Objeto

Clases: Encapsulacin
La encapsulacin presenta dos ventajas bsicas: Se protegen los datos de accesos indebidos El acoplamiento entre las clases se disminuye Favorece la modularidad y el mantenimiento Los atributos de una clase no deberan ser
manipulables directamente por el resto de objetos

Clases: Encapsulacin
Los niveles de encapsulacin estn heredados de los
niveles de C++:

(-) Privado : es el ms fuerte. Esta parte es totalmente invisible (excepto para clases friends en terminologa C++) (#) Los atributos/operaciones protegidos estn visibles para las clases friends y para las clases derivadas de la original (+) Los atributos/operaciones pblicos son visibles a otras clases (cuando se trata de atributos se est transgrediendo el principio de encapsulacin)

Clases: Encapsulacin
Ejemplo:
Reglas de visibilidad + Atributo pblico : int # Atributo protegido : int - Atributo privado : int + "Operacin pblica" # "Operacin protegida" - "Operacin privada"

Relaciones en el Modelo Conceptual


Generalizacin. Agregacin Asociacin.

MODELANDO LA GENERALIZACION
Pago

Pago Contado

Pago Credito

Pago Cheque

La Generalizacin es la actividad de identificar lo comn entre Conceptos y definir relaciones entre una Superclase (concepto general) y Subclases(conceptos especializados)

Herencia o Generalizacin
Es la relacin entre clases a travs de la cual se
comparten los atributos y/u operaciones de cada una. A travs de la herencia una clase asume el comportamiento (atributos y operaciones) de otra como parte de su propio comportamiento. Producto de la herencia se derivan dos tipos de clases.
Superclase. Subclase.

Herencia
Superclase.

Es la clase que contiene el comportamiento a ser heredado por otras clases. Es la clase ms alta en una herencia. Ocupa el nivel superior en la jerarqua establecida por la herencia.

Subclase.

Es la clase que necesita heredar o incorporar el comportamiento de la superclase. Es la clase ms baja en una herencia. Ocupa el nivel inferior en la jerarqua establecida por la herencia.

Herencia
Superclase

Trabajador
cargo salario ausencias trabajar() registrarEntrada() cobrar()

Jefe
rango beneficios presupuesto
dirige() evalua() contrata() despide()

Persona
nombre apellido materno apellido paterno sexo edad
comer() beber() dormir()

Estudiante
grado colegio matricular() estudiar() Subclase

Herencia
Terrestre Vehculo
marca modelo color nmero de serie mover() abrir() girar() detener() numeroLlantas

Aereo
longitudAlas despegar() aterrizar()

Maritimo
profundidadMinima eslora anclar()

MODELANDO LA AGREGACIN
Es un tipo de asociacin utilizada para modelar la relacin todo-parte entre objetos. La parte puede estar simultneamente en varias instancias del todo. La agregacin existe conceptos no fsicos. de preferencia entre

Ejemplo de Agregacin Compartida

PaqueteUML

ElementoUML

Un elemento UML podra estar referenciado en ms de un paquete.

Agregacin.

Es una relacin que implica en su significado que una clase contiene a otras clases independientes. Es una asociacin de todo / parte. Cuando deja de existir la clase agregada no tiene por qu dejar de existir el resto de las clases de la agregacin. El tiempo de vida de la clase agregada no define el tiempo de vida del resto de las clases. Se representa a travs de un rombo transparente en el extremo de la clase agregada.

Agregacin.
Computadora

Monitor

CPU

Parlante

Teclado

Ratn

DiscoDuro

RAM

UnidadCD

TarjetaVideo

TarjetaSonido

Botn

Bola

MODELANDO LA ASOCIACIN
Es una relacin entre clases que indican una conexin significativa e interesante. Est representada como una lnea entre clases con nombre. La asociacin es inherentemente bidireccional. Es convencional leer la asociacin de izquierda a derecha o de arriba hacia abajo.

Ejemplo de Asociacin

Recepcionista

registra Cliente genera Orden Servicio

Multiplicidad
Los roles continen
tambien una informacin de multiplicidad que precisa el nmero de instancias que participan en la relacin.
1 0..1 m..n uno y slo uno cero o uno de "m" a "n" muchos cero a muchos uno a muchos

*
0..* 1..*

Asociaciones entre clases


La asociacin es una relacin que indica
algn vnculo o conexin significativa entre dos clases. Las asociaciones modelan la forma en que se relacionan los objetos de las clases. Se representa a travs de una lnea continua
Cliente
1 emite 0..n

Orden de Compra

Asociaciones entre clases


Los elementos que definen la asociacin son:
Nombre. Multiplicidad. Navegabilidad. Tipo.

Cliente
1

emite 0..n

Orden de Compra

Asociaciones entre clases


Nombre.
Frase

verbal clara y precisa que refleja el propsito de relacin. Describe la manera en que ocurre la asociacin. No es elemento obligatorio. Se utiliza solo cuando mejora la comprensin de la asociacin.
Cliente
1 emite 0..n

Orden de Compra

Se lee: El cliente emite rdenes de compra

Asociaciones entre clases


Multiplicidad o cardinalidad
Especifica

la cardinalidad de la asociacin. Modela la cantidad de objetos de un extremo de la asociacin que se asocian a un objeto del otro durante el tiempo de vida del sistema. Se representa a travs de una numeracin. Se coloca en cada extremo de la asociacin.
Cliente
1 emite 0..n

Orden de Compra

Asociaciones entre clases


Multiplicidad o cardinalidad.
Para

este ejemplo se hacen las preguntas:

Cuntas rdenes de compra puede emitir un cliente?


o

Ninguna, una o muchas rdenes de compra.

Cuntos clientes puede tener asociados una orden de compra?


o

Un solo cliente siempre.


emite 1 0..n

Cliente

Orden de Compra

Asociaciones entre clases


Tipos de multiplicidad o cardinalidad.
0

Un objeto de una clase no se asocia a ningn objeto de la otra.


0..1

Un objeto de una clase se asocia a ninguno o un objeto de la otra clase.


0..n

Un objeto de una clase se asocia a ninguno, uno o ms de un objeto ilimitadamente de la otra clase
0..x

Un objeto de una clase se asocia a ninguno, uno o hasta un mximo de x objetos de la otra clase.

Asociaciones entre clases


Tipos de multiplicidad
1

Un objeto de una clase se asocia a nicamente a un objeto de la otra clase.


1..n

Un objeto de una clase se asocia a uno como mnimo o ms de un objeto ilimitadamente de la otra clase.
1..x

Un objeto de una clase se asocia a uno como mnimo o hasta un mximo de x objetos de la otra clase.
x

Un objeto de una clase se asocia a x exactos objetos de la otra clase.

EJEMPLO

Caso de Uso del Negocio: Descripcion de Caso Recepcin de Pedido


1. El Cliente realiza un pedido de productos a almacen que incluir la fecha del
pedido, los datos del cliente y los productos solicitados.

2. El Empleado Almacen revisa el pedido (completndolo si es necesario) y le da curso.

Caso de Uso del Negocio: Recepcin de

Pedido

Modelo Caso de Uso

Cliente

Recepcion Pedido Almacenero

Caso de Uso del Negocio: Recepcin de

Pedido

Modelo Actividades
: Cliente : Almacenero

Realiza Pedido

: Pedido

Envia pedido

: Pedido

Recepcion Pedido

Verifica

Caso de Uso del Negocio: Recepcin de

Pedido

Modelo Clases

Realiza Cliente
(from Use Case View )

Verifica y Atiende Pedido

Almacenero
(from Use Case View )

Caso de Uso del Negocio: Recepcin de

Pedido

Modelo Conceptual Etapa 1


Pedido
Pedido

cliente
Cliente
(from Use Case View )

Almacenero

Almacenero
(from Use Case View )

Caso de Uso del Negocio: Recepcin de

Pedido

Modelo Conceptual Etapa 2

Caso de Uso del Negocio: Recepcin de

Pedido

Modelo Conceptual Etapa 2


cliente

Producto

Pedido

Caso de Uso del Negocio: Recepcin de

Pedido

Modelo Conceptual Etapa 3


cliente Pertenece

1..n Atiende 1..n Empleado

pedido 1..n

Contiene

1..n Producto