Scis.regis.edu ● [email protected] CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús...
-
Upload
alvaro-requena -
Category
Documents
-
view
230 -
download
0
Transcript of Scis.regis.edu ● [email protected] CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús...
![Page 1: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/1.jpg)
scis.regis.edu ● [email protected]
CS-432: Ingeniería Moderna de SoftwareSemana 3
Dr. Jesús BorregoLead Faculty, COSRegis University
1
![Page 2: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/2.jpg)
AgendaModelo 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
2
![Page 3: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/3.jpg)
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
3
![Page 4: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/4.jpg)
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
4
![Page 5: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/5.jpg)
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
5
![Page 6: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/6.jpg)
Ejemplo
6
Los objetos del diagrama de comunicación refieren a clases en el diseño, con trazas del análisis
![Page 7: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/7.jpg)
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
7
![Page 8: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/8.jpg)
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
8
![Page 9: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/9.jpg)
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
9
![Page 10: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/10.jpg)
Tipos de datos
•El lenguaje define tipos de datos•Programadores pueden crear sus propios tipos
10
Visibilidad nombre separador tipo valor de defecto
![Page 11: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/11.jpg)
Valores
•Inicial/Defecto▫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
11
![Page 12: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/12.jpg)
12
En código
![Page 13: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/13.jpg)
Operaciones y métodos
•Las operacions de la clase se llaman métodos
•Los métodos incluyen:▫Visibilidad▫Nombre▫Parámetros▫Valor de retorno
13
![Page 14: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/14.jpg)
Ejemplo
14
![Page 15: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/15.jpg)
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
15
![Page 16: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/16.jpg)
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)
16
![Page 17: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/17.jpg)
17
•Pública:▫findByID▫findByName
•Privada▫loadDegreePlan▫loadAddress
Ejemplo de interfaz
![Page 18: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/18.jpg)
18
![Page 19: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/19.jpg)
Ejemplo en Java
19
![Page 20: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/20.jpg)
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
20
![Page 21: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/21.jpg)
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
21
![Page 22: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/22.jpg)
Ejemplos
22
![Page 23: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/23.jpg)
Relaciones y Asociaciones
•UML define 3 relaciones entre objetos:▫Asociación▫Dependencia▫Generalización
23
![Page 24: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/24.jpg)
Asociaciones y Atributos
24
Depende del lenguaje, podemos asociar dos clases con atributos de una clase a la otra
![Page 25: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/25.jpg)
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
25
![Page 26: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/26.jpg)
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
26
Acoplado
No Acoplado
![Page 27: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/27.jpg)
Multiplicidad
•Describe el número de objetos que relaciona
•Si no se indica, la multiplicidad es 1
27
![Page 28: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/28.jpg)
Asociaciones
•Composición▫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
28
![Page 29: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/29.jpg)
Listas•Diploma es una colleccion de cursos•En UML:
29
![Page 30: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/30.jpg)
•Un mecanismo para tener acceso a los miembros de una lista
•La interfaz publica tiene 2 metodos▫hasNext▫Next
30
Iteradores
![Page 31: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/31.jpg)
Fragmento de programa
31
![Page 32: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/32.jpg)
Diagramas de Sequencia
•Se usan para indicar la sequencia de eventos en una interacción
32
![Page 33: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/33.jpg)
Diagramas de sequencia - elementos
33
![Page 34: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/34.jpg)
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)
34
![Page 35: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/35.jpg)
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
35
![Page 36: Scis.regis.edu ● scis@regis.edu CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.](https://reader034.fdocumento.com/reader034/viewer/2022051116/5665b4661a28abb57c9137cc/html5/thumbnails/36.jpg)
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
36