Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* Introdução a Unified Modeling Language Josyane Lannes Florenzano de Souza Mestre em Ciência da Computação – PUCRS josyane@terra.com.br * Agenda Histórico Contribuições para UML O que é UML? Visão Geral da UML Benefícios O que é modelagem visual? Notações x Metamodelos Processo * Histórico Sucessora da onda de métodos de análise e projeto orientado a objetos (OOA&D) Unifica os métodos de Booch, Rumbaugh (OMT) e Jacobson * Contribuições para a UML * O que é UML? Linguagem de modelagem; Não é um método; Linguagem de Modelagem notação (gráfica) utilizada por métodos para expressar projetos Processo sugestão de quais passos a serem seguidos na elaboração de um projeto Ex: RUP * Visão Geral da UML A UML é uma linguagem destinada a: visualizar especificar construir documentar os artefatos de um sistema complexo de software. Artefatos: diagramas e documentos. * OMG (Object Management Group) Adotou a UML em novembro de 1997 como padrão RTF (Revision Task Force) Pertencente a OMG Ficou responsável pelas revisões da UML * Benefícios da UML Definir um mapeamento de análise/abstração para implementação; Definir uma expressiva e consistente notação; Ajuda a apontar omissões e inconsistências; Suporta pequenas e grandes análises. * O que é modelagem visual? * Notações x Metamodelos Notações “coisa” gráfica que vc vê nos modelos; ela é a sintaxe da linguagem de modelagem; Ex: notação de diagrama de classe define como itens e conceitos são representados: classe, associação e multiplicidade * 0..1 associação classe multiplicidade * Notações x Metamodelos Metamodelos Diagrama, geralmente um diagrama de classes, que define a notação. Obs: se quiserem mais detalhes: ler manual de referência, ou documentação oficial da UML, ou www.omg.org * Processo Desenvolvido por Jacobson, Booch e Rumbaugh, 1999; pode-se usar qualquer processo com UML!!! * Processo Visão Geral do Processo Concepção Elaboração Construção Transição Um bate-papo na hora do café... * Processo Visão Geral do Processo Elabora o plano de negócio do projeto – quanto custará e quanto terá de retorno * Processo Visão Geral do Processo Uma “vaga” idéia dos requisitos Riscos de requisitos – descobrir todos os casos de uso e esboçar esqueleto do modelo conceitual do domínio (classe, atividade, interação) Riscos tecnológicos – diagrama de classe, pacote, utilização Riscos de habilidades ou de especialização - consultoria Riscos políticos * Processo Visão Geral do Processo Uma “vaga” idéia dos requisitos Esta fase termina quando: os desenvolvedores se sentirem à vontade para estipular quanto tempo levará para construir cada caso de uso; todos os riscos significativos forem identificados. * Processo Visão Geral do Processo Consiste de várias iterações. Cada iteração é um miniprojeto: faz análise projeto codificação teste integração para casos de uso designados para cada iteração * Processo Visão Geral do Processo Um bom exemplo da fase de transição é o período entre a versão beta e a versão final do produto * Visões e Diagramas 1.4 - Estrutural * Visões e Diagramas - Dinâmico * Diagramas UML 2.0 (13 diagramas oficiais) Atividades Classes Comunicação Componentes Estruturas compostas Distribuição Visão Geral da Interação Objetos Pacotes Sequência Máquina de estado Sincronismo Caso de Uso * Componentes da UML Elementos de modelagem Relacionamentos Mecanismos de extensão Diagramas * Elementos de Modelagem Elementos Estruturais Classe, interface, colaboração, use case e componente (agregado de classe) Elementos de Comportamento Interação, máquina de estados Elementos de Agrupamento Pacotes, subsistema Outros Elementos Notas * Elementos de Modelagem Classe * Elementos de Modelagem Dependência Associação Generalização Realização * Mecanismos de Extensão Stereotype Tagged value Constraint (OCL) * Mecanismos de Extensão Constraints Targed Value Stereotypes Pessoa Empresa {Pessoa.empregador= Pessoa.chefe.empregador} TransaçãoKioski Servidor Form=standalone1, Biblioteca=Xc1, Índice=ambos <<database>> Reserva Targed value para geração de código * Casos de Uso Conjunto de cenários amarrados por um objetivo comum de um usuário. Seqüência de passos que descreve uma interação entre um usuário e um sistema * Exemplo de Cenário de Compra de um Produto Loja on line baseada na web: O cliente navega no catálogo de itens e adiciona itens desejados à sua cesta de compras. Quando o cliente deseja pagar, descreve o endereço de entrega, fornece as informações do cartão de crédito e confirma a venda. O sistema verifica a autorização do cartão de crédito e confirma a venda imediatamente e envia um e-mail logo a seguir. * Descrição – exemplo de texto de caso de uso O cliente navega no catálogo e seleciona itens a serem comprados O cliente vai para o check out O cliente preenche o formulário de remessa (endereço de entrega; opção de entrega imediata ou em três dias) O sistema apresenta a informação total do faturamento incluindo a remessa, os preços e os impostos O cliente preenche a informação de cartão de crédito O sistema autoriza a compra O sistema confirma imediatamente a venda O sistema manda uma confirmação para o cliente por e-mail Alternativa: Falha na Autorização No item 6, o sistema falha na autorização da compra por crédito Permite ao cliente resubmeter a informação do cartão de crédito e tentar novamente * Diagrama de Casos de Uso Descreve o que o sistema fará; Serve de contrato entre o usuário, cliente e desenvolvedores; Valida o que o sistema fará; É composto de atores e casos de uso; Cada caso de uso no modelo deve ser descrito em detalhes; Descreve passo-a-passo como o sistema interage com os atores. * Exemplos 1 – Diagrama de Casos de Uso * Exemplos 2 – Diagrama de Casos de Uso * Exemplo 3 – Diagrama de Casos de Uso * Ator Papel que um usuário desempenha em relação ao sistema; Ator desempenha os casos de uso; Um único ator pode desempenhar muitos casos de uso; Um caso de uso pode ter reciprocamente vários atores desempenhando-o; Os atores podem ser humano, sistema externo. * Associação entre casos de uso Associação de inclusão Ocorre quando há uma parte do comportamento que é semelhante em mais de um caso de uso e você não quer ficar copiando descrição deste comportamento Generalização de caso de uso Utiliza quando tem um que é semelhante a outro, mas faz um pouco mais. * Associação entre casos de uso Extensão Semelhante a generalização mas possui mais regras; O caso de uso estendido pode acrescentar comportamento para o caso de uso-base, mas este tipo de caso deve declarar certos “pontos de extensão”, e o caso de uso da extensão pode acrescentar comportamento adicional naqueles pontos de extensão. * Exemplo 4 – Associação de Extensão Compra Por Cliente Regular Comprar um Produto Pontos de extensão info. de pagamento info. de entrega <<extend>> (info. de pagamento, info de entrega) * Regras Use inclusão quando você estiver se repetindo em dois ou mais casos de uso separados e você deseja evitar a repetição. Use generalização quando você estiver descrevendo uma variação em comportamento normal e você deseja descrevê-la sem muito rigor. Use extensão quando você estiver descrevendo uma variação em comportamento normal e deseja utilizar a forma mais controlada, explicando os pontos de extensão no caso de uso. * Quando utilizar casos de uso Não consigo imaginar, no momento, uma situação na qual não utilizaria casos de uso. Ferramenta essencial na captura de requisitos e no planejamento e controle de um projeto iterativo. Captura de casos de uso é uma das tarefas básicas na fase de elaboração. Importante: Casos de Uso representam uma visão externa do sistema. Como tal, não espere nenhuma correlação entre eles e classes dentro do sistema. * Referência Bibliográfica FOWLER, M; SCOTT, K. UML essencial: um breve guia para a linguagem-padrão de modelagem de objetos. 2. ed. Porto Alegre : Bookman, 2000. 169 p. Bibliografia complementar RIZZONI, Ariadne M. B.; CHIOSSI , Thelma C. dos Santos. Introdução à Engenharia de Software. São Paulo, Unicamp. 2001.
Compartilhar