Вы находитесь на странице: 1из 9

Universidadedevora

DepartamentodeInformtica
MestradoELearningEngenhariaInformatica

ANLISEDEREQUISITOS
JoaquimKalala,RuiBebiano

1.DefiniodoRequisitodeSoftware

Ao longo das vrias dcadas aps a inveno da programao de computadores, os


profissionais de software ainda continuam a debater sobre o que exactamente um
requisito.

Os profissionais de software no usam a palavra requisito tal como ela definidano


dicionrio: condio necessria para a consecuodeum certo fim, exigncia legal
ou necessria.Algumas pessoas questionam se devemos atpriorizarosrequisitos,j
que talvez o requisito de baixa prioridade no fosse implementado. Se no for
realmentenecessrioentonosetratadeumrequisito[1].

De acordo como o Ian Sommerville e Pete Sawyer [4] os requisitos so uma


especificao daquilo que deve ser implementado. Eles so descries de como um
sistema deve se comportar ou de um atributo ou propriedade de um sistema. Eles
podemserumarestrioimpostasobreoprocessodedesenvolvimentodosistema.

Portanto, umrequisito de software uma propriedadequedeveserexibidoporalguma


coisa para resolver um problema no mundo real. Ele pode ter como objectivo
automatizar parte de umatarefa paraalgumdemodoaapoiarosprocessosdenegcio
de uma organizao, corrigir um erro num software existente ou controlar um
dispositivo s paracitar alguns dos problemaspara os quais possvel encontraruma
soluo de software. A forma como os utilizadores, os processos de negcio e os
dispositivos funcionam tipicamente complexo. Por extenso, no entanto, os
requisitos de um software determinado constituem tipicamente uma combinao
complexa de vriaspessoasadiferentesnveisdeumaorganizaoequeestodumaou
outra forma envolvidas ou ligadas funcionalidade do sistema no ambiente em que o
softwareiroperar[3].

Uma caracterstica essencial de todos os requisitos de software que eles, como


funcionalidade individual, devemser verificveistantocomo requisito funcional ouao
nveldosistemacomorequisitonofuncional.[3]

Os requisitos incluem a perspectivadousurionoque tocao comportamento externo


de um sistema e a viso do programador que tem em conta algumas caractersticas

internas do sistema. Tambm tem a ver com o comportamento do sistema em


determinadascondies.

Os requisitos de software incluem uma dimenso temporal. Podem ser definidos no


presente, descrevendo as capacidades actuais do sistemaou eles podem ser definido
paramdioprazo(prioridadealta).

2.Nveisetiposderequisitos[1]

Os requisitos de negcio: o objectivo de negcio dealto nvel da organizao que


estenvolvidonaconstruodoprodutooudoclientequeoencomendou

Regra de negcio: uma poltica, uma guia, um padro ou regulamento que define ou
constrange alguns aspectosdonegcio.No um requisitode negcioem simesmo,
masafontedevriosrequisitosdesoftware

Restries:uma restrio que impostasobreasescolhasdoprogramadornoquetoca


aodesigneconstruodeumproduto

Requisito de interfaces externos: uma descrio duma ligao entre o sistema de


softwareeoutilizador,ououtrosistemadesoftware,ouumdispositivodehardware

Requisito funcional: uma descrio de um comportamento queo sistema deve exibir


emcondiesespecficas

Requisito no funcional: uma descrio de uma propriedade ou caracterstica que o


sistemadeveexibirouumarestrioquedevecumprida

Atributo de qualidade: uma espcie de requisito no funcional que descreve um


serviooudesempenhocaractersticodeumproduto

Requisitos de sistema: requisitos de alto nvel para um produto composto por


mltiplos subsistemas que podem ser constitudos apenasdeprodutos de softwareou
de software e hardware. Tambm so descries maisdetalhadas das funcionalidades,
servios e constrangimentos operacionais do sistema de software. O documento dos
requisitosdosistemadeverdefinirexactamente oquedeveserimplementado.Poder
fazer parte do contrato entre o comprador do sistema e os desenvolvedores do
software.

Requisito do utilizador: um objectivo ou tarefa que uma classe especfica de


utilizador deve ter a capacidade de desempenhar com o sistema ou um atributo
desejadodosistema

Os requisitos de software incluem trs nveis distintos: requisitos de negcio,


