Baixe o app para aproveitar ainda mais
Prévia do material em texto
Engenharia de Software2 Modulo 2 – aula 3 RUP (Rational Unified Process) Prof. André de Paula – Pós-graduando em Web e sistemas de informação e Docência do ensino superior andrepns@gmail.com Fluxo de Trabalho Simplificado Toda disciplina do RUP deve ser analisada, personalizada e customizada de acordo com as necessidades particulares do projeto antes de sua implantação. “Em um projeto com uma dimensão menor, não faz sentindo utilizar o framework do RUP puramente, pois este é genérico e complexo demais.” Vamos visualizar um exemplo prático de um projeto com fluxo de trabalho simplificado. Digamos que iremos seguir as seguintes etapas: 1. Analisar Arquitetura 2. Analisar Caso de Uso 3. Projetar Classes 4. Projetar Banco de Dados RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 2 1. Analisar Arquitetura • Realizar uma analise da arquitetura envolve: • Arquitetura Inicial: Definir as principais partes do sistema, seus relacionamentos e quais padrões arquiteturais utilizar (ex.: MVC, em camadas, centralizado...) • Segue um exemplo de arquitetura inicial RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 3 1. Analisar Arquitetura Convenções de modelagem • Desenvolver as convenções de modelagem, ou seja • Que diagramas e elementos de modelagem utilizar, • nomenclatura de casos de uso, componentes e classes • Vamos analisar alguns exemplos de convenções de modelagem: • Casos de uso devem ser nomeados como ações, ou seja com verbo (Cadastrar Cliente, Efetuar Transferência, Gerar Relatório de Efetividade, Solicitar Pedido de Compra); • Cada realização de caso de uso deve conter um diagrama de classes e no mínimo um diagrama de sequência representando o fluxo principal de ações. RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 4 1. Analisar Arquitetura Mecanismos de análise • Identificar os mecanismos de análise focando nos requisitos não- funcionais do sistema e decisões estratégica sobre padrões, políticas e práticas a serem utilizadas no projeto. • Vamos analisar alguns exemplos: • Persistência; • Comunicação; • Gerenciamento de transações; • Segurança. Abstrações-chave • Identificar Abstrações-chave definindo classes de análise preliminares, obtendo conhecimento do domínio, dos requisitos e outros artefatos (Glossário e modelo de negócio) RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 5 2. Analisar Caso de Uso/ 3. Projetar Classes Objetivos: • Identificar as classes que executam o fluxo de eventos do caso de uso; • Distribuir o comportamento do caso de uso nestas classes; • Identificar os seguintes elementos: • Atributos; • Responsabilidades • Associações das classes; RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 6 2. Analisar Caso de Uso / 3. Projetar Classes Passos para Analisar um caso de uso: • Encontrar classes de análise; • Distribuir comportamento entre as classes . Vamos conhecer os passos para Analisar cada classe: • Descrever responsabilidades; • Descrever atributos e associações; • Qualificar mecanismos de análise. RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 7 2. Analisar Caso de Uso / 3. Projetar Classes Passos para Analisar um caso de uso: • Encontrar classes de análise; • Distribuir comportamento entre as classes . Vamos conhecer os passos para Analisar cada classe: • Descrever responsabilidades; • Descrever atributos e associações; • Qualificar mecanismos de análise. RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 8 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 1: Encontrar classes de análise • O comportamento do caso de uso é distribuído em classes de análise. • Classes de análise representam o conceito mais abstrato dos elementos do sistema e é o primeiro passo concreto até chegar em um sistema executável. • Essas são convertidas para classes de projeto e servem para diminuir o gap entre os requisitos e projeto. Podem ser dos seguintes tipos: • Fronteira (<<limite>>) • Controle (<<controle>>) • Entidade (<<entidade>>) RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 9 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 1: Encontrar classes de análise • Classes de Fronteira (<<limite>>) • Intermediam a interface para qualquer coisa externa ao sistema, o papel de uma Classe de Fronteira é modular interfaces entre o sistema e seu ambiente • Exemplos de classes fronteira: RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 10 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 1: Encontrar classes de análise • Classes de Fronteira (<<limite>>) Exemplo de classe de fronteira: RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 11 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 1: Encontrar classes de análise • Classes de Entidade (<<entidade>>) Uma Classe de Entidade tem como objetivo armazenar e gerenciar informações no sistema: RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 12 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 1: Encontrar classes de análise • Classes de Entidade (<<entidade>>): Exemplo de classes de entidade: RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 13 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 1: Encontrar classes de análise • Classes de Controle (<<controle>>): A classe de Controle gerencia o comportamento do caso de uso. É onde fica centrada a lógica do sistema. É a interface entre um classe de fronteira(limite) e uma classe de entidade. Seu papel é coordenar o comportamento do caso de uso. Exemplo de Classe de Controle: RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 14 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 2: Disseminar comportamento • Esta etapa define que para cada fluxo de eventos o analista deve: • Identificar classes de análise participantes; • Alocar responsabilidades do caso de uso às classes de análise: A metodologia sugere que se usem estereótipos de análise como guia. A exemplo as classe de fronteira, entidade e controle a cima estudadas. Pode envolver apenas uma classe, mas pode ser preciso criar novas classes ou relacionamentos entre classes. • Classes de fronteira: Classe que tem como principal papel relacionar acomunicação com um ator; • Classes de entidade: Classe que tem como principal papel passar informação encapsulada na abstração; • Classes de controle: Comportamento específico ao (lógica de controle do) caso de uso. • Modelar interações entre as classes através dos diagramas de interação: • Diagramas de interação, como já visto no item UML, modelam interações do sistema com seus atores, a interação é iniciada por um ator e envolve instâncias (objetos) das classes, capturam a semântica do fluxo de eventos do caso de uso, auxiliam a identificar classes, responsabilidades e relacionamentos, pode ser utilizado como um mecanismo de validação da arquitetura e pode ser desenvolvido sobre duas visões: Diagrama de Colaboração e Diagrama de Sequência. RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 15 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 2: Disseminar comportamento RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 16 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 3: Prover Responsabilidades Primeiramente, deve-se atualizar os diagramas de classes com as responsabilidades identificadas no diagrama de iteração. As mensagens nestes diagramas resultam em responsabilidades, ou seja, métodos nas classes receptoras. As classes com responsabilidades semelhantes provavelmente serão combinadas, já uma classe com responsabilidades independentes possivelmente será dividida em mais de uma classe. Classes sem responsabilidade ou classes que interagem com muitas classes tendem a serem extintas. Vamos analisar o exemplo a seguir: RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 17 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 3: Prover Responsabilidades RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 18 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 4: Definir Atributos e Associações Primeiramente vamos esclarecer o que são atributos. Atributos são as variáveis de uma classe, esses são endereços de memória que tem um tamanho pré-definido de acordo com um tipo de dado (alfanumérico, numérico...) esses dados é que caracterizam as classes e podem ser lidos ou escritos por operações, mas sem outro comportamento a não ser fornecer um valor. Para identificar os atributos de uma classe além de identificá-los através do conhecimento do negócio, a metodologia passa a dica de analisar alguns artefatos como: • Documento de requisitos; • Glossário; • Modelo do negócio. RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 19 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 4: Definir Atributos e Associações Ao analisar as variáveis (atributos) e verificar que a informação tem comportamento complexo ou é compartilhada, deve reavaliar e verificar se é o caso de gerar uma nova classe. Localizar os relacionamentos entre as classes é uma tarefa mais fácil do que identificar os atributos, pois normalmente acabam sendo implícitos dentro do negócio, para tento deve-se analisar o grau de dependência e relacionamentos. Todo relacionamento possui: • Um tipo ( Dependências, Associações e Generalização) e um nome, • Navegabilidade, • Multiplicidade, • Papéis. RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 20 2. Analisar Caso de Uso / 3. Projetar Classes Etapa 4: Definir Atributos e Associações Vamos analisar um modelo de exemplo: RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 21 (ExecutarResponsabilidade) (Fornecedor) (Fornecedores de primeira linha) 4. Modelar Banco de Dados Nesta etapa deve-se mapear as classes pelas quais os dados serão armazenados (persistentes) baseado no conceito de banco de dados. Além disso, definir os tipos de dados mais adequados para o banco de dados e realizar as normalizações. RUP - Rational Unified Process P ro f. A n d ré d e Pau la – En gen h aria d e So ftw are 2 - an d rep n s@ gm ail.co m 22
Compartilhar