Análise do Domínio Cléo Neto Roberta Malafaia Agenda • Análise do Domínio • Engenharia do Domínio • Métodos de análise de domínio • Dificuldades da Análise de Domínio • Aspectos Fundamentais em Projetos • Domínio do Problema • Escopo • Regras de Negócio • Domínio da Solução © 2008 Citrix Systems, Inc. — All rights reserved 2 Análise do Domínio • Domínio, no contexto da engenharia de software, pode ser utilizado para agrupar conjuntos de sistemas ou de áreas funcionais, entre os quais haja similaridade de funcionalidades. • Já a Análise do Domínio, pode ser definida como o processo pelo qual a informação usada para o desenvolvimento de software é identificada, capturada e organizada para que seja reutilizável em novos projetos de criação de sistemas. • Ela é a reutilização de conceitos em nível de abstração bem elevado, que podem ser aplicados em contextos similares. © 2008 Citrix Systems, Inc. — All rights reserved 3 Engenharia do Domínio • A Engenharia do Domíno abrange as seguintes áreas: • • • • Definição do âmbito (definição do domínio) Análise do domínio Desenvolvimento da arquitectura do domínio Construção dos componentes (requisitos, designs, código, documentação) • Esta tem como objetivo a reutilização em um nível mais amplo, pois visa proporcionar uma solução cujas funcionalidades possam ser reutilizadas em múltiplos sistemas. © 2008 Citrix Systems, Inc. — All rights reserved 4 Métodos de análise de domínio • Os métodos de análise de domínio variam de acordo com o tipo de objeto a ser reutilizado, e com o âmbito do problema a ser resolvido. Neste caso, classificação do método depende do tipo de elemento a se reutilizar: • • • • Produtos de software Processos de software Tecnologia de software Experiência de software © 2008 Citrix Systems, Inc. — All rights reserved 5 Alguns métodos de análise de domínio... MÉTODOS DE ANÁLISE OBJETIVO DEFINIÇÃO CLASSE McCain Diminuir custos de adaptação Determinar características que optimizem o domínio Produtos (código) FODA Construir elementos reutilizáveis Processo de identificar, organizar e representar informação relevante acerca do domínio Produtos (arquitectura) Construir elementos reutilizáveis Processo em que é definida uma arquitectura e código reutilizáveis Produtos (requisitos) Construir bibliotecas com elementos reutilizáveis Identificar padrões que se repetem no decorrer Experiência de projectos de desenvolvimento Feature-Oriented Domain Analysis JODA JIAWG ObjectOriented Domain Analysis Henninger © 2008 Citrix Systems, Inc. — All rights reserved 6 Dificuldades da análise de domínio • Poucas fontes de informações • Projetos de implementações inovadoras • Ineficiência no levantamento de requisitos • “Modus operandis” das organizações cada vez mais difícil de transcrever em uma linguagem simples e elucidativa • Deficiência na documentação © 2008 Citrix Systems, Inc. — All rights reserved 7 Aspectos Fundamentais •Domínio do Problema •Levantamento de Escopo •Análise de Regras de Negócio •Domínio da Solução © 2008 Citrix Systems, Inc. — All rights reserved 8 Domínio do Problema • Saber todos os eventos e dados essenciais relativos ao assunto • É necessário delimitar o que se espera do sistema a ser desenvolvido. Trata-se de estabelecer seus limites, ou seja, definir um escopo • Após definido o escopo, deverá ser feito um amplo levantamento de requisitos. Todos os aspectos envolvidos no problema devem ser levantados, pessoas devem ser entrevistadas, documentos devem ser avaliados e o fluxo de trabalho deve ser entendido. Ou seja, todos os eventos e dados essenciais relativos ao assunto precisam ser conhecidos. • Ou seja, o domínio do problema segue a seguinte sequência: 1) Definir o problema 2) Recolher dados e descrever o problema 3) Identificar soluções alternativas 4) Avaliar as diferentes alternativas 5) Selecionar a melhor alternativa 6) Acompanhar o resultado e avaliar se a solução resolveu o problema © 2008 Citrix Systems, Inc. — All rights reserved 9 Levantamento de Escopo • Estabelecer os limites do sistema a ser desenvolvido. É o planejamento e levantamento de requisitos. • O Escopo é a maneira como nós descrevemos os limites do projeto. Ele define aquilo que o projeto irá entregar e o que não irá entregar. Em projetos grandes, poderão ser incluídos as organizações, as transações afetadas, e os tipos de dados incluídos, etc. © 2008 Citrix Systems, Inc. — All rights reserved 10 Análise de Regras de Negócio • As regras de negócio irão definir como o negócio funciona, ou seja, suas políticas, interesses, objetivos, compromissos, obrigações contratuais, decisões estratégicas, regulamentações e etc. • Em relação a ánalise, são todas as regras existentes, que ditarão o comportamento do sistema, suas restrições e validações. Definem como devem ser relacionadas as informações entre si. Podem incluir procedimentos automáticos, programados internamente para verificação e validação dos dados de acordo com a necessidade do usuário. • Também podem ser cirados procedimentos armazenados ou internos que definem o que deve ocorrer quando se insere ou edita-se informação dentro de uma tabela interna. © 2008 Citrix Systems, Inc. — All rights reserved 11 Domínio da Solução • O domínio da solução está diretamente ligado ao domínio do negócio e o domínio do problema. • Trata-se do conhecimento do modelo abstrato da solução, ou seja, é ter conhecimento total de todas as etapas envolvidas. Deve-se saber o que a solução do projeto virá a fornecer, qual o propósito do mesmo e a razão pela qual se vai demandar tempo, dinheiro e recursos para seu desenvolvimento. • O domínio da solução fornece informações sobre um possível caminho para solucionar um problema já identificado. Este domínio explica qual o propósito do projeto e a solução que o mesmo virá a fornecer. • Para isto é necessário: conversar com os utilizadores e stakeholders e saber quais são as suas necessidades. Isso dará uma idéia mais concreta de como o projeto deverá ser elaborado. Juntamente com este quesito, deve-se fazer um levantamento de domínio em que se insere a solução, através da análise de domínio. • E também é necessário criar uma lista de características, sendo que, cada característica identifica uma área do software que precisa ter como função, fornecer um conjunto de serviços que venham a prover a solução para um dos requisitos. © 2008 Citrix Systems, Inc. — All rights reserved 12 Mapa Mental ANÁLISE DO DOMÍNIO Engenharia do Domínio Métodos de Análise do Domínio Dificuldades da Análise do Domínio Aspectos Fundamentais em Projetos Domínio do Problema / Negócio Escopo Regras de Negócio Domínio da Solução © 2008 Citrix Systems, Inc. — All rights reserved 13 Perguntas? © 2008 Citrix Systems, Inc. — All rights reserved 14 Referências • Livro: Análise Essencial (Pompilho) • Wikipédia • An evaluation of domains analysis methods (X. Ferré, S. Vegas) • A Brief Introduction to Domain Analysis (Arango G.) © 2008 Citrix Systems, Inc. — All rights reserved 15 Análise do Domínio Cléo Neto Roberta Malafaia