Beruflich Dokumente
Kultur Dokumente
Mdulo 01 Introduo
Objetivos
Estabelecer a importncia/relevncia das especificaes de requisitos em desenvolvimento de
softwares.
Levantar os problemas envolvidos na especificao de requisitos.
Ilustrar o uso de tcnicas de modelagem para minimizar problemas na especificao de requisitos.
Definio de Requisitos
Condio ou capacidade que um usurio deve ter para que possa solucionar um problema ou atingir
um objetivo.
Condio ou capacidade que um sistema deve ter para atender a um contrato padro, especificao
ou outro documento formalmente imposto.
Por exemplo:
Um gerente de fornecimento deve estabelecer os requisitos que atendam s suas exigncias quanto
eficincia no gerenciamento do fornecimento.
Um gerente de banco deve estabelecer os requisitos que atendam s suas exigncias quanto
melhoria no tempo de atendimento s necessidades dos clientes.
Trabalho do Analista
trabalho do analista entender esses requisitos e fornecer uma soluo adequada. Para isso, ele
precisa entender o negcio do cliente:
Viso do Analista
O analista no pode presumir que o desenvolvimento de um sistema (software) seja a nica soluo
que pode ser oferecida ao cliente.
Ele deve ter uma viso mais ampla. Algumas vezes, a redefinio dos processos do negcio pode ser
tudo o que necessrio para melhorar a sua eficincia!
Anlise
Se a anlise realizada levar concluso de que um sistema deve ser desenvolvido, o analista ter que
elaborar um documento detalhado de tudo o que o sistema precisar para atender s necessidades do
cliente.
1 Introduo
CURSO ENGENHARIA DE REQUISITOS 2
1.1 Motivo
(Motivo deste documento)
1.2 Escopo
(Deve consistir de uma descrio clara e concisa do assunto abrangido)
1.3 Definies, Acrnimos e Abreviaes
(Uma lista alfabtica das abreviaes e acrnimos)
1.4 Viso geral do documento
(Resuma o motivo e o contedo deste documento)
2 Caractersticas Gerais
2.1 Introduo
(Descreva as caractersticas e limites do sistema)
2.2 Perspectiva de sistema
(Determine o motivo do sistema)
2.3 Atividade de sistema (ou) Recursos de sistema
(Descreva os recursos do sistema. Exemplo: Em um "sistema de monitoramento de Emprstimo"
as atividades/recursos sero autenticao, clculo de parcelas, gerao de multas, clculo de
vencimento, gerao de fatura etc.)
2.4 Caractersticas de usurio
(Descreva as caractersticas gerais dos usurios do produto incluindo nvel educacional,
experincia e especializao tcnica)
2.5 Restries gerais
(Fornea uma descrio geral de quaisquer outros itens que limitaro as opes do desenvolvedor
para projetar o sistema. Eles podem incluir: Polticas regulamentares, limitaes de hardware,
Interface a outros aplicativos, operao paralela, funes de auditoria, funes de controle,
requisitos de linguagem de maior ordem, urgncia do aplicativo, consideraes de proteo e
segurana)
2.6 Presunes e Dependncias
(Liste cada um dos fatores que afetam os requisitos declarados na SRS. Esses fatores no so
restries de projeto no software; mas so, na verdade, quaisquer alteraes neles que possam
afetar os requisitos na SRS)
3 Requisitos especficos
3.1 Requisitos funcionais
(Entradas, resultados, clculos e casos de uso)
3.2 Requisitos externos de interface
(Usurio, hardware, software, comunicaes Interface de usurio, layouts de tela)
3.3 Requisitos de desempenho
(Se existem requisitos de desempenho para o produto sob vrias circunstncias, determine-os
aqui e explique-os para ajudar os desenvolvedores a entender a inteno e fazer escolhas de
projeto adequadas. Especifique os relacionamentos de timing para sistemas em tempo real)
3.4 Limitaes de Projeto
(Formatos de arquivo, linguagens, padres, compatibilidade etc.)
3.5 Atributos
(Atributos de software que podem servir como requisitos... Eficincia, Flexibilidade,
Interoperabilidade, Confiabilidade, Reusabilidade, Testabilidade etc.)
3.6 Outros requisitos
4 Diagrama de fluxo de dados (Nvel 0, Nvel 1 e Nvel 2)
5 Diagrama de Entidade - Relacionamento
CURSO ENGENHARIA DE REQUISITOS 3
6 Grfico de estrutura
7 Telas
8 Pseudocdigo
9 Informao de Suporte
Elas podem incluir:
- Formatos modelo I/O
- Informaes de motivo que podem ajudar os leitores da SRS
- Descrio dos problemas a serem solucionados pelo software
- O histrico, motivo, experincia e caractersticas operacionais da organizao a ser auxiliada
- Instrues especiais de pacote para o cdigo para a mdia
10 Apndice
(Dicionrio de dados e outras informaes).
Entender Requisitos
Determinar e entender os requisitos no uma tarefa fcil. Vamos ver alguns exemplos.
Declarao
Nesta declarao, a palavra "ltimo" ambgua, ou seja, pode significar o ltimo registro acessado
em um arquivo aleatrio ou o ltimo registro em um arquivo sequencial.
Clculo
Calcule o inverso de uma matriz quadrada M de tamanho n de tal forma que LM=ML=In onde
L a matriz inversa e In a matriz identidade de tamanho n.
Facilidade do Sistema
O sistema deve ser de fcil utilizao para o usurio. Como se pode determinar se este requisito ser
satisfeito ou no?
SRS
Em um SRS:
Todas os requisitos devem ter apenas uma interpretao. Lembre-se dos exemplos de declaraes
ambguas.
SRS completo
CURSO ENGENHARIA DE REQUISITOS 4
O SRS deve ser completo em todos os aspectos. Na prtica, difcil atingir este objetivo. Muitas
vezes os clientes mudam os requisitos medida que o desenvolvimento do software progride ou
novos requisitos so adicionados.
Metodologias
As geis metodologias de desenvolvimento so especificamente projetadas para levar esse fator em
considerao. Elas dividem as exigncias em subconjuntos chamados de cenrios e cada um
implementado separadamente. No entanto, cada cenrio deve estar completo.
Requisitos
Todos os requisitos devem ser verificveis, ou seja, deve ser possvel constatar se eles foram atendidos
ou no. Palavras como altamente e geralmente, no devem ser utilizadas.
Como definimos anteriormente, os requisitos mudam. Ento, o formato da SRS deve ser tal que as
mudanas possam ser facilmente incorporadas.
O nmero significativo de dgitos para o qual a preciso deve ser mantida em todos os clculos
numricos 10.
O tempo de resposta do sistema deve ser sempre inferior a 5 segundos.
CURSO ENGENHARIA DE REQUISITOS 5
Outras Classificaes
Os requisitos tambm podem ser classificados nas seguintes categorias:
Possui um limite, ou seja, rea que separa o que faz parte de seu escopo do que no faz.
Capta inputs de agentes externos e gera resultados.
Possui processos que colaboram entre si para gerar os resultados.
Os processos permitem criar, modificar, excluir ou consultar dados.
O sistema pode tambm usar repositrios de dados para armazenar dados que possam ser
utilizados em outros sistemas (em uma migrao de plataforma, por exemplo).
Dicionrio de Dados:
Portugus estruturado:
Nvel 0: tambm conhecido por diagrama de contexto, define o escopo do sistema. composto por
agentes externos, limites de sistema e os dados circulam entre os agentes externos e o sistema.
Nvel 1: uma expanso do nvel 0, na qual todos os principais processos, repositrios de dados e
o fluxo de dados entre eles exibido.
Nvel 2, nvel 3 etc.: exibe detalhes de processos individuais.
Notaes DFD
Agentes externos:
Processo:
o Duplicaes no so permitidas.
Repositrios de dados:
Fluxos de Dados:
Exemplos:
A empresa recebe um
pedido de contratao.
Checa as condies de
qualificao. Convida os
candidatos qualificados
para uma entrevista.
Mantm uma lista desses
candidatos. Atualiza as
condies de qualificao
de acordo com o
desejado pela
administrao.
Iniciando um DFD
Identifique as entradas ou eventos que do origem ao sistema, bem como seus resultados ou
respostas.
Identifique as fontes correspondentes e os destinos (agentes externos).
Elabore um diagrama de contexto (nvel 0) que exiba os limites do sistema, os agentes externos e
os fluxos de dados que conectam o sistema aos agentes externos.
Elabore o diagrama de nvel 1 que exiba todos os agentes externos, todos os processos principais,
todos os repositrios de dados e todos os fluxos de dados conectando os vrios componentes. Os
componentes devem ser colocados com base na precedncia lgica ao invs de precedncia
temporal. Evite cruzamentos de fluxos de dados.
Refina o diagrama de nvel 1.
Expanda os processos individuais conforme necessrio.
CURSO ENGENHARIA DE REQUISITOS 12
Lembre-se, em um DFD:
CURSO ENGENHARIA DE REQUISITOS 13
Diagrama de Entidade-Relacionamento
O ERD complementa o DFD. Enquanto o DFD foca
em processos e no fluxo de dados entre eles, o
ERD foca em dados e nos relacionamentos entre
eles.
1. Entidade:
Entidade Fundamental: Ela no depende de nenhuma outra entidade para existir. Por exemplo,
materiais. (Tijolos, Materiais de cobertura, Isolamento e laterais, chapas artificiais).
Entidade Subordinada: Depende de outra entidade para sua existncia. Por exemplo, em um
sistema de gerenciamento de estoque, ordem de compra pode ser uma entidade e ela
depender dos materiais sendo adquiridos. De maneira semelhante, as faturas dependero das
ordens de compra.
Entidade Associativa: Depende de duas ou mais entidades para sua existncia. Por exemplo,
notas de um aluno dependero do aluno e do curso.
Entidade de Generalizao: Ela encapsula caractersticas comuns de muitas entidades
subordinadas. Por exemplo, um carro de quatro rodas um tipo de veculo. Um caminho um
tipo de carro de quatro rodas.
Entidade de Agregao: Ela consiste de uma agregao de outras entidades. Por exemplo, um
carro consiste de motor, chassi, caixa de engrenagens etc. Um veculo tambm pode ser
considerado como uma entidade de agregao, porque um veculo pode ser considerado como
uma agregao de muitas peas.
2. Atributos:
3. Relacionamentos
Obrigatrios: Significa que, se um valor for associado a qualquer ocorrncia da primeira entidade
haver pelo menos uma ocorrncia dele na segunda entidade.
Por exemplo, para que possamos visualizar o nome do cargo de um funcionrio tendo por base
o cdigo do cargo, obrigatrio criar um relacionamento entre a tabela funcionrios e a tabela
de cargos.
Opcionais: Significa que poder haver ocorrncias na primeira entidade que no estejam
associadas a nenhuma ocorrncia da segunda entidade.
Por exemplo, o relacionamento entre a tabela de funcionrios e a de cnjuges deve ser opcional,
pois pode haver funcionrios solteiros.
Um-para-muitos: Significa que uma ocorrncia da primeira entidade est relacionada a muitas
ocorrncias da segunda entidade, enquanto uma ocorrncia da segunda entidade est associada
a apenas uma ocorrncia da primeira entidade.
Notao ERD:
Existem dois tipos de notaes:
2. Entre as indstrias automobilsticas, cada uma produz vrios carros, mas determinado carro
fabricado em apenas uma delas.
3. Em uma escola, todos os alunos tm muitos cursos e todos os cursos so frequentados por
muitos alunos.
4. Em uma biblioteca, um scio pode tomar emprestado muitos livros e pode haver livros que no
so emprestados por nenhum scio.
5. Um professor ensina muitos alunos e um aluno ensinado por muitos professores. Um professor
aplica avaliao para muitos alunos e um aluno avaliado por muitos professores.
6. Uma extenso do exemplo 3 de que as notas dos alunos dependem tanto do aluno quanto do
curso. Desta forma, este caso uma entidade associativa.
CURSO ENGENHARIA DE REQUISITOS 18
Dicionrio de Dados
Contm:
Elemento de dados: (Uma lista organizada de...) a parte do dado que no pode ser dividida no
contexto atual do sistema. Exemplos:
Ordem_de_compra_n
Nome_do_funcionrio
Taxa_de_juros etc.
Estrutura dos dados: composta de elementos de dados ou outras estruturas de dados. Exemplos:
Detalhes_do_cliente, que pode ser composto pelo Nome_do_Cliente e Endereo_do_Cliente.
Endereo_do_Cliente, por sua vez, uma estrutura.
Fatura, que pode ser composta de nmero_da_fatura, detalhes_do_cliente,
endereo_de_entrega e detalhes_da_fatura.
CURSO ENGENHARIA DE REQUISITOS 19
Fluxos de dados: Fluxo de dados composto de estruturas de dados e/ou elementos de dados. As
definies de estruturas dependentes de dados/elementos de dados precedem a definio do fluxo
de dados.
Ao se definir o fluxo de dados, os pontos de conexo devem ser mencionados.
Tambm til se incluir o volume de fluxo/frequncia e as taxas de crescimento.
Ateno:
Uma vez criados o DFD, ERD e o Dicionrio de dados, eles devem ser comparados entre si. O DFD e o
ERD podem ser criados paralela e independentemente.
Todo repositrio de dados no DFD deve corresponder a pelo menos uma entidade no ERD.
Devem haver processos no DFD que criam, modificam e deletam ocorrncias das entidades no ERD.
Para todo relacionamento no ERD deve ser utilizado por um processo no DFD.
Para cada descrio no dicionrio de dados, devem haver elementos correspondentes no DFD e no
ERD.
CURSO ENGENHARIA DE REQUISITOS 20
Tabela de Deciso
Como as rvores de deciso, as tabelas de deciso de valor binrio podem ficar maiores se o nmero
de regras aumentar.
Tabelas de deciso de valor mltiplo possuem uma margem. No exemplo ao lado, adicionamos uma
nova classe de clientes, chamada Acadmico, com as seguintes regras:
Se o consumo for inferior a 300 unidades por ms, cobrar com a taxa concessional. Caso contrrio,
cobre duas vezes a taxa concessional.
Portugus Estruturado
Para especificar os processos (mini especificaes), usa-se o portugus estruturado.
Sequncias de instrues
(declaraes de ao)
Decises (se houver)
Loops (repetir at)
Caso
Grupos de instrues
CURSO ENGENHARIA DE REQUISITOS 22
Ele pode ser usado para modelar as alteraes de estado do sistema. Um sistema est em um estado
e permanecer nele at que uma condio ou uma ao o forcem a mudar.
Mdulo 4 - Concluso
O resultado da etapa de engenharia dos requisitos o documento de especificaes de requisitos do
software (SRS).
No mnimo, ele deve conter o DFD, o ERD e o dicionrio de dados, assim como as minis especificaes.
A fbrica supervisionada por um Diretor de Operaes, que auxiliado por vrios chefes
departamentais na execuo das operaes dirias. Produo, Manuteno, Financeiro, Compras e
Transporte so alguns dos principais departamentos dessa empresa.
Um documento com as discusses entre o gerente de compras e sua equipe relacionadas aos
procedimentos atuais encontra-se anexo.
Atualmente, existem mais de 300 ordens de compra (OCs) abertas simultaneamente (uma OC
considerada fechada quando o material recebido e a fatura paga) e tornou-se impossvel manter-se
a par das atividades de compra e fornecer o status atualizado aos departamentos interessados.
A ideia por trs do uso de um computador a de acessar as informaes de maneira rpida e monitorar
a atividade de compra eficientemente. Tambm se espera que aps a informatizao, com a mesma
fora de trabalho, o carregamento futuro de compras (relacionado a planos de diversificao da
empresa) tambm possa ser atendido.
Sempre que um comprador que lida com um grupo particular de materiais (25 grupos de materiais
foram formados com base em similaridade de materiais) acredite ser necessrio, ele revisa o registro
das MPRs e consolida a necessidade de material para esses grupos.
CURSO ENGENHARIA DE REQUISITOS 24
Em seguida, faz uma cotao com fornecedores cadastrados para uma classe especfica de itens. Uma
consulta pode conter um material de um grupo de materiais (por exemplo, parafusos de 1,5" ou 1")
que possuem cdigos diferentes. Toda consulta possui apenas uma data de fechamento, ou seja, a
data de recebimento da cotao do fornecedor.
Todas as cotaes comerciais recebidas so abertas pelo comprador envolvido (na presena do
gerente de compras e dos fornecedores) e depois so analisadas pelo valor total (custo bsico dos
materiais, impostos, frete de seguro da embalagem).
Com base do menor custo, uma oferta selecionada e uma proposta de ordem de compra elaborada.
Uma proposta de OC enviada ao departamento Financeiro e um aval obtido.
s vezes, mais de uma OC emitida para uma consulta. Por exemplo, de 4 materiais, 2 so mais baratos
de um fornecedor e 2 de outro. Em uma OC todo material solicitado possui uma data limite para
entrega. Ainda em algumas ordens de compra, quando a quantidade solicitada grande (esta situao
tpica em aquisio de materiais por atacado, cimento, ao etc.), menciona-se a entrega distribuda.
Modelo Ambiental
(Ref. Sistema de Aquisio de Material)
Lista de Eventos
Referncias:
Software Requirements - Anlysis and Specification - Alan M. Davis, Printice Hall.
Systems Analysis & Design Methods - J. L. Whitten, L. D. Bentley e V. M. Barlow Richard d. Iriwin Inc -
Galgotia Publications Pvt. Ltd.