IPT Logotipo do IPT

Ano Letivo: 2018/19

Informática e Tecnologias Multimédia

Programação Orientada por Objetos

<< voltar ao Plano Curricular

Publicação em Diário da República: Despacho n.º 12419/2016 - 14/10/2016

6 ECTS; 2º Ano, 1º Semestre, 45,0 PL + 30,0 TP + 5,0 OT , Cód. 814312.

Docente(s)
- Sandra Maria Gonçalves Vilas Boas Jardim (1)
- Fernando Sérgio Hortas Rodrigues (2)

(1) Docente Responsável
(2) Docente que lecciona

Pré-requisitos
Conhecimento de uma linguagem de programação orientada a objetos.

Objetivos
1. Conhecer e saber utilizar as metodologias de análise e Desenho orientados ao Objeto
2. Conhecer e ser capaz de utilizar metodologias interativas e evolutivas, através do Unified Process e UML, bem como padrões de desenho
3. Conhecer as metodologias XP e SCRUM

Programa
1 - Categorias de Metodologias de Desenvolvimento de Software
- Categorias e características das metodologias de desenvolvimento de software
- Visão geral de metodologias de desenvolvimento de software populares: Waterfall, Scrum, Extreme Programming, Unified Process

2 – Desenho e Análise orientados por objetos (OO)
- O que é a Análise e o Desenho
- Análise e Desenho orientados por objetos
- A Modelação visual - UML

3 – A UML - Unified Modeling Language
- Princípios da Modelação
- Perspetivas de Arquiteturas orientadas a objetos
- Formas de utilização da UML
- Modelo conceptual da UML
- Os vários tipos de Entidades, Relações e Mecanismos Comuns
- Os diagramas da UML

4 – Processos Iterativos, Evolutivos e Ágeis
- Características e vantagens do desenvolvimento Iterativo e Evolutivo
- O Processo Unificado (UP)
- Fases, Iterações e Milestones
- As disciplinas

5 – Fase de Conceção (Inception)
- Características
- Duração
- Artefactos que se iniciam nesta fase

6 – Requisitos Evolutivos
- O que são Requisitos
- Categorias de Requisitos
- Requisitos Evolutivos vs. Requisitos do tipo Waterfall
- Como encontrar requisitos

7 – Casos de Uso (UCs)
- Atores, Cenários e Casos de Uso
- Para que servem os Use Cases
- Formatos de UCs (Resumido, Casual, Detalhado)
- Evolução dos UCs nas várias iterações

8 – Fase de Elaboração
- As várias iterações da fase de Elaboração
- Os UCs durante as várias iterações
- Artefactos iniciados na fase de elaboração

9 – Modelos de Domínio
- O que são e para que servem
- Classes conceptuais
- Métodos para encontrar classes conceptuais
- Atributos
- Atributos vs Classes
- Modelar com Classes de Descrição
- Associações
- Métodos para encontrar associações

10 – Diagramas de Sequência do Sistema (DSSs)
- O que são e para que servem
- Relação entre DSSs e Use Cases
- Nomeação de Eventos de Sistema e Operações
- Contractos de Operação e suas características
- Como criar e escrever Contratos de Operação
- Os contratos de operação no contexto do UP

11 – Requisitos para o Desenho
- Motivação para a passagem para as atividades de desenho

12 – Diagramas de Interação
- Notação dos Diagramas de Sequência e Comunicação
- Notação dos Diagramas de Interação

13 – Diagramas de Classe
- O que são e para que servem
- Notação dos diagramas de classe
- Diagramas de Classes de Desenho
- Classificadores
- Como mostrar atributos no diagrama de classes
- Anotações
- Operações e Métodos
- Estereótipos, Profiles e Tags
- Propriedades,
- Generalização, classes e métodos abstratos
- Dependências
- Interfaces
- Composição e Agregação
- Constraints
- Associação qualificada
- Classe de associação
- Classe Singleton
- Compartimentos definidos pelo utilizador
- Relação entre diagramas de interação e digramas de classes

14 – GRASP – General Responsibility Assignment Software Patterns
- Desenho de objetos com responsabilidades
- UML vs. Princípios de desenho
- Desenho de objetos: Entradas, Atividades e Saídas
- Responsabilidades e Orientação por Responsabilidade no desenho
- Metodologia GRASP para desenho OO
- Relações entre GRASP, Responsabilidades e UML
- Padrões
- O que são e para que servem
- Aplicação do GRASP ao desenho de objetos
- Creator
- Expert
- Low Coupling
- Controller
- High Cohesion

Metodologia de avaliação
Em todas as épocas de avaliação
Trabalhos Práticos (20%)
Projeto Prático (80%) - Na época final, discussão obrigatória. A falta implica a atribuição da nota de zero valores. Em avaliação periódica a discussão poderá ser solicitada pelo docente.

Bibliografia
- Booch, G. e Rumbaugh, J. e Jacobson, I. (2005). The Unified Modeling Language User Guide. (Vol. 1). (pp. 1---). USA: Addison Wesley
- Larman, C. (2004). Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. (Vol. 1). (pp. 1---). USA: Prentice Hall
- Nunes, M. e O'Neill, H. e Ramos, P. (2010). Exercícios de UML. (Vol. 1). (pp. 1---). Portugal: Lidel

Método de Ensino
Aulas teóricas expositivas para apresentação dos conteúdos programáticos. Aulas práticas laboratoriais para resolução de problemas e consolidação de conhecimentos utilizando o computador.

Software utilizado nas aulas
Visual Paradigm; plataforma de eLearning.

 

 

 


<< voltar ao Plano Curricular
NP4552
Financiamento
KreativEu
erasmus
catedra
b-on
portugal2020
centro2020
compete2020
crusoe
fct
feder
fse
poch
portugal2030
poseur
prr
santander
republica
UE next generation
Centro 2030
Lisboa 2020
Compete 2030
co-financiado