Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos...

36
Princípios de Engenharia de Requisitos Leonardo Gresta Paulino Murta [email protected]ff.br

Transcript of Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos...

Page 1: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

PrincípiosdeEngenhariadeRequisitos

[email protected]

Page 2: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Problemachave:Comunicação

LeonardoMurta EngenhariadeRequisitos 2

Cliente EngenheirodeSoEware

Page 3: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

EngenhariadeRequisitos•  Concepção•  Elicitação•  Elaboração•  Negociação•  Especificação•  Validação•  Gerenciamento

LeonardoMurta EngenhariadeRequisitos 3

Page 4: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Concepção•  ObjeMvo–  Terumavisãogeraldonegócio

–  ConheceroclienteesuasexpectaMvas

•  Resultadosesperados–  IdenMficaçãodosinteressados(stakeholders)

–  IdenMficaçãodosdiferentespontosdevista

–  Visãogeraldoescopodosistema

LeonardoMurta EngenhariadeRequisitos 4

GradyBoochetal.2007.Object-OrientedAnalysisandDesignwithApplica9ons.3rded.Addison-WesleyProfessional.

Page 5: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação

LeonardoMurta EngenhariadeRequisitos 5

Page 6: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação•  ObjeMvo– EntenderoqueoclienteesperadosoEware

•  Problemasmaiscomuns– Escopovariável(mascontratofixo)–  Incertezasdocliente– VolaMlidadedosrequisitos

LeonardoMurta EngenhariadeRequisitos 6

Page 7: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação•  ElementosaseremidenMficados– Objetosmanipuladospelosistema– Serviçosprestadospelosistema– Restriçõesquedevemserobedecidas– Critériosdedesempenho

•  Resultadosesperados– NarraMvaemlinguagemnaturaldosrequisitosdosistema

– ListaderequisitosdosistemaLeonardoMurta EngenhariadeRequisitos 7

Page 8: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação(técnicas)

•  Entrevistas•  Oficinas(workshops)•  ReuniõesdeBrainstorming•  ProtoMpação•  Maquetes•  Análisededocumentaçãoexistente•  Análisedesistemasexistentes•  Observaçãodepessoastrabalhando•  Análisedemercado•  Etc.

LeonardoMurta EngenhariadeRequisitos 8

Page 9: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação(MaximizarasaMsfaçãodocliente!)

•  Requisitonormal–  Oclientelembradefalar–  OclienteficarásaMsfeitoseesserequisitoesMvernosistema

•  Requisitoesperado–  Requisitoimplícito–  Oclientenãolembradefalar–  OclienteficaráinsaMsfeitoseesserequisitonãoesMvernosistema

•  Requisitoexcitante–  Oclientenãolembradefalar–  Oclientenãoesperaencontraresserequisitonosistema–  OclienteficarásaMsfeitoseesserequisitoesMvernosistema

LeonardoMurta EngenhariadeRequisitos 9

Page 10: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação(ClientexUsuáriofinal)

•  Nemsempreoclienteéousuáriofinal•  Cliente– Quemcontrataepagapeloserviço–  Ex.:Administradordeumhospital

•  Usuáriofinal– QuemusaosoEwarenodiaadia–  Ex.:Médicoseenfermeiros

•  Importante– Nuncadeixedeelicitarrequisitoscomosusuáriosfinaispoissemacolaboraçãodeles,osoEwarenãoseráusado

LeonardoMurta EngenhariadeRequisitos 10

Page 11: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação(escolhadosusuáriosfonte)

•  AlgunssistemasserãouMlizadospormilharesoumilhõesdeusuários

•  EscolhausuáriosfontedosrequisitosquesejamrepresentaMvos

•  Lembre-sequearegradePareto(80-20)aparentaserválida– 20%dosrequisitossaMsfazema80%dosusuários– EscolherumusuáriomuitoespecialistapodelevaraimplementaçãoderequisitosquenuncaserãouMlizados

LeonardoMurta EngenhariadeRequisitos 11

Page 12: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação(requisitosfuncionais)

•  NarraMvalivre–  “Osistemadevemostrarumamensagemdestatusemintervalosnãomenoresque60segundos”

•  Listaderequisitos–  RF-1:Umamensagemdestatusdevesermostradanaáreainferiordajanela(desenhodaFig.1)

–  RF-2:Amensagemdeveseratualizadaacada60segundos,comtolerânciade10segundosparamaisouparamenos

