Aplicações em Engenharia de Software [APS]
Semestre Letivo 2011.1
Goal
- To Transfer the state-of-the-art for the state-of-the-practice in the Software Reuse Area based on Real Problems
Lecturers
- Vinicius Cardoso Garcia (vcg at cin dot ufpe dot br)
Teaching assistants
- Leandro Marques (leandro.marques at gmail dot com)
- Paulo Silveira (pauloadmsn at gmail dot com)
- Vanilson Buregio (vanilson at gmail dot com)
When: Tuesday 08:50-10:30, Thursday 08:50-10:30 (not regular)
Where: Poli-UPE – Room (to be confirmed)
Homepage: http://groups.google.com/group/aps-2011
Group email: aps-2011@googlegroups.com
Methodology
- To Explore strongly the state-of-the-art in the area
- To Build a software factory
- To Develop the project
- To Describe the Experience
Background
- CASE Tools
- Programming Languages
- Software Engineering (SWEBOK, Pressman, Sommerville)
Students
Practical activities spreadsheet [view]
Grades
- Participation (10%)
- Exam (15%)
- Project (75%) = 50% Team + 25% Student
Schedule
[01-02] 15/02/2011 & 17/02/2011
- Course Presentation
- Activities: Warm up activities [classroom]
[03-04] 22/02/2011 & 24/02/2011
- Software Reuse Introduction/Adoption in Software Factories [slides]
- Readings:
- [r01] Software Engineering: Report of a Conference Sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968
- [r02] Charles W. Krueger. 1992. Software reuse. ACM Comput. Surv. 24, 2 (June 1992), 131-183. http://doi.acm.org/10.1145/130844.130856
- [r03] Hafedh Mili, Fatma Mili, Ali Mili, “Reusing Software: Issues and Research Directions,” IEEE Transactions on Software Engineering, vol. 21, no. 6, pp. 528-562, June 1995, doi:10.1109/32.391379
- [r04] William B. Frakes, Kyo Kang, “Software Reuse Research: Status and Future,” IEEE Transactions on Software Engineering, vol. 31, no. 7, pp. 529-536, July 2005, doi:10.1109/TSE.2005.85
- CRUISE chapter 2
[05-06] 01/03/2011 & 03/03/2011
- Component-Based Development (CBD) [slides]
- Readings:
- [r01] Bertrand Meyer, Christine Mingins, “Component-Based Development: From Buzz to Spark,” Computer, vol. 32, no. 7, pp. 35-37, July 1999, doi:10.1109/2.774916
- [r02] HANDBOOK OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERINGVOL 2: EMERGING TECHNOLOGIES (pp 289-305), WILHELM HASSELBRING
- [r03] Clemens Szyperski, “Component Technology – What, Where, and How?,” icse, pp.684, 25th International Conference on Software Engineering (ICSE’03), 2003. http://doi.ieeecomputersociety.org/10.1109/ICSE.2003.1201255
- [r04] Components – the Past, the Present, and the Future, Jean-Guy Schneider and Jun Han
- CRUISE chapter 3
[07-08] 15/03/2011 & 17/03/2011
- Software Product Lines I [Variability and Domain Analysis] [slides]
- Readings:
- [r01] Jilles Van Gurp, Jan Bosch, Mikael Svahnberg, “On the Notion of Variability in Software Product Lines,” wicsa, pp.45, Working IEEE/IFIP Conference on Software Architecture (WISCA’01), 2001
- [r02] Critina Gacek and Michalis Anastasopoules. 2001. Implementing product line variabilities. SIGSOFT Softw. Eng. Notes 26, 3 (May 2001), 109-117. http://doi.acm.org/10.1145/379377.375269
- [r03] Felix Bachmann and Len Bass. 2001. Managing variability in software architectures. SIGSOFT Softw. Eng. Notes 26, 3 (May 2001), 126-132. http://doi.acm.org/10.1145/379377.375274
- Tools for Domain Analysis (Feature Model):
- pure::variants
- ToolDAy [free version - old]
- SPLOT
- fmp
- FeatureIDE
- XFeature
[09-10] 22/03/2011 & 24/03/2011
- Software Product Lines II [Domain Design] [slides]
- OSCi examples [link]
- Readings:
- [r01] John D. McGregor, Linda M. Northrop, Salah Jarrad, Klaus Pohl, “Guest Editors’ Introduction: Initiating Software Product Lines,” IEEE Software, vol. 19, no. 4, pp. 24-27, July/Aug. 2002, doi:10.1109/MS.2002.1020282
- [r02] Klaus Schmid, Martin Verlage, “The Economic Impact of Product Line Adoption and Evolution,” IEEE Software, vol. 19, no. 4, pp. 50-57, July/Aug. 2002, doi:10.1109/MS.2002.1020287
- [r03] Linda M. Northrop, “SEI’s Software Product Line Tenets,” IEEE Software, vol. 19, no. 4, pp. 32-40, July/Aug. 2002, doi:10.1109/MS.2002.1020285
- [r04] Andreas Birk, Gerald Heller, Isabel John, Klaus Schmid, Thomas von der Maßen, Klaus Müller, “Product Line Engineering: The State of the Practice,” IEEE Software, vol. 20, no. 6, pp. 52-60, Nov./Dec. 2003, doi:10.1109/MS.2003.1241367
[11-12] 29/03/2011 & 31/03/2011
- Implementing Components with OSGi (Open Services Gateway Initiative) [Domain Realization] [slides]
- Readings:
- [r01] Andre L.C. Tavares, Marco Tulio Valente, “A gentle introduction to OSGi”, SIGSOFT Software Engineering Notes, Volume 33, Issue 5, August 2008, doi:10.1145/1402521.1402526
- [r02] Kiev Gama, Didier Donsez, “A survey on approaches for addressing dependability attributes in the OSGi service platform”, SIGSOFT Software Engineering Notes, Volume 35, Issue 3, May 2010, doi:10.1145/1764810.1764818
- [r03] Hello, OSGi, Part 2: Introduction to Spring Dynamic Modules [link]
- [r04] Hello, OSGi, Part 3: Take it to the server side [link]
[13-14] 05/04/2011 & 07/04/2011
- Software Product Line Testing [slides]
- Readings:
- [r01] Klaus Pohl and Andreas Metzger. 2006. Software product line testing. Commun. ACM 49, 12 (December 2006), 78-81. doi:10.1145/1183236.1183271
- [r02] Emelie Engström and Per Runeson. 2011. Software product line testing – A systematic mapping study. Inf. Softw. Technol. 53, 1 (January 2011), 2-13. doi:10.1016/j.infsof.2010.05.011 [link]
- [r03] Paulo Anselmo da Mota Silveira Neto, Ivan do Carmo Machado, John D. McGregor, Eduardo Santana de Almeida, and Silvio Romero de Lemos Meira. 2011. A systematic mapping study of software product lines testing. Inf. Softw. Technol. 53, 5 (May 2011), 407-423. DOI=10.1016/j.infsof.2010.12.003 [link]
[15-16] 11/04/2011 & 14/04/2011
- Domain Specific Languages: a case study with WebDSL [slides]
[17-18] 18/04/2011 & 19/04/2011
- Organizing your research: systematic mapping studies and literature reviews [slides]
[19-20 Exam] 26/04/2011
First exam – 08:50 to 10:30
[21-22] 03/05/2011 & 05/05/2011
Definição do Projeto: Social Network Product Line (Rede Social by Wikipedia)
Site do projeto MySoN (My Social Network): http://code.google.com/p/my-son-project/
Sugestão de leitura: Sample Product Line for Learning
- Desenvolver uma linha de produtos para redes sociais utilizando os tópicos vistos em sala durante a primeira unidade.
— Especificar o Escopo do Domínio
—— Criar a especificação completa do escopo do domínio [Sugestão: utilizar o conceito de estórias]
— Executar a Análise do Domínio
—– Criar modelos de feature para uma família de aplicações de redes sociais utilizando umas das ferramentas citadas
— Executar a Engenharia de Requisitos do Domínio
—– Estruturar artefatos de requisitos da família de aplicações de redes sociais
—– Especificar casos de uso do domínio
—– Especificar as variabilidades
— Executar o Projeto do Domínio
—– Estruturar a Arquitetura de Referência do Domínio
— Executar a Realização do Domínio
—– Estruturar artefatos de código da família de aplicações de redes sociais
——- Utilizar OSGi
——- Derivar uma Aplicação
- Submeter a Especificação Completa do Escopo do Domínio (12/05) [link]
- Submeter o Modelo de Features do Domínio (19/05) [link]
- Executar Projeto
- Apresentação da Arquitetura de Referência do Domínio (07/06) [link]
- Executar Projeto
- Executar Projeto
- Apresentação Final do Projeto para banca (28/06)