requisitos do utilizador e requisitos funcionais. Alm disso todo sistema possui um

conjuntoderequisitosnofuncionais.
Requisitos de negcio: descrevem o porque a organizao est a implementar o
sistema os benefcios comerciais a organizao poder obter. O foco est nos
objectivos comerciais da organizao ou do cliente que solicitou o sistema.
Suponhamos que umacompanhiareapretendereduzirde25%oscustosligadosasseu
pessoal de caixa nos aeroportos. Este objectivo pode suscitar aideiadeconstruir um
quiosque que os passageiros podero utilizar para fazer o checkin dos seus voos no
aeroporto. Os requisitos de negcio provavelmente vmdopatrocinador do projecto,
do cliente que vai adquirir o projeto, do gestor dos utilizadores, do departamento de
marketing, ou do visionrio do produto. Os elementos sobre os requisitos de negcio
soregistadosnodocumentodevisoemisso[1]

Requisito dos utilizadores: descrevem os objectivos ou tarefas que os utilizadores


devem ser capazesderealizarcomaajudadoprodutoquetraralgumvaloraalgum.O
domnio dos requisitos dos utilizadores tambm incluem as descries dos atributos
ou caractersticas do produto queso importantespara a satisfao do utilizador.Uma
dasformasderepresentarosrequisitosdosutilizadoresatravsdousecases,ouuser
stories. Idealmente, os representantes dos utilizadores que fornecem esta
informao.

Requisitos funcionais: descrevem as funcionalidades que o software deve executar


por exemplo, formatar umtexto, ou modularum sinal.Tambm soconhecidos como
capacidades ou funcionalidades. Um requisito funcional pode igualmenteserdescrito
como o requisito para o qual um conjunto de passos de testepodem serescrito para
validaroseucomportamento[3]

2.1Requisitosfuncionais

Os requisitos funcionais para um sistema descrevem o queo sistemadevefazer.Estes


requisitos dependem do tipo de software que est a ser desenvolvido, dos potenciais
utilizadores e da abordagem geral seguida pelaorganizaoquando estiveram a fazero
levamento dos requisitos. Quando formulados como requisitos do usurio, os
requisitos funcionais sogeralmente descritosdeforma mais abstractaquepodemser
facilmente entendidos pelos utilizadores do sistema. No entanto, os requisitos
funcionais mais especficos dosistemadescrevemasfunesdosistema,asentradase
sadas,excepesetc.commaispormenores.

Os requisitos funcionais do sistema variam entre os requisitos gerais que abrangem o


que o sistema deve fazer e os requisitos muitoespecficos quereflectem a forma de
trabalharlocalouossistemasexistentesdaorganizao.

Os requisitos funcionais do usurio definemasfacilidades especficas que devem ser


providenciadaspelosistema.

Em princpio a especificao dos requisitos funcionais de um sistema deve ser


completo e consistente. Completo significa que todos os servios necessitados pelo

utilizador devero ser definidos. Consistncia significa que os requisitos no devem


conter definies contraditarias. Na prtica, para projectos grandes e complexos,
praticamente impossvel definir de modocompleto e consistente todosos requisitos.
Uma das razes que fcil cometer erros e omisses quando de se elabora o
documento de especificao de requisitos de sistemas complexos. Uma outra razo
que existem muitos participantes num sistema grande. Uma parte interessada
(stakeholder)umapessoaouumpapelqueafectadapelosistemadecertaforma.As
partes interessadas tm necessidades diferentes e muitas vezes inconsistentes. Estas
inconsistncias podem no ter sidos evidentes quando os requisitos foram
especificados, assim os requisitos inconsistentes ficam includos nas especificaes.
Os problemas podero somente surgir aps uma anlise aprofundada ou aps que o
sistematersidoentregueaocliente.[2]

2.1Requisitonofuncionais

So aqueles que tem como finalidade restringir a soluo. Eles so algumas vezes
conhecidos como restries ou requisitos dequalidade. Eles podem ser classificados
segundoque tema ver com odesempenho, segurana, fiabilidade,interoperabilidadee
outros[3]

Tal como o nome indica os requisitos no funcionais no dizem diretamente respeito


