Modelagem de Sistemas
RUP RATIONAL UNIFIED PROCESS
O RUP (Rational Unified Process) um processo de engenharia de software desenvolvido inicialmente pela empresa Rational Utiliza a UML (Unified Modeling Language) Utiliza desenvolvimento Iterativo e Incremental Tem por objetivo oferecer um processo de desenvolvimento bem definido e bem gerenciado Conduzido por casos de uso - A identificao de casos de uso e cenrios tpicos de utilizao a atividade que conduz todo o processo de desenvolvimento, desde a anlise de requisitos at o teste final do sistema Centrado numa arquitetura - Promove a definio inicial de uma arquitetura de software robusta, que facilita a distribuio do desenvolvimento, a reutilizao e a manuteno
www.wthreex.com/rup
Pode ser visualizado em duas dimenses: 1. Horizontal (Disciplinas - Fluxos de Trabalho) 2. Vertical (Fases do Processo)
Iniciao (Inception)
Definio do escopo do projeto, identificao dos atores, casos de uso e descrio dos casos mais significativos
Elaborao (Elaboration)
Anlise do sistema, definio da arquitetura do software
Construo (Construction)
Desenvolvimento iterativo e incremental do produto
Transio (Transition)
Atividades de entrega do software
CADA FASE PODE SER DECOMPOSTA EM ITERAES
3. Ambiente (Environment)
6 PRTICAS
1. Desenvolvimento de Software Iterativo e Incremental 2. Gerenciamento de Requisitos 3. Arquitetura Baseada em Componentes 4. Modelo de Software Visual (UML) 5. Verificao Contnua da Qualidade do Software 6. Gerenciamento e Controle de Mudanas
10 Aspectos Essenciais Desenvolver uma Viso Gerenciar o Plano Identificar e Mitigar Riscos Associar e Trilhar Problemas Examinar o Caso Empresarial Projetar uma Arquitetura de Componentes Construir e Testar o Produto Incrementalmente Verificar e Avaliar Resultados Gerenciar e Controlar Mudanas Prover Suporte ao Usurio
Os Casos de Uso constituem a base do processo de desenvolvimento. Eles orientam o desenvolvimento em:
Na anlise de requisitos os casos de uso so usados para capturar os requisitos No projeto devem ser identificadas as classes a partir dos casos de uso Na implementao os casos de uso so implementados Nos teste os casos de uso devem ser verificados. Os casos de uso tornam-se casos de teste
Por exemplo, um cliente pode configurar um sistema com uma mistura especfica de casos de uso
Ao fim desta fase os objetivos do projeto sero examinados e decises devero ser tomadas
Marco - Objetivos do Ciclo de Vida Analisa os objetivos do ciclo de vida do projeto e decidir prosseguir com o projeto ou cancel-lo
Critrios de Avaliao Existe consentimento dos envolvidos sobre a definio do escopo e as estimativas de custo/programao? Existe consenso de que o conjunto correto de requisitos foi capturado e de que existe uma compreenso compartilhada desses requisitos? Existe consenso de que as estimativas de custo/programao, as prioridades, os riscos e o processo de desenvolvimento so adequados? Todos os riscos foram identificados e existe uma estratgia atenuante para cada um? O projeto poder ser anulado ou completamente repensado caso ele no atinja este marco
Analisar o domnio do problema em detalhes Definir a arquitetura Detalhar o plano de projeto Eliminar os riscos elevados
Resultados:
requisitos funcionais (atravs de casos de uso) requisitos no funcionais do sistema descrio da arquitetura resoluo dos principais riscos deciso para proceder com a construo
Marco - Arquitetura do Ciclo de Vida Examinar os objetivos e o escopo detalhados do sistema, a opo de arquitetura e a resoluo dos principais riscos
Critrios de Avaliao A Viso e os requisitos do produto so estveis? A arquitetura estvel? As abordagens principais a serem usadas no teste e na avaliao foram comprovadas? O teste e a avaliao de prottipos executveis demonstraram que os principais elementos de risco foram tratados e resolvidos com credibilidade? Os planos de iterao para a fase de construo tm detalhes e fidelidade suficientes para permitir o avano do trabalho? Os planos de iterao para a fase de construo so garantidos por estimativas confiveis? Todos concordam que a viso atual poder ser atendida se o plano for executado para desenvolver o sistema, no contexto da arquitetura atual? A despesa real em oposio despesa planejada aceitvel?
Desenvolvimento detalhado do projeto Implementao Integrao dos componentes Testes exaustivos prestada ateno ao controle de custos, prazos e qualidade do produto
Marco da Capacidade Operacional Inicial O produto dever estar pronto para ser passado para a Equipe de Transio. Toda a funcionalidade j foi desenvolvida e todos os testes alfa (se houver algum) foram concludos. Alm do software, um manual do usurio foi desenvolvido, e existe uma descrio do release atual. Critrios de Avaliao Este release do produto estvel e desenvolvido o suficiente para ser implantado na comunidade de usurios? Todos os envolvidos esto prontos para a transio para a comunidade de usurios? As despesas reais com recursos ainda so aceitveis se comparadas com as planejadas? Talvez a transio tenha de ser adiada por um release se o projeto no atingir esse marco
O software (verso beta) entregue aos utilizadores Substitudo posteriormente pelo sistema de produo
Neste marco, o produto est em produo e o ciclo de manuteno posterior ao release inicia. Isso pode envolver o incio de um novo ciclo ou de algum release de manuteno adicional.
CONCEITOS BSICOS
CONCEITOS BSICOS
Intervenientes ou Papis - Quem? - perfis que correspondem a competncias para a realizao de atividades Atividades - Como? - tarefas que podem ser entregues a papis individuais Artefatos - O Que? - entradas e sadas de atividades Fluxo de Trabalho - Quando? - agrupam atividades relacionadas genericamente ou especializadas por fases Fases - Cada ciclo resulta numa nova gerao do produto e divide-se em fases. Cada fase divide-se em iteraes a definir em cada projeto concreto Modelos - Agrupam artefatos desenvolvidos num Fluxo de trabalho
MODELOS E WORKFLOWS
Anlise e Projeto
Implemen tao
Teste
Modelo de Projeto
Modelo de Testes
ARTEFATOS
Cada projeto deve identificar os artefatos que se enquadram num projeto especfico. Um conjunto mnimo de artefatos obrigatrio e deve ficar prestabelecido
ARTEFATOS (Requisitos)
Documento de Requisitos Informaes levantadas junto aos clientes, necessrias para o desenvolvimento do projeto, implementao, testes e homologao Diagrama de Casos de Uso Mostra os relacionamentos entre os atores externos (pessoa, software ou hardware) e os casos de uso. Permite visualizar todas as funcionalidades do sistema sem importar como ser implementada Especificao de Casos de Uso Este documento especifica textualmente os casos de uso do sistema descrevendo os fluxos de eventos, as entradas e sadas de cada funcionalidade a ser implementada
Projeto Navegacional Diagrama Simbologia padronizada Permite visualizar a navegabilidade do sistema HTML Criado a partir do diagrama navegacional Prottipo do sistema Diagrama de Classes Mostra todas as classes utilizados no sistema e os relacionamentos entre elas Modelo de Dados
Como os objetos sero mantidos no banco de dados Mostra todas as tabelas e os relacionamentos entre elas Especifica cada atributo das tabelas do modelo de dados
Dicionrio de Dados
ARTEFATOS (Implementao)
Cdigo fonte
Java Enterprise JavaBeans
Objetos Distribuidos
ARTEFATOS (Teste) Plano de Teste - Sumrio de Avaliao de Testes Scripts de Teste - Logs de Teste Lista de Idias de Teste - Caso de Teste Modelo de Anlise de Carga de Trabalho Dados de Teste - Resultados do Teste Arquitetura para Automatizao de Testes Especificao da Interface de Teste Configurao do Ambiente de Teste Conjunto de Testes - Guia de Teste Classe de Teste - Componente de Teste
Plano do Projeto
Levantamento inicial de requisitos e escopo do projeto Padres e Tcnicas adotadas Planejamento de atividades de reviso, validao e verificao do projeto
Plano de Riscos
Gerncia de riscos potenciais para o projeto Apresenta os riscos conhecidos e previsveis que podem ocasionar algum tipo de impacto no projeto Aes a serem tomadas caso o risco venha a ser real.
PAPIS (Trabalhadores)
Administrador de Sistema Analista de Sistema Gerente de Projeto Projetista de Banco de Dados Gerente de Configurao Projetista Revisor de Cdigo Revisor de Requisitos Projetista de Teste Especificador de Caso de Uso Implementador Revisor de Modelo Empresarial
ELEMENTOS ADICIONAIS
Diretrizes So regras, recomendaes ou metodologias que suportam atividades e etapas - Diretrizes de Trabalho - Diretrizes de Artefato Gabaritos So modelos ou prottipos de artefatos. Pode ser personalizado pela empresa Mentores de Ferramentas So meios orientao, mostrando como desempenhar uma ferramenta de Software especfica adicionais as etapas de fornecer empregando
ANLISE DE REQUISITOS Anlise de requisitos resulta num modelo de casos de uso Use o modelo de casos de uso como parte do contrato com o cliente Envolva o cliente logo no incio do esforo de desenvolvimento Construir o modelo de casos de uso assegura o entendimento dos requisitos funcionais
FLUXO DE REQUISITOS
- Analisar o Problema - Entender as necessidades dos usurios - Definir o Sistema - Administrar o escopo do Sistema - Refinar a definio do Sistema - Administrar Mudanas de Requisitos
Papis___________________ Analista de Sistemas Especificador de Caso de Uso Projetista de Interface do Usurio Revisor de Requisitos Artefatos __________________ Documento de Viso Modelo de Casos de Uso Especificaes de Caso de Uso Glossrio Prottipo da Interface do Usurio
ANLISE DE REQUISITOS
- O modelo de casos de uso consiste de: Atores Casos de Uso - um modelo do que o sistema deve fazer (casos de uso) e daquilo que esta ao seu redor (atores).
PROJETO
Um sistema projetado para: Realizar as tarefas e funes especificadas nas descries de casos de uso Preencher todos os requisitos Ter uma estrutura robusta e reusvel
Modelos de Projeto
Um modelo que mostra abstratamente como o sistema ir realizar os requisitos quando implementado
Gerenciador de Banco de Dados
Janela de Registro
Gravador
possui
Pessoa
Veculo
identifica
O exemplo mostra uma parte do modelo de projeto com classes interconectadas. Pacotes, colaboraes, frameworks, padres e classes ativas concorrentes so outro elementos importantes de um modelo de projeto
IMPLEMENTAO
A implementao realiza o sistema, produzindo os fontes que resultaro no sistema executvel. Os fontes so descritos como um modelo de implementao que consiste de componentes e as suas alocaes em ns computacionais. A implementao inclui os testes de componentes e pacotes individuais
Modelo de Implementao
TESTES
Os Testes verificam todo o sistema Testa cada caso de uso separadamente Testa (certos aspectos do) sistema com um todo com cada caso de uso como entrada Testa que o sistema pode ser entregue
Modelo de Teste