Desenvolvimento de software orientado a objetos com UML (Linguagem
de Modelagem Unificada)
1 - Objetivo
Capacitar o aluno a desenvolver soluções de análise,
projeto e implementação de sistemas de Software através
da UML - Linguagem de Modelagem Unificada, observando as boas práticas
da Engenharia de software, ciclo de vida e gestão de projetos,
gestão da configuração e gestão da qualidade.
2 - Ementa
Engenharia de software, Definição de Projetos; Identificação
de um projeto; Ciclo de vida de um projeto de software; Fases de
um projeto de software: Definição de requisitos, Análise,
Projeto, Implementação, Testes, homologação;
Processo unificado x UML; Gestão de Projetos de software
e do Desenvolvimento de software: Gestão da Qualidade e da
configuração de software, Principio de Métricas
de software.
Histórico do desenvolvimento de software, A orientação
a Objetos, a UML. Diagramas de Atividades, Diagrama de Casos de
Uso, Diagramas de Colaboração, Diagrama de Seqüência,
Diagrama de Classes, Diagramas de Estado, Diagramas de Componentes,
Diagrama de Implantação
3 - Conteúdo Programático
Unidade 1 - Introdução
Sistemas de Software modernos, problemas do desenvolvimento de
software, a Motivação para a engenharia de software,
Bibliografia.
Unidade 2 - A Engenharia de Software
Engenharia de software, Definição de Projetos; Identificação
de um projeto; Ciclo de vida de um projeto de software; Fases de
um projeto de software: Definição de requisitos, Análise,
Projeto, Implementação, Testes, homologação;
Processo unificado x UML; Gestão de Projetos de software
e do Desenvolvimento de software: Gestão da Qualidade e da
Configuração de software, Principio de Métricas
de software.
Unidade 3 - Visão do Negócio
Casos de Uso e Diagrama de Casos de Uso: Introdução
aos casos de uso; Definição de casos de uso; Definição
de atores; Notações; Identificação de
casos de uso e atores a partir da definição de requisitos;
Identificação das descrições de casos
de uso; Modelo de descritivo de casos de uso. Introdução
ao diagrama de casos de uso; Aplicação dos diagramas
de casos de uso no ciclo de vida de desenvolvimento de um software;
Interações envolvendo casos de uso e atores ; Notação;
Construção do diagrama de casos de uso.
Diagrama de Atividades: Introdução ao diagrama de
atividades; Aplicação do diagrama de atividades no
ciclo de vida de desenvolvimento de software; Construção
do diagrama de atividades; Acompanhamento do progresso do entendimento
dos requisitos;
Unidade 4 - Visão da Análise
Diagrama de Colaborações: Introdução
ao diagrama de colaboração ; Aplicação
do diagrama de colaboração no ciclo de vida de desenvolvimento
de um software; Notação; Construção
de diagramas de colaboração.
Diagrama de Seqüência: Introdução ao diagrama
de seqüência; Aplicação do diagrama de
seqüência no ciclo de vida de desenvolvimento de um software;
Notação; Construção de diagramas de
seqüência; Construção do diagrama de seqüência
de negócio; Construção do diagrama de seqüência
de implementação.
Diagrama de Estados: Introdução aos diagramas de estados:
Estados, Evento, Transição; Aplicação
do diagrama de estados no ciclo de vida de desenvolvimento de um
software; Notação; Estado; Subestado x Superestado,
Subestado; Transição; Estado Inicial; Estado Final;
Estado Escolha; Ponto de Junção; Separação
(fork); Junção (join); Construção do
diagrama de estados.
Unidade 5 - Projeto: Classes e Arquitetura
Teoria das Classes e diagramas de classes: Introdução
a classes; Notação; Classe; Visibilidade: Vibilidade
de classes,Visibilidade de atributos, Visibilidade de métodos;
Identificação de classes a partir do diagrama de casos
de uso. Introdução ao diagrama de classes; Aplicação
do diagrama de classes no ciclo de vida de desenvolvimento de um
software; Interações entre classes; Composição;
Agregação; Herança; Dependência; Construção
de diagramas de classes ; Abstração de classes e atributos;
Construção do diagrama de classes de negócio;
Construção do diagrama de classes de implementação;
Diagrama de Pacotes: Introdução aos diagramas de pacotes;
Pacotes; Tipos de pacotes; Relacionamento de dependência;
Visibilidade; Aplicação do diagrama de pacotes no
ciclo de vida de desenvolvimento de um software; Notação;
Pacote; Relacionamento de dependência; Generalização;
Exportação; Importação; Visibilidade
; Construção do diagrama de pacotes
Unidade 6 - Projeto: Componentes e Implantação
Diagrama de componentes: Introdução ao diagrama
de componentes; Componentes; Tipos de componentes; Interfaces; Relacionamentos;
Aplicação do diagrama de componentes no ciclo de vida
de desenvolvimento de um software; Notação; Componentes;
Estereótipos; Interfaces; Relacionamentos; Construção
do diagrama de componentes.
Diagrama de Implantação: Introdução
ao diagrama de implantação; Nós; Relacionamentos;
Aplicação do diagrama de implantação
no Ciclo de vida de desenvolvimento de um software; Notação;
Nós; Estereótipos; Relacionamentos; Construção
do diagrama de implantação.
Unidade 7 - Tópico especial: Desenvolvimento com
SGBDs
Introdução à banco de dados; Aplicação
do Modelo de Entidade e Relacionamento no ciclo de vida de desenvolvimento
de um Software, SGBD - sistemas gerenciadores de Bancos de dados.
Implantação com SGBDs.
4 - Carga horária
Carga Horária: 40 horas / aula
Realização: 20 a 24 de março de 2006
5 - Instrutor
Dr. Nilson Sant'Anna
Msc. Moacyr Gonçalves Cereja Junior
|