SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
Analise de requisitos de software - Wikipédia                                    http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_software




         Analise de requisitos de software
         Origem: Wikipédia, a enciclopédia livre.

         Na engenharia de sistemas e engenharia de software, análise de requisitos engloba todas as tarefas que lidam com
         investigação, definição e escopo de novos sistemas ou alterações. Análise de requisitos é uma parte importante do
         processo de projeto de sistemas, na qual o engenheiro de requisitos e o analista de negócio, 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 estarão preparados para projetar a solução.



          Índice


         Outras denominações
         A análise de requisitos é também conhecida por outros nomes:

               Engenharia de requisitos
               Levantamento de requisitos
               Captura de requisitos
               Análise de sistema
               Especificação de requisitos
               Análise de requerimentos

         Principais Atividades
         Conceitualmente, a análise de requisitos inclui três tipos de atividades:

               Elicitação dos requisitos: é a tarefa de comunicar-se com os usuários e clientes pra determinar quais são os
               requisitos.
               Análise de requisitos: determina se o estado do requisitos é obscuro, incompleto, ambíguo, ou contraditório e
               resolve estes problemas.
               Registros dos requisitos: os requisitos devem ser documentados de várias formas, tais como documentos de
               linguagem natural, casos de uso, ou processo de especificação.

         Processo
         Análise de requisitos pode ser um processo longo e árduo. Novos sistemas mudam o ambiente e a relação entre as
         pessoas, então é importante identificar todos os envolvidos, levando em conta todas as suas necessidades e assegurando
         que eles compreenderam as implicações dos novos sistemas. Os analistas podem empregar várias técnicas para elicitar os
         requisitos dos clientes. Historicamente, isto envolve coisas tais como organizar entrevistas ou grupos focais (workshops)
         e a criação de lista de requisitos. Técnicas mais modernas incluem prototipação, e casos de uso, onde o analista irá
         aplicar uma combinação de métodos para estabelecer os requisitos exatos de seus stakeholders, tal que um sistema que
         atenda as necessidades do negócio seja produzido.

         Principais técnicas
         Entrevistas com stakeholder

         Entrevistas com stakeholder é um método comumente usado na análise de requisitos. Algumas decisões são usualmente
         necessárias, o custo inicial é um fator na decisão de quem será entrevistado. Estas entrevistas devem revelar requisitos
         ainda não precisamente delineados de acordo com o escopo do projeto, e requisitos possam ser contraditórios.



