Publicação em Diário da República: Aviso n.º 12718/2016 - 19/10/2016
5 ECTS; 2º Ano, 1º Semestre, 45,0 PL + 15,0 TP , Cód. 620018.
Docente(s)
- Fernando Sérgio Hortas Rodrigues (1)(2)
(1) Docente Responsável
(2) Docente que lecciona
Pré-requisitos
Good knowledge of an object oriented language.
Objetivos
Proporcionar uma introdução à Análise e Desenho Orientados ao Objecto e metodologias iterativas e evolutivas, através do Unified Process e UML. A linguagem Java é utilizada nos tópicos referidos quando necessário. Visão geral das metodologias XP e SCRUM.
Programa
1. Categorias de Metodologias de Desenvolvimento de Software
1.1. Categorias e características das metodologias de desenvolvimento de software
1.2. Visão geral de metodologias de desenvolvimento de software populares: Waterfall, Scrum, Extreme Programming, Unified Process.
2. A UML - Unified Modeling Language
2.1. Princípios da Modelação
2.2. Perspetivas de Arquiteturas orientadas a objetos
2.3. Formas de utilização da UML
2.4. Modelo conceptual da UML
2.4.1. Blocos Básicos
2.4.1.1. Entidades: Estruturais; De comportamento; Agregadoras; De notação
2.4.1.2. Relações: De dependência; De associação; De generalização; De realização
2.4.1.3. Diagramas
2.4.2. Regras
2.4.3. Mecanismos Comuns
2.4.3.1. Especificações
2.4.3.2. Adornos
2.4.3.3. Divisões comuns
2.4.3.4. Mecanismos de extensibilidade
2.5. Os diagramas da UML
3. Desenho e Análise Orientados por Objetos (OO)
3.1. Arquitetura do Sistema
3.2. Perspetivas e características de uma Arquitetura Orientada a Objetos
3.3. O que é a Análise e o Desenho
3.4. Análise e Desenho orientados por objetos
4. Processos Iterativos, Evolutivos e Ágeis
4.1. Características e vantagens do desenvolvimento Iterativo e Evolutivo
4.2. A mudança num processo iterativo
4.3. Timeboxing
4.4. O Processo Unificado (UP)
4.4.1. Fases, Iterações e Milestones
4.4.2. Disciplinas
5. Fase de Conceção (Inception)
5.1. Características
5.2. Duração
5.3. Artefactos que se iniciam nesta fase
6. Requisitos Evolutivos
6.1. O que são Requisitos
6.2. Categorias de Requisitos
6.3. Requisitos Evolutivos vs. Requisitos do tipo Waterfall
6.4. Como encontrar requisitos
7. Casos de Uso (UCs)
7.1. Atores, Cenários e Casos de Uso
7.2. Formatos de UCs (Resumido, Casual, Detalhado)
7.3. Evolução dos UCs nas várias iterações
8. Fase de Elaboração (Elaboration)
8.1. As várias iterações da fase de Elaboração
8.2. Os UCs durante as várias iterações
8.3. Artefactos iniciados na fase de elaboração
9. Modelos de Domínio
9.1. O que são e para que servem
9.2. Classes conceptuais
9.3. Métodos para encontrar classes conceptuais
9.4. Atributos
9.5. Atributos vs Classes
9.6. Modelar com Classes de Descrição
9.7. Associações
9.8. Métodos para encontrar associações
10. Diagramas de Sequência do Sistema (DSSs)
10.1. O que são e para que servem
10.2. Relação entre DSSs e Use Cases
10.3. Nomeação de Eventos de Sistema e Operações
10.4. Contractos de Operação e suas características
10.5. Como criar e escrever Contratos de Operação
10.6. Os contratos de operação no contexto do UP
11. Requisitos para o Desenho
11.1. Motivação para a passagem para as atividades de desenho
12. Diagramas de Interação
12.1. Notação dos Diagramas de Sequência e Comunicação
12.2. Notação dos Diagramas de Interação
13. Diagramas de Classe
13.1. que são e para que servem
13.2. Notação dos diagramas de classe
13.3. Diagramas de Classes de Desenho
13.4. Classificadores
13.5. Como mostrar atributos no diagrama de classes
13.6. Anotações
13.7. Operações e Métodos
13.8. Estereótipos, Profiles e Tags
13.9. Propriedades
13.10. Generalização, classes e métodos abstratos
13.11. Dependências
13.12. Interfaces
13.13. Composição e Agregação
13.14. Constraints
13.15. Associação qualificada
13.16. Classe de associação
13.17. Classe Singleton
13.18. Compartimentos definidos pelo utilizador
13.19. Relação entre diagramas de interação e digramas de classes
Metodologia de avaliação
Avaliação em Época de Frequência:
- Teste escrito (30%)
- Trabalho Prático (70%).
Avaliação em Época Normal de Exame:
- Nota dos Teste em época de frequência ou nota de Exame escrito (30%)
- Trabalho Prático (70%).
Avaliação em Época de Recurso:
- Exame escrito (30%)
- Trabalho Prático (70%).
Observação 1: Nota mínima Teste e Exames escritos: 7 valores; Nota mínima Trabalho Prático: 10 valores
Observação 2: Se o docente entender, pode convocar os alunos para discussão dos trabalhos. A falta à discussão resulta na atribuição de zero valores nessa componente e por conseguinte a reprovação na época de avaliação em causa.
Bibliografia
- Booch, G. e Rumbaugh, J. e Jacobson, I. (2005). The Unified Modeling Language User Guide. -: Addison Wesley
- Larman, C. (2004). Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development . -: Prentice Hall
- Nunes, M. e O'Neill, H. e Ramos, P. (2010). Exercícios de UML. Lisboa: Lidel
Método de Ensino
Aulas teórico-práticas expositivas onde se descrevem os conceitos fundamentais. Aulas práticas de resolução de casos práticos e aplicação dos conceitos a cenários de utilização real.
Software utilizado nas aulas
Visual Pardigm