You are on page 1of 47
Tewa OL Desenvolvimento de Sistemas Orientados a Objetos, UML e Processo Unificado Conteudo Nessa aula vocé estudara: + Oprocesso de desenvolvimento de sistemas orientados a objetos. + Linguagem de Modelagem Unificada (UML). + Processo Unificado (UP). Habilidades ‘Ao final, vocé deverd ser capaz de responder as sequintes questies: + Quais sao as técnicas conhecidas para a construgao de cédigo orientado a objetos? + Quais as familias de diagramas da UML? + Como descrever as fases do processo unificado (UP)? * Quais atividades o proceso unificado comporta em suas disciplinas? Desenvolvimento de Sistemas Orientados a Objetos, a UML e Processo Unificado Por volta de 1960, uma grande quantidade de esforgos era despendida no desenvolvimento de software. Os profissionais encontravam uma série de dificuldades, como atrasos de cronogramas, custos além do orcamento, e 0s produtos finais néo eram confidveis. Assim, ao projetar @ executar 0 desenvolvimento de sistemas, vocé tom de pensar em uma infinidade de desafios, os quais envolvem desde a complexidade de cédigo até a tendéncia de mudangas dos objetivos de projeto no momento da construgao. A partir desses desatios, a ciéncia da computagao foi evoluindo, e diversas pesquisas praticas na area trouxeram solugdes para muitos dos problemas entrentados naquela época. ‘Como um processo natural de evolugao, surgiu o desenvolvimento de sistemas orientados ‘a objetos, que tém sido amplamente utilizados pela industria de software nos iltimos ‘anos, & medida que foram surgindo computadores, linguagens, entre outras tecnologias processos que apoiavam esse paradigma. A orientagao a objetos uma maneira natural de entender @ refletir sobre o mundo; essa hnaturalidade é transposta para a escrita de programas de computador por melo das téc de Programagao Orientada a Objetos (POO). A construgo de programas, por meio de ‘c6digo orientado a objetos, exige 0 conhecimento de técnicas de delegagao e distribuigao de responsabilidades, trazendo grandes beneticios, como reutilizagao de cédigo e baixo acoplamento. Com a orientacéo a objetos, 0 processo a ser informatizado é visto como um Conjunto de objetos que interagem para realizar as fungdes de dado sistema. Vooé tera oportunidade de estudar essas técnicas e padres de projeto no decorrer desta disciplina, Os profissionais e pesquisadores da area de computacéo vém buscando, aplicando e evoluindo préticas e conceitos que fundamentem a anélise e 0 projeto de sistemas de informagao orientados a objetos. Para que se possam criar as melhores solugdes, dada a complexidade dos nagécios envolvidos em dado projeto, vocé precisa seguir um processo detalhado de anélise de projeto para obter sucesso na entrega da solucéo. Por isso, necessario conhecer, utilizar ferramentas @ tecnologias que auxiliem na modelagem @ no entendimento dos processos envolvidos na criagao de determinado sistema. Os profissionais @ pesquisadores da drea de computagao vém buscando, aplicando evoluindo praticas conceitos que fundamentem a anélise e 0 projeto de sistemas de informagao orientados a objetos. Para que se possam oriar as melhores solugbes, dada a complexidade dos negécios envolvidos em dado projeto, vocé precisa seguir um process detalhado de andlise de projeto para obter sucesso na entrega da solugdo. Por isso, necessério conhecer, utilizar ferramentas e tecnologias que auxiliem na modelagem e no entendimento dos processos envolvidos na criacdo de determinado sistema ‘Assim surge a Unified Modeling Language (UML), uma linguagem flexivel, extensivel @ repleta de recursos que prope um esquema de representagao gréfica mais amplamente utilizado para a modelagem de sistemas orientados a objetos, ou seja, a Linguagem de Modelagem Unificada 6 uma notagao grafica para expressar projetos orientados a objetos, a qual surgiu de uma combinagao das notagdes de profissionais como Booch, Rumbaugh, Jacobson, Wirt-Brock e Harel, entre outros. Essa linguagem passa por constantes revisdes ‘com 0 objetivo de aprimoré-la para as praticas atuais. Por meio da leitura do Capitulo 1 do Livro-Texto, vocé aprendera que podemos citar 1rés familias de diagrama desta linguagem. Sao eles: diagramas estruturais, diagramas ‘comportamentais e diagramas de interagao. Voos, ao analisar e projetar sistemas, utilizara a linguagem sob a forma de diagramas 6 graficos para modelar seus sistemas. ‘Agora que voce ja tem conhecimento do paradigma de andlise e desenvolvimento de sistemas, orientadas a objeto, bem como da linguagem de modelagem unificada, vocé compreender a importancia da definicao e utiizagao de processos no projeto de software. Até que se ‘consiga uma aplicagao usdvel, um projeto de software passa por fases identificévels, S80 exemplos dessas fases: 1*) a anélise de requisitos, cujo objetivo é responder “o qué?" — especificar o que a aplicagao deve fazer; 24) o projeto, que se encarregard de responder “como”, por meio da especificacao das partes e da maneira como elas se ajustardo; 34) a codificagao ou implementacéo, que 6 a escrita do oddigo; 4*) a execugao de testes, com 0 objetivo de utilizar a aplicagéo com dados de entrada e verificar se o funcionamento esta de acordo com o esperado; 5*) a chamada fase de manutengéo, na qual se fazem consertos de defeitos ou melhorias adicionando novas capacidades. \Voeé deve estudar e entender 0 Processo Unificado (UP), que também foi proposto pelos gurus da orientagao a objetos: Grady Booch, James Rumbaugh e Ivar Jacobson. O UP foi elaborado de aoordo com as seguintes diretrizes: 12) dirigido por casos de usos; 24) 6 centrado na arquitetura; e 3¢) é iterativo e incremental. E um processo importante para ser compreendido, porque comporta em suas disciplinas as seguintes atividades: estudo de viabilidade, andlise de requisitos, anélise de dominio, projeto, entre outras. ‘Vocé precisa conhecer as fases do processo unificado: concepeao, elaboracao, construgao @ transiggo. Observe a existéncia dos seguintes fluxos de trabalho: modelagem de negécios, requisitos, andlise e design, implementacao, teste e implantacao, gerenciamento de configuragao e mudanga, gerenciamento de projeto, ambiente. As atividades desse fluxo de trabalho podem ocorrer em maior ou menor intensidade, dependendo da fase do proceso em que © projeto se encontra. Por exemplo: existe uma grande quantidade de trabalho de modelagem de negécios na fase de concepeao, uma vez que 6 na concepgao que se entra em contato com as caracteristicas do negécio & delimitam-se 0s objetivos a serem atingidos pelo projeto. Entretanto, isso no significa que a atividade de modelagem de negocio se extingue apds a fase de concepgao. Ela continua, mas em quantidade bem menor, pois surge uma intensificacéio de novas atividades com o ‘avango das fases no proceso unificado. A insereao de mudangas ou novas funcionalidades = que nao foram tratadas ou descobertas na fase de concepgao - tendem a diminuir. Outra atividade que tende a se manter uniforme, com uma ligeira acentuagao na fase de construgao, é a atividade de testes e implantacao. Essas atividades séo de fundamental importéncia para a qualidade do projeto e sucesso na implantacao. Deve-se sempre utilizar ferramentas @ metodologias de testes que visem a qualidade e seguranga do projeto de software desenvolvido Questao 1: ‘Aanélise ¢ 0 desenvolvimento de sistemas utilizando a orientagao a objetos exige do analista uma percepgao dos objetos en- volvidos na demanda do cliente. Imagine, Por exemplo, que voce est comegando a analise de um sistema que fara 0 célculo nutricional de cardépios. Por meio dessa analise, vocé pode listar os sequintes obje- tos: ‘alimento’, “nutriente” ¢ “cardapio". Da interaco e composicao destes trés objetos ‘vocé pode elaborar um sistema orientado a objetos. Agora é sua vez. Imagine um sis- tema de controle de notas de aluno de uma universidade. Especifique trés objetos que poderao compor esse sistema. Questo 2: Considerando as atividades de andlise e projeto no contexto do proceso unificado, © a representagdo classica da distribuigéo das atividades de desenvolvimento de sis- tomas e sua énfase nas diferentes fases da implementagao, podemos afirmar que o maior pico de atividades de analise @ de- sign acontece na fase de: ) Concepgo b) Elaboragao. ©) Construgao. ¢) Transigao. ) Nenhuma das alternativas. Questao 3: Para a correta construgdo de cédigo orien- tado a objetos, é preciso conhecer as téc- nicas de e dis- tribuigio de responsabilidades, que levam a cédigo reusavel e baixo acoplamento, de acordo com padrées de projeto. Complete a lacuna com a palavra adequa- da. a) Delegagao. b) Iteraao. c) Implementacao. d) Codificagao. e) Inspecao. Questao 4: De acordo com seus conhecimentos a respeito dos diagramas da UML, qual dos diagramas a seguir compreende os diagra- mas de pacotes, classes, objetos, estrutura composta, componentes e distribuigao? a) Diagramas estruturais. b) Diagramas comportamentais. c) Diagramas de interacao. d) Diagramas de revolugao. e) Diagramas de construcao. Questao 5: Conhecer uma linguagem nao implica a ha- bilidade de saber usé-la para produzir ar- tefatos titeis. A UML é uma Linguagem de Unificada que pode ser usada para descrever @ interagées entre eles. A alternativa que melhor completa as lacu- nas 6: a) Objetos; modelagem. b) Metodologia; objetos. c) Metodologia; modelagens. d) Processo; modelagens. e) Modelagem; objetos. Questao 6: O processo unificado, também conhecido como UP, foi proposto por trés gurus da orientagao a objetos: Gady Booch, James Rumbaugh e Ivar Jacobson, sendo o re- sultado de mais de 30 anos de experiéncia acumulada. O processo se fundamenta em trés valores. Explique cada um deles. Questao 7: No processo unificado, as fases de ela- boragéio e construgo ocorrem em ciclos iterativos. A elaboracao incorpora a maior parte da andlise e projeto. Qual é a maior parte incorporada pela construgao? Questao 8: De acordo com seus conhecimentos a res- peito da familia de diagramas da UML, dis- corra sobre os diagramas comportamentais. Questao 9: Explique a seguinte afirmagao: “O uso de diagrama nao vai melhorar necessaria- mente a qualidade do software produzido”’ Questo 10: No projeto software, todos os diagramas da UML precisam ser utilizados. Vocé concor- da com esta afirmagao? Justifique. Tew O2 Visdo Geral do Sistema: Diagramas de Atividades e Maquina de Estados Contetido Nessa aula vocé estudara: + Modelagem de Negocio. + Diagrama de Atividades. + Diagrama de Maquina de Estados. Habilidades ‘Ao final, vocé devera ser capaz de responder as seguintes questoes: + O que é modelagem de negécios? + Qual a importéncia da modelagem de negécios para um projeto de software? + Quando utilizar o diagrama de atividades? + Quando utilizar o diagrama de maquinas de estados? Visao Geral do Sistema: Diagramas de Atividades e Maquina de Estados Como vocé jd conhece a proposta do proceso uniicado, a tase inicial comeca pela concepcao. E nesta etapa que existe o maior esforco de trabalho do analista para a modelagem do negécio. O objetivo dessa etapa da andlise 6 obter uma visao geral do sistema, e ndo uma especiticagao detalhada do seu tuncionamento. A partir desta fase, 0 analista interage muito com 0 cliente, fazendo uma avaliag&o inicial dos problemas @ das necessidades solicitadas pelo cliente. Como cada projeto tem a caracteristica de ser inédito, na maioria das vezes — na fase de concep¢ao -, 0 analista, possui pouco conhecimento sobre o sistema a ser desenvolvido, bem como sobre as regras, de negécios envolvidas. Assim, por meio da interacao com o usuario e cliente, o analista verificara se vale a pena desenvolver este produto ou se ja existe algo parecido que possa ser comprado e adaptado se necessério. Nas interagSes com o cliente, é importante que o analista tome notas e registre as informagdes adquiridas do cliente, para que possa ter uma visao geral do sistema em poucos dias, Colaboram na construgao desta visdo sobre determinado negdcio de dada empresa artefatos como: entrevistas com os clientes @ usuarios, exames de documentos, relatorios, sistemas e bibliogratfias. No contexto social atual, as organizagdes tém mudado a maneira de fazer negécios. E preciso agilidade, coeréncia, discemimento, visdo de cada parte e do todo, viséo clara dos processos, para que possam ser oriadas solugdes inovadoras e adequadas as necessidades das organizagses. ‘Segundo 0 texto “Modelagem de Negécios: uma sugestéo” (2009), a modelagem de negécios pode ter como principal ferramenta o método proposto por Dan Roam, a sequéncia de seis perguntas conhecidas como “6 W's". As questées so: Quem / 0 qué (who/iwhat); Quanto (how much); Onde (where); Quando (when); Como (how) & por qué (why) ‘A modelagem de negécios compreende a elaboracéo de visbes. Cada viséo é formada por um conjunto de diagramas. Hé sempre uma viséo mais indicada, dependendo do objeto que esta sendo modelado ou analisado. Foi necessario um pequeno (mas sensivel) ajuste na ordem das perguntas sugeridas por Roam. Todo projeto ou estudo deve comegar com o entendimento da motivacao do negécio, u seja, “por qué? néo é a iiltima, mas sim a primeira questo. Claro, ela também pode ser executada no final do ciclo. Serviria como um teste, uma validacao dos trabalhos de modelagem e analise do negocio. A resposta para “por qué” determina aquilo chamamos de Viséo do Negécio. Trata-se da apresentacao dos requisitos do negécio que, dependendo do projeto, podem incluir a transcri¢ao da Miss&o e Visio — seus mais altos objetivos. Segundo esta mesma fone, conclui-se que a analise de negécios é "o estudo das diversas partes de um local onde se realizam transagdes comerciai ‘Assim, a modelagem de negécios ¢ a ulilizagdo de ferramentas ¢ linguagens como a UML para documentar, estruturar, organizar e entender este estudo elaborado pela andlise de negécios. Tal processo de estudo e organizacéo, ou seja, a modelagem da analise de negocio é de vital importancia para um projeto de software. E ela a fonte de conexao entre cliente e corpo técnico de desenvolvimento. E dela que surgiro novos artefatos do projeto de software que apolarao todas as outras tases do processo unificado de desenvolvimento de software. ‘Ao falarmos de ferramentas, vocé deve retomar o estudo da UML e entender dois importantes diagramas utiizados nesta fase de concepgao do projeto orientado a objetos. Sao eles: 0 diagrama de atividades e o diagrama de maquina de estados. (© diagrama de atividades da UML é utilizado para uma melhor compreensao do funcionamento da empresa, para criar modelos das atividades de negécio. Ele é utlizado para representar processos em nivel organizacional. Esse diagrama ¢ dividido om raias, de forma que cada raia representa um ator ou sistema que participa de um conjunto de atividades. Ele ndo tem a intengao de ser um modelo do sistema a ser construido e ndo deve ser pensado desta forma. A funcao dele é ajudar o analista a entender quais sao as atividades € os alores envolvidos nos principals processos de negécio da empresa. A partir dele, portanto, podera capturar 0s requisitos de maneira mais eficaz. Ja 0 diagrama de maquina de estados utiizado na modelagem de aspectos de negocio 6 um diagrama comportamental que apresenta estados de um sistema, ator ou entidade que se deseja estudar. Esse diagrama também pode representar agies que so executadas durante uma transigao de estado. Nao é recomendavel criar diagrama para todo e qualquer elemento do futuro sistema, porque essa fase demoraria demais, e néo se tem tanto conhecimento sobre o sistema para realizar tal modelagem. Assim, faz-se necessario modelar alguns elementos-chave. Uma maneira de se identificar 08 elementos-chave para se fazer um diagrama de estados é descobrir ou verificar qual é 0 objeto do negocio. Por exemplo, se vooé estiver modelando um sistema para loja de roupas, 0 objeto sera a roupa. J4, no caso de um sistema para uma oficina mecdnica, 0 objeto sera o carro. Vooé deve utilizar 0 diagrama de atividades para modelar pessoas ou sistemas fazendo tarefas. Jé 0 diagrama de maquina de estados é mais itil quando a entidade do negécio modelado em questao passa por diferentes estados nos quais nao esta necessariamente realizando alguma atividade. € importante entender que o diagrama de méquina de estados usualmente apresenta diferentes estados de uma Unica entidade, enquanto o diagrama de atividades apresenta atividades realizadas por um conjunto de pessoas, sistemas ou organizagoes. Se vocé quiser compreender melhor esses diagramas e saber como elaboré-los, leia 0 Capitulo 2 do Livro-Texto desta disciplina. Nas seqdes 2.1 e 2.2, vocé encontrara exemplos € explicagdes detalhadas tanto do diagrama de atividades quanto do diagrama de estados. Questao 1: A visdo geral do sistema é apenas uma [Sistema Livir: Livraria Virtual — Visao Geral do Sistema descrigfo desestruturada, registrada em um documento textual simples. Nesse do- cumento, existem informacdes de nivel gerencial € nivel operacional. Leia o tre- cho extraido da Figura 2.1, pagina 11 do Livro-Texto. JO sistema deve gerenciar todos os pro- Jcessos de uma livraria virtual, desde a aquisigao até a venda dos livros. O aces- so dos compradores e gerentes deve ser feito através de um site Web e pos- sivelmente com outras tecnologias. Os compradores fazem as transagdes pa- gando com cartéo de crédito. Existem promoges eventuais pelas quais os livros podem ser_comprados com descontos. De acordo com seus conhecimentos prévios sobre 0 processo unificado (UP), em qual fase o documento apresentado é elaborado? Questao 2: Para melhor compreensao do funciona- mento da empresa, pode-se criar um ou mais modelos das atividades de negdcio. Para tal, pode ser usado qual diagrama da UML? a) Diagrama de Casos de Uso. b) Diagrama de Sequéncia. c) Diagrama de Construgao. d) Diagrama de Maquina de Estados. ) Diagrama de Atividades. Questao 3: Os diagramas de mdquina de es- tado também podem __representar que sao exe- cutadas durante uma transigao de estado. Complete a lacuna com a palavra adequada. a) Lacunas. b) DiagramacGes. c) Agdes. d) Associagées. e) Janelas. Questao 4: A fase concepgao do proceso unificado (UP) consiste em uma etapa em que o ana- lista: a) Vai buscar as primeiras informagées sobre o sistema a ser desenvolvido. b) Vai testar os primeiros médulos do sistema desenvolvido. c) Vai codificar os primeiros requisitos levantados. d) Vai implantar todos os médulos desenvolvidos. e) Vai executar a manutencao dos médulos do sistema que estéo com defeitos. Questao 5: O diagrama de pode ser Util ao analista para entender © negécio da empresa. Ele 6 um dia- grama comportamental que apresenta de um sistema, ator ou entidade que se deseja estudar. A alternativa que melhor completa as lacu- nas 6: a) Maquina de Estados; estados. b) Atividades; classes. c) Atividades; estados. d) Maquinas de Estados; atividades. e) Processos; tarefas. Questo 6: Analise a figura a seguir e responda: Passe 0 mouse para aumentar a imagem Fonte: WAZLAWICK, Raul Sidnei. Andlise & Projetos de Sistemas de Informagao Orientados a Objetos. 2. ed. So Paulo: Campus, 2010. Qual 0 tipo de diagrama representado por esta figura? Quais os atores envolvidos? Questao 7: Durante suas atividades de analistas, no momento em que estiver trabalhando na fase de concepgao, quando vocé utilizara o diagrama de maquina de estados ou quando vocé utilizara um diagrama de atividades? Questao 8: Dado o diagrama de maquina de estados a seguir, analise-o e responda: Passe 0 mouse para aumentar a imagem Fonte: WAZLAWICK, Raul Sidnei. Andiise & Projetos de Sistemas de Informagao Orientados a Objetes. 2. ed. Séo Paulo: Campus, 2010. Questao 9: a) Quais os estados representados neste pac. uma co do entre 0 diagrama diagrama? b) Quantos estados finais ele possui? Questao 10: Na fase de concepgao do projeto e modela- gem de negécios, o diagrama de atividades 6 uma ferramenta que o analista podera utilizar para auxiliar seu trabalho. Esse dia- grama nao tem a intengao de ser um mode- lo do sistema a ser construido e nao deve ser pensado desta forma. Qual é a fungao do diagrama de atividades? de atividades @ o diagrama de maquina de estados. Tea. OF Requisitos: Levantamento e Andlise Contetdo Nessa aula vocé estudara: + Levantamento de Requisitos. Anélise de Requisitos. * Classificagaéo de Requisitos. Habilidades Ao final, vocé devera ser capaz de responder as seguintes questées: + Como funciona o processo de levantamento de requisitos? + O que é requisito funcional e nao funcional? + O que é andlise de requisitos? + Como classificar os requisitos? Requisitos: Levantamento e Andlise De acordo com Wazlawick (2010), ha duas etapas extremamente importantes para 0 analista. Sao elas: o levantamento de requisitos e a andlise de requisitos. ‘A otapa de levantamento de requisitos corresponde a buscar todas as informagbes possiveis sobre as fungdes que o sistema deve executar e as restrigbes sobre as quais © sistema deve operar. O produto dessa etapa sera o documento de requisites, principal ‘componente do anteprojeto de software. Ja a etapa de andlise de requisitos serve para estruturar @ detalhar os requisitos, de forma que eles possam ser abordados na fase de elaboracao para o desenvolvimento de ‘outros elementos, como casos de uso, classes e interfaces. O levantamento de requisitos 6 0 processo de descobrir quais fung6es o sistema deve realizar e quais restrig6es existem sobre essas funges. Essas operagées e listas vao constituir a funcionalidade do sistema, € por isso sao chamadas também de requisitos funcionais. As restrig6es sobre essas funges tem a ver com a seguinte questo: de que forma essas operagées se realizam? Ou, ainda, quando, como, onde, para quem, por quem, por quanto tempo essas operacées se realizam? Essas restricdes sao conhecidas como Tequisitos nao funcionais. Como nos temas anteriores, a fase de concepgao deve fornecer a visio do todo, para que se possa ver 0 que 6 mais importante e, depois, dividir o todo em partes, nas quais os detalhes possam ser analisados e finalmente uma solug&o possa ser projetada. J& bem explorada em seus estudos anteriores do processo unificado (UP), na fase de ‘concepgo, 0 levantamento de requisitos é répido e genérico. Ele é feito em extensao, e ndo em profundidade. O analista deve entender a extensao do que o sistema deve fazer, mas sem detalhar como ele vai fazer. Somente na fase de elaboracao a analise dos requisitos seré aprotundada. A etapa de levantamento de requisitos deve ser de descoberta, e nao de invengo. Muito cuidado com essa observago anterior, pois 6 comum o analista na fase de levantamento de requisitos buscar solugdes ou invengdes para problemas que nao s40 resolvidos nesta fase. Deve ficar claro para vocé que requisitos sao coisas que o cliente ou usuario solicita, e no coisas que vocé, como analista, planeja. Vocé deve ter bastante cautela e sabedoria para ‘tomar nota dos requisitos que o cliente ou usuério deseja, e nao dos que vocé almeja. O analistadeve buscar os requisitos que correspondem asinformacSes que ocliente precisa que sejam gerenciadas. © documento ou diagrama de requisitos deve registrar as capacidades do sistema e as condigdes as quais ele deve se contormar. E de suma importancia que esses requisitos sejam rastreados, entre outras partes do projeto de software, e sejam feitas validagGes se os requisitos levantados foram desenvolvidos @ esto em conformidade com ‘0 esperado. Uma parte importante ligada a requisitos também 6 a gestdo de mudangas de requisitos. Os requisitos inevitavelmente mudam durante o desenvolvimento do projeto. Para facilitar a geréncia dessas mudangas, o UP propée que a arquitetura do sistema seja fundamentada em elementos muito mais estaveis: as classes (¢ 08 componentes) que encapsulam informagao @ comportamento. Essas classes vao implementar as funcionalidades que, ‘combinadas, permitem a realizacao dos requisitos. Mudando-se os requisitos, mudam-se as combinagdes, mas no a estrutura basica. Vocé precisa entender a classificagao dos requisites em funcionais e nao funcionais. Os requisitos funcionais remetem &s fungdes do sistema e devem conter basicamente os seguintes elementos: a descri¢ao de uma funcao a ser executada pelo sistema; a origem do requisito; quais informages s2o passadas do sistema para o usuario e vice-versa; quais restrigbes légicas ou tecnolégicas se aplicam a fungo. JA os requisitos nao funcionais aparecem sempre ligados a requisitos funcionais @ podem ser basicamente de dois tipos. légicos ou tecnolégicos. As restrigdes légicas so as regras de negécio relacionadas & fungéo em questdo. Por conseguinte, as restrig6es tecnolégicas dizem respeito a tecnologia para realizaco da fungao. importante que vocé conhega também os requisitos suplementares. Esses requisitos ‘so todo tipo de restrigéo tecnolégica ou légica que se aplica ao sistema como um todo, @ no apenas a fungées individuais. Se quiser, vocé pode ler ¢ analisar os exemplos das Figuras 3.1 e 3.2 do Livro-Texto, nas paginas 27 e 28, para ver com detalhes um exemplo de documento de levantamento de requisitos. Neste exemplo, vocé perceberd a importncia do detalhamento dos requisitos levantados, pois, sem ele, o sistema pode parecer mais simples do que realmente o &, 0 que implicaria um tempo maior de desenvolvimento, ocasionando estouro de prazos @ orgamentos. Uma vez levantados os requisitos, é preciso que eles sejam analisados. Uma primeira analise de requisitos a ser feita é decidir se determinado requisito nao funcional ou suplementar & permanente ou transitério. Se determinado requisito 6 permanente, fica mais barato @ rapido desenvolver o sistema em sie fica mais caro e demorado mudar o sistema caso o requisito ‘seja mudado no futuro. Por outro lado, decidir que o requisite 6 transitério implica: projeto mais caro @ complexo de desenvolver, torna-se mais barato e rapido fazer a manutengao no sistema, caso 0 requisito mude no futuro. Os requisitos funcionais podem ser clasificados em evidentes ou ocultos. Os evidentes S40 fungdes executadas com 0 conhecimento do usuario. Ja os ocultos s2o funcSes efetuadas pelo sistema sem 0 conhecimento explicito do usuario, Os requisitos ainda podem ser clasificados em obrigatérios e desejados. Assim, podem existir aqueles que devem ser obtidos de qualquer maneira e aqueles que podem ser obtidos ‘caso isso no cause maiores transtomos no processo de desenvolvimento. E, por titimo, os requisitos no funcionais e suplementares podem ser classificados por atributo, ou seja, se s4o requisitos de interface, de implementagdo, de eficiéncia, de tolerdncia a falhas etc. A finalidade principal das classificagdes de requisitos em categorias, a organizagao. Questao 1: De acordo com a tabela, a seguir, que foi extraida de um documento de levantamen- to de requisitos: a) Escreva quais nimeros pertencem aos requisitos funcionais e quais pertencem 08 requisitos suplementares. b) Fagao levantamento e escreva mais trés requisitos funcionais. Questao 2: Sistema Livir: Livraria Virtual — Documentos de requisitos 1 2 Registrar novos titulos a partir do catalogo das editoras. O sistema deve operar via interface Web. 3. Registrar vendas de livros. 4 5. Realizar encomendas. ‘Todos os controles de interface devem ter um campo de ajuda associado. As restrig6es tecnolégicas dizem respeito & tecnologia para a realizagdio da fungao? Qual das alternativas a seguir é um exem- plo de restrigdo tecnoldgica? a) A insergao do nome e senha de usuarios. b) O cadastro do enderego do usudrio c) A edigéo da data de nascimento do cliente. ) O tipo de protocolo de comunicagao. e) O cancelamento da venda. Questao 3: Os requisitos supiementares so do tipo de restrigéo tecnolégica ou que se aplica ao sistema como um todo, e nao apenas a fungées individuais. Complete a lacuna com a palavra adequada. a) Funcional. b) Intencional. ¢) Sistémica. 4d) Digital e) Logica. Questo 4: Os requisitos funcionais podem ser classi- ficados em: a) Evidentes ou ocultos. b) Excludentes ou ocultos. c) Permanentes ou intermediarios. d) Intermitentes ou intermediarios. e) Evidentes ou intermediarios. Questao 5: Julgue cada item a seguir como verdadeiro ou falso. |. A finalidade principal das classifica- gées de requisitos em categorias 6 a organizacao. Il. Os requisitos podem ser classificados em obrigatorios e indesejados. Ill Quando um requisito é permanente, fica mais barato e rapido desenvolver 0 sistema em si IV.Os requisitos funcionais devem conter a origem do requisito, ou seja, quem solicitou e ou quem vai executar a fungao em questao. A alternativa correta 6: Questao 6: A etapa de levantamento de requisitos cor- responde a buscar todas as informagdes possiveis sobre as fungdes que o siste- ma deve exeoutar e as restrigdes sobre as quais o sistema deve operar. Qual é 0 pro- duto elaborado nesta etapa? Questao 7: levantamento de requisitos 6 0 proces- 80 para descobrir quais fungdes o sistema deve realizar e quais restrigdes existem sobre essas fungdes. As restriges des- cobertas fazem parte de qual conjunto de requisitos? a) V;V;V; V. b) F;F; FF. c) FV; V; F. ) F; V;F;F. e) VIF V;V. Questao 8: © documento ou diagrama de requisitos deve registrar as capacidades do sistema e as condig6es as quais ele deve se con- formar. Quais sao os desafios ligados na elaboracao dessas informagdes? Questao 9: Comente a respeito da veracidade da afirma- Go a seguir: “Uma vez levantados e analisa- dos, os requisitos nao mudam mais durante as outras fases do projeto de software’. Questo 10: Agora que vocé jd estudou bastante a res- peito dos requisitos funcionais, descreva o que esses requisitos devem conter. Teua OA Casos de Uso de Alto Nivel e Expandido Contetdo Nessa aula vocé estudara: + Caracterizagao de Casos de Uso. + Complexidade de Casos de Uso. + Expansao de Casos de Uso Padrao. Habilidades Ao final, vocé devera ser capaz de responder as seguintes questées: + Como caracterizar casos de uso? + Como priorizar casos de uso? + O que é fluxo principal? + O que é expansao de casos de uso? Casos de Uso de Alto Nivel e Expandido Para Wazlawick (2010), uma vez que os requisitos tenham sido levantados, cabe organiza-los em grupos correlacionados, de forma a aborda-ios nos ciclos iterativos. Essa organizagao ainda deve ocorrer na tase de concepgao do UP, em que é necessario identificar 08 principais casos de uso do sistema. ‘Os casos de uso sao processos de interagdo com o sistema que tém inicio e fim em tempo contiguo (sem interrupgdes), ou seja, S40 executados, normalmente, em minutos. Os casos de uso devem cobrir as principais atividades de negécio ligadas ao sistema que sera desenvolvido. Um caso de uso de alto nivel corresponde a apenas um nome, na UML representado dentro de uma elipse no diagrama, possivelmente associado a um ou mais alores, que so pessoas ‘ou sistemas que interagem com o sistema, sendo analisado por meio do caso de uso. O objetivo de listar os casos de uso é levantar informagdes sobre como o sistema interage ‘com possiveis usuarios e quais consultas e transformagdes da informacao séo necessarias para que o processo completo de interagao seja executado. Casos de uso so processos que podem ocorrer isoladamente. Processos que 86 podem ocorrer com outros processos, ‘8&0 apenas partes de casos de uso, mas nao s40 casos de uso em si. Cada caso de uso seré associado a um conjunto de requisitos funcionais do sistema. Algumas ferramentas CASE fornecem recursos para representar essas dependéncias. Normalmente, isso se faz por meio de relagdes de rastreabilidade ou matriz de relacionamento. Usualmente, varios requisitos associam-se a um caso de uso, especialmente quando se trata de um caso de uso complexo. Alguns requisitos, porém, podem estar associados a varios casos de uso. Em alguns casos, também é possivel que um requisito corresponda a um unico caso de uso e vice-versa. Para descobrir os casos de uso, devem-se identificar os atores envolvidos com o sistema. Apés as entrevistas com esses atores, para descobrir seus objetivos, o analista deve descobrir quais os principais processos de negécio de que eles participa. A caracterizacaio de casos de uso pode ser feita da seguinte forma: monossesséo, significa que ele deve iniciar e terminar sem ser interrompido; Interativo, cujo significado & que necessariamente deve existir um ator interagindo com o sistema. Ateneo! Processos internos do sistema nao so casos de uso; e, por fim, resultado consistente, s40 0s casos de uso que devem produzir resultado consistente, seja um registro completo produzido ou uma consulta realizada. Ele nao pode terminar deixando de informar 0 estado inconsistente. \Vocé também pode classificar 0s casos de uso de acordo com sua complexidade da seguinte maneira: processos de negécio: os principais processos de negécio da empresa, que nao se encaixam em nenhum dos padrdes a seguir, possivelmente abarcaréo um nlimero considerdvel de requisitos funcionais. Esses processos séo desconhecidos e apresentam alto risco na modelagem de um sistema, pois usualmente so os mais complexos; CRUD (Create, Retrieve, Update e Delete), que significa criar, consultar, atualizar e remover, ou soja, executar as quatro operagdes basicas sobre unidades de informagao ou conceitos. S40 0s casos de uso de médio risco e média complexidade. Ja os casos de uso classificados com complexidade do tipo relatérios consistem na geragao de um documento — 0 relatério ~,como objetivo de acessar a informacao presente no sistema sem alteré-la: essa acao nao tem efeito colateral. Sé0 considerados de uso de baixo risco e baixa complexidade. Apenasos casos de uso que correspondem a processos de negécio precisam ser expandidos na fase de elaboracéo. Alguns casos de uso esto estereotipados, o que é uma forma de caracterizar tipos especiais ‘com UML. © esterestipo <> indica que 0 caso de uso abordado representa as quatro operagdes CRUD (create, retrieve, update, delete). O esterestipo <>, também ‘conhecide como <«rep>>, indica que 0 caso de uso consiste em um tinico relatério sem efeitos colaterais, mas com totalizagdes ou filos sobre determinado conjunto de dados. O UP é dirigido por casos de uso e centrado na arquitetura. Isso significa que as préximas fases desse proceso consistirdo em detalhar cada vez mais uma arquitetura de sistema que permita que os casos de uso identificados sejam executados pelos atores. O UP também & lum proceso iterativo @ incremental, a cada ciclo de desenvolvimento, um conjunto tratével de casos de uso considerado para estudo e incorporacao de funcionalidade na arquitetura. A principal técnica de redugao de risco a aplicar nesse momento é tratar prioritariamente 0s processes de negécio, pois sdo mais complexos e é com eles que o analista pode aprender mais sobre o sistema real. Sao deixados para uma segunda etapa os casos de uso padronizado CRUD e, no final, os relatérios, que v4o apenas tabular e totalizar informacao que ja deve estar disponivel. Uma das decisées que 0 analista precisa tomar quando esta projetando casos de uso é qual 6 a fronteira do sistema. Graficamente, a fronteira 6 apenas um retangulo, dentro do qual esto os casos de uso e fora do qual estao os atores. ‘Agora vocé aprendera um pouco mais sobre casos de uso expandidos. A fase de elaboracao do UP comporta as atividades de andlise e projeto do sistema. A andlise, fase, comporta trés atividades: expansdo dos casos de uso e determinacao dos eventos @ tespostas de sistemas; construgao ou refinamento do modelo conceitual,¢ elaboracdo dos contratos das operagGes e consultas de sistema. ‘A expansao dos casos de uso pode ocorrer em primeiro lugar porque é uma atividade que ‘toma como entrada apenas 0 caso de uso de alto nivel identificado na tase de concepgao @ 0 documento de requisitos. O refinamento do modelo conceitual pode ser feito depois disso, porque as informagoes explicitamente trocadas entre o sistema e o mundo externo, conforme a expansao do caso de uso, sero usadas como base para construir e aprimorar ‘© modelo conceitual. A atividade de elaboracao de contratos deve ser realizada por tiltimo, jd que ela depende da descoberta das operages e consultas de sistema, bem como do ‘modelo conceitual. Quando se esta expandindo um caso de uso de analise, deve-se proceder um exame detalhado do processo envolvido. Deve-se descrever o caso de uso passo a asso: como ele ocorre @ como é a interagdo entre os atores @ o sistema. Essa descricao deve basear-se em uma sequéncia default, ou fluxo principal, na qual se descreve o que acontece quando tudo da certo na interaco. Esse fluxo também 6 chamado de “caminho ‘feliz’, pois nele nao se deve prever erro ou excegdes. Depois de descrever o fluxo principal do caso de uso, analisa-se criticamente cada passo e procura-se verificar o que poderia dar cerrado. A partir da identificagao de uma possivel excecao, deve-se construir uma descri¢ao de procedimentos para resolver o problema. O caso de uso entao passa a possuir fluxos alternativos, semelhantes aos handlers do método de tratamento de excegSes. Questao 1: De acordo com seus conhecimentos pré- vios do processo unificado, responda: a) Em qual fase desse processo ocorre a identificagao dos principais casos de uso? b) Em qual fase ocorre a expansao dos ca- sos de uso? Questao 2: Por definigao, séo fatos considerados verdadeiros antes do inicio do caso de uso. As estabelecem normalmente os resultados do caso de uso, ou seja, 0 que sera verdadeiro apés sua execugao. Das alternativas a seguir, marque aquela que preenche corretamente as lacunas: a) Precondigées; predefinigdes. b) Pés-condigées; pés-definigdes. c) Precondigées; pés-processadas. d) Pré-processadas; pés-processadas. e) Precondigées; pés-condigées. Questao 3: Juigue os itens a seguir atribuindo V para as alternativas verdadeiras e F para as falsas. | - Cada excegao deve ser tratada por um fluxo alternativo, que corresponde a uma ramificagao do fluxo principal. Il - Um tratador de excecao tem pelo menos quatro partes: identificador, ex- cegao, acdes corretivas e finalizagao. Ill - Voltar @ um passo anterior ou mes- mo ao inicio do caso de uso é uma das formas bésicas para finalizar a sequén- cia de ages corretivas das excegdes do fluxo principal. IV — Para cada excegao, deve-se tentar identificar possiveis agGes corretivas. A alternativa que contém a sequéncia de julgamentos corretos é: a) F, F, V,F. b)F, V, FF. c) V,V, FF. 4) F,V,V,V. e) V,V,V,V. Questao 4: Leia o trecho a seguir: “Depois de descrever o fluxo principal do caso de uso, o analista deve imaginar o que poderia dar errado em cada um dos passos descritos, gerando . Qual alternativa completa a lacuna? a) Os fluxos alternativos que tratam das excegoes. b) Os documentos de requisitos. ¢) Os processos secundérios que tratam dos desvios. d) Os fluxos terciarios quese transformam em requisitos. e) Os processos subsequentes das fases posteriores. Questao 5: Qual estereétipo indica que o caso de uso abordado representa as quatro operagées: create, retrieve, update, delete? a) <> b) <> c) <> d) <> e) <> Questao 6: Muitas vezes, o analista, trabalhando sem a presenca do cliente, nao sabe como de- cidir sobre determinado assunto, que pode depender de politicas da empresa. Essas dtividas devem ser documentadas em qual secao e resolvidas em que momento? Questao 7: Na descrigao dos casos de uso, 0 analista deve se concentrar em descrever a infor- magao que é passada dos usuarios para 0 sistema, e do sistema para os usuarios. O que deve ser omitido desta descrigéo? Questo 8: Os passos obrigat6rios em um caso de uso podem ser de dois tipos: eventos de siste- mae respostas de sistema. Explique esses dois passos. Questao 9: Para que servem os marcadores [IN] e [out]? Questo 10: A figura, a seguir, representa a descricao do caso de uso “Encomendar livros”. Passe o mouse para aumentar a imagem Fonte: Wazlawick (2010) O caso de uso apresentado contém todos os passos obrigatérios que deveriam existir. Analise este caso de uso eresponda se ele possui passos impréprios. Justifique sua resposta. Teua O5 Diagramas de Sequéncia de Sistema Conteudo Nessa aula vocé estudara: + Elementos do Diagrama de Sequéncia. + Representagao de Casos de Usos como Diagramas de Sequéncia. + Estratégias Statefull e Stateless. Habilidades Ao final, vocé devera ser capaz de responder as seguintes questdes: + Quais os elementos do diagrama de sequéncia? + Como representar diagramas de casos de uso como diagramas de sequéncia? + O que sao estratégias Statefulle Stateless? + Para que serve o padrao Data Transfer Object (DTO)? Diagramas de Sequéncia de Sistema Para Wazlawick (2011), é importante o trabalho do analista de sistema na produgao de ‘casos de uso expandidos para que exista entendimento a respeito do dominio do problema. Este documento seré um guia para a elaboragao do modelo conceitual ‘Alémdo modelo conceitual, vocé deve ficar atento as operagdes e consultas que fazem parte do problema em andlise, e elas também podem ser obtidas por meio do documento de caso de expandido previamente elaborado. Perceba que 0 modelo conceitual, as operagées & consultas s40 pontos importantes de entendimento do problema e possibilitam a criagao de modelos com mais detalhes do problema analisado. Veja, a seguir, perguntas importantes que auxiliam na descoberta de operacdes e consultas: + De que maneira serd feita a conexdo do sistema com o exterior? + De que modo acontecerd a interagao entre os usuarios eo sistema? ‘Ao responder essas perguntas, vocé teré um conjunto de operagées e consultas que serviro como subsidio para a elaboragao de métodos que fardo a interface entre sistema o mundo externo. ‘As operacées de sistema sfio métodos que surgem como resposta a uma ago do usuério. Essas operagdes so caracterizadas como um fluxo de informacao do meio extemno para area interna do sistema, e assim tem a caracteristica de alterar os dados que o sistema gerencia. ‘Ja as consultas nada mais s20 que os resgates das informagdes armazenadas internamente pelo sistema. Os dados consultados podem ser apresentados exatamente como sao ou podem ser modificados pelo sistema antes de sua apresentacao. ‘Ao unirmos os conjuntos das operagdes com o conjunto das consultas de dado sistema, teremos a totalidade de suas fungées, ou seja, todas as possibilidades de interagSes do usuario com o sistema estarao representadas nesta uniao de operacdes com consultas. Assim, passa a existir a necessidade da representagao dos eventos interos e externos, que surgem da interagao do usuario com o sistema. Entao, poderemos utilizar por meio da UML 0 diagrama de sequéncia para fazer essa representacao grdfica. Esse diagrama 6 ‘uma maneira de sistematizar 0 caso de uso expandido e criar um processo de refinamento para obter mais detalhes sobre o funcionamento sist8mico. O diagrama de sequéncia tem autores ¢ elementos do sistema, mensagens e nimeros que podem ser visualizados na Figura 5.1 a seguir: Tempo __-condigio de gvarda econ) tow [{ — mensagem sincrona_ TIsenovol aN [ onsce | pa mensagem n (auto delegaso) (caixa de)ativagae valor de retorno, > i simbolo de destruigio linha de vida Figura 5.1 Diagrama de sequéncia. Fonte: . Acesso em: 2 mar. 2014 Perceba que: + Aleitura do diagrama de sequéncias ¢ feita de cima para baixo. + Existem mensagens enviadas para os objetos (setas cheias). + Existem mensagens de retomo (setas tracejadas). + Um objeto pode enviar uma mensagem para si (autodelegacao) + Qobjeto possui uma linha da vida, representando 0 inicio e o término da sua existéncia. A Figura 5.2 representa o diagrama de sequéncia envolvido em um caso de uso onde o usuario envia flores. Analise a numeragao envolvida nas mensagens, pois ela representa uma sequéncia. APF atendscidate Paros ofan 2 rao isonet ee Perea ett Figura 5.2 Diagrama de sequéncia ~ 0 usuaro envia tores. Fonte: . Aceseo em: 1 mar. 2014 Veja que a linha vertical dos elementos envolvidos no caso apresentado fica pontilhada quando 0s abjetos estao inativos, e a linha fica cheia quando os objetos do sistema esto ativos. Atores humanos sempre possuem linhas cheias. {As linhas horizontais representam as mensagens trocadas, ou seja, fluxo da informagao @ interagao do usuario com o sistema. Saiba que hd trés tipos de envio de informagao no diagrama de sequéncia: entre os atores, dos atores para o sistema e, por fim, do sistema para os atores. E possivel representar um caso de uso em um diagrama de sequéncia. Isso pode ser feito por meio de duas etapas: + Aprimeira 6 a representagao dos passos descritos no caso de uso como trocas entre usuario e interface. + Assegunda é a representagdo de operagies e consultas de sistema. Pensando nas operagdes e consultas, quando vocé projeta um diagrama de sequéncia, deve lembrar que o ator passa informagao para a interface do sistema. Entdo, qual estratégia utilizar em relagao ao armazenamento da informagao passada? Armazenar ou descartar? Caso a informacao passada seja armazenada para que outras operacées e consultas a utilize, tem-se uma meméria temporéria para armazenar essa informacao — tem-se implantada a estratégia statefull. Caso nao seja ulilizada essa meméria temporéria, toda vez que surgir uma operacao ou consulta, 0 ator tem de informar novamente os dados — tem-se a estratégia stateless. Para finalizarmos, vamos entender um conceito importante em orientagao a objetos: DTO - Data Transfer Object. © DTO 6 uma classe que serve como intermediadora entre a interface e uma funcionalidade do sistema em questao. Muitas vezes, um objeto tem uma série de atributos desnex ios a dada intertace ou operagao no sistema em dado contexto. Precisamos apenas de um subconjunto menor de informagdes daquele objeto. Assim, criamos 0 DTO, que serve como estrutura intermediadora menor — derivada do uma classe maior — entretanto com informagdes coesas e consistentes que suportam a funcionalidade em questo. Questao 1: De acordo com seus conhecimentos de caso de uso expandido, analise a figura a seguir @ faga 0 diagrama de sequéncia Passe o mouse para aumentar a imagem Fonte: Wazlawick (2011) Questao 2: AS e sao procedimentos computacionais executa- dos em fungéo de um evento ou resposta de sistema. Trata-se, agora, de um com- ponente do sistema que chama outro. No caso, éa que envia uma solicitagao de execugao de ope- ragao ou consulta de sistema para a cama- da de dominio, a qual é responsavel pela execugao de toda a ldgica de acesso e transtormagao dos dados. Das alternativas a seguir, marque aquela que preenche corretamente as lacunas: a) Operagées, consultas de interface. b) Transmissdes, acessos de sequéncia. ©) Disposiges, acessos de camada. ) Ages, consultas de sequéncia e) Operagies, intermediagao. acessos de sistema, sistema, sistema, sistema, sistema, [ Questao 3: Julgue os itens a seguir atribuindo V para as alternativas verdadeiras e F para as fal- sas. | — Uma vez identificada a excegao, ha pelo menos duas formas de traté-la. Il - Pode-se tratar a excegao na interfa- ce, emitindo algum tipo de mensagem ao ator € realizando o fluxo alternativo. \ll— Pode-se também tentar transformar a excegao em uma precondigao, evitan- do que 0 erro detectado ocorra na ope- ragao, mas que seja evitado antes de a operacao ser tentada. IV — Para cada excegaio, deve-se tentar erradica-la por meio do diagrama de se- quéncia. A alternativa que contém a sequéncia de julgamentos corretos é: a) V,V,V,F. b) F, V, FF. c) V,V,F,F. a) F,V,VV. e)VV.V,V. Questao 4: Leia o trecho a seguir “Passos em casos de uso, especialmen- te eventos de sistema, podem ter exce- gdes associadas, cujo tratamento 6 des- crito em um fluxo alternativo do caso de uso. Uma excegdo pode ser modelada no _____ com um even- to condicional sinalizado que aborta a ope- ragao que esta sendo tentada.“ Qual alternativa completa a lacuna? a) Diagrama de classes. b) Diagrama de sequéncia. c) Diagrama de caso de uso. d) Diagrama de maquina de estado. e) Diagrama de fluxo. Questao 5: Nos diagramas de sequéncia de sistema, ha quatro tipos de envio de mensagens. Marque a alternativa que n@o representa um tipo de envio de mensagem valido. a) Evento de sistema. b) Resposta do sistema. c) Operacao do sistema. d) Consulta do sistema. e) Interferéncia do sistema. Questao 6: Quando se faz 0 projeto do diagrama de se- quéncia, cada informagao é repassada pe- los atores para interface apenas uma vez. Porém, no nivel seguinte, varias operagdes e consultas de sistema podem necessitar da mesma informac4o. Neste ponto, 0 pro- jetista deve decidir qual estratégia usar, stateless ou statefull. Descreva os pros e contras de cada uma dessas estratégias. Questao 7: Ao estudarmos 0 padréo DTO, podemos Questao 8: tragar um paralelismo com a area de banco a UML possui um diagrama que pode ser de dados: as classes conceituals corres- til para representar sequéncia de eventos pondem as tabelas, que so os reposit6- do sistema em um cenario de um caso rios persistentes da informagao. E a que de uso. Quais elementos o diagrama de correspondem os DTOs? sequéncia tem? Questao 9: As operagées de sistema vados a partir de um ev ‘ou seja, como resposta a usuario. Por definigao, 0 ¢ de sistema indicam? Questao 10: Consultas de sistema si correspondem 4 simples ' formacao ja armazenada. magao pode ser apresent: Towa O6 Modelagem Conceitual Conteudo Nessa aula vocé estudar: + Atributos. + Conceitos. + Padrdes de Andlise. Habilidades Ao final, vocé deverd ser capaz de responder as seguintes questées: + Como compreender um modelo conceitual? + O que o modelo conceitual representa? + O que sao conceitos? + Como encontrar conceitos e atributos? Modelagem Conceitual Vocé, como analista de sistemas, trabalhara duas fases do processo unificado: na fase de concepeao, vocé buscard 0 modelo conceitual proliminar, seguida da fase de elaboracao, na qual vocé refinara e complementaré o modelo desenvolvido na fase anterior. Como vocé bem sabe, os objetos da andlise sao as informagSes ¢ a maneira como elas se relacionam em um conjunto de situagdes e processos no dominio do problema em questao. Assim, ao analisar as informagées, vocé deve considerar dois aspectos: 0 estatico @ o funcional. E muito importante que vocd saiba quo, na atividade de andlise, nao existe modelo dinmico, visto que a andlise considera apenas a descri¢ao da visdo externa do sistema. A especificacao do que entra e do que sai do sistema 6 responsabilidade do modelo funcional da andlise, Ja 0 modelo conceitual deve descrever a informagao que o sistema vai gerenciar. Estamos falando de um artefato do dominio do problema, e néo do dominio da solugao. Portanto, entenda que o modelo conceitual ndo deve ser confundido com a arquitetura do software. Fique atento ao fator de que 0 modelo conceitual também nao deve ser confundido com © modelo de dados, pois 0 modelo de dados enfatiza a representagdo fisica. Assim, um modelo de dados relacional é apenas uma possivel representacao fisica de um modelo conceitual mais essencial. O analista, om sua atividade de andlise, deverd levar em consideragao apenas o mundo exterior ao sistema, sem se preocupar com aspectos externos. Para se compreender 0 modelo conceitual, 6 util imaginar que os elementos que este modelo descreve existem inicialmente como conhecimento tacito do usuario, que sera. explicitado por meio do modelo conceitual. Neste momento, no existe um sistema fisico de armazenamento ou processamento das informagées. Nao existe a necessidade de ‘computador para que as informagoes existam. Tenha isso claro em sua mente: 0 objetivo da andlise é estudar o problema. sistema computacional poderia ser ou ndo solugdo para o problema. Se fosse, seria tratado nas atividades de projeto, e nao de analise. Se a solucdo nao fosse computacional, poderia utilizar-se de outros meios — como lépis e papel — para armazenamento e acesso aos dados. Assim, 0 modelo conceitual deve ser independente da solugdo fisica que vird a ser adotada @ deve conter apenas elementos referentes ao dominio do problema em questo, ficando relegados a atividade de projeto os elementos da solucdo, ou seja, todos os conceitos que se referem a tecnologia, como interfaces, formas de armazenamento, seguranca de acesso, comunicagao etc. © modelo conceitual representa somente 0 aspecto estatico da informagao. Portanto, nao podem existir no modelo conceitual referéncias a operagdes ou aspectos dinamicos dos sistemas. oo pode utilizar o diagrama de classes da UML para trabalhar a modelagem conceitual de dado problema. Neste diagrama, existem trés tipos de elementos para criarmos dado modelo: a) Atibutos. b) Conceitos. ©) Associagées, Veja, a seguir, um exemplo de modelo representado pela UML por meio de uma classe Foi ctiado 0 modelo de comprador com os seguintes atributos: nome, CPF, enderego & telefone. Na préxima figura, perceba que o analista definiu tipos (String, CPF) para formatar as informagdes representadas pelos atributos. E impossivel falarmos de atributos sem falarmos de conceitos, j4 que s4o fortemente ligados. Note que conceitos so mais do que valores alfanuméricos. S40 também mais do que meramente um amontoado de atributos, pois eles trazem consigo um significado & podem estar associados uns aos outros, ‘Agora, vocé deve estar se perguntando: como eu faco para encontrar conceitos € atributos? Uma forma bastante util é olhar para o texto dos casos de uso expandidos ou os diagramas de sequéncia de sistema. A partir dos artefatos produzidos, vocé pode descobrir todos os elementos textuais que eventualmente referenciam a informagao a ser guardada e/ou processada, Os elementos textuais S40 compostos por substantivos, como “casa”, “carro”, “fornecimento” tc., ou por expressdes que denotam substantivos, como ‘liberagao de estoque”. ‘Além disso, no texto, algumas vezes alguns verbos podem indicar conceitos, pois 0 verbo pode exprimir um ato que corresponde a um substantivo, por exemplo, o verbo “pagar” corresponde ao substantivo “pagamento”; 0 verbo “comprar” corresponde ao substantive “compra” etc. O analista deve ter em mente os objetivos do sistema enquanto procura descobrir os elementos do modelo conceitual. Nao crie “supermodelo”. Nao é interessante representar, no modelo conceitual, a informagao- quo 6 irrelevante para o sistema. Assim, nem todos os substantivos @ verbos deverdo ser considerados no modelo. Insira apenas as informagées relevantes ao dominio do problema. analista tem a responsabilidade de compreender quais as verdadeiras necessidades de informacdo ¢ oliminar as irrelevancias, Insira em seus modelos apenas os aiributos que pertencem ao dominio do problema da andlise. Para entender melhor isso, pense no modelo conceitual de “Pessoa. Se for para soluco de sistema para uma clinica médica, peso, altura, idade so atributos interessantes para serem inseridos no modelo conceitual. Considerando © mesmo modelo de “Pessoa” para um sistema académico de uma faculdade, podem nao ter relevancia as informagées de peso e altura na representacao dese modelo, ou seja, pode nao ser necessario armazenar essas informagées. Para finalizarmos, veja a modelagem conceitual, a seguir, de um sistema de vendas, com seus respectivos conceitos, atributos e associagées. Conceite » ItemDeVenda =) quantidade ' 1.2 = Estocado-em Associagao La Contida-em 1 1 Venda Loja Atributos » data enderego hora 4 nome 7 T Contém Paga-con| Ae 1 TPOV Capturada-em > Pagamento s 1 valor Fonte: , Acesso em: 1 mar. 2014, Questao 1: analista tem a responsabilidad de com- preender quais as vordadeiras necessida- dos de informagao e fltrar as irrelevancias, No que consiste 0 proceso de identifica ‘G0 dos conceitos e atributos? Questao 2: ‘Quando dois ou mais conceitos complexos se relacionam entre si, diz-se que existe uma entre ele. Das altemnativas a seguir, marque aquela ‘que preenche corretamente a lacuna. 2) Coosa, ») Transmissao. ©) Agi. 4d) Associagéo. ) Relagao. Questao 3: Julgue os itens, a seguir, atribuindo V para as alternativas verdadeiras e F para as falsas. | = Agregagao e composigao so asso- ciagdes especiais e devem ser usadas com muita parciménia no modelo, ou seja, sd devem ser usadas quando se tem certeza. Il - Etros comuns so associar por agre- gaco elementos que nao sao parte-todo. Ill — Pode-se dizer que a grande maio- ria das associag6es é binaria. Porém, pode haver situagdes em que devem ser criadas associacdes entre tras ou mais classes. IV - 0 losango branco indica uma agre- gago compartilhada, em que o compo- nente pode ser agregado a varios con- ceitos ao mesmo tempo. A alternativa que contém a sequéncia de julgamentos corretos é: a VVVF. b) F,V.F,F. ©) V,V,F,F. a FVVV. eVVVV. Questao 4: Leia 0 trecho a seguir: indica exclusivida- Quando essa ida, pode-se usar um losango branco, para indicar uma agre- gacdo compartilhada’. Qual a alternativa completa as lacunas? @) Composicdo, agregacéo. ») Aaregacto, composi. ¢) Heranga, semelhanga. 4) Semethanea, heranga, e) Composigdo, derivagao. Questao 5: Na orientagao a objetos, quando duas clas- ses se relacionam por meio de uma asso- ciagao especial denominada generaliza- ¢4o, estamos falando da obtengao da: a) Diferenga. b) Resposta do sistema. c) Heranga. d) Consulta do sistema. €) Associacao. Questao 6: Quando se deve usar heranga na modela- gem de conceitos? Questao 7: Aheranca 6 considerada apenas mais uma ferramenta de modelagem que ajuda a fa- torar informagées que, de outra forma, fi- cariam repetidas em diferentes conceitos. Em orientagao a objetos, quando é obtida a heranga? Questao 8: Fazer um modelo conceitual é muito mais do que amontoar conceitos, attibutos © associagdes em um diagrama. Frequen- temente, percebe-se que modelagem sim- plesmente ndo funciona porque fica muito complicado continuar a enriquecé-la. Exis tem técnicas de padrdes de andlise que di- minuem essa complexidade. Cite trés pa- drdes de andlise. Questao 9: Explique 0 padrao de andlise conhecido como “coesao alta’. Questo 10: ‘A construgao do modelo conceitual envol- ve mais do que simplesmente juntar con- ceitos, atributos e associagées. Para que ‘© modelo consista em uma representacdo fiel e organizada da informagao gerenciada pelo sistema, 6 necessario que certas téc- nicas de modelagem sejam utilizadas. Es- sas técnicas de organizagao de conceitos seguem trés grupos distintos. Quais sdo eles? Feu O8 Projeto da Camada de Dominio e de Interface Nessa aula vocé estudara: + Projeto da Camada de Dominio. * Projeto da Camada de Interface. + Projeto da Camada de Interface (Web). Habilidades Ao final, vocé deverd ser capaz de responder as seguintes questes: + O que é Projeto da Camada de Dominio? + Quais os tipos de camadas? + Oque 6 WebML? + Oqueé DCP? 1. Projeto da Camada de Dominio e de Interface ‘A importancia de desenvolver em camadas 6 detectarmos as responsabilidades de cada um dos componentes. Nos projetos, ha alguns tipos de camadas que tratam sobre: + Interface gratica. + Légica de negécios. + Gravar 0 estado do objeto em um local (exempio: base de dados) As atividades de projeto possuem dois grupos, conforme Wazlawick (2010): + O projeto légico (camada de dominio): essa camada corresponde ao conjunto de classes que executa toda a légica e transformacao dos dados. As demais camadas (interface, persisténcia, seguranga, entre outras) sao dependentes da camadade dominio, servindo para conectar a légica aos aspectos fisicos da computacao (redes, dispositivos ‘de armazenamento, interface, entre outros). A atividade de projeto logico termina quando © DCP (Diagrama de Classes de Projeto) tom informagées para programar as classes da camada de dominio. + O projeto tecnolégico: contém os aspectos do problema que so essenciais tecnologia, como: comunicagao; interface; armazenamento de dados; seguranga; tolerdncia a falhas, entre outros. projeto da camada de dominio possui duas atividades que podem ser executadas: + Modelagem dinamica: constréi modelos de execucao para os contratos de operagao consulta de sistema, + Elaboragao do Diagrama de Classes de Projeto (DCP): adicionar alguma informagao no modelo conceitual que no era possivel obter na andlise. E importante fazer a responsabilidade entre 0s objetos, ou seja, qual método deverd ficar em cada classe. Para implementar cada método, 0 uso de diagramas de comunicagao @ padrées de projeto € o mais adequado. Também é necessario ter visibilidade entre esses objetos. Observagao importante: o contrato de operagao indica o que deve acontecer, sem identificar ‘como as mensagens reais s40 trocadas entre objetos para realizar determinadas aces. diagrama de comunicagao vem auxiliar e apresentar como essa troca seré feita. 2. Projeto da Camada de Interface (Web) Contorme Wazlawick (2010, p. 235), 0 projeto da camada de interface depende dos casos de uso expandidos ou diagrama de sequéncia de sistema. Vale lembrar que o usuario final que estiver seguindo as etapas é a pega fundamental Hé alguns tipos de interface: Web, baseada em textos, janelas, realidade virtual, entre ‘outros. WebML ou Web Modeling Language: é uma linguagem de modelagem para eplicagdo Web, principalmente aquelas que utiizam intensamente os dados () Possui cinco modelos para a definicdo de interface: modelo estrutural; modelo de derivacao; ‘modelo de composigo; modelo de navegago; e modelo de apresentaco. Possui alguns conceitos fundamentals: + UNITS: as unidades de publicagéo de informagao/ units sAo os elementos fundamentais de uma especificagao WebML. + PAGE: paginas so os elementos de interface acessados pelo usuério. + LINK: 6 uma conexao entre duas paginas ou units, + HIPERTEXTO: séo grupos de paginas relacionadas, formas de navegacdo entre elas. + Visio de SITE: visdo de site (siteview) 6 um pacote com varias paginas de uma mesma aplicago Web. + Areas: so grupos de paginas ou recursivamente de outras areas que t8m afinidades, or exemplo, uma parte do site com antincios diversos, AAs ideias principais deste tépico so: interagao com 0 usuario; apresentacao dos dados; avaliagdo desta interface. Questao 1: Nos projetos, existem alguns tipos de ca- madas. Essas camadas sao especializa- das em tratar 0 qué? Questao 2: a) Légica; consulta. O projeto ldgico, também conhecido como b) Operagao; transfor ao. camada de dominio, corresponde ao att 3 ante conjunto de classes que executa toda a c) Operacao; consulta. e dos dados. d) Logica; transformagao. Das alternativas a seguir, marque aquela que preenche corretamente aslacunas. _ ©) Relagao; transformagao. Questao 3: dulgue os itens @ seguir atribuindo V para as alterativas verdadeiras e F para as falsas. | - UNITS - As unidades de publicacao de informagao so os elementos funda- mentais de uma especificagéo WebML. Il = Link s40 grupos de paginas relacio- nadas, formas de navegacdio entre elas lll - HIPERTEXTO: & uma conexéo en- tre duas paginas ou units. IV - Visao de SITE ou siteviow 6 um pa- cote com varias paginas de uma mesma aplicagéo Web. A altemativa que contém a sequéncia de julgamentos corretos é: a) VV. VF. b)F,V,F,F. ©) V,V.F,F. a) VFF,V. e)FVVV. Questao 4: ‘A modelagem dinamica consiste em cons- truir modelos de execugao paraos contratos de e de sistema. Qual alternativa completa as lacunas? a) Precondigoes; resultados. b) Agregacao; composicao. c) Pés-condigdes; semelhanca. d) Resultados; herangas. ) Operagao; consulta. Questao 5: Das alternativas a seguir, marque a incorreta. Em relagao ao Modelo Conceitual, o DCP. apresenta: a) Adigao dos métodos. b) Adigao da diregao das associagdes. c) Possivel detalhamento dos atributos e associagées. d) Possivel alteragao na estrutura das classes e associagées. e) Possivel criagaéo de conceitos desprotegidos. Questao 8: A WebML possui alguns conceitos funda- mentais. Explique 0 conceito de area. Questao 6: Diagramas de Colabor: na UML 2) permitem re Questao 7: WebML ou Web Modeli linguagem de modelac Web, principalmente a intensamente os dad co modelos para a de! Quais sao eles? Questao 9: Durante a fase de elaboragéo, apés as ati- vidades de anélise, vim as atividades de projeto. O que é projeto de software orien- tado a objetos? Questao 10: Dado que o projeto de software orientado a objetos pode dividir as atividades de projeto ‘em dois grandes grupos, explique 0 grupo de atividades definido como “projeto légico”.

You might also like