Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.com MSN: lbpaula@hotmail.com
Histórico – Técnicas de modelagem OO Ano Autor (Técnica) 1990 Shaler & Mellor 1991 Coad & Yourdon (OOAD – Object-oriented Analysis and Design) 1993 Grady Booch (Booch Method) Ivar Jacobson (OOSE – Object Oriented Software Engineering) 1995 James Rumbaugh et al (OMT – Object Modeling Technique) 1996 Wirfs-Brock (Responsability Driven Design) Surge a UML como a melhor candidata de notações, diagramas e formas de representação
UML – Linguagem de Modelagem Unificada Principais autores do processo: Grady Booch, James Rumbaugh, Ivar Jacobson Chamados os 3 amigos Aproveitar o melhor das caracterísiticas das notações preexistentes Notação da UML é uma união das diversas notações prexistentes com alguns elementos removidos e outros adicionados com o objetivo de torna-la mais expressiva.
UML – Linguagem de Modelagem Unificada 1997 – A UML foi aprovada pela OMG (Object Management Group) A definição passa por constantes melhorias e conta com diversos colaboradores comerciais(Digital, HP, IBM, Oracle, Microsof, Unysis, etc) 2003 – Foi lançada a UML 2.0 Especificação atual adotada pela OMG
UML – Linguagem de Modelagem Unificada é uma linguagem visual para modelar sistemas Orientados a Objetos Define elementos gráficos que podem ser utilizados na modelagem de sistemas Através dos elementos definidos na linguagem podem-se construir diagramas para representar diferentes perspectivas de um sistema Cada elemento gráfico possui uma Sintaxe: forma predeterminada de denehar o elemento Semântica: O que significa o elemento e com que objetivo deve ser usado A sintaxe e a semântica são extensíveis
UML – Linguagem de Modelagem Unificada Diagramas: Os documentos gerados em um processo de desenvoleimento são chamados de artefatos na UML Os artefatos compõe as visões do sistema A UML define 13 diagramas Esta quantidade de diagramas é justificada pela necessidade de analisar o sistema por meio de diferentes perspectivas Cada diagrama fornece uma perspectiva parcial do sistema.
Diagramas da UML Diagramas estruturais Diagramas comportamentais de objetos Diagramas de Implementação Diagramas de Interação Diagramas de Atividades Diagramas de classes Diagramas de Casos de Uso Diagramas de Seqüência Diagramas de Componentes Diagramas de pacotes Diagramas de Colaboração Diagramas de Transições de estados Diagramas de Implantação Diagramas de estrutura composta Diagramas de Visão geral Da Interação Diagramas de Temporização UML 2.0 UML 2.0 UML 2.0
1º Modelo: Diagrama de Casos de Uso
Introdução Modelos de Casos de Uso É uma representação das funcionalidades eternamente observáveis do sistema e dos elementos externos ao sistema que interagem com eles É um modelo de análise que representa um refinamento dos requisitos funcionais. Idealizado por Ivar Jacobson em 1970 e inserida na UML na década de 90. É o modelo mais popular para a documentação de requisitos funcionais O MCU representa os possíveis usos de um sistema. Componentes: Casos de Usos, Atores e Relacionamentos
Notação da UML
Atores Os atores representam os papéis desempenhados pelos diversos usuários Cliente, Caixa do Banco, Gerente, etc. Casos de Uso descrevem interações entre o sistema e estes atores Atores podem ser Pessoas que interagem com o sistema Um hardware especial que dispara uma interação Outro software que comunica com o sistema
Casos de Uso Definem os serviços, tarefas ou funções do sistema Os nomes indicam ação (verbos) Cadastrar venda - loja Sacar - banco Consultar um filme - locadora
Relacionamentos Representam as interações ou associações entre Atores e Casos de Uso Dois ou mais Casos de Uso Dois ou mais Atores Principais tipos de relacionamentos Inclusão Extensão Generalização
Especialização / Generalização Acontece quando dois ou mais casos de uso possuem características semelhantes Reuso O Caso de Uso geral que descreve as características compartilhadas As especializações definem características específicas
Inclusão (Include) Utilizado quando um caso de uso é usado dentro de outro caso de uso Os relacionamentos de inclusão indicam obrigatoriedade A execução do primeiro obriga a execução do segundo
Extensão de Caso de Uso Geralmente usado em funcionalidades opcionais de um caso de uso Exemplo: cenários que somente acontecerão em uma situação específica Se uma determinada situação for satisfeita Extensão pode necessitar um teste para determinar se o caso de uso será estendido
2º Modelo: Diagrama de Seqüência
Diagrama de Seqüência Preocupa-se com a ordem temporal em que as mensagens são trocadas Baseia-se em um Caso de Uso Identifica O evento gerador da funcionalidade modelada O ator responsável por este evento
Diagrama de Seqüência
3º Modelo: Diagrama de Atividade
Diagrama de Atividades Descreve as atividades a serem executadas para a conclusão de um processo Concentra-se na representação do fluxo de controle de um processo
Diagrama de Atividades Tipicamente utilizados para a modelagem dos aspectos dinâmicos de um sistema Associado a um Caso de Uso descrev as atividades realizadas pelo Ator e pelo Sistema, tendo como referencial o ponto de vista dos atores que colaboram com o sistema
Desvios e Intercalações O comportamento condicional é delineado por Desvios: Transição de entrada única e várias transições de saídas guardadas. Intercalações: Tem várias transições de entrada e uma única transição de saída.
Separação e Junção Separação: Junção: Tem uma transição de entrada e várias transições de saída. Quando uma separação é acionadas todas as suas saídas são executadas em paralelo. Junção: A transição seguinte é efetuada somente quando todos os estados nas transições de entrada tenham completado suas atividades.
Diagrama de Atividades