Você está na página 1de 4

Analise de requisitos de software - Wikipdia

http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_software

Analise de requisitos de software


Origem: Wikipdia, a enciclopdia livre.

Na engenharia de sistemas e engenharia de software, anlise de requisitos engloba todas as tarefas que lidam com investigao, definio e escopo de novos sistemas ou alteraes. Anlise de requisitos uma parte importante do processo de projeto de sistemas, na qual o engenheiro de requisitos e o analista de negcio, juntamente com engenheiro de sistema ou desenvolvedor de software, identificam as necessidades ou requisitos de um cliente. Uma vez que os requisitos do sistema tenha sido identificados, os projetistas de sistemas estaro preparados para projetar a soluo.

ndice Outras denominaes


A anlise de requisitos tambm conhecida por outros nomes: Engenharia de requisitos Levantamento de requisitos Captura de requisitos Anlise de sistema Especificao de requisitos Anlise de requerimentos

Principais Atividades
Conceitualmente, a anlise de requisitos inclui trs tipos de atividades: Elicitao dos requisitos: a tarefa de comunicar-se com os usurios e clientes pra determinar quais so os requisitos. Anlise de requisitos: determina se o estado do requisitos obscuro, incompleto, ambguo, ou contraditrio e resolve estes problemas. Registros dos requisitos: os requisitos devem ser documentados de vrias formas, tais como documentos de linguagem natural, casos de uso, ou processo de especificao.

Processo
Anlise de requisitos pode ser um processo longo e rduo. Novos sistemas mudam o ambiente e a relao entre as pessoas, ento importante identificar todos os envolvidos, levando em conta todas as suas necessidades e assegurando que eles compreenderam as implicaes dos novos sistemas. Os analistas podem empregar vrias tcnicas para elicitar os requisitos dos clientes. Historicamente, isto envolve coisas tais como organizar entrevistas ou grupos focais (workshops) e a criao de lista de requisitos. Tcnicas mais modernas incluem prototipao, e casos de uso, onde o analista ir aplicar uma combinao de mtodos para estabelecer os requisitos exatos de seus stakeholders, tal que um sistema que atenda as necessidades do negcio seja produzido.

Principais tcnicas
Entrevistas com stakeholder
Entrevistas com stakeholder um mtodo comumente usado na anlise de requisitos. Algumas decises so usualmente necessrias, o custo inicial um fator na deciso de quem ser entrevistado. Estas entrevistas devem revelar requisitos ainda no precisamente delineados de acordo com o escopo do projeto, e requisitos possam ser contraditrios.

1 of 4

8/3/2008 04:28

Analise de requisitos de software - Wikipdia

http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_software

Workshops de requisitos
Em alguns casos pode ser til reunir os stakeholders em workshop de requisitos. Estes workshops so mais propriamente denominados como seo de Desenvolvimento de Requisitos Conjunta, onde os requisitos so identificados conjuntamente e definidos pelos stakeholders. Pode ser til realizar tais workshops fora em ambientes controlados, tais que os stakeholders no sejam distrados. Um facilitador que pode ser usado pra manter o processo focado e beneficiar esta sesso seria o fato de haver um redator dedicado a documentar a discusso. Facilitadores devem fazer uso de um projetor e diagramas de software ou devem usar um suporte to simples como papel e marcadores. Uma regra para os facilitadores deve assegurar que o peso associado ao requisitos propostos no deve demasiadamente dependente da personalidades daqueles envolvidos no processo.

Lista de requisitos no estilo de contrato


Uma forma tradicional de documentar requisitos a utilizao de lista de requisitos no estilo de contrato. Em sistemas complexos tais listas de requisitos podem chegar a centenas de pginas.

Objetivos Mensurveis
As melhores prticas consideram as listas de requisitos compostas como meras dicas e respostas, at que o real propsito do negcio seja descoberto. Ento os stakeholders e desenvolvedores podero planejar testes para medir em qual nvel cada objetivo ser atingido. Estes objetivos mudam mais lentamente do que a longa lista de especificao de requisitos no mensurveis. Uma vez que este pequeno grupo de objetivos crticos e mensurveis for estabelecido, prototipao rpida e fases de desenvolvimento interativas e rpidas convergiro para atendimento dos fundamentais objetivos dos stakeholder antes que tenha decorrido metade do projeto.

Prottipos
Artigo Principal: Prototipao Em meados dos anos 80, prototipao surgiu como a soluo para o problema da anlise de requisitos. Prototipao uma simulao das telas de uma aplicao a qual permite ao usurio visualizar a aplicao que ainda no foi produzida. Prottipos ajudam o usurio a ter uma idia de como o sistema ir parecer, e facilita a tomada de decisoes no projeto sem esperar que o sistema seja construdo. Melhorias na comunicao entre o usurio e desenvolvedores so freqentemente vistas com a implantao da prototipao. A visualizao antecipada das telas leva a poucas mudanas posteriores e, por conseguinte reduz o custo total consideravelmente. Contudo, no decorrer da dcada seguinte, embora provasse ser uma tcnica til, ela no resolvia estes problemas dos requisitos: Uma vez que o prottipo fica pronto, o gerente gasta um grande tempo para entender que o projeto final no ir ser produzido no mesmo tempo. Projetistas freqentemente sentem-se compelidos a usar o atalho de utilizar o prottipo no sistema real, porque eles tm medo do 'grande tempo' para iniciar de novo. Projetistas e usurios finais podem focar-se demais no projeto da interface e pouco na produo de um sistema que atenda as necessidades do processo de negcio. Prottipos podem ser exibidos em diagramas (denominados como wireframes) ou utilizando aplicaes que sintetizem as funcionalidades. Wireframes so exibidos em documentos com vrias apresentaes grficas, e freqentemente removem-se as cores do projeto grfico (isto , usa-se uma paleta de tons de cinza) em casos onde existe uma expectativa a respeito do projeto grfico do software final. Isto ajuda a prevenir a confuso a respeito da experincia final a respeito da aparncia da aplicao.