–  RF-3:Amensagemdeveestarsemprevisível–  RF-4:Seamensagemforreferenteaumatarefaemandamento,opercentualdeandamentodevesermostrado

–  RF-5:Seamensagemforreferenteaumatarefajáterminada,issodeveserinformadocomotexto“Finalizada”

LeonardoMurta EngenhariadeRequisitos 12

Page 13: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação(requisitosnãofuncionais)

•  Sinônimo:atributosdequalidade•  Disponibilidade– DS-1:Osistemadeveficardisponívelpor99,5%dotemponosdiasúteis,das6hàs22h,e99,95%dotemponosdiasúteis,das16hàs18h

•  Eficiência–  EF-1:Emcondiçõesdepicodeuso,deveterumareservade25%decapacidadedeprocessamentoememória

–  EF-2:Ocálculodeinterferênciadeveserfinalizadocomsucessoemmenosde5minutos

–  EF-3:OmódulodeparserdeXMLdeveprocessar1.000.000dedocumentosporsegundo

LeonardoMurta EngenhariadeRequisitos 13

Page 14: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação(requisitosnãofuncionais)

•  Flexibilidade–  FL-1:UmnovoMpodesensordevepoderserconfiguradonosistemaemmenosde3horas

•  Integridade–  IN-1:Transaçõeshistóricasdosconsumidoressópoderãoservistasporusuárioscomprivilégiosde“auditor”

•  Interoperabilidade–  IT-1:OsistemadevesercapazdeimportardadostantodoMSOffice(versão2003oumaior)quantodoOpenOffice(versão2.4oumaior)

•  Confiabilidade–  CF-1:Emcada1.000execuções,nãomaisdoque2podemapresentarfalhasdesoEware

LeonardoMurta EngenhariadeRequisitos 14

Page 15: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação(requisitosnãofuncionais)

•  Robustez–  RB-1:Seacontecerumafalhaantesdousuáriosalvar,osistemadeve

recuperarumaversãonãosalvacomperdadeconteúdomenorque1minutodetrabalho

•  Usabilidade–  US-1:Umusuáriotreinadodevesercapazdesubmeterumpedidode

compraemmenosque5minutos–  US-2:Umusuárionãotreinadodevesercapazdesubmeterumpedidode

compraemmenosque30minutos–  US-3:Todososcomandosdemenudevemterteclasdeatalhoassociadas

•  Manutenibilidade–  MN-1:TodososmétodosdevemserdocumentadosuMlizandoanotação

Javadoc–  MN-2:ModificaçõescorreMvasdevemserfeitasemmenosde5horas–  MN-3:ModificaçõesadaptaMvasdevidoainstrumentoslegaisdevemser

feitasemmenosde20horas

LeonardoMurta EngenhariadeRequisitos 15

Page 16: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação(requisitosnãofuncionais)

•  Portabilidade–  PR-1:OsistemadevepoderserexecutadoemsistemaoperacionalWindowseLinux,nasarquiteturasi386,AIXeSPARC

•  Reusabilidade–  RS-1:OcontroledeusuáriosdevereuMlizarcomponentesdeautenMcaçãojáuMlizadosnosistemaPORTMAP

•  Testabilidade–  TS-1:AcomplexidadeciclomáMcamáximadeummódulonãopodesermaiorque20

LeonardoMurta EngenhariadeRequisitos 16

Page 17: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elicitação(requisitosnãofuncionais)

LeonardoMurta EngenhariadeRequisitos 17

DS EF FL IN IT CF RB US MN PR RS TS

DS È + +

EF È - - - - - - - -

FL - È - + + + +

IN - È - - - -

IT - + - È +

CF + - + È + + + +

RB + - + È +

US - + È -

MN + - + + È +

PR - + + - - È + +

RS - + - + - + + È +

TS + - + + + + È

Page 18: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Elaboração•  ObjeMvo– ExplicitaroconhecimentoobMdonaconcepçãoeelicitação

•  TransformarnarraMvasdelinguagemnaturalparaUML

•  Sinônimo:Análisederequisitos•  Resultadosesperados– Casosdeuso– Classesconceituais

LeonardoMurta EngenhariadeRequisitos 18

Page 19: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Negociação•  ObjeMvo–  PriorizareidenMficarosriscosdosrequisitos–  Eliminar,combinaroumodificarosrequisitos–  Chegaraumconsensosobrealistafinalderequisitos

