Faculdade de Ciências e Tecnologia

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:

  1. R. N. Taylor, N. Medvidovic, E. M. Dashofy, Software Architecture: Foundations, Theory, and Practice, Wiley, 2009
  2. M. Brambilla, J. Cabot, M. Wimmer, Model-Driven Software Engineering, Practice Synthesis Lectures on Software Engineering, 2012.
  3. S. J. Mellor, MDA Distilled Principles of Model-Driven Architecture, Addison-Wesley, 2004.
  4. Model Driven Architecture, http://www.omg.org
  5. L.Chung, B.Nixon, E.Yu, J. Mylopoulos, Non-Functional Requirements in Software Engineering, Kluwer, 2000.
  6. Transactions on AOSD, Springer.
  7. R.E. Filman, T. Elrad, S. Clarke, M. Aksit (eds), Aspect-Oriented Software Development, Addison-Wesley, 2004.
  8. S. Kelly, J. Tolvanen, Domain-Specific Modeling: Enabling Full Code Generation, Wiley-IEEE Computer Society, 2008
  9. P. Clements, L. Northrop, Software Product Lines: Practices and Patterns, Addison-Wesley, 2002.
  10. K. Pohl, G. Böckle, F. Linden, Software Product Line Engineering: Foundations, Principles and Techniques, Springer, 2005. 
  11. 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 StaffordPatterns of Enterprise Application Architecture ,2002Addison-Wesley
  • Ivica Crnkovic, Magnus Larsson, "Building Reliable Component-Based Software Systems", Artech House, 2002. ISBN 1-58053-327-2

Cursos