Engenharia de Software
João Araújo
Prof. Auxiliar
MEI
IMPORTANTE: Antes da apresentação, enviar
um draft!
New: Modelo de formatação
da parte escrita do trabalho
Programa da disciplina
- Introdução
- Apresentação dos docentes
- Apresentação da disciplina em dois módulos (Linguagens de Especificação
e Engenharia de Software)
- Apresentação das propostas para trabalhos finais
- Linguagens de Especificação com UML
- Introdução ao UML
- Conceitos fundamentais da orientação a objectos
- (usando um diagramas de classes)
- Especificação de requisitos
- Modelo de use cases
- Descrição de use cases
- Modelo dinâmico
- (Complementos de diagramas de classes)
- Diagramas de interacção (sequência e colaboração)
- Diagramas de actividade e estados
- Diagramas de pacotes e componentes
- Rational Unified Process (RUP)
- Engenharia de Software
- Engenharia de Sistemas Baseada em Computador
- Modelos de Processo de Software
- Engenharia de Requisitos
- Requisitos de Software
- Processos de engenharia de requisitos
- Especificação Formal
- Desenho de Software
- Confiança (dependability)
- Verificação e Validação
- Mudança de software
- Gestão de Projecto
Bibliografia principal recomendada
-
Software Engineering, I. Sommerville, Addison-Wesley, 6ª Edição,
2000
-
Software Engineering: A Practitioner's Approach, R.S. Pressman, 5ª
Edição, 2000
-
Requirements Engineering - Processes and Techniques, G. Kotonya & I.
Sommerville, Wiley, 1998
Avaliação
- A avaliação é feita em duas partes:
- Apresentações em grupos de 3 sobre tópicos da matéria
- Discussões a 3, 10 e 17 de Dezembro
- Trabalho escrito: entrega dia 17/12
Apresentações
- Problem Frames (Rui Leal+Hugo)
- Agile modeling (Crystal, Scrum) (Hugo Vieira)
- eXtreme Programming (Joaquim Figueiredo + Jorge Santiago)
- Goal-oriented requirements (Luís Pereira)
- Business and e-business modeling (Paulo Mendes, Bruno Laurêncio)
- Design patterns (Elisabete Soeiro, Filipe Vieira)
- Requirements and analysis patterns (Paulo Quaresma)
- Aspect-oriented software development (Carla Bouça + Fernando Gama)
- Non-functional requirements (Goreti Silva + José Romeiro)
- Model Driven Architecture (MDA) (Pedro Amaral)
Temas para Teses de Mestrado
Na área de Aspect-Oriented Software Development (AOSD) há várias possibilidades:
- Aspect-oriented programming
- Aspect-oriented databases
- Aspect-oriented design
- Early aspects (requirements and architecture)
- Investigating a catalog of crosscutting concerns: their influence and contribuition
(NFRs from Chung)
- Handling conflicts resulting from aspects composition (Fuzzy Logic)
Ainda no área de AOSD, ainda há outras possibilidades:
- Integrate goal-oriented with aspects (i.e. aspectise goals)
- Aspectisation of problem frames
Mas ainda há outras hipóteses:
- Goal-oriented and viewpoints
- Problem frames & requirements patterns
- Evaluation of Agile/XP approaches
Acetatos das aulas
Introdução
Engenharia de sistemas
Processos de software
Requisitos de software
Processos de engenharia de requisitos
Especificação formal
Desenho
Sistemas críticos
Verificação & Validação
Mudança de software
Gestão de projecto