• Nenhum resultado encontrado

Requisitos

N/A
N/A
Protected

Academic year: 2021

Share "Requisitos"

Copied!
52
0
0

Texto

(1)
(2)

 Introduzir os conceitos de requisitos do usuário e

do sistema

 Descrever requisitos funcionais e não-funcionais  Explicar como os requisitos de software podem

(3)

 Requisitos Funcionais e Não-Funcionais  Requisitos do usuário

 Requisitos do Sistema

 Especificação da Interface

(4)

 O processo de definição dos serviços que o

cliente requer para um sistema e as restrições sob as quais o sistema deve operar e ser

desenvolvido.

 Os requisitos, por si próprios, são as descrições

dos serviços do sistema e as restrições que são geradas durante o processo de engenharia de requisitos.

(5)

 Pode variar de uma declaração abstrata de alto

nível até uma restrição do sistema para a especificação de uma fórmula matemática detalhada.

 É inevitável que os requisitos sirvam para duas

funções

 Pode ser a base para lances de um contrato – logo

precisa ser aberta à interpretações;

 Pode ser a base para o próprio contrato – logo precisa

ser definida em detalhes;

 Ambas as afirmações podem ser chamadas de

(6)

“Se uma companhia deseja contratar uma empresa para o desenvolvimento de um grande projeto de software, é preciso que sejam definidas as suas necessidades de maneira suficientemente abstrata que não seja uma solução pré-definida. Os requisitos devem ser escritos de maneira que diversas empresas possam participar de uma licitação, ofertando, possivelmente, diferentes formas de atender às necessidades da organização do cliente. Uma vez que a licitação for vencida, o contratado precisa escrever uma definição mais detalhada do sistema para o cliente, de maneira que este possa entender e validar o que será feito pelo software. Ambos os documentos podem ser chamados de documentos de requisitos para o sistema.”

(7)

 Requisitos dos usuários

 Afirmações abstratas em linguagem natural mais

diagramas dos serviços que o sistema proverá e suas restrições operacionais. Escrito para o cliente.

 Requisitos do Sistema

 Um documento estruturado definindo descrições

detalhes das funcionalidades do sistema, serviços e restrições operacionais. Define o que deve ser

implementado de maneira que este pode ser parte do contrato entre o contratante e o contratado.

(8)

Definição dos requisitos do usuário

O software deve prover formas de representar e acessar arquivos externos criados por outras ferramentas.

Definição dos requisitos do sistema

1.1 O usuário poderá definir o tipo de arquivo externo

1.2 Cada tipo de arquivo externo pode ter uma ferramenta associada a ser aplicado ao arquivo.

1.3 Cada arquivo externo pode ser representado por um ícon específico no display do usuário

1.4 Facilidades devem ser providas para cada ícone que represente uma ferramenta externa definida pelo cliente.

1.5 Quando um usuário seleciona um ícone representando um arquivo

externo, o efeito da seleç!ao é aplicar a ferramenta associada com o tipo de arquivo externo representado pelo ícone selecionado.

(9)

Client managers System end-users Client engineers Contractor managers System architects

System end-users Client engineers System architects Software developers

Client engineers (perhaps) System architects Software developers User requirements System requirements Software design specification Requisitos de usuário Requisitos de sistema Especificação do Projeto de software Gerentes do cliente

Usuários finais do sistema Engenheiros do cliente Gerentes do contratado Arquitetos do Sistema

Usuários finais do sistema Engenheiros do cliente Arquitetos do Sistema Desenvolvedores do Software Engenheiros do cliente (?) Arquitetos do Sistema Desenvolvedores do Software

(10)

 Requisitos Funcionais

 Declarações de serviços que o sistema deve prover, como o

sistema deve reagir a entradas particulares e como o sistema deve reagir em situações particulares.

 Requisitos Não-Funcionais

 Restrições nos serviços ou funções oferecidas pelo sistema

como restrições de tempo, restrições no processo de desenvolvimento, padrões, etc.

 Requisitos de domínio

 Requisitos que parte do domínio de aplicação do sistema e

(11)

 Descrevem funcionalidades ou serviços do

sistema.

 Dependem do tipo do software, usuários

esperados e o tipo de sistema no qual o software será usado.

 Requisitos funcionais do usuário podem ser

definidos como definições de alto-nível de que o sistema deve fazer mas requisitos funcionais do sistema devem descrever os serviços do sistema em detalhes.

(12)

 O usuário deve ser capaz de procurar tanto

