para aplicar práticas
comprovadas do ciclo de vida de desenvolvimento do software.
- Reunião de requisitos e modelagem de caso 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.
As equipes 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 os fluxos de trabalho do usuário.
- Análise de domínio
Analistas e arquitetos descrevem
o domínio do sistema através da definição de 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 do design
para a execução, utilizando transformações automatizadas para converter o modelo em código
(Java, EJBs (Enterprise JavaBeans), C++ ou IDL CORBA) e continuando a desenvolver e implementar o aplicativo, utilizando recursos de
desenvolvimento, depuração, teste e implementação de software e na 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.