Você está na página 1de 40

30/07/2010

Metodologia para Engenharia de Software


Especializao Lato Sensu

Os Docentes
Jorge Dias
Doutorando (UFPE) UFPB Docente josejorgejr@gmail.com

Tcnicas de Levantamento de Requisitos


Jos Jorge Lima Dias Jnior Nadja da Nbrega Rodrigues

Nadja Rodrigues
Mestre (UFPB) IFPB Docente nadja.dnr@gmail.com

A Disciplina
Objetivo Geral
Apresentar os principais conceitos relacionados s disciplinas de Modelagem de Processos de Negcio e Engenharia de Requisitos, assim como suas tcnicas, ferramentas e processos.

A Disciplina
Objetivos Especficos
Capacitar o aluno a entender o processo de desenvolvimento de software como fator crtico de sucesso. Capacitar o aluno a aplicar tcnicas/ferramentas de modelagem de processo de negcio. Capacitar o aluno a aplicar tcnicas/ferramentas para elicitao, validao, documentao e gerenciamento de requisitos. Capacitar o aluno a aplicar tcnicas/ferramentas para elaborao de casos de uso, prottipos e regras de negcio/validao.
4

30/07/2010

A Disciplina
Carga Horria
32h

A Disciplina
Avaliao
Atividades desenvolvidas ao longo das aulas Projeto

Datas
17/07/2010 31/07/2010 07/08/2010 14/08/2010

A Aula
Processos de Software
Processo de Software RUP Anlise de Negcio Requisitos

Processos de Software

30/07/2010

Alguns Problemas no Desenvolvimento de Software...


1. Qual a importncia dos

Processos de Software
para o Desenvolvimento de Sistemas?

Existem problemas no desenvolvimento de software?

Alguns Problemas no Desenvolvimento de Software...


Alguns projetos so cancelados mesmo antes de comear... O tempo de desenvolvimento e o custo so bem maiores do que o estimado... Os sistemas no funcionam como planejado... A qualidade baixa... A manuteno e a reutilizao so difceis e custosas... Os problemas so proporcionais complexidade dos sistemas...

Engenharia de Software
Disciplina de engenharia relacionada a todos os aspectos de produo de software, desde os estgios iniciais de especificao do sistema at sua manuteno, depois que entrar em operao;

30/07/2010

Engenharia de Software
Relacionada no s com os processos tcnicos de desenvolvimento de software, mas tambm com atividades como o gerenciamento de projeto de software e o desenvolvimento de ferramentas, mtodos e teorias que apiem a produo de software; Recomenda a aplicao de ferramentas e tcnicas/mtodos apropriados dependendo do problema a ser solucionado, das restries de desenvolvimento e dos recursos disponveis.

Mtodos, Ferramentas e Procedimentos da Engenharia de Software


Mtodos de Engenharia de Software
Detalhes de como fazer para construir um software;

Ferramentas de Engenharia de Software


Criadas para apoiar de forma automatizada os mtodos; Ex.: ferramentas CASE;

Procedimentos da Engenharia de Software


Elo entre mtodos e ferramentas; Definem, por exemplo, a seqncia em que os mtodos sero aplicados e os produtos a serem entregues;

Algumas Atividades da Engenharia de Software


Modelagem de Negcio Anlise de Requisitos Anlise e Projeto Implementao Testes Implantao/Distribuio Gerenciamento e Projetos Gerncia de Configurao e Mudanas Manuteno

Alguns Objetivos da Engenharia de Software


Controle sobre o desenvolvimento de software dentro de custos, prazos e nveis de qualidade desejados; Sistematizao da produo, manuteno e evoluo dos produtos; Qualidade versus Produtividade
Aprimoramento da qualidade de software... Aumento da produtividade...

30/07/2010

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software

A utilizao de um processo de software tm sido apontada como um fator primordial para o sucesso de empresas de desenvolvimento de software. O termo ciclo de vida evoluiu para processo.

O que um processo de software?

Um processo de software pode ser entendido como um conjunto estruturado de atividades exigidas para desenvolver um produto de software.

17

18

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software


Conjunto de atividades e resultados associados que produz um produto de software;

Requisitos do processo

Requisitos do projeto e do produto

So atividades comuns aos processos de software:


Engenharia de Gerncia de Engenharia de processos Processo de projetos Planejamento software
desenvolvimento e Gerenciamento Artefatos e Produto de Software

Processo de desenvolvimento

Especificao de software: definio do software a ser produzido; Desenvolvimento de software: o software projetado e programado; Validao de software: o software verificado para garantir que o que o cliente deseja; Evoluo de software: adaptao do software s mudanas de requisitos.

30/07/2010

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software


Algumas razes para a definio e utilizao de um processo:
Reduo dos problemas relacionados a treinamento, revises e suporte ferramentas; As experincias adquiridas nos projetos so incorporadas ao processo padro e contribuem para melhorias em todos os processos definidos; Economia de tempo e esforo na definio de novos processos adequados a projetos.

Enfim,o processo de desenvolvimento de software define quem faz o qu, quando e como para atingir um certo objetivo.

21

22

O RUP
Rational Unified Process

Introduo ao RUP

Engenharia de Software
Processo? Framework para gerar processos?

23

