Buscar

Engenharia de Software - uml

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Profa. Fabrícia Damando
Engenharia de SW
Especificações de Requisitos e de Projeto
Profa. Fabrícia Damando
fabriciadamando@gmail.com
Requisitos
� Capacidades e condições que o sistema deve satisfazer
� Tipos de requisitos
� Funcionais
� Características, capacidades e segurança
� Não funcionais
� Usabilidade: fatores humanos, documentação
� Confiabilidade: recuperação da falhas, previsibilidade
Requisitos
� O importante do levantamento de requisitos é encontrar, 
comunicar e registrar o que é necessário.
� De que forma esses requisitos possam ser transmitidos ao cliente 
e aos desenvolvedores
� CASE USE – é uma técnica usada para entender e descrever os requisitos de 
um sistema
UML
“Linguagem padrão para especificar, visualizar, documentar e construir 
sistemas ... Pode ser utilizada ao longo de todo processo de 
desenvolvimento e com diferentes tecnologias de implementação ...”desenvolvimento e com diferentes tecnologias de implementação ...”
“Linguagem padrão para especificar, visualizar, documentar e construir 
sistemas ... Pode ser utilizada ao longo de todo processo de 
5
desenvolvimento e com diferentes tecnologias de implementação ...”
Arquitetura
Casos de Uso
� Definição:
“Um caso de uso é uma seqüência de ações, executadas por um ou mais atores
(pessoas ou entidades não-humanas fora do sistema) e pelo próprio sistema, que 
produz um ou mais resultados de valor para um ou mais atores.” 
7
� Contempla a etapa inicial do processo de desenvolvimento de software: 
Levantamento e Análise de Requisitos
Casos de Uso
� São narrativas em texto.
� A UML fornece uma maneira alternativa de representar os casos 
de uso: o diagrama de casos de uso.
8
� Um caso de uso interage com atores, demonstrando o 
comportamento de parte ou de todo o sistema.
� Não revela a estrutura e o comportamento internos deste 
sistema.
Casos de Uso: influência
9
Casos de Uso → Modelo de Casos de 
Uso
�O Modelo de Casos de Uso (MCU) é uma 
representação das funcionalidades do sistema 
externamente observáveis e dos elementos externos
ao sistema que interagem com o mesmo.
1
0
ao sistema que interagem com o mesmo.
�No Processo Unificado consiste de todos os casos 
de uso escritos para um sistema.
MCU, por que fazer?
� Para os clientes (validação)
� É uma forma de aprovar o que 
o sistema deverá fazer
� Para os desenvolvedores
� Ponto de partida para refinar 
requisitos de software.
� Podem seguir um 
desenvolvimento dirigido a casos 
1
1
� Permite entender o que o 
sistema deverá fazer 
desenvolvimento dirigido a casos 
de uso.
� Designer (projetista): encontrar 
classes 
� Testadores: usam como base para 
casos de teste
Composição do MCU
1. Descrição Textual
1. Diagrama de Casos de Uso
� Fornece uma visão global e de alto nível do sistema.
1
2
� Fornece uma visão global e de alto nível do sistema.
� Pode ser visto como um diagrama de contexto.
Elementos: casos de uso, atores, relacionamentos entre os 
elementos anteriores.
MCU: Descrição Textual
� Um caso de uso é a especificação de uma seqüência de interações 
entre um sistema e os agentes externos.
1
3
“... escrever casos de uso é fundamentalmente um exercício 
de escrever um texto em prosa, com todas as dificuldades de 
boa articulação que vêm junto com a escrita em prosa em geral 
...”
Alistair Cockburn em “Escrevendo Casos de Uso Eficazes”
MCU: Descrição Textual
� Há vários estilos de descrição de casos de uso.
� Normalmente, uma descrição pode variar em 3 dimensões:
1
4
sucinto
expandido
MCU: Descrição Textual
� Formato
� Contínua
� Tabular
� Numerada
Caso de Uso: Realizar Saque
Este caso de uso inicia quando o Cliente chega
ao caixa eletrônico e insere seu cartão. O Sistema
requisita a senha do Cliente. Após o Cliente
fornecer sua senha e esta ser validada, o Sistema
1
5
� Numerada fornecer sua senha e esta ser validada, o Sistema
exibe as opções de operações possíveis. O
Cliente opta por realizar um saque. Então o
Sistema requisita o total a ser sacado. O Cliente
fornece o valor da quantidade que deseja sacar. O
Sistema fornece a quantia desejada e imprime o
recibo para o Cliente. O Cliente retira a quantia e
o recibo, e o caso de uso termina.
MCU: Descrição Textual
� Formato
� Contínua
� Tabular
� Numerada
Cliente Sistema
Insere seu cartão no caixa
eletrônico.
Digita senha.
Apresenta solicitação de
senha.
Valida senha e exibe menu de
1
6
� Numerada Digita senha.
Solicita realização de saque.
Fornece o valor da quantia
que deseja sacar.
Retira a quantia e o recibo.
Valida senha e exibe menu de
operações disponíveis.
Requisita quantia a ser
sacada.
Fornece a quantia desejada e
imprime o recibo para o
Cliente
MCU: Descrição Textual
� Formato
� Contínua
� Tabular
� Numerada
1) Cliente fornece sua identificação.
2) Sistema identifica o usuário.
3) Sistema fornece opções disponíveis para
movimentação da conta.
4) Cliente solicita o saque de uma determinada
quantia.
1
7
� Numerada quantia.
5) Sistema requisita o valor da quantia a ser
sacada.
6) Cliente fornece o valor da quantia que deseja
sacar.
7) Sistema fornece a quantia desejada.
8) Cliente retira dinheiro e recibo e o caso de
uso termina.
MCU: Descrição Textual
� Grau de abstração (tecnologia?)
� Essencial 
� Real
1) Cliente fornece sua identificação.
2) Sistema identifica o usuário.
3) Sistema fornece opções disponíveis para
movimentação da conta.
1
8
4) Cliente solicita o saque de uma determinada
quantia.
5) Sistema requisita o valor da quantia a ser
sacada.
6) Cliente fornece o valor da quantia que
deseja sacar.
7) Sistema fornece a quantia desejada.
8) Cliente retira dinheiro e recibo e o caso de
uso termina.
MCU: Atores
�Elemento externo que interage com o 
sistema.
� “externo”: atores não fazem parte do sistema.
� “interage”: um ator troca informações com o sistema.
1
9
MCU: Atores x Casos de Uso
� Um ator representa um conjunto coerente de papéis que os 
usuários de casos desempenham quando interagem com o 
sistema 
� Um caso de uso representa o que um ator quer que o sistema 
2
0
� Um caso de uso representa o que um ator quer que o sistema 
faça. 
� Atores servem para definir o ambiente do sistema.
� Quando definimos o que os atores fazem e o que os casos de uso 
fazem, delimitamos, de forma clara, o escopo do sistema.
MCU: Diagrama de Casos de Uso 
(DCU)
� Ferramenta: UML
� Representa graficamente os atores, casos de uso e relacionamentos entre esses 
elementos.
� Tem o objetivo de ilustrar em um nível alto de abstração quais elementos 
2
1
� Tem o objetivo de ilustrar em um nível alto de abstração quais elementos 
externos interagem com que funcionalidades do sistema.
MCU: Exemplo de DCU
2
2
MCU: Relacionamentos no DCU
2
3
Técnicas para identificar 
os elementos do MCU
MCU: Identificação dos elementos
� Atores e os casos de uso são identificados a partir de informações coletadas 
no levantamento de requisitos.
� Fontes e os destinos das informações a serem processadas são atores em 
potencial.
2
5
potencial.
� Caso de Uso Primário: representa os objetivos dos atores. 
� Caso de Uso Secundário: aquele que não traz benefício direto para os atores, 
mas que é necessário para que sistema funcione adequadamente.
� Não há regra que indique quantos casos de uso e atores são necessários para 
descrever um sistema.
MCU: Identificando Casos de Uso 
Primários
� Perguntas úteis:
� Quais são as necessidades e objetivos de cada ator em relação ao sistema?
� Que informaçõeso sistema deve produzir?
O sistema deve realizar alguma ação que ocorre regularmente no tempo?
2
6
� O sistema deve realizar alguma ação que ocorre regularmente no tempo?
� Para cada requisito funcional, existe um (ou mais) caso(s) de uso para 
atendê-lo? 
MCU: Identificando Casos de Uso 
Secundários
� Estes se encaixam nas seguintes categorias:
� Manutenção de cadastros; 
� Manutenção de usuários;
� Gerenciamento de acesso;
� Manutenção de informações provenientes de outros sistemas.
2
7
� Obs.: casos de uso secundários, são menos importantes que os casos de uso 
primários.
� O sistema de software não existe para cadastrar informações, nem tampouco para gerenciar 
os usuários.
� O objetivo principal de um sistema é agregar valor ao ambiente no qual ele está 
implantado.
Construindo um MCU
DCU: Construção
� Os diagramas de casos de uso devem servir para dar suporte à parte textual do 
modelo, fornecendo uma visão de alto nível.
� Quanto mais fácil for a leitura do diagrama representando casos de uso, melhor.
� Se o sistema sendo modelado não for tão complexo, pode ser criado um único 
DCU.
2
9
� É útil e recomendada a utilização do retângulo de fronteira para delimitar e separar 
visualmente casos de uso e atores.
� Relacionamentos possíveis entre casos de uso:
� <<include>> Um caso de uso existe dentro de outro
� <<extend>> Em alguma situação um caso de uso será estendido por outro
DCU: Construção
� Em sistemas complexos, representar todos os casos de uso do sistema em 
um único DCU talvez o torne um tanto ilegível.
� Alternativa: criar vários diagramas (de acordo com as necessidades de 
visualização) e agrupá-los em pacotes.
3
0
visualização) e agrupá-los em pacotes.
� Todos os casos de uso para um ator;
� Todos os casos de uso a serem implementados em um ciclo de desenvolvimento.
� Todos os casos de uso de uma área (departamento, seção) específica da empresa.
DCU: Construção
3
1
Documentação dos Atores
� Uma breve descrição para cada ator deve ser adicionada ao 
MCU.
� O nome de um ator deve lembrar o papel desempenhado pelo 
3
2
� O nome de um ator deve lembrar o papel desempenhado pelo 
mesmo.
� Exemplo
“Aluno: representa pessoas que fazem um curso dentro 
da universidade.”
Documentação dos Casos de Uso
� Como não temos um padrão, é necessário que a equipe de 
desenvolvimento padronize o seu estilo de descrição.
� Algumas seções normalmente encontradas:
3
3
� Sumário
� Atores
� Fluxo principal
� Fluxos alternativos
� Referências cruzadas (para requisitos não funcionais)
Documentação dos casos de uso 
� Nome
� Descrição
� Identificador
� Fluxo Principal
� Fluxos Alternativos
� Fluxos de Exceção
3
4
� Importância
� Sumário
� Ator Primário
� Atores Secundários
� Pré-condições
Fluxos de Exceção
� Pós-condições
� Regras do Negócio 
� Histórico
� Notas de Implementação
Documentação dos Casos de Uso
� Algumas boas práticas na documentação de casos de uso.
� Comece o nome do caso de uso com um verbo no infinitivo (para indicar um processo ou 
ação).
� Tente descrever os passos de caso de sempre na forma sujeito + predicado. Ou seja, deixe 
explícito quem é o agente da ação.
3
5
explícito quem é o agente da ação.
� Não descreva como o sistema realiza internamente um passo de um caso de uso.
� Tente dar nomes a casos de uso seguindo perspectiva do ator primário. Foque no 
objetivo desse ator. Exemplos: Registrar Pedido, Abrir Ordem de Produção, Manter 
Referência, Alugar Filme, etc.
� Tente manter a descrição de cada caso de uso no nível mais simples possível...
Os papéis do Caso de Uso
Casos de Uso e outras atividades
� Validação
� Clientes e usuários devem entender o modelo (validação) e usá-lo para 
comunicar suas necessidades.
3
7
� Planejamento e gerenciamento do projeto 
� Para o gerente de um projeto ajuda no planejamento e controle de um 
processo de desenvolvimento incremental e iterativo 
� Testes do sistema
� Os casos de uso e seus cenários oferecem casos de teste. 
Casos de Uso e outras atividades
� Documentação do sistema para os usuários
� Manuais e guias do usuário podem ser construídos com base nos casos de uso.
� Realização de uma iteração
Os casos de uso podem ser alocados entre os membros de equipe de 
3
8
� Os casos de uso podem ser alocados entre os membros de equipe de 
desenvolvimento
� Essa estratégia de utilizar o MCU como ponto de partida para 
outras atividades também é denominada Desenvolvimento 
Dirigido por Casos de Uso (Use Case Driven Development)
MCU no processo de desenvolvimento
� Casos de uso formam uma base através da qual podem-se realizar as iterações do 
desenvolvimento.
� Um grupo de casos é alocado a cada iteração.
� Em cada iteração, o grupo de casos de uso é detalhado e desenvolvido.
3
9
� Em cada iteração, o grupo de casos de uso é detalhado e desenvolvido.
� O processo continua até que todos os casos de uso tenham sido desenvolvidos e o 
sistema esteja completamente construído.
� A descrição expandida de um caso de uso pode ser deixada para a iteração na qual 
este deve ser implementado.
� evita perda de tempo inicial no detalhamento.
� estratégia mais adaptável aos requisitos voláteis.
Cuidado!!
� Um caso de uso deve ser executado em uma única interação.
� Um caso de uso deve ser interativo, com entrada e saída de informações do 
sistema.
4
0
� Um caso de uso deve resultar em uma alteração consistente da informação 
armazenada.
� Um caso de uso se aplica em que a interação ocorre em mais de um passo.
Lembre-se
“Casos de uso casuais e legíveis ainda 
são úteis, enquanto casos de uso 
ilegíveis não serão lidos.”
4
1
ilegíveis não serão lidos.”
Atividade anterior
1. Faça para o estudo de caso em desenvolvimento:
1. Levantamento dos requisitos necessários 
2. Diagrama de casos de uso
Material de Apoio
� Estudo de Caso do livro do Bezerra.
� Revista Java Magazine n. 49: “Análise de Requisitos: Usando 
diagramas UML e documentos de casos de uso”
4
3
diagramas UML e documentos de casos de uso”

Outros materiais