53
Principio de Análise E Projeto de Sistema

UML UML (Unified Modeling Language ou Linguagem de modelagem unificada) Linguagem padrão para modelagem orientada a objetos. Permite visualização do

Embed Size (px)

Citation preview

  • Slide 1
  • Slide 2
  • Slide 3
  • UML UML (Unified Modeling Language ou Linguagem de modelagem unificada) Linguagem padro para modelagem orientada a objetos. Permite visualizao do trabalho do desenvolvedor atravs de Diagramas Uma linguagem comum e amplamente utilizvel Utiliza-se de um conjunto de tcnicas de notao grfica para criar modelos visuais de software de sistemas intensivos
  • Slide 4
  • DIAGRAMA DE CASOS DE USO Tem o Objetivo de auxiliar a comunicao entre o cliente e os analistas Descreve um cenrio que mostra as funcionalidade do sistema do ponto de vista do usurio Deve conter para o cliente ver as principais funciona- lidades de seu sistema. Representa o conjunto de comportamentos de alto nvel que o sistema deve executar para um determinado ator o diagrama mais simples, e no h necessidade de grandes detalhamentos.
  • Slide 5
  • Slide 6
  • DIAGRAMA DE CLASSES Representa uma coleo de classes e seus inter- relacionamentos pode oferecer trs perspectivas, cada uma para um tipo de observador diferente: - Conceitual: Representa os conceitos do domnio em estudo e perspectiva destinada ao cliente - Especificao: Foco nas principais interfaces da arquitetura e no como eles iro ser implementados - Implementao: A mais utilizada de todas, Aborda vrios detalhes de implementao, tais como navegabilidade, tipo dos atributos, etc.
  • Slide 7
  • Slide 8
  • DIAGRAMA DE PACOTES Descreve os pacotes ou pedaos do sistema divididos em agrupamentos lgicos mostrando as dependncias entre estes Muito utilizado para ilustrar a arquitetura de um sistema mostrando o agrupamento de suas classes Um pacote representa um grupo de classes (ou outros elementos) que se relaciona com outros pacotes atravs de uma relao de dependncia Pode ser utilizado em qualquer fase do processo de modelagem e visa organizar os modelos
  • Slide 9
  • Slide 10
  • DIAGRAMA DE INTERAO So modelos que descrevem como grupos de objetos colaboram em algum comportamento. Tipicamente, um diagrama de interao captura o comportamento de um nico caso de uso. O diagrama mostra vrios objetos e as mensagens que so passadas entre estes objetos em um caso de uso. Existem dois tipos de diagramas de interao: Diagramas de sequencia e diagramas de colaborao.
  • Slide 11
  • DIAGRAMAS DE SEQUNCIA Tem o objetivo de mostrar como as mensagens entre os objetos so trocadas no decorrer do tempo para a realizao de uma operao Linhas verticais representando o tempo de vida de um objeto (lifeline) Estas linhas verticais so preenchidas por barras verticais que indicam exatamente quando um objeto passou a existir. Quando um objeto desaparece, existe um "X" na parte inferior da barra Linhas horizontais ou diagonais representando mensagens trocadas entre objetos. Estas linhas so acompanhadas de um rtulo que contm o nome da mensagem e, opcionalmente, os parmetros da mesma Uma condio representada por uma mensagem cujo rtulo envolvido por colchetes; Mensagens de retorno so representadas por linhas horizontais tracejadas. Este tipo de mensagem s deve ser mostrada quando for fundamental para a clareza do diagrama.
  • Slide 12
  • Slide 13
  • DIAGRAMA DE COLABORAO A grande diferena entre um diagrama de colaborao e um de sequencia consiste no fato de que o tempo no mais representado por linhas verticais, mas sim atravs de uma numerao, que pode ser de duas formas: Simples (1,2,3,...) e Composta (1.1, 1.2, 1.2.1,...) Um objeto representado como um retngulo, contendo no seu interior um rtulo, que informa o nome do objeto e o nome da classe, separados por dois pontos. A troca de mensagens entre os objetos segue o mesmo padro que o apresentado nos diagramas de sequencia.
  • Slide 14
  • Slide 15
  • DIAGRAMA DE ESTADO Em um diagrama de estado, um objeto possui um comportamento e um estado O estado de um objeto depende da atividade na qual ele est processando Um diagrama de estado mostra os possveis estados de um objeto e as transaes responsveis pelas suas mudanas de estado.
  • Slide 16
  • Slide 17
  • DIAGRAMA DE ATIVIDADES essencialmente um grfico de fluxo, mostrando o fluxo de controle de uma atividade para outra e sero empregados para fazer a modelagem de aspectos dinmicos do sistema Enquanto os diagramas de sequencia do nfase ao fluxo de controle de um objeto para outro, os diagramas de atividades do nfase ao fluxo de controle de uma atividade para outra; Uma atividade uma execuo no atmica em andamento em uma mquina de estados e acabam resultando em alguma ao, formada pelas computaes atmicas executveis que resultam em uma mudana de estado do sistema ou o retorno de um valor.
  • Slide 18
  • Slide 19
  • DIAGRAMA DE OBJETOS Uma variao do diagrama de classes e utiliza quase a mesma notao. A diferena que o diagrama de objetos mostra os objetos que foram instanciados das classes como se fosse o perfil do sistema em certo momento de sua execuo Os objetos so escritos com seus nomes sublinhados e todas as instncias num relacionamento so mostradas so muito teis para exemplificar diagramas complexos de classes ajudando muito em sua compreenso Tambm so usados como parte dos diagramas de colaborao onde a colaborao dinmica entre os objetos do sistema so mostrados.
  • Slide 20
  • Slide 21
  • DIAGRAMA DE COMUNICAO Era conhecido como Diagrama de Colaborao at a verso 1.5 da UML, o seu nome modificado na verso 2.0 Amplamente associado ao Diagrama de Sequencia, na verdade, um complementa o outro As informaes mostradas so, com frequncia, praticamente as mesmas apresentadas no Diagrama de Sequencia, porm com um enfoque diferente, visto que este diagrama no se preocupa com a linha de tempo do processo, concentrando-se em como os objetos so vinculados e quais mensagens trocam entre si durante o processo.
  • Slide 22
  • Slide 23
  • DIAGRAMA DE COMPONENTES Mostra o sistema por um lado funcional, expondo as relaes entre seus componentes e a organizao de seus mdulos Descreve os componentes e as dependncias, representando a estrutura do cdigo gerado Os componentes tambm podem ser uma tabela, documentos, outros sistemas. Todo este conjunto ir compor o sistema Um componente representado como um retngulo e dois pequenos retngulos do lado esquerdo e o nome do componente pode ser escrito dentro ou abaixo do componente. Os componentes podem ser implementados por meios diferentes de arquivos, linguagens de programao, tabelas, equipamentos. Para determinar o tipo do componente usamos esteretipos.
  • Slide 24
  • Slide 25
  • DIAGRAMA DE IMPLANTAO Representa a configurao e a arquitetura do sistema em que estaro ligados os respectivos componentes. Tambm podemos representar toda a estrutura de hardware e requisitos mnimos onde o sistema ser executado. Principais caractersticas so: - Pode representar a estrutura da plataforma em que ser utilizado; - Pode representar bancos de dados, Componentes de Terceiros; - Pode representar os servidores, a rede; - Pode representar a configurao dos equipamentos; No especfico do desenvolvedor, mas em uma equipe onde existe o responsvel pela implantao do sistema, este deve estar preocupado com o hardware e a configurao em que o sistema dever ser executado e a compatibilidade entre os dois.
  • Slide 26
  • Slide 27
  • DIAGRAMA DE ESTRUTURA COMPOSTA utilizado para modelar Colaboraes Colaborao descreve uma viso de um conjunto de entidades cooperativas interpretadas por instncias que cooperam entre si para executar uma operao especfica Este diagrama tambm pode ser utilizado para definir a estrutura interna de um classificador Este um dos novos diagramas propostos pela UML 2.0
  • Slide 28
  • Slide 29
  • DIAGRAMA DE TEMPO OU TEMPORIZAO Este diagrama descreve a mudana no estado ou condio de uma instncia de uma classe ou seu papel durante um tempo Tipicamente utilizado para demonstrar a mudana no estado de um objeto no tempo em resposta a eventos externos.
  • Slide 30
  • Slide 31
  • FERRAMENTAS CASE NA UML O termo CASE (Computer-aided software engineering) significa engenharia de software auxiliada por computador. Ferramenta CASE um software que auxilia no ciclo de desenvolvimento de um sistema, desde a fase de anlise, fase de testes, desenvolvimento e apoiam na manuteno de metodologias Armazenam as informaes de uma forma prpria, como textos, imagens, grficos, possibilitando a integrao com o usurio.
  • Slide 32
  • FERRAMENTAS CASE NA UML As ferramentas CASE dividem-se em 3 tipos: Integrated System CASE (I-CASE), que visam desde a anlise at a gerao do cdigo. Cases de automao de uma fase ou mais do desenvolvimento. So ferramentas que se prendem a uma etapa do projeto, como por exemplo Ferramentas para modelagem de dados., Ferramenta de testes. Ferramentas que seguem uma metodologia especfica, como por exemplo ferramentas para Scrum, XP.
  • Slide 33
  • Algumas vantagens que podemos ver no uso de ferramentas CASE so: Maior qualidade nos produtos finais; Produtividade; Eliminao de retrabalho; Mais tempo para a tomada de deciso; Flexibilidade para mudanas; Melhor documentao; Manuteno mais fcil e gil; FERRAMENTAS CASE NA UML
  • Slide 34
  • ANLISE OO: MODELAGEM ESTTICA So etapas sequencias de passos bem definidos que auxiliam a especificao do modelo de analise de sistema de software a partir dos requisitos estabelecidos Esses requisitos so especificados atravs dos casos de uso Apesar das ideias apresentadas serem genricas o suficiente para possibilitar a sua utilizao conjunta com outros artefatos de descrio de requisitos
  • Slide 35
  • ANLISE OO X PROJETO OO Uma das partes mais importantes de um processo de desenvolvimento de software o conjunto de diretrizes que sugere como decompor sistemas grandes e complexos em componentes menores que possam ser manipulados mais facilmente. A aplicao de conceitos de orientao a objetos para o desenvolvimento de software traz novas solues para velhos problemas, mas tambm demanda a confeco de novos mtodos e processos que adotem uma abordagem completamente nova. Sendo assim, um processo de desenvolvimento de software orientado a objetos difere dos processos tradicionais na maneira particular como decompe o sistema em partes menores e na natureza dos relacionamentos entre essas partes.
  • Slide 36
  • Alm disso, numa abordagem clssica, as fases de anlise, projeto, implementao e testes so geralmente vistas como fases globais e separados a serem executados sequencialmente no ciclo de vida do sistema inteiro. Na abordagem orientada a objetos, essa ideia no se aplica. A sequencia de fases de anlise, projeto, implementao e testes pode ser adotada para o ciclo de vida de classes individuais, e no necessariamente para o sistema inteiro como na abordagem clssica. existe uma distino comum feita entre anlise orientada a objetos e projeto orientado a objetos. Em geral, a fase de anlise lida com o domnio do problema, enquanto que a fase de projeto lida com o domnio da soluo. ANLISE OO X PROJETO OO
  • Slide 37
  • DESCRIO DOS TERMOS Anlise OO. Modela o mundo real de tal modo que ele possa ser compreendido. Durante a anlise, a nfase est em encontrar e descrever as entidades do domnio do problema que sejam relevantes para o sistema que se pretende construir. Projeto OO. Define as entidades de software que fazem parte do domnio da soluo e que sero implementa- das em uma linguagem de programao orientada a objetos. ANLISE OO X PROJETO OO
  • Slide 38
  • O modelo de anlise uma abstrao do modelo de projeto. Graas sua abstrao, o modelo de anlise omite vrios detalhes de como o sistema funciona e proporciona um panorama geral da funcionalidade do sistema. Por ser um refinamento do modelo de anlise, o modelo de projeto consiste de um conjunto de colaboraes que representam a estrutura e o comportamento do sistema, de forma mapeavel a pelo menos uma linguagem de programao orientada a objetos. A maneira como o sistema se comporta derivada do modelo de casos de uso e dos requisitos no funcionais especificados para ele. ANLISE OO X PROJETO OO
  • Slide 39
  • Modelagem Esttica x Modelagem Dinmica A anlise orientada a objetos cria uma especificao que utiliza termos e entidades do domnio do problema para represent-la principalmente os requisitos funcionais do sistema. Durante a anlise, so modelados aspectos estticos e dinmicos do domnio do problema. Na modelagem esttica, conceitos do mundo real relevantes para o sistema a ser construdo so includos em um dia- grama de classes de anlise, tambm conhecido como modelo de objetos ou modelo conceitual. Basicamente, esse modelo composto das principais entidades do sistema (classes), os atributos dessas classes e os relacionamentos entre elas.
  • Slide 40
  • A modelagem dinmica descreve os aspectos do sistema de software que podem mudar com o tempo devido ocorrncia de eventos e que dizem respeito ao seu fluxo de controle. A modelagem dinmica usa diagramas dinmicos de UML, como diagramas de sequencia, de atividades e de colaborao, para modelar as interaes entre objetos no sistema. Esses objetos so instancias das classes de anlise e esto contidos no domnio do problema. A modelagem dinmica tambm afeta o modelo de classes de anlise, enriquecendo-o com elementos ligados ao comportamento do sistema, como as operaes. Modelagem Esttica x Modelagem Dinmica
  • Slide 41
  • Slide 42
  • OMT A OMT (OBJECT MODELING TECHNIQUE) uma metodologia de desenvolvimento de software orienta- da a objetos que abrange desde a etapa de anlise, passando pelo projeto, at a implementao. Como qualquer outra metodologia orientada a objetos, a OMT enxerga um software como sendo um conjunto organizado de objetos discretos que possuem estru- turas de dados e um determinado comportamento.
  • Slide 43
  • A OMT prope quatro etapas para o desenvolvimento de um software orientado a objetos: ANLISE: Parte-se da declarao do problema para se modelar uma situao do mundo real. O modelo produzido nesta etapa deve representar O QUE o sistema desejado deve fazer e no COMO fazer. Nesta etapa, no se deve ficar restrito aos aspectos de implementao em computador e sim enfocar todos os aspectos do domnio da aplicao, independentemente de virem ou no a ser automatizados. DESENHO DO SISTEMA: Nesta etapa, decide-se a arquitetura do sistema e a plataforma onde ele vai rodar. Decompe-se o sistema em subsistemas, projetam-se aspectos de performance e da interface homem/mquina. ETAPAS DA METODOLOGIA OMT
  • Slide 44
  • DESENHO DOS OBJETOS: Baseando-se no modelo produzido na etapa de anlise, elabora-se um modelo de objetos, contendo detalhes de implementao. Os detalhes adicionados devem estar de acordo com as estratgias de implementao estabelecidas na etapa de desenho do sistema. IMPLEMENTAO: As classes de objetos e respectivos relacionamentos projetados durante a etapa de desenho dos objetos so finalmente transformados em programas de computador, em uma determinada linguagem de programao, utilizando um determinado gerenciador de bases de dados e para serem processados em um determinado tipo de plataforma computacional. ETAPAS DA METODOLOGIA OMT
  • Slide 45
  • OS TRS MODELOS DA OMT A metodologia OMT faz uso de trs tipos de modelos para representar um sistema: O MODELO DE OBJETOS: Descreve a estrutura esttica dos objetos e seus relacionamentos em um sistema. muito parecido, embora com mais riqueza de significantes, com o clssico modelo de entidades-relacionamento. O MODELO DINMICO: Descreve a evoluo dos componentes do sistema ao longo do tempo, ou seja, busca representar o ciclo de vida dos objetos do sistema. Utiliza-se, como ferramenta de representao do modelo dinmico, o Diagrama de Transio de Estados. O MODELO FUNCIONAL: Descreve os fluxos de dados de entrada e sada do sistema e os processos que transformam os dados de entrada, produzindo os dados de sada. Utiliza-se o Diagrama de Fluxo de Dados para se construir o modelo funcional.
  • Slide 46
  • MODELOS DE OBJETOS SIMBOLOGIA Cada componente ou associao pertencente ao modelo de objetos utiliza uma forma de representao grfica na forma como est resumido abaixo:
  • Slide 47
  • Cada objeto est em um determinado estado (situao) em um determinado instante do tempo. Muda para outro estado quando ocorre um evento especfico. MODELOS DINMICOS (SIMBOLOGIA)
  • Slide 48
  • RUP O RUP (Rational Unified Process) uma metodologia para desenvolvimento de software criada pela Rational Software, IBM, SofTeam, Unisys, Nihon Unisys, Alcatel e Q-Labs. O RUP pode ser encontrado na forma de um software, fornecido pela Rational Software, e como um conjunto de processos. o RUP mais do que um softwares para auxiliar no desenvolvimento uma metodologia de desenvolvimento, com uma estrutura formal e bem definida. Como qualquer metodologia, composta de conceitos, prticas e regras. Um dos principais pilares do RUP o conceito de best practices (melhores prticas), que so regras/prticas que visam reduzir o risco (existente em qualquer projeto de software) e tornar o desenvolvimento mais eficiente.
  • Slide 49
  • RUP O RUP define seis best practices, sendo elas: Desenvolver iterativamente Gerenciar requerimentos Utilizar arquiteturas baseadas em componentes Modelar visualmente Verificao contnua de qualidade Controle de mudanas O RUP, ainda, entrelaa o conceito de best practices em quatro definies, sendo elas: Funes: grupos de atividades executadas. Disciplinas: reas de esforo na engenharia de software. Atividades: definies de como (objetos/artefatos) construdo e avaliado. Objetos/artefatos: resultado do trabalho, produzido ou modificado durante o processo.
  • Slide 50
  • RUP Divide o processo de desenvolvimento de software em quatro fases Concepo: definio do escopo do projeto. Elaborao: elaborao bsica do software. Construo: desenvolvimento. Transio;
  • Slide 51
  • BIBLIOGRAFIA SOUZA, Marcelo souza. UML. Disponvel em:. Acesso em: 11 de set. de 2013 DESCONHECIDO. Diretrizes: Diagrama de sequncia. Disponvel em:. Acesso em: 11 de set. de 2013 SAMPAIO, Marcos Costa,UML. Disponivel em:. Acesso em: 11 de set. de 2013
  • Slide 52
  • INFOESCOLA, UML. Disponvel em. Acesso em 11 de set. de 2013 FONSECA, Gabriela, Os principais diagramas da UML- resumo rpido. Disponivl em. Acesso em 11 de set. de 2013 DESCONHECIDO, Diagramas de interao. Disponvel em. acesso em 11 de set. de 2013 BIBLIOGRAFIA
  • Slide 53
  • FISCHER RUBIRA E SILVA BRITO, Ceclia mary e Patrick Henrique, Introduo a Anlise Orientada a Objetos e Projeto Arquitetural. Instituto de computao UNICAMP, campinas-SP.2009. BIBLIOGRAFIA