24

30/07/2010

O RUP
Segue as boas prticas da Engenharia de Software
Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificao Contnua da Qualidade Gerenciamento de Mudanas
26

O RUP

O RUP
Segue as boas prticas da Engenharia de Software
Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificao Contnua da Qualidade Gerenciamento de Mudanas
27

O RUP - Desenvolvimento de Software Iterativo e Incremental

Como comer um elefante?

30/07/2010

O RUP - Desenvolvimento de Software Iterativo e Incremental

O RUP - Desenvolvimento de Software Iterativo e Incremental

Resposta certa: um pedao de cada vez!!!

O RUP - Desenvolvimento de Software Iterativo e Incremental


Equvocos graves so evidenciadas no incio do ciclo de vida, quando possvel reagir a eles; Essa abordagem permite e incentiva feedback dos usurios, de modo a suscitar necessidades reais do sistema; A equipe de desenvolvimento concentra-se nas questes que so mais crticas para o projeto e tenta tratar os riscos reais do projeto; Testes iterativos e contnuos permitem uma avaliao objetiva do estado do projeto;

O RUP - Desenvolvimento de Software Iterativo e Incremental


Inconsistncias entre requisitos, projetos e implementaes so detectadas mais cedo; A carga de trabalho da equipe espalhado mais uniformemente ao longo do ciclo de vida do projeto; A equipe pode aproveitar as lies aprendidas e, portanto, pode melhorar continuamente o processo; s partes interessadas no projeto podem ser dadas provas concretas de status do projeto ao longo do seu ciclo de vida.

30/07/2010

O RUP
Segue as boas prticas da Engenharia de Software
Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificao Contnua da Qualidade Gerenciamento de Mudanas
33

O RUP - Gerenciamento de Requisitos


Oferece uma abordagem sistematizada de controle de requisitos; Comunicaes so baseadas em requisitos definidos; Requisitos podem ser priorizados, filtrados e localizados; Permite uma avaliao objetiva das funcionalidade e demais caractersticas do sistema; Incoerncias so detectadas mais facilmente.

O RUP
Segue as boas prticas da Engenharia de Software
Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificao Contnua da Qualidade Gerenciamento de Mudanas
35

O RUP - Uso de Arquitetura Baseada em Componentes


A arquitetura do sistema compreende o conjunto de decises importantes sobre os seguintes elementos:
A organizao de um sistema de software; A seleo dos elementos estruturais e suas interfaces, atravs da qual o sistema composto; Seu comportamento, conforme especificado pelo colaboraes entre esses elementos.

A arquitetura de software est preocupada no s com a estrutura e comportamento, mas tambm com o uso, funcionalidade, desempenho, robustez, reutilizao, abrangncia, economia, limitaes tecnolgicas, estticas, dentre outros.

30/07/2010

O RUP
Segue as boas prticas da Engenharia de Software
Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificao Contnua da Qualidade Gerenciamento de Mudanas
37

O RUP - Modelagem Visual


Modelos ajudam a entender a realidade; Melhora a comunicao entre os stakeholders; Permite destacar detalhes importantes; Auxilia na obteno de uma viso geral do sistema; Documenta decises tomadas; Auxilia na entrada de novos integrantes no projeto.

O RUP
Segue as boas prticas da Engenharia de Software
Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificao Contnua da Qualidade Gerenciamento de Mudanas
39

O RUP - Verificao Contnua da Qualidade


A avaliao do estado do projeto feita de forma objetiva, no subjetiva (resultados dos testes); Esta avaliao objetiva expe as inconsistncias nos requisitos, projetos e implementaes; Testes e verificao esto focados nas reas de maior risco, aumentando assim a qualidade e a eficcia das reas; Defeitos so identificados mais cedo, reduzindo radicalmente o custo de corrigi-los.

10

30/07/2010

O RUP
Segue as boas prticas da Engenharia de Software
Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificao Contnua da Qualidade Gerenciamento de Mudanas
41

O RUP - Controle de Mudanas


O fluxo de trabalho de mudanas de requisitos definido e repetvel; As solicitaes de mudana facilitam a comunicao; Estatsticas de taxas de mudana fornecem medidas objetivas para avaliar o andamento do projeto; A propagao da mudana avalivel e controlada.

O RUP
Caractersticas
Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos

O RUP

44

11

30/07/2010

O RUP
Caractersticas
Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos

O RUP Dividido em Fases


Caractersticas
Dividido em Fases
Concepo
tempo

Elaborao

Construo

Transio

Marco da fase: escopo definido!


Concepo (define o escopo do projeto) Elaborao (define os requisitos e a arquitetura) Construo (desenvolve o sistema) Transio (implanta o sistema)

45

46

O RUP Dividido em Fases


Concepo
Objetivos da Fase de Concepo
Definir o escopo do software
Viso do Projeto O que faz parte e o que no faz parte do produto Definir os critrios de aceitao do produto final

O RUP Dividido em Fases


Concepo
Objetivos da Fase de Concepo
Levantar os potenciais riscos Preparar o ambiente de suporte do projeto
Definir e preparar os processos e ferramentas a serem utilizados

Descobrir os casos de uso crticos Estimar por alto o custo e o cronograma de todo o projeto
Estimar em detalhes os custos e cronograma da fase seguinte (Elaborao)

