Академический Документы
Профессиональный Документы
Культура Документы
Identificar os conceitos bsicos envolvidos na anlise e projetos de sistemas Orientados a Objetos (OOPD) Identificar os diagramas bsicos para o desenvolvimento de aplicaes OO Identificar ferramentas de auxilio para o desenvolvimento de sistemas baseados no paradigma OO.
Atualizado em 7/3/2013
Conceitos bsicos
Jos P. Emiliano
7 de maro de 2013
Slide nr 3
Jos P. Emiliano
7 de maro de 2013
Slide nr 4
Conceitos bsicos
Engenharia de software
uma rea do conhecimento voltada para a especificao, desenvolvimento e manuteno de sistemas de software aplicando tecnologias e prticas de cincia da computao, gerncia de projetos e outras disciplinas, objetivando produtividade e qualidade. Atualmente, estas tecnologias e prticas englobam linguagens de programao, bases de dados, ferramentas, plataformas, bibliotecas, padres e processos.
Conceitos bsicos
Os fundamentos cientficos para a engenharia de software envolvem o uso de modelos abstratos e precisos que permitem ao engenheiro especificar, projetar, implementar e manter sistemas de software, avaliando e garantido suas qualidades.
Alm disto, a engenharia de software deve oferecer mecanismos para se planejar e gerenciar o processo de desenvolvimento.
Jos P. Emiliano
7 de maro de 2013
Slide nr 5
Jos P. Emiliano
7 de maro de 2013
Slide nr 6
Conceitos bsicos
Segundo Fritz Bauer:
"Engenharia de software a criao e a utilizao de slidos princpios de engenharia a fim de obter software de maneira econmica, que seja confivel e que trabalhe eficientemente em mquinas reais". O prprio significado de engenharia j traz os conceitos de criao, construo, anlise, desenvolvimento e manuteno.
Conceitos bsicos
Engenharia de Software
Surgiu em meados dos anos 70 numa tentativa de contornar a crise do software e dar um tratamento de engenharia (mais sistemtico e controlado) ao desenvolvimento de sistemas de software complexos.
Jos P. Emiliano
7 de maro de 2013
Slide nr 7
Jos P. Emiliano
7 de maro de 2013
Slide nr 8
Conceitos bsicos
Engenharia de Software
Um sistema de software complexo se caracteriza por um conjunto de componentes abstratos de software (estruturas de dados e algoritmos) encapsulados na forma de procedimentos, funes, mdulos, objetos ou agentes e interconectados entre si, compondo a arquitetura do software, que devero ser executados em sistemas computacionais.
Conceitos bsicos
Engenharia de Software
Os fundamentos cientficos para a engenharia de software envolvem o uso de modelos abstratos e precisos que permitem ao engenheiro especificar, projetar, implementar e manter sistemas de software, avaliando e garantido suas qualidades. Alm disto, a engenharia de software deve oferecer mecanismos para se planejar e gerenciar o processo de desenvolvimento.
Jos P. Emiliano
7 de maro de 2013
Slide nr 9
Jos P. Emiliano
7 de maro de 2013
Slide nr 10
Conceitos bsicos
Engenharia de Software
Empresas desenvolvedoras de software passaram a empregar os conceitos de Engenharia de Software sobretudo para orientar suas reas de desenvolvimento, muitas delas organizadas sob a forma de Fbricas de Software.
Conceitos bsicos
Engenharia de Sistemas
uma rea mais ampla por tratar de todos os aspectos de sistemas baseados em computadores, incluindo hardware e engenharia de processos alm do software.
Jos P. Emiliano
7 de maro de 2013
Slide nr 11
Jos P. Emiliano
7 de maro de 2013
Slide nr 12
Conceitos bsicos
Processo de Software
um conjunto coerente de prticas que objetiva o desenvolvimento ou evoluo de sistemas de software. Estas prticas englobam as atividades de especificao, projeto, implementao e testes e caracterizam-se pela interao de ferramentas, pessoas e mtodos. Devido ao uso da palavra projeto em muitos contextos, por questes de clareza, h vezes em que se prefira usar o original em ingls: design.
Conceitos bsicos
Processo de Software
De modo geral, as etapas para o desenvolvimento de sistemas compreendem um ciclo de atividades de anlise, construo e manuteno de sistemas.
Jos P. Emiliano
7 de maro de 2013
Slide nr 13
Jos P. Emiliano
7 de maro de 2013
Slide nr 14
Conceitos bsicos
Gerncia de Projetos
A gerncia de projetos se preocupa em entregar o sistema de software no prazo e de acordo com os requisitos estabelecidos, levando em conta sempre as limitaes de oramento e tempo. A gerncia de projetos de software se caracterizam por tratar sobre um produto intangvel, muito flexvel e com processo de desenvolvimento com baixa padronizao.
Conceitos bsicos
Ciclo de vida de um projeto: So as etapas a serem cumpridas desde a concepo de um problema, at sua efetiva implantao num sistema computacional. De uma maneira genrica podemos citar as seguintes fases de um ciclo de vida:
a) Entrevista/Coleta de Dados; b) Anlise (O Que Fazer); c) Projeto (Como Fazer); d)Implementao (A fabricao, codificao e projeto de aqruitetura); e) Testes; f) Aceitao e Implantao; g) Manuteno. O ciclo de vida supracitado apresenta de uma forma geral a idia de ciclo de vida, dependendo da bibliografia e da metodologia, podero ser apresentadas variaes.
Jos P. Emiliano
7 de maro de 2013
Slide nr 15
Jos P. Emiliano
7 de maro de 2013
Slide nr 16
Conceitos bsicos
Planejamento
O planejamento de um projeto de desenvolvimento de software inclui:
organizao do projeto (incluindo equipes e responsabilidades) estruturao das tarefas (do ingls work breakdown structure) cronograma do projeto (do ingls project schedule) anlise de risco
Conceitos bsicos
Planejamento
Essas atividades sofrem com dificuldades tpicas de desenvolvimento de software.
A produtividade no linear em relao ao tamanho da equipe e o aumento de produtividade no imediato devido custos de aprendizado de novos membros. A diminuio de qualidade para acelerar o desenvolvimento constantemente prejudica futuramente a produtividade. A estimativa de dificuldades e custos de desenvolvimentos so muito difceis, alm do surgimento de problemas tcnicos. Esses fatores requerem uma anlise de riscos cuidadosa.
Jos P. Emiliano
7 de maro de 2013
Slide nr 17
Jos P. Emiliano
7 de maro de 2013
Slide nr 18
Conceitos bsicos
Anlise
As atividades de anlise concentram-se na identificao, especificao e descrio dos requisitos do sistema de software. Em resumo, requisito uma necessidade que o software deve cumprir. H vrias interpretaes e classificaes sobre requisitos, entre elas:
funcional ou no funcional de usurio ou de sistema
Conceitos bsicos
Anlise
comum que o cliente no saiba o que ele realmente deseja, que haja problemas na comunicao e ainda que haja mudana constante de requisitos. Todos esses fatores so recrudecidos pela intangibilidade sobre caractersticos de sistemas de software, principalmente sobre o custo de cada requisito.
Jos P. Emiliano
7 de maro de 2013
Slide nr 19
Jos P. Emiliano
7 de maro de 2013
Slide nr 20
Conceitos bsicos
Modelagem
A abstrao do sistema de software atravs de modelos que o descrevem um poderoso instrumento para o entendimento e comunicao do produto final que ser desenvolvido. A maior dificuldade nesta atividade est no equilbrio (tradeoff) entre simplicidade (favorecendo a comunicao) e a complexidade (favorecendo a preciso) do modelo. comum a utilizao de linguagens para modelagem como UML.
Conceitos bsicos
Tecnologias e Prticas
A engenharia de software aborda uma srie de prticas e tecnologias, principalmente estudadas pela cincia da computao, enfocando seu impacto na produtividade e qualidade de software. Destacam-se o estudo de linguagem de programao, banco de dados e paradigmas de programao, como:
Programao estruturada Programao funcional Programao orientada a objectos Componentes de Software Programao orientada a aspecto
Jos P. Emiliano
7 de maro de 2013
Slide nr 21
Jos P. Emiliano
7 de maro de 2013
Slide nr 22
Jos P. Emiliano
7 de maro de 2013
Slide nr 23
Jos P. Emiliano
7 de maro de 2013
Slide nr 24
Conceitos bsicos
O que um sistema?
Um sistema um conjunto ou arranjo de elementos relacionados ou interligados de modo a formar uma unidade ou um todo orgnico capaz de interagir com um usurio ou outro sistema, visando prover uma funcionalidade desejada.
Ex: Um sistema de contabilidade visa controlar as contas de uma empresa, etc.
Conceitos bsicos
Problema Soluo
Anlise Projeto Implementao Validao
O sistema ser to complexo quantos forem as funcionalidades agregadas pelos mdulos que a ele esto conectados.
Necessidade
Desenvolvimento
Produto
Jos P. Emiliano
7 de maro de 2013
Slide nr 25
Jos P. Emiliano
7 de maro de 2013
Slide nr 26
Conceitos bsicos
Problema
Dados
Conceitos bsicos
Um trabalho de anlise para o desenvolvimento de um sistema informatizado busca representar:
o domnio do problema ;e as responsabilidades do sistema a ser desenvolvido.
Dinmica Implementao
Vises
Implantao
Necessidade
Funes
Jos P. Emiliano
7 de maro de 2013
Slide nr 27
Jos P. Emiliano
7 de maro de 2013
Slide nr 28
Conceitos bsicos
As metodologias para desenvolvimento de software descrevem a organizao necessria para a sua criao, sugerindo passos a serem seguidos para preencher o espao existente entre a idia e o produto. O uso de uma metodologia torna mais eficiente a quantificao do progresso e o controle do trabalho.
Conceitos bsicos
Fases:
Anlise Projeto (design) Construo Integrao Testes Evoluo *
Jos P. Emiliano
7 de maro de 2013
Slide nr 29
Jos P. Emiliano
7 de maro de 2013
Slide nr 30
Conceitos bsicos
Anlise
Chama-se anlise o processo de identificao de objetivos e reconhecimento dos requisitos de um sistema. Nesta etapa formulado o problema que o sistema deve atender. Vises :
regras do negcio Implementao
Conceitos bsicos
Projeto
Nesta fase so tomadas as decises que envolvem a soluo do problema, pela construo de seus componentes. So identificadas as funcionalidades desejadas , os elementos integrantes da soluo (intra ou extra sistema) e a relao entre os mesmos feita a classificao dos componentes, agrupando-os segundo caractersticas ou funcionalidades semelhantes (criao de classes em pacotes) So identificadas eventuais concorrncias, manipulao de excees e organizao de funcionalidades em pacotes.
Equipe:
Analista de negcios Analista de BD Analista de documentao
Jos P. Emiliano
7 de maro de 2013
Slide nr 31
Jos P. Emiliano
7 de maro de 2013
Slide nr 32
Conceitos bsicos
Projeto
Na fase de projeto conveniente o levantamento de custos para o oramento do cliente. O modelo de negociao do produto final pode variar:
Venda do cdigo (full licensing ou bits-in-a-box) Venda do servio (SaaS- Software as a Service) Contrato de suporte anual (Annual Suport Contract) Assinatura (subscription)
Conceitos bsicos
Projeto
Equipe
Engenheiro de Software Engenheiro de redes Designer de interfaces
Jos P. Emiliano
7 de maro de 2013
Slide nr 33
Jos P. Emiliano
7 de maro de 2013
Slide nr 34
Conceitos bsicos
Construo
Nesta etapa so construdos os componentes que fazem parte da aplicao. Os componentes podem ser novos ou reutilizados de outros projetos
Conceitos bsicos
Integrao
Na etapa de integrao os componentes so reunidos, visando a apresentao de um prottipo que espelhe a soluo desejada. Este prottipo tender para o modelo da soluo visualizada. Dependendo da abordagem de desenvolvimento (spiral-model, waterfall, etc) o prottipo poder vir a ser o produto acabado ou a primeira verso de vrias.
Equipe
Programador de interfaces Programador de componentes Programador de BD Analista de teste
Equipe
Gerente de integrao
Jos P. Emiliano
7 de maro de 2013
Slide nr 35
Jos P. Emiliano
7 de maro de 2013
Slide nr 36
Conceitos bsicos
Testes
Nesta etapa o produto colocado em uso e suas funcionalidades previstas so verificadas. O refinamento do modelo permitir a sua evoluo rumo ao produto final ou uma verso para uso. Como subproduto dos testes surgem as correes e novas necessidades*** As novas necessidades, quando incorporadas e aceitas daro origem a um novo ciclo de desenvolvimento.
Conceitos bsicos
Testes
Participantes
Gerente da aplicao Usurio final Patrocinadores
Jos P. Emiliano
7 de maro de 2013
Slide nr 37
Jos P. Emiliano
7 de maro de 2013
Slide nr 38
Conceitos bsicos
Evoluo
Fase que inicia um novo ciclo de desenvolvimento e agrega funcionalidades no previstas para o modelo inicial Segundo esta abordagem, o software continua sendo desenvolvido mesmo depois de entregue.
Conceitos bsicos
Etapas de desenvolvimento de sistemas
De modo geral, as etapas para o desenvolvimento de sistemas compreendem um ciclo de atividades de anlise, construo e manuteno de sistemas. Em prtica, cada um dos modelos abaixo correspondem evoluo dos ciclos de desenvolvimento. Oriundo da engenharia tradicional, a engenharia de software buscou padronizar procedimentos atravs de modelos de desenvolvimento.
Jos P. Emiliano
7 de maro de 2013
Slide nr 39
Jos P. Emiliano
7 de maro de 2013
Slide nr 40
10
Conceitos bsicos
Modelos clssicos de ciclo de vida
Code and Fix (dcada de 50 / 60)- Modelo emprico, consistia na codificao voltada para a soluo desejada. A tecnologia da poca limitava a possibilidade de efetuar ajustes imediatamente
Conceitos bsicos
Modelos clssicos de ciclo de vida
Design -- Code -- Test -- Maintenance (1960s) Clssico, envolve todo o projeto. Acrescenta fases de projeto (design) e manuteno (maintenance) ao modelo anterior.
Codificar Corrigir
Projetar
Codificar Manter
Testar
Jos P. Emiliano
7 de maro de 2013
Slide nr 41
Jos P. Emiliano
7 de maro de 2013
Slide nr 42
Conceitos bsicos
Modelos clssicos de ciclo de vida
Waterfall Model (etapas em cascata) Envolve mdulos do projeto, passando de uma fase a outra, apenas se pronta e validada a fase anterior. Prototyping Model Prototipar sempre, tornandoo prximo do modelo desejado. O prottipo poder ou no ser o produto final.
Exemplo: Desenvolver em MSAccess um prottipo a ser implantado em Java ou Delphi. Objetivo: Captar ao mximo os requisitos do sistema
Conceitos bsicos
Modelos evolutivos:
Incremental Model Implementa parte de um modelo total. Incrementa a parte implementada at o ponto desejado pelo usurio (funcionalidades ou performance) Spiral Model Utiliza ciclos interativos de desenvolvimento.
Jos P. Emiliano
7 de maro de 2013
Slide nr 43
Jos P. Emiliano
7 de maro de 2013
Slide nr 44
11
Conceitos bsicos
Modelo em cascata (waterfall modificado)
Jos P. Emiliano
7 de maro de 2013
Slide nr 45
Jos P. Emiliano
7 de maro de 2013
Slide nr 46
Conceitos bsicos
Modelo em espiral (spiral model)
Conceitos bsicos
Modelos de um software
Um nico modelo insuficiente para representar todos os fenmenos existentes em um sistema complexo. Principais modelos, segundo Jacobson (1992)
Modelo de requisitos captura requisitos funcionais Modelo de anlise- d ao sistema uma estrutura de objetos Modelo de design (projeto)-refinamento para a implementao Modelo de implementao-efetivamente implementa o sistema Modelo de teste- realiza verificaes do sistema
Jos P. Emiliano
7 de maro de 2013
Slide nr 47
Jos P. Emiliano
7 de maro de 2013
Slide nr 48
12
funes
funes
funes
funes
Dados globais
Atualizado em 7/3/2013 49
Jos P. Emiliano
7 de maro de 2013
Slide nr 50
Conceitos de POO
Objeto
Sistemas baseados no paradigma da Orientao a Objetos, empregam este conceito para representar entidades, ocorrncias ou elementos do mundo real Objeto uma abstrao capaz de representar e descrever formalmente elementos reais em um ambiente computacional.
Exemplo: Aluno, Conta Corrente, Fatura, Automvel, Item de estoque, etc.
mtodos
os tod m
mtodos
to m s do
mtodos
to m s do
dados
mtodos
dados
mtodos
dados
mtodos
Jos P. Emiliano
7 de maro de 2013
Slide nr 51
Jos P. Emiliano
7 de maro de 2013
Slide nr 52
13
Conceitos de POO
Objetos armazenam dados, comportamentos, estados e so capazes de comunicar entre si .
Podem ser agregados visando adicionar uma desejada funcionalidade a um sistema, tornando-o mais complexo.
Exemplo: Um objeto computador composto por diversos componentes eletrnicos (objetos) que o fazem funcionar corretamente.
Conceitos de POO
Qualquer objeto existente no mundo real pode ser mapeado para o ambiente computacional, desde que seja possvel identificar:
As caractersticas (aspectos) que definam este objeto Outros objetos que possam vir a compor este objeto Os estados que este objeto possa possuir, com base nos valores das caractersticas ou objetos que armazena Os comportamentos ou mtodos capazes de atuar sobre estes estados , atuando sobre seus dados, modificandoos A interao deste objeto com demais integrantes do sistema
Jos P. Emiliano
7 de maro de 2013
Slide nr 53
Jos P. Emiliano
7 de maro de 2013
Slide nr 54
Conceitos de POO
Um objeto caracteriza-se por:
Guardar dados (atributos) que esto relacionados a caractersticas que o definem:
Ex:[FATURA]=nome, nr_cartao, valor_total, valor_pago, data_vencimento, data_pagamento, status,etc.
Conceitos de POO
Um objeto caracteriza-se por:
Possuir mtodos (comportamentos) capazes de alterar valores de seus atributos, permitindo, inclusive, modificar seu estado:
Ex: Considere o mtodo :
pagarFatura(float valor){ this.valor_pago=valor; }
Possuir estados que podem ser modificados em funo dos valores dos dados por ele armazenados:
Ex: Fatura paga, fatura no paga, em atraso, em dia, etc.
Possuir mtodos capazes de alterar valores de atributos em outros objetos com os quais tenha algum tipo de relacionamento.
Jos P. Emiliano Slide nr 56
Jos P. Emiliano
7 de maro de 2013
Slide nr 55
7 de maro de 2013
14
Conceitos de POO
Nota: Na POO, no se deve acessar diretamente os valores dos dados de um objeto. Em vez disso, devem ser implementados mtodos capazes de realizar esta consulta.
Conceitos de POO
Um objeto caracteriza-se por:
Permitir o encapsulamento (ocultamento) de seus dados e mtodos a outros objetos, garantindo segurana, reusabilidade e confiabilidade. Permitir agregar-se e ser agregado a outros objetos, com vistas a compor um sistema complexo, cuja funcionalidade depende das partes (objetos) que o compem.
mtodos mtodos
to m
mtodos
to m s do
dados
mtodos
X
No Mensagem: o nome Jose
Nome = jose
mtodos
do to m
dados
s do
mtodos mtodos
os tod m
dados
mtodos mtodos
Jos P. Emiliano
7 de maro de 2013
Slide nr 57
Jos P. Emiliano
7 de maro de 2013
Slide nr 58
Conceitos de POO
Classe
Uma classe um molde capaz de gerar os objetos de um sistema computacional.
O processo de criao do objeto chama-se instanciao. O objeto criado a instncia da classe e traz consigo as definies, atributos e mtodos por ela definidos.
Classe Instncias
mtodos
os tod m
Conceitos de POO
Classe
Este molde dever descrever:
Os atributos do objeto a ser gerado Os mtodos ou funes O grau de visibilidade (encapsulamento) do objeto e de seus componentes internos
PessoaFisica (public)
Atributos ou Propriedades*
os tod m
Auto
instancia
mtodos
private String Nome private String Cpf private String Identidade Public Consultar Dados () Public Cadastrar Nome () Public Cadastrar CPF() Public Cadastrar() Public Excluir ()
dados
mtodos
mtodos
dados
mtodos
os tod m
dados
mtodos
Mtodos
Jos P. Emiliano
7 de maro de 2013
Slide nr 59
Jos P. Emiliano
7 de maro de 2013
Slide nr 60
15
Conceitos de POO
Relacionamentos entre objetos
Um objeto pode se relacionar com outros objetos, objetivando atingir funcionalidades desejadas. O grau de relao entre os objetos depende basicamente dos seguintes fatores:
Limitaes e restries das regras de negcio Reaproveitamento de cdigo O momento do objeto em tempo de execuo
Conceitos de POO
Relacionamentos entre objetos
Uma aplicao baseada em OO possui os seguintes tipos de objetos, a priori:
Objetos do sistema (da aplicao propriamente dita) Objetos do modelo de negcios
Cada objeto possui funcionalidade especfica e agrega valor ao sistema como um todo.
As classes com funes especficas podem ser agrupadas em pacotes (bibliotecas) que podem ser reutilizados pelo sistema.
Jos P. Emiliano
7 de maro de 2013
Slide nr 61
Jos P. Emiliano
7 de maro de 2013
Slide nr 62
Conceitos de POO
Relacionamentos entre objetos
Associaes
Conhecimento ou Associao (Link) Agregao Composio
Conceitos de POO
Associao
Define o tipo de relacionamento bsico que permite a chamada de mtodos entre dois objetos do sistema. A associao pode ser dos tipos:
Associao Agregao Composio
Herana (generalizao)
Jos P. Emiliano
7 de maro de 2013
Slide nr 63
Jos P. Emiliano
7 de maro de 2013
Slide nr 64
16
Conceitos de POO
Associao
Relacionamento padro entre objetos, com fraco grau de dependncia. Um objeto poder chamar mtodos de outro. Objetos do mesmo pacote ou de pacotes importados possuem este tipo de relacionamento, por padro. H que se observar a convenincia do sistema para a chamada de mtodos de um objeto em outro.
Conceitos de POO
Agregao ( parte de)
Relacionamento com mdio grau de dependncia de um objeto sobre o outro. Pressupe a existncia de um objeto compondo um outro sem, no entanto, ser sua parte principal. Em tempo de execuo, o objeto que agrega pode existir sem a existncia do objeto agregado.
Classe A
Jos P. Emiliano
7 de maro de 2013
Classe B
Slide nr 65
Curso
permitida a existncia de cursos sem alunos
Jos P. Emiliano
7 de maro de 2013
Aluno
Slide nr 66
Conceitos de POO
Composio (composto por)
Relacionamento com forte grau de dependncia onde a existncia de uma instncia de uma classe deve estar sujeita a existncia de outra.
Conceitos de POO
Classes de associao
Uma classe que representa a relao entre duas entidades.
Paciente
Jos P. Emiliano
Pronturio
Slide nr 67 Jos P. Emiliano Slide nr 68
7 de maro de 2013
7 de maro de 2013
17
Conceitos de POO
Herana
Possibilidade que tem um objeto de herdar as caractersticas de outro objeto, no necessitando a reimplementao de atributos ou mtodos.
A herana visa especializar o objeto-filho em funo de caractersticas do objeto-pai Tipos de herana:
Simples (um pai apenas) - Utilizado por Java Mltipla (mltiplos pais para um filho)
Conceitos de POO
Herana
Jos P. Emiliano
7 de maro de 2013
Slide nr 69
Jos P. Emiliano
7 de maro de 2013
Slide nr 70
Conceitos de POO
Polimorfismo (overriding)
a possibilidade de sobreescrever um mtodo definido por uma classe modificando o comportamento de objetos.
public void contar(){ valor=valor+1; }
Reviso
A programao estruturada difere da programao OO por possuir funes do sistema acessando dados. Na POO os objetos integram dados e as funes que os acessam. Objetos so representaes do mundo real no ambiente computacional As classes so os moldes dos objetos Instncias so objetos criados por classes em tempo de execuo Os objetos se relacionam aumentando o grau de complexidade de sistemas Associao, Agregao e Composio so as relaes principais A Herana prov especializao das classes j implementadas
Jos P. Emiliano
7 de maro de 2013
Slide nr 71
Jos P. Emiliano
7 de maro de 2013
Slide nr 72
18
Conceitos bsicos
Um sistema pode ser visto de diversas perspectivas, a saber:
Conceitual
Introduo a UML
Identificar principais diagramas para o projeto de sistemas OO
Especificao
Foco no software (em especial nas funes a serem implementadas, como ser visto adiante)
Implementao
Descrio detalhada dos atributos (com valores de inicializao, se for o caso) e dos mtodos desejveis para o sistema.
Atualizado em 7/3/2013 73
Jos P. Emiliano
7 de maro de 2013
Slide nr 74
Conceitos bsicos
Vises
Conceitual
UML
O que UML
Unified Modelling Language uma famlia de notaes grficas utilizadas para a descrio e projeto de sistemas informatizados, particularmente sistemas Orientados a Objetos. Surgiu da unificao de modelos grficos prexistentes na dcada de 80 e 90. O UML um padro aberto, controlado pelo OMG (Object Management Group). A verso normalmente em uso 1.5. J encontra-se disponvel a especificao da verso 2.0.
Especificao
Implementao
Jos P. Emiliano
7 de maro de 2013
Slide nr 75
Jos P. Emiliano
7 de maro de 2013
Slide nr 76
19
UML
Evoluo
UML 1.1
Industrializao (Set97) Padronizao (Jan97) Unificao II (Out96) Unificao I (Out95)
UML
Vises da UML
Viso de casos de uso - Como o sistema percebido por elementos que com ele interagem. Viso lgica - Mostra como a funcionalidade implementada dentro do sistema. voltada para projetistas e desenvolvedores do sistema. Descreve classes, objetos e relacionamentos. Viso de componentes - Mostra a organizao dos componentes e seu agrupamento em mdulos e suas dependncias. Viso de concorrncia - Mostra aspectos dinmicos do sistema, como concorrncia, comunicao e sincronizao Viso de desenvolvimento - Mostra o desenvolvimento de um sistema em sua arquitetura fsica com computadores e sistemas denominados de ns.
UML 1.0 Parceiros da UML UML 0.9 & 0.91 Unified Method 0.8
Booch91
7 de maro de 2013
Slide nr 77
Jos P. Emiliano
7 de maro de 2013
Slide nr 78
UML
Diagramas
Modelo esttico
Casos de uso Classe
UML
Estudo de caso:
Sistema de Agenda Tipo de sistema: Cliente/Servidor Banco de dados: OO Quantidade de pontos: 3 Servidores disponveis:1 Usurios do sistema:
Administradores Usurios comuns
Modelo dinmico
Colaborao Seqncia Atividade Estados
Funcionalidades bsicas:
Autenticao de usurios Gerncia de usurios Gerncia de contatos
Modelo de implementao
Diagrama de componentes Diagrama de Implementao
Jos P. Emiliano
7 de maro de 2013
Slide nr 79
Jos P. Emiliano
7 de maro de 2013
Slide nr 80
20
Diagramas
Diagramas de Casos de Uso
Diagramas
Diagramas de Classe
Jos P. Emiliano
7 de maro de 2013
Slide nr 81
Jos P. Emiliano
7 de maro de 2013
Slide nr 82
Diagramas
Diagramas de Colaborao
Mostra a interao entre os objetos do sistema
Cadastro de um objeto instncia da classe Contato
Diagramas
Diagramas de Sequncia
Use case: Excluir contato
Jos P. Emiliano
7 de maro de 2013
Slide nr 83
Jos P. Emiliano
7 de maro de 2013
Slide nr 84
21
Diagramas
Diagramas de Atividade
Detalha o ciclo de vida da aplicao
Diagramas
Diagramas de Estado
Objeto: Contato
Jos P. Emiliano
7 de maro de 2013
Slide nr 85
Jos P. Emiliano
7 de maro de 2013
Slide nr 86
Diagramas
Diagramas de Componentes
Diagramas
Diagramas de Implantao
Jos P. Emiliano
7 de maro de 2013
Slide nr 87
Jos P. Emiliano
7 de maro de 2013
Slide nr 88
22
Unidade Didtica III - Ferramentas para UML Identificar ferramentas para elaborar projetos de UML
Atualizado em 7/3/2013 89
Jos P. Emiliano
7 de maro de 2013
Slide nr 90
Referncias
Fowler,Martin UML Distilled Third Edition Addison Wesley, 2006 Eriksson, Jans ; Penker, Magnus - UML Toolkit Wiley Computer Publishing, 1998 Coad,Peter;Yourdon, Peter Object-Oriented Analysis, Yourdon Press, 1991 Matos, Alexandre-UML prtico e descomplicado, Ed rica, 2002 Fowler,Martin UML Essencial, Bookman, 2000
Jos P. Emiliano Slide nr 92
Jos P. Emiliano
7 de maro de 2013
Slide nr 91
7 de maro de 2013
23