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

Princípios de Engenharia de Requisitosleomurta/courses/2015.2/es1/aula5.pdf · Leonardo Murta Engenharia de Requisitos 33 Exercício • Se coloquem como clientes que desejam contratar

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • PrincípiosdeEngenhariadeRequisitos

    [email protected]

  • Problemachave:Comunicação

    LeonardoMurta EngenhariadeRequisitos 2

    Cliente EngenheirodeSoEware

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

    LeonardoMurta EngenhariadeRequisitos 3

  • 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.

  • Elicitação

    LeonardoMurta EngenhariadeRequisitos 5

  • Elicitação•  ObjeMvo– EntenderoqueoclienteesperadosoEware

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

    LeonardoMurta EngenhariadeRequisitos 6

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

    •  Resultadosesperados– NarraMvaemlinguagemnaturaldosrequisitosdosistema

    – ListaderequisitosdosistemaLeonardoMurta EngenhariadeRequisitos 7

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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 + - + + + + È

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

    •  TransformarnarraMvasdelinguagemnaturalparaUML

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

    LeonardoMurta EngenhariadeRequisitos 18

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

    •  Conflitoscomuns–  Entrerepresentantesdocliente

    •  Requisitoscontraditórios•  Prioridades

    –  Entreoclienteeaequipededesenvolvimento•  Prazo•  Custo

    LeonardoMurta EngenhariadeRequisitos 19

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

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

    LeonardoMurta EngenhariadeRequisitos 20

  • 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

  • Especificação•  ObjeMvo– Produziraespecificaçãoderequisitos

    •  Especificaçãoderequisitoengloba– Requisitosfuncionais– Requisitosnãofuncionais

    LeonardoMurta EngenhariadeRequisitos 22

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

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

    LeonardoMurta EngenhariadeRequisitos 23

  • 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

  • Validação(exemplosdeambiguidade)

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

    •  Nãodevemsermostradasmuitasmensagensdeerro

    •  Aexibiçãodomapadenavegaçãodeveseramigável

    LeonardoMurta EngenhariadeRequisitos 25

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

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

    LeonardoMurta EngenhariadeRequisitos 26

  • Gerenciamento(matrizderastreabilidade)

    LeonardoMurta EngenhariadeRequisitos 27

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

  • 10princípiosdeengenhariaderequisitos

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

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

    LeonardoMurta EngenhariadeRequisitos 28

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

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

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

    LeonardoMurta 35EngenhariadeRequisitos

  • PrincípiosdeEngenhariadeRequisitos

    [email protected]