Definir e, eventualmente, demonstrar com prottipos ao menos um candidato arquitetura


Avaliar alternativas de projeto Que componentes fazer, comprar ou reusar?

47

48

12

30/07/2010

O RUP Dividido em Fases


Concepo
Esforo para algumas disciplinas

Concepo

50

O RUP Dividido em Fases


Caractersticas
Dividido em Fases
Concepo
tempo

O RUP Dividido em Fases


Elaborao
Objetivos da Fase de Elaborao
Capturar a maioria dos requisitos Construir a arquitetura do sistema
Que demonstre a capacidade de esta arquitetura acomodar o resto do sistema

Elaborao

Construo

Transio

Marco da fase: arquitetura definida!


Concepo (define o escopo do projeto) Elaborao (define os requisitos e a arquitetura) Construo (desenvolve o sistema) Transio (implanta o sistema)

Produzir prottipos evolucionrios ou descartveis que eliminam riscos de


Requisitos ou projeto Reusabilidade de componentes Viabilidade tcnica

51

52

13

30/07/2010

O RUP Dividido em Fases


Elaborao
Esforo para algumas disciplinas

Elaborao

54

O RUP Dividido em Fases


Caractersticas
Dividido em Fases
Concepo
tempo

O RUP Dividido em Fases


Construo
Objetivos da Fase de Construo
Produzir a verso para testes nfase na produo de software operacional Envolve anlise, projeto e implementao dos requisitos
Pelo menos 80% dos casos de uso foram levantados (identificados) e entendidos Destes, apenas 10-15% so arquiteturalmente relevantes e foram especificados (detalhados), analisados, projetados e implementados A Construo finaliza o sistema, atingindo 100% das funcionalidades implementadas

Elaborao

Construo

Transio

Marco da fase: funcionalidades 100% implementadas!


Concepo (define o escopo do projeto) Elaborao (define os requisitos e a arquitetura) Construo (desenvolve o sistema) Transio (implanta o sistema)

55

56

14

30/07/2010

O RUP Dividido em Fases


Construo
Esforo para algumas disciplinas

Construo

58

O RUP Dividido em Fases


Caractersticas
Dividido em Fases
Concepo
tempo

O RUP Dividido em Fases


Transio
Objetivos da Fase de Transio
Validar o sistema em relao s expectativas dos usurios Testes e operacionalizao do software (geralmente, em paralelo com o sistema legado) Converso de dados Treinamento de usurios Correo de erros, pequenas melhorias, pequenos ajustes

Elaborao

Construo

Transio

Marco da fase: sistema implantado!


Concepo (define o escopo do projeto) Elaborao (define os requisitos e a arquitetura) Construo (desenvolve o sistema) Transio (implanta o sistema)

59

60

15

30/07/2010

O RUP Dividido em Fases


Transio
Esforo para algumas disciplinas

Transio

62

O RUP Dividido em Fases

2. Identifique e explique o relacionamento entre

As Fases do RUP

63

16

30/07/2010

O RUP Dividido em Disciplinas


Modelagem do Negcio Requisitos Anlise e Projeto Implementao Testes Implantao Gerncia de Configurao Planejamento e Gerenciamento Ambiente

Modelagem de Negcio

Modelo de negcio: a representao de um conjunto de atividades tanto internas (como planejamento) quanto externas (como tomada de ao) que so executadas para transformar entradas em sadas, produzindo trabalho (produto/servio) nas organizaes.

Modelagem de Negcio

Modelagem de Negcio
Principais objetivos:
Entender o negcio (a estrutura e a dinmica da organizao na qual um sistema deve ser implantado); Entender os problemas atuais da organizao e identificar as possibilidades de melhoria; Assegurar que os clientes, usurios e desenvolvedores tenham um entendimento comum da organizao e dos seus negcio; Documentar os processos de negcio e capturar a relao entre os seus conceitos; Derivar os requisitos de sistema necessrios para sustentar a organizao.

68

17

30/07/2010

Requisitos
Modelagem de Negcio

Requisitos: so caractersticas funcionais (declaraes de servios que o sistema deve fornecer) e no funcionais (restries sobre os servios) que o sistema precisa apresentar.

Requisitos

Requisitos
Principais objetivos:
Definir as caractersticas do sistema conforme observadas pelo cliente; Estabelecer e manter concordncia com os clientes e outras partes interessadas sobre o que o sistema deve fazer; Produzir e gerenciar os requisitos do projeto; Oferecer ao desenvolvedor um melhor entendimento dos requisitos do sistema; Definir os limites do sistema (Delimitar o escopo); Definir uma interface do sistema com o usurio, focando nas necessidades e objetivos dos usurios; Fornecer uma base para planejar o contedo tcnico das iteraes e estimar o custo e o tempo para desenvolver o sistema; Identificar as inconsistncias entre os requisitos e os planos de projeto e produtos de trabalho.

72

18

30/07/2010

Anlise e o Projeto

Requisitos

Anlise: foca nos requisitos funcionais do sistema, criando modelos conceituais, baseados em conceitos de negcio. Projeto: foca nos requisitos tcnicos do sistema, criando vises detalhadas, baseadas na tecnologia que ser utilizada.

