Algoritmos III Fiuba - Resumen de la materia 2014
María Inés Parnisari
27 de noviembre de 2012
Índice
I
Resumen
2
1. Notación UML
2
2. Programación orientada a objetos (POO)
3
3. Delegación, agregación y composición
7
4. Herencia
7
5. Polimorsmo
8
6. Genericidad y tipos como parámetros
9
7. Excepciones
10
8. Disciplinas y metodología
12
9. Diseño15
10.Depuración de programas
18
II
20
Lecturas obligatorias
11. What's a Model For? (Martin Fowler)
20
12. Extreme Programming
21
13.Documentación y Pruebas (Pablo Suárez, Carlos Fontela)
22
14.Principios de Diseño de Smalltalk (Daniel Ingalls)
25
15. Continuous Integration (Martin Fowler)
27
16. Domain-Driven Design (Eric Evans)
2917. Design in Construction (Steve McConnell)
30
18.Usabilidad (Carlos Fontela)
34
1
Parte I
Resumen
1
Notación UML
Modelo: captura de una vista o perspectiva de un sistema, destinado a comunicar algo a un público determinado.
Para un mismo sistema puede haber distintos modelos para distintas perspectivas. Es una abstracción. Se suelen
representar mediante diagramas.UML (Unied Modeling Language ): lenguaje para la visualización, especicación y documentación de
software. Dene una notación que se expresa con diagramas. UML dene 13 tipos de diagramas.
Usos de UML:
Para discutir el diseño antes del código
Para generar documentos que sirvan después de la construcción
1.1
Diagrama de estados
Diagrama de estados: modelo dinámico que muestra loscambios de estado
que sufre un objeto a través del tiempo. La representación gráca consiste
en un grafo con nodos para los estados y arcos para las transiciones.
Los diagramas de estado son útiles para diseño, programación y pruebas,
pero debe balancearse la información que incluyen para que sean útiles. Se
utilizan para modelar:
Comportamiento complejo de objetos
Estados concurrentesPruebas de caja blanca
Para realizar un diagrama de estados:
1. Decidir a qué eventos puede responder el objeto.
2. Denir precondiciones y postcondiciones de los estados inicial y nal.
Figura 1: Diagrama de estados.
3. Denir los estados estables.
4. Probar el diagrama, haciendo un seguimiento manual de los eventos,
transiciones y estados.
1.2
Diagrama de clases
Diagrama declases: modelo estático del sistema a construir o
de parte del mismo. En él se muestran las clases, sus relaciones
y sus jerarquías.
Los atributos, métodos y propiedades precedidos por un
- son privados, los precedidos por un + son públicos,
(a) Agregación de clases
y los precedidos por un # son protegidos (sólo pueden
utilizarlos clases descendientes).
Las líneas que vinculan clasesse llaman asociaciones. Las
asociaciones pueden tener cardinalidad, lo cual indica de
cuántos atributos estamos hablando. Si la línea no tiene
(b) Clase en notación UML
punta, entonces ambas clases se conocen entre sí; si no, la que no tiene la echa conoce a la que sí.
Una clase se representa con un rectángulo con tres divisiones: el nombre de la clase, los atributos, y los métodos.
2Los atributos y métodos de clase se pueden representar
subrayados.
La agregación se representa con un rombo vacío del lado
de la clase contenedora.
La composición se representa con un rombo lleno del lado
de la clase contenedora.
La herencia se representa con echas vacías hacia las clases
ancestros.
Las clases y métodos abstractos van en cursiva.
Las interfaces se heredan con líneasdiscontinuas, y se representan con el estereotipo
.
Algunas cuestiones prácticas:
No es necesario representar todas las clases con todos sus detalles.
Conviene representar siempre clases, asociaciones y generalización.
Conviene mantenerlos actualizados.
No suelen mostrarse las relaciones de dependencia débil (ejemplo: excepciones).
1.3
Diagrama de secuencia
Diagrama de...
Regístrate para leer el documento completo.