Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Processo de Desenvolvimento de Software 2 Atividades em Processo de Desenvolvimento de Software • • • • • Análise X Projeto Linguagem UML Análise Estrutural Análise Comportamental Casos de Uso Sumário 3 Análise • Análise x Projeto – A Análise vem antes do Projeto; – Na prática, a análise e o projeto são realizados em ciclos; 5 • A fase de Análise e Projeto de Software compreende o conjunto de atividades da Engenharia de Software que define como a solução é implementada. • Seu propósito é analisar os requisitos e elaborar um conjunto de modelos técnicos que guiam a implementação. Os objetivos da fase de Análise e Projeto de Software são: • definir uma visão de Projeto para o software, observando os requisitos; • definir uma visão de Implementação, organizando o projeto em pacotes, operações e componentes, para que correspondam ao ambiente de implementação; • analisar o impacto da implantação da solução no ambiente; • construir o modelo de dados; • especificar os componentes que são implementados para atender às necessidades identificadas. Como resultados da fase de Análise e Projeto de Software têm-se: • os requisitos funcionais e não-funcionais analisados e tratados, além de associados e alocados aos elementos do software; • a escolha da arquitetura de software de referência para o projeto; • um projeto do software descrevendo os elementos de implementação, as operações e as unidades do software descritos e prontos para serem codificados; • as interfaces internas e externas de cada elemento definidas; • consistência e rastreabilidade entre os requisitos do software e o projeto do software. Análise • Diferença entre Análise e Projeto – Definição 01 • Análise – É uma modelagem do problema; – Consiste nas atividades necessárias para entender o domínio do problema; – É uma atividade de investigação; – “O que deve ser feito”. 6 Análise • Diferença entre Análise e Projeto – Definição 01 • Projeto – É uma modelagem da solução; – Consiste nas atividades necessárias para resolver o problema; – “Como pode ser feito”. 7 Análise • Diferença entre Análise e Projeto – Definição 01 8 Modelagem do problema (entender) Modelagem da solução (criar) Análise Projeto Análise • Diferença entre Análise e Projeto – Definição 02 • Análise – Consiste nas atividades com ou para o conhecimento do cliente; – O cliente deve discutir e aprovar a informação produzida (artefatos). • Projeto – Consiste nas atividades, cuja informação produzida, interessa apenas ao programador. 9 Análise • Diferença entre Análise e Projeto 10 – Definição 02 Análise Projeto Informação importante para o cliente aprovar e discutir Informação importante apenas para o programador Análise invade um pouco o lado do projeto (solução). O cliente deverá discutir alguns detalhes da interface do usuário. Análise : Modelagem Visual • Objetivos da Análise: – Utilizar modelos para representar requisitos e o domínio do problema; – Detalhar as informações coletadas no levantamento de requisitos; 11 Análise : Modelagem Visual • Modelagem Visual – O que é um modelo? • É uma simplificação da realidade; • Descreve um sistema a partir de uma perspectiva particular; • Exemplo: – Um mapa, planta de uma casa, desenho de estilista, etc... –Modelos auxiliam no entendimento e na formulação de problemas. 12 Análise : Modelagem Visual • Modelagem Visual – Por que modelar? • Para entendermos melhor o sistema que estamos desenvolvendo: – Auxilia na visualização do que está sendo construído; – Permite especificar a estrutura e o comportamento do sistema; – Auxilia a entendermos melhor os riscos; – Documenta as decisões tomadas. – Quanto mais complexo o sistema, mais precisaremos utilizar técnicas de modelagem. 13 Análise : Modelagem Visual • Modelagem Visual – Importância • Auxilia na visualização, especificação, construção e documentação de sistemas; – Pode ser utilizada em várias etapas do processo de desenvolvimento – Facilita a comunicação entre as partes envolvidas (stakeholders) no projeto; 14 Análise : Modelagem Visual • Modelagem Visual – Importância • Auxilia na manutenção da consistência dos artefatos produzidos; –Mudanças gráficas são mais simples de fazer, especialmente com suporte ferramental adequado • Permite a comunicação sem ambigüidades, desde que seja utilizada uma linguagem padronizada; • Inconsistências podem ser detectadas com mais facilidade; 15 Análise : Modelagem Visual • Modelagem Visual – Importância • Permite graus de abstração – Detalhes podem ser omitidos quando necessário – Gerenciamento da complexidade do sistema 16 Análise : Modelagem Visual • Modelagem Visual – Princípios de Modelagem • A escolha dos modelos a serem criados tem uma grande influência em como um problema é atacado e como uma solução é desenvolvida; • Todo modelo pode ser expresso em diferentes níveis de precisão; • Nenhum modelo único é suficiente. Todo sistema não- trivial é melhor abordado através de um conjunto pequeno de modelos relacionados; 17 Análise : Modelagem Visual • Modelagem Visual – Princípios de Modelagem • Um sistema, geralmente, tem muitas classes (dezenas, centenas...) e nem sempre estas classes são vistas por uma só pessoa; • Dependendo do nível hierárquico desta pessoa, formas diferentes de apresentar uma diagrama de classes devem existir; 18 Análise : Modelagem Visual • Modelagem Visual – Princípios de Modelagem • Exemplo: – Um cliente não quer saber o que é uma classe, mas apenas compreender determinados conceitos; – Um gerente de um projeto não precisa ver detalhes de um modelo; – Um time de desenvolvimento precisa ver um diagrama e compreender uma série de detalhes. 19 Análise : Modelagem Visual • Modelagem Visual – Um modelo de análise deve ser criado independente de sua implementação; – Uma implementação pode ser trocada por outra sem afetar o modelo. 20 Análise : Modelagem Visual • Modelagem Visual – UML - Unified Modeling Language; – Linguagem gráfica para visualização, especificação, construção e documentação de artefatos de um sistema de software; – UML é uma linguagem comum para expressar modelos. Ela não diz como desenvolver software. 21 Análise : Modelagem Visual • A UML oferece nove tipos diferentes de diagramas que podem ser classificados como Diagramas Estruturais ou Diagramas Comportamentais. 22 Análise : Modelagem Visual • Diagramas Estruturais – Utilizado na modelagem dos aspectos estáticos de um sistema, ou seja, a representação de seu esqueleto e estrutura. – Exemplos: Diagrama de classes e diagrama de objetos 23 Análise : Modelagem Visual • Diagramas Estruturais: Diagrama de Classes – É composto basicamente por um conjunto de classes relacionadas entre si. –Modela os aspectos estáticos de um sistema pelo fato de sua estrutura ser sempre válida em qualquer ponto do ciclo de vida do sistema. 24 Análise : Modelagem Visual • Diagramas Estruturais: Diagrama de Classes 25 Análise : Modelagem Visual • Diagramas Estruturais: Diagrama de Objetos – É um diagrama de classes instanciado • O diagrama de objetos modela instâncias dos itens de um diagrama de classes e seus respectivos relacionamentos – Os itens do diagrama de objetos assumem valores, correspondentes a seus atributos, que no seu conjunto representam a situação estática do sistema em um determinado ponto no tempo. 26 Análise : ModelagemVisual • Diagramas Estruturais: Diagrama de Objetos 27 Análise : Modelagem Visual • Diagramas Comportamentais – São responsáveis pela modelagem dos aspectos dinâmicos de um sistema. – Exemplos: Diagrama de Casos de Uso, diagrama de sequência, diagrama de atividades. 28 Análise : Modelagem Visual • Diagramas Comportamentais: Diagrama de Sequência – Dá ênfase à ordenação temporal das mensagens trocadas entre objetos deste sistema. 29 Análise : Modelagem Visual • Diagramas Comportamentais: Diagrama de Sequência 30 Análise : Modelagem Visual • Diagramas Comportamentais: Diagrama de Atividades –Modela o fluxo seqüencial das atividades geradas por uma operação do sistema ou por um agente externo. – É composto por estados de atividades, estados de ação e transições. 31 Análise : Modelagem Visual • Diagramas Comportamentais: Diagrama de Atividades 32 33 Análise : Diagrama de Caso de uso • Objetivo – O Diagrama de Casos de Uso tem o objetivo de auxiliar a comunicação entre os analistas e o cliente. – Um diagrama de Caso de Uso descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. – O cliente deve ver no diagrama de Casos de Uso as principais funcionalidades de seu sistema. 34 Análise : Diagrama de Caso de uso • Notação – O diagrama de Caso de Uso é representado por: • atores; • casos de uso; • relacionamentos entre estes elementos. – Estes relacionamentos podem ser: • associações entre atores e casos de uso; • generalizações entre os atores; • generalizações, extends e includes entre os casos de uso. 35 Análise : Diagrama de Caso de uso • Atores – Um ator é representado por um boneco e um rótulo com o nome do ator. Um ator é um usuário do sistema, que pode ser um usuário humano ou um outro sistema computacional. 36 Análise : Diagrama de Caso de uso • Caso de uso – Um caso de uso é representado por uma elipse e um rótulo com o nome do caso de uso. Um caso de uso define uma grande função do sistema. A implicação é que uma função pode ser estruturada em outras funções e, portanto, um caso de uso pode ser estruturado. 37 Análise : Diagrama de Caso de uso • Relacionamentos – Ajudam a descrever casos de uso • Entre um ator e um caso de uso – Associação 38 Análise : Diagrama de Caso de uso • Relacionamentos – Ajudam a descrever casos de uso • Entre atores – Generalização 39 Análise : Diagrama de Caso de uso • Relacionamentos – Entre casos de uso • Include: – Um relacionamento include de um caso de uso A para um caso de uso B indica que B é essencial para o comportamento de A. – Pode ser dito também que B is_part_of A. 40 Análise : Diagrama de Caso de uso • Relacionamentos – Entre casos de uso • Extend: – Um relacionamento extend de um caso de uso B para um caso de uso A indica que o caso de uso B pode ser acrescentado para descrever o comportamento de A (não é essencial). A extensão é inserida em um ponto de extensão do caso de uso A. – Ponto de extensão em um caso de uso é uma indicação de que outros casos de uso poderão ser adicionados a ele. Quando o caso de uso for invocado, ele verificará se suas extensões devem ou não serem invocadas. 41 Análise : Diagrama de Caso de uso • Relacionamentos – Entre casos de uso • Extend: Quando B extends A, a semântica é: – Dois casos de uso são definidos: A e A extended by B – B é uma variação de A. Contém eventos adicionais, para certas condições; – Tem que ser especificado onde B é inserido em A. 42 Análise : Diagrama de Caso de uso • Relacionamentos – Entre casos de uso • Generalização ou Especialização – caso de uso B é_um caso de uso A (A é uma generalização de B, ou B é uma especialização de A). – Um relacionamento entre um caso de uso genérico para um mais específico, que herda todas as características de seu pai. 43 Análise : Diagrama de Caso de uso • Sistema – Limites do sistema: representado por um retângulo envolvendo oscasos de uso que compõem o sistema. – Nome do sistema: Localizado dentro do retângulo. 44 Análise : Diagrama de Caso de uso 45 Análise : Diagrama de Caso de uso 46 47 Exercício • Modelagem de um Sistema Bancário – Considerando a descrição a seguir: • Elaborar um diagrama de caso de uso para a aplicação. 48 Dúvidas ? 49
Compartilhar