Anlise e Projeto
Olho

Anlise e Projeto
Principais objetivos:
Transformar os requisitos em modelos (abstrato - Anlise e concreto - Projeto) do que o sistema vai ser; Construir uma arquitetura robusta para o sistema; Adaptar o projeto s limitaes do ambiente de execuo.

Com o andamento da anlise, o sistema vai sendo modelado e esta modelagem amadurece at se transformar no projeto do sistema.

76

19

30/07/2010

Implementao

Anlise e Projeto

Implementao: processo de construo de verses operacionais do sistema ou de parte dele, de modo a demonstrar suas funcionalidades e caractersticas em geral.

Implementao
Olho

Implementao
Principais objetivos:
Definir a organizao do cdigo fonte em termos de subsistemas e camadas; Implementar o sistema (codificar) de acordo com os requisitos e o projeto elaborados; Assegurar a qualidade do cdigo produzido; Implementar testes unitrios para as funcionalidades desenvolvidas; Implementar testes de requisitos no funcionais para componentes arquiteturais; Integrar o sistema.

20

30/07/2010

Testes

Implementao

Teste: avaliao da qualidade do produto, atravs de verificao e correo de problemas e de m interpretao dos requisitos.

Testes
Olho

Testes
Principais objetivos:
Verificar se todos os requisitos do sistema foram corretamente implementados; Validar se o sistema foi construdo como projetado; Validar se os requisitos foram implementados apropriadamente; Identificar e documentar falhas (defeitos e problemas) no software; Assegurar a satisfao do cliente com o produto desenvolvido; Reduzir custos de manuteno corretiva e retrabalho.

21

30/07/2010

Implantao

Testes

Implantao: corresponde s atividades de planejamento, preparao e instalao de produtos de software no ambiente de produo.

Implantao

Implantao
Principais objetivos: Descrever as atividades de planejamento, preparao e instalao e testes de produtos de software nos ambientes de desenvolvimento, homologao e produo; Migrar dados legados para o novo sistema; Treinar usurios e equipe de suporte/vendas.

22

30/07/2010

Gerncia de Configurao

Implantao

Gerncia de Configurao: registra e mantm uma trilha das mudanas e da evoluo dos artefatos produzidos pelo projeto, que podem sofrer mudanas decorrentes de correes de falhas, melhoria de qualidade e incluso de novos requisitos.

Gerncia de Configurao

Gerncia de Configurao
Objetivos
Coordenar os aspectos relacionados gerncia de configurao e mudanas; Gerncia de configurao:
Controla os artefatos produzidos no desenvolvimento do projeto; Evita a ocorrncia dos seguintes simultneas; Mltiplas verses; problemas: Atualizaes

Mantm a integridade e rastreabilidade da configurao atravs do ciclo de vida do sistema.

Gerncia de mudanas:
Lida com a captao e gesto de mudanas solicitadas por stakeholders internos e externos; Trata da anlise do impacto potencial da mudana e com a acompanhamento do que acontece com a mudana at que ela seja concluda.

23

30/07/2010

Planejamento e Gerenciamento
Planejamento e Gerenciamento: aplicao de conhecimentos, habilidades e tcnicas na elaborao de atividades relacionadas para atingir um conjunto de objetivos prdefinidos, num certo prazo, com um certo custo e qualidade, atravs da mobilizao de recursos tcnicos e humanos.

Gerncia de configurao

Planejamento e Gerenciamento

Planejamento e Gerenciamento
Objetivos
Fornecer framework para gerenciamento do projeto; Auxiliar as atividades de planejamento, execuo, acompanhamento e monitoramento do projeto;
Auxiliar a criao de uma estrutura para gerenciar risco.

24

30/07/2010

Ambiente

Planejamento e Gerenciamento

Ambiente: define os processos, modelos de artefatos, guias (de atividades e artefatos) e ferramentas para a empresa que est desenvolvendo o sistema.

Ambiente

Ambiente
Objetivos
Criar e evoluir processos do projeto (atividades, artefatos e papis); Selecionar, adquirir, instalar e configurar ferramentas; Manuteno da infra-estrutura, processos de backup e outras rotinas pertinentes.

25

30/07/2010

3. Identifique e explique o relacionamento entre

As Disciplinas do RUP

Ambiente

O RUP
Caractersticas
Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos

O RUP Envolve Atividades, Artefatos e Responsveis


Caractersticas
Conjunto de atividades
Bem definidas Com responsveis Com artefatos de entrada e sada Com dependncias entre as mesmas e ordem de execuo Com descrio sistemtica de como devem ser realizadas

103

26

30/07/2010

O RUP Envolve Atividades, Artefatos e Responsveis


Exemplos de atividades e artefatos...

Modelagem de Negcio
Principais atividades:
Conhecer o negcio (cenrio atual - nvel macro): compreender de forma macro o funcionamento do negcio; Identificar processos de negcio (cenrio atual): identificar todos os processos (importante para planejar as atividades de modelagem); Especificar processos de negcio (cenrio atual): documentar os processos (os participantes do negcio e suas funes; as atividades e os fluxos de trabalho; os sistemas envolvidos nos processos); Apresentar os artefatos da modelagem de negcio (cenrio atual): apresentar e homologar, junto ao cliente/patrocinador, os resultados (artefatos gerados) do trabalho de modelagem de negcio realizado; Apresentar proposta de melhorias nos processos de negcio (cenrio futuro): apresentar e homologar, junto ao cliente/patrocinador, uma proposta para realizar melhorias/reengenharia nos processos (de forma a apoiar estratgias de inovao ou criar oportunidades de negcio, ou simplesmente otimizar os processos atuais de negcio).