aos servios oferecidos pelos sistemasaos utilizadores. Eles esto relacionados com
as propriedades emergentes do sistema tais como a fiabilidade, tempo de resposta e
espao de armazenamento. Alternativamente podem definir umas restries sobre a
implementao do sistema tais como as capacidades dos dispositivos de entrada e
sada,arepresentaodedadosusadosnainterfacecomoutrossistemas.

Os requisitos no funcionais tais como o desempenho, segurana, disponibilidade


especificam geralmente ou constrangem as caractersticas de um sistema como um
tudo. Os requisitos no funcionais so geralmente mais crtico do que os requisitos
funcionais individuais.Osutilizadores de umsistemapodem encontrar umaalternativa
quando uma funcionalidade do sistema no vaideencontro com assuas necessidades.
No entanto,nocumprirumrequisitonofuncionalpodetornartodoumsistemaintil.
Porexemplo, seum sistema aeronuticono cumpre os seusrequisitosdefiabilidade,
noser certificadocomoseguroparaoperaesseumsistemadecontroloembebido
no cumprir os seus requisitos de desempenho, as funes de controlo no ir
funcionarcorrectamente.

3.

Desenvolvimentodosrequisitos

O desenvolvimento dos requisitos subdivido em elicitao, anlise, especificao e


validao. Estas subdisciplinas abrangem todas as actividades envolvidas com a explorao,
avaliao,documentaoeconfirmaodosrequisitosdoproduto.


Elicitao

A elicitao abrange todas as actividades envolvidas com a descoberta dos requisitos


tais como as entrevistas, workshops, anlise de documentos, prottipos e outros. As
aceschavesso:
Identificarasclassesdosutilizadoresprevistoseoutraspartesinteressadas
Compreender as tarefas e objetivos dos utilizadores e os objetivos de negocio
comquesealinhacomasditastarefas
Aprendersobreoambientenoqualonovoprodutoserutilizado
Trabalhar com os indivduos que representam cada classe de utilizadores por
forma a compreender as suas necessidades em termos de funcionalidades e as
suasexpectativasemtermosdequalidadedosoftware.

Anlise

Analisar os requisitos envolve chegar a umacompreenso maisprecisae ricadecada


um dos requisitos bemcomo representar os conjuntos de requisitos de vrias formas.
Asprincipaisactividadesso:
Analisarainformao recebidadosutilizadoresporformaa fazerumadistino
entre os seus objetivos relacionados como as suas tarefas, os requisitos
funcionais, expectativas de qualidade, regras de negocio, solues sugeridas e
outrasinformaes
Decomporosrequisitosdealtonvelparaumnveladequadodepreciso
Deduzirosrequisitosfuncionaisdeoutrasinformaesderequisitos
Compreenderaimportnciarelativadosatributosdequalidade
Alocar os requisitos a componentes de software definidos na arquitetura do
sistema
Negociarasprioridadesdeimplementao
Identificaraslacunasnosrequisitosourequisitosnonecessrios.

Especificao

A especificao dos requisitos envolve a representao e armazenamento detodos os


requisitos levantados dumaforma bem organizada epersistente. A principal actividade
:

Traduzir as necessidades dos utilizadores levantados em requisitos escritos e


diagramas apropriados para compreenso, reviso e uso por parte dos
pblicosalvos

Validao

A validao dos requisitos confirma que se tem um conjunto de informao de


requisitos correto que permitir aos programadores construir uma soluo que
satisfaaosobjetivosdenegocio.Asactividadescentraisso:
Fazer uma reviso dos requisitos documentados porforma a corrigir quaisquer
problemasantesdeseraceitepelogrupodedesenvolvimento
Realizar testes e critrios de aceitao porforma a confirmar que um produto
baseado nos requisitos cumprir as necessidades do cliente e alcanar os
objectivosdenegcio.
Aiteraoachavedesucessonodesenvolvimentodosrequisitos.

4.

Documentoderequisito(SoftwareRequirementSpecificationSRS)

O documento de requisitos de software uma declarao oficial daquilo que os


programadores iro implementar. Ele deve incluir os requisitos dos usurios para o
sistema e uma especificao detalhada dos requisitos do sistema. As vezes os
requisitos do sistema e dos usurios esto integrados numa mesma descrio. Em
outroscasos,osrequisitosdosusuriossodefinidosnumaintroduoespecificao
dos requisitos do sistema. Se h um grande numero de requisitos, os requisitos de
sistemasdetalhadospoderoserapresentadosnumdocumentoseparado.

