You are on page 1of 49

O Processo Unificado: Captura de Requisitos

Prof. Alexandre Huff Análise e Projeto de Sistemas Computacionais Engenharia Eletrônica UTFPR – Campus Toledo
(adaptado Profa. Itana e Thelma – UEM)

Artefatos versus Papéis

Modelo de Casos de Uso

Workflow de Modelagem de Negócios

Visão geral do sistema

Definição e modelagem dos processos de negócio

Definição dos requisitos

Funcionais

O que o sistema deve fazer

Não Funcionais

Especifica propriedades do sistema, tais como restrições de ambiente e implementação, desempenho, dependências de plataforma, segurança e confiabilidade.

Identificar os requisitos necessários à organização-alvo.   .  Entender os problemas atuais da organização e identificar potenciais melhorias. usuários finais e desenvolvedores tenham uma compreensão comum da organização-alvo.Modelagem do Negócio  Entender e estruturar o comportamento dinâmico da organização na qual o sistema será implantado (organização-alvo). Garantir que clientes.

sem ainda pensar em uma solução de software  Representado por um diagrama de classes sem atributos e operações. .Artefatos produzidos a partir da Modelagem de Negócio    Visão do negócio (diagrama de pacotes) Descrição do Sistema (Textual) Modelo de Objetos de Negócio ( ~ modelo conceitual)  Modelo que mostra os principais conceitos do sistema real.

Visão do negócio .

 Descrição dos requisitos funcionais e não funcionais   RF01 . bem como seus opcionais... controlando desde a reserva até o retorno do automóvel.. considerar-se-á os diversos tipos de veículos (modelo. fabricante)..  RNF01 . O sistema deverá ainda emitir diversos tipos de relatórios e consultas. Neste gerenciamento.. possibilitando um melhor gerenciamento das locações oferecidas.....Descrição Geral do Sistema  O sistema para locação de veículos consiste basicamente do gerenciamento das locações de veículos de uma determinada empresa. . RF02 .

. . .Modelo de Objetos de Negócios – Exemplo O sistema usará a Internet para realizar pedidos e enviar faturas entre compradores e vendedores. ao vendedor a avaliar os pedidos e enviar as faturas e ao comprador a validar as faturas e efetuar pagamentos ao vendedor a partir de sua conta.. O sistema auxilia: o comprador a preparar pedidos.

Exercícios   Exemplo Locadora de Veículos Exercício Prático APS .

Workflow de Captura de Requisitos      Encontrar atores e casos de uso Priorizar os casos de uso Detalhar os casos de uso Prototipar a interface com o usuário Estruturar o modelo de casos de uso .

Definir um glossário de termos comuns.Encontrar atores e casos de uso  Objetivo   Delimitar o sistema do seu ambiente. Representar quem (entidade externa) vai interagir com o sistema e qual funcionalidade executará.  .

Encontrar atores e casos de uso  Entradas:      Descrição Geral do Sistema Requisitos Funcionais e Não-Funcionais Modelo de objetos de negócios Requisitos suplementares Lista de características  Saídas:   Modelo de Casos de Uso Glossário .

Diagrama de Casos de Uso – Exemplo Sistema de Pedidos .

Se um caso de uso é complexo pode-se usar um diagrama de estados ou de atividades para facilitar o entendimento. fazer pedido. o ator é o funcionário. Exemplo: pagar fatura.    . Eles descrevem as ações do sistemas em mais alto nível. atores não devem exercer os mesmos papéis.Algumas dicas  O ator é quem interage com o sistema. Encontre o balanço certo. Valor do resultado x ator específico – um caso de uso deve apresentar um resultado significativo que o cliente está disposto a pagar.   Modelos de caso de uso não são algoritmos. mas não deve ser muito grande. Exemplo: se um cliente interage com um funcionário que interage com o sistema. Casos de uso são descritos por verbos no infinitivo. Verifique compatibilidade de papéis. Encontre os casos de uso realizando workshops e entrevistas com os clientes e usuários. solicitar informação.

