Aprofundar os conhecimentos em conceitos relacionados ao reúso de software, bem como metodologias, tecnologias e ferramentas de apoio ao reuso.
Apresentação de conceitos gerais, técnicas, métodos e ferramentas para reúso de software.
A disciplina oferecerá aos alunos uma introdução aos conceitos gerais envolvidos na reutilização de software. Em seguida, as várias técnicas, métodos e ferramentas específicos para apoio à reutilização serão aprofundados. Entre eles estão: desenvolvimento baseado em componentes (DBC), desenvolvimento orientado a aspectos (POA), desenvolvimento de linhas de produtos de software (LPS), geradores de aplicações, arquitetura orientada a serviços (SOA), desenvolvimento orientado a modelos (MDD) e sistema-de-sistemas (SoS).
Livros texto: - CHEESMAN, J.; DANIELS, J. (2001). UML Components - A Simple Process for Specifying Component-Based Software, Addison-Wesley. - CLARKE, S.; BANIASSAD, E. (2005). Aspect Oriented Analysis and Design. Addison-Wesley Object Technology Series. - CLEAVELAND, J. C. (1988). Building Application Generators. IEEE Software, vol. 9, no. 4, July. - CLEMENTS, P.; NORTHROP, L. (2001). Software Product Lines. Practices and Patterns. Addison-Wesley. - CZARNECKI, K.; EISENECKER, U. (2000). Generative programming: Methods, tools, and applications. Addison-Wesley. - FAYAD, M. E.; JOHNSON, R. E. (eds) (2000). Domain-Specific Application Frameworks: Frameworks Experience by Industry, John Wiley & Sons. - GOMAA, H. (2004) Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley. - KRAFZIG, D.; BANKE, Karl; SLAMA, Dirk. (2005). Enterprise SOA – Service Oriented Architecture Best Practices, Prentice Hall. - WEISS, D. M.; LAI, C. R. R. (1999). Software product-line engineering. Addison-Wesley. - STAHL, T.; VOELTER, M. (2006) Model-Driven Software Development: technology, Engineering, Management. Willey.