Técnicas e Projeto de Sistemas André Mesquita Rincon andrerincon@ifto.edu.br...

Preview:

Citation preview

Técnicas e Projeto de Sistemas

André Mesquita Rinconandrerincon@ifto.edu.brandre.rincon@gmail.com

Engenharia de requisitos – Retomando

Técnico Subsequente – Módulo III(26/04/2010)

Engenharia de requisitos

o A Engenharia de Requisitos é o processo de identificar todos os envolvidos (stakeholders), descobrir seus objetivos e necessidades, e documentá-los de forma adequada para análise, comunicação e posterior implementação

o A maioria dos processos de Engenharia de Requisitos é composta das seguintes atividades:

o Elicitação de requisitos

oAnálise de requisitos

o Especificação de requisitos

oValidação de requisitos

Engenharia de requisitos

o Visão geral de UMLo Unified Modeling Language (Linguagem de

Modelagem Unificada)o UML é uma linguagem para visualização,

especificação, construção e documentação de artefatos de um software orientado a objeto

o Visa facilitar a comunicação entre “clientes” e desenvolvedores

Casos de uso

o Exemplo de diagrama de caso de uso

Requisitos não funcionais

o Requisitos não-funcionais descrevem características do sistema (como o sistema é) ao invés de suas funcionalidades (o que ele faz)

o Podem constituir restrições aos requisitos funcionais

o Assim como os funcionais eles devem ser verificáveis

Requisitos não funcionais

o Uma prática comum é estabelecer a ISO/IEC 9126 como base para especificação dos requisitos não funcionaiso Confiabilidadeo Usabilidadeo EficiênciaoManutenibilidadeo Portabilidade

Requisitos não funcionais

o Confiabilidadeo Capacidade do produto de software de manter um nível de

desempenho especificado, quando usado em condições especificadas

o Exemplo 1: O tempo médio suportado para recuperação de uma falha no sistema nas funcionalidades essenciais para se realizar XPTO deve ser menor que 1 hora

o Exemplo 2: O tempo médio suportado para recuperação de uma falha no sistema em funcionalidade não crucial para a realização de XPTO deve ser menor que 6 horas

Requisitos não funcionais

o Usabilidadeo Capacidade do produto de software de ser compreendido, aprendido,

operado e ser atraente ao usuário, quando usado sob condições especificadas

o Exemplo 1: O sistema deverá fornecer tópicos de ajuda para cada tela apresentada ao usuário, descrevendo o funcionamento e a descrição dos campos da tela

o Exemplo 2: Os usuários deverão ser capazes de utilizar o software, executando todas as funcionalidades disponibilizadas após uma demonstração de no máximo 10 minutos para cada uma das funcionalidades e características do software

o Exemplo 3: O sistema deverá ter como único idioma (Português do Brasil)

Requisitos não funcionais

o Eficiênciao Capacidade do produto de software de apresentar

desempenho apropriado, relativo à quantidade de recursos usados, sob condições especificadas

o Exemplo 1: O sistema deve permitir o acesso de pelo menos 50 usuários simultâneos sem perdas perceptíveis (ao usuário) de desempenho

Requisitos não funcionais

o Manutenibilidadeo Capacidade do produto de ser modificadoo Exemplo 1: Devem ser entregues documentos de

design que especifiquem a arquitetura e o design detalhado do software

o Exemplo 2: O código desenvolvido e entregue deve ser compatível com o produto do design de software

Requisitos não funcionais

o Portabilidadeo Capacidade de um produto ser transferido de um ambiente

para outro

o Exemplo 1: O sistema deve executar sem perda de funcionalidades em ambiente Linux e Windows, utilizando-se o navegador Firefox versão 3.0 ou superior

o Exemplo 2: O servidor que executará a aplicação deverá tem pelo menos 1GB de memória RAM e processador compatível com Pentium V, com um servidor de aplicação Java e um Sistema de Gerenciamento de Banco de Dados devidamente instalados e configurados

o Exemplo 3: A interface gráfica para o ambiente de mesa de trabalho poderá ser executada em máquinas com, no mínimo, 512 MB de memória RAM

Atividade

1. Adequação dos requisitos não funcionais ao contexto do seu projeto

Casos de uso expandido

o Detalha as ações dos usuários no sistema em forma de sequencia de interações dos atores com o sistema

o É criado um caso de uso expandido “para cada” funcionalidade do sistema que está presente no diagrama de casos de uso

o Pode utilizar protótipos de tela para facilitar o entendimento do usuário

Casos de uso expandido

o Elementos do cabeçalhoo Nome do caso de uso com um identificador único

(UC1, UC2, UC3...)o Descrição breve sobre o caso de usoo Ator(es) envolvidos no caso de usoo Pré-condições para realização do caso de usoo Pós-condições que representa o estado do sistema

após a realização do caso de uso

Casos de uso expandido

o Fluxo principalo Descrição numerada da sequencia de passos que o

ator irá executar durante a realização do caso de usoo1...

o2...

o3...

o4...

Casos de uso expandido

o Fluxo alternativoo Ações que ocorrem dentro do sistema, mas que

não correspondem ao fluxo “normal” que o usuário esperava

o Faz referência ao passo que o fluxo alternativo acontece

o 4... no passo 4 o sistema faz XPTO

o Observaçõeso Informações complementares que podem auxiliar

no entendimento do caso de uso

Casos de uso expandido – exemplo 1

o Processo de autenticação em um sistema web em que é exigido nome de usuário e senha para ter acesso às funcionalidades internas da aplicaçãoo A) a única página do sistema que usuário tem acesso aberto (isto é:

sem estar autenticado) é a página que apresenta o formulário de autenticação.

o B) o sistema deve registrar um log de acesso a cada entrada (log-in) e saída (log-out) do sistema em que as seguintes informações serão armazenadas: nome do usuário, data/hora do log-in ou log-out, IP da máquina e operação realizada (log-in ou log-out).

o C) a seguinte funcionalidade deverá estar presente na sua descrição de caso de uso (seja no fluxo principal ou no fluxo alternativo): “Quando o ator ficar sem realizar ações no sistema por 20 minutos, seu log-out será feito automaticamente”.

Casos de uso expandido – exemplo 1

Casos de uso expandido – exemplo 1

Casos de uso expandido – exemplo 1

Casos de uso expandido – exemplo 2

Casos de uso expandido – exemplo 2

Casos de uso expandido – exemplo 2

Casos de uso expandido – exemplo 2

Atividade

1. Descrever os casos de uso de vocês utilizando a técnica de casos de uso expandido

Recommended