Departamento de Informática (UM)

Página de Unidade Curricular 🇬🇧

DesignaçãoCódigoCursoRegimeRegente

Desenvolvimento de Sistemas de Software

14310 [J305N2]

Licenciatura em Engenharia Informática [ENGINF]

S1

José Francisco Creissac Freitas Campos

Objetivos

A Unidade Curricular visa fornecer competências de desenvolvimento de software, baseado em modelos, numa abordagem orientada a objectos. É apresentada uma abordagem de desenvolvimento, centrada nos requisitos e na arquitectura, suportada por UML.

Programa

1. Introdução aos Sistemas de Software: definição, sistemas software multi-camada, processos de desenvolvimento de software
2. O Unified Process – desenvolvimento de software baseado em entregas faseadas
2.1. As diferentes fases do processo de desenvolvimento: da análise de requisitos à manutenção
3. Introdução à Unified Modelling Language (UML): história e tipos de modelos
4. Desenvolvimento de Software baseado em modelos com recurso a UML
4.1. Análise e modelação de requisitos
4.2. Análise e modelação estrutural – padrões arquitecturais
4.3. Análise e modelação comportamental
4.4. Reificação de modelos
4.4.1. Mapeamento Objectos-Relacional
4.4.2. Geração de código
4.5. Testes de aceitação
4.6. Instalação e manutenção do software

Bibliografia

M. Seidl, M. Scholz, C. Huemer, G. Kappel. UML@Classroom: An Introduction to Object-Oriented Modeling. Undergraduate Topics in Computer Science. Springer, 2015.

J. Arlow, I. Neustadt. UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (2nd edition). Addison-Wesley Professional, 2005.

S. W.Ambler. The Elements of UML 2.0 Style. Cambridge University Press, 2005.

D. Pilone, N. Pitman. UML 2.0 in a Nutshell (2nd edition). O'Reilly Media, 2005.

Martin Fowler. UML Distilled (third edition). Addison-Wesley, 2004.

Resultados da aprendizagem

Os alunos deverão ser capazes de:
- Caracterizar os diferentes tipos de processo de desenvolvimento de software;
- Conhecer os principais diagramas da linguagem UML;
- Desenvolver sistemas de software multi-camada utilizando um processo baseado em modelos;
- Desenvolver sistemas de software multi-camada com base num processo de desenvolvimento baseado em entregas faseadas;
- Desenvolver capacidades de raciocínio abstracto;
- Retificar modelos estruturais/comportamentais considerando o problema do mapeamento objecto-relacional.

Método de avaliação

A metodologia de avaliação adoptada considera duas componentes. Uma componente individual, através de um exame escrito final, em que é aferida a compreensão dos conceitos bem como a capacidade de os aplicar. Uma componente de trabalho em equipa, através do desenvolvimento de um trabalho prático, com entregas faseadas ao longo do semestre, em que é aferida a capacidade de aplicação do processo proposto. O exame escrito tem um peso na classificação final que se situa entre os 50% a 60%, enquanto a componente de trabalho em equipa tem um peso que se situa entre os 40% a 60%.

Funcionamento

Turno: T 1; Docente: José Francisco Creissac Freitas Campos; Dep.: DI; Horas: 30.
Turno: PL 1; Docente: António Manuel Nestor Ribeiro; Dep.: DI; Horas: 30.
Turno: PL 2; Docente: José Francisco Creissac Freitas Campos; Dep.: DI; Horas: 30.
Turno: PL 3; Docente: Rafael Braga Gomes Costa; Dep.: DI; Horas: 30.
Turno: PL 4; Docente: Rafael Braga Gomes Costa; Dep.: DI; Horas: 30.
Turno: PL 5; Docente: António Manuel Nestor Ribeiro; Dep.: DI; Horas: 30.
Turno: PL 6; Docente: António Manuel Nestor Ribeiro; Dep.: DI; Horas: 30.

[ Outras UCs do Departamento ]