•  Conflitoscomuns–  Entrerepresentantesdocliente

•  Requisitoscontraditórios•  Prioridades

–  Entreoclienteeaequipededesenvolvimento•  Prazo•  Custo

LeonardoMurta EngenhariadeRequisitos 19

Page 20: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Negociação•  Dimensõesprincipaisemnegociações– Escopo– Prazo– Custo

•  Asdimensõessãointerligadas– Mudançadeposiçãoemumadasdimensõespodegerarconseqüênciasnasoutrasdimensões

LeonardoMurta EngenhariadeRequisitos 20

Page 21: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Negociação(dicas)

•  IdenMfiqueoobjeMvodointerlocutor•  Cedanosaspectosrelevantesparaointerlocutorquenãosão

relevantesparavocê–  NãoéumacompeMção.Ambostêmqueganhar!

•  Definaumaestratégia–  SaibadeantemãooquepodesercedidoeoqueéfundamentaldesermanMdo

•  Escutecomcuidadoosargumentosdointerlocutor–  Reavalieasuaposiçãocasonecessário

•  Casochegueaumasituaçãoconfortável,façaumacordodeimediato–  Nãobusquemelhorarasuaposiçãoseaposiçãoatualjáéadequadaparaambos!

LeonardoMurta EngenhariadeRequisitos 21

Page 22: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Especificação•  ObjeMvo– Produziraespecificaçãoderequisitos

•  Especificaçãoderequisitoengloba– Requisitosfuncionais– Requisitosnãofuncionais

LeonardoMurta EngenhariadeRequisitos 22

Page 23: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Validação•  ObjeMvo– Assegurarqueaespecificaçãoderequisitosestáconsistente

•  Problemascomuns– Ambigüidade–  Inconsistência– Omissão– Erro

LeonardoMurta EngenhariadeRequisitos 23

Page 24: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Validação(questões)

•  Osrequisitosestãoclaros?•  AfontedosrequisitosestáidenMficada?•  Osrequisitosforammostradosparaessafonte?•  OsrequisitosestãodescritosdeformaquanMtaMva?•  Osrequisitosestãorelacionadosviareferênciacruzada?•  Osrequisitosviolamalgumarestriçãododomínio?•  Orequisitoétestável?Ostestesforamespecificados?•  Osrequisitossãorastreáveisparaosmodeloseocódigosubseqüente?

•  Existemrequisitosimplícitos?

LeonardoMurta EngenhariadeRequisitos 24

Page 25: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Validação(exemplosdeambiguidade)

•  Ajaneladeveabrirrapidamente•  Osistemadeveserflexível•  Ocálculodevesereficiente•  Ainterfacecomousuáriodevesermelhorqueaatual

•  Nãodevemsermostradasmuitasmensagensdeerro

•  Aexibiçãodomapadenavegaçãodeveseramigável

LeonardoMurta EngenhariadeRequisitos 25

Page 26: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Gerenciamento•  ObjeMvo– Controlarasmudançasnosrequisitos– PermiMraanálisedeimpactodasmudanças

•  Tiposderastreabilidade– CaracterísMcasdosistema– Fontedorequisito– Dependênciasentrerequisitos– Subsistemas–  Interfaces

LeonardoMurta EngenhariadeRequisitos 26

Page 27: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Gerenciamento(matrizderastreabilidade)

LeonardoMurta EngenhariadeRequisitos 27

Fonte:h|p://www.modernanalyst.com

Page 28: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

10princípiosdeengenhariaderequisitos

•  Primeiropassoparaseresolverumproblemaéentenderoproblema– Nãobastacomunicar,énecessárioentender!

•  Princípio1:Escute– Tenteprestaraatençãonoqueointerlocutorfala– Eviteinterromperalinhaderaciocíniodointerlocutor– Peçadetalhesdealgoquenãoficouclaro– NãodesesMmuleseuinterlocutorcomgestosoupalavras

LeonardoMurta EngenhariadeRequisitos 28

Page 29: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

10princípiosdeengenhariaderequisitos

•  Princípio2:Seprepareantesdareunião–  Tenteentenderoproblemaantesdareunião–  TentecompreenderqualéojargãouMlizadonodomínio–  Elaboreumaagendaparaareunião

•  Princípio3:Éimportanteterummediador– Omediadoréresponsávelpormanterareuniãocomfocoapropriado