dentro de todas as bases de dados, como em um subconjunto destas bases.

 O sistema deve prover visualizadores adequados

para que os usuários leiam documentos em um repositório de documentos.

 Todo pedido deve ter alocado um identificador

único (ORDER_ID) o qual deve ser usado para que o cliente copie o documento para uma área de armazenamento permanente do usuário.

(13)

 Problemas acontecem quando os requisitos não

são definidos com precisão.

 Requisitos ambíguos podem ser interpretados de

forma diferente pelos desenvolvedores e usuários.

 Considere o termo ‘visualizadores adequados’

 Interpretação do usuário – Visualizador de propósito

geral para cada tipo diferente de documento;

 Interpretação do desenvolvedor – prover um

visualizador de textos que mostre o conteúdo do documento.

(14)

 Inicialmente, os requisitos devem ser tanto

completos quanto consistentes.

 Completude

 Devem conter descrições de todas as facilidades

requisitadas.

 Consistência

 Não devem haver conflitos ou contradições nas

descrições das facilidades do sistema.

 Na prática, é impossível produzir um documento de

(15)

 Estes definem propriedades do sistema e

restrições, ex. Confiança, tempo de resposta, requisitos de armazenamento. Restrições são

capacidades de E/S, representações do sistema, etc.

 Requisitos de processos podem também ser

especificadas como o sistema CASE usado, a linguagem de programação ou o método de desenvolvimento.

 Requisitos não-funcionais podem ser mais críticos

que requisitos funcionais. Caso estes não sejam atendidos, o sistema pode ser inútil.

(16)

 Requisitos dos produtos

 Requisitos que especificam que o produto entregue se

comportará de uma determinada maneira, ex. Velocidade de execução, confiabilidade, etc.

 Requisitos Organizacionais

 Requisitos que são consequencia de políticas de uma

organização ex., padrões no processo, requisitos de implementação, etc.

 Requisitos Externos

 Requisitos que devem de fatores que são externos ao sistema

e ao seu processo de desenvolvimento, ex. Interoperabilidade, requisitos legislativos, etc.

(17)

Performance requirements Space requirements Usability requirements Efficiency requirements Reliability requirements Portability requirements Interoperability requirements Ethical requirements Legislative requirements Implementation requirements Standards requirements Delivery requirements Safety requirements Privacy requirements Product requirements Organisational requirements External requirements Non-functional requirements

(18)

 Requisitos do Produto

8.1 A interface com o usuário devem ser implementados como um HTML simples sem frames ou applets java.

 Requisitos Organizacionais

9.3.2 O processo de desenvolvimento do sistema e entrega de documentos devem estar em conformidade com os padrões de processo e entregas definidos no XYZCo-SP-STAN-95.

 Requisitos Externos

7.6.5 O sistema não deve ceder nenhuma informação pessoal sobre os

clientes, exceto seus nomes e números de referências aos operadores do sistema.

(19)

 Requisitos Não-Funcionais podem ser bem difíceis de

serem precisamente definidos e pode ser difícil verificar requisitos imprecisos.

 Objetivo

 Uma intenção geral do usuário como facilidade de uso.

 Requisito não-funcional verificável

 Uma afirmação usando alguma medida que seja testada

objetivamente.

 Objetivos ajudam os desenvolvedores na medida que

estes entendem melhor as intenções dos usuários do sistema.

(20)

Objetivo do sistema

 O Sistema deve ser fácil de ser utilizado e controles

avançados devem ser organizados de maneira que minimizem os erros.

Requisitos não-funcionais verificáveis.

 Controladores experientes devem ser capazes de utilizar

todas as funções do sistema após um total de duas horas de treinamento. Depois deste treinamento, a média de erros não deve exceder dois por dia.

(21)
(22)

 Conflitos entre requisitos não-funcionais

diferentes são comuns em sistemas complexos.

 Sistema espacial

 Para minimizar o peso, o número de chips separados

no sistema devem ser minimizados.

 Para minimizar o consumo de energia, chips de baixo

consumo devem ser usados.

 Entretanto, usar chips de baixo consumo pode

significar que mais chips precisam ser utilizados. Qual o requisito mais crítico?

(23)

 Derivado do domínio da aplicação e descrevem as

características do sistema que refletem o domínio.

 Requisitos de domínio podem ser novos requisitos

funcionais, restrições em requisitos existentes ou definir cálculos específicos.

 Se requisitos de domínio não forem satisfeitas, o

(24)

 Deve haver uma interface com usuário para todos

os bancos de dados baseados no padrão Z39.50.

 Devido a restrições de copyright, alguns