1 of 4                                                                                                                          8/3/2008 04:28
Analise de requisitos de software - Wikipédia                                    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 são mais propriamente
         denominados como seção de Desenvolvimento de Requisitos Conjunta, onde os requisitos são identificados
         conjuntamente e definidos pelos stakeholders.

         Pode ser útil realizar tais workshops fora em ambientes controlados, tais que os stakeholders não sejam distraídos. Um
         facilitador que pode ser usado pra manter o processo focado e beneficiar esta sessão seria o fato de haver um redator
         dedicado a documentar a discussão. Facilitadores devem fazer uso de um projetor e diagramas de software ou devem usar
         um suporte tão simples como papel e marcadores. Uma regra para os facilitadores deve assegurar que o peso associado
         ao requisitos propostos não deve demasiadamente dependente da personalidades daqueles envolvidos no processo.

         Lista de requisitos no estilo de contrato

         Uma forma tradicional de documentar requisitos é a utilização de lista de requisitos no estilo de contrato. Em sistemas
         complexos tais listas de requisitos podem chegar a centenas de páginas.

         Objetivos Mensuráveis

         As melhores práticas consideram as listas de requisitos compostas como meras dicas e respostas, até que o real propósito
         do negócio seja descoberto. Então os stakeholders e desenvolvedores poderão planejar testes para medir em qual nível
         cada objetivo será atingido. Estes objetivos mudam mais lentamente do que a longa lista de especificação de requisitos
         não mensuráveis. Uma vez que este pequeno grupo de objetivos críticos e mensuráveis for estabelecido, prototipação
         rápida e fases de desenvolvimento interativas e rápidas convergirão para atendimento dos fundamentais objetivos dos
         stakeholder antes que tenha decorrido metade do projeto.

         Protótipos

               Artigo Principal: Prototipação

         Em meados dos anos 80, prototipação surgiu como a solução para o problema da análise de requisitos. Prototipação é
         uma simulação das telas de uma aplicação a qual permite ao usuário visualizar a aplicação que ainda não foi produzida.
         Protótipos ajudam o usuário a ter uma idéia de como o sistema irá parecer, e facilita a tomada de decisãoes no projeto
         sem esperar que o sistema seja construído. Melhorias na comunicação entre o usuário e desenvolvedores são
         freqüentemente vistas com a implantação da prototipação. A visualização antecipada das telas leva a poucas mudanças
         posteriores e, por conseguinte reduz o custo total consideravelmente.

         Contudo, no decorrer da década seguinte, embora provasse ser uma técnica útil, ela não resolvia estes problemas dos
         requisitos:

               Uma vez que o protótipo fica pronto, o gerente gasta um grande tempo para entender que o projeto final não irá ser
               produzido no mesmo tempo.
               Projetistas freqüentemente sentem-se compelidos a usar o atalho de utilizar o protótipo no sistema real, porque eles
               têm medo do 'grande tempo' para iniciar de novo.
               Projetistas e usuários finais podem focar-se demais no projeto da interface e pouco na produção de um sistema que
               atenda as necessidades do processo de negócio.

         Protótipos podem ser exibidos em diagramas (denominados como wireframes) ou utilizando aplicações que sintetizem as
         funcionalidades. Wireframes são exibidos em documentos com várias apresentações gráficas, e freqüentemente
         removem-se as cores do projeto gráfico (isto é, usa-se uma paleta de tons de cinza) em casos onde existe uma expectativa
         a respeito do projeto gráfico do software final. Isto ajuda a prevenir a confusão a respeito da experiência final a respeito
         da aparência da aplicação.

         Casos de Uso

               Artigo Principal: Caso de uso

         Um 'Caso de Uso' é uma técnica para capturar os requisitos em potencial de um novo sistema ou manutenção de
         software. Cada caso de uso prove um ou mais cenários de indicam como o sistema deve interagir com o usuário final ou


2 of 4                                                                                                                          8/3/2008 04:28
Analise de requisitos de software - Wikipédia                                  http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_software

         outro sistema para atingir um objetivo de negócio específico. Casos de uso tipicamente evitam o jargão técnico,
         preferindo ao invés disto a linguagem do usuário final ou de um expert no domínio. Os casos de uso são freqüentemente
         de co-autoria dos desenvolvedores de software e usuários.

         Casos de usos são ferramentas enganosamente simples para descrever o comportamento de um software. Um caso de uso
         deve conter uma descrição textual de todos os passos que o usuário futuramente poderá vir a utilizar no software através
         de sua interface. Casos de uso não descrevem nenhum comportamento interno do software, nem fazem explanações de
         como o software será implementado. Eles simplesmente mostram os passos que o usuário deve seguir para usar o
         software no seu trabalho. Todas as formas com que o usuário irá interagir com o software deverão ser descritas por este
         meio.

         Problemas
         Problemas com Stakeholder

         Alguns dos problemas que podem inibir a obtenção dos requisitos:

               Usuários não sabem o que eles querem.
               Usuários que não querem concluir a escrita do conjunto de requisitos.
               Comunicação com o usuário é lenta
               Os usuários freqüentemente não participam nas revisões ou são incapazes de fazer isto.
               Os usuários são tecnicamente poucos sofisticados.
               Os usuários não entendem do desenvolvimento de processo.

         Isto deve levar a situações onde os requisitos do usuário continuam mudando mesmo quando o desenvolvimento do
         sistema ou produto já se iniciou.

         Problemas de Engenheiros/Desenvolvedores

         Possíveis problemas causados por engenheiros e desenvolvedores durante a análise dos requisitos são:

               Pessoal técnico e usuários finais têm vocabulários diferentes. Conseqüentemente, eles podem acreditar que estão
               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 específico que atenda as necessidades do cliente.
               A análise é freqüentemente conduzida por engenheiros ou programadores, ao invés de pessoal com habilidade e
               domínio do conhecimento para compreender as necessidades dos clientes.

         Tentativas de solução

         Uma tentativa para solucionar os problemas de comunicação vem sendo o emprego de especialistas em negócios ou
         analistas de sistema.

         As técnicas introduzidas em 1990 como Prototipação, UML, Casos de Uso, e Desenvolvimento ágil de software foram
         também introduzidas como soluções para os problemas apresentados.

         Também surgiu no mercado uma nova classe de ferramentas de simulação de aplicação ou definição de aplicação. Esta
         ferramentas foram projetadas como uma ponte para transpor a lacuna de comunicação existente entre o usuário e a
         equipe de TI – e também permitir que aplicações tenham 'testes de mercado' antes que qualquer código seja produzido. O
         melhor que estas ferramentas tem a oferecer é:

               Quadro eletrônico para marcar o fluxo das aplicações e testar alternativas.
               habilidade de capturar a lógica do negócio e informações necessárias.
               interatividade
               capacidade de adicionar requisitos contextuais e outros comentários.
               habilidade para uso remoto e distribuído para permitir o uso e interação como as simulações

         Ver também