106

Modelagem de Negcio
Alguns exemplos de artefatos: Lista dos processos de negcio; Especificao textual/diagrama dos processos de negcio (cenrio atual); Especificao textual/diagrama dos processos de negcio (cenrio futuro); Glossrio de negcio.

Requisitos
Principais atividades:
Desenvolver Plano de Gerncia de Requisitos: especificar a forma de documentao dos requisitos, as diretrizes de rastreabilidade e a forma de gerenciamento dos requisitos do projeto; Realizar estudo de viabilidade: responder se vale a pena ou no prosseguir com o desenvolvimento do sistema (avalia se o sistema contribui para os objetivos gerais da organizao, se pode ser implementado com tecnologia atual e dentro das restries de custo e prazo, se pode ser integrado a outros sistemas j implantados); Elicitar requisitos: coletar requisitos; classificar e organizar requisitos; priorizar e negociar requisitos; detalhar requisitos; documentar requisitos; Validar/revisar requisitos: verificar se os requisitos realmente definem o sistema que o usurio deseja; Gerenciar requisitos: compreender e controlar as mudanas dos requisitos.
107 108

27

30/07/2010

Requisitos
Alguns exemplos de artefatos:
Plano de Gerenciamento de Requisitos; Documento de Definio de Requisitos (DDR); Diagrama de Casos de Uso; Especificaes de Casos de Uso; Regras de Negcio; Regras de Validao; Matriz de Rastreabilidade; Glossrio de Negcio.

Anlise e Projeto
Principais atividades:
Definir modelo conceitual/arquitetura candidata: criar esboo do modelo conceitual e do esqueleto de pelo menos uma arquitetura preliminar do sistema (que pode evoluir ou ser descartada ao longo do projeto); organizar o sistema em camadas; identificar classes de anlise; Refinar modelo conceitual/arquitetura: fazer a transio da anlise para projeto, descrever o sistema relacionado a aspectos de runtime (aspecto dinmico do sistema) e implantao (aspecto esttico do sistema); Projetar banco de dados: projetar o banco de dados para contemplar os quesitos relacionados com a persistncia dos objetos persistentes do caso de uso.

109

110

Anlise e Projeto
Alguns exemplos de artefatos:
Realizao de caso de uso (de Anlise); Documento de arquitetura; Mapeamento das classes de Anlise em elementos de Projeto; Diagrama de pacotes; Realizao de caso de uso (de Projeto); Diagrama Entidade Relacionamento; Mapeamento Objeto-relacional; Script de criao da base de dados.

Implementao
Principais atividades:
Estruturar o modelo de implementao: definir a organizao do cdigo fonte (organizao em camadas, mecanismos de persistncia, comunicao e GUI, por exemplo); Codificar componentes/casos de uso: codificar componentes/casos de uso necessrios e realizar testes unitrios; Integrar sistema: integrar componentes, dando origem a uma nova verso do sistema.

111

112

28

30/07/2010

Implementao
Alguns exemplos de artefatos:
Implementao dos componentes; Testes unitrios da implementao dos componentes; Relatrios de testes unitrios da implementao dos componentes; Roteiros/relatrios de testes no-funcionais da implementao dos componentes; Implementao dos casos de uso; Testes unitrios da implementao dos casos de uso; Relatrios de testes unitrios da implementao dos casos de uso; Roteiro/relatrios testes no-funcionais da implementao dos casos de uso; Plano de Integrao.
113

Testes
Principais atividades:
Planejar testes: planejar as atividades de teste do projeto (tipos de teste, previso de quando e por quem os testes devero ser executados); Especificar, construir e executar testes: especificar e construir os cenrios a serem testados de acordo com os requisitos funcionais e no funcionais do sistema e test-los;
Testes de integrao: testam a integrao de todos os componentes previstos para a iterao/verso; Testes funcionais: encontram bugs na construo do software; Testes no funcionais: verificam a corretude dos requisitos no funcionais do sistema; Testes de sistema: testam o sistema como um todo; Testes de aceitao/homologao: feitos pelo usurio final, realizam a

aceitao do produto entregue;

Analisar resultados e corrigir defeitos: analisar provenientes das atividades de teste e resolv-los;

defeitos

114

Testes
Alguns exemplos de artefatos:
Plano de Teste; Roteiros de Teste Funcionais; Relatrio de Testes Funcionais; Relatrio de Testes No Funcionais; Roteiros de Teste de Aceitao/Homologao; Relatrio de Teste de Aceitao/Homologao; Roteiros de Teste de Desempenho; Registros de bugs.

Implantao
Principais atividades:
Planejar implantao: definir as diretrizes usadas para planejar como

