Metodologia y tecnologia de la programacion II

35
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

Transcript of Metodologia y tecnologia de la programacion II

Page 1: Metodologia y tecnologia de la programacion II

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

Page 2: Metodologia y tecnologia de la programacion II

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

Page 3: Metodologia y tecnologia de la programacion II

PROCESO DE DESARROLLO

3

Page 4: Metodologia y tecnologia de la programacion II

Modelado

4

Page 5: Metodologia y tecnologia de la programacion II

Proceso de desarrollo

5

Page 6: Metodologia y tecnologia de la programacion II

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

Page 7: Metodologia y tecnologia de la programacion II

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

Page 8: Metodologia y tecnologia de la programacion II

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

Page 9: Metodologia y tecnologia de la programacion II

Modelado de casos de uso (3) Notación

9

Page 10: Metodologia y tecnologia de la programacion II

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

Page 11: Metodologia y tecnologia de la programacion II

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

Page 12: Metodologia y tecnologia de la programacion II

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

Page 13: Metodologia y tecnologia de la programacion II

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

Page 14: Metodologia y tecnologia de la programacion II

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

Page 15: Metodologia y tecnologia de la programacion II

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

Page 16: Metodologia y tecnologia de la programacion II

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

Page 17: Metodologia y tecnologia de la programacion II

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

Page 18: Metodologia y tecnologia de la programacion II

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

Page 19: Metodologia y tecnologia de la programacion II

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

Page 20: Metodologia y tecnologia de la programacion II

Flujo de eventos (2)

20

Page 21: Metodologia y tecnologia de la programacion II

Modelo de clases

21

Page 22: Metodologia y tecnologia de la programacion II

Modelado de clases

Objeto Cosas tangibles: libro, copia, curso Roles: estudiante, profesor, cliente Eventos: Llegada, salida, petición Interacciones: intersección,

encuentro.

22

Page 23: Metodologia y tecnologia de la programacion II

Modelado de clases

Clase Definición de los objetos para

instanciarlos. Atributos Operaciones

23

Page 24: Metodologia y tecnologia de la programacion II

Modelado de clases (2)

Asociaciones◦ Multiplicidad◦ Roles◦ Navegabilidad◦ Asociaciones calificadas◦ Asociaciones Derivadas◦ Restricciones.

24

Page 25: Metodologia y tecnologia de la programacion II

Modelado de clases (2)

InterfacesClases abstractas

HerenciaComposición/Agregación

25

Page 26: Metodologia y tecnologia de la programacion II

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

Page 27: Metodologia y tecnologia de la programacion II

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

Page 28: Metodologia y tecnologia de la programacion II

Notación (2)

ProfesorDepartamento

10..1

director

1

dirige

0..1

28

Page 29: Metodologia y tecnologia de la programacion II

Notación (3)

Empresa Empleado

1..** 1..**

trabajadoresempleador

Cargo

nombresueldo 0..1

1..*

superior

subordinado 1..*

0..1

29

Page 30: Metodologia y tecnologia de la programacion II

Notación(4)Trabajador

Directivo Administrativo Obrero

{ disjunta, completa }

30

Page 31: Metodologia y tecnologia de la programacion II

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

Page 32: Metodologia y tecnologia de la programacion II

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

Page 33: Metodologia y tecnologia de la programacion II

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

Page 34: Metodologia y tecnologia de la programacion II

34

Preguntas

Page 35: Metodologia y tecnologia de la programacion II

35