Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelagem de AnáliseModelagem de Análise Prof. Wilson M YonezawaProf. Wilson M Yonezawa UNESP UNESP –– FC FC –– BauruBauru Depto. ComputaçãoDepto. Computação yonezawa@fc.unesp.bryonezawa@fc.unesp.br Engenharia Software IEngenharia Software I Modelagem de análiseModelagem de análise •• PrimeiraPrimeira representaçãorepresentação técnicatécnica dodo sistemasistema •• UtilizaUtiliza umauma combinaçãocombinação dede formasformas textuaistextuais ee diagramáticasdiagramáticas parapara mostrarmostrar osos requisitosrequisitos dede dados,dados, funçõesfunções ee comportamento,comportamento, dede modomodo queque sejaseja relativamenterelativamente fácilfácil entenderentender e,e, maismais importante,importante, maismais diretodireto dede revisarrevisar quantoquanto àà correção,correção, completezacompleteza ee consistênciaconsistência Ana Highlight Ana Highlight Ana Highlight Análise de requisitosAnálise de requisitos Análise de requisitosAnálise de requisitos •• ResultaResulta nana especificaçãoespecificação dasdas característicascaracterísticas operacionais,operacionais, indicaindica aa interfaceinterface dodo softwaresoftware comcom outrosoutros elementoselementos dodo sistemasistema ee estabeleceestabelece restriçõesrestrições aa queque oo softwaresoftware devedeve satisfazersatisfazer •• PermitePermite aoao engenheiroengenheiro dede software,software, elaborarelaborar requisitosrequisitos básicosbásicos dodo softwaresoftware estabelecidosestabelecidos durantedurante tarefastarefas anterioresanteriores dede engenhariaengenharia dede requisitosrequisitos •• ForneceFornece aoao projetistaprojetista dede softwaresoftware umauma representaçãorepresentação dada informação,informação, funçãofunção ee comportamentocomportamento queque podempodem serser traduzidostraduzidos parapara osos projetosprojetos arquitetural,arquitetural, dede interfacesinterfaces ee emem nívelnível dede componentescomponentes Análise de requisitosAnálise de requisitos •• TrêsTrês principaisprincipais objetivosobjetivos:: 1.1. DescreverDescrever oo queque oo clientecliente exigeexige 2.2. EstabelecerEstabelecer aa basebase parapara aa criaçãocriação dede umum projetoprojeto dede softwaresoftware 3.3. DefinirDefinir umum conjuntoconjunto dede requisitosrequisitos queque possampossam serser validadosvalidados quandoquando oo softwaresoftware forfor construídoconstruído Análise de requisitosAnálise de requisitos •• RegrasRegras básicasbásicas:: –– FocalizarFocalizar osos requisitosrequisitos queque sãosão visíveisvisíveis nono problemaproblema ouou domíniodomínio dodo negócionegócio.. OO nívelnível dede abstraçãoabstração devedeve serser altoalto –– CadaCada elementoelemento dodo modelomodelo dede análiseanálise devedeve contribuircontribuir parapara umum entendimentoentendimento globalglobal dosdos requisitosrequisitos dodo softwaresoftware ee fornecerfornecer umauma visãovisão aprofundadaaprofundada dodo domíniodomínio dada informação,informação, funçãofunção ee comportamentocomportamento dodo sistemasistema –– AdieAdie aa consideraçãoconsideração dede modelosmodelos dede infrainfra--estruturaestrutura ee outrosoutros nãonão funcionaisfuncionais atéaté oo projetoprojeto –– MinimizeMinimize oo acoplamentoacoplamento aoao longolongo dede todotodo oo sistemasistema –– CertifiqueCertifique--sese dede queque oo modelomodelo dede análiseanálise temtem valorvalor parapara todostodos osos interessadosinteressados –– MantenhaMantenha oo modelomodelo tãotão simplessimples quantoquanto puderpuder Análise de domínioAnálise de domínio •• PadrõesPadrões dede análiseanálise sese repetemrepetem aoao longolongo dede muitasmuitas aplicaçõesaplicações emem umum domíniodomínio específicoespecífico dede negóciosnegócios •• PadrõesPadrões podempodem serser dede definidosdefinidos ee categorizadoscategorizados parapara permitirpermitir oo seuseu reusoreuso •• OO tempotempo dede projetoprojeto podepode serser aceleradoacelerado Análise de domínioAnálise de domínio •• “A“A análiseanálise dede domíniodomínio dede softwaresoftware éé aa identificação,identificação, análiseanálise ee especificaçãoespecificação dosdos requisitosrequisitos comunscomuns dede umum domíniodomínio dede aplicaçãoaplicação específico,específico, tipicamentetipicamente parapara reusoreuso emem váriosvários projetosprojetos dentrodentro daqueledaquele domíniodomínio dede aplicação”aplicação” E/S da análise de domínioE/S da análise de domínio Abordagens de Modelagem de Abordagens de Modelagem de análiseanálise •• AnáliseAnálise estruturadaestruturada •• AnáliseAnálise orientadaorientada aa objetosobjetos Elementos do modelo de análiseElementos do modelo de análise Conceitos de modelagem de dadosConceitos de modelagem de dados •• ObjetosObjetos dede dadosdados:: RepresentaçãoRepresentação dede quasequase todatoda informaçãoinformação compostacomposta queque devedeve serser compreendidacompreendida pelopelo softwaresoftware –– (ex(ex:: umauma entidadeentidade externa,externa, umauma ocorrência,ocorrência, umum evento,evento, umauma unidadeunidade organizacional,organizacional, umum lugar,lugar, umum estrutura)estrutura) •• AtributosAtributos dede dadosdados:: DefinemDefinem asas propriedadespropriedades dede umum objetoobjeto dede dadosdados ee assumemassumem umauma ouou trêstrês característicascaracterísticas –– NomearNomear umum exemploexemplo dede objetoobjeto dede dadosdados –– DescreverDescrever umum exemploexemplo –– FazerFazer referênciareferência aa outrooutro exemploexemplo emem outraoutra tabelatabela •• RelacionamentoRelacionamento:: IndicamIndicam aa maneiramaneira pelapela qualqual objetosobjetos dede dadosdados sãosão “conectados”“conectados” unsuns comcom osos outrosoutros •• CardinalidadeCardinalidade ee ModularidadeModularidade Conceitos de modelagem de dadosConceitos de modelagem de dados Conceitos de modelagem de dadosConceitos de modelagem de dados Análise orientada a objetosAnálise orientada a objetos •• OO objetivoobjetivo éé definirdefinir todastodas asas classesclasses relevantesrelevantes aoao problemaproblema aa serser resolvidoresolvido –– asas operaçõesoperações ee osos atributosatributos associadosassociados aa elas,elas, asas relaçõesrelações entreentre elaselas ee oo comportamentocomportamento queque elaselas exibemexibem •• TarefasTarefas:: –– OsOs requisitosrequisitos básicosbásicos dodo usuáriosusuários precisamprecisam serser discutidosdiscutidos entreentre oo clientecliente ee oo engenheiroengenheiro dede softwaresoftware –– AsAs classesclasses precisamprecisam serser identificadasidentificadas –– UmaUma hierarquiahierarquia dede classesclasses precisaprecisa serser especificadaespecificada –– AsAs relaçõesrelações dede objetoobjeto parapara objetoobjeto devemdevem serser representadasrepresentadas –– OO comportamentocomportamento dodo objetoobjeto precisaprecisa serser modeladomodelado Diagramas Diagramas –– Caso de UsoCaso de Uso Diagramas Diagramas –– AtividadeAtividade Diagramas Diagramas –– RaiasRaias Modelagem orientada a fluxo de Modelagem orientada a fluxo de dadosdados •• NotaçãoNotação dede análiseanálise aindaainda muitomuito utilizadautilizada •• PodePode serser utilizadoutilizado parapara complementarcomplementar osos diagramasdiagramas UMLUML •• FornecemFornecem umauma visãovisão dosdos requisitosrequisitos ee fluxosfluxos dodo sistemasistema Modelagem orientada a fluxo de Modelagem orientada a fluxo de dadosdados Diagrama de contextoDiagrama de contexto Modelagem orientada a fluxo de Modelagem orientada a fluxo de dadosdados DFD Nível 1DFD Nível 1 Modelagem orientada a fluxo de Modelagem orientada a fluxo de dadosdados DFD Nível 2DFD Nível 2 Modelagem orientada a fluxo de Modelagem orientada a fluxo dedadosdados Modelo de fluxo de controleModelo de fluxo de controle Modelagem orientada a fluxo de Modelagem orientada a fluxo de dadosdados •• EspecificaçãoEspecificação dede processoprocesso:: –– PSPECPSPEC (Process(Process Specification)Specification) –– UsadoUsado parapara descreverdescrever todostodos osos processosprocessos dodo modelomodelo dede fluxofluxo queque aparecemaparecem nono nívelnível dede refinamentorefinamento finalfinal –– IncluiInclui umum textotexto narrativo,narrativo, umauma descriçãodescrição emem linguagemlinguagem dede projetoprojeto dede programaçãoprogramação dodo algoritmoalgoritmo dodo processo,processo, equaçõesequações matemáticas,matemáticas, tabelas,tabelas, diagramasdiagramas ouou gráficosgráficos –– CadaCada processoprocesso dodo modelomodelo dede fluxofluxo dede dadosdados chamadochamado dede primitivoprimitivo funcionalfuncional deverdever serser especificadoespecificado Modelagem baseada em classeModelagem baseada em classe •• IdentificandoIdentificando classesclasses dede análiseanálise:: –– EntidadesEntidades externasexternas –– CoisasCoisas –– OcorrênciasOcorrências ouou eventoseventos –– PapéisPapéis –– UnidadesUnidades organizacionaisorganizacionais –– LugaresLugares –– EstruturasEstruturas Modelagem baseada em classeModelagem baseada em classe •• ClasseClasse potencialpotencial nono modelomodelo dede análiseanálise (Coad(Coad && Yourdon),Yourdon), característicascaracterísticas aa seremserem consideradasconsideradas:: –– InformaçãoInformação retidaretida –– ServiçosServiços necessáriosnecessários –– AtributosAtributos múltiplosmúltiplos –– AtributosAtributos comunscomuns –– OperaçõesOperações comunscomuns –– RequisitosRequisitos essenciaisessenciais •• ParaPara serser consideradaconsiderada umauma classeclasse legítimalegítima parapara inclusãoinclusão nono modelomodelo dede requisitos,requisitos, umauma classeclasse potencialpotencial devedeve satisfazersatisfazer aa todastodas (ou(ou quasequase todas)todas) essesesses característicascaracterísticas Ana Highlight Ana Highlight Ana Highlight Ana Highlight Ana Highlight Ana Highlight Ana Highlight Ana Highlight Ana Highlight •• EspecificaçãoEspecificação dede atributosatributos –– DescrevemDescrevem aa classeclasse queque foifoi selecionadaselecionada nono modelomodelo dada análiseanálise –– SãoSão osos atributosatributos queque definemdefinem aa classeclasse –– EstabelecemEstabelecem oo queque aa classeclasse representarepresenta nono contextocontexto dodo espaçoespaço dodo problemaproblema Modelagem baseada em classeModelagem baseada em classe Ana Highlight Ana Highlight Ana Highlight Ana Highlight •• DefiniçãoDefinição dasdas operaçõesoperações –– DefinemDefinem oo comportamentocomportamento dede umum objetoobjeto –– CategoriasCategorias:: •• OperaçõesOperações queque dede algumalgum modomodo manipulammanipulam dadosdados •• OperaçõesOperações queque realizamrealizam umum cálculocálculo •• OperaçõesOperações queque pesquisampesquisam oo estadoestado dede umum objetoobjeto •• OperaçõesOperações queque monitorammonitoram umum objetoobjeto quantoquanto àà ocorrênciaocorrência dede umum eventoevento dede controlecontrole Modelagem baseada em classeModelagem baseada em classe Ana Highlight Ana Highlight Modelagem baseada em classeModelagem baseada em classe Exemplo de Diagrama de classesExemplo de Diagrama de classes Modelagem baseada em classeModelagem baseada em classe •• CRCCRC –– ClasseClasse--responsabilidaderesponsabilidade--colaboraçãocolaboração •• ForneceFornece umum meiomeio simplessimples parapara identificaridentificar ee organizarorganizar asas classesclasses relevantesrelevantes aosaos requisitosrequisitos dodo sistemasistema ouou produtoproduto •• CRCCRC éé nana realidaderealidade umauma coleçãocoleção dede cartõescartões--padrãopadrão dede indexaçãoindexação queque representamrepresentam asas classesclasses •• OsOs cartõescartões sãosão divididosdivididos emem trêstrês seçõesseções:: –– NoNo altoalto dodo cartãocartão vocêvocê descrevedescreve oo nomenome dada classeclasse –– NoNo corpocorpo dodo cartãocartão vocêvocê listalista asas responsabilidadesresponsabilidades dada classeclasse àà esquerdaesquerda ee osos colaboradorescolaboradores àà direitadireita •• ResponsabilidadesResponsabilidades sãosão osos atributosatributos ee operaçõesoperações relevantesrelevantes àà classeclasse.. “É“É qualquerqualquer coisacoisa queque aa classeclasse sabesabe ouou faz”faz” •• ColaboradoresColaboradores sãosão asas classesclasses necessáriasnecessárias parapara dardar àà classeclasse aa informaçãoinformação necessárianecessária parapara completarcompletar umauma responsabilidaderesponsabilidade.. ImplicaImplica tantotanto solicitaçãosolicitação dede informaçãoinformação comocomo solicitaçãosolicitação dede umauma açãoação Ana Highlight Ana Highlight Ana Highlight Ana Highlight Ana Highlight Modelagem baseada em classeModelagem baseada em classe Modelo de cartão CRCModelo de cartão CRC Modelagem comportamentalModelagem comportamental •• ComoComo representarrepresentar oo comportamentocomportamento dodo sistemasistema comocomo umauma funçãofunção dede eventoseventos ee tempostempos específicos?específicos? •• PassosPassos:: –– AvaliarAvaliar todostodos osos casoscasos dede usouso parapara entenderentender plenamenteplenamente aa seqüênciaseqüência dede interaçãointeração dentrodentro dodo sistemasistema –– IdentificarIdentificar osos eventoseventos queque dirigemdirigem aa seqüênciaseqüência dede interaçãointeração ee entenderentender comocomo essesesses eventoseventos sese relacionamrelacionam aa classesclasses específicasespecíficas –– CriarCriar umauma seqüênciaseqüência parapara cadacada casocaso dede usouso –– ConstruirConstruir umum diagramadiagrama dede estadosestados parapara oo sistemasistema –– RevisarRevisar oo modelomodelo comportamentalcomportamental parapara verificarverificar aa precisãoprecisão ee consistênciaconsistência Ana Highlight Ana Highlight Modelagem comportamentalModelagem comportamental Exemplo de diagrama de estadoExemplo de diagrama de estado Modelagem comportamentalModelagem comportamental Exemplo de diagrama seqüênciaExemplo de diagrama seqüência
Compartilhar