ser realizada a implantao do sistema e garantir que o usurio esteja ciente e comprometido com as atividades de implantao;
Desenvolver material de suporte: desenvolver os artefatos de apoio aos usurios no processo de instalao, aprendizagem, utilizao, operao e sustentao do sistema (documentao, manuais, treinamentos, dentre outros); Testar sistema no ambiente de desenvolvimento: testar o sistema no ambiente de desenvolvimento, para verificar se o sistema est pronto para ser implantado; Gerar release: empacotar o sistema com todos os artefatos necessrios para implantao; Instalar e testar sistema no ambiente de produo: instalar e testar o sistema no ambiente de produo, para que possa ser utilizado pelo cliente;

115

116

29

30/07/2010

Implantao
Alguns exemplos de artefatos:

Gerncia de Configurao
Principais atividades:
Planejar gerncia de configurao e mudanas: plano de referncia para o controle sistemtico da configurao e das mudanas realizadas no projeto; Configurar ambiente de gerncia de configurao e mudanas: preparar o ambiente (criar procedimentos, instalar ferramentas etc.), para que o processo de gerenciamento de configurao e mudanas possa ser desempenhado; Criar/alterar e disponibilizar produtos de trabalho: acessar os artefatos do projeto, realizar mudanas e incorpor-las ao produto; Monitorar gerncia de configurao e mudanas: monitorar e reportar as configuraes e mudanas no projeto, provendo trilhas de auditoria; Gerenciar mudanas: processar (avaliar, analisar impacto e aprovar) as solicitaes de mudana de modo padronizado; Gerenciar baselines: gerenciar verses dos artefatos que compem o produto em dado momento.

Plano de implantao; Release; Artefatos de instalao (script, ferramentas, arquivos, guias); Documentao; Material de apoio, como o manual do usurio, manuais de operao e manuteno; Material de treinamento. .

117

118

Gerncia de Configurao
Alguns exemplos de artefatos:
Plano de gerenciamento de configurao e mudana; Solicitaes de mudana; Registros de controle de mudana.

Planejamento e Gerenciamento
Principais atividades:
Planejamento, executar, acompanhar e monitorar o projeto (escopo, tempo, custo, riscos, qualidade, recursos humanos, aquisies, comunicao).

119

30

30/07/2010

Planejamento e Gerenciamento
Alguns exemplos de artefatos:
Planos e documentos relacionados execuo, acompanhamento e monitoramento do projeto (escopo, tempo, custo, riscos, qualidade, recursos humanos, aquisies, comunicao).

Ambiente
Principais atividades:
Preparar ambiente para o projeto: definir uma lista de ferramentas que podem ser utilizadas e templates de artefatos que sero necessrios; Preparar diretrizes: preparar procedimentos para o desenvolvimento das atividades do projeto; Suportar ambiente: prover suporte para os usurios quanto s dificuldades pertinentes ao ambiente; Realizar atividades de manuteno: execuo das rotinas relacionadas infra-estrutura, como processos de backup e outras rotinas pertinentes

122

Ambiente
Exemplo de artefato:
Modelo/processo de desenvolvimento (diretrizes/procedimentos, templates) 4. Identifique gerados para o estudo de caso apresentado em sala

Os Artefatos

123

31

30/07/2010

O RUP Envolve Atividades, Artefatos e Responsveis


Exemplos de responsveis/papis...

O RUP Envolve Atividades, Artefatos e Responsveis


Administrador do Sistema Analista de Negcio Analista de Sistemas Analista de Teste Arquiteto de Software Artista grfico Desenvolvedor do Curso Designer Designer de Banco de Dados Designer de Interface do Usurio Designer de Negcio Designer de Teste Engenheiro de Processo Especialista em Ferramentas Especificador de Requisitos Gerente de Configurao Gerente de Controle de Mudanas Gerente de Implantao Gerente de Projeto Gerente de Teste Implementador (codificador) Integrador de sistemas Redator Tcnico Revisor de Arquitetura Revisor de Design Revisor de Negcio Revisor de Projetos Revisor de Requisitos Revisor do Cdigo Testador

Modelagem de Negcio
Analista de Negcio Lidera e coordena a modelagem de negcios, delineando e delimitando a organizao que est sendo modelada; Por exemplo: estabelece o processo, viso de novos negcios, capta os objetivos de negcio, e determina que os atores de negcios e processos de negcios existem e como eles interagem. Designer de Negcio Detalha a especificao de uma organizao, descrevendo os processos de negcio; Determina os trabalhadores e entidades de negcios necessrios para realizar um processo de negcios, e tambm como eles trabalham juntos para alcanar a realizao. Define as responsabilidades, operaes, atributos e relacionamentos de um ou vrios trabalhadores de negcios e entidades empresariais. Revisor de Negcio Revisa os artefatos de negcio.

Requisitos
Analista de Sistemas
Lidera e coordena elicitao de requisitos e modelagem de casos de uso, delimitando o sistema e descrevendo suas funcionalidade;

Especificador de Requisitos
Detalha a totalidade ou parte da funcionalidade do sistema, descrevendo os aspectos dos requisitos de um ou vrios casos de uso;

Arquiteto de Software
Envolvido principalmente nas primeiras iteraes para, juntamente com o Analista de Sistemas e Especificador de Requisitos, garantir a integridade dos casos de uso significativos para a definio da arquitetura;

