La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

CS-432: Ingeniería Moderna de Software Semana 3

Presentaciones similares


Presentación del tema: "CS-432: Ingeniería Moderna de Software Semana 3"— Transcripción de la presentación:

1 CS-432: Ingeniería Moderna de Software Semana 3
Dr. Jesús Borrego Lead Faculty, COS Regis University

2 Agenda Modelo del Diseño – parte 1 Elaboración y el model de diseño
Clases de diseño Asociación de relación Listas e iteradores Diagramas de sequencia Material para el primer exámen

3 Términos clave Abstraction – abstracción Encapsulation – encapsulación
Inheritance – herencia Iterator - iterador Overloading – sobre carga Overriding – anulación Polymorphism - polimorfismo Signature – firma Trace – traza/o Visibility - visibilidad

4 Elaborando el modelo de diseño
Continuando nuestro trabajo de análisis, el enfoque empieza a cambiar a el modelo de diseño El modelo de diseño trata de especificar como se realizará el caso de uso La realización del caso de uso se prepara a un nivel apropriado para implementarlo en un lenguage de programación orientada a objetos

5 Diseño y casos de uso El diseño es guiado por los casos de uso
Hay una dependencia de trazo Pasar de análisis a diseño no tiene que cambiar de simbología – una ventaja de OO

6 Ejemplo Los objetos del diagrama de comunicación refieren a clases en el diseño, con trazas del análisis

7 Notas Aunque los objetos del diagrama se relacionan con clases en el análisis y diseño, hay que entender que cada elemento tiene un propósito distinto en el modelo Puede haber clases en diseño sin trazas a el análisis Puede haber varias clases en diseño que corresponden a una clase en análisis

8 Clases de diseño y sus atributos
Para completar el diseño detallado, se necesita (por cada clase): Atributos, incluyendo diferentes estados Operaciones, incluyendo su interfaz pública y las interfaces implementadas Relaciones a otras clases y sus tipos

9 Atributos y visibilidad
Private – privado. Visible en la clase únicamente + Public – público – visible en cualquier objecto ~ Package – paquete – visible dentro del paquete # Protected – protegido – visible en su clase y los hijos de la clase

10 Tipos de datos El lenguaje define tipos de datos
Programadores pueden crear sus propios tipos Visibilidad nombre separador tipo valor de defecto

11 Valores Inicial/Defecto Restricción
UML, Java, C# permite asignar valor por defecto a atributos C++ no permite asignar valor inicial a los atributos de la clase; se pueden definir con el constructor Restricción UML permite asignar valores de restricción

12 En código

13 Operaciones y métodos Las operacions de la clase se llaman métodos
Los métodos incluyen: Visibilidad Nombre Parámetros Valor de retorno

14 Ejemplo

15 Funciones y Métodos Los métodos se parecen a las funciones creadas en CS 361 y CS362 Tienen nombre, tipo, parámetros y tipo de retorno La diferencia es que los métodos se invocan con mensajes a el objeto Mas detalles se proveerán después

16 Iinterfaz pública La interfaz pública es la colección de operaciones públicas de la clase Los métodos públicos indicados con (+) Similar al API (Application Programming Interface) – Interfaz de aplicaciones de programación También han interfaz que no es pública (métodos privados)

17 Ejemplo de interfaz Pública: Privada findByID findByName
loadDegreePlan loadAddress

18

19 Ejemplo en Java

20 Firmas y sobrecargas de métodos
Una Firma consiste de la visibilidad, nombre, número de parámetros y el tipo de los parámetros Sobrecarga – mas de una operación con el mismo nombre tiene firma diferente Despacho – encontrar la firma correcta del método para mandar el mensaje

21 Constructores y destructores
Constructores son métodos que inicializan un objeto Los constructores tienen el mismo nombre de la clase y en invocado cuando el objeto es creado Destructores se usan para destruír objetos que ya no se necesitan

22 Ejemplos

23 Relaciones y Asociaciones
UML define 3 relaciones entre objetos: Asociación Dependencia Generalización

24 Asociaciones y Atributos
Depende del lenguaje, podemos asociar dos clases con atributos de una clase a la otra

25 Acoplamiento Acoplamiento ocurre cuando dos objetos se conocen
Cambios en un objecto pueden impactar seriamente (muy acoplado) o mínimamente (no muy acoplad0) Demasiado acoplados No muy acoplados

26 Navegabilidad Navegabilidad se usa para restringir el acoplamiento entre objetos Define como se accesan las clases La vista del estudiante ‘conoce’ al estudiante, pero el estudiante no ‘conoce’ la vista del estudiante Acoplado   No Acoplado

27 Multiplicidad Describe el número de objetos que relaciona
Si no se indica, la multiplicidad es 1

28 Asociaciones Composición Agregacion – compartida
Si el objeto no existe en el programa, partes tampoco existen en el programa Si un estudiante deja la Universidad, su plan de estudios no existe Agregacion – compartida Estudiantes en una clase pueden dejar la clase, pero la clase sigue

29 Listas Diploma es una colleccion de cursos En UML:

30 Iteradores Un mecanismo para tener acceso a los miembros de una lista
La interfaz publica tiene 2 metodos hasNext Next

31 Fragmento de programa

32 Diagramas de Sequencia
Se usan para indicar la sequencia de eventos en una interacción

33 Diagramas de sequencia - elementos

34 Actividad 1 Examinen en grupo el diagrama de secuencia anterior
Discutan que información pueden obtener Escriban en media hoja con palabras la información que captan con el diagrama (30 minutos)

35 Gestion de Riesgos del proyecto
Identificar los riesgos Estimar probabilidad de ocurrir Estimar el impacto si ocurre Preparar el plan de mitigación Monitorear riesgos y progreso de mitigación Obtener compromisos de tiempo y presupuesto del grupo ejecutivo y el equipo

36 Tarea 4 Actualizar el modelo de diseño, incluyendo diagramas de clase y secuencia Tienen 2 semanas y media para completar la tarea para darles tiempo a prepararse para el primer exámen Entregar en WorldClass, Asignación 4 antes de la semana 5

37 ¿Preguntas? Correo electrónico a


Descargar ppt "CS-432: Ingeniería Moderna de Software Semana 3"

Presentaciones similares


Anuncios Google