► METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala e-mail:...

30
Modelagem e Levantamento de Requisitos ►METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala e-mail: [email protected] 1

Transcript of ► METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala e-mail:...

  • Slide 1
  • METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala e-mail: [email protected] 1
  • Slide 2
  • Apresentar tcnicas para levantamento de requisitos; Demonstrar como levantar requisitos de usabilidade usando prototipao de interfaces; Discutir a decomposio de requisitos Apresentar como levantar requisitos de interao por meio de casos de uso. 2
  • Slide 3
  • Problemas relacionados ao levantamento de requisitos Documento de descrio do projeto Decomposio de requisitos Classificao de requisitos Especificao de interfaces do usurio Diagrama de Casos de Uso 3
  • Slide 4
  • Em que p estamos? Sabemos quais os tipos de requisitos existentes Sabemos que requisitos podem ser definidos em vrios nveis de detalhamento Sabemos como descrever os requisitos usando diagramas e tabelas E agora? Ao tentarmos especificar os requisitos nos deparamos com problemas e incertezas. Soluo Precisamos de uma metodologia para levantamento de requisitos! 4
  • Slide 5
  • Um bom ponto de partida para a identificao dos elementos que comporo o sistema Texto escrito pelo cliente e/ou usurio descrevendo como eles imaginam o sistema; Precisa ser minerado para a extrao de requisitos A extrao de requisitos via a descrio textual do sistema fornece uma maneira prtica de levantar muitos requisitos. No entanto aspectos dinmicos da execuo do sistema podem no ser capturados corretamente. 5
  • Slide 6
  • O sistema consiste em um programa que permite 1 ou 2 pessoas jogar damas. Uma interface grfica representado o tabuleiro apresentada em estado inicial com as peas dispostas a cada incio de partida. O jogador pode clicar na pea que deseja mover e em seguida na casa para a qual a pea deve ser movida. O sistema testar se o movimento vlido e se este for o caso, a pea ser movimentada. O jogador pode tambm disputar uma partida contra o computador. O computador poder jogar no modo fcil, normal, avanado, impossvel. 6
  • Slide 7
  • O sistema consiste em um programa que permite 1 ou 2 pessoas jogar damas. Uma interface grfica representado o tabuleiro apresentada em estado inicial com as peas dispostas a cada incio de partida. O jogador pode clicar na pea que deseja mover e em seguida na casa para a qual a pea deve ser movida. O sistema testar se o movimento vlido e se este for o caso, a pea ser movimentada. O jogador pode tambm disputar uma partida contra o computador. O computador poder jogar no modo fcil, normal, avanado, impossvel. 7
  • Slide 8
  • Permite a identificao de funcionalidades, restries e entidades do sistema; timo ponto de partida para a especifica- o inicial dos requisitos Problemas para a identificao de requisi- tos dinmicos Serve como base para entender o objetivo do sistema e planejar as entrevis- tas subseqentes de levantamento de requisitos 8
  • Slide 9
  • Maneira til de definir requisitos de interao com o usurio Fornece uma base para discusso de funcionalidades com o usurio Parte visvel do sistema, geralmente mais suscetvel a crticas e pedidos de alterao 9
  • Slide 10
  • 10
  • Slide 11
  • Muitas vezes a descrio inicial de um requisito pode ser muito extensa englobando diversas funcionalidades; Requisitos Funcionais e No Funcionais tendem a se misturar, principalmente na etapa de elaborao de requisitos do usurio; Decompor requisitos significa dividir requisitos complexos em dois ou mais requisitos. 11
  • Slide 12
  • 12 O Sistema deve ser capaz de registrar Contas para Clientes, recolhendo seus dados pessoais, de modo a identific-los. Ele deve exigir do Cliente um Login nico e uma Senha, para que ele possa ter uma Conta. Registrar Cliente Cadastrar Conta O Sistema deve exigir do Cliente um Login nico e uma Senha, para que ele possa ter uma Conta. O Sistema deve ser capaz de registrar Contas para Clientes, recolhendo seus dados pessoais, de modo a identific-los
  • Slide 13
  • Requisitos so a posteriori mapeados em artefatos de software Requisitos bem definidos com escopo especfico so: mais simples de serem implementados Pertencero a mesma unidade lgica Permitiro a adoo de uma arquitetura slida para o sistema 13
  • Slide 14
  • Sistemas reais tendem a ter centenas ou at mesmo milhares de requisitos Classificar os requisitos auxilia a: Organizar os requisitos em subsistemas (pacotes) Executar o rastreamento de alteraes Geralmente apenas requisitos no- funcionais so classificados, no entando tambm possvel aplicar algum tipo de classificao aos requisitos funcionais 14
  • Slide 15
  • 15
  • Slide 16
  • Casos de Uso (CdU) incluem tipicamente um ou mais cenrios que descrevem as interaes que ocorrem entre os atores e o sistema. CdUs tambm documentam as excees que ocorrem do ponto de vista do usurio Cada CdU representa uma nica interao repetvel que um usurio ou ator vivencia ao utilizar o sistema Casos de uso podem incluir outros casos de uso como parte de um padro de interao mais complexo. Eles tambm podem ser utilizados por outros casos de uso para lidar com situaes excepcionais Diagrama UML (Unified Modeling Language) 16
  • Slide 17
  • Casos de uso Atores Relacionamentos envolvendo esses elementos 17
  • Slide 18
  • 18
  • Slide 19
  • Modelar as funcionalidades do software (os casos de uso) O que o software faz (e no como faz) Modelar os elementos externos que interagem com o software (atores) 19
  • Slide 20
  • Uma funcionalidade do software Atmica, completa (no uma frao) Externamente perceptvel EX: cada uma das opes do menu de um caixa eletrnico de banco emisso de extrato de conta corrente 20
  • Slide 21
  • Associado noo de que um software interage com o meio externo Representa uma entidade externa que interage com o software sob modelagem Pessoa Equipamento (hardware) Outro software Funo de um ator Representa a interao com um elemento externo Faz parte do sistema (elemento interno) Modela a interface com cada elemento externo 21
  • Slide 22
  • Apenas a identificao de uma funcionali- dade, sem qualquer referncia a como ela executada 22
  • Slide 23
  • UML prev trs tipos de relacionamentos Extenso Incluso generalizao 23
  • Slide 24
  • Estabelece uma relao em que um dos casos de uso ou atores tem seu comportamento estendido atravs do comportamento definido em outro caso de uso. Freqentemente expressa um fluxo alternativo 24
  • Slide 25
  • Estabelece que parte do comportamento inerente a um caso de uso est definida em outro caso de uso Um caso de uso contm o comportamento definido em outro caso de uso Permite evitar repeties na modelagem 25
  • Slide 26
  • Estabelece uma relao de especiali- zao entre dois casos de uso, onde Um corresponde a um comportamento genrico O outro, a uma especializao deste para alguma situao especfica 26
  • Slide 27
  • Utilizao indica que um elemento requer o outro para ser utilizado. Relacionamento bsico dos CdUs; Associao representa uma associao entre dois elementos do diagrama; Implementao o elemento origem implementa o elemento destino ; Invocao CdU A em algum ponto faz com que CdU B seja executado; Precedncia CdU A deve ser executado antes que CdU B o seja. 27
  • Slide 28
  • Diagrama de CdU fornece um resumo da interao Detalhamento da interao deve existir em forma textual em um documento associado ao CdU 28
  • Slide 29
  • Documento de descrio auxilia na identifi- cao de requisitos; Prototipao de Interfaces auxilia na identi- ficao de requisitos de usabilidade; Requisitos devem ser decompostos para que representem apenas funcionalidades ou restries atmicas; Requisitos dinmicos podem ser melhor levantados por meio de casos de uso. 29
  • Slide 30
  • R. S. Pressman, Engenharia de Software, McGraw Hill, 6a Ed., 2002. Chap. 12. I. Sommerville. Software Engineering. 7 th Ed. Addison-Wesley, 2004. Chap. 7,16. 30