Objetivo | O que modelagem orientada a objetos | Quais as vantagens de modelar | Que conhecimentos precisam ser adquiridos para aprender a modelar | A sequncia em que os temas so apresentados ao longo do curso
bner Lucas APS 3
O que ? | Descrio diagramtica de algo a ser (ou que j foi) implementado em linguagem de programao Modelagem prescritiva: antes do cdigo Modelagem descritiva: aps o cdigo O mesmo contedo do cdigo, mas em outro formato
bner Lucas APS 4
Para que? No seria esforo dobrado modelar e depois codificar? No seria fazer a mesma coisa duas vezes? | preciso compreender que as respostas para as duas perguntas No | Para auxiliar a concepo de uma soluo | Exemplo das engenharias: Todo empreendimento complexo demanda um esforo de planejamento antes da construo (edificaes, estradas, veculos, equipamentos eletrnicos etc). Ningum constri um edifcio partindo diretamente para o assentamento de tijolos (sem planejamento prvio) bner Lucas APS 5 Para que? | Exemplos das engenharias mostram que situaes complexas exigem tratamento diferente de situaes no complexas Construo de um edifcio de 20 andares: necessidade de projeto prvio Construo de uma casa de cachorro: martelo, pregos e mos--obra
bner Lucas APS 6
Para que? | Software complexo exige planejamento antes da construo Planejamento: modelagem orientada a objetos Construo: codificao | Baixa complexidade: vivel codificar direto
bner Lucas APS 7
Vantagens | Descrio mais facilmente compreensvel Mais prxima da forma como as pessoas pensam No natural pensar em linguagem de programao | Proporciona diferentes pontos de vista Descrio dos elementos que compem um programa (estrutura) Descrio do programa em execuo (dinmica) Possibilidade de viso global Possibilidade de ateno a detalhes | Cdigo: apenas baixo nvel de abstrao bner Lucas APS 8 O que aprender para modelar? | 4 questes devem ser tratadas Conhecer os conceitos referentes a modelagem Noes fundamentais de Engenharia de Software Paradigma de orientao a objetos Requisitos para uma modelagem completa Conhecer uma linguagem de modelagem UML Os treze diagramas de UML Para que serve cada diagrama
bner Lucas APS 9
O que aprender para modelar? Saber que passos seguir Desenvolvimento: sucesso de esforos que, gradualmente constroem uma soluo Conhecer um caminho lgico para a construo da especificao Complemento do conhecimento de uma linguagem de especificao: saber us-la Avaliar o que for produzido Seguir etapas no garante resultado satisfatrio | Possibilidade de escolhas inadequadas por falta de clareza ao longo do processo, decises ruins podem resultar em fracasso Avaliao de consistncia Avaliao de qualidade bner Lucas APS 10 Compromisso de chegar ao cdigo | Modelar um meio e no um fim | Objetivo final um programa que compile e execute sem erros e que cumpra os requisitos estabelecidos | A gerao de cdigo uma das etapas do processo | Cdigo gerado subsidia o aperfeioamento da modelagem
bner Lucas APS 11
UML [Unified Modelling Language]
bner Lucas APS 12
Objetivo | Apresentar de forma sumria a linguagem UML Histrico Conjunto de diagramas Classificao do diagramas (considerando os quatro pontos de vista fundamentais) Comparao entre as verses 1 e 2 da linguagem
bner Lucas APS 13
Organizao dos diagramas de UML
bner Lucas APS 14
Organizao dos diagramas de UML
bner Lucas APS 15
Organizao dos diagramas de UML
bner Lucas APS 16
MODELAGEM ESTRUTURAL [UML]
bner Lucas APS 17
Diagrama de classes
bner Lucas APS 18
Diagrama de classes | Classes | Relacionamentos entre classes Herana Agregao Composio Associao | Outros elementos (interface, dependncia etc.)
bner Lucas APS 19
Diagrama de objetos
bner Lucas APS 20
Diagrama de objetos | Objetos e ligaes (links) | Fotografia dos objetos em momentos especficos da execuo | Destaque aos objetos presentes em certos momentos
bner Lucas APS 21
Diagrama de pacotes
bner Lucas APS 22
Diagrama de pacotes | Pacotes e relacionamentos | Estruturao da especificao em alto nvel de abstrao
bner Lucas APS 23
Diagrama de componentes
bner Lucas APS 24
Diagrama de componentes | Componentes | Relacionamentos entre componentes | Para modelagem de software baseado em componentes
bner Lucas APS 25
Diagrama de utilizao (deployment)
bner Lucas APS 26
Diagrama de utilizao (deployment) | Nodos e instncias de nodos Recipientes de componentes e artefatos | Ligaes entre instncias de nodos | Para modelar a organizao de elementos de um sistema computacional software e hardware para uma execuo desse sistema
bner Lucas APS 27
MODELAGEM DINMICA [UML]
bner Lucas APS 28
Diagrama de casos de uso
bner Lucas APS 29
Diagrama de casos de uso | Casos de uso funcionalidades, situaes de processamento | Atores modelagem de elementos externos Usurios Dispositivos (hardware) Outros softwares | Associaes envolvendo esses elementos | Para modelar as funcionalidades do software
bner Lucas APS 30
Diagrama de sequncia
bner Lucas APS 31
Diagrama de sequncia | Objetos (instncias) | Mensagens Objetos trocam mensagens Invocao de mtodos
| Para modelar a interao entre objetos
| Modelagem temporal sequncia
bner Lucas APS 32
Diagrama de comunicao
bner Lucas APS 33
Diagrama de comunicao | Objetos (instncias) | Mensagens Objetos trocam mensagens Invocao de mtodos | Ligaes entre objetos (links) | Tcnica de modelagem alternativa em relao ao diagrama de seqncia Sintaxe diferente | UML 2 diagrama de sequncia tornou-se mais expressivo que o de comunicao
bner Lucas APS 34
Diagrama de mquina de estados
bner Lucas APS 35
Diagrama de mquina de estados | Estados | Transies entre estados | Outros recursos de modelagem Estados paralelos Guardas Estruturao em subnveis | Para modelar A existncia de uma instncia Algoritmo de mtodo O detalhamento de caso de uso bner Lucas APS 36 Diagrama de atividades
bner Lucas APS 37
Diagrama de atividades | Atividades, aes (comportamento) | Fluxos de controle final de um comportamento, incio de outro | Associvel a classe, mtodo, caso de uso ou sistema | Para modelar Algoritmo de mtodo O detalhamento de caso de uso A existncia de uma instncia Operao do sistema (software) bner Lucas APS 38 Classificao dos diagramas
Ponto de vista Diagramas
Diagrama de classes Modelagem Diagrama de objetos estrutural de Diagrama de pacotes sistema Diagrama de estrutura composta Diagrama de componentes Diagrama de utilizao
bner Lucas APS 39
Classificao dos diagramas
Ponto de vista Diagramas
Modelagem Diagrama de classes estrutural de Diagrama de objetos classe
bner Lucas APS 40
Classificao dos diagramas Ponto de Foco especfico Diagramas vista Funcionalidades do Diagrama de casos de uso sistema Diagrama de viso geral de interao Modelagem dinmica de Diagrama de atividades (se usado para refinar caso de uso ou para sistema descrever o comportamento do sistema) Diagrama de mquina de estados (se usado para refinar caso de uso ou colaborao)
Interao de Diagrama de seqncia
objetos Diagrama de comunicao Diagrama de temporizao bner Lucas APS 41 Classificao dos diagramas
Ponto de Foco especfico Diagramas
vista Modelagem Modelagem de Diagrama de mquina de dinmica de estados estados classe Algoritmos de Diagrama de atividades mtodos Diagrama de mquina de estados
bner Lucas APS 42
Comparao entre as verses de UML UML 2 UML 1 Diagrama de classes Possui Modelagem Diagrama de objetos Possui estrutural Diagrama de pacotes No possui o diagrama, mas apenas pacotes, que podem ser inseridos em outros diagramas Diagrama de estrutura No possui composta Diagrama de componentes Possui Diagrama de utilizao Possui
bner Lucas APS 43
Comparao entre as verses de UML UML 2 UML 1 Diagrama de casos de uso Possui Modelagem Diagrama de sequncia Possui dinmica Diagrama de comunicao Possui, mas chamado de diagrama de colaborao Diagrama de mquina de estados Possui, mas chamado de diagrama statechart Diagrama de atividades Possui Diagrama de viso geral de interao No possui Diagrama de temporizao No possui