documentos devem ser apagados imediatamente na chegada. Dependendo dos requisitos do usuário, estes documentos serão tanto impressos localmente no servidor do sistema ou roteados para a impressora da rede.

(25)

 A desaceleração de um trem pode ser calculada a

partir de:

 Dtrem = Dcontrole + Dgradiente

onde Dgradiente is 9.81ms2 * gradiente

compensado/alpha e onde os valores de 9.81ms2

/alpha são conhecidamente diferentes para tipos diferentes de trens.

(26)

 Entendimento

 Requisitos são expressos na linguagem do domínio da

aplicação;

 Frequentemente, isto não é entendido pelos

engenheiros de software durante o desenvolvimento do sistema.

 Implicações

 Especialistas do domínio entendem tão bem a área

que não pensam em explicitar os requisitos do domínio.

(27)

 Devem descrever requisitos funcionais e

não-funcionais de maneira que sejam entendíveis pelos usuários do sistema que não possuem conhecimento técnico.

 Requisitos de usuário são definidos utilizando

linguagem natural, tabelas e diagramas, uma vez que estes são compreendidos por todos os

(28)

 Pouca clareza

 Precisão é difícil sem fazer o documento difícil de ser

lido.

 Confusão de requisitos

 Requisitos funcionais e não-funcionais tendem a ser

trocados.

 União de Requisitos

 Muitos requisitos diferentes podem ser

(29)

2.6 Facilidades da grade Posicionamento de entes no diagrama,

o usuário pode mover a grade em centímetros ou polegadas, através de opção no painel de controle. No início a grade estará desligada. a grade pode ser ligada ou desligada a qualquer momento durante uma sessão de edição e pode ser trocada entre centímetros e

polegadas a qualquer momento. Uma opção de grid deve ser

provida em uma visão reduzida-para-caber mas o número de linhas da grade mostradas serão reduzidas para evitar o preenchimento de pequenos diagramas com linhas da grade.

(30)

 Os requisitos da grade misturam três diferentes tipos

de requisitos

 Requisitos funcionais conceituais (necessidade da grade);  Requisitos não-funcionais (unidades da grade);

(31)
(32)

 Crie um formato padrão e use-o para todos os

requisitos.

 Use a linguagem de forma consistente. Use Deve

para requisitos obrigatórios, pode para requisitos desejáveis.

 Destaque no texto as principais partes do

requisito.

(33)

 Especificações mais detalhadas das funções do

sistema, serviços e restrições que os requisitos do usuário.

 Eles são destinados a serem a base para o

projeto do sistema.

 Eles podem ser incorporados ao contrato do

sistema.

 Requisitos do sistema podem ser definidos ou

ilustrados usando modelos de sistema (capítulo 8 do Sommerville).

(34)

 A princípio, requisitos devem reportar o que o

sistema deve fazer e o projeto como ele deve fazer.

 Na prática, requisitos e projeto são inseparáveis

 Uma arquitetura de sistema pode ser projetada para

estruturar os requisitos;

 O sistema pode inter-operar com outros sistemas que

gerem requisitos do projeto;

 O uso de um projeto específico pode ser um requisito

(35)

 Ambiguidade

 OS leitores e escritores dos requisitos devem

interpretar as mesmas palavras da mesma maneira. LN é naturalmente ambígua portanto isto é muito difícil.

 Sobre-flexibilidade

 A mesma coisa pode ser dita de diversas formas

diferentes na espeficicação.

 Falta de modularização

 Estruturas LN são inadequadas para estruturar os

(36)
(37)

 A liberdade do escritor dos requisitos é limitada

por um padrão predefinido de requisitos.

 Todos os requisitos são escritos de forma

padronizada.

 A terminologia usada na descrição pode ser

limitada.

 A vantagem é que a maior parte da

expressividade em linguagem natural é mantida mas é imposto um certo grau de uniformidade à especificação.

(38)

 Definição da função ou entidade

 Descrição das entradas e de onde elas vem.  Descrição das saídas e para onde elas vão.  Indicações de outras entidades necessárias.  Pré e pós condições (Se for o caso).

(39)
(40)

 Usada para complementar a linguagem natural.  Particularmente útil quando é preciso definir

diversos conjuntos de ações alternativas possíveis.

(41)
(42)

 Modelos gráficos são mais úteis quando é

necessário mostrar como os estados mudam ou quando é necessário descrever uma sequencia de ações.

 Diferentes modelos gráficos são explicados no

(43)

 Estes mostram a sequencia dos eventos que

