Você está na página 1de 12

FACCAMP - Engenharia de Software

Anlise de Requisitos de Software e de Sistemas

Profa Luciana Romani


1

Elementos de um sistema
Procedimentos

Documentos

Hardware

SISTEMA
Banco de Dados Software

Pessoas

Engenharia de Software: Fase de Definio

Funes de Software

Planejamento do projeto de Software

Reviso

Anlise de Requisitos ou Prototipao

Reviso

Prottipo

Plano de Projeto

Especificao dos Requisitos

Profa. Luciana Romani

FACCAMP - Engenharia de Software

Engenharia de Software: Fase de Desenvolvimento

Projeto de Arquitetura e de Dados

Reviso

Projeto Procedimental

Reviso

Codificao

Reviso

Prottipo Especificao Preliminar do Projeto Especificao Detalhada do Projeto Cdigo-Fonte do Programa

Engenharia de Software: Fase de Verificao, Liberao e Manuteno

Testes de Unidades, de Integrao e validao

Depurao

Liberao e Distribuio

Reviso

Manuteno

Reviso

Programa Operacional Plano de Teste, Procedimentos de teste e resultados de teste Documentao para o Usurio Cdigo-Fonte modificado Documentao modificada

Fase de Anlise de Requisitos


Engenharia de Sistemas de Computador ANLISE DE REQUISITOS Projeto de Software

processo de descoberta e refinamento


ATORES: cliente e desenvolvedor PROBLEMA: grande propenso a mal entendidos

"atividade aparentemente simples torna-se complexa"


6

Profa. Luciana Romani

FACCAMP - Engenharia de Software

Atividades de Anlise:
n n n n n

reconhecimento do problema avaliao do problema sntese da soluo (modelagem) especificao dos requisitos do software reviso

elementos alocados ao software estabelecimento do alcance recursos, custo cronograma

Plano de Desenvolvimento do Software

reviso

reviso administrativa

aceitvel

Fase de Anlise de Requisitos

no
construir prottipo para estabelecer os requisitos

os requisitos so conhecidos?

sim
determinar domnio das informaes e das funes, interfaces, restries de projeto e critrios de validao

reviso

reviso tcnica

aceitvel
revisar e justificar recursos, custos e cronogramas reviso do plano de projeto do software

Especificao dos Requisitos do Software


aceitvel

incio da fase de desenvolvimento

Atividade 1: Reconhecimento do Problema


A meta o reconhecimento dos elementos bsicos do problema, conforme percebidos pelo cliente. Gerente do projeto

clientes analista desenvolvedores

Plano de projeto de software

Espec. requisitos de software

prottipo

Profa. Luciana Romani

FACCAMP - Engenharia de Software

Atividade 2: Avaliao do Problema e Sntese da Soluo


n n

Avaliar os problemas na situao atual Para o novo sistema:


definir e elaborar todas as funes do sistema identificar dados que o sistema produz e consome entender o comportamento do sistema estabelecer caractersticas de interface descobrir restries do projeto
10

Atividade 2: Avaliao do Problema e Sntese da Soluo


n

Sintetizar uma ou mais solues (dentro do alcance delineado no Plano de Projeto do Software)
O processo de avaliao e sntese continua at que o analista e o cliente concordem que o software pode ser adequadamente especificado. a maior rea de esforo

Modelagem
Durante a atividade de avaliao e sntese devem ser criados modelos do sistema para se compreender melhor o fluxo de dados e de controle, o processamento funcional e a operao comportamental, alm do contedo da informao. O modelo serve como fundamento para o projeto de software e como base para a criao de sua especificao
11

Atividade 3 Especificao de Requisitos


n n

descrio do fluxo e estrutura da informao refinamento detalhado de todas as funes do software estabelecimento das caractersticas de interface identificao das restries de projeto especificao dos critrios de validao
12

n n

Profa. Luciana Romani

FACCAMP - Engenharia de Software

Atividade 4: Revises
n

Devem ser efetuadas revises tcnicas e revises no Plano de Projeto de Software


as revises so conduzidas pelo Cliente e pelo Desenvolvedor a base para a reviso so os documentos produzidos na Especificao dos Requisitos

O Plano de Projeto do Software deve ser revisto devido ao conhecimento adquirido durante a anlise.
13

Caractersticas do Analista de Sistemas


1)Capacidade para compreender conceitos abstratos, reorganizar esses conceitos em divises lgicas e sintetizar "solues" baseado em cada diviso. 2)Capacidade de absorver fatos pertinentes a partir de fontes conflitantes ou confusas. 4)Capacidade de se comunicar bem de forma escrita e verbal. 5)Capacidade de "ver a floresta ao invs das rvores
14

