Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: TCC em Sistemas da Informação Aula 2: Modelando as interações Apresentação Nesta aula, revisaremos conceito, elementos e aplicação dos diagramas de interação, na especi�cação do software, identi�cando responsabilidades de cada classe para melhor adequar os respectivos métodos, garantindo, assim, o baixo acoplamento e alta coesão. Ao analisarmos os diagramas de interação, veremos que o diagrama de sequência foca na temporalidade das interações,diagrama de sequência estando bem alinhado ao conceito da especi�cação de casos de uso, e que o diagrama de comunicação foca na interação entre os objetos. Discutiremos, ainda, a situação mais adequada a cada um dos diagramas de interação para que eles cumpram sua grande função: ajudar na melhor identi�cação de responsabilidade das classes e, consequentemente, na identi�cação de novos métodos para as classes. Objetivos Identi�car o uso dos diagramas de interação: sequência e comunicação; Reconhecer os elementos e a elaboração dos diagramas de sequência e interação; Aplicar os diagramas de interação em seu projeto de TCC. Diagramas de interação Sistemas orientados a objetos implementam suas funcionalidades pela troca de mensagens entre os objetos, ou seja, um objeto envia uma mensagem a outro quando deseja que esse realize uma tarefa de sua responsabilidade. Uma mensagem representa a solicitação que um objeto requisitante faz a um objeto receptor para que esse use uma das suas operações (métodos). De forma geral, os diagramas de interação mostram como os objetos colaboram em determinados comportamentos. Embora tenham a mesma �nalidade, os diagramas de sequência e de comunicação diferem na forma como expressam as informações. Como escolher? A partir disso, as primeiras questões que surgem são: • Qual o mais adequado? • Como saber quando usar cada um, valendo-se das propriedades individuais? Obviamente, cada diagrama apresenta vantagens e desvantagens, mas a escolha de qual usar e quando caberá a cada equipe de desenvolvimento, juntamente com seus líderes, ao de�nirem a metodologia de trabalho e os respectivos artefatos a serem produzidos. Cabe ressaltar que apenas não faz sentido elaborar os dois diagramas para o mesmo comportamento (mesmo cenário de uso), pois ambos têm o mesmo objetivo, só os focos que mudam. Exemplo Há acadêmicos que defendem que o diagrama de sequênciadiagrama de sequência é mais útil quando aplicado no momento da análise, ao passo que o uso do diagrama de comunicação seria o mais apropriado em tempo de projeto (ou design), no momento em que a de�nição das responsabilidades das classes é o foco. Portanto, o diagrama de sequência é mais adequado quando o foco é a temporalidade da interação, ou seja, para mostrar a ordemdiagrama de sequência com que as mensagens são trocadas. Já o diagrama de comunicação foca nas mensagens enviadas entre objetos que estão relacionados, sem se ater à ordem. Vantagens e desvantagens dos diagramas de interação Tipo Pontos Fortes Pontos Fracos Sequência Mostra a sequência temporal das mensagens A inserção de muitos objetos dificulta o desenho e leitura Comunicação Economia de espaço ao modelar – flexibilidade ao adicionar novos objetos, em qualquer direção do desenho Promove modelos mais legíveis Difícil em perceber a sequência das mensagens, sendo necessária a numeração sequencial das mesmas Uma das grandes contribuições dos diagramas de interação é ajudar a identi�car: Novos métodos para as classes; Qual classe deve conter determinado método. Tripé da análise Observe a relação dos diagramas na �gura 1: Figura 1: O Tripé da Análise. Estes três diagramas formam o chamado tripé da análise: Clique nos botões para ver as informações. Os casos de uso (em suas descrições textuais) especi�cam o comportamento do sistema (ou parte dele), descrevendo as funcionalidades deste. Trata-se de um conjunto de cenários onde: O cenário é uma sequência de passos que descreve uma interação entre sistema e usuário; Todo caso de uso tem o cenário principal, que é o “caminho sem erros”, ou seja, tudo acontece sem nenhum problema ou exceção; A cada problema ou exceção pode-se derivar um novo cenário, “cenário alternativo”, mostrando o comportamento do sistema. Casos de uso Mostra as classes do domínio do problema e os relacionamentos entre elas. Diagrama conceitual de classes Mostra a troca de mensagens entres os objetos de um determinado cenário. Para cada cenário de um caso de uso, teremos um diagrama de interação. Diagrama de interação Diagrama de sequênciaDiagrama de sequência Conceituação O diagrama de sequência visa mostrar como os objetos trocam mensagens para a realização de um caso de uso, maisdiagrama de sequência especi�camente de um cenário de uso, ao longo da linha do tempo. O foco aqui é a sequência temporal da troca de mensagens. Veja na ilustração trecho de diagrama em que o objeto Controlador envia uma mensagem de nome Procurar Cliente() ao objeto Cliente. Agora, a mensagem em um diagrama de sequência que representa um método pertencente à classe do objeto que recebe adiagrama de sequência mensagem: Elementos básicos Abaixo, o primeiro exemplo de diagrama de sequência, a partir do qual explicaremos os elementos básicos e a correlação comdiagrama de sequência casos de uso e classes. 1 O Ator é o mesmo do caso de Uso: Correntista, com a mesma representação do boneco (stickman). 2 Interface (Boundery) é o formulário, através do qual o ator interage com o sistema. 3 Conta Corrente e Movimento Conta são classes do modelo conceitual de classes, envolvidas no cenário de uso em questão. 4 Agência e Conta, Senha são dados informados pelo ator correntista, sobre sua conta corrente. 5 ValidarAgConta (Agência e Conta) e ValidarSenha () são métodos da classe Conta Corrente acionados por uma mensagem (síncrona) enviada à classe. 6 ObterSaldoConta (Agência, Conta, Data) é um método da classe Movimento Conta chamado por uma mensagem síncrona enviada à classe. 7 ObterSaldoConta, por sua vez, chama o método ObterSaldo (Data), através de uma autochamada, ou seja, o método que está sendo chamado pertence à própria classe. Isso também é chamado de autodelegação. 8 A linha pontilhada vertical que aparece em cada elemento, Ator, Interface e classes, chama-se Linha da Vida. 9 As caixas que aparecem ao longo da Linha da Vida, abaixo de cada elemento (Ator, Interface e Classes), chama-se Caixa de Ativação e mostra quando cada elemento está ativo (participando) na interação. 10 Observe que, antes da chamada, os métodos ValidarSenha tem [AgConta OK]. Isso é uma condição de guarda. Entre colchetes as condições são apresentadas. O método ValidarSenha somente será executado se a condição for satisfeita (verdadeira)]. 11 Da mesma forma, antes da chamada ao método ObterSaldoConta (Agência, Conta, Data), temos a condição de guarda [AgContaSenha OK], indicando que o referido método apenas será executado, se a condição for verdadeira. Para chegamos ao diagrama de sequência, tínhamos: a especi�cação do caso de uso, odiagrama de sequência diagrama de caso de uso e o diagrama conceitual de classes. Exemplo Especi�cação do Cenário principal do caso de uso Emitir Saldo Conta Caso de Uso: Emitir Saldo Conta Cenário Principal 1. Correntista Informa Agência e Conta Corrente 2. Sistema valida Agência e Conta 3. Correntista Informa senha de acesso 4. Sistema valida senha de acesso 5. Sistema calcula saldo do dia corrente, com base nas movimentações da conta e saldo anterior 6. Sistemas apresenta saldo ao correntista Diagrama de classes A �gura abaixo exibe o trecho de diagrama de classe relacionado a esse diagrama de sequência:diagrama de sequência Diagrama de sequência e seus elementosDiagrama de sequência Dentre os elementos do diagrama de sequência, podemos destacar:diagrama de sequência 1 Os objetos participantes da interação são organizados na horizontal. 2 Abaixo de cada objeto, existe uma linha pontilhada (linha de vida). 3 Cadalinha de vida possui o seu foco de controle (caixa de ativação). 4 O foco de controle indica que o objeto está fazendo algo. 5 As mensagens entre objetos são representadas com linhas horizontais rotuladas partindo da linha de vida do objeto remetente e chegando à linha de vida do objeto receptor. Representa um método da classe onde a mensagem chega (receptor). Decisões no diagrama de sequênciadiagrama de sequência Mensagens podem ou não ser enviadas ao objeto destino, de acordo com uma condição (de guarda); ou ainda representar um conjunto de mensagens mutuamente exclusivas. Conforme podemos observar na imagem abaixo, há um trecho de diagrama de sequência onde representamos a decisão.diagrama de sequência Observe que temos o retângulo, com uma linha tracejada dentro, com o rótulo “alt”, indicando um fragmento alternativo para lógica condicional de exclusão mútua. Na parte de cima, inicial do retângulo, temos a condição de guarda [Tipo Cliente =F]. Na parte de baixo, após a linha tracejada, temos outra condição de guarda [Tipo Cliente = J]. 1. O ator informa o tipo de cliente, que pode ser F (física) ou J (jurídica) 2. Se o Tipo Cliente = F (primeira condição de guarda) = VERDADE, executa-se as mensagens que estão associadas a essa condição, ou seja, as mensagens que estão antes da linha tracejada: a) Ator informa os dados da pessoa física (Dados Cliente Fis) b) Ocorre a inserção desses dados, através da chamada ao método Inserir CliFis(), que está na classe Pessoa Física 3. Se o Tipo Cliente = F = FALSO desvia-se para a execução das mensagens que estão após a linha tracejada, onde temos uma outra condição de guarda a ser avaliada 4. Se Tipo Cliente = J (segunda condição de guarda) = VERDADE executa-se as mensagens que estão associadas a essa condição, ou seja, as mensagens que estão após a linha tracejada: a) Ator informa os dados da pessoa Jurídica (Dados Jur) b) Ocorre a inserção desses dados, através da chamada ao método Inserir CliJur(), que está na classe Pessoa Jurídica Exemplo O exemplo abaixo mostra que podem haver tantas condições de guarda quantas forem necessárias. Temos Opcão = A, Opção = B e Else (a mensagem 3 será executada se opção diferente de A e diferente de B). Como funciona o diagrama acima? Se [Opcão = A] é verdade, Então chama o método Msg1 do Objeto 1 Senão Se [Opção = B] é verdade, Então chama o método Mgs2 do Objeto 2 Senão Chama o método Msg3 do Objeto 3 Repetições no diagrama de sequênciadiagrama de sequência O diagrama de sequência possibilita que especi�quemos REPETIÇÕES, ou seja, mensagens que são enviadas repetidas vezes.diagrama de sequência No trecho de diagrama de sequência abaixo, a representação da repetição, na caixa LOOP (quadro de iteração), com a condiçãodiagrama de sequência de guarda [Para cada item de venda], ou seja, enquanto houver item na venda e o caixa (ator) digitar um cod produto, as mensagens e interações contidas na caixa LOOP serão executadas: 1 ProcurarProd() 2 Inserir Novo Item() 3 Incluir Item() O retângulo que representa repetição tem o rótulo “Loop”, indicando fragmento de repetição enquanto a condição de guarda for verdadeira. Observe que os métodos Inserir Novo Item() e Incluir Item() serão executados se a condição [Se produto Existe] for verdadeira. E tal condição varia em função do resultado do método ProcurarProd(), contido na classe Produto. As mensagens contidas nos retângulos de iteração serão repetidas enquanto a condição de guarda determinante for verdadeira: [Para cada Item de Venda]. Criação e destruição de objetos no diagrama de sequênciadiagrama de sequência O diagrama de sequência dispõe de 2 notações para representar a criação (<<Create>>) e a destruição (<<Destroy>>) de objetosdiagrama de sequência participantes. Na �gura abaixo, vemos a criação do participante (Objeto Criado). Após criado, quando recebe a mensagem <<CREATE>>, representado pelo método CriaObjeto(), o Objeto Criado pode receber e enviar mensagens normalmente. Na �gura abaixo, temos o exemplo da destruição de objetos, quando o objeto destruidor envia a mensagem <<destroy>>, representado pela execução do método DestroyMessage(). O Elemento, representado pelo X, no objeto destruído indica o seu �m. Tipos de mensagens: síncronas e assíncronas Os exemplos de diagrama de sequência, até aqui, usaram apenas a mensagem síncrona, que, uma vez enviada, aguarda o retornodiagrama de sequência (seta pontilhada na direção contrária) com a sua conclusão. Outro tipo é a mensagem assíncrona, que uma vez enviada não necessita esperar por uma resposta, continuando o �uxo do processamento. A �gura a seguir mostra um exemplo de mensagem assíncrona (seta vazia), representada pela chamada ao método Message1(), que sai do Objeto 1 para o Objeto 2. Mostramos, logo abaixo, a Message2(), síncrona (seta cheia). Responsabilidade das classes: coesão e acoplamento Quando de�nimos uma mensagem no modelo de interações, estamos atribuindo uma responsabilidade à classe que recebe a mensagem. A modelagem de interações é um procedimento cuja �nalidade é decompor as responsabilidades do sistema e alocá-las nas classes. Exemplo Se partimos do princípio de que um sistema terá N responsabilidades, poderemos pensar em algumas soluções de divisões de responsabilidades entre as classes desse sistema. As soluções extremas seriam: 1 classe contendo as N responsabilidades; ou N classes contendo 1 responsabilidade cada uma. Claro que essas duas soluções são inviáveis na prática, mas existem outras possibilidades de alocar as responsabilidades. Como identi�car classes e atribuir responsabilidades? A tarefa de identi�cação de classes e atribuição de responsabilidades é complexa e existem várias formas de realizá-la. A melhor solução dependerá, obviamente, da expertise do modelador e da correta aplicação de alguns princípios básicos de desenvolvimento de software. A coesão e o acoplamento são dois desses princípios. A coesão é uma medida que indica o quanto as responsabilidades de uma classe são relacionadas (a�ns). Um bom projeto indica uma alta coesão, ou seja, as responsabilidades de uma classe devem ser fortemente relacionadas entre si. Um dos pontos de relevância que surge ao modelarmos classes é: Qual classe deve ser responsável por um determinado método? Em qual classe devemos alocar esse método? Para tal decisão, devemos levar em consideração volume, desempenho, segurança e outros aspectos físicos, inerentes à implementação. Comentário Existe um conjunto de critérios que devem ser avaliados e nosso foco aqui não é nos estendermos neste assunto, mas alertar sobre a preocupação. Apenas para citar, devemos alocar os métodos de forma que tenhamos um baixo acoplamento e alta coesão entre as classes. Existe um padrão (solução já usada) de projeto, chamado “Especialista”, que diz: O método deve ser colocado na classe que conhece a informação. Padrão é uma solução, já usada em projetos anteriores, em contextos similares. Existem outros padrões, classi�cados em diferentes tipos a serem considerados, que podem ser objeto de uma pesquisa, para expansão dos conhecimentos nesse sentido. Os diagramas de interação ajudam a clarear essa questão e, muitas vezes, perceberemos que �zemos uma escolha equivocada da classe onde inicialmente alocamos determinados métodos. Tipos de classes: fronteira, controle e entidade No conceito do desenvolvimento em camadas, devemos separar as classes. Uma dessas formas é segregá-las em classes de interface, controle e entidade, seguindo os conceitos da técnica chamada “Análise de Robustez”, proposta por JACOBSON, e posteriormente usada no processo de desenvolvimento denominado ICONIX. Classe Fronteira (interface) A classe Fronteira (<<boundary>>) identi�ca uma classe que serve de comunicação entre os atores e o sistema, permitindo a interação do sistema com o seu ambiente. Há três tipos principais de classe fronteira: 1. De interação com atores humanos (interface); 2. De interação com sistemasexternos (outros sistemas com que esse interage); 3. Interface com dispositivos associados ao sistema. As classes fronteira se comunicam com as classes controladoras e com os atores. No modelo conceitual de classes, não devemos nos preocupar com as classes de fronteira. Isso passa a ser uma preocupação de projeto das classes. Classe controladora A classe de controle ou controladora (<<Control>>) serve de intermediação entre a classe fronteira e as classes de entidade <<entity>>. Fica responsável por interpretar eventos ocorridos sobre os objetos <<boundary>> (eventos de mouse e teclado) e encaminhar a classe correta que precisa receber aquele evento. A classe controladora, em geral, coordena uma funcionalidade oferecida pelo sistema. Por isso, dizemos que cada caso de uso (não é regra, mas muito acontece), tem uma classe controladora. Classe entidade Entidade (<<Entity>>) representa um conceito do domínio do problema. Assim sendo, as classes entidade pertencem ao domínio do problema, contendo o conhecimento do negócio e são independentes de tecnologia. Tipicamente, a sequência entre as classes ocorre conforme procedimento abaixo descrito, que corresponde à imagem a seguir: 1. O ator solicita a ação desejada, pela interface do cenário de uso; 2. A classe de interface encaminha o pedido à classe de controle; 3. A classe de controle traduz o pedido e solicita a respectiva entidade que execute determinada operação; 4. A sequência de retornos acontece pela interface: usuário tem a sua resposta. Diagrama de comunicação Conceituação O diagrama de Comunicação mostra como os objetos trocam mensagens para a realização de um caso de uso, mais especi�camente de um cenário de uso (parte de um caso de uso), focando nas relações em si entre os objetos. Útil para interações mais simples com poucos objetos. Quanto mais objetos, mais mensagens entre eles e consequentemente mais di�culdade em ler e entender. Não há preocupação com a sequência de mensagens e sim em quem a dispara. A sequência será dada por uma numeração posicionada antes da mensagem. Abaixo o trecho de diagrama de comunicação equivalente ao trecho de diagrama de sequência já apresentado nesta aula .diagrama de sequência Observe que não há linha da vida ou caixa de ativação: A classe Cliente deverá ter o método Procurar Cliente (): Diagrama de comunicação e seus elementos O diagrama de comunicação, cuja imagem é apresentada a seguir, é equivalente ao diagrama de sequência exibido no itemdiagrama de sequência Elementos básicos (do diagrama de sequência) que também já analisamos nesta aula.diagrama de sequência Dentre os elementos do diagrama de comunicação, temos: 1 Agência, Conta, Senha são dados informados pelo ator Correntista. 2 Os objetos da interação são organizados onde melhor convier: Correntista, Interface, Conta Corrente e Movimento Conta. 3 As mensagens entre objetos são representadas partindo do objeto emissor em direção ao objeto destino. Em geral, numeram-se as mensagens para saber a sequência. a) As mensagens do diagrama são: 2: ValidarAgConta (Agência,Conta) é uma mensagem enviada ao objeto Conta Corrente, assim como... 3: ValidarSenha (Agência,Conta,Senha) 4: ObterSaldoConta(Agência,Conta,Data) é uma mensagem enviada à classe Movimento Conta, pelo objeto Conta Corrente. 5: ObterSaldo (Agência,Conta,Data) é uma autochamada, ou seja, é o envio de uma mensagem do objeto a ele mesmo. b) Os Textos escritos entre [] (colchetes) antes de algumas mensagens representam a condição de guarda. Assim, essas mensagens são disparadas se as condições forem verdadeiras. [AgConta OK] é a condição de guarda para disparar a mensagem ValidarSenha ao objeto Conta Corrente; [AgContaSenha OK] é a condição de guarda para disparar a mensagem ObterSaldoConta ao objeto Movimento Conta. c) Os vínculos (relações: seta que os une) entre os objetos: d) 6: Saldo da Conta é a mensagem exibida ao ator. Decisões no diagrama de comunicação As decisões têm a mesma representação (colchetes) e uso que no diagrama de sequência, agindo como condição para que adiagrama de sequência mensagem a ela associada seja ou não disparada. Se a condição é verdadeira, a mensagem é disparada. Caso contrário, não. Repetições no diagrama de comunicação As repetições de mensagens são representadas no diagrama de comunicação pelo mecanismo de incluir o * (asterisco) antes da mensagem, indicando a quantidade de disparos ou a condição de parada. Criação e destruição de objetos A criação de objetos é representada pela mensagem Create(). Isso indica que a classe é criada durante a interação. Para destruição, podemos usar uma mensagem Destroy para o objeto a ser destruído. Veja as imagens a seguir. Saiba mais Tipos de mensagens no diagrama de Comunicação: síncronas No diagrama de comunicação, apenas mensagens síncronas são possíveis. O diagrama de sequência permite também asdiagrama de sequência assíncronas. As mensagens de retorno podem ser usadas no diagrama de comunicação e nos diagramas de sequência, porém são opcionais. Nos diagramas de comunicação, para não poluir mais o desenho, costumamos não usar. Nos diagramas de sequência podem ser usados, mas sempre evitando o excesso. Os diagramas de interação em seu projeto de TCC Vamos desenhar os diagramas de interação para seu projeto de TCC? Busque orientação junto ao seu Orientador-tutor no que se refere a quais cenários de uso precisam ter diagramas de interação desenvolvidos. Exemplo Não há necessidade de representar em diagramas de interação todos os casos de uso de INCLUSÃO. Claro que cada um terá uma lógica diferenciada, mas, no geral, terão o mesmo raciocínio. Você pode decidir se vai usar apenas um dos dois diagramas possíveis para todos os cenários a serem modelados ou se a escolha caberá a cada cenário (podendo optar por um ou outro conforme complexidade e características do cenário). Veja o que é preciso para elaborar o diagrama de interação de seu projeto (tudo devidamente validados pelo seu Orientador-tutor): 1 Diagrama de casos de uso. 2 Especi�cação do caso de uso cuja interação será representada. 3 Diagrama conceitual de classes. Ao elaborar os diagramas de interação necessários poderão (e devem) haver alterações não apenas no diagrama de classes, que terá muito provavelmente novos métodos a serem inseridos e talvez novas classes, mas também na especi�cação de caso de uso e no diagrama de casos de uso. Comentário Isso mesmo. Não se assuste e esteja preparado para modi�car esses documentos. É o caminho natural. Nesse caso, informe ao seu Orientador-tutor o que está sendo modi�cado, para que ele possa revalidar, juntamente com seus diagramas de interação. Dica Assim sendo, para cada cenário principal de caso de uso a ser elaborado diagrama de interação: 1. Escolha se usará diagrama de sequência ou colaboração para todas os cenários ou se optará a cada cenário;diagrama de sequência 2. Tenha em mãos o passo a passo da especi�cação de caso de uso; 3. Identi�que os objetos envolvidos na interação (diagrama de classes); 4. Identi�que o(s) ator(es) envolvido(s) – diagrama de casos de uso; 5. Identi�que a interface necessária (sem entrar em detalhes da mesma); 6. De�na se usará classe de controle; 7. Modele os relacionamentos e mensagens entre os objetos, observando a sequência do passo a passo (diagrama dediagrama de sequência) ou a relação estrutural entre os objetos.sequência Considere a possibilidade de modelar cenários alternativos. Atividade 1. Prática: I. Com base na descrição abaixo relativa ao caso de uso LOCAR Exemplar, elabore o diagrama de sequência;diagrama de sequência II. Com base no diagrama de sequência, elabore o de comunicação.diagrama de sequência CENÁRIO PRINCIPAL 1. Bibliotecário informa matricula do sócio; 2. Sistema veri�ca se sócio cadastrado; 3. Sistema veri�ca pendências do sócio; 4. Para cada exemplar a ser emprestado, faça: a) Bibliotecário informa identi�cação do exemplar; b) Sistema veri�ca exemplar cadastrado;c) Sistema registra exemplar emprestado; 5. Sistema registra empréstimo; 2. Avalie cada assertiva referente aos diagramas de interação: I. Os diagramas de interação mais usados são: sequência e comunicação; II. O diagrama de sequência foca na relação estrutural entre os objetos;diagrama de sequência III. O diagrama de comunicação foca na sequência temporal das mensagens; IV. Os diagramas de interação visam identi�car novas operações. Assinale a opção que apresenta as assertivas corretas: a) I, II, III e IV b) I e IV apenas c) III apenas d) II e IV apenas e) IV apenas 3. No que tange aos elementos dos diagramas de interação, assinale a opção correta: a) Ambos suportam mensagens assíncronas. b) O diagrama de sequência não permite autochamada ou autodelegação.diagrama de sequência c) O diagrama de comunicação não permite criar ou destruir objetos na interação. d) O diagrama de sequência permite representar classes de controle, de interface e de entidade.diagrama de sequência e) O diagrama de comunicação não permite que seja representada mensagem que é disparada repetidas vezes. 4. No que se refere à aplicação dos diagramas de interação em seu TCC, avalie: I. Precisa ter elaborado previamente: diagrama e especi�cações de casos de uso, diagrama de objetos e estados; II. Você deve desenvolver diagramas de interação para todos os cenários de uso de todos os casos de uso; III. O primeiro passo é buscar orientação com o Orientador-tutor para saber quais casos de uso carecem dos diagramas de interação; IV. O Orientador-tutor é quem vai determinar se usaremos diagrama de comunicação ou sequência ou ambos e em que situações. Assinale a alternativa que contém as assertivas corretas: a) Apenas III. b) Apenas III e IV. c) Apenas I e III. d) Apenas I, III e IV. e) Apenas IV. NotasReferências BEZERRA, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. 3. Ed. Rio de Janeiro: Elsevier, 2015. LARMAN, Craig. Utilizando UML e Padrões: uma introdução à análise e ao projeto orientados a objetos e ao desenvolvimento interativo. 3. Ed. Porto Alegre: Bookman, 2007. WAZLAWICK, Raul Sidnei. Metodologia de pesquisa para ciência da computação. Rio de Janeiro: Elsevier, 2008. Próxima aula Projeto de interface: de�nir o modelo de interação a ser usado na interface; Desenvolver o diagrama de navegação geral do sistema; De�nir os elementos de cada interface e seu funcionamento. Explore mais Visite a seguinte página e saiba mais sobre os assuntos estudados nesta aula: Ferramenta de diagrama de sequência gratuita <https://online.visual-paradigm.com/pt/solutions/free-sequence-diagram- tool/> . https://online.visual-paradigm.com/pt/solutions/free-sequence-diagram-tool/
Compartilhar