ocorrem quando existe alguma interação com o sistema.

 O diagrama é lido de cima para baixo para se ver

a ordem das ações.

 Saque do dinheiro em um caixa eletrônico

 Valida o cartão;

 Processa a requisição;  Completa a transação.

(44)

ATM Database Card Card number Card OK PIN request PIN Option menu <<exception>> invalid card Withdraw request Amount request Amount Balance request Balance <<exception>> insufficient cash Debit (amount) Debit response Card Card removed Cash Cash removed Receipt Validate card Handle request Complete transaction

(45)

 A maioria dos sistemas deve operar com os outros

sistemas as interfaces de operação devem ser especificadas como parte dos requisitos.

 Três tipos de interface podem ser definidos

 Interfaces Procedurais;

 Estruturas de dado que são trocadas;  Representação dos dados.

 Notações formais são técnicas efetivas para

(46)

interface PrintServer {

// defines an abstract printer server

// requires: interface Printer, interface PrintDoc

// provides: initialize, print, displayPrintQueue, cancelPrintJob, switchPrinter void initialize ( Printer p ) ;

void print ( Printer p, PrintDoc d ) ; void displayPrintQueue ( Printer p ) ;

void cancelPrintJob (Printer p, PrintDoc d) ;

void switchPrinter (Printer p1, Printer p2, PrintDoc d) ; } //PrintServer

(47)

 O documento de requisitos é o comprovante

oficial do que é requerido dos desenvolvedores do sistema.

 Devem incluir uma definição dos requisitos do

usuário e uma especificação dos requisitos do sistema.

 NÃO é um documento de projeto. Sempre que

possível, ele deve definir o QUÊ será o sistema ao invés de COMO ele fará.

(48)

Use the requirements to develop validation tests for

the system Use the requirements document to plan a bid for the system and to plan the system development process

Use the requirements to understand what system is to

be developed System test engineers Managers System engineers

Specify the requirements and read them to check that they

meet their needs. They specify changes to the

requirements System

customers

Use the requirements to help understand the system and the relationships between its

parts System

maintenance engineers

(49)

 Definem uma estrutura genérica para o

documento de requisitos que devem ser instanciadas para cada sistema específico.

 Introdução.

 Descrição geral.

 Requisitos específicos.  Apendice.

(50)

 Prefácio  Introdução  Glossário

 Definição dos requisitos do usuário  Arquitetura do sistema

 Especificação dos requisitos do sistema  Modelos do sistema

 Evolução do sistema  Apêndices

(51)

 Requisitos definem o que o sistema deve fazer e

define as restrições de operação e implementação.

 Requisitos funcionais definem os serviços que o

sistema deve prover.

 Requisitos não-funcionais restringem o sistema que

está sendo desenvolvido e o processo de desenvolvimento que deve ser usado.

 Requisitos de usuário são afirmações em alto-nível de

que o sistema deve fazer. Requisitos de usuário

podem ser escritos usando linguagem natural, tabelas e diagramas.

(52)

 Requisitos de sistema são destinados a comunicar as

funções que o sistema deve prover.

 O documento dos requisitos do software é um acordo

sobre os requisistos do sistema.

 O padrão IEEE é um ponto de partida para a definição

Referências

Documentos relacionados

É a partir dessas definições que se traçaram os contornos próprios das telebiografias Dalva e Herivelto Globo, 2010 e Maysa Globo, 2009, escolhidas para análise empírica, já

vigência da campanha, no processo seletivo 01/2018 do Centro Universitário de Lavras – UNILAVRAS, para ingresso em um dos cursos presenciais ou a distância, e optar pela

Tal qual se percebe na interpretação de Robert De Niro, a problematização do cinema e da história refletem a condição representada de um célebre criminoso para a

Resumo  O  objetivo  deste  artigo  é  analisar  como  a  integração  de  recursos  multimídia  texto,  imagem,  vídeo,  áudio  e 

Another study of adverse events worthy of mention was conducted in the United States between 2007 and 2013 and identified greater SAE occurrence during the first vaccine dose

Quanto ao tipo de alongamento, cinco professores trabalham com o alongamento estático, quatro com o alongamento ativo, três com o passivo e dois aplicam

O presente trabalho teve como objetivo revisar a literatura evidenciando os diferentes métodos existentes para análise das marcas de mordida, que permitem ao

26 Tabela 3 – Atividades na área de reprodução acompanhadas durante o estágio obrigatório na Clínica de Equinos Santa Maria, no período de 1º de agosto a 15 de novembro.. 30