reas Problemas
1. Aquisio da informao
que informao deve ser coletada e como ela deve ser representada? quem fornece as informaes? que tcnicas e ferramentas esto disponveis para facilitar a coleta de informaes?

15

Profa. Luciana Romani

FACCAMP - Engenharia de Software

reas Problemas
2. Tamanho do sistema
como eliminar inconsistncias na especificao de grandes sistemas? possvel detectar omisses? pode um grande sistema ser efetivamente particionado para que se torne intelectualmente administrvel?

16

reas Problemas
3. Alteraes
como as alteraes efetuadas em outros elementos do software so coordenadas com os requisitos do software? como se determina o impacto de uma alterao em outras partes do software aparentemente no relacionadas? como se corrige erros na especificao para que no se gere efeitos colaterias?

17

Causas dos Problemas


n n n

comunicao ineficiente tcnicas e ferramentas inadequadas tendncias de eliminar a tarefa de Especificao dos Requisitos falha de considerar alternativas antes que o software seja especificado

18

Profa. Luciana Romani

FACCAMP - Engenharia de Software

Princpios de Anlise (4)


n

domnio de informao do problema representado e compreendido (para que a funo possa ser entendida + completamente) modelos que descrevam a informao, a funo e o comportamento do sistema desenvolvidos (para que a informao possa ser comunicada compactamente)
19

Princpios de Anlise (4)


n

modelos (e o problema) particionados, de maneira que revele os detalhes em forma de camadas (ou hierarquicamente) (para reduzir a complexidade) processo de anlise mover-se da informao essencial para os detalhes de implementao (para acomodar as restries lgicas impostas por requisitos de processamento e as restries fsicas impostas por outros elementos do sistema)
20

1. Princpio - Domnio da Informao


n

Todo software construdo para processar dados e eventos. Os dados e itens de controle residem no domnio de informao de um problema. 3 diferentes pontos de vista:
Fluxo da Informao: maneira pela qual os dados e o controle se modificam medida que cada um se movimenta pelo sistema Contedo da Informao: os dados e os itens de controle individuais que compreendem certo item de informao mais amplo. Estrutura da Informao: a organizao interna de vrios itens de controle e de dados
21

Profa. Luciana Romani

FACCAMP - Engenharia de Software

2. Princpio - Modelagem
n

O modelo deve ser capaz de modelar a informao que o software transforma, as funes (ou subfunes) que possibilitam que as transformaes ocorram e o comportamento do sistema quando a transformao est se desenvolvendo. Os modelos concentram-se naquilo que o sistema deve fazer, no em como ele faz. Papis importantes do Modelo:
ajuda o analista a entender a informao, a funo e o comportamento de um sistema, tornando a tarefa + fcil e sistemtica. torna-se o ponto focal para a reviso e, portanto, a chave para a determinao da completitude, consistncia e preciso da especificao. torna-se a base para o projeto, fornecendo ao projetista uma representao essencial do software, a qual pode ser "mapeada" num contexto de implementao.

3. Princpio - Particionamento
n

Os problemas freqentemente so grandes demais e muito complexos para serem compreendidos como um todo. O particionamento divide o problema em partes mais facilmente entendidas Atravs das interfaces estabelecidas entre as partes, a funo global do software pode ser executada.

23

3. Princpio - Particionamento
n

Particionamento Horizontal: decomposio funcional do problema Particionamento Vertical: expe detalhes crescentes
Particionamento horizontal Particionamento vertical

24

Profa. Luciana Romani

FACCAMP - Engenharia de Software

4. Princpio - Concepes essenciais e de implementao


n

A concepo essencial dos requisitos do software apresenta as funes a serem realizadas sem tratar dos detalhes de implementao. Ao se concentrar ateno na essncia do problema nas primeiras etapas da anlise de requisitos, deixa-se as opes abertas para especificar detalhes de implementao durante as ltimas etapas de especificao dos requisitos e projeto de software. A concepo de implementao dos requisitos de software apresenta a manifestao das funes de processamento e estruturas de informao no mundo real. No deve ser interpretada como uma representao do como. Um modelo de implementao representa o modo de operao corrente, ou seja a atribuio existente ou proposta para todos os elementos do sistema.

Princpios de uma boa especificao (Balzer e Goldman)


