• Nenhum resultado encontrado

1-AnálisedeDomínio

N/A
N/A
Protected

Academic year: 2021

Share "1-AnálisedeDomínio"

Copied!
39
0
0

Texto

(1)
(2)

 A análise do domínio é um processo que faz

parte do âmbito da engenharia de domínio, mas que pode ser utilizada de forma

(3)

 A engenharia de domínio abrange as

seguintes áreas:

 Definição do âmbito (definição do domínio) e

Análise de viabilidade

 Análise do domínio

 Desenvolvimento da arquitetura do domínio  Construção dos componentes (requisitos,

(4)

 As duas últimas estão inseridas no projeto do

domínio.

 Esta tem como objetivo a reutilização de

(5)
(6)

 Consiste em levantar as estimativas de custo, de

projetar a família de aplicações e o retorno previsto ao longo do tempo.

 Nesta atividade são realizados 4 passos

(7)

1. Estudar o mercado da aplicação em questão,

levando em conta potenciais clientes e concorrentes;

2. Caso o estudo do passo 1 mostre que há

potencial econômico, fazer um estudo do domínio, para se identificar comonalidades (pontos comuns) e variabilidades (pontos variáveis) de forma superficial;

(8)

3. Baseado nas informações do passo 2, fazer

uma análise do custo das atividades de reengenharia, engenharia de domínio e engenharia de componentes;e

4. Por fim, analisar o tempo de retorno de

investimento estimado e com base nesse tempo, dar o parecer de viabilidade.

(9)

 Esta atividade consiste em entender os

conceitos gerais do domínio e deixá-los

registrados através de artefatos próprios que serão gerados.

 Nesta atividade são realizados 9 passos

(10)

1. Para cada caso de uso identificar nomes

próprios (substantivos) centrais na

descrição do caso;

2. Elaborar uma lista de todos os nomes

próprios extraídos dos casos de uso;

3. Verificar a existência de sinônimos

(pessoa, usuário, colaborador). Acrescentar

ao glossário do domínio, associando um

sinônimo como termo principal e os outros

como termos secundários, além de produzir

uma pequena definição;

(11)

4. Verificar a existência de significados

aninhados (uma generalização ou

especialização), ex.: unidade de negócios,

gerência. Acrescentar ao modelo de features (como feature e sub-feature);

5. Acrescentar todos os nomes próprios

identificados ao glossário do domínio associando cada um a uma explicação;

6. Cada nome próprio vai corresponder a uma

(12)

7. Estender o modelo de features se necessários

através de brainstorm(idéias brilhantes) com

stakeholders para torná-lo mais genérico;

8. A partir do modelo de features e do relatório da

análise de viabilidade definir o modelo de classes do domínio com o objetivo de retratar apenas os

conceitos do domínio. A regra geral é mapear

features como classes, exceto features alternativas

que podem ser mapeadas como atributos ou classes de associações, esta questão poderá ser tratada

mais apropriadamente na atividade de Projeto do Domínio;e

9. Caso seja percebido alguma restrição ou

comportamento do domínio que possa ser modelado usando outro artefato como diagrama de seqüência ou de estados, recomenda-se gerar o artefato.

(13)

 Nessa atividade, o engenheiro de domínio

confronta os artefatos gerados pela Análise do Domínio e Reengenharia, buscando obter as especificações das classes, sem se preocupar ainda com os detalhes de implementação. O objetivo é desenvolver uma arquitetura

genérica para a família de sistemas do domínio e sua reutilização posterior.

 Nesta atividade são realizados os seguintes

(14)

1. Refinar o modelo de classes do domínio com base

nos conceitos do domínio adquiridos na elaboração do glossário, Relatório da Análise de Viabilidade, modelo de features e outros diagramas de

modelagem;

2. Definir o tratamento de cada feature alternativa e

opcional que não tenha sido feito na atividade

anterior em termos de como ele será mapeada ou mesmo se será excluída, registrando a decisão e os motivos;

3. Continuar refinando o modelo de classes até que ele

se torne realmente um modelo de projeto, isto é, contenha todos os atributos, operações e métodos identificados. É preciso levar em consideração que o escopo de genericidade do domínio deve ser

definido pelas diretrizes de viabilidades levantadas anteriormente;

(15)

4. Refinar ou criar outros modelos que sejam

interessantes para registrar características importantes do domínio; e

5. Tomando por base os modelos gerados até

este ponto, os requisitos e o conhecimento em geral do domínio projetar a arquitetura para a família de aplicações.

(16)

 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 quando da criação de novos sistemas.

 Trata-se da reutilização de conceitos a um

nível de abstração muito elevado, ou seja, existem soluções generalistas para a

resolução de um dado problema, que podem ser aplicadas em contextos similares.

(17)

 A identificação dos domínios não se restringe

às áreas técnicas e tecnológicas. Elementos socio-económicos, organizacionais,

administrativos, etc. têm influência para

determinar o âmbito do problema, pelo que é imperativo a sua investigação e análise.

(18)

 Quando falamos de desenvolvimento para

reuso devemos pensar no domínio para que se possa fazer componentes que sejam

realmente reutilizáveis. Para se fazer

componentes podemos pensar em dois tipos de domínios:

(19)

 O próprio domínio ao qual a aplicação

pertence.

 Considerado especializado, só para aquela

área.

 Refere-se aos segmentos de mercado, como

saúde, serviços financeiros,

(20)

 Considerado mais genérico, pode ser

utilizado por várias aplicações de domínio vertical.

 Refere-se a serviços comuns a diversas áreas,

como por exemplo interface de usuário,

gerenciamento de sistemas, gerenciamento de tarefas.

(21)

OBS.

 Desenvolvimento da aplicação  integração

vertical

 Desenvolvimento dos contextos de domínio e

de aplicações envolvidas  integração horizontal.

(22)
(23)

 Existem diversos métodos de análise de

domínio, sendo estes aplicados em vários níveis conceituais mas, é pressuposto que qualquer um deles possa ser definido pelos seguintes elementos:

Uma ontologia de domínio, assim como a

taxionomia desta ontologia, aparecendo estas no modelo de domínio.

 Um processo a ser seguido para a construção

(24)

 O modelo do domínio representa a

compreensão e informação adquirida acerca do domínio. O processo de obtenção deste modelo segue os seguintes passos:

 Caracterização do domínio e planeamento do

projeto: fase de análise e planeamento.

 Levantamento de dados. As fontes de

levantamento de informação são diversas e podem abranger a análise de documentação, consulta a especialistas, etc.

(25)

 Análise de dados. O propósito desta fase é

construir descrições de componentes

reutilizáveis, identificando similaridades e diferenças entre eles.

 Classificação. A informação modelada no passo

anterior é refinada, agrupada e hierarquizada.

Avaliação do modelo de domínio. Esta atividade

visa avaliar o modelo obtido, sendo aqui efetuadas as correções necessárias.

(26)

 Os métodos de análise de domínio dependem

e são aplicados conforme o tipo de objeto a ser reutilizado e o âmbito do problema a ser resolvido. Sendo assim, a classificação dos métodos está dependente do tipo de

(27)

 Produtos de software.  Componente  Processos de software.  Processo

 Tecnologia de software.  Componente

(28)

 O domínio pode tornar-se mais complexo e difícil de ser avaliado ou transcrito, consoante a área em que um determinado projeto esteja inserido.

 Atualmente, podem ser encontrados produtos de software com os mais diversos fins. Ao mesmo

tempo o nível de exigência em relação à qualidade da prestação dos serviços destes, é cada vez

maior pelo que, para se alcançar estes propósitos, é necessário ter a noção de todos os fatores que possam ter impacto no produto pretendido. No entanto, quanto maior o número fatores, mais

complexo o processo se torna, e maior é o número de situações que devem ser tidas em conta.

(29)

 As observações efetuadas na análise permitem

um levantamento elucidativo de características, cuja transcrição para o papel pode ser difícil e complexa.

 No dia a dia confrontamo-nos com processos

porventura simples, mas cujo “modus operandis” é difícil de demonstrar e de transcrever através de uma linguagem simples e elucidativa.

Recorrendo a esquemas, diagramas e a uma linguagem eventualmente mais técnica deverá procurar-se encontrar um meio de tornar

evidente, a quem está a tomar contato com os artefatos resultantes da análise do domínio, de quais são as características que o compõem, qual o âmbito em que este se insere, que problemas lhe estão inerentes e que soluções existem.

(30)

As dificuldades surgem também quando

estamos a efetuar uma análise num

domínio instável, em que as soluções

existentes são ambíguas e pouco claras. Tal

acontece quando existem poucas fontes de

informação disponíveis, ou então, quando

estas não são adequadas para um

levantamento de informação credível. Tal

acontece, essencialmente quando um foco

de um projeto está na implementação de

produtos inovadores, em que não existem

disponíveis referências que permitam

definir um domínio contextualizante e com

elementos reutilizáveis.

(31)

 Em relação ao projeto:

 O simples reuso tende a minimizar os riscos,

porque menos partes do produto necessitam serem codificadas e a qualidade dos

componentes reusáveis é geralmente alta.  Em relaçao à organizaçao:

Um conjunto grande de riscos existe sobretudo

devido à dificuldade em se prever quais e como os componentes serão reusados.

(32)

 Nenhum componente reusável é produzido.

 Componentes existem mas não são encontrados.

 Muito tempo para entender e avaliar o componente

(falhas na documentação).

Componentes não são reusados devido a sua baixa

qualidade.

 Componentes não são reusados porque não atendem

a requisitos funcionais.

Componentes não são reusados porque não atendem

a requisitos técnicos.

 Empresa pode não estar preparada para o reuso, ou

(33)

Impossibilidade de definir se reuso está

caminhando na direção certa, ou se está

sendo viável.

Novos processos e aplicação de técnicas

avançadas (complexas).

Superestimar os ganhos de tempo.

Desperdício de esforço: a criação de um

componente reusável custa cerca de 2 a 3

vezes mais que um componente não

reusável.

Esforço mal direcionado (desenvolvimento

(34)

 Evolução da tecnologia.

 Não limitar o reuso a simplesmente reuso de

código. O código representa menos de 25% do custo de desenvolvimento do produto.

 Aquisição externa: avaliar qualidade, histórico,

contrato legal, aspectos de segurança.

Arquitetura genérica dos componentes reusáveis

pode prejudicar desempenho em sistemas críticos.

 Dependência de linguagens de programação.  Dependência de empresas externas.

(35)

Concentrar no reuso de componentes de

um domínio específico.

Focar o esforço na criação de pequenos

componentes mais especializados.

Focar em encapsulamento e abstração da

informação.

Prover uma boa documentação sobre o

componente.

Desenvolver componentes livres de falhas.

Focar na qualidade dos componentes (e

(36)

O reuso depende da natureza do negócio da

empresa, do tamanho de sua equipe e de seus recursos financeiros.

Detalhes técnicos influenciam o grau de

reuso alcançado pela organização.

Acompanhar a evolução de tecnologias emergentes.

(37)

Comprometimento total tanto dos gerentes

quanto dos desenvolvedores, divulgação constante do programa de reuso e

manutenção da equipe são fatores de sucesso.

Fatores políticos podem minar a eficácia do

programa de reuso e devem ser reprimidos pela alta gerência.

Riscos existem, mas bem gerenciados

trazem maiores benefícios que outras

(38)

O reuso é global, pode ser aplicado por

qualquer organização para qualquer projeto de software.

Reuso é uma estratégia de médio-longo

(39)

Referências

Documentos relacionados

No Estado do Pará as seguintes potencialidades são observadas a partir do processo de descentralização da gestão florestal: i desenvolvimento da política florestal estadual; ii

No primeiro, destacam-se as percepções que as cuidadoras possuem sobre o hospital psiquiátrico e os cuidados com seus familiares durante o internamento; no segundo, evidencia-se

Para tal objectivo utiliza-se neste trabalho um Filtro de Kalman Extendido que permite fUndir a informação proveniente da hodometria com a informação proveniente dos marcadores

Nesse contexto, o presente trabalho tem como objetivo realizar testes de tração mecânica e de trilhamento elétrico nos dois polímeros mais utilizados na impressão

confecção do projeto geométrico das vias confecção de projeto de drenagem, dimensionamento e detalhamento de 20 lagos de retenção, projeto de pavimentação e

Por meio destes jogos, o professor ainda pode diagnosticar melhor suas fragilidades (ou potencialidades). E, ainda, o próprio aluno pode aumentar a sua percepção quanto

Por não se tratar de um genérico interesse público (lato sensu), compreendido como respeito ao ordenamento jurídico, mas sim de um interesse determinado, especial e titularizado

A atribuição de incentivos financeiros à equipa multiprofissional depende da concretização dos critérios para atribuição das unidades contratualizadas (UC) referentes às