o atendente é o ator principal  Como identificar os casos de uso?  Analisar cada requisito do sistema em busca dos grandes eventos que ocorrem no mundo real e que dão origem a uma interação entre um ator e o sistema . o atendente é quem opera o computador e realiza a transação  Portanto.Como começar?  Como identificar os atores?  Exemplo: Ao emprestar um livro.

 . O leitor está apto a emprestar livros se não possuir em seu poder livros com data de devolução vencida (menor do que a data atual) e desde que o número de livros emprestados não ultrapasse o número máximo permitido. 15 dias para estudantes de pós-graduação e 6 meses para docentes). 10 livros para estudantes de pós-graduação e 15 livros para docentes). O sistema deve permitir que um leitor cadastrado empreste um ou mais livros. RF03. que depende do tipo de leitor (6 livros para estudantes de graduação.Como identificar os casos de uso?  Exemplo: Biblioteca  RF02. por um período de tempo que varia de 1 semana a 6 meses. dependendo do tipo de leitor (1 semana para estudantes de graduação.

. um caso de uso candidato é:  Emprestar Livro  Um requisito pode referir-se a mais de um caso de uso.Como identificar os casos de uso?  De acordo com esses requisitos. Um caso de uso pode referir-se a mais de um requisito.

Diagrama de Caso de Uso Emprestar Livro Atendente Devolver Livro Bibliotecária Comprar Livro 19 .

Observações (Wazlawick. remover. Operações de manutenção de cadastro (inserir. alterar) associadas aos conceitos Operações de consulta (geralmente inclusas nas operações de manutenção)   . 2004)  Pode-se organizar os casos de uso em:  Casos de uso – que representam os principais negócios da organização.

Exercícios   Exemplo Locadora de Veículos Exercício Prático APS .

 A definição leva em consideração aspectos não técnicos como aspectos do negócio ou econômicos.   Arquitetura Inicial do Sistema .Definir as prioridades dos casos de uso  Definir quais casos de uso devem ser desenvolvidos nas iterações iniciais e quais podem ser desenvolvidos posteriormente. Os resultados são representados por uma visão arquitetural dos casos de uso.

 Pode-se usar um diagrama de estados e/ou diagrama de atividades para descrever o caso de uso. .Detalhar os casos de uso  Detalhar cada caso de uso descrevendo o seu fluxo de eventos (como começa. termina e interage com os atores).

Exemplo de Diagrama de Estados .

Descrição: um cliente solicita a locação de alguns Blu-Rays. Ator: Funcionário Pré-condição: Cliente cadastrado e blu-rays escolhidos disponíveis Pós-condição: Blu-Rays emprestados ao cliente . Após se identificar e escolher os blu-rays.Detalhar casos de uso Número:01 Caso de uso: Emprestar Blu-Ray Referências: RF01. ciente do prazo de devolução e do valor a ser pago. RF03. ele pode levá-los para casa.

O funcionário registra o nome do cliente e inicia a locação. O funcionário finaliza a locação. 2. O funcionário registra cada um dos blu-rays. entrega os blu-rays ao cliente e lhe informa a data de devolução e o valor da locação. O cliente informa seu nome e entrega os blu-rays ao funcionário. O cliente chega ao balcão com os blu-rays que deseja locar. 3. .Detalhar casos de uso Fluxo principal: 1. 5. 6. O cliente deixa a locadora com os blu-rays. 4.

O funcionário finaliza a devolução e o sistema realiza a baixa da locação dos blurays devolvidos. b. c.Detalhar casos de uso Fluxo alternativo: 1. O cliente deseja consultar os empréstimos que não foram devolvidos O cliente informa os seus dados ao funcionário O funcionário busca no sistema pelos empréstimos do cliente O funcionário seleciona os empréstimos não devolvidos O funcionário informa ao cliente os dados relativos aos empréstimos. a. a. 2. c. Demais fluxos… Descrição dos fluxos… . b. O funcionário seleciona o empréstimo do cliente O funcionário registra a devolução de cada blu-ray. 3. d. a. O cliente deseja cancelar a reserva O cliente deve apresentar os blu-rays emprestados. d.

a. b. Um blu-ray está reservado com outro cliente . O cliente não possui cadastro O cliente deve informar seus dados para cadastro O funcionário registra o cadastro. Fluxo alternativo 2. 3.Detalhar casos de uso Frase com o erro Tratamento das Exceções: 1. O cliente possui pendências no cadastro (locação não paga) O cliente paga seu débito O funcionário registra o pagamento e elimina a pendência Retorna ao fluxo principal. a. a... .P. c. b. c. Número da linha do F. Retorna ao fluxo principal.

.Detalhar casos de uso  Saída:  Documento texto contendo a descrição detalhada de todos os casos de uso.

O cliente solicita uma reserva. 3. O funcionário confirma a reserva. 2. O cliente entra em contato com o funcionário da videolocadora (possivelmente por telefone). 4.Exemplo de caso de uso onde falta uma entrada de informação Caso de Uso (mal construído): Reservar um Filme 1. Reserva de quê? Quem faz a reserva? . O cliente informa seu nome.

Acabo de efetuar a reserva. Cliente: Grato! . Funcionário: Pois não. Senhor.Um diálogo impossível baseado no caso de uso anterior Cliente: Boa tarde! Funcionário: Boa tarde! Em que posso servi-lo? Cliente: Meu nome é João e eu gostaria de reservar um filme.

O cliente entra em contato com o funcionário da videolocadora (possivelmente por telefone). 3. O cliente informa seu nome. .Uma solução mais adequada Caso de Uso: Reservar um Filme 1. O cliente solicita uma reserva informando o nome do filme. informando o prazo de validade. 4. O funcionário confirma a reserva. 2.

Tratamento de Exceções no Caso de Uso  Depois de descrever o fluxo principal e o fluxo alternativo do caso de uso. deve-se imaginar o que poderia dar errado em cada um dos passos descritos e impedir que ele seja concluído Partes de um tratamento de exceção:      Identificador – número da linha no fluxo principal e código da exceção Descrição da exceção – uma frase Ações corretivas – um fluxo alternativo Finalização – se e como retorna-se ao Fluxo Principal .

Tratamento de Exceções  Formas de Finalizar um Fluxo Alternativo     Voltar ao início do passo que causou a exceção Ir para algum passo posterior (informar o passo) Voltar ao início do caso de uso Abortar o caso de uso  Forma a ser evitada no Fluxo Principal  Se o cliente possui cadastro então o funcionário registra o cliente .

generalization) Buscar casos de uso que são adicionais ou opcionais -> (extend)  .Estruturar o modelo de casos de uso    Generalização Include Extend  Buscar casos de uso que podem ser reutilizados -> (include.

Relacionamento <include>  Quando um caso de uso possui um comportamento parcial comum a vários outros casos de uso  Exemplo: .

O Sistema exibe o nome do cliente e uma mensagem informando se seu saldo é suficiente para sacar a quantia solicitada. 6. O Cliente sai com o dinheiro. 5. O Caixa entrega o dinheiro ao cliente. 2. 4. 7. Incluir o caso de uso: Movimentar Conta. . O Cliente entrega ao Caixa seu cartão magnético. 3. O Cliente chega ao balcão do Caixa e solicita uma quantia em dinheiro.Como mostrar o relacionamento <include> no caso de uso textual Caso de Uso: Realizar Saque Fluxo Principal: 1. O Caixa escolhe a opção de saque e passa o cartão magnético pela leitora.

.  Quando um fluxo alternativo é complexo e merece maior detalhamento.Relacionamento <extend>  Um caso de uso estende outro se ele adiciona comportamento ao caso de uso base. pode-se escrevê-lo na forma de uma extensão ao caso de uso base.

Relacionamento <extend>  Exemplo: .

....... Fluxo Alternativo: ..Como mostrar o relacionamento <extend> no caso de uso textual Caso de Uso: Emprestar Livro Sem Carteirinha Referências Cruzadas: Extensão do Caso de Uso Emprestar Livro para permitir outra forma de identificação do leitor Fluxo Principal: ... ... Tratamento de Exceções: .

 .Glossário  Blu-Ray: um tipo de disco com grande capacidade de armazenamento de áudio e vídeo com alta definição   Cliente: pessoa que efetua a locação de blu-ray.  Atendente: responsável por realizar o atendimento aos clientes da locadora de blu-ray. Funcionário: responsável por controlar o sistema. emitir relatórios e gerenciar vídeos. Empréstimo: descrição do empréstimo de blu-ray pretendido.

apenas excluir. RF17.Exemplo de representação de conceitos e operações de cadastro Conceito Cliente I x A E C Observação x x x Só é possível excluir se não houver empréstimos associados Referências Cruzadas RF13 Reserva Blu-Ray x x x x x x x x Só possível excluir se não houver empréstimos associados RF15. RF16 RF18 Empréstimo x x x A inclusão de um empréstimo só pode acontecer através do caso de uso “Emprestar Blu-Ray” . Não é possível alterar um empréstimo. RF19 .

.Exemplo de representação de consultas Nome Empréstimos Mensais Clientes Suspensos . RF23. RF22 RF13. RF1 . RF21.. Referências Cruzadas RF20.

 . Para cada caso de uso deve-se pensar o que este deve oferecer ao ator como interface.Prototipar a Interface com Usuário  Projetar as interfaces com o usuário que servem para executar os casos de uso.

Prototipar interface com o usuário  Prepare um rascunho de possíveis interfaces de acordo com as funcionalidades oferecidas aos usuários.  Tente responder a perguntas como:    Que tipo de elementos de interface são necessários? Como os elementos de interface devem se relacionar? Como os elementos de interfaces são utilizados nos vários casos de uso? Como os elementos de interface devem ser apresentados? Como os elementos de interface devem ser manipulados?   .

Protótipo de Interface com o usuário .

o Projeto de Arquitetura é o primeiro estágio no projeto de software É o elo crítico entre o projeto e a engenharia de requisitos   Identifica os principais componentes estruturais de um sistema e os relacionamentos entre eles .Projeto de Arquitetura  Visa compreender como um sistema deve ser organizado e se preocupa com a estrutura geral desse sistema  Em um processo de desenvolvimento de software.

Arquitetura Inicial do Sistema – Exemplo .

I. Guide to the Software Engineering Body of Knowledge. Análise e Projeto de Sistemas de Informação Orientados a Objetos. ed. The Unified Modeling Language Reference Manual (Second Edition). RUMBAUGH. IEEE Computer Society.org/portal/web/swebok/htmlformat>. 2011. SP: Pearson Prentice Hall.     . Ian. BOOCH. Porto Alegre: Bookman. SOMMERVILLE.Referências  LARMAN. 9. 2004. 2013. Rio de Janeiro: Elsevier. São Paulo. 529 p. ISBN 9788579361081. xiii. Craig. Acesso em: 23 out.computer. 2004. 2004. 2004. JACOBSON. SWEBOK.. G. Raul Sidnei. Utilizando UML e Padrões: Uma introdução à análise e ao projeto orientados a objetos. Disponível em: <http://www. WAZLAWICK. Engenharia de software. J. Addison-Wesley Professional..