Diseño de Sistemas
Agenda
de la clase
2
1.
Cualidades de diseño
Cómo sopesar alternativas
3
Cualidades de
diseño
Simplicidad
4
Cualidades de
diseño
Robustez
5
Cualidades de
diseño
Flexibilidad
6
Cualidades de
diseño
Acoplamiento
7
Cualidades de
diseño
Testeabilidad
8
Cualidades de
diseño
Cohesión
9
Cualidades de
diseño
Abstracción
10
Cualidades de
diseño
Seguridad
11
Cualidades de
diseño
Escalabilidad
12
Cualidades de
diseño
Performance
13
2.
Manejo de errores
Qué hacer cuando las cosas malen sal
14
Manejo de
errores
Ante un error
15
Manejo de
errores
Mantener consistencia
16
Manejo de
errores
Desconfiar del afuera,
confiar en el adentro
17
Manejo de
errores
Validar si puedo,
fallar si no
18
Excepciones
19
A
F
Llamados sucesivos
Lanzamiento
Atrapado
B
C
D
E
Call & Return
Códigos de error
20
A
B
Respuesta con código
Ejecutar acción
-1
0
Call & Return
Cosificar
21
A
B
Respuesta con Objeto
Ejecutar acción
Fallo(“Algo
salio mal”)
Exito(/*resultado de la acción*/)
3.
Consultas
A repasar lo que no quedó claro
22
Cómo notar cuándo estas al punto de “programación paranoica” con las excepciones.?
Con algún ejemplo me quedaría mas claro.
23
“
Cuando diseñamos lo hacemos teniendo en cuenta los requerimientos actuales (más simplicidad) o bien más pensando en los futuros (más flexibilidad)?
Cómo priorizamos a qué cualidades les prestamos atención?
24
“
Qué diferencia hay entre Casos de Uso y User Stories?
Qué tanto las vamos a usar?
25
“
Continuación? Callback? KESESO? AIUDAAAA
26
“
Me cuesta un poco comprender la diferencia entre el "conoce" y el "usa" en el diagrama de clases
27
“
Entendi que si no tengo el contexto necesario no debo atrapar una excepción sino propagarla al objeto que me envió el mensaje previamente, pero una vez en este… Cómo la manejo?
28
“
29
Más
preguntas?
4.
MacoWins: dudas
Charlamos un poco de ciertas dudas y consideraciones generales
30
5.
MacoWins: puesta en común
Cómo encarar el diseño de la solución a un problema
31
En ningún lugar dice qué lenguaje debemos utilizar, entonces utilice Wollok ya que es el que vimos en PdeP.
No hice mucho foco en que funcione ya que entiendo que veremos java en esta materia.
32
“
Me quedaron algunas dudas de cosas que me gustaría que quizás sean objetos en vez de clases (por ejemplo el método de pago "Efectivo" el cual es siempre igual) pero no supe ni como diagramarlas en un diagrama de clases ni como codearlas en java.
33
“
No tengo dudas puntuales pero me costó un poco el ejercicio ya que no sabía hacer diagrama de clases
34
“
35
Preguntas?
Algo no te convenció?
Para la clase que viene
Les estaremos enviando un email con:
Recuerden enviar consultas al foro
36
Muchas Gracias!!
Si tienen consultas
https://github.com/dds-jv/foro
37