Versão:
Público:
Analistas de Sistemas e de Negocio; Projetistas de Sistemas e de Negocio; Gerentes, Coordenadores e Lideres de Projetos; Programadores; Administradores de Banco de Dados - DBAs;.
Pré-requisitos obrigatórios:
Ter participado do nosso curso de Modelagem (MOD) ou possuir conhecimento equivalente.
Pré-requisitos recomendados:
Nenhum.
Objetivos:
Este curso focaliza as técnicas de Modelagem e Projeto de Sistemas Orientado a Objeto utilizando a UML - Unified Modeling Language. O uso destas técnicas fornece um modelo preciso de uma organização e age como estrutura para desenvolvimento de sistemas orientados a objetos. Os alunos serão introduzidos em modernos conceitos da Orientação a Objetos e da Modelagem UML. Os exemplos e exercícios serão praticados na ferramenta CASE (EA) Enterprise Architect, auxiliando a modelagem e dando maior praticidade e velocidade na criação dos projetos, com geração de código e engenharia reversa e direta, especificação de código, documentação, prototipação etc.. (Em Linguagens de Programação e Banco de Dados).
Conteúdo programático
Introdução, Enfoque e Objetivos da Orientação a Objetos Objetivos Conceitos Básicos (Overview da UML) Vantagens (Justificativas) Reutilização Modularidade Construção de Sistemas (Softwares e Banco de Dados) Visualização Gerenciamento de complexidade Comunicação Mecanismos Independência de linguagens e Banco de Dados Promover e suportar conceitos e praticas Qualidade de Software
Overview de Conceitos Básicos Classe Subclasse Atributos Operações/Métodos Instância Objeto Estado Instância Polimorfismo Especificação Evento Herança (Interface, Implementação) Abstração Encapsulamento Instância de objeto Mensagem
Métodos Orientados a Objetos (histórico) OMT (Raumbaugh) OOSE (Jacobson) BOOCH (Booch) Coad/Yuordon Shlaer/Mellor Martin/Odell Wirfs-Brock Embley/Kurtz
Motivação e Sucesso da Orientação a Objetos Treinamento Realidade Pessoal Método Visão de negócio Gerenciamento Equipe Processo
Modelagem Visual Ferramenta Case Orientada a Objetos (Modelagem) Linguagens de Programação Orientadas a Objetos (Construção) Banco de Dados (Relacionais e Orientados a Objetos)
O Modelo Modelos Metodologias
Escopo da UML (- que é, - que não é, - que faz e - que não faz)
Utilização da UML (onde esta sendo utilizado)
CMM - Capability Mature Model
Padrões e Metodologias
Norma Técnica (ABNT - NBR 13.596)
Diagramas (Notação UML)
Apresentação dos Diagramas utilizados pela UML Estáticos Caso de Uso Classe Objeto Dinâmicos Atividade Colaboração Seqüência Estado Caso de Uso (*) Arquitetônicos Componentes Implantação
Blocos de construção (Elementos) Itens estáticos Itens dinâmicos Relacionamentos (Associação, Agregação, Composição,
Generalização/Especialização etc.)
Visões da UML (Modelagem da Arquitetura) Visão de Caso de Uso Visão de Lógica (Projeto) Visão de Implementação Visão de Processo Visão de Implantação
Ferramentas Apresentação da Ferramenta do curso; o CASE EA -
Enterprise Architect Outras Ferramentas (Rose, Together, ArgoUML, Poseidom, Visio e outras...) Tipos e características Conceitos e vantagens Aceitação de Mercado Implementação (Construção do código) Escolha da Linguagem Documentação do código Apresentação de engenharia reversa Apresentação de engenharia direta
Diagramas UML
Diagrama de Casos de uso Ator Variações Caso de uso de alto nível Caso de uso detalhado Especificações Generalização Inclusão Extensão Arquitetura do Sistema orientado a casos de uso Descrevendo uma situação no Mundo real x Mundo
Software Modelando
Diagrama de Classes Relacionamentos Colaborações Mapeamento para linguagens de programação (Java, .NET, VB, Delphi etc) Visualizar a arquitetura de dados Descobrindo classes Atributos Operações Visibilidade Atribuição de responsabilidade Pré-condição Pós-condição Operações X Métodos Interface, Controle e Entidade (Tipos)
Diagrama de Objetos Estrutura
Diagrama de Interação Seqüência Colaboração Introdução aos objetos Realização de casos de uso Auxílio aos desenvolvedores
Diagrama de estados Estados Evento Transição Analisando os estados para um objeto
Diagrama de Atividades Atividade Separação Junção Desvio Intercalação Início Fim Thread condicional Concordância dinâmica Raia de natação Diagrama de atividades X Diagrama de Interação
Diagrama de Componentes Fontes de sistemas Versões de sistemas Componentes Interfaces Outros tipos de componentes Sistemas baseados em componentes
Diagrama de implantação Ambiente físico Rede (Hardware e Software) Servidores (Hardware e Software) Sistemas Operacionais Banco de Dados Linguagens de desenvolvimento Componentização
Mapeamento dos Diagramas de Classe
Mapeamento do Diagrama de Classe para Banco Dados (Persistência de Dados) SQL Server, Oracle, DB2, Sybase, Interbase, Postgre SQL, MySQL outros. RDBMS (conceitos de banco de dados relacionais) OODBMS (conceitos de banco de dados orientados a objetos) Mapeando Classes para Tabelas Multiplicidade (Relacionamentos) Conceitos de Superclasse e Subclasse para mapeamento de DBMS (Herança) Estruturas de Chaves Normalização Stored procedures e - POO Triggers e - POO DLLs ActiveX, COM, DCOM e Camadas de Serviço de Dados e POO Serviços de acesso e consumidores de dados (ADO, OLE DB, ODBC etc...) Contexto e Regras de Negocio (busines rules) Geração de scripts para criação de Banco de Dados no EA
Mapeamento dos Diagramas de classe e componentes para a Aplicação Camadas de Serviços Modelo (Model) Construção da Interface com - usuário Contexto e Regras de Negocio Interface, Controle e Entidade Componentes (EXE, DLLs) Gerando os códigos a partir de classes e componentes Tecnologias de desenvolvimento: Internet (ASP, PHP, JSP etc...) .NET (Framework) Componentização (COM, DCOM, MTS, CORBA, Web Services) Linguagens (Java, C++, Visual Basic, Delphi, C#) Geração de código em linguagens no EA. Reversa de projetos no EA
Mecanismos de extensibilidade da UML Esteriótipos Restrições OCL - Object Constraint Language
Metodologia para um Projeto Projeto Cascata Projeto Interativo Fases de um Projeto (Metodologia) RUP XP |