engenharia requisitos - aula4 06 03 2006
TRANSCRIPT
![Page 1: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/1.jpg)
Engenharia de Requisitos
Requisitos de Software Processos de Engenharia de Requisitos
![Page 2: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/2.jpg)
Engenharia de Requisitos
Introdução.
![Page 3: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/3.jpg)
Requisitos de Software
Compreender a natureza do software a ser desenvolvido Compreender a natureza do software a ser desenvolvido é realmente muito complexo;é realmente muito complexo;
Consequentemente é difícil estabelecer o que o sistema Consequentemente é difícil estabelecer o que o sistema deve fazer;deve fazer;
Estabelecer o que o sistema deve fazer descrevendo Estabelecer o que o sistema deve fazer descrevendo suas funções e restrições é conseguir determinar todos suas funções e restrições é conseguir determinar todos os seus requisitos;os seus requisitos;
O Processo de:O Processo de:
1. Descobrir 2. Analisar
3. Documentar 4. Verificar
É chamado de É chamado de Engenharia de RequisitosEngenharia de Requisitos
![Page 4: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/4.jpg)
Requisitos de Software - SWEBOK
![Page 5: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/5.jpg)
Engenharia de Requisitos
O processo de estabelecer as O processo de estabelecer as funções que um cliente requer de funções que um cliente requer de um sistema e as restrições sob as um sistema e as restrições sob as quais ele deve funcionar e ser quais ele deve funcionar e ser desenvolvido;desenvolvido;
Os requisitos são descrições das Os requisitos são descrições das funções e restrições que são geradas funções e restrições que são geradas durante o processo de engenharia durante o processo de engenharia de requisitos;de requisitos;
![Page 6: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/6.jpg)
O que é um requisito ?
Pode variar desde uma descrição abstrata Pode variar desde uma descrição abstrata em alto nível de uma função ou restrição em alto nível de uma função ou restrição do sistema até uma especificação do sistema até uma especificação funcional matemática detalhada;funcional matemática detalhada;
Isso por que :Isso por que : Podem ser base para uma licitação – por
isso devem ser abertos a interpretações; Podem ser base para um contrato – por
isso devem ser definidos em detalhes; Ambos acima descrito podem ser chamado
de requisitos
![Page 7: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/7.jpg)
O que é um requisito ?
Pode variar desde uma descrição abstrata em Pode variar desde uma descrição abstrata em alto nível de uma função ou restrição do alto nível de uma função ou restrição do sistema até uma especificação funcional sistema até uma especificação funcional matemática detalhada;matemática detalhada;
Isso por que :Isso por que : Podem ser base para uma licitação – por isso
devem ser abertos a interpretações; Podem ser base para um contrato – por isso
devem ser definidos em detalhes; Ambos acima descrito podem ser chamado
de requisitos
![Page 8: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/8.jpg)
O que é um requisito ?
Segundo o SEWBOK:Segundo o SEWBOK:
Um requisito de software é uma propriedade que deve ser implementada para resolver um problema do mundo real;
Todo requisito de software deve ser passível de verificação;
![Page 9: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/9.jpg)
Tipos de Requisitos ?
Requisito de Usuário:Requisito de Usuário: Declarações em linguagem natural acrescidas de
diagramas das funções que o sistema fornece e suas restrições operacionais. Elaborados para os clientes;
Requisitos do Sistema:Requisitos do Sistema: Um documento estruturado, estabelecendo
descrições detalhadas das funções do sistema. Elaborados como um contrato entre o cliente e o contratante;
Especificação de SoftwareEspecificação de Software Uma descrição detalhada do software, que pode
servir como base para um projeto ou implementação. Elaborada para desenvolvedores
![Page 10: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/10.jpg)
Requisitos Usuário X Sistema
![Page 11: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/11.jpg)
Leitores de Requisitos
![Page 12: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/12.jpg)
Requisitos de Produto e de Processo
![Page 13: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/13.jpg)
O que é um requisito de Produto ?
São requisitos que devem ser São requisitos que devem ser implementados no software. Ex:implementados no software. Ex:
O sistema deverá verificar se o estudante tem os pré requisitos antes de matriculá-lo em um determinado curso;
![Page 14: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/14.jpg)
O que é um requisito de Processo ?
Um requisito de processo é uma restrição Um requisito de processo é uma restrição imposta ao desenvolvimento do software. imposta ao desenvolvimento do software. Ex:Ex:
O sistema deverá ser desenvolvido em ADAS;
Requisitos de processos podem ser Requisitos de processos podem ser impostos pela organização, pelos clientes impostos pela organização, pelos clientes ou ainda por terceira parte reguladora ou ainda por terceira parte reguladora (certificações )(certificações )
![Page 15: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/15.jpg)
Requisitos de Produto e de Processo
![Page 16: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/16.jpg)
Engenharia de Requisitos
Requisitos Funcionais.Requisitos Não Funcionais.
![Page 17: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/17.jpg)
Requisitos Funcionais e Não Funcionais
Requisitos Funcionais
Declarações de funções que o sistema deve fornecer, como o sistema deve reagir a entradas específicas e como o sistema deve se comportar em situações particulares;
Requisitos Não Funcionais
Restrições nas funções oferecidas pelo sistema, tais como restrições detempo, restrições no processo de desenvolvimento, padrões, etc.
Requisitos de Domínio
Requisitos que vêm do domínio de aplicação do sistema e que refletem características daquele domínio;
![Page 18: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/18.jpg)
Requisitos Funcionais
Descrevem funcionalidades das funções do sistema;
Dependem do tipo de software, usuários esperados e o tipo de sistema onde o software será usado;
Requisitos funcionais do usuário podem ser declarações de alto nível daquilo que o sistema deve fazer;
Requisitos funcionais do sistema devem descrever em detalhe as funções do sistema
![Page 19: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/19.jpg)
Exemplo de Requisitos Funcionais
O usuário deve ser capaz de efetuar consultas sobre todo o conjunto inicial de bancos de dados ou selecionar um subconjunto deste;
O sistema deve fornecer visualizadores apropriados para o usuário ler documentos no arquivo de documentos;
Cada pedido deve possuir um identificador único (NUM_PEDIDO), que o usuário deve ser capaz de copiar para a área de armazenamento permanente de contas
![Page 20: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/20.jpg)
Imprecisão dos Requisitos – Requisitos Quantificáveis
Surgem problemas quando os requisitos não são definidos com precisão;
Requisitos ambíguos podem ser interpretados de maneiras diferentes por desenvolvedores e usuários;
Considere-se o termo ‘visualizadores apropriados’
Intenção do usuário – visualizador de fim específico para cada tipo diferente de documento
Interpretação do desenvolvedor – fornecer um visualizador de texto que mostra o conteúdo do documento
![Page 21: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/21.jpg)
Completude e Consistência dos Requisitos - – Requisitos Quantificáveis
Em princípio, os requisitos deveriam ser ao mesmo tempo completos e consistentes;
Completos: Eles deveriam incluir descrições de todas as funções
requeridas
Consistentes: Não deveriam haver conflitos ou contradições nas
descrições dos recursos do sistema
Na prática, é impossível produzir um documento de requisitos completo e consistente (complexidade e tamanho dos sistemas atuais)
![Page 22: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/22.jpg)
Requisitos Não Funcionais
Define as propriedades e restrições do sistema, p. ex., confiabilidade, tempo de resposta e requisitos de armazenamento. Restrições são a capacidade do dispositivo de I/O, representações do sistema, etc;
Os requisitos do processo podem também ser especificados, definindo uma ferramenta CASE, linguagem de programação ou método de desenvolvimento específicos;
Requisitos não-funcionais podem ser mais críticos que requisitos funcionais. Se eles não forem satisfeitos, o sistema pode ser inútil;
![Page 23: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/23.jpg)
Classificações Não Funcionais
Requisitos do Produto: Requisitos que especificam que o produto entregue deve
ter um comportamento específico. Exemplos: velocidade de execução, confiabilidade, facilidade de uso e etc.
Requisitos Organizacionais: Requisitos que são conseqüência de políticas e
procedimentos organizacionais. Exemplos: padrões de processo utuilizados, requisitos de implementação, etc.
Requisitos Externos: Requisitos que podem surgir de fatores que são externos
ao sistema e ao seu processo de desenvolvimento. Exemplos: requisitos de interoperabilidade, requisitos legais, etc.
![Page 24: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/24.jpg)
Tipos de Requisitos Não Funcionais
![Page 25: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/25.jpg)
Exemplos de Requisitos Não Funcionais
Requisitos do Produto: 4.C.8 Deve-se permitir que toda a comunicação
necessária entre o APSE e o usuário possa ser expressa no conjunto de caracteres padrão Ada.
Requisitos Organizacionais: 9.3.2 O processo de desenvolvimento do sistema e
documentos entregues deve estar de acordo com o processo e produtos a serem entregues definido em XYZCo-SP-STAN-95.
Requisitos Externos: 7.6.5 O sistema não deve abrir nenhuma informação
pessoal dos clientes além do seu nome e número de referência para os operadores do sistema.
![Page 26: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/26.jpg)
Metas e Requisitos – Requisitos Quantificáveis
Requisitos não-funcionais podem ser muito difíceis de serem definidos com precisão e requisitos imprecisos podem ser difíceis de verificar.
Meta: Uma intenção geral do usuário, tal como a facilidade
de uso. Requisitos Não Funcionais Verificáveis:
Uma declaração usando alguma medida que possa ser objetivamente testada.
Metas são úteis para os desenvolvedores à medida em que elas conduzem as intenções dos usuários do Sistema.
![Page 27: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/27.jpg)
Exemplos – Requisitos Quantificáveis
Uma Meta do Sistema.
O sistema deve ser fácil de usar por controladores experientes e deve ser organizado de modo a minizar os erros dos usuários.
Um Requisito Não Funcional Verificável:
Controladores experientes devem ser capazes de usar todas as funções do sistema após um total de duas horas de treinamento. Após esse treinamento, o número médio de erros cometidos por usuários experientes não deve exceder dois por dia.
![Page 28: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/28.jpg)
Métricas de Requisitos – Quantificar Requisitos
![Page 29: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/29.jpg)
Interação de Requisitos - Conflitos
Conflitos entre diferentes requisitos não-funcionais são comuns em sistemas complexos.
Sistema de nave espacial
Para minimizar o peso, o número de chips separados no sistema deve ser minimizado.
Para minimizar o consumo de energia, deve-se utilizar chips de menor capacidade.
Entretanto, o uso de chips de menor capacidade significa que mais chips terão que ser utilizados. Qual deles é o requisito mais crítico?
![Page 30: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/30.jpg)
Requisitos de Domínio
Derivados do domínio da aplicação.
Descrevem características e recursos do sistema que refletem o domínio;
Podem ser novos requisitos funcionais, restrições nos requisitos existentes ou definições de novas Computações;
Se os requisitos de domínio não forem satisfeitos, o sistema pode não ser trabalhável;
![Page 31: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/31.jpg)
Requisitos de Domínio de Sistema de Proteção de Trens
A desaceleração do trem deve ser computada como: Dtrem = Dcontrole + Dgradiente
onde Dgradiente é 9.81ms2 * gradiente/alpha compensado e onde os valores de 9.81ms2 /alpha são conhecidos para diferentes tipos de trens.
![Page 32: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/32.jpg)
Problemas de Requisitos de Domínio
Compreensibilidade:
Os requisitos são expressos na linguagem do domínio da aplicação.
Isso é freqüentemente mal compreendido pelos engenheiros de software que estão desenvolvendo o sistema;
Requisitos Implicitos:
Especialistas de domínio compreendem a área tão bem que eles não se preocupam em tornar os requisitos de domínio explícitos;
![Page 33: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/33.jpg)
Engenharia de Requisitos
Requisitos do Usuário.Requisitos de Sistema.Documento de Requisitos
![Page 34: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/34.jpg)
Requisitos de Produto e de Processo
![Page 35: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/35.jpg)
Requisitos do Usuário
Devem descrever requisitos funcionais e não funcionais de tal forma que eles sejam compreensíveis pelos usuários do sistema que não possuem conhecimento técnico detalhado;
Os requisitos de usuário são definidos utilizando linguagem natural, tabelas e diagramas;
![Page 36: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/36.jpg)
Problemas com a Linguagem Natural
Falta de Clareza: É difícil ser preciso sem tornar um
documento difícil de ser lido;
Confusão de Requisitos: Requisitos funcionais e não-funcionais
tendem a estar misturados;
Fusão de Requisitos: Vários requisitos diferentes podem ser
expressos juntos;
![Page 37: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/37.jpg)
Requisitos de Banco de Dados
4.A.5 O banco de dados deve suportar a geração e controle de objetos de configuração, isto é, objetos que são eles mesmos agrupamentos de outros objetos no banco de dados. Os recursos de controle de configuração devem permitir acesso aos objetos em um grupo de versão pelo usuário com um nome incompleto.
![Page 38: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/38.jpg)
Problemas com Requisitos
Os requisitos de banco de dados incluem tanto informação conceitual quanto informação detalhada Descreve o conceito de recursos de controle de
configuração; Inclui o detalhe que objetos podem ser acessados
usando um nome incompleto. Esse detalhe seria melhor explicado nos requisitos
do Sistema; É uma boa prática separar em documentos
diferentes requisitos do usuário de requisitos do sistema: Não sobrecarregar leitores sem conhecimentos
técnicos; Ver como isso é ruim no próximo exemplo
![Page 39: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/39.jpg)
Requisito Para a Grade de um Editor
2.6 Recursos de grade Para auxiliar no posicionamento de entidades em um diagrama, o usuário pode ligar uma grade em centímetros ou polegadas, por meio de uma opção no painel de controle. Inicialmente, a grade está desligada. A grade pode ser ligada e desligada a qualquer tempo durante uma sessão de edição e pode ser alternada entre polegadas e centímetros a qualquer tempo. Uma opção da grade será fornecida para a visão “reduzir para caber”, mas o número de linhas de grade mostradas será reduzido para evitar o preenchimento de diagramas menores com linhas de grade.
![Page 40: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/40.jpg)
Problemas com Requisitos
Os requisitos de grade misturam três tipos diferentes de requisitos Requisitos funcionais conceituais (a
necessidade de uma grade) Requisitos não-funcionais (unidades da
grade) Requisitos não-funcionais de IU (seleção de
grade)
![Page 41: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/41.jpg)
Problemas com Requisitos
O requisito anterior tmb fica imcompleto pois não apresenta todas as informações de inicialização; Especifica que a grade esta inicialmente
desligada, mas não define as unidades quando esta ligada;
Fornece que o usuário pode alternar entre unidades, mas não o espaçamento entre as grades
![Page 42: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/42.jpg)
Problemas com Requisitos
Quando os requisitos do USUÁRIO apresentam muitas informações: Restringe o desenvolvedor em oferecer
soluções mais inovadoras; Faz com que os requisitos sejam de difícil
compreensão; Os requisitos do usuário devem
simplesmente: Mostrar os recursos principais que devem ser
desenvolvidos. Vamos ver o próximo exemplo
![Page 43: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/43.jpg)
Representação Estruturada
![Page 44: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/44.jpg)
Representação Estruturada
O requisito foi escrito focalizando apenas as características essenciais do sistema;
A lógica associada aos requisitos é importante: Ajuda desenvolvedores e manutenção a
compreender por que os requisitos foram incluídos;
Ajuda a avaliar o impacto da mudança no requisito;
![Page 45: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/45.jpg)
Representação Estruturada
No próximo exemplo de requisito pode-se ver uma outra escrita mais especifica de requisito de usuário Especificação mais detalhada; Definição inclui uma lista de ações de um
usuário: Ajuda a fornecer de maneira CONSISTENTE
todas as funções do requisito; Os detalhes de implementação não devem
ser inclusos nessas informações adicionais;
![Page 46: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/46.jpg)
Representação Estruturada
![Page 47: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/47.jpg)
Representação Estruturada
Perceba que:
A definição não estabelece como o cursor é movimentado ou como o tipo é selecionado;
Os detalhes de implementação não são comentados;
![Page 48: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/48.jpg)
Linhas Guias para Elaboração de Requisitos
Definir um formato padrão e usá-lo para todos os Requisitos;
Utilizar o idioma de forma consistente. Usar “deve” para requisitos obrigatórios, “deveria” para requisitos Desejáveis;
Usar texto destacado para identificar as partes principais do requisito;
Evitar o uso do jargão de computação;
![Page 49: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/49.jpg)
Requisitos de Sistema
Especificações mais detalhadas de requisitos de usuário;
Servem como base para projetar o sistema;
Podem ser utilizados como parte do contrato de Sistema
Os requisitos de sistema podem ser expressos utilizando os modelos de sistema;
![Page 50: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/50.jpg)
Requisitos e Projeto
Em princípio, os requisitos deveriam dizer o que o sistema deveria fazer e o projeto deveria dizer como ele deveria fazê-lo
Na prática, requisitos e projeto são inseparáveis Uma arquitetura do sistema pode ser projetada para
estruturar os requisitos
O sistema pode interoperar com outros sistemas que geram requisitos de projeto;
O uso de um projeto específico pode ser um requisito de domínio;
![Page 51: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/51.jpg)
Especificação de Requisitos de Sistema
O requisito de sistema pode ser escrito basicamente de duas formas:
Linguagem Natural;
Linguagens não Natural;
![Page 52: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/52.jpg)
Problemas com a Especificação em Linguagem Natural ( LN )
Ambiguidade:
Os leitores e redatores de requisitos devem interpretar as mesmas palavras da mesma maneira. A LN é naturalmente ambígua, portanto isso é muito difícil;
Excesso de Flexibilidade
Pode-se dizer a mesma coisa um uma série de formas diferentes na especificação;
Falta de Modularização
As estruturas da LN são inadequadas para estruturar requisitos de sistemas;
![Page 53: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/53.jpg)
Alternativas à especificação em LN
![Page 54: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/54.jpg)
Especificação em Linguagem Estruturada
Uma forma restrita da linguagem natural pode ser usada para expressar requisitos;
Isso remove alguns dos problemas resultantes da ambigüidade e da flexibilidade e impõe um grau de uniformidade sobre a especificação;
Freqüentemente suportada usando uma abordagem baseada em formulários
![Page 55: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/55.jpg)
Especificação em Linguagem Estruturada – Baseada em Formulários
Definição da função ou entidade;
Descrição de entradas e de onde elas vêm;
Descrição de saídas e para onde elas vão;
Indicação de outras entidades exigidas;
Pré e pós condições (se for apropriado);
Os efeitos colaterais (se houver);
![Page 56: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/56.jpg)
Especificação de Nó Baseada em Formulário
![Page 57: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/57.jpg)
O Documento de Requisitos
O documento de requisitos é a definição oficial do que é exigido dos desenvolvedores do sistema;
Deve incluir tanto a definição de usuário quanto a especificação de requisitos de sistema;
Em alguns casos os requisitos de usuário e os de sistema podem ser incluídos em apenas uma descrição
NÃO é um documento de projeto. Tanto quanto possível, deve definir O QUÊ o sistema deveria fazer,em vez de COMO ele deve fazê-lo;
![Page 58: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/58.jpg)
Usuários de um documento de requisitos
![Page 59: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/59.jpg)
Requisitos de um documento de requisitos
Especificar o comportamento externo do sistema;
Especificar restrições de implementação;
Fácil de modificar;
Servir como ferramenta de referência para manutenção;
Registrar a estratégia sobre o ciclo de vida do sistema,ou seja, prever mudanças;
Caracterizar respostas a eventos inesperados;
![Page 60: Engenharia Requisitos - Aula4 06 03 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557df817d8b42ab3268b4c16/html5/thumbnails/60.jpg)
Estrutura de um documento de requisitos (Sommerville)
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; Índice;