3 of 4                                                                                                                        8/3/2008 04:28
Analise de requisitos de software - Wikipédia                                 http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_software

               Reengenharia
               Analise de sistema
               Analise de negócio
               Caso de uso
               Arquitetura de processo
               Modelagem de processo
               Modelagem de dados
               Requisito funcional
               Requisito não-funcional

         Ligações externas
               Requirements Management (http://www.excelsoftware.com/requirements_management.pdf) (PDF)
               Requirements Engineering Process quot;Goodiesquot; (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 gerência de projetos e bug tracking (http://www.fogcreek.com.br)

         Obtido em quot;http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_softwarequot;
         Categoria: Engenharia de software

               Esta página foi modificada pela última vez a 11h05min, 12 de Janeiro de 2008.
               O texto desta página está sob a GNU Free Documentation License.
               Os direitos autorais de todas as contribuições para a Wikipédia pertencem aos seus respectivos autores (mais
               informações em direitos autorais).




4 of 4                                                                                                                       8/3/2008 04:28

Más contenido relacionado

La actualidad más candente

Engenharia de software i 3 - processos de engenharia de requisitos
Engenharia de software i   3 - processos de engenharia de requisitosEngenharia de software i   3 - processos de engenharia de requisitos
Engenharia de software i 3 - processos de engenharia de requisitosWillian Moreira Figueiredo de Souza
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareCamilo de Melo
 
Engenharia de Software
Engenharia de SoftwareEngenharia de Software
Engenharia de SoftwareSm3nd3s29
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareCursoSENAC
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Luís Fernando Richter
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitoselliando dias
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaRalph Rassweiler
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareFelipe Goulart
 
Desenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLDesenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLRildo (@rildosan) Santos
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Priscilla Aguiar
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de SoftwareNécio de Lima Veras
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentaisWaldemar Roberti
 

La actualidad más candente (20)

Engenharia de software i 3 - processos de engenharia de requisitos
Engenharia de software i   3 - processos de engenharia de requisitosEngenharia de software i   3 - processos de engenharia de requisitos
Engenharia de software i 3 - processos de engenharia de requisitos
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Engenharia de Software
Engenharia de SoftwareEngenharia de Software
Engenharia de Software
 
Fundamentos da Engenharia de Software
Fundamentos da Engenharia de SoftwareFundamentos da Engenharia de Software
Fundamentos da Engenharia de Software
 
Aula3 engenharia requisitos
Aula3 engenharia requisitosAula3 engenharia requisitos
Aula3 engenharia requisitos
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Documento de requisitos
Documento de requisitosDocumento de requisitos
Documento de requisitos
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
Requisitos Ágeis
Requisitos ÁgeisRequisitos Ágeis
Requisitos Ágeis
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Revista Engenharia de Software n° 44
Revista Engenharia de Software n° 44Revista Engenharia de Software n° 44
Revista Engenharia de Software n° 44
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e prática
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Desenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLDesenhando Componentes de Software com UML
Desenhando Componentes de Software com UML
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais
 

Similar a Analise de Requisitos de Software

Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trataRoni Reis
 
A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...André Agostinho
 
Especificação requisitos
Especificação requisitosEspecificação requisitos
Especificação requisitosLuis Fernandes
 
Os aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de RequisitosOs aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de RequisitosJosé Vieira
 
Introdução à Engenharia de Requisitos
Introdução à Engenharia de RequisitosIntrodução à Engenharia de Requisitos
Introdução à Engenharia de RequisitosOrlando Junior
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Rosanete Grassiani dos Santos
 
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfO_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfAthena542429
 
Metodologia de desenvolvimento de sistemas
Metodologia  de desenvolvimento de sistemasMetodologia  de desenvolvimento de sistemas
Metodologia de desenvolvimento de sistemasPriscila Stuani
 
Requisitos no Processo Iterativo
Requisitos no Processo IterativoRequisitos no Processo Iterativo
Requisitos no Processo IterativoFatec
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e ProjetoSergio Silva
 

Similar a Analise de Requisitos de Software (20)

Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
 
Especificação requisitos
Especificação requisitosEspecificação requisitos
Especificação requisitos
 
Documento de requisitos
Documento de requisitosDocumento de requisitos
Documento de requisitos
 
Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01
 
Análise de requisitos
Análise de requisitosAnálise de requisitos
Análise de requisitos
 
AMSI.pptx
AMSI.pptxAMSI.pptx
AMSI.pptx
 
Os aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de RequisitosOs aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de Requisitos
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 
Introdução à Engenharia de Requisitos
Introdução à Engenharia de RequisitosIntrodução à Engenharia de Requisitos
Introdução à Engenharia de Requisitos
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
 
Analise sistemas 04
Analise sistemas 04Analise sistemas 04
Analise sistemas 04
 
Trabalho es prototipagem
Trabalho es   prototipagemTrabalho es   prototipagem
Trabalho es prototipagem
 
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfO_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
 
Metodologia de desenvolvimento de sistemas
Metodologia  de desenvolvimento de sistemasMetodologia  de desenvolvimento de sistemas
Metodologia de desenvolvimento de sistemas
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Requisitos no Processo Iterativo
Requisitos no Processo IterativoRequisitos no Processo Iterativo
Requisitos no Processo Iterativo
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e Projeto
 

Más de Robson Silva Espig (20)

Master Place - Convenção Bloco D
Master Place - Convenção Bloco DMaster Place - Convenção Bloco D
Master Place - Convenção Bloco D
 
Aquarelas Envelhecidas
Aquarelas EnvelhecidasAquarelas Envelhecidas
Aquarelas Envelhecidas
 
[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK
 
[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade
 
[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
 
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custosComo implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
 
Gestao Projetos - Aula 02
Gestao Projetos - Aula 02Gestao Projetos - Aula 02
Gestao Projetos - Aula 02
 
Gestao Projetos - Aula 01
Gestao Projetos - Aula 01Gestao Projetos - Aula 01
Gestao Projetos - Aula 01
 
Aula 01
Aula 01Aula 01
Aula 01
 
Aula 05
Aula 05Aula 05
Aula 05
 
Aula 04
Aula 04Aula 04
Aula 04
 
Aula 02
Aula 02Aula 02
Aula 02
 
Caso de Desenvolvimento
Caso de DesenvolvimentoCaso de Desenvolvimento
Caso de Desenvolvimento
 
SOA
SOASOA
SOA
 
Aula 03
Aula 03Aula 03
Aula 03
 
Artigo Caso de Uso
Artigo Caso de UsoArtigo Caso de Uso
Artigo Caso de Uso
 
RAD
RADRAD
RAD
 
Desenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalDesenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e Incremental
 
Implantacao de Software
Implantacao de SoftwareImplantacao de Software
Implantacao de Software
 

Analise de Requisitos de Software

  • 1. Analise de requisitos de software - Wikipédia http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_software Analise de requisitos de software Origem: Wikipédia, a enciclopédia livre. Na engenharia de sistemas e engenharia de software, análise de requisitos engloba todas as tarefas que lidam com investigação, definição e escopo de novos sistemas ou alterações. Análise de requisitos é uma parte importante do processo de projeto de sistemas, na qual o engenheiro de requisitos e o analista de negócio, 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 estarão preparados para projetar a solução. Índice Outras denominações A análise de requisitos é também conhecida por outros nomes: Engenharia de requisitos Levantamento de requisitos Captura de requisitos Análise de sistema Especificação de requisitos Análise de requerimentos Principais Atividades Conceitualmente, a análise de requisitos inclui três tipos de atividades: Elicitação dos requisitos: é a tarefa de comunicar-se com os usuários e clientes pra determinar quais são os requisitos. Análise de requisitos: determina se o estado do requisitos é obscuro, incompleto, ambíguo, ou contraditório e resolve estes problemas. Registros dos requisitos: os requisitos devem ser documentados de várias formas, tais como documentos de linguagem natural, casos de uso, ou processo de especificação. Processo Análise de requisitos pode ser um processo longo e árduo. Novos sistemas mudam o ambiente e a relação entre as pessoas, então é importante identificar todos os envolvidos, levando em conta todas as suas necessidades e assegurando que eles compreenderam as implicações dos novos sistemas. Os analistas podem empregar várias técnicas para elicitar os requisitos dos clientes. Historicamente, isto envolve coisas tais como organizar entrevistas ou grupos focais (workshops) e a criação de lista de requisitos. Técnicas mais modernas incluem prototipação, e casos de uso, onde o analista irá aplicar uma combinação de métodos para estabelecer os requisitos exatos de seus stakeholders, tal que um sistema que atenda as necessidades do negócio seja produzido. Principais técnicas Entrevistas com stakeholder Entrevistas com stakeholder é um método comumente usado na análise de requisitos. Algumas decisões são usualmente necessárias, o custo inicial é um fator na decisão de quem será entrevistado. Estas entrevistas devem revelar requisitos ainda não precisamente delineados de acordo com o escopo do projeto, e requisitos possam ser contraditórios. 1 of 4 8/3/2008 04:28
  • 2. Analise de requisitos de software - Wikipédia 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 são mais propriamente denominados como seção de Desenvolvimento de Requisitos Conjunta, onde os requisitos são identificados conjuntamente e definidos pelos stakeholders. Pode ser útil realizar tais workshops fora em ambientes controlados, tais que os stakeholders não sejam distraídos. Um facilitador que pode ser usado pra manter o processo focado e beneficiar esta sessão seria o fato de haver um redator dedicado a documentar a discussão. Facilitadores devem fazer uso de um projetor e diagramas de software ou devem usar um suporte tão simples como papel e marcadores. Uma regra para os facilitadores deve assegurar que o peso associado ao requisitos propostos não deve demasiadamente dependente da personalidades daqueles envolvidos no processo. Lista de requisitos no estilo de contrato Uma forma tradicional de documentar requisitos é a utilização de lista de requisitos no estilo de contrato. Em sistemas complexos tais listas de requisitos podem chegar a centenas de páginas. Objetivos Mensuráveis As melhores práticas consideram as listas de requisitos compostas como meras dicas e respostas, até que o real propósito do negócio seja descoberto. Então os stakeholders e desenvolvedores poderão planejar testes para medir em qual nível cada objetivo será atingido. Estes objetivos mudam mais lentamente do que a longa lista de especificação de requisitos não mensuráveis. Uma vez que este pequeno grupo de objetivos críticos e mensuráveis for estabelecido, prototipação rápida e fases de desenvolvimento interativas e rápidas convergirão para atendimento dos fundamentais objetivos dos stakeholder antes que tenha decorrido metade do projeto. Protótipos Artigo Principal: Prototipação Em meados dos anos 80, prototipação surgiu como a solução para o problema da análise de requisitos. Prototipação é uma simulação das telas de uma aplicação a qual permite ao usuário visualizar a aplicação que ainda não foi produzida. Protótipos ajudam o usuário a ter uma idéia de como o sistema irá parecer, e facilita a tomada de decisãoes no projeto sem esperar que o sistema seja construído. Melhorias na comunicação entre o usuário e desenvolvedores são freqüentemente vistas com a implantação da prototipação. A visualização antecipada das telas leva a poucas mudanças posteriores e, por conseguinte reduz o custo total consideravelmente. Contudo, no decorrer da década seguinte, embora provasse ser uma técnica útil, ela não resolvia estes problemas dos requisitos: Uma vez que o protótipo fica pronto, o gerente gasta um grande tempo para entender que o projeto final não irá ser produzido no mesmo tempo. Projetistas freqüentemente sentem-se compelidos a usar o atalho de utilizar o protótipo no sistema real, porque eles têm medo do 'grande tempo' para iniciar de novo. Projetistas e usuários finais podem focar-se demais no projeto da interface e pouco na produção de um sistema que atenda as necessidades do processo de negócio. Protótipos podem ser exibidos em diagramas (denominados como wireframes) ou utilizando aplicações que sintetizem as funcionalidades. Wireframes são exibidos em documentos com várias apresentações gráficas, e freqüentemente removem-se as cores do projeto gráfico (isto é, usa-se uma paleta de tons de cinza) em casos onde existe uma expectativa a respeito do projeto gráfico do software final. Isto ajuda a prevenir a confusão a respeito da experiência final a respeito da aparência da aplicação. Casos de Uso Artigo Principal: Caso de uso Um 'Caso de Uso' é uma técnica para capturar os requisitos em potencial de um novo sistema ou manutenção de software. Cada caso de uso prove um ou mais cenários de indicam como o sistema deve interagir com o usuário final ou 2 of 4 8/3/2008 04:28
  • 3. Analise de requisitos de software - Wikipédia http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_software outro sistema para atingir um objetivo de negócio específico. Casos de uso tipicamente evitam o jargão técnico, preferindo ao invés disto a linguagem do usuário final ou de um expert no domínio. Os casos de uso são freqüentemente de co-autoria dos desenvolvedores de software e usuários. Casos de usos são ferramentas enganosamente simples para descrever o comportamento de um software. Um caso de uso deve conter uma descrição textual de todos os passos que o usuário futuramente poderá vir a utilizar no software através de sua interface. Casos de uso não descrevem nenhum comportamento interno do software, nem fazem explanações de como o software será implementado. Eles simplesmente mostram os passos que o usuário deve seguir para usar o software no seu trabalho. Todas as formas com que o usuário irá interagir com o software deverão ser descritas por este meio. Problemas Problemas com Stakeholder Alguns dos problemas que podem inibir a obtenção dos requisitos: Usuários não sabem o que eles querem. Usuários que não querem concluir a escrita do conjunto de requisitos. Comunicação com o usuário é lenta Os usuários freqüentemente não participam nas revisões ou são incapazes de fazer isto. Os usuários são tecnicamente poucos sofisticados. Os usuários não entendem do desenvolvimento de processo. Isto deve levar a situações onde os requisitos do usuário continuam mudando mesmo quando o desenvolvimento do sistema ou produto já se iniciou. Problemas de Engenheiros/Desenvolvedores Possíveis problemas causados por engenheiros e desenvolvedores durante a análise dos requisitos são: Pessoal técnico e usuários finais têm vocabulários diferentes. Conseqüentemente, eles podem acreditar que estão 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 específico que atenda as necessidades do cliente. A análise é freqüentemente conduzida por engenheiros ou programadores, ao invés de pessoal com habilidade e domínio do conhecimento para compreender as necessidades dos clientes. Tentativas de solução Uma tentativa para solucionar os problemas de comunicação vem sendo o emprego de especialistas em negócios ou analistas de sistema. As técnicas introduzidas em 1990 como Prototipação, UML, Casos de Uso, e Desenvolvimento ágil de software foram também introduzidas como soluções para os problemas apresentados. Também surgiu no mercado uma nova classe de ferramentas de simulação de aplicação ou definição de aplicação. Esta ferramentas foram projetadas como uma ponte para transpor a lacuna de comunicação existente entre o usuário e a equipe de TI – e também permitir que aplicações tenham 'testes de mercado' antes que qualquer código seja produzido. O melhor que estas ferramentas tem a oferecer é: Quadro eletrônico para marcar o fluxo das aplicações e testar alternativas. habilidade de capturar a lógica do negócio e informações necessárias. interatividade capacidade de adicionar requisitos contextuais e outros comentários. habilidade para uso remoto e distribuído para permitir o uso e interação como as simulações Ver também 3 of 4 8/3/2008 04:28
  • 4. Analise de requisitos de software - Wikipédia http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_software Reengenharia Analise de sistema Analise de negócio Caso de uso Arquitetura de processo Modelagem de processo Modelagem de dados Requisito funcional Requisito não-funcional Ligações externas Requirements Management (http://www.excelsoftware.com/requirements_management.pdf) (PDF) Requirements Engineering Process quot;Goodiesquot; (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 gerência de projetos e bug tracking (http://www.fogcreek.com.br) Obtido em quot;http://pt.wikipedia.org/wiki/Analise_de_requisitos_de_softwarequot; Categoria: Engenharia de software Esta página foi modificada pela última vez a 11h05min, 12 de Janeiro de 2008. O texto desta página está sob a GNU Free Documentation License. Os direitos autorais de todas as contribuições para a Wikipédia pertencem aos seus respectivos autores (mais informações em direitos autorais). 4 of 4 8/3/2008 04:28