
Advanced Software Development
Código
9230
Unidade Orgânica
Faculdade de Ciências e Tecnologia
Departamento
Departamento de Informática
Créditos
6.0
Professor responsável
Ana Maria Dinis Moreira
Horas semanais
2
Total de horas
28
Língua de ensino
Português
Objectivos
O objetivo principal desta unidade é estudar os paradigmas modernos de engenharia de software que oferecem um melhor suporte para abstração, modularização e reuso. Portanto, esta unidade usa: Desenvolvimento Orientado a Modelos (MDD) para melhor representar a abstração de software; Desenvolvimento Orientado a Aspetos (AOSD) para modularização avançada; e Linhas de Produto de Software (SPL) para reuso em larga escala.
Esta unidade oferece uma visão alargada do estado da arte corrente dos três paradigmas, discutindo seus conceitos, técnicas e ferramentas principais. Isto inclui: noções de metamodelação, transformações de modelos (MDD); aspetos, pontos de junção, interações e composição (AOSD); variabilidade, engenharia de domínio e modelação de features (SPL).
Um outro objetivo do curso é dar aos estudantes a oportunidade de se envolver de forma mais profunda com a investigação, através da escrita de artigos e participação em projetos do Grupo de Engenharia de Software da UNL.
Bibliografia
Principais:
- R. N. Taylor, N. Medvidovic, E. M. Dashofy, Software Architecture: Foundations, Theory, and Practice, Wiley, 2009
- M. Brambilla, J. Cabot, M. Wimmer, Model-Driven Software Engineering, Practice Synthesis Lectures on Software Engineering, 2012.
- S. J. Mellor, MDA Distilled Principles of Model-Driven Architecture, Addison-Wesley, 2004.
- Model Driven Architecture, http://www.omg.org
- L.Chung, B.Nixon, E.Yu, J. Mylopoulos, Non-Functional Requirements in Software Engineering, Kluwer, 2000.
- Transactions on AOSD, Springer.
- R.E. Filman, T. Elrad, S. Clarke, M. Aksit (eds), Aspect-Oriented Software Development, Addison-Wesley, 2004.
- S. Kelly, J. Tolvanen, Domain-Specific Modeling: Enabling Full Code Generation, Wiley-IEEE Computer Society, 2008
- P. Clements, L. Northrop, Software Product Lines: Practices and Patterns, Addison-Wesley, 2002.
- K. Pohl, G. Böckle, F. Linden, Software Product Line Engineering: Foundations, Principles and Techniques, Springer, 2005.
- H. Gomaa, Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures, Addison-Wesley, 2004.
Adicionais:
- R.E. Filman, T. Elrad, S. Clarke, M. Aksit (eds), Aspect-Oriented Software Development, Addison-Wesley., 2004
- S. Clarke, E. Baniassad, Aspect-Oriented Analysis and Design: The Theme Approach, Addison-Wesley, 2005
- Ramnivas Laddad, AspectJ in Action - Practical Aspect-Oriented Programming, Manning Publications Inc. 2003
- I. Jacobson and P.-W. Ng, Aspect-Oriented Software Development with Use Cases, Addison-Wesley, 2004.
- Aracic et al., “An Overview of CaesarJ,” Trans. Aspect-Oriented Software Development, vol. 1, 2006, pp.135–173.
- M. Monteiro et al., “Towards a Catalogue of Refactorings and Code Smells for AspectJ” ,” Trans. Aspect-Oriented Software Development, vol. 1, 2006, pp.214-258.
- A. Moreira, A. Rashid, J. Araújo, “Multidimensional Separation of Concerns in Requirements Engineering”, Proc. 13th IEEE Intl Conf. on requirements Engineering, pp 285-296
- D. Stein, S. Hanenberg, and R. Unland, “Expressing Different Conceptual Models of Join Point Selections in Aspect-Oriented Design,” Proc. 5th Int’l Conf. Aspect-Oriented Software Development, ACM Press, 2006, pp.15–26.
- IEE proceedings - Software Engineering - Volume 151, Issue 04. August 2004
- S. J. Mellor, MDA Distilled Principles of Model-Driven Architecture. Boston, MA, USA: Addison-Wesley, 2004.
- A. Kleppe, et al., MDA Explained the Model Driven Architecture: Practice and Promise. Boston, MA, USA: Addison-Wesley, 2003.
- Model Driven Architecture, http://www.omg.org
- P. Clements and L. M. Northrop, Software Product Lines: Practices and Patterns. Boston, MA, USA: Addison-Wesley, 2002.
- K. Pohl, et al., Software Product Line Engineering: Foundations, Principles and Techniques. Berlin, Germany: Springer, 2005.
- K. Czarnecki, "Generative Software Development," in Software Product Lines, vol. 3154: Springer, 2004.
- H. Gomaa, Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures: Addison-Wesley, 2004.
- Len Bass, Paul Clements, Rick Kazman, "Software Architecture in Practice", 2nd edition, Addison-Wesley, 2003. ISBN: 0321154959
- Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, Judith Stafford, "Documenting Software Architectures: Views and Beyond", Addison-Wesley, 2003.
- Mary Shaw, David Garlan, "Software Architecture: Perspectives on an Emerging Discipline", Prentice Hall, 1996, ISBN 0-131-82957-2.
- Martin Fowler, David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, Randy Stafford, Patterns of Enterprise Application Architecture ,2002, Addison-Wesley
- Ivica Crnkovic, Magnus Larsson, "Building Reliable Component-Based Software Systems", Artech House, 2002. ISBN 1-58053-327-2