Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email:...

25
Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: [email protected] MSN: [email protected]

Transcript of Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email:...

Page 1: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

Revisão 2º BimestreEngenharia de Software I

Leonardo Brussolo de Paula

Email: [email protected]

MSN: [email protected]

Page 2: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@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)

1993 Ivar Jacobson (OOSE – Object Oriented Software Engineering)

1995 James Rumbaugh et al (OMT – Object Modeling Technique)

1996 Wirfs-Brock (Responsability Driven Design)

1996 Surge a UML como a melhor candidata de notações, diagramas e formas de representação

Page 3: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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.

Page 4: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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

Page 5: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

UML – Linguagem de Modelagem Unificada

• UML – é 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

Page 6: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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.

Page 7: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

Diagramas da UML

Diagramas comportamentais

Diagramas estruturais

Diagramas de objetos

Diagramas de classes

Diagramas de pacotes

Diagramas de estrutura

composta

Diagramas deImplementação

Diagramas de Componentes

Diagramas de Implantação

Diagramas de Atividades

Diagramas de Casos de Uso

Diagramas de Transições de estados

Diagramas de Interação

Diagramas de Seqüência

Diagramas de Temporização

Diagramas de Visão geral

Da Interação

Diagramas de Colaboração

UML 2.0

UML 2.0UML 2.0

Page 8: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

1º Modelo:

Diagrama de Casos de Uso

Page 9: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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

Page 10: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

Notação da UML

Page 11: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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

Page 12: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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

Page 13: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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

Page 14: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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

Page 15: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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

Page 16: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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

Page 17: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

2º Modelo:

Diagrama de Seqüência

Page 18: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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

Page 19: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

Diagrama de Seqüência

Page 20: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

3º Modelo:

Diagrama de Atividade

Page 21: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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

Page 22: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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

Page 23: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

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.

Page 24: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

Separação e Junção

• Separaçã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.

Page 25: Revisão 2º Bimestre Engenharia de Software I Leonardo Brussolo de Paula Email: leonardo.brussolo@gmail.comleonardo.brussolo@gmail.com MSN: lbpaula@hotmail.comlbpaula@hotmail.com.

Diagrama de Atividades