Métodos de Desenvolvimento de Software (2017/2018) - Departamento de Informática
Descrição

A disciplina de MDS tem como características principais:

1. Entender a diferença entre uma abordagem de Engenharia versus uma abordagem não Sistemática.Ter um conhecimento geral das técnicas de planeamento e gestão de projectos complexos.

2. Aprender os diferentes ciclos de desenvolvimento de software, ententendo as suas diferenças e melhores práticas, ter um comportamento crítico face aos processos.

3. Compreender o comportamnento Ético da profissão de Engenheiro Informático

4.Conhecer, apreciar e ser capaz de utilizar o método de análise e desenho com objectos UML (Unified Modeling Language), com ênfase na modelação estática (estrutural), dinâmica (comportamental) e arquitectural.

5.Dominar as técnicas de modelação oferecidas pelo UML (casos de uso, classes, objectos, pacotes, interacções, estados, actividades, componentes e instalação) e compreender as suas interdependências.

6.Compreender a sintaxe e semântica da linguagem OCL (Object Constraint Language), por forma a conseguir exprimir restrições de vária ordem, nomeadamente as associadas ao “Desenho por Contracto”, para garantir maior rigor aos modelos.

7.Conhecer técnicas de modelação estruturadas que permitem a passagem de modelos orientados pelos objectos para bases de dados relacionais. Estas técnicas serão usadas na fase de desenho do sofwtare.

8.Utilizar aquelas técnicas em exemplos concretos de modelação do mundo empresarial, em contextos diversos como sistemas de informação de gestão, sistemas na web e sistemas de tempo real.

9.Adquirir proficiência na utilização de pelo menos uma ferramenta que suporte a modelação com UML, explorando as suas capacidades no âmbito de um projecto integrador de todo o conhecimento adquirido na disciplina.

10.Tomar contacto com alguns aspectos avançados ligados ao desenvolvimento baseado em modelos.

Objectivos

Saber

a)Ciclo de desenvolvimento, ferramentas, métodos e técnicas de gestão, especificação e desenho de projetos em larga escala, que envolvam equipas grandes e multidisciplinares

b)Importância das atividades de desenvolvimento de um projeto, das abordagens e dos modelos que integram estas atividades para enfrentar problemas complexos de uma forma pragmática, mas rigorosa

c)Abordagens de modelação estruturada, ágil e orientada a objetos

d)Responsabilidade Profissional e Social do Engenheiro Informático

Fazer

e)Lidar e modelar problemas complexos (Domínio do Problema e da Solução)

f)Interpretar, compreender e discutir problemas com requisitos mal definidos (omissões, ambiguidades, contradições, duplicações)

g)Usar técnicas de desenvolvimento de software estruturadas, ágeis e orientadas a objetos

h)Usar ferramentas adequadas à especificação e desenho

Programa

Parte 1:
1. Introdução aos Processos de Desenvolvimento de Software

2. Paradigmas de elicitação e modelação mais importantes

3. Requisitos Funcionais e Não-Funcionais

4. UML

a) Requisitos: Diagramas de Caso de Uso

b) Comportamento: Diagramas de Atividade, Sequência e Estados

c) Estrutura: Diagramas de Classes, Objetos e Pacotes

d) OCL (Object-constraint language)

Parte 2:

1. Princípios de Arquitetura e Desenho

2. Ferramentas e Ambientes

3. UML

a) Arquitetura: Modelos de Componentes e Instalação

b) Persistência: Derivar modelos Entidade-Relação

Parte 3:

1. Introdução à gestão de projetos

2. Código de ética Profissional

Bibliografia Principal

Software Engineering: A Practitioner''''''''''''''''s Approach, Roger Pressman, McGraw-Hill, 2009

The Unified Modeling Language User Guide, G. Booch, J. Rumbaugh & I. Jacobson, Addison-Wesley Professional; 2nd edition, May 29, 2005

UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (2nd Edition), Addison-Wesley Professional; 2 edition, July 7, 2005

The Object Constraint Language: Getting Your Models Ready for MDA (2nd Ed.), Anneke Kleppe, Jos Warmer, Addison-Wesley, ISBN 0321179366, 2003

UML 2 Toolkit (e-book), Hans-Erik Eriksson, John Wiley & Sons, 2003, ISBN: 0471463612.

Extreme Programming Explained: Embrace Change, 2nd Edition, Kent Beck and Cynthia Andres, Addison-Wesley, 2004

Agile Software Development with Scrum, Ken Schwaber, Mike Beedle, Prentice-Hall, 2001

Modern Structured Analysis, Edward Yourdon, Prentice Hall, 1988

Esforço do Aluno
  Horas por crédito 28
  Horas p/ semana Semanas Horas
Total de Horas 0
ECTS 6.0