Métodos de Desenvolvimento de Software (2019/2020) - Departamento de Informática

Informação adicional: https://moodle.fct.unl.pt/course/view.php?id=5462

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 software.

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, Ian Sommerville (8th Edition or later) Addison-Wesley

UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (2nd Edition), Jim Arlow, Addison-Wesley Professional, 2005

Slides das Aulas Teóricas eFichas de Exercícios das Aulas Práticas e alguns elementos de revisões da matéria

A code of ethics and professional practice for software engineering, ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices, 2004.

Tools:Gantter (Ferramenta de gestão de projeto),Star UML (Editor de UML),USE Tool (UML tool with OCL support),UML quizzes (online)


Requisitos Prévios

Não tem pré-requisitos.

Esforço do Aluno
  Horas por crédito 28
  Horas p/ semana Semanas Horas
Aulas práticas e laboratoriais   26.0
Aulas teóricas   26.0
Avaliação   6.0
Estudo   50.0
Projectos e trabalhos   60.0
Total de Horas 168
ECTS 6.0