Designer de Interface
Modela a interface com o usurio, cria prottipos;

Revisor de Requisitos
Representa todos os tipos de pessoas que podem verificar se os requisitos so percebidos e interpretados corretamente pela equipe de desenvolvimento.

32

30/07/2010

Anlise e Projeto
Arquiteto de Software
Lidera e coordena as atividades tcnicas e artefatos ao longo do projeto; Estabelece a estrutura geral de cada viso de arquitetura: a decomposio da viso, o agrupamento de elementos, e as interfaces entre os principais grupos.

Implementao
Implementador (codificador)

Desenvolve cdigo e executa testes de unidade;


Integrador de sistemas

Designer
Define as responsabilidades, operaes, atributos e relacionamentos de uma ou vrias classes e determina como devem ser ajustadas ao ambiente de implementao. Alm disso, o designer pode ter responsabilidade por um ou mais pacotes de design ou subsistemas de design, incluindo as classes pertencentes aos pacotes ou subsistemas.

Integra o cdigo, construindo as verses do sistema;


Arquiteto de software

Designer de Banco de Dados


Responsvel pelo banco de dados.

Define a estrutura do modelo de implementao (camadas e subsistemas);


Revisor do cdigo

Revisor de Arquitetura
Especialista que analisa os artefatos de arquitetura.

Revisor de Design
Especialista que analisa os artefatos de projeto.

Inspeciona o cdigo para a qualidade e conformidade com o projeto padro.

Testes
Gerente de Teste
Tem a responsabilidade global para o sucesso do esforo de teste; Responsvel pelo planejamento e gesto de recursos e resoluo de problemas que impedem o esforo de teste;

Implantao
Gerente de Implantao Planeja e organiza a implantao. Responsvel pelos testes e feedback, e por garantir que o produto est pronto para distribuio. Gerente de Projeto Principal interface com o cliente, sendo responsvel pela aprovao de implantao com base no feedback dos testes e avaliao de resultados; Responsvel ainda pela aceitao da entrega por parte do cliente; Testador Executa os testes de aceitao e responsvel por garantir que o produto foi testado de forma adequada; Implementador Cria scripts de instalao e artefatos relacionados que iro ajudar o usurio a instalar o produto final. Redator Tcnico Desenvolve materiais de suporte; Desenvolvedor do Curso Produz material de treinamento; Artista grfico Responsvel por criar a arte-final do produto.

Analista de Teste
Responsvel por identificar e definir os testes necessrios; Monitora o progresso dos testes e resultados em cada ciclo de teste; Avaliar a qualidade global a partir dos resultado das atividades de testes. Carrega a responsabilidade de representar adequadamente as necessidades das partes interessadas que no tenham direta ou regular representao sobre o projeto.

Designer de Teste
Responsvel por definir a abordagem de teste e garantir a sua execuo bem sucedida. Identifica as tcnicas apropriadas, ferramentas e diretrizes para implementar os testes necessrios e orienta sobre os recursos exigidos para o esforo de teste.

Testador
Cria e executa os testes, avaliao sua execuo,recupera os erros de avaliao dos resultados dos testes e registra pedidos de mudana.

33

30/07/2010

Gerncia de Configurao
Gerente de Configurao
Responsvel pelas atividades de gerncia de configurao (planejamento, configurao de ambiente e ferramentas, criao da estrutura de produtos no sistema, auditorias, dentre outras).

Planejamento e Gerenciamento
Gerente de Projetos Responsvel pela gerao dos manuteno dos artefatos de Gerncia de Projetos. Revisor de Projetos Responsvel pela reviso dos artefatos de Gerncia de Projetos.

Gerente de Controle de Mudanas


Responsvel pelas definio do processo de controle de mudanas e pela execuo das atividades de superviso do controle de mudanas; Um momento de configurao de mudanas dever ser composto por representantes de todas as partes interessadas, incluindo clientes, desenvolvedores e usurios;

Integrador
Aceita mudanas na integrao e constri o produto (gera baseline/release).

Qualquer funo
Pode enviar uma solicitao de mudana. As execues das mudanas sero feitas de acordo com a natureza da mudana.

Ambiente
Engenheiro de processo Responsvel pela adequao do processo ao projeto; Analista de Negcio Desenvolve as orientaes para a modelagem de negcios; Analista de Sistemas Desenvolve orientaes para modelagem de caso de uso; Designer de Interface do Usurio Desenvolve orientaes para a criao de interface de usurio. Designer de Testes Desenvolve orientaes para a criao de testes. Arquiteto de software Desenvolve as diretrizes de design e orientaes de programao. Redator tcnico Desenvolve guia de estilo para o manual do usurio. Especialista em Ferramentas Seleciona e adquire ferramentas de apoio ao desenvolvimento. elacionadas. Administrador do Sistema Mantm o ambiente de desenvolvimento de hardware e software do sistema; Excuta tarefas administrativas, como administrao de contas, backups, e assim por diante.

5. Identifique

Os Papis e Recursos
utilizados para desenvolver o estudo de caso apresentado em sala

34

30/07/2010

O RUP
Caractersticas
Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos

O RUP - Iterativo e Incremental


Cada fase dividida em iteraes:
Inception Elaboration Construction Transition

