para aplicar práticas comprovadas
do ciclo de desenvolvimento de software.
- Reunião de
requisitos e modelagem de casos de uso
Os requisitos podem ser provenientes de várias
origens, mas os analistas e arquitetos do sistema devem consolidá-los
em documentação de requisitos e gerenciá-los.
A partir dos requisitos, sua equipe pode extrair casos de uso do sistema e comportamento
de alto nível do sistema.
Os sites que utilizam o Rational RequisitePro podem
utilizar a perspectiva Gerenciamento de Requisitos para mapear as definições de requisitos
existentes para elementos do modelo UML existentes, como casos de uso. Você
também pode criar requisitos a partir de elementos do modelo existentes ou criar
elementos do modelo a partir de definições de requisitos existentes.
O
arquiteto de software cria um modelo de caso de uso para definir os casos de uso,
o comportamento e os atores no sistema e também para especificar
workflows do usuário.
- Análise de domínio
Os analistas e arquitetos de negócios descrevem
o domínio do sistema, definindo um modelo funcional de alto nível do
sistema. A fase de análise identifica os dados que serão armazenados
no sistema e como eles serão processados.
O arquiteto
cria um modelo de análise para descrever uma visualização lógica dos requisitos
funcionais. Esse modelo define objetos de alto nível no sistema
e suas interações.
- Design arquitetural detalhado
O arquiteto, em conjunto
com a equipe de desenvolvimento de software, projeta a arquitetura do sistema
em um nível detalhado.
Durante o design detalhado, a equipe de
desenvolvimento assume o modelo de alto nível que foi criado durante as atividades
de análise e cria o modelo de design. Os desenvolvedores incluem detalhes
no modelo para descrever a execução do sistema, como construções e
tecnologias de programação que são utilizadas para persistência,
segurança, log e implementação.
O modelo de design pode ser
refinado ainda mais, aplicando padrões comprovados de design e transformações
automatizadas de modelo a modelo.
- Execução
A equipe de desenvolvimento utiliza o design
aprovado para executar o aplicativo.
Os desenvolvedores fazem a transição
de design para execução, utilizando transformações automatizadas
para converter o modelo em código (como Java,
EJB ou C++) e continuando a desenvolver e implementar o aplicativo
utilizando recursos de desenvolvimento, depuração, teste e implementação
de software e Web.
Os desenvolvedores de aplicativos Java podem aproveitar as
vantagens dos recursos adicionais de análise e controle da estrutura para assegurar que
o código esteja em conformidade com as regras estruturais predefinidas e definidas pelo usuário.
Além disso, os desenvolvedores podem procurar código Java para padrões estruturais
conhecidos, utilizando um recurso de exploração automatizada de padrões denominado
Descoberta Arquitetural.