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: abdala@das.ufsc.br 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