– Omediadoréresponsávelporresolverconflitos•  Princípio4:Comunicaçãofaceafaceéoideal– Nacomunicaçãofaceafaceépossívelpercebergestos– Adedicaçãonacomunicaçãofaceafaceémaior

LeonardoMurta EngenhariadeRequisitos 29

Page 30: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

10princípiosdeengenhariaderequisitos

•  Princípio5:Tomenotadasdecisões–  Empoucotempo,nãoserápossívelsaberporqueumadecisãofoitomada

–  Éfundamentaldocumentarasrazõesdecadadecisão•  Princípio6:EsMmulecolaborações– Duasoumaismentespensammelhorqueuma–  Colaboraçõesgeramcumplicidadenaequipe

•  Princípio7:Mantenhaofoco–  EvitequeoreuniãosedesviemuitodoseuobjeMvo–  Lembreàspessoasoqueaindaprecisaservisto

LeonardoMurta EngenhariadeRequisitos 30

Page 31: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

10princípiosdeengenhariaderequisitos

•  Princípio8:SealgoesMverobscuro,desenhe!–  Representaçõesvisuaisajudamauniformizaridéias–  Façausodepapelequadrobrancoemabundância

•  Princípio9:Sigaemfrente!–  Seconcordarem,sigamemfrente–  Sediscordarem,sigamemfrente–  SeesMverememdúvidaenãoforpossívelMraradúvidanomomento,sigamemfrente

•  Princípio10:Negociaçãonãoéumjogo–  Busqueporsoluçõesboasparaambasaspartes–  Cedaemaspectosquenãosãofundamentais–  Briguesomentepelasbatalhasquevalemapena

LeonardoMurta EngenhariadeRequisitos 31

Page 32: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Umpossívelprocesso...1.  IdenMfiqueosinteressadosnosoEware2.  Sereuniacomosinteressadosefaçaperguntasgenéricassobrecomo

funcionaosistema3.  FaçaumdiagnósMcodeumapáginasobreoescopodoprojeto4.  ReviseodiagnósMcocomosinteressados,visandovalidara

comunicaçãoanterior5.  Façareuniõestécnicascomosinteressadosparadescobriroscenários

deusodosistema(entradas,saídas,caracterísMcas,funcionalidadesecomportamentos)

6.  Façaumbreverelatóriodessescenários7.  Refinacomosinteressadosesserelatório8.  Priorizeessescenárioscomosinteressados9.  Revisecomosinteressadosorelatóriodecenários10.  Inicieoplanejamentodasetapasdeprojeto,codificaçãoetestes

LeonardoMurta EngenhariadeRequisitos 32

Page 33: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Deengenhariaderequisitosparaimplantação

•  ApriorizaçãodosrequisitosdeterminaoconteúdodecadaiteraçãodeimplantaçãodosoEware– Dependênciasentrerequisitospodeinfluenciarnessaordem

•  EntregarmaisqueopromeMdopodeserumafacadedoisgumes– Alegraoclientenaquelaiteração–  ChateiaoclienteemiteraçõesfuturasseissonãoserepeMr

•  Requisitosnãofuncionaispodemimplicaremcustospós-implantação–  Ex:SLAdeterminando4horasparacorreçãodedefeitos

LeonardoMurta EngenhariadeRequisitos 33

Page 34: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Exercício•  Secoloquemcomoclientesquedesejamcontratarumaso;warehouseparadesenvolverumaIDE–  Inicialmente,cadagrupodevefazeruma“reuniãointerna”deelicitaçãoderequisitos(5-10minutos)•  Oresultadodessareuniãodeveserumalistadeaté10requisitos

–  3gruposdevemapresentarseusrequisitosnoquadro,eentrarnumafasedeconciliação:combinação,divisãoouremoçãoderequisitosduplicados

– Aofinal,cadagrupodeverádistribuir10pontosparaosrequisitosmaisprioritários

LeonardoMurta EngenhariadeRequisitos 34

Page 35: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

Bibliografia•  RogerPressman.2004.So;wareEngineering:APrac99oner'sApproach.6thed.McGraw-Hill.

•  Wiegers,KarlE.2003.So;wareRequirements,SecondEdi9on.2nded.MicrosoEPress.

LeonardoMurta 35EngenhariadeRequisitos

Page 36: Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdfElicitação (requisitos não funcionais) • Sinônimo: atributos de qualidade • Disponibilidade –

PrincípiosdeEngenhariadeRequisitos

[email protected]