Preliminary iteration

Architect. Architect. Devel.. iteration iteration iteration

Devel.. iteration

Devel.. iteration

Transition iteration

Transition iteration

Marcos: Releases
137

O RUP Iterativo e Incremental


Caractersticas
Iterativo e incremental
Ciclo de Vida Iterativo
Divide o projeto em partes menores Mais fceis de planejar Mais fceis de gerenciar Mais fcil de medir o progresso Aplicao do modelo cascata em vrias iteraes As iteraes iniciais atacam os riscos mais crticos Todos comeam a trabalhar mais cedo
Testes e integrao so realizados desde o incio Riscos mais crticos so resolvidos mais cedo Maior feedback dos usurios

O RUP - Iterativo e Incremental


Iteraes
Projetos simples
normalmente tm uma iterao por fase.

Projetos mais complexos


no seu primeiro ciclo de desenvolvimento normalmente apresentam:
1 iterao na Iniciao 2 iteraes na Elaborao 2 iteraes na Construo 1 iterao na Transio

Projetos grandes
em domnios desconhecidos, envolvendo novas tecnologias e muitos riscos:
2 iteraes na Iniciao 3 iteraes na Elaborao 3 iteraes na Construo 2 iteraes na Transio

Geralmente resulta em uma verso executvel do sistema

35

30/07/2010

O RUP - Iterativo e Incremental


Exemplo...

36

30/07/2010

O RUP
Caractersticas
Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos

Iteraes
146

O RUP - Dirigido por Casos de Uso


Implementao Requisitos Anlise e Projeto Testes Implantao

O RUP - Dirigido por Casos de Uso


Caractersticas
Casos de Uso
Representam as funcionalidades do sistema Ajudam na comunicao com os clientes Mostram apenas o que o sistema faz, e no como Servem como base para
Definir os requisitos do sistema Definio/planejamento das iteraes Criao da arquitetura Definio dos casos de teste Documentao do usurio

Os casos de uso conectam esses fluxos

37

30/07/2010

O RUP - Dirigido por Casos de Uso


Priorizar os casos de uso que impliquem em mais riscos ao projeto
Os casos de uso que implicam em riscos ao projeto devem ser atacados o quanto antes, preferencialmente nas primeiras iteraes.

O RUP
Caractersticas
Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos

Priorizar os casos de uso que sejam relevantes para a Arquitetura do software


A definio de uma arquitetura robusta e capaz de acomodar todos os requisitos do sistema primordial para o sucesso do projeto.

Priorizar os casos de uso mais urgentes para o cliente.

150

O RUP Centrado na Arquitetura


Planejar/Definir

O RUP Centrado na Arquitetura


Caractersticas
Arquitetura de Software
A definio da arquitetura imprescindvel para o sucesso do projeto Apresenta a viso geral do sistema em termos dos seus subsistemas e como estes se relacionam Trata os requisitos no-funcionais (atributos de qualidade: segurana, performance...) e requisitos funcionais crticos Identifica e mapeia:
Componentes Propriedades destes componentes Relacionamentos entre os componentes

Representar/Projetar

Construir/Desenvolver

Inspecionar/Validar

38

30/07/2010

O RUP
Caractersticas
Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos

O RUP Tratamento de Riscos


Caractersticas Riscos so incertezas que podem conduzir a falhas em um projeto
Pessoas no so peas mecnicas intercambiveis Existem aspectos desconhecidos relativos ao software

Riscos diretos e indiretos


Diretos: o projeto tem maior controle sobre ele Indiretos: o projeto no tem controle sobre ele

A abordagem iterativa permite atenuar os riscos mais cedo


Atributos
Probabilidade Severidade

Tratamento de riscos
Identificao Quantificao Desenvolvimento de Respostas Evitar Transferir Aceitar (Mitigar/ Contingenciar - plano B)

153

O RUP Resumo
Fases Iteraes Disciplinas Atividades
Passos entradas e sadas guias (de ferramentas ou no), templates

6. Elabore um esboo do relacionamento entre as

Iteraes, Casos de Uso, Arquitetura e Riscos


para o estudo de caso apresentado em sala

Responsveis (papel e perfil, no pessoa) Artefatos

39

30/07/2010

Referncias
Martins, Jos Carlos Cordeiro. Gerenciando projetos de desenvolvimento de software com PMI, RUP e UML. Brasport, 3 edio, 2006.

7. Trace um comparativo entre

O RUP e Os Processos geis

Pressman, R. S. Engenharia de Software, Mc-Graw-Hill, 6 edio, 2006. Sommerville, I. Engenharia de Software. Addison-Wesley, 8 edio, 2007. Scott, K. O Processo Unificado Explicado. Boookman, 2003. Kruchten, P. Introduo ao RUP: Rational Unified Process. Cincia Moderna, 2003. Stair, R. M.; Reynolds, G. W. Princpios de Sistemas de Informao. Thompson Learning, 6 edio, 2006. Laudon, K. C.; Laudon, J. P. Sistemas de Informao Gerenciais. Prentice-Hall, 5 edio, 2004. OBrien, J. A. Sistemas de Informao e as Decises Gerenciais na Era da Internet. Saraiva, 2 edio, 2004.

40

Você também pode gostar