Casos de Uso
Artigo Principal: Caso de uso Um 'Caso de Uso' uma tcnica para capturar os requisitos em potencial de um novo sistema ou manuteno de software. Cada caso de uso prove um ou mais cenrios de indicam como o sistema deve interagir com o usurio final ou

2 of 4

8/3/2008 04:28

Analise de requisitos de software - Wikipdia

http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_software

outro sistema para atingir um objetivo de negcio especfico. Casos de uso tipicamente evitam o jargo tcnico, preferindo ao invs disto a linguagem do usurio final ou de um expert no domnio. Os casos de uso so freqentemente de co-autoria dos desenvolvedores de software e usurios. Casos de usos so ferramentas enganosamente simples para descrever o comportamento de um software. Um caso de uso deve conter uma descrio textual de todos os passos que o usurio futuramente poder vir a utilizar no software atravs de sua interface. Casos de uso no descrevem nenhum comportamento interno do software, nem fazem explanaes de como o software ser implementado. Eles simplesmente mostram os passos que o usurio deve seguir para usar o software no seu trabalho. Todas as formas com que o usurio ir interagir com o software devero ser descritas por este meio.

Problemas
Problemas com Stakeholder
Alguns dos problemas que podem inibir a obteno dos requisitos: Usurios no sabem o que eles querem. Usurios que no querem concluir a escrita do conjunto de requisitos. Comunicao com o usurio lenta Os usurios freqentemente no participam nas revises ou so incapazes de fazer isto. Os usurios so tecnicamente poucos sofisticados. Os usurios no entendem do desenvolvimento de processo. Isto deve levar a situaes onde os requisitos do usurio continuam mudando mesmo quando o desenvolvimento do sistema ou produto j se iniciou.

Problemas de Engenheiros/Desenvolvedores
Possveis problemas causados por engenheiros e desenvolvedores durante a anlise dos requisitos so: Pessoal tcnico e usurios finais tm vocabulrios diferentes. Conseqentemente, eles podem acreditar que esto em perfeito acordo at que o produto final seja entregue. Engenheiros e desenvolvedores tentam ajustar os requisitos para um sistema existente ou modelo, em vez de desenvolver um sistema especfico que atenda as necessidades do cliente. A anlise freqentemente conduzida por engenheiros ou programadores, ao invs de pessoal com habilidade e domnio do conhecimento para compreender as necessidades dos clientes.

Tentativas de soluo
Uma tentativa para solucionar os problemas de comunicao vem sendo o emprego de especialistas em negcios ou analistas de sistema. As tcnicas introduzidas em 1990 como Prototipao, UML, Casos de Uso, e Desenvolvimento gil de software foram tambm introduzidas como solues para os problemas apresentados. Tambm surgiu no mercado uma nova classe de ferramentas de simulao de aplicao ou definio de aplicao. Esta ferramentas foram projetadas como uma ponte para transpor a lacuna de comunicao existente entre o usurio e a equipe de TI e tambm permitir que aplicaes tenham 'testes de mercado' antes que qualquer cdigo seja produzido. O melhor que estas ferramentas tem a oferecer : Quadro eletrnico para marcar o fluxo das aplicaes e testar alternativas. habilidade de capturar a lgica do negcio e informaes necessrias. interatividade capacidade de adicionar requisitos contextuais e outros comentrios. habilidade para uso remoto e distribudo para permitir o uso e interao como as simulaes

Ver tambm
3 of 4 8/3/2008 04:28

Analise de requisitos de software - Wikipdia

http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_software

Reengenharia Analise de sistema Analise de negcio Caso de uso Arquitetura de processo Modelagem de processo Modelagem de dados Requisito funcional Requisito no-funcional

Ligaes externas
Requirements Management (http://www.excelsoftware.com/requirements_management.pdf) (PDF) Requirements Engineering Process "Goodies" (http://www.processimpact.com/goodies.shtml#reqs) Product Engineering Practices (http://www.stellman-greene.com/product_engineering) What is Requirements Engineering? (http://www.requirements.in/articles/20060110what.html) Adopting Requirements Visualization (http://www.irise.com/resources/) (PDF) Application Definition Best Practices (http://www.irise.com/resources/) (PDF) Requirements Engineering: A Roadmap (http://www-dse.doc.ic.ac.uk/~ban/pubs/sotar.re.pdf) (PDF) Guide to the Business Analysis Body of Knowledge (http://www.theiiba.org/content.asp?contenttype=Body%20of%20Knowledge) Visualization for Start-up and Emerging Companies (http://www.vcfodder.com/?PAGE=258) Guide to the Software Engineering Body of Knowledge (http://www.swebok.org/) Agile, Multidisciplinary Teamwork (http://www.methodsandtools.com/archive/archive.php?id=17) Discovering System Requirements (http://www.sie.arizona.edu/sysengr/requirements/index.html) FogBugz - ferramenta para gerncia de projetos e bug tracking (http://www.fogcreek.com.br) Obtido em "http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_software" Categoria: Engenharia de software Esta pgina foi modificada pela ltima vez a 11h05min, 12 de Janeiro de 2008. O texto desta pgina est sob a GNU Free Documentation License. Os direitos autorais de todas as contribuies para a Wikipdia pertencem aos seus respectivos autores (mais informaes em direitos autorais).

4 of 4

8/3/2008 04:28

Você também pode gostar