1. Separe funcionalidade de implementao 2. necessria uma linguagem de especificao de sistemas orientada ao processo 3. A especificao deve abranger o sistema do qual o software um componente 4. Uma especificao deve abranger o ambiente no qual o sistema opera 5. Uma especificao de sistema deve ser um modelo cognitivo 6. Uma especificao deve ser operacional 7. A especificao do sistema deve ser tolerante com a no completitude e ser expansvel 8. Uma especificao deve ser localizada e fracamente acoplada. 26

Formato da Especificao de Requisitos


I. Introduo - declara as metas e os objetivos do software, descrevendo-os no contexto do sistema baseado em computador II. Descrio da Informao - descrio detalhada do problema que o software deve resolver III. Descrio Funcional IV. Descrio Comportamental V. Critrios de Validao VI. Bibliografia VII. Apndice A Especificao pode ser acompanhada de um PROTTIPO executvel (ou em papel) e/ou um MANUAL PRELIMINAR DE USURIO.
27

Profa. Luciana Romani

FACCAMP - Engenharia de Software

Reviso da Especificao (nvel macroscpico)


n

Os revisores tentam garantir que a especificao seja completa, consistente e precisa. Questes:
Metas e objetivos do software permanecem consistentes com metas e objetivos do sistema? Foram descritas as interfaces importantes para todos os elementos do sistema? O fluxo e a estrutura de informao so adequadamente definidas para o domnio da informao? Os diagramas so claros?
28

Reviso da Especificao (nvel macroscpico)


As funes importantes permanecem dentro do escopo e cada uma foi adequadamente descrita? O comportamento do software consistente com a informao que ele deve processar e as funes que deve executar? As restries de projeto so realsticas? Qual o risco tecnolgico de desenvolvimento? Requisitos de software alternativos foram considerados? Critrios de Validao foram declarados detalhadamente? Eles so adequados para descrever um sistema bem sucedido? Existem inconsistncias, omisses ou redundncias? O usurio revisou o Manual Preliminar ou o prottipo? Como as estimativas do Plano de projeto de Software foram afetadas?
29

Reviso da Especificao (nvel detalhado)


n

A preocupao com o enunciado da especificao. Tenta-se descobrir problemas que possam estar ocultos no contedo da especificao Diretrizes:
Esteja alerta para perceber conectivos persuasivos e perguntar por que eles esto presentes. Procure termos vagos e pea esclarecimento Quando forem fornecidas listas que no sejam completas, certifique-se de que todos os itens sejam entendidos Esteja certo de que os limites declarados no contenham pressuposies no declaradas
30

Profa. Luciana Romani

10

FACCAMP - Engenharia de Software

Reviso da Especificao (nvel detalhado)


n

Diretrizes:
Cuidado com verbos vagos. H muitas maneiras de interpret-los. Cuidado com pronomes "pendentes". Procure declaraes que impliquem certeza e depois pea prova Quando um termo for explicitamente definido num lugar, evite utilizar outras definies para o mesmo termo Quando uma estrutura for descrita em palavras, verifique se h um grfico ou uma figura para auxiliar a compreenso Quando um clculo for especificado, desenvolva pelo menos dois exemplos.
31

Ferramentas de Especificao Automatizadas


n

1a categoria: tcnicas automatizadas que nada mais so do que um mtodo manual que foi complementado com uma ferramenta CASE
Possibilitam que o analista atualize informaes e rastreie as conexes entre representaes novas e existentes do sistema Ex: DEC Design (Digital Equipment Corp.), Design Aid (Transform Logic Corp.), Excelerator (Intersolv), IEF (Texas Instruments), ADW (Knowledgeware), STP (Interative Development Environments), Teamwork (Cadre Technologies).

32

Ferramentas de Especificao Automatizadas


n

2a categoria: tcnicas automatizadas que fazem uso de uma notao especial (na maioria dos casos, essa uma linguagem de especificao de requisitos) que foi explicitamente projetada para processamento usando-se uma ferramenta automatizada.
Ex: SREM (linguagem de especificao: RSL), PSL/PSA (linguagem de especificao: PSL), TAGS (linguagem de especificao: IORL)

33

Profa. Luciana Romani

11

FACCAMP - Engenharia de Software

Concluso
n

Logo que a Reviso for concluda, a Espec. de Requisitos de Software "assinada" pelo cliente e pelo desenvolvedor A especificao torna-se um "contrato" de desenvolvimento de software. Mudanas solicitadas depois que a Espec. for concluda sero consideradas, porm cada mudana posterior pode aumentar o custo e/ou alongar o prazo de entrega Mesmo com os melhores procedimentos de reviso em andamento, uma srie de problemas de especificao ainda persiste
34

Profa. Luciana Romani

12

Você também pode gostar