Requisitos de Software

Slides:



Advertisements
Apresentações semelhantes
Engenharia de Software
Advertisements

Análise e Projeto Orientado a Objetos
Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.
Requisitos de Software
Engenharia de Requisitos (itens 2.1, 2.2 e 3 do programa)
Requisitos de Software
APSOO Aula 03.
Requisitos de Software
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Especificação de Requisitos
(Unified Modeling Language)
Identificando requisitos
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Engenharia de Software
Engenharia de Software
Especificação de Software
Engenharia de Software Professor Sandro de Paiva Carvalho.
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
Técnicas eTipos de Requisitos
Introdução a Bancos de Dados
Classificação de Requisitos
Processo Desenvolvimento de Software Tradicional
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Análise e Projeto de Sistemas
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Princípios e Conceitos de Software(v2)
Especificação de Requisitos de Software com Casos de Uso
Análise de Requisitos Prof. Dr. rer. nat. Daniel D. Abdala
Prof.Alfredo Parteli Gomes
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
DIAGRAMA DE CLASSE Modelagem de Software
Fase de Elaboração: Fluxo de Requisitos
Qualidade de Produto de Software
ENGENHARIA DE SOFTWARE - REQUISITOS
IEEE Std IEEE Melhores Práticas para Especificações de Requisitos de Software (ERS)
Análise e Projeto de Sistemas
LABORATÓRIOS DE INFORMÁTICA IV ENGENHARIA DE SOFTWARE: ANÁLISE DE REQUISITOS GRUPO 13 Ana Sampaio Hugo Frade Miguel Costa Tiago Abreu
Requisitos de Software
Requisitos de Software Capítulo 5 Ian Sommerville
O Processo da Engenharia de Requisitos
Engenharia de Requisitos
Caso de Uso - Definição Um caso de uso é uma descrição narrativa de uma seqüência de eventos que ocorre quando um ator (agente externo) usa um sistema.
Engenharia de Software
Introdução e Fundamentos Engenharia de Requisitos
Professor: Márcio Amador
Banco de Dados Aplicado ao Desenvolvimento de Software
Engenharia de Requisitos
Requisitos (Complemento) Marcio de Carvalho Victorino.
Engenharia de Software
Qualidade de Software Aula 4
Gestão de defeitos.
METODOLOGIA, MÉTODOS E FERRAMENTAS
Laboratório de Programação
Processos de Software.
Requisitos de Software
Fase de Concepção Levantamento de Requisitos, Organização de Requisitos, Planejamento dos Ciclos Iterativos.
Modelando Sistemas em UML
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Prof.: Bruno Rafael de Oliveira Rodrigues ENGENHARIA DE SOFTWARE.
Engenharia de Requisitos
Engenharia de Requisitos
Análise e Projeto de Sistemas Orientado a Objetos Profa. Ana Karina Barbosa.
Profa. Reane Franco Goulart. É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro.
Aula 02 de Eng. de Requisitos
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Engenharia de Software com o RUP - Workflow de Requisitos
Técnicas e Tipos de Requisitos
©Jaelson Castro 2000 Slide 1 Engenharia de Requisitos Uma introdução a engenharia de requisitos.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Derivados do domínio da aplicação e descrevem características do sistema e qualidades que refletem o domínio Podem ser requisitos funcionais novos, restrições.
Transcrição da apresentação:

Requisitos de Software Alexandre Monteiro

Objetivos Introduzir os conceitos de requisitos do usuário e do sistema Descrever requisitos funcionais e não-funcionais Explicar como requisitos de software devem ser organizados em um documento de requisitos

O que é um requisito? Tanto pode ser uma declaração abstrata de alto nível de um serviço ou restrição do sistema quanto uma especificação funcional matemática detalhada

Tipos de Requisitos Requisitos do Usuário Requisitos do Sistema Declarações em linguagem natural com diagramas de serviços que o sistema deve oferecer e suas restrições operacionais. Escrito para os clientes Requisitos do Sistema Documento estruturado com descrições detalhadas sobre os serviços do sistema. Contrato entre cliente e fornecedor Especificação do Software Descrição detalhada do software que serve como base para projeto ou implementação. Escrito para desenvolvedores

Requisitos Funcionais e Não-Funcionais Declarações sobre o que o sistema deve oferecer, como o sistema deve reagir a determinadas entradas e como o sistema deve comportar-se em situações especiais Requisitos Não-Funcionais Restrições sobre funções ou serviços oferecidas pelo sistema (tempo, processo de desenvolvimento, padrões, etc) Requisitos de Domínio Requisitos vindos do domínio da aplicação do sistema e que refletem características desse domínio

Requisitos Funcionais Descreve funcionalidade e serviços do sistema Depende do tipo do software, usuários esperados e o tipo do sistema onde o software é usado Requisitos funcionais do usuário devem ser declarações de alto nível sobre o que o sistema deve fazer Requisitos funcionais do sistema devem descrever os serviços do sistema em detalhes

Requisitos Funcionais (Exemplos) O usuário poderá pesquisar todo o conjunto inicial de banco de dados ou selecionar um sub-conjunto dele O sistema deve oferecer visualizadores apropriados para o usuário ler documentos armazenados A todo pedido deve ser associado um identificador único (PID), o qual o usuário pode copiar para a área de armazenamento permanente da conta

Imprecisão dos Requisitos Problemas podem surgir quando os requisitos não são estabelecidos precisamente Requisitos ambíguos podem ser interpretados diferentemente por usuários e desenvolvedores Considere o termo ‘visualizadores apropriados´ Visualizador de propósito especial para cada tipo de documento diferente (Usuário) Oferecer um visualizador de texto que mostra o conteúdo do documento (Desenvolvedor)