O documento de requisitos essencial quando um contratante externo est a


desenvolverosistema.

O documento de requisitos tem um conjunto diverso de utilizadores, entre outros os


administradores da organizao que est a pagar pelo sistema, os engenheiros
responsveispelodesenvolvimentodosoftware.

A diversidadedos possveisutilizadores significa que o documento de requisitos deve


conciliar entre a comunicaodos requisitos aos clientes, definircom maiorpreciso
osrequisitosparaosprogramadores,eincluirinformaoparafuturasalteraes.

O nvel de detalhe que deve ser includonum documento de requisito dependedotipo


de sistema que est a ser desenvolvido e do processo de desenvolvimento usado.
Sistemas crticos precisam ter requisitos detalhados j que a segurana e preveno
devem ser analisadas empormenor.Quandoosistemadesenvolvidoporumaempresa
diferente (atravs do outsourcing)asespecificaesdosistemadevemserdetalhadase
precisas. Se osistema vai ser desenvolvidona prpria empresaque fazolevantamento
e anlise dos requisitos, um processo iterativo de desenvolvimento geralmente
seguido. Nestecasoodocumentoderequisitospodesermuitomenosdetalhado,jque
asambiguidadespoderoserresolvidoduranteodesenvolvimentodosistema.

4.1.Escritadeespecificaesdesistema

Existemvriashipteses/abordagensparaaescritadasespecificaesdesistema.

A utilizao de linguagem natural comum no estando, no entanto desprovida de


problemas.

O obstculo principal utilizao de linguagem natural a ambiguidade intrinsica da


mesma. Por mais objetivo e detalhado que a especificao possa ser, existe sempre
uma margem de interpretao do recetor. Jackson ( 1995 ) citado por Sommerville,
apresentaoexemplodosavisospresentesemescadasrolantes.

A flexibilidade e dificuldade de padronizar so outros obstculos utilizao de


linguagemnaturaltoutcourt.

Para fazer face a estas dificuldades consideramse outras alternativas, como a


utilizao de linguagem naturalpadronizadaoulinguagensdeespecificaoparaescrita
dedefiniesdesistemas

A abordagem linguagem natural estruturada recorre a tcnicas como o uso de


modelosparaaespecificaoderequisitos.

As linguagens de descrio de projetos tm caractersticas em comum com as


linguagens de programao tradicionais, disponibilizando ainda recursos mais
abstratos. Podero incluir ou funcionar emconjunto com notaes grficas. Exemplo
distosoaslinguagensSDLeUML.

5.GestaodosRequisitos

Os requisitos de sistemas de software grandes mudam sempre. Durante todo o


processo de desenvolvimento de software, a compreenso do problema porpartedas
partes interessadas muda constantemente. Os requisitos do sistema devem por
conseguinte evoluirconstantemente.Osrequisitosdosistemadevemevoluirporforma
areflectiranovavisodoproblema.
Uma vezinstaladoosistemaeregularmenteutilizado,inevitavelmentenovosrequisitos
iro surgir. E difcil os utilizadores e clientes do sistema antecipar quais sero os
efeitos do novo sistema ter sobreosseus processos de negocio e amaneiracomoo
trabalhoeexecutado.
A gesto dos requisitos e o processo que consiste em compreender e controlar as
mudanas feitas ao conjunto de requisitos do sistema. E necessrio fazer um
acompanhamento de cada novo requisito e manter as relacoes entre os requisitos que

dependem uns dos outros de modo a avaliar o impacto da mudana dos requisitos. E
necessrio criar um mecanismo formal de recolha de propostas de mudana e
relacionarosnovosrequisitosaosrequisitosdosistemaexistentes.[2]

Referncias

[1] KarlWiergers,JoyBeatty,SoftwareRequirements,thirdedition,MicrosoftPress,
2013

[2]IanSommerville,SoftwareEngineering,NinthEdition,AddisonWesley,2011

[3] Pierre Bourque, Richard E. Fairley, SWEBOK v3.0 Guide to the Software
EngineeringBodyofKnowledge,IEEEComputerSociety,2014

[4] Sommerville,I. and Sawyer,P (1997).Requirements Engineering: AGoodPractice


Guide.Chichester:JonhWiley&Sons.

Вам также может понравиться