General
Esta obra se publica bajo una licencia Creative Commons License.
Ingeniería del Software II, [2018/10][cas]
Autores:
- Goñi Sarriguren, Alfredo
- Iturrioz Sánchez, Juan Ignacio
UPV/EHU
VÍDEO PRESENTACIÓN DEL CURSO
Esta obra se publica bajo una licencia Creative Commons License.
Ingeniería del Software II, [2018/10][cas]Autores:
UPV/EHU |
VÍDEO PRESENTACIÓN DEL CURSO
Tema 3.- Diseño del software
Tema 4.- Implementación: Frameworks
Recursos de IS de Roger Pressman http://www.rspa.com/spi/. El autor del libro de referencia fundamental mantiene una web muy rica en recursos, incluyendo especificaciones, ejemplos, componentes software, herramientas y checklists.
Modelado ágil http://www.agilemodeling.com/. Esta completa web mantenida por Scott Ambler, uno de los padres del agilismo, cumple dos funciones. Por un lado tiene ejemplos de modelado usando UP, por lo que es útil para aprender a usar diagramas UML. Por otro está claramente orientada a las metodologías ágiles, por lo que incluye muchos consejos para evitar el sobre modelado y la pérdida de tiempo en exceso de documentación.
Mantenimiento, desarrollo ágil, diseño software: http://www.martinfowler.com/. Martin Fowler, autor y orador internacional sobre desarrollo de software, especializado en análisis y diseño orientado a objetos, UML, patrones de diseño, y metodologías de desarrollo ágil, incluyendo programación extrema, nos presenta en su web su perspectiva sobre este área.
Recursos de programación
En las siguientes direcciones puedes descargarte los recursos necesarios para instalarte las distintas herramientas de desarrollo, así como su documentación oficial.
Tutoriales de Java SE http://docs.oracle.com/javase/tutorial/index.html. Este recurso contiene mucha información, muy clara y con ejemplos. Especialmente indicado cuando empiezas con una tecnología nueva, como puede ser el diseño de interfaces en AWT/SWING o la programación distribuida mediante RMI.
Entorno ECLIPSE http://www.eclipse.org/downloads/.
StarUML 2. http://staruml.io. Usaremos este entorno para diseñar modelos en UML, fundamentalmente los Diagramas de Casos de Uso y los de Secuencia. Disponible para Mac/Linux/Windows.
JDeodorant. https://marketplace.eclipse.org/content/jdeodorant. Utilizaremos esta plug-in de eclipse para buscar “malos olores en el código” y eliminarlos.
JUnit. https://junit.org. Utilizaremos esta librería de java para realizar la pruebas unitarias del proyecto.
PatternBox. http://www.patternbox.com. Plug-in integrado en eclipse, que nos permite aplicar los patrones de diseño de Eric Gamma (GoF) de manera sencilla.
Tema 1.- Verificación del software
Tema 2.- Mantenimiento del software
Tema 3.- Diseño del software
Tema 4.- Implementación: Frameworks
Desarrollo del proyecto
Guía de instalación del software, librerías para el tema de implementación y el proyecto, y posibles soluciones a errores
Juan Ignacio Iturrioz Sánchez
Alfredo Goñi Sarriguren
Libro general sobre Ingeniería del Software
Ingeniería del Software. Un enfoque práctico. Roger S. Pressman. MacGraw-Hill, 2001. 7ª Edición.McGraw-Hill. Este libro, cuya primera edición es nada menos que de 1982, se ha ido reinventando a lo largo de los años y manteniéndose como referencia fundamental. Su cobertura es mucho más amplia que el programa del curso, por lo que está recomendado únicamente como lectura de referencia. La 7ª edición es de 2010, y está disponible en inglés y castellano.
Libro sobre Verificación del Software
JUnit in action second Edition. P. Tahchiev, F. Leme, V. Massol, G.Gregory. Manning Pres. 2011. En este libro de presenta el framework de pruebas JUnit. Viene acompañado de una sería de ejemplo de utilización, así como su utilización en diferentes contextos.
Libro sobre Mantenimiento del Software
Refactoring: Improving the Design of Existing Code. Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts. Addison-Wesley. 2000. Este libro es un clásico en el área del mantenimiento software. Describe una taxonomía de patrones de refactorización y cuáles son sus soluciones.
Libros sobre Diseño del Software avanzado
Head First Design Patterns. E. Freeman, E. Robson, B. Bates, K. Sierra. O'Reilly 2000. Desde nuestro punto de vista el mejor libro sobre patrones de diseño. En la web de Amazon, lo valoran con la máxima calificación (5*) con más de 20 evaluaciones. Un libro de referencia sin lugar a duda.
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Prentice Hall. Este texto está estructurado como un proyecto software, en forma de iteraciones. Contiene explicaciones muy intuitivas y sus capítulos, secciones y apartados son claros y breves. Aparte de los ejemplos sencillos desarrolla dos pequeños proyectos cuya descripción inicial conviene leer si se quieren entender los ejemplos de más enjundia. Se recomienda la tercera edición (2004), aunque desafortunadamente la traducción al castellano sólo ha llegado a la segunda.
Libros sobre Implementación
A continuación se enumeran los libros que consideramos más relevantes para las tecnologías que se utilizan en el curso. En el material de estudio se incluyen recursos en internet.
POJOs in Action. Developing Enterprise Applications with Lightweight Frameworks. C. Richardson. Manning 2005.
JavaServer Faces in Action. Kito D. Mann. Manning 2004.
Java Persistence with Hibernate. Second Edition of Hibernate in Action. C. Bauer, Gavin King. Manning 2006.