Completude e consistência dos Requisitos Em princípio, requisitos devem ser completos e consistentes Completo Descrições de todos os serviços Consistência Não deve haver conflitos e contradições nas descrições dos serviços Na prática, torna-se impossível produzir um documento de requisitos completo e consistente

Requisitos Não-Funcionais Definem propriedades e restrições do sistema (tempo, espaço, etc) Requisitos de processo também podem especificar o uso de determinadas linguagens de programação, método de desenvolvimento Requisitos não-funcionais podem ser mais críticos que requisitos funcionais. Não satisfaz, sistema inútil.

Classificação dos Requisitos Não-Funcionais Requisitos do Produto Produto entregue deve comportar-se de forma particular (velocidade de execução, confiabilidade, etc) Requisitos Organizacionais Conseqüência de políticas e procedimentos organizacionais (padrões de processo usados, requisitos de implementação, etc) Requisitos Externos Conseqüência de fatores externos ao sistema e ao processo de desenvolvimento (legislação, etc)

Requisitos Não-Funcionais (Exemplos) Requisitos do Produto Toda consulta ao banco de dados baseada em código de barras não deve exceder 5 s Requisitos Organizacionais Todos os documentos entregues devem seguir o padrão de relatórios XYZ-00 Requisitos Externos O sistema não deve usar informações pessoais do usuário com os operadores do sistema

Objetivos e Requisitos Requisitos não-funcionais podem ser muito difíceis de serem estabelecidos precisamente e requisitos imprecisos difíceis de verificar Objetivo Intenção geral do usuário (facilidade de uso) Requisito não-funcional verificável Declaração usando alguma medida que possa ser testada objetivamente Objetivos são úteis aos desenvolvedores uma vez que eles apresentam as intenções dos usuários do sistema

Objetivos e Requisitos (Exemplos) Um objetivo do sistema Sistema deve ser fácil de usar por usuários experientes e organizado de forma a minimizar erros do usuário Um requisito não-funcional verificável Usuários experientes devem ser capazes de usar toda a funcionalidade do sistema após 2h de treinamento. Após treinamento, erros não podem ultrapassar 2 por dia

Requisitos de Domínio Derivados do domínio da aplicação e descrevem características do sistema e qualidades que refletem o domínio Podem ser requisitos funcionais novos, restrições sobre requisitos existentes ou computações específicas Se requisitos de domínio não forem satisfeitos, o sistema pode tornar-se não prático

Requisitos de Domínio (Exemplo 1) Deve existir uma interface padrão com o usuário para todos os bancos de dados baseada no padrão ABC-98 Devido a restrições de direitos autorais, alguns documentos devem ser apagados assim que chegam. Dependendo dos requisitos do usuário, tais documentos devem ser impressos em impressora local ou remota.

Requisitos de Domínio (Exemplo 2) A desaceleração do trem deve ser computada através da fórmula Dtrem=Dcontrole+Dgradiente onde ...

Requisitos de Domínio (Problemas) Entendimento Requisitos são descritos na linguagem do domínio da aplicação Não é entendido pelos engenheiros de software que vão desenvolver a aplicação Implicitude Especialistas no domínio entendem a área tão bem que não tornam todos os requisitos de domínio explícitos

Requisitos do Usuário Devem descrever requisitos funcionais e não-funcionais de tal forma que sejam entendíveis pelos usuários do sistema que não têm conhecimento técnico detalhado Requisitos do usuário são definidos usando linguagem natural, tabelas e diagramas

Medidas de Requisitos Propriedade Medida Velocidade Transações processadas/seg Tempo de resposta do usuário/evento Tamanho K bytes No de chips de RAM Facilidade de uso Tempo de treinamento No de quadros de ajuda Confiabilidade Tempo médio de falhas Probabilidade de indisponibilidade Taxa de ocorrência de falhas Robustez Tempo de reinício após falha Percentual de eventos causando falhas Probabilidade de corrupção de dados após falha Portabilidade Percentual de declarações dependentes do destino No de sistemas destino

O Documento de Requisitos O documento de requisitos é a declaração oficial do que é requerido dos desenvolvedores do sistema Deve incluir uma definição e uma especificação dos requisitos Deve declarar o que o sistema deve fazer e não como

Guias para Escrever Requisitos Adote um formato padrão e use-o para todos os requisitos Use linguagem consistentemente. Use deverá para requisitos obrigatórios e deveria para os desejáveis Use texto em negrito para identificar partes chave dos requisitos Evite jargão de computação

Requisitos do Sistema Especificações mais detalhadas dos requisitos do usuário Serve de base para projetar o sistema Pode ser usado como parte do contrato do sistema Geralmente expressos usando modelos do sistema UML

Alternativas para Especificação Notação Descrição Linguagem Depende de formulários padrão natural estruturada Linguagem Linguagem semelhante a ling. prog. mas com de descrição de recursos abstratos para especificar requisitos projeto Notações Ling. gráfica com anotações de texto gráficas (Use-cases de UML) Especificações Ling. com sintaxe e semântica bem-definidas Formais (OBJ, Z, CSP, LOTOS)

UML (Use-Case) Serviços de empréstimo Usuário da biblioteca Admin. do Func. da biblioteca Serviços de catálogo Fornecedor

CSP CaixaAut = cartao  (saldo  (CC  ...  Poup ...)  extrato  ...  ...)

Estrutura de um Documento de Requisitos 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

Bibliografia Sommerville, I. Software Engineering Kruchten, P. The Rational Unified Process: An Introduction