Mudanças entre as edições de "Metodologia de Desenvolvimento"
(→Descrever as responsabilidades das classes encontradas) |
(→Encontrar as classes a partir do detalhamento de cada Caso de Uso) |
||
Linha 32: | Linha 32: | ||
Esta etapa do processo visa definir a estrutura lógica e distribuir as funcionalidades expressas nos requisitos entre os diversos elementos lógicos que irão compor o sistema. Para isto, é utilizada uma abordagem que compreende as etapas a seguir: | Esta etapa do processo visa definir a estrutura lógica e distribuir as funcionalidades expressas nos requisitos entre os diversos elementos lógicos que irão compor o sistema. Para isto, é utilizada uma abordagem que compreende as etapas a seguir: | ||
== Encontrar as classes a partir do detalhamento de cada Caso de Uso == | == Encontrar as classes a partir do detalhamento de cada Caso de Uso == | ||
+ | A técnica empregada aqui é a chamada "dissecação gramatical". Nesta técnica, deve-se separar todos os substantivos ou pares substantivos-adjetivos. Siga os passos a seguir para empregar a técnica. | ||
+ | |||
=== Separar os Substantivos === | === Separar os Substantivos === | ||
− | Identifique todos os substantivos, estes serão candidatos a classes | + | Identifique todos os substantivos, estes serão candidatos a classes. |
+ | |||
=== Definir quais serão as classes === | === Definir quais serão as classes === | ||
[[Imagem:questionario_classes.jpg|frame|right|374px|Figura 1: Questões para identificação de classes]] | [[Imagem:questionario_classes.jpg|frame|right|374px|Figura 1: Questões para identificação de classes]] | ||
Linha 50: | Linha 53: | ||
=== Estabelecer as associações entre as classes encontradas === | === Estabelecer as associações entre as classes encontradas === | ||
+ | Tendo descrito as responsabilidades de cada classe, o próximo passo é estabelecer as associações entre elas. Recomenda-se utilizar a ferramenta Jude (ou outra ferramenta UML) para construir um Diagrama de Classes UML. Identifique a semântica de cada relacionamento no diagrama (associação, agregação, composição ou herança). | ||
+ | |||
=== Fazer o diagrama de seqüência entre para cada Especificação de Caso de Uso === | === Fazer o diagrama de seqüência entre para cada Especificação de Caso de Uso === | ||
+ | |||
=== Descrever os Atributos e Operações das Classes === | === Descrever os Atributos e Operações das Classes === | ||
− | |||
= Referências = | = Referências = | ||
# [http://www.ibm.com/developerworks/rational/library/5383.html Getting from use cases to code] | # [http://www.ibm.com/developerworks/rational/library/5383.html Getting from use cases to code] |
Edição das 10h59min de 6 de maio de 2008
Índice
- 1 Processo de Desenvolvimento
- 2 Modelagem do Negócio
- 3 Análise de Requisitos
- 4 Análise do Processo Estruturado
- 4.1 Encontrar as classes a partir do detalhamento de cada Caso de Uso
- 4.1.1 Separar os Substantivos
- 4.1.2 Definir quais serão as classes
- 4.1.3 Descrever as responsabilidades das classes encontradas
- 4.1.4 Estabelecer as associações entre as classes encontradas
- 4.1.5 Fazer o diagrama de seqüência entre para cada Especificação de Caso de Uso
- 4.1.6 Descrever os Atributos e Operações das Classes
- 4.1 Encontrar as classes a partir do detalhamento de cada Caso de Uso
- 5 Referências
Processo de Desenvolvimento
O Processo de desenvolvimento de sistema aqui adotado é uma abordagem visando a produção rápida com a utilização de um conjunto mínimo de ferramentas necessárias sob o nosso ponto de vista. Dessa forma, o processo é constituído basicamente das seguintes etapas:
- Modelagem do Negócio (Entendimento e mapeamento do Negócio)
- Análise de Requisitos (Detalhamento das Necessidades)
- Análise do Processo Estruturado (Projeto do Sistema)
Muitas disciplinas (como gerenciamento de riscos, testes, entre outras) não serão aqui abordadas de forma explicita nesta primeira etapa. O que não significa que não devem ser utilizadas ao se seguir este processo.
Modelagem do Negócio
Esta etapa do processo visa o entendimento do Negócio, através da documentação de como ele funciona, o que realiza e quem são os envolvidos. Para isto, é preciso trabalhar para redigir os documentos a seguir da maneira mais precisa possível, com a participação de todos os envolvidos no projeto:
Documento de Visão do Sistema
O propósito deste documento é coletar, analisar e definir as necessidades de alto-nível e características do sistema, focando nas potencialidades requeridas pelos afetados e usuários-alvo. A Visão do Sistema documenta o ambiente geral de processos desenvolvidos para o sistema, fornecendo a todos os envolvidos uma descrição compreensível deste e suas macro-funcionalidades.
Relação de Casos de Uso
O propósito deste documento é explicitar e definir em alto-nível como os envolvidos interagem com o sistema. A Relação de Casos de Uso explicita o macro funcionamento de todas interações previstas entre os atores e sistema(s).
Glossário
O propósito deste documento é manter uma relação dos termos empregados durante o projeto como referência comun para todos os envolvidos.
Análise de Requisitos
Esta etapa do processo visa o detalhamento das necessidades identificadas. Aqui deve-se realizar a especifiação de cada Caso de Uso identificado na Modelagem do Negócio, o que é comumente chamado de "Realização de um Caso de Uso". Além disso, com após a especificação dos casos de uso, é necessária a atualização do glossário.
Especificação dos Casos de Uso
O prpósito deste documento é detalhar um Caso de Uso.
Glossário
Análise do Processo Estruturado
Esta etapa do processo visa definir a estrutura lógica e distribuir as funcionalidades expressas nos requisitos entre os diversos elementos lógicos que irão compor o sistema. Para isto, é utilizada uma abordagem que compreende as etapas a seguir:
Encontrar as classes a partir do detalhamento de cada Caso de Uso
A técnica empregada aqui é a chamada "dissecação gramatical". Nesta técnica, deve-se separar todos os substantivos ou pares substantivos-adjetivos. Siga os passos a seguir para empregar a técnica.
Separar os Substantivos
Identifique todos os substantivos, estes serão candidatos a classes.
Definir quais serão as classes
Realize o questionário mostrado na Figura 1 a seguir para auxiliá-lo na decisão de quais substantivos devem ser classes. Se a resposta é "não", isto significa que muito provavelmente o candidato em questão não é uma classe. Prossiga para o próximo candidato. Se a resposta é "sim", continue realizando as questões. Se todas as respostas forem sim, considere o candidato como uma classe.
- Este candidato está dentro do sistema? Caso não esteja, ele provavelmente é um ator.
- Este candidato possui comportamento identificável para o domínio do problema? Por exemplo, é possível dizer os serviços/funções que este candidato possui e oferece?
- Este candidato possui estrutura identificável? Por exemplo, é possível dizer que dados ele possui e manipula?
- Este candidato possui relacionamento com quaisquer outros candidatos?
Para auxiliá-lo neste trabalho, preencha o Documento de Questionamento de Classes.
Descrever as responsabilidades das classes encontradas
Após identificar as classes, descreva a responsabilidade de cada uma delas, utilizando o Documento de Responsabilidade das Classes. A responsabilidade de uma classe descreve os serviços que esta classe provê no sistema e, nenhuma outra classe provê. Responsabilidades em classes diferentes não devem se sobrepor.
Estabelecer as associações entre as classes encontradas
Tendo descrito as responsabilidades de cada classe, o próximo passo é estabelecer as associações entre elas. Recomenda-se utilizar a ferramenta Jude (ou outra ferramenta UML) para construir um Diagrama de Classes UML. Identifique a semântica de cada relacionamento no diagrama (associação, agregação, composição ou herança).