Professional Documents
Culture Documents
Requisitos de Software
Engenharia de Software 2o. Semestre de 2005
Slide 1
Requisitos de software
Slide 2
Objetivos
Introduzir os conceitos de requisitos do usurio e requisitos de sistema. Descrever requisitos funcionais e no funcionais. Explicar duas tcnicas para descrever os requisitos de sistema. Mostrar como requisitos de software podem ser organizados em um documento de requisitos de software
Slide 3
Tpicos
Requisitos funcionais e no funcionais Requisitos do Usurio Requisitos do sistema O documento de requisitos de software
Slide 4
Engenharia de Requisitos
o processo de estabelecer os servios que o cliente requer de um sistema e as restries sob as quais deve ser desenvolvido e operar. Requisitos so as descries das funes e restries.
Slide 5
O que um requisito?
Pode variar de uma declarao abstrata de alto nvel, de uma funo que o sistema deve fornecer ou de uma restrio do sistema, a uma definio detalhada, matematicamente formal, de uma funo do sistema. Assim, requisitos possui diferentes nveis de descrio;
Pode ser a base para uma licitao de um contrato - deve ser aberto interpretaes. Pode ser a base para o prprio contrato - deve ser definido em detalhes. Ambas declaraes podem ser chamada requisitos. Slide 6
Slide 7
Vale a pena utilizar algum tempo para entender o problema e seu contexto, e obter os requisitos certos na primeira vez.
Slide 8
Tipos de requisitos
Requisitos do usurio
Declaraes em linguagem natural e tambm em diagramas sobre as funes que o sistema deve fornecer e as restries sob as quais deve operar. Um documento estruturado que estabelece detalhadamente as funes e as restries de sistema. Escrito como um contrato entre o cliente e o desenvolvedor do software.
Requisitos do sistema
Especificao do software
Uma descrio detalhada do software que serve como base para projeto e a implementao. Escrito para os desenvolvedores.
Slide 9
Definies e Especificaes
Definio dos requisitos do usurio
1. O software deve oferecer um meio de representar e acessar arquivos externos criados por outra ferramenta
Slide 11
Requisitos funcionais
Declaraes de servios que o sistema deve fornecer, como o sistema deve reagir a entradas especficas e como deve se comportar em determinadas situaes. Restries sobre os servios ou as funes oferecidas pelo sistema. Requisitos que se originam do domnio da aplicao do sistema e que refletem caractersticas desse domnio (Podem ser requisitos funcionais e no funcionais).
Requisitos no funcionais
Requisitos de domnio
Slide 12
Requisitos funcionais
Descrevem a funcionalidade ou os servios do sistema. Dependem do tipo de software, das expectativas dos usurios e do tipo de sistema que est sendo desenvolvido. Requisitos funcionais do usurio so descritos de forma bem geral, mas os requisitos funcionais de sistema descrevem a funo de sistema detalhadamente.
Slide 13
O usurio dever ser capaz de buscar todo o conjunto inicial de banco de dados ou selecionar um subconjunto a partir dele. O sistema fornecer telas apropriadas para o usurio ler documentos no repositrio de documentos. Cada pedido ser alocado a um nico identificador (ORDER-ID), que o usurio poder copiar para a rea de armazenagem permanente da conta Requisitos funcionais do usurio
Slide 14
Impreciso de Requisitos
Problemas se originam da impreciso na especificao de requisitos. Requisitos ambguos podem ser interpretados de maneira diferente pelos desenvolvedores e usurio. Considere o termo telas apropriadas
Inteno do usurio - telas para cada formato de documento devem ser disponibilizadas. Inteno do desenvolvedor - disponibilizar uma tela de texto que mostra o contedo do documento.
Slide 15
Consistncia
Slide 16
Requisitos no funcionais
Definem as propriedades de sistemas e restries, por ex: confiabilidade, tempo de resposta e espao em disco. Restries: capacidade dos dispositivos de E/S, representaes de dados, etc. Requisitos no funcionais dizem respeito ao sistema como um todo. Alguns podem restringir o processo que utilizado para desenvolver o sistema (ditar um sistema CASE especfico, linguagem de programao ou mtodo de desenvolvimento) Podem ser mais crticos que requisitos funcionais. A falha em atender um requisito no funcional de sistema pode inutilizar o sistema. Slide 17
Classificaes no funcionais
Requisitos de produto
Requisitos que especificam o comportamento do produto. Ex: velocidade de execuo, confiabilidade, portabilidade, facilidade de uso, etc.. Requisitos que so conseqncia de polticas de procedimentos nas organizaes do cliente e do desenvolvedor. Ex: padres de processos que devem ser utilizados, requisitos de implementao, etc. Requisitos procedentes de fatores externos ao sistema e a seu processo de desenvolvimento. Ex: requisitos de interoperabilidade, requisitos legais e os requisitos ticos.
Requisitos organizacionais
Requisitos externos
Slide 18
organizacionais
Requisitos de Usab ility Requisitos de requ irements facilidade de uso facilidade de uso
implementao
Requisitos de produto
4.C.8 Deve ser possvel que toda a comunicao necessria entre o Ambiente de apoio programao Ada (APSE) e o usurio seja expressa no conjunto padro de caracteres Ada. (restringe a liberdade do projetistas do APSE na sua escolha de smbolos utilizados) 9.3.2 O processo de desenvolvimento de sistema e os documentos a serem entregues devero estar de acordo com o processo e os produtos a serem entregues, definidos em XYZ-SP- STAN95 7.6.5 O sistema no dever revelar aos operadores nenhuma informao pessoal sobre os clientes, alm de seus nomes e o nmero de referncia (legislao de privacidade)
Slide 20
Requisito Organizacional
Requisitos externos
Metas e requisitos
Requisitos no funcionais muitas vezes podem ser difceis de serem colocados e verificados. Meta do sistema
Uma inteno geral do usurio, por ex:, a facilidade de uso. Uma declarao usando alguma mtrica que pode ser objetivamente testada.
Slide 21
Exemplos
Slide 22
Robustez
23
Interao de requisitos
comum a existncia de conflitos entre diferentes requisitos no funcionais em sistemas complexos. Sistema para uma Espaonave
Para minimizar peso, o nmero de chips separado deve ser minimizado. Para minimizar consumo de energia, chips de baixo consumo deve ser usado Contudo, o uso de chips de baixo consumo significa que mais chips devem ser utilizados. Qual o requisito mais crtico?
Slide 24
Requisitos de Domnio
Derivados do domnio de aplicao e refletem fundamentos do domnio da aplicao. Podem ser novos requisitos funcionais em si, podem restringir os requisitos funcionais existentes, ou estabelecer como realizar clculos especficos. Se no forem satisfeitos, poder ser impossvel fazer o sistema operar satisfatoriamente.
Slide 25
Deve haver uma interface padro com o usurio para todos os bancos de dados, que ter como base o padro Z 39.50 Em razo das restries referentes a direitos autorais, alguns documentos devem ser excludos imediatamente ao serem fornecidos. Dependendo dos requisitos dos usurios, esses documentos sero impressos localmente no servidor do sistema para serem encaminhados manualmente ao usurio ou direcionados para uma impressora de rede.
Slide 26
onde Dgradiente 9.81ms2 * gradiente compensado/alfa e onde os valores de 9.81ms2/alfa so conhecidos para diferentes tipos de trens .
Slide 27
Entendimento
Requisitos so expressos com o uso de uma linguagem que especfica do domnio da aplicao Especialistas em um domnio podem deixar de fornecer informaes em um requisito, simplesmente por acharem que essas informaes so muito bvias.
Declaraes implcitas
Slide 28
Requisitos de usurio
Devem descrever os requisitos funcionais e no funcionais de modo compreensvel pelos usurios do sistema, que no tem conhecimentos tcnicos detalhados. Requisitos do usurio so definidos usando linguagem natural, tabelas e diagramas.
Slide 29
Falta de clareza
Difcil usar a linguagem de maneira precisa e sem ambigidade, sem produzir um documento de difcil leitura Os requisitos funcionais e os no funcionais, os objetivos do sistema e as informaes sobre o projeto podem no estar claramente definidos. Vrios requisitos diferentes podem ser expressos juntos.
Confuso de requisitos
Fuso de requisitos
Slide 30
Requisitos de usurio para uma grade de editor (Editor de modelos de projeto de software - CASE)
2.6 Recursos de grade Para ajudar no posicionamento de entidades em um digrama, o usurio pode acionar uma grade de centmetros ou em polegadas, por meio de uma opo no painel de controle. Inicialmente, a grade est desativada. Ela pode ser ligada e desligada a qualquer momento durante uma sesso de edio e pode ser alternada entre polegadas e centmetros a qualquer momento. Uma opo de grade ser fornecida na viso reduzida do diagrama, mas o nmero de linhas da grade mostrado diminuir, para evitar preencher o diagrama menor com linhas de grade. Ilustra Requisitos do usurio X requisitos do sistema
Slide 32
Apresentao estruturada
Recursos de grade O editor dever fornecer um recurso de grade, em que uma matriz de linhas horizontais e verticais constitua um fundo da janela do editor. Essa grade dever ser uma tela passiva em que o alinhamento de entidades responsabilidade do usurio. Lgica: uma grade ajuda o usurio a criar um diagrama limpo, com entidades bem espaadas. Embora uma grade ativa, em que as entidades saltam as linhas de grade, possa ser til, o posicionamento impreciso. O usurio a melhor pessoa para decidir onde as entidades devem ser posicionadas. Especificao: 5.6 ECLIPSE/WS/Ferramenta/DE/FS seo
Slide 34
Estabelea um formato padro e use-o para todos os requisitos. Utilize a linguagem de modo consistente. Faa distino entre os requisitos obrigatrios e os que so desejveis (O sistema deve ... O sistema deveria ...). Utilize destaque no texto para ressaltar partes importantes dos requisitos. Evite o uso de jarges de informtica.
Slide 36
Requisitos do sistema
Descries mais detalhadas dos requisitos do usurio. Servem como base para um contrato destinado implementao do sistema. Ponto de partida para o projeto do sistema. Requisitos do sistema pode ser expresso usando diferentes modelos de especificao de requisitos
Slide 37
Requisitos e projeto
Em princpio, os requisitos deveriam definir o que o sistema deveria fazer e no como deveria ser implementado. Na prtica, difcil conseguir essa separao
Uma arquitetura inicial do sistema pode ser definida para ajudar a estruturar os requisitos. O sistema deve inter- operar com outros sistemas que geram requisitos para o novo sistema. O uso de um projeto especfico pode ser um requisito externo de sistema
Slide 38
Ambigidade
Leitores e escritores dos requisitos devem interpretar as mesmas palavras da mesma maneira. A linguagem natural naturalmente ambgua e isso dificulta a interpretao A mesma coisa pode ser dita de diferentes maneiras na especificao estruturas da linguagem natural no so apropriadas para estruturar os requisitos do sistema.
Flexibilidade
Falta de modularizao
Slide 39
Slide 40
uma forma restrita da linguagem natural, que se destina a escrever requisitos do sistema. Essa abordagem elimina problemas de ambigidade e flexibilidade e garante um certo grau de uniformidade na especificao. Em geral, as notaes de linguagem estruturada utilizam templates e abordagens baseadas em formulrios pr-definidos.
Slide 41
Inclui: Descrio da funo ou entidade especificada. Descrio de suas entradas e origens. Descrio de sadas e destinos. Indicao de outras entidades utilizadas. Pr e ps condio (se apropriado) Efeitos colaterais (caso existam)
Slide 42
Requisitos podem ser definidos operacionalmente com o uso de uma linguagem de descrio de programa (PDL) PDL uma linguagem derivada de uma LP, com maior poder de expresso. Apropriada em duas situaes
Quando uma operao especificada como uma seqncia de aes e a ordem importante. Quando interfaces de hardware e software tiverem de ser especificadas.
Slide 44
Slide 45
Desvantagens da PDL
A PDL pode no ser suficientemente expressiva para definir a funcionalidade do sistema. A notao difcil de entender. A especificao mais um esboo de projeto ao invs de um modelo para auxiliar o usurio a compreender o sistema.
Slide 46
Especificao de Interface
A maioria dos sistemas deve operar com outros sistemas e as interfaces de sistemas existentes devem ser especificadas como parte dos requisitos. Existem trs tipos de interfaces que podem precisar ser definidas:
Interfaces de procedimentos Estruturas de dados transmitidas de um subsistema para outro Representaes de dados.
Slide 48
O documento de requisitos
O documento de requisitos a declarao oficial do que exigido dos desenvolvedores de sistema. Deve incluir os requisitos de usurio e uma especificao detalhada dos requisitos de sistema. NO um documento de projeto. Deve esclarecer o que o sistema deve fazer e no como deve ser feito.
Slide 49
Especificam os requisitos e os Especificam os requisitos e os lem para verificar se eles lem para verificar se eles atendem a suas necessidades. atendem a suas necessidades. Especificam as mudanas Especificam as mudanas nos requisitos. nos requisitos. Utilizam doc. de requisitos para Utilizam doc. de requisitos para planejar um pedido de proposta planejar um pedido de proposta para o sistema e para planejar para o sistema e para planejar o processo de desenvolvimento. o processo de desenvolvimento. Utilizam os requisitos para Utilizam os requisitos para compreender que sistema compreender que sistema deve ser desenvolvido deve ser desenvolvido Utilizam os requisitos para Utilizam os requisitos para desenvolver testes de desenvolver testes de validao para o sistema validao para o sistema Utilizam os requisitos para Utilizam os requisitos para ajudar a compreender o ajudar a compreender o sistema e as relaes entre sistema e as relaes entre suas partes suas partes
Gerentes Gerentes
Engenheiros de Engenheiros de sistema sistema Engenheiros de Engenheiros de teste de sistema teste de sistema Engenheiros de Engenheiros de manuteno manuteno de sistema de sistema
Deve: Especificar o comportamento externo do sistema. Especificar as restries implementao. Ser fcil de ser modificado. Servir como ferramenta de referncia para a manuteno. Registrar a estratgia sobre o ciclo de vida do sistema. Caracterizar respostas aceitveis para eventos indesejveis. Slide 51
Introduo Descrio Geral Requisitos especficos (funcionais e no funcionais) Apndices ndice Essa uma estrutura genrica, que deve ser instanciada para sistemas especficos
Slide 52
Prefcio Introduo Glossrio Definio de requisitos de usurio Arquitetura de sistemas Especificao de requisitos do sistema Modelos do sistema Evoluo do sistema Apndices ndice
Slide 53
Pontos Chave
Os requisitos estabelecem o que o sistema deve fazer e definem restries sobre sua operao e implementao. Requisitos funcionais so declaraes de funes que o sistema deve fornecer. Requisitos no funcionais se relacionam s propriedades emergentes do sistema e, portanto, se aplicam ao sistema como um todo. Requisitos de usurio so declaraes de alto nvel do que o sistema deve fazer.
Slide 54
Pontos chave
Requisitos de usurio devem ser escritos em linguagem natural, tabelas e diagramas. Requisitos de sistema se destinam a comunicar, de modo preciso, as funes que o sistema tem de fornecer. Requisitos de sistema podem ser escritos em linguagem natural estruturada, uma PDL ou em linguagem formal. O documento de requisitos de software a declarao estabelecida dos requisitos do sistema.
Slide 55
Slide 56