Post on 28-Jan-2018
ESCUELA:
NOMBRES
Metodología y Tecnología de la Programación II
FECHA:
Ing. Patricio Abad Espinoza
OCTUBRE 2008 – FEBRERO 2009
Ciencias de la Computación
INTRODUCCIÓN AL MODELADO DE SOFTWARE
El modelado es una práctica usada en muchas ingenierías como paso previo a la construcción de una entidad compleja.
El uso del modelado es proporcional a la complejidad del problema.
UML es un lenguaje estándar para representar modelos.
2
PROCESO DE DESARROLLO
3
Modelado
4
Proceso de desarrollo
5
Identificar necesidades
Entrevistarse con el cliente y usuarios del sistema.
Recolectar información del proceso. Identificar problemas actuales Listar necesidades y soluciones Aprobación por parte del usuario.
6
Modelado de casos de uso Caso de uso
¿Qué puedo hacer con el Sistema?
Descripción ¿Cómo inicio? ¿Qué hace el sistema? ¿Qué hace el usuario? ¿Cómo termina? ¿Hay salidas alternas?
7
Modelado de casos de uso (2) Actores
Personas, dispositivos o sistemas => Externos Interactúan con el sistema.
Relaciones entre casos de uso Inclusión Extensión Herencia
Relaciones entre actores Herencia
8
Modelado de casos de uso (3) Notación
9
Identificando casos de uso ¿Quién está interesado en cierto
requerimiento? ¿Dónde se usa el sistema en la
organización? ¿Quién suplirá al sistema de
información, quien usa y elimina esta información?
Quién usará esta función?
10 10
Identificando casos de uso Quién dará soporte y mantenimiento al
sistema? ¿El sistema usa un recurso externo? ¿Qué actores necesitan los casos de
uso? ¿Algún actor interpreta varios roles
diferentes? ¿Existen varios actores con el mismo
rol?11 11
12
Ejemplo
Se desea desarrollar un sistema para la matriculación de estudiantes en cursos que se encuentran clasificados en troncales, genéricos, complementarios y libre configuración, mismos que pueden ser elegidos libremente por cada estudiante, la única condición que se pide es que cubran un total de 30 créditos académicos por cada semestre.
12
Ejemplo (2)
Para realizar la matrícula cada estudiante debe realizar una solicitud de matrícula a través de un servicio en línea.
Una comisión de la carrera a la que pertenece el estudiante aprueba su solicitud, en caso de haber cambios los aplican y en cualquier caso se notifica al estudiante para que proceda con el pago.
13
Ejemplo (3)
El estudiante paga la matrícula en una ventanilla de un banco autorizado y el pago se procesa automáticamente para dar por concluido el proceso de matrícula.
El proceso automático de la matrícula incluye la emisión de la factura y la contabilización de la mismas más los pagos.
14
15
realizar solicitud de matrícula
sistema financiero
Estudiante verificar resultados
ofertar cursos
presidente comisión
aprobar solicitud
confirmar pago de matrículas
tesoreraemitir factura
Secretaria
legalizar matriculas
emitir orden de cobro
banco
Documentación de casos de uso
Los casos de uso se documentan con: Una Descripción Breve que establece
el propósito del caso de uso en pocas líneas
Un Flujo de Eventos detallado
16
Documentación de casos de uso (2)
La documentación debe poderse leer como un diálogo entre el actor y el caso de uso
La documentación se redacta en términos que el cliente pueda entender (usando el lenguaje del dominio)
17
Flujos de eventos
Flujo de Eventos de Casos de Uso Cada caso de uso:
Tiene una secuencia básica (flujo básico) de eventos
Puede tener varias secuencias secundarias (flujos alternos) de eventos
18
Flujos de eventos (2)
Usualmente tiene una o mas secuencias de eventos de excepción (flujos de excepción) para manejar errores
También puede tener pre-condiciones y post-condiciones bien definidas
19
Flujo de eventos (2)
20
Modelo de clases
21
Modelado de clases
Objeto Cosas tangibles: libro, copia, curso Roles: estudiante, profesor, cliente Eventos: Llegada, salida, petición Interacciones: intersección,
encuentro.
22
Modelado de clases
Clase Definición de los objetos para
instanciarlos. Atributos Operaciones
23
Modelado de clases (2)
Asociaciones◦ Multiplicidad◦ Roles◦ Navegabilidad◦ Asociaciones calificadas◦ Asociaciones Derivadas◦ Restricciones.
24
Modelado de clases (2)
InterfacesClases abstractas
HerenciaComposición/Agregación
25
Modelado de clases (3)
Modelo conceptual Aproximación inicial de las clases y
relaciones que se visualizan a primera vista en el modelo.
No tiene detalles pero si muestra la posible estructura de la aplicación
Tarjetas CRC
26
NotaciónAlumno
DNI : char[10]número_exp : intnombre : char[50]
alta()poner_nota(asignatura : char *, año : int, nota : float)matricular(cursos : asignatura, año : int)listar_expediente()
27
Notación (2)
ProfesorDepartamento
10..1
director
1
dirige
0..1
28
Notación (3)
Empresa Empleado
1..** 1..**
trabajadoresempleador
Cargo
nombresueldo 0..1
1..*
superior
subordinado 1..*
0..1
29
Notación(4)Trabajador
Directivo Administrativo Obrero
{ disjunta, completa }
30
Notación (5)
Avión militar Avión comercial
Avión de carga Avión de pasajeros
Motor Vendedor de billetes
Avión
1..4
1
1..4
1
Piloto
Reserva
n
1
n
1
Línea aérea
Vuelon1 n1
1..2
n
1..2
nn1 n1
1
n
1
n{ disjunta, completa }
{ disjunta, completa }
31
Ejemplo Modelar los componentes que tendría
un simulador de un cajero automático que permita realizar operaciones como: retirar fondos, consultar saldo, cambiar contraseña y transferir fondos.
32
Diagrama
33
plan
nombre_plantituloduraciontotal_Creditostroncalesgenericoslibre_cofiguracioncomplementaros
asignatura
codigonombrecreditosgrupo_creditos
1..n
oferta
periodocursocosto_credito1..n1
factura
numeromontoplan_pagosiva_0iva_12emisor
pago
idmontotipo_pagoestado
Estudiante
cedulaapellidosnombresdirecciontelefono
emailcelular
(fro m Use Ca se View)
matricula
fechacostotipoestadoaprobada_por
1..n 1 1..n
34
Preguntas
35