·
Sistemas de Informação ·
Engenharia de Software
Send your question to AI and receive an answer instantly
Recommended for you
30
Padrões de Projeto Eds
Engenharia de Software
UFF
16
Linhas de Produto de Software - Eds
Engenharia de Software
UFF
16
Frameworks - Eds
Engenharia de Software
UFF
33
Arquitetura de Sw - Eds
Engenharia de Software
UFF
1
Analise de Arquitetura de Microsservicos Relatorio sobre Archetipos Open Source
Engenharia de Software
PUC
7
INE5614-Questionario 3 Modularidade e Reuso-Provas
Engenharia de Software
UFSC
74
Arquitetura de Software: Estruturas e Componentes em Sistemas de Software
Engenharia de Software
PUC
1
Exercícios de Testes de Unidade, Integração e Sistema com GitHub Actions
Engenharia de Software
UFJF
25
Aplicativo Eu Luto - Acolhimento, Grupos de Apoio e Recursos para Luto Parental
Engenharia de Software
PUC
1
Trabalho Final - Diagrama de caso de uso, descrição, classes e interação - 10 de dez de 2023
Engenharia de Software
IFNMG
Preview text
11/05/2022 1 Técnicas de Identificação de Elementos CLASSES Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 2 Técnicas de Identificação Várias técnicas (de uso não exclusivo) são usadas para identificar classes: 1. Categorias de Conceitos 2. Análise Textual de Abbott (Abbot Textual Analysis) 3. Análise de Casos de Uso – Categorização BCE 4. Padrões de Análise (Analisys Patterns) 5. Identificação Dirigida a Responsabilidades 1 2 11/05/2022 2 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 3 Categorias de Conceitos Estratégia: usar uma lista de conceitos comuns. ◦ Conceitos concretos . Por exemplo, edifícios, carros, salas de aula, etc. ◦ Papéis desempenhados por seres humanos. Por exemplo, professores, alunos, empregados, clientes, etc. ◦ Eventos, ou seja, ocorrências em uma data e em uma hora particulares. Por exemplo, reuniões, pedidos, aterrisagens, aulas, etc. ◦ Lugares: áreas reservadas para pessoas ou coisas. Por exemplo: escritórios, filiais, locais de pouso, salas de aula, etc. ◦ Organizações: coleções de pessoas ou de recursos. Por exemplo: departamentos, projetos, campanhas, turmas, etc. ◦ Conceitos abstratos : princípios ou idéias não tangíveis. Por exemplo: reservas, vendas, inscrições, etc. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 4 Análise Textual de Abbott Estratégia: identificar termos da narrativa de casos de uso e documento de requisitos que podem sugerir classes, atributos, operações. Neste técnica, são utilizadas diversas fontes de informação sobre o sistema: documento e requisitos, modelos do negócio, glossários, conhecimento sobre o domínio, etc. Para cada um desses documentos, os nomes (substantivos e adjetivos) que aparecem no mesmo são destacados. (São também consideradas locuções equivalentes a substantivos.) Após isso, os sinônimos são removidos (permanecem os nomes mais significativos para o domínio do negócio em questão). 3 4 11/05/2022 3 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 5 Análise Textual de Abbott (cont.) Cada termo remanescente se encaixa em uma das situações a seguir: ◦ O termo se torna uma classe (ou seja, são classes candidatas); ◦ O termo se torna um atributo; ◦ O termo não tem relevância alguma com ao SSOO. Abbott também preconiza o uso de sua técnica na identificação de operações e de associações. ◦ Para isso, ele sugere que destaquemos os verbos no texto. ◦ Verbos de ação (e.g., calcular, confirmar, cancelar, comprar, fechar, estimar, depositar, sacar, etc.) são operações em potencial. ◦ Verbos com sentido de “ter” são potenciais agregações ou composições. ◦ Verbos com sentido de “ser” são generalizações em potencial. ◦ Demais verbos são associações em potencial. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 6 Análise Textual de Abbott (cont.) A ATA é de aplicação bastante simples. No entanto, uma desvantagem é que seu resultado (as classes candidatas identificadas) depende de os documentos utilizados como fonte serem completos. ◦ Dependendo do estilo que foi utilizado para escrever esse documento, essa técnica pode levar à identificação de diversas classes candidatas que não gerarão classes. ◦ A análise do texto de um documento pode não deixar explícita uma classe importante para o sistema. ◦ Em linguagem natural, as variações lingüísticas e as formas de expressar uma mesma idéia são bastante numerosas. 5 6 11/05/2022 4 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 7 Análise de Casos de Uso Essa técnica é também chamada de identificação dirigida por casos de uso, e é um caso particular da ATA. Técnica preconizada pelo Processo Unificado. Nesta técnica, o MCU é utilizado como ponto de partida. ◦ Premissa: um caso de uso corresponde a um comportamento específico do SSOO. Esse comportamento somente pode ser produzido por objetos que compõem o sistema. ◦ Em outras palavras, a realização de um caso de uso é responsabilidade de um conjunto de objetos que devem colaborar para produzir o resultado daquele caso de uso. ◦ Com base nisso, o modelador aplica a técnica de análise dos casos de uso para identificar as classes necessárias à produção do comportamento que está documentado na descrição do caso de uso. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 8 Análise de Casos de Uso Procedimento de aplicação: ◦ O modelador estuda a descrição textual de cada caso de uso para identificar classes candidatas. ◦ Para cada caso de uso, o texto (fluxos principal, alternativos e de exceção, pós-condições e pré-condições, etc.) é analisado. ◦ Na análise de certo caso de uso, o modelador tenta identificar classes que possam fornecer o comportamento do mesmo. ◦ Na medida em que os casos de uso são analisados um a um, as classes do SSOO são identificadas. ◦ Quando todos os casos de uso tiverem sido analisados, todas as classes (ou pelo menos a grande maioria delas) terão sido identificadas. Na aplicação deste procedimento, podemos utilizar as categorização BCE ... 7 8 11/05/2022 5 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 9 Categorização BCE Na categorização BCE, os objetos de um SSOO são agrupados de acordo com o tipo de responsabilidade a eles atribuída. ◦ objetos de entidade: usualmente objetos do domínio do problema ◦ objetos de fronteira: atores interagem com esses objetos ◦ objetos de controle: servem como intermediários entre objetos de fronteira e de entidade, definindo o comportamento de um caso de uso específico. Categorização proposta por Ivar Jacobson em1992. ◦ Possui correspondência (mas não equivalência!) com o framework model-view-controller (MVC) ◦ Ligação entre análise (o que; problema) e projeto (como; solução) Estereótipos na UML: «boundary», «entity», «control» Os estereótipos são um dos três mecanismos de extensibilidade da UML. Eles dão mais poder à UML, permitindo classificar elementos "com algo em comum". Por exemplo, ao modelar uma rede pode ser necessário ter símbolos para representar roteadores e hubs. Ao fazer isso você estará estereotipando um elemento, visto que todos os hubs terão o mesmo simbolo. PRINCÍPIOS DE ANÁLISE E PROJETO DE SISTEMAS COM UML - 2ª EDIÇÃO 10 Objetos de Entidade Repositório para informações e as regras de negócio manipuladas pelo sistema. ◦ Representam conceitos do domínio do negócio. Características ◦ Normalmente armazenam informações persistentes. ◦ Várias instâncias da mesma entidade existindo no sistema. ◦ Participam de vários casos de uso e têm ciclo de vida longo. Exemplo: ◦ Um objeto Pedido participa dos casos de uso Realizar Pedido e Atualizar Estoque. Este objeto pode existir por diversos anos ou mesmo tanto quanto o próprio sistema. 9 10 11/05/2022 6 PRINCÍPIOS DE ANÁLISE E PROJETO DE SISTEMAS COM UML - 2ª EDIÇÃO 11 Objetos de Fronteira Realizam a comunicação do sistema com os atores. ◦ traduzem os eventos gerados por um ator em eventos relevantes ao sistema → eventos de sistema. ◦ também são responsáveis por apresentar os resultados de uma interação dos objetos em algo inteligível pelo ator. Existem para que o sistema se comunique com o mundo exterior. ◦ Por conseqüência, são altamente dependentes do ambiente. Há dois tipos principais de objetos de fronteira: ◦ Os que se comunicam com o usuário (atores humanos): relatórios, páginas HTML, interfaces gráfica desktop, etc. ◦ Os que se comunicam com atores não-humanos (outros sistemas ou dispositivos): protocolos de comunicação. PRINCÍPIOS DE ANÁLISE E PROJETO DE SISTEMAS COM UML - 2ª EDIÇÃO 12 Objetos de Controle São a “ponte de comunicação” entre objetos de fronteira e objetos de entidade. Responsáveis por controlar a lógica de execução correspondente a um caso de uso. Decidem o que o sistema deve fazer quando um evento de sistema ocorre. ◦ Eles realizam o controle do processamento ◦ Agem como gerentes (coordenadores, controladores) dos outros objetos para a realização de um caso de uso. Traduzem eventos de sistema em operações que devem ser realizadas pelos demais objetos. 11 12 11/05/2022 7 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 13 Importância da Categorização BCE A categorização BCE parte do princípio de que cada objeto em um SSOO é especialista em realizar um de três tipos de tarefa, a saber: ◦ se comunicar com atores (fronteira), ◦ manter as informações (entidade) ou ◦ coordenar a realização de um caso de uso (controle). A categorização BCE é uma “receita de bolo” para identificar objetos participantes da realização de um caso de uso. A importância dessa categorização está relacionada à capacidade de adaptação a eventuais mudanças. ◦ Se cada objeto tem atribuições específicas dentro do sistema, mudanças podem ser menos complexas e mais localizadas. ◦ Uma modificação em uma parte do sistema tem menos possibilidades de resultar em mudanças em outras partes. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 14 Visões de Classes Participantes Uma Visão de Classes Participantes (VCP) é um diagrama das classes cujos objetos participam da realização de determinado caso de uso. ◦ É uma recomendação do UP (Unified Process). UP: “definir uma VCP por caso de uso” ◦ Termo original: View Of Participating Classes (VOPC). Em uma VCP, são representados objetos de fronteira, de entidade e de controle para um caso de uso particular. Uma VCP é definida através da utilização da categorização BCE previamente descrita...vide próximo slide. 13 14 11/05/2022 8 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 15 Estrutura de uma VCP «entidade» «entidade» «entidade» «controle» «fronteira» Uma VCP representa a estrutura das classes que participam da realização de um caso de uso em particular. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 16 Construção de uma VCP Para cada caso de uso: ◦ Adicione uma fronteira para cada elemento de interface gráfica principal, tais com uma tela (formulário) ou relatório. ◦ Adicione uma fronteira para cada ator não-humano (por exemplo, outro sistema). ◦ Adicione um ou mais controladores para gerenciar o processo de realização do caso de uso. ◦ Adicione uma entidade para cada conceito do negócio. ◦ Esses objetos são originários do modelo conceitual. Os estereótipos gráficos definidos pela UML podem ser utilizados. 15 16 11/05/2022 9 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 17 VCP (exemplo) – Realizar Inscrição Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 18 Regras Estruturais em uma VCP Durante a fase de análise, use as regras a seguir para definir a VCP para um caso de uso. ◦ Atores somente podem interagir com objetos de fronteira. ◦ Objetos de fronteira somente podem interagir com controladores e atores. ◦ Objetos de entidade somente podem interagir (receber requisições) com controladores. ◦ Controladores somente podem interagir com objetos de fronteira e objetos de entidade, e com (eventuais) outros controladores. 17 18
Send your question to AI and receive an answer instantly
Recommended for you
30
Padrões de Projeto Eds
Engenharia de Software
UFF
16
Linhas de Produto de Software - Eds
Engenharia de Software
UFF
16
Frameworks - Eds
Engenharia de Software
UFF
33
Arquitetura de Sw - Eds
Engenharia de Software
UFF
1
Analise de Arquitetura de Microsservicos Relatorio sobre Archetipos Open Source
Engenharia de Software
PUC
7
INE5614-Questionario 3 Modularidade e Reuso-Provas
Engenharia de Software
UFSC
74
Arquitetura de Software: Estruturas e Componentes em Sistemas de Software
Engenharia de Software
PUC
1
Exercícios de Testes de Unidade, Integração e Sistema com GitHub Actions
Engenharia de Software
UFJF
25
Aplicativo Eu Luto - Acolhimento, Grupos de Apoio e Recursos para Luto Parental
Engenharia de Software
PUC
1
Trabalho Final - Diagrama de caso de uso, descrição, classes e interação - 10 de dez de 2023
Engenharia de Software
IFNMG
Preview text
11/05/2022 1 Técnicas de Identificação de Elementos CLASSES Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 2 Técnicas de Identificação Várias técnicas (de uso não exclusivo) são usadas para identificar classes: 1. Categorias de Conceitos 2. Análise Textual de Abbott (Abbot Textual Analysis) 3. Análise de Casos de Uso – Categorização BCE 4. Padrões de Análise (Analisys Patterns) 5. Identificação Dirigida a Responsabilidades 1 2 11/05/2022 2 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 3 Categorias de Conceitos Estratégia: usar uma lista de conceitos comuns. ◦ Conceitos concretos . Por exemplo, edifícios, carros, salas de aula, etc. ◦ Papéis desempenhados por seres humanos. Por exemplo, professores, alunos, empregados, clientes, etc. ◦ Eventos, ou seja, ocorrências em uma data e em uma hora particulares. Por exemplo, reuniões, pedidos, aterrisagens, aulas, etc. ◦ Lugares: áreas reservadas para pessoas ou coisas. Por exemplo: escritórios, filiais, locais de pouso, salas de aula, etc. ◦ Organizações: coleções de pessoas ou de recursos. Por exemplo: departamentos, projetos, campanhas, turmas, etc. ◦ Conceitos abstratos : princípios ou idéias não tangíveis. Por exemplo: reservas, vendas, inscrições, etc. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 4 Análise Textual de Abbott Estratégia: identificar termos da narrativa de casos de uso e documento de requisitos que podem sugerir classes, atributos, operações. Neste técnica, são utilizadas diversas fontes de informação sobre o sistema: documento e requisitos, modelos do negócio, glossários, conhecimento sobre o domínio, etc. Para cada um desses documentos, os nomes (substantivos e adjetivos) que aparecem no mesmo são destacados. (São também consideradas locuções equivalentes a substantivos.) Após isso, os sinônimos são removidos (permanecem os nomes mais significativos para o domínio do negócio em questão). 3 4 11/05/2022 3 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 5 Análise Textual de Abbott (cont.) Cada termo remanescente se encaixa em uma das situações a seguir: ◦ O termo se torna uma classe (ou seja, são classes candidatas); ◦ O termo se torna um atributo; ◦ O termo não tem relevância alguma com ao SSOO. Abbott também preconiza o uso de sua técnica na identificação de operações e de associações. ◦ Para isso, ele sugere que destaquemos os verbos no texto. ◦ Verbos de ação (e.g., calcular, confirmar, cancelar, comprar, fechar, estimar, depositar, sacar, etc.) são operações em potencial. ◦ Verbos com sentido de “ter” são potenciais agregações ou composições. ◦ Verbos com sentido de “ser” são generalizações em potencial. ◦ Demais verbos são associações em potencial. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 6 Análise Textual de Abbott (cont.) A ATA é de aplicação bastante simples. No entanto, uma desvantagem é que seu resultado (as classes candidatas identificadas) depende de os documentos utilizados como fonte serem completos. ◦ Dependendo do estilo que foi utilizado para escrever esse documento, essa técnica pode levar à identificação de diversas classes candidatas que não gerarão classes. ◦ A análise do texto de um documento pode não deixar explícita uma classe importante para o sistema. ◦ Em linguagem natural, as variações lingüísticas e as formas de expressar uma mesma idéia são bastante numerosas. 5 6 11/05/2022 4 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 7 Análise de Casos de Uso Essa técnica é também chamada de identificação dirigida por casos de uso, e é um caso particular da ATA. Técnica preconizada pelo Processo Unificado. Nesta técnica, o MCU é utilizado como ponto de partida. ◦ Premissa: um caso de uso corresponde a um comportamento específico do SSOO. Esse comportamento somente pode ser produzido por objetos que compõem o sistema. ◦ Em outras palavras, a realização de um caso de uso é responsabilidade de um conjunto de objetos que devem colaborar para produzir o resultado daquele caso de uso. ◦ Com base nisso, o modelador aplica a técnica de análise dos casos de uso para identificar as classes necessárias à produção do comportamento que está documentado na descrição do caso de uso. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 8 Análise de Casos de Uso Procedimento de aplicação: ◦ O modelador estuda a descrição textual de cada caso de uso para identificar classes candidatas. ◦ Para cada caso de uso, o texto (fluxos principal, alternativos e de exceção, pós-condições e pré-condições, etc.) é analisado. ◦ Na análise de certo caso de uso, o modelador tenta identificar classes que possam fornecer o comportamento do mesmo. ◦ Na medida em que os casos de uso são analisados um a um, as classes do SSOO são identificadas. ◦ Quando todos os casos de uso tiverem sido analisados, todas as classes (ou pelo menos a grande maioria delas) terão sido identificadas. Na aplicação deste procedimento, podemos utilizar as categorização BCE ... 7 8 11/05/2022 5 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 9 Categorização BCE Na categorização BCE, os objetos de um SSOO são agrupados de acordo com o tipo de responsabilidade a eles atribuída. ◦ objetos de entidade: usualmente objetos do domínio do problema ◦ objetos de fronteira: atores interagem com esses objetos ◦ objetos de controle: servem como intermediários entre objetos de fronteira e de entidade, definindo o comportamento de um caso de uso específico. Categorização proposta por Ivar Jacobson em1992. ◦ Possui correspondência (mas não equivalência!) com o framework model-view-controller (MVC) ◦ Ligação entre análise (o que; problema) e projeto (como; solução) Estereótipos na UML: «boundary», «entity», «control» Os estereótipos são um dos três mecanismos de extensibilidade da UML. Eles dão mais poder à UML, permitindo classificar elementos "com algo em comum". Por exemplo, ao modelar uma rede pode ser necessário ter símbolos para representar roteadores e hubs. Ao fazer isso você estará estereotipando um elemento, visto que todos os hubs terão o mesmo simbolo. PRINCÍPIOS DE ANÁLISE E PROJETO DE SISTEMAS COM UML - 2ª EDIÇÃO 10 Objetos de Entidade Repositório para informações e as regras de negócio manipuladas pelo sistema. ◦ Representam conceitos do domínio do negócio. Características ◦ Normalmente armazenam informações persistentes. ◦ Várias instâncias da mesma entidade existindo no sistema. ◦ Participam de vários casos de uso e têm ciclo de vida longo. Exemplo: ◦ Um objeto Pedido participa dos casos de uso Realizar Pedido e Atualizar Estoque. Este objeto pode existir por diversos anos ou mesmo tanto quanto o próprio sistema. 9 10 11/05/2022 6 PRINCÍPIOS DE ANÁLISE E PROJETO DE SISTEMAS COM UML - 2ª EDIÇÃO 11 Objetos de Fronteira Realizam a comunicação do sistema com os atores. ◦ traduzem os eventos gerados por um ator em eventos relevantes ao sistema → eventos de sistema. ◦ também são responsáveis por apresentar os resultados de uma interação dos objetos em algo inteligível pelo ator. Existem para que o sistema se comunique com o mundo exterior. ◦ Por conseqüência, são altamente dependentes do ambiente. Há dois tipos principais de objetos de fronteira: ◦ Os que se comunicam com o usuário (atores humanos): relatórios, páginas HTML, interfaces gráfica desktop, etc. ◦ Os que se comunicam com atores não-humanos (outros sistemas ou dispositivos): protocolos de comunicação. PRINCÍPIOS DE ANÁLISE E PROJETO DE SISTEMAS COM UML - 2ª EDIÇÃO 12 Objetos de Controle São a “ponte de comunicação” entre objetos de fronteira e objetos de entidade. Responsáveis por controlar a lógica de execução correspondente a um caso de uso. Decidem o que o sistema deve fazer quando um evento de sistema ocorre. ◦ Eles realizam o controle do processamento ◦ Agem como gerentes (coordenadores, controladores) dos outros objetos para a realização de um caso de uso. Traduzem eventos de sistema em operações que devem ser realizadas pelos demais objetos. 11 12 11/05/2022 7 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 13 Importância da Categorização BCE A categorização BCE parte do princípio de que cada objeto em um SSOO é especialista em realizar um de três tipos de tarefa, a saber: ◦ se comunicar com atores (fronteira), ◦ manter as informações (entidade) ou ◦ coordenar a realização de um caso de uso (controle). A categorização BCE é uma “receita de bolo” para identificar objetos participantes da realização de um caso de uso. A importância dessa categorização está relacionada à capacidade de adaptação a eventuais mudanças. ◦ Se cada objeto tem atribuições específicas dentro do sistema, mudanças podem ser menos complexas e mais localizadas. ◦ Uma modificação em uma parte do sistema tem menos possibilidades de resultar em mudanças em outras partes. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 14 Visões de Classes Participantes Uma Visão de Classes Participantes (VCP) é um diagrama das classes cujos objetos participam da realização de determinado caso de uso. ◦ É uma recomendação do UP (Unified Process). UP: “definir uma VCP por caso de uso” ◦ Termo original: View Of Participating Classes (VOPC). Em uma VCP, são representados objetos de fronteira, de entidade e de controle para um caso de uso particular. Uma VCP é definida através da utilização da categorização BCE previamente descrita...vide próximo slide. 13 14 11/05/2022 8 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 15 Estrutura de uma VCP «entidade» «entidade» «entidade» «controle» «fronteira» Uma VCP representa a estrutura das classes que participam da realização de um caso de uso em particular. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 16 Construção de uma VCP Para cada caso de uso: ◦ Adicione uma fronteira para cada elemento de interface gráfica principal, tais com uma tela (formulário) ou relatório. ◦ Adicione uma fronteira para cada ator não-humano (por exemplo, outro sistema). ◦ Adicione um ou mais controladores para gerenciar o processo de realização do caso de uso. ◦ Adicione uma entidade para cada conceito do negócio. ◦ Esses objetos são originários do modelo conceitual. Os estereótipos gráficos definidos pela UML podem ser utilizados. 15 16 11/05/2022 9 Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 17 VCP (exemplo) – Realizar Inscrição Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 18 Regras Estruturais em uma VCP Durante a fase de análise, use as regras a seguir para definir a VCP para um caso de uso. ◦ Atores somente podem interagir com objetos de fronteira. ◦ Objetos de fronteira somente podem interagir com controladores e atores. ◦ Objetos de entidade somente podem interagir (receber requisições) com controladores. ◦ Controladores somente podem interagir com objetos de fronteira e objetos de entidade, e com (eventuais) outros controladores. 17 18