Escolar Documentos
Profissional Documentos
Cultura Documentos
Requisitos de Software
Requisitos so propriedades desejveis para um sistema de software. Um requisito pode ser mensurvel (ex., tempo mdio de atendimento de requisies), ou avaliado subjetivamente (ex., qualidade da documentao). Requisitos so descritos em diferentes nveis de abstrao: Requisitos de usurio: especificam em linguagem natural as funes que o sistema deve prover ao usurio final; Requisitos de sistema: especificam em linguagem natural (mais estruturada) as funes e restries (especificao funcional) para que o sistema de software seja capaz de atender os requisitos de usurio.
10/09/2009
Requisitos No Funcionais
De acordo com sua procedncia, os requisitos no funcionais podem ser classificados em: Requisitos de produto: relacionados ao comportamento do produto tais como facilidade de uso, eficincia (desempenho, recursos exigidos), confiabilidade, portabilidade. Requisitos organizacionais: relacionados s organizaes do cliente e do fornecedor tais como prticas, padres e restries contratuais e de projeto. Requisitos externos: relacionados a restries impostas por fatores externos ao sistema tais como restries de interoperabilidade, ticas e legais.
EA976 Prof. Eleri Cardozo FEEC/Unicamp
10/09/2009
Requisitos de Usurio
Requisitos de usurio especificam o comportamento externo do sistema sob a perspectiva do usurio (humano ou no). Problemas na identificao dos requisitos de usurio: Falta de clareza ou ambiqidades, por serem descritos em linguagem natural (ex.: o usurio deve ser alertado sobre operaes perigosas); Confuso entre requisitos funcionais, no funcionais e objetivos do sistema (ex.: o sistema deve facilitar a solicitao de declaraes); Fuso de requisitos onde um nico requisito na verdade uma condensao de vrios requisitos (Ex.: O sistema deve permitir ao usurio escolher a imagem a ser processada (dentre os diversos formatos permitidos) por meio de um file chooser).
EA976 Prof. Eleri Cardozo FEEC/Unicamp
Requisitos de Sistema
Requisitos de sistema (funcionais, no funcionais e de domnio) descrevem mais detalhadamente os requisitos de usurio. So base para um contrato de implementao do sistema. Problemas na identificao dos requisitos de sistema: Requisitos de sistema ainda so descritos em linguagem natural acompanhada de diagramas ilustrativos (a ambiqidade persiste); Idealmente, os requisitos de sistema no devem conter decises de projeto, mas requisitos impostos pela arquitetura e sistemas legados acabam sendo incorporados nos requisitos de sistema.
10/09/2009
Descrio de Requisitos
Recomendaes: Padronize o formato e a linguagem de descrio. Exemplo: as RFCs do IETF empregam os termos deve, requer, dever, deveria e poder para especificar o grau de obrigatoriedade dos requisitos. Enfatize no texto as partes importantes dos requisitos. Evite o uso de jarges (ex., o sistema deve ser tunado para maximizar a agregao de valor ao produto e assim favorecer sua relao custo/benefcio).
10/09/2009
Descrio de Requisitos
Uso de formulrios padro. Exemplo: Funo: Processar pginas dinmicas. Descrio: Executa o cdigo associado uma pgina dinmica, coleta o resultado do processamento deste cdigo e retorna o resultado para o navegador do cliente. Entradas: URL da pgina dinmica. Saidas: Resultado do processamento da pgina armazenado em um buffer. Destino: Conexo de transporte estabelecida com o cliente. Requer: Autenticao, caso o recurso associado URL seja protegido. Pr-condio: Pgina dinmica j compilada. Ps-condio: Resultado do processamento retornado ao cliente. Efeitos colaterais: nenhum.
EA976 Prof. Eleri Cardozo FEEC/Unicamp
Documento de Requisitos
uma declarao oficial do que exigido dos desenvolvedores do sistema: Utilizados por diferentes profissionais com diferentes propsitos; Clientes ( isso que eu quero?); Gerentes de projeto (atividades?, pessoas?, riscos?); Engenheiros de sistema (o que vamos desenvolver?); Engenheiros de teste (como validadar estes requisitos?); Engenheiros de manuteno (como manter o sistema sem alterar os requisitos?). Importantssimo para contratar o desenvolvimento de um sistema de software; O contratante pode exigir que este documento siga determinada norma, exemplo IEEE 830-1998.
10/09/2009
Documento de Requisitos
O padro IEEE 830-1998 (1998) sugere a seguinte estruturao para o documento de requisitos: 1. Introduo 1.1. Propsito do documento de requisitos 1.2. Escopo do produto 1.3. Definies, acrnimos e abreviaes 1.4. Referncias 1.5. Viso geral do restante do documento 2. Descrio Geral 2.1. Perspectiva do produto 2.2. Funes do produto 2.3. Caractersticas do usurio 2.4. Restries gerais 2.5. Suposies e dependncias 3. Requisitos Especficos Apndices ndice EA976 Prof. Eleri Cardozo FEEC/Unicamp
Documento de Requisitos
O padro IEEE 830-1998 sugere 7 formas de organizar o captulo 3 do documento de requisitos. Cada forma organiza os requisitos por um critrio especfico: 1. 2. 3. 4. 5. 6. 7. modo (de operao, utilizao, etc.); classe de usurio; objeto; facilidade (feature); estmulo; hierarquia funcional; mltiplos critrios (Ex.: facilidade + classe de usurio).
10/09/2009
Documentos de Requisitos
3. Requisitos Especficos 3.1. Requisitos de interfaces externas 3.1.1. Interfaces com o usurio 3.1.2. Interfaces de hardware 3.1.3. Interfaces de software 3.1.4. Interface de comunicao 3.2. Requisitos Funcionais 3.2.1. Critrio #1 3.2.1.1. Requisito funcional #1 .... 3.2.1.k. Requisito funcional #k .... 3.2.2. Critrio #n .... 3.3. Requisitos de desempenho 3.4. Restries de projeto 3.5. Atributos do sistema de software 3.6. Outros Requisitos
EA976 Prof. Eleri Cardozo FEEC/Unicamp
10/09/2009
Exerccio
Estabelea alguns requisitos funcionais e no funcionais para o sistema de inscrio de alunos especiais. Identifique os requisitos de usurio, de sistema e de interfaces externas. Classifique os requisitos segundo a classe de usurio (candidato, professor, etc.).
Engenharia de Requisitos
Conjunto de atividades que culminam no documento de requisitos.
Estudo de Viabilidade
Especificao de Requisitos
Validao de Requisitos
Relatrio de Viabilidade
Modelos de Sistema
Documento de Requisitos
10/09/2009
Estudo de Viabilidade
Perguntas a serem respondidas: O sistema contribui para os objetivos gerais da organizao? O sistema pode ser implementado respeitando-se restries de custo e prazo? O sistema pode ser integrado com outros j em operao? Exemplo de atividades de anlise de viabilidade: Estabelecer cenrios com e sem o novo sistema; Elencar os problemas atuais que seriam eliminados com o novo sistema; Estabelecer custos e prazos de desenvolvimento realistas; Estabelecer custos operacionais realistas (treinamentos, contrataes, aquisies); Avaliar se os sistemas existentes esto preparados para interoperar com o novo sistema.
EA976 Prof. Eleri Cardozo FEEC/Unicamp
Atividades: Compreenso do domnio. Coleta de requisitos. Classificao (estruturao) dos requisitos. Resoluo de conflitos. Identificao dos requisitos prioritrios. Verificao dos requisitos (consistentes, completos, etc.).
10/09/2009
Stakeholder
(pessoa que possui interesse em algo)
Stakeholder uma pessoa que ter alguma influncia direta ou indireta sobre os requisitos do sistema. Dificuldades que o analista encontra ao interagir com os stakeholders: stakeholders em geral no tem uma idia clara do sistema a ser desenvolvido; stakeholders empregam termos prprios para expressar os requisitos; diferentes stakeholders tm em mente diferentes requisitos; stakeholders podem impor requisitos movidos por interesses prprios; stakeholders no consultados podem impor requisitos em fases avanadas do desenvolvimento.
10
10/09/2009
Cliente (interao)
Cliente do Banco
Gerente De Contas
Engenheiro de Software
11
10/09/2009
Eventos
Especificaes
12
10/09/2009
Cenrios
Cenrios descrevem situaes de uso do sistema (sesses de interao). Modelam os eventos que ocorrem na fronteira do sistema. A descrio de um cenrio pode incluir: o estado do sistema no incio da interao; o fluxo normal de eventos; fluxos alternativos de eventos; atividades concorrentes; o estado do sistema no final da interao.
Um caso de uso pode representar um ou mais cenrios. O conjunto de casos de uso representa todas as possveis interaes suportadas pelo sistema. Via de regra, um requisito funcional modelado por um caso de uso. Tipicamente, um ponto de vista um agente e um servio uma interao.
EA976 Prof. Eleri Cardozo FEEC/Unicamp
13
10/09/2009
Caso de Uso
Um caso de uso pode incluir (usar) ou especializar (estender) outro caso de uso. Exemplo
Aprova Cheque Especial <<includes>> Gerente Aprova Crdito <<estends>> Aprova Crdito Imobilirio Aprova Crdito Pessoal
Analisa Risco
14
10/09/2009
1. Gerente escolhe opo "Aprovar 2. Sistema solicita autenticao do Crdito" usurio 3. Gerente supre username e senha 4. Sistema valida senha 5. Sistema solicita dados do cliente 6. Gerente supre dados do cliente 7. Sistema valida dados do cliente 8. Sistema efetua avaliao de risco 9. Sistema indica aprovao do crdito 10. Gerente confirma aprovao de 11. Sistema insere crdito na carteira de crdito crdito do banco
15
10/09/2009
Etnografia
Tcnica na qual o analista se insere no ambiente em que o sistema ser utilizado a fim de extrair requisitos sociais e organizacionais. Exemplo: para desenvolver um sistema de controle de trfego areo importante que o analista conhea a rotina de trabalho dos controladores de trfego areo. A tcnica interessante para adquirir conhecimento do domnio.
Validao de Requisitos
Objetivo: tornar o documento de requisitos um "bom documento de requisitos" (IEEE 830-1998). Tcnicas de validao: Revises por uma equipe de reviso (desenvolvedores + stakeholders). Prototipao (ex.: interfaces). Gerao de casos de teste (se um requisito difcil de testar, provavelmente ser difcil de implementar). Anlise automatizada da consistncia (raramente possvel).
16
10/09/2009
Gerenciamento de Requisitos
o processo de compreender e controlar as mudanas nos requisitos do sistema. Requisitos podem ser permanentes ou volteis. Requisitos volteis devem ter alto grau de independncia dos demais requisitos. Exemplo:
Aprova Cheque Especial <<uses>> Gerente Aprova Crdito <<estends>> Aprova Crdito Imobilirio Aprova Crdito Pessoal
OK se for voltil
Analisa Risco
Ruim se for voltil (Ex.: alterao de poltica de concesso de crditos pode exigir novas informaes no caso de uso "Aprova Crdito").
Engenharia de Requisitos
Estudo de Viabilidade Obteno e Anlise de Requisitos
Especificao de Requisitos
Validao de Requisitos
Relatrio de Viabilidade
Modelos de Sistema
Cap. 7(8)
17