134
[email protected] Prof. Sergio Akio Tanaka [email protected] Pensamento: Se você esta achando que está no nada... Lembre-se... Que é do nada que se inicia tudo

Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

Embed Size (px)

Citation preview

Page 1: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Prof. Sergio Akio Tanaka [email protected]

Pensamento: “Se você esta achando que está no nada... Lembre-se... Que é do nada que se inicia tudo”

Page 2: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Mensagem

Page 3: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Análise e Design Orientado a Objetos com Modelagem WEB utilizando UML

(Unified Modeling Language)

Carga Horária: 60 horas Professor Sergio Akio Tanaka e-mail [email protected]

Parte Ia

Introdução a Orientação a Objetos

Page 4: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Apresentação

•  Qual o seu nome? •  Formação acadêmica? •  Nome da sua empresa e cargo que desempenha? •  Qual a sua expectativa com a Disciplina do UML? e a pós como

um todo? •  Tem interesse em estar fazendo a certificação oficial de UML? e/

ou outras disciplinas? Experiência prática e acadêmica com UML? OO? Rose? RSM? Outras Ferramentas CASE’s?

Page 5: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Cronograma

•  05 e 06/04/13 – APOO – Sergio Tanaka •  19 e 20/04/13 – APOO – Sergio Tanaka •  26 e 27/04/13 – APOO – Sergio Tanaka •  24 e 25/05/13 - APOO – Sergio Tanaka

Page 6: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Avaliação •  24/05 => Apresentação dos Trabalhos pelas Equipes 1,

2, 3, 4 e 5 respectivamente. •  O que será apresentado?

–  Site do Projeto (IRUP) •  Caso de Desenvolvimento •  Modelagem de Negócios (Modelo de UC Negócios e Diagrama de

Objetos de Negócios) •  Gerência de Requisitos (Diagrama de Casos de Usos, Protótipo do

Projeto(Interfaces Gráficas), Visão, STR, Especificação dos Casos de Usos, Especificação Suplementar, Glossário e Plano de Gerenciamento de Requisitos)

–  Arquitetura do Projeto e Artefato de OOAD (Documento de Arquitetura de Software) - Facultativo

–  Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação, Componentes e Classe) e Modelagem UML para a WEB

Page 7: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Forma de Avaliação das Disciplinas:

•  Presença em sala de aula •  Presença durante a apresentação das outras equipes •  Participação nas apresentações •  Apresentação individual •  Apresentação do grupo •  Organização e estruturação do trabalho •  Trabalho completo conforme acordado em sala de aula

(artefatos)

Page 8: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

EMENTA

•  Introduzir conceitos de metodologias para o desenvolvimento de software orientado a objetos, utilizando a UML como linguagem de modelagem do sistema. Estudo de uma metodologia de Análise de Sistemas. Ferramentas de auxílio ao desenvolvimento de Sistemas. Abordar as técnicas para a modelagem de aplicações Web com UML, desde a definição da Arquitetura ao seu Projeto.

Page 9: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Conteúdo Programático •  Introdução da Disciplina de OOAD no RUP •  Rastreabilidade da Gerência de Requisitos e Modelagem de

Negócios para a disciplina de OOAD •  Introdução a Análise de Sistemas

–  Paradigmas da Análise –  Metodologias de OOAD (Object Oriented Analysis Design)

•  Análise e Projeto Orientado a Objetos –  Introdução à Orientação a Objetos –  Operações e Atributos –  Tipo de Objeto e Classes –  Agregação e Composição –  Estado e Eventos –  Generalização e Especialização (herança) –  Encapsulamento, Polimorfismo, Comunicação e Estereótipos

Page 10: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Conteúdo Programático •  Modelagem Utilizando a UML

–  O uso de Pacotes na UML –  Diagramas de Casos de Usos –  Diagramas de Classes –  Diagramas de Seqüência –  Diagramas de Colaboração –  Diagramas de Estados –  Diagramas de Atividades –  Diagramas de Componentes –  Diagramas de Implantação –  Diagramas de Visão Geral –  Diagramas de Estrutura Composta –  Diagramas de Tempo –  Diagramas de Pacotes –  Diagrama de Perfil

•  O uso de uma ferramenta CASE •  Arquitetura 4 + 1

–  Aplicações Básicas –  Clientes Dinâmicos

•  Construções de Aplicações Web •  Arquiteturas

–  Thin Web Client –  Thick Web Client –  Web Delivery

•  Extensões de Aplicações Web para a UML

Page 11: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Referências 1/2

•  OMG. OBJECT MANAGEMENT GROUP. UML 2.0. Disponível em:www.omg.org. 2013.

•  Martin. UML Essencial. 3ª Edição. Porto Alegre: Bookman, 2007. •  LARMAN, Craig. Utilizando UML e Padrões. 3° Edição. Porto Alegre: Bookman,

2007. •  PENDER, Tom. UML 2.0 - A Bíblia. Rio de Janeiro: Editora Campus, 2004. •  BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML – Guia do Usuário. 2

ed. Rio de Janeiro: Editora Campus, 2006. •  CONALLEN, Jim. Desenvolvendo Aplicações Web com UML. Tradução da Segunda

Edição. Rio de Janeiro: Editora Campus, 2003. •  Pressman, Roger S.; Engenharia de Software; Bookman, Porto Alegre, 7 Edição. 2011.

Page 12: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Referências 2/2

• LEFFINGWELL, Dean; WIDRIG, Don. Managing Software Requirements: A Use Case Approach. Boston, MA: Addison-Wesley, 2003. • ERIKSON, Hans-Erik; PENKER, Magnus. Business Modeling with UML: business patterns at work. ISBN: 0-471-29551-5. New York:Wiley, 2000. •  IBM. RUP – Rational Unified Process (Software) Versão 7.0. USA: IBM Rational, 2006.

Page 13: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Estudos de Casos das Equipes

•  EQUIPE 1: •  EQUIPE 2: •  EQUIPE 3: •  EQUIPE 4:

Page 14: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Estudo de Caso padrão - Interface Gráfica – Inserir CD´s

Page 15: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Interface Gráfica – Alterar CD´s

Page 16: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Introdução a Orientação a Objetos

Page 17: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

}  Objeto }  Abstração }  Classe }  Instância }  Atributo }  Identificador

}  Transição de Estado }  Associação }  Herança }  Encapsulamento }  Polimorfismo }  Colaboração }  Estereótipos

Conceitos Básicos

ê  Operação ê  Método ê  Mensagem ê  Evento ê  Parâmetro ê  Estado

Page 18: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

 Histórico/Evolução das Linguagens –  Surgiu no início da década de 60 –  Devido a necessidade dos:

•  sistemas de comunicação, fluxo de trânsito, sistemas de produção, sistemas administrativos e sociais.

–  Cronograma das Linguagens OO: •  1966 – SIMULA (Kristen Nogaard, Noruega); •  1980 – SMALLTALK (Xerox); •  1986 – C++ (AT&T), SMALLTALK V , OBJECTIVE-C; •  1988 – EIFFEL (Meyer, França); •  1989 – Turbo Pascal 5.5 (Borland); •  1995 – JAVA; •  2001 – C#; •  2002 – VB.NET. •  2013 - .....

Orientação a Objetos

Page 19: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Orientação a Objetos ?

É um paradigma para o desenvolvimento de aplicações, ou seja, é uma estratégia de desenvolvimento de software que organiza o

software como uma coleção de objetos que contém tanto a estrutura dos dados como o comportamento.

Definição

Page 20: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

}  Características – Forma natural de enxergar a realidade – Forma natural de modelar – Forma natural de codificar

O mundo é Orientado a Objetos

Orientação a Objetos

Page 21: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

}  Mundo Natural

Formado por Objetos

Orientação a Objetos

Page 22: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

 Propostas da Técnica OO – Reusabilidade:

–  de código; –  de objetos encapsulados; – Componentes, Frameworks, etc.

– Manutenibilidade: – Mudanças bem localizadas, não acarretando

propagações descontroladas.

– Confiabilidade: – Devido ao encapsulamento, que torna as estruturas de

dados privado aos objetos.

– Extensibilidade –  Aumento da Produtividade

Orientação a Objetos

Page 23: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Garantia

Planejamento adequado; Capacitação dos desenvolvedores; Adoção de uma Metodologia e/ou Padrão.

Cronograma das fases de Ciclo de Vida

Garantia de Sucesso

Page 24: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Técnicas de Análise

Apresenta um conjunto de regras e modelos que auxiliam o Engenheiro de Software levantar e modelar os requisitos dos

usuários que o sistema deve atender.

Análise OO

Page 25: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

O que é um objeto? •  Um objeto é uma entidade com

uma fronteira bem definida e identidade que encapsula o estado e o comportamento – O Estado é representado por

atributos e relacionamentos. –  O Comportamento é

representado por operações e máquinas de estados.

Objeto

Operações

Atributos

Page 26: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Princípios Básicos da Orientação a Objetos

Abst

raçã

o

Hier

arqu

ia

Orientação a Objetos

Enca

psul

amen

to

Modu

larid

ade

Page 27: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

É o ato de definir um objeto conceitual a partir de OBJETOS do mundo real que possuam as mesmas características e

comportamento, podendo ser classificados como pertencentes a um mesmo tipo.

Dinheiro

Abstração

Page 28: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Exemplo

Avião

Esporte

Abstração

Page 29: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Representa a abstração de um conjunto de OBJETOS do Mundo Real que possuem tipos de características e de comportamento em

comum.

Pessoa

Classe

Page 30: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Exemplo

Funcionários Ana, João, Fátima, Pedro, Carlos.

Classe Funcionário possui nome possui endereço possui data de nascimento possui telefone

Classe

Page 31: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Representa cada ocorrência de um OBJETO formados a partir de uma CLASSE.

Funcionário 1 Ana 2 João 3 Fátima 4 Pedro 5 Carlos

Instância

Page 32: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Objeto Funcionário 2 (instância) Ana Maria Av. Curitiba, 444 05/02/69 999-9999

Exemplo

Classe Funcionário possui nome possui endereço possui data de nascimento possui telefone

Objeto Funcionário 1 (instância) Carlos Av. Curitiba, 44 05/03/69 999-9998

Instanciação

Instância

Page 33: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

É uma característica particular possuída por todos os OBJETOS de uma CLASSE e assume valores específicos

para cada OBJETO.

Classe Funcionário (possui) CPF (possui) RG (possui) Nome (possui) Endereço

Atributo

Page 34: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Exemplo

Valor: nome = João, endereço = rua ..... , data de nascimento = 05/07/71

telefone = 999-9999

Classe Funcionário (possui) nome (possui) endereço (possui) data de nascimento (possui) telefone

Atributo

Page 35: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Identificador Único

É um ou vários ATRIBUTOS, cuja função é permitir a individualização de cada INSTÂNCIA.

IDPessoa

Page 36: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Identificador Único

Exemplo Classe Funcionário

Funcionario-ID RG Nome Endereço Data Nascimento

Page 37: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Operação

Um serviço que é requisitado a um objeto como parte de seu comportamento em resposta a estímulos. Uma

operação tem uma assinatura que pode restringir quais parâmetros reais são possíveis.

Page 38: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Operação

É o que os Objetos de uma Classe sabem realizar.

Cafeteira.esquenta

Cafeteira.aumentaTemperatura

Cafeteira.diminuiTempo

Page 39: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Operação Exemplo

Funcionário Fala Corre Anda Come

Funcionário Cria()

Elimina() Recupera() Atualiza()

Métodos CERA

Page 40: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Método

Exemplo da implementação de um método em JAVA:

void remover(ActionEvent e) {

try {

deleteRow(); saveChanges(); }

catch (Exception ex) {

desabilita(); }

}

Page 41: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Mensagem

Representa o mecanismo de invocação de uma OPERAÇÃO.

É o mecanismo utilizado para solicitar uma OPERAÇÃO. É a forma de conseguir executar uma OPERAÇÃO.

Operação Abrir

Evento ao abrir mensagem

Page 42: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Evento

Um evento é uma especificação de uma ocorrência significativa que tem uma localização no

tempo e no espaço.

Evento Ao abrir

Page 43: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Evento

Exemplo

Evento Partida

Evento Botão do mouse

pressionado

Page 44: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Parâmetro

Representa um ou mais ATRIBUTOS carregados dentro de uma MENSAGEM.

Pessoa.elimina (CPF)

Page 45: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Parâmetro

Exemplo

Avião.Partida (linha área, nº vôo)

Evento Partida

Page 46: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Estado Um estado é uma condição ou situação na vida de um objeto durante a qual ele satisfaz a alguma condição,

realiza alguma atividade ou aguarda algum evento.

Evento Ao abrir

Estado Fechado Estado Aberto

Page 47: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Estado

Exemplo

Evento Partida

Estado Decolando Estado Parado

Page 48: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Estado

Exemplo

Classe Exemplar ISBN Nº Tombo ... estado

Criado Eliminado Emprestado Em manutenção Reservado Liberado

Page 49: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Transição de Estado Uma transição é um relacionamento entre dois estados,

indicando que um objeto no primeiro estado realizará certas ações e entrará no segundo estado quando um evento

especificado ocorrer e as condições especificadas estão satisfeitas.

Estado Fechado Estado Aberto

Estado Criado Estado

Eliminado

Page 50: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Associação

Representa a forma como os OBJETOS de uma mesma CLASSE ou de CLASSES diferentes se

reconhecem entre si.

BANCO AGÊNCIA Possui 1 *

Page 51: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Exemplo de Hierarquia

Diminuição da Abstração

Aumento da abstração

Asset

RealEstate

Savings

BankAccount

Checking Stock

Security

Bond

Elementos do mesmo nível de hierarquia deveriam estar no mesmo nível de abstração.

Page 52: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Herança

Representa a propriedade pela qual uma CLASSE pode herdar características e comportamento de uma outra CLASSE.

Pessoas

Page 53: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Pessoas{abstract} Nome Endereço Telefone Cria() {abstract} Elimina() {abstract} Recupera() {abstract} Atualiza() {abstract}

Fornecedor CNPJ Cria() Elimina() Recupera() Atualiza()

Cliente CPF Cria() Elimina() Recupera() Atualiza()

Operações abstratas

Operações Concretas

Herança

Page 54: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Exemplo de Herança Múltipla

Veículo

Veículoterrestre

Veículoaquático

Veículoanfíbio

{sobreposição, incompleto}

Page 55: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Ilustração de Encapsulamento •  Professor Kenji necessita

estar disponível para ministrar aulas para as quatro turmas no próximo semestre.

TakeSabbatical()

Professor Kenji

Name: S. Kenji Employee ID: 567138

HireDate: 07/25/1991

Status: Tenured

Discipline: Finance

MaxLoad: 4 SetMaxLoad(4)

“Encapsulamento: significa separar o programa em partes, o mais isoladas possível. A idéia é tornar o software mais flexível, fácil de modificar e de criar novas implementações”.

Page 56: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Exemplo de Modularidade •  Por exemplo, quebrar um

sistema complexo em pequenos módulos. Sistema de

Pagamento

Sistema de Registro de Curso

Sistema de catálogo de curso

Sistema de gerenciamento de estudantes

Page 57: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Polimorfismo

Representa a propriedade pela qual OBJETOS de CLASSES diferentes possuem tipos de reações

particulares a uma mesma operação.

Uma mesma operação pode se comportar de diferentes formas sobre diferentes CLASSES.

Page 58: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Chegada do Verão

Mundo Natural

Polimorfismo

Page 59: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

A Mensagem é a mesma. A reação é diferente para cada tipo de

Objeto.

Mundo Natural

Polimorfismo

Page 60: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Exemplo Funcionário Livro

Operação Criar Exemplar Banco Agência

... a estrutura (atributos) de cada classe é diferente

Polimorfismo

Page 61: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Exemplo de Polimorfismo

Page 62: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Colaboração

É a troca de MENSAGENS entre OBJETOS. É uma

comunicação entre OBJETOS e Atores.

Page 63: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Estereótipos => UML 1.x Palavras Chaves => UML 2.0

}  Sugerido por Rebecca Wirfs-Brock em 1990;

}  Torna a UML extensível pelo usuário do método pela definição de estereótipos adicionais;

}  O uso do estereótipo é omitido quando a semântica predefinida na UML for suficiente;

}  Um estereótipo é escrito textualmente (em guillmets sobre a seqüência de nome);

}  Ex: <<estereótipo>>.

Page 64: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

FINAL DA PARTE Ia

Page 65: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Análise e Design Orientado a Objetos com Modelagem WEB utilizando UML

(Unified Modeling Language)

Professor Sergio Akio Tanaka e-mail [email protected]

Parte Ib Introdução a UML

Page 66: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Apresentação da NOTAÇÃO UML

(Unified Modeling Language)

Page 67: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Apresentação da UML

UML, Linguagem formada pela junção das melhores técnicas de modelagem (OMG 2008).

UML, Linguagem de Modelagem Unificada, é uma linguagem gráfica para visualização, especificação,

construção e documentação de artefatos de sistemas complexos de software (BOOCH 2006).

Page 68: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Ciclo de Vida do Desenvolvimento do Software

Page 69: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Inputs to the UML

Fusion Operation descriptions, message numbering

Before and after conditions

Meyer

Harel State charts

Wirfs-Brock Responsibilities

Embley

Singleton classes, High-level view

Odell Classification Object lifecycles

Shlaer- Mellor

Gamma, et.al Frameworks, patterns, notes

Booch Rumbaugh Jacobson

Selic, Gullekson, Ward

ROOM (Real-Time Object-Oriented Modeling)

Page 70: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Breve Histórico (UML) •  Oficialmente em Out/94 Rumbaugh se junta a Booch na Rational; •  Foco inicial do projeto era a unificação dos métodos Booch e OMT; •  Out/95 lançado um esboço da versão 0.8; •  Jun/96 lançado a versão 0.9 incorporando o método OOSE de Jacobson; •  Jan/97 v.1.0 oferecida para padronização a OMG (Object Management Group); •  Versão revisada 1.1, oferecida para padronização a OMG Julho/97; •  14 de Novembro de 1997 a UML é aprovada pela OMG (v.1.1); •  Revisão da UML assumida pela RTF (Revision Task Force) do OMG, lançando

a versão 1.2 em junho 1998; •  Dez/98 a RTF lança a versão 1.3; •  15/9/2000, a OMG estendeu o prazo p/ a aprovação da UML 1.4 p/ 22/12/2000; •  UML 1.5, combinação da UML 1.4 •  15/09/2000 UML 2.0 definida pelo Working Group. •  2004 – Consolidação da UML 2.0, 2.1, 2.2, 2.3 E 2.4 •  2013 – Continuação da UML 2.x….

Page 71: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Histórico UML (Forma gráfica)

UML Partners’ Expertise

UML 1.0 (Jan. ‘97)

UML 1.1 (Sept. ‘97)

UML 1.5 (March, ‘03)

UML 2.0 (2004)

Other Methods

Booch ‘91 OMT - 1 OOSE

Booch ’93 OMT - 2

Public Feedback Unified Method 0.8

(OOPSLA ’95)

UML 0.9 (June ‘96)

UML 0.91 (Oct. ‘96)

and

Page 72: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

E finalmente o histórico real da ...UML... Ilustração de como foi extraída a UML no laboratório da

Rational

Page 73: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Tipos de Modelagem - V. 1.x •  Modelagem Estrutural

–  1-Diagrama de Classes –  Diagramas de Pacotes; => oficializado como diagrama na versão 2.0 –  Diagramas de Objetos. => oficializado como diagrama na versão 2.0

•  Modelagem Comportamental –  2-Diagramas de Casos de Uso; –  3-Diagramas de Seqüência; –  4-Diagramas de Colaboração; => diagrama de comunicação na versão 2.0 –  5-Diagramas de Atividades; –  6-Diagramas de Estados; –  Processos e Threads; –  Eventos e Sinais.

•  Modelagem Arquitetural –  7-Diagramas de Componentes; –  8-Diagramas de Implantação; –  Patterns e Frameworks.

Page 74: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Tipos de Modelagem - V. 2.4 Na versão 2.4, a UML tem quatorze diagramas divididos em:

Page 75: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Visão dos Diagramas Estruturais Usando Mapas Conceituais.

Page 76: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Visão dos Diagramas Comportamentais Usando Mapas Conceituais.

Page 77: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Modelos

Dynamic Diagrams

w  Multiplas visões

Activity Diagrams

Models

Static Diagrams

Sequence Diagrams

Communication Diagrams

State Machine Diagrams

Deployment Diagrams

Component Diagrams

Object Diagrams

Class Diagrams Use-Case

Diagrams

Dinâmico

Page 78: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Iniciando a Modelagem e Rastreabilidade entre os elementos

Antes, vamos fazer uma Revisão dos conceitos

básicos do RUP. Revisar, também, a Modelagem de Negócios e Gerência de

Requisitos em relação a disciplina de Análise e Design

Page 79: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Melhores Práticas

}  Aplicando as 6 melhores práticas:

}  Desenvolvimento Iterativo }  Gerência de Requisitos }  Uso da Arquitetura de Componentes }  Modelo Visual (UML) }  Verificação Contínua da Qualidade }  Gerência de Mudanças

PRO

CESSO

CO

NFIG

UR

ÁVEL

Page 80: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Princípios Chave para o Desenvolvimento Orientado a Negócios

–  Adaptar o Processo

–  Equilíbrio que compete as Prioridades dos Stakeholders

–  Colaboração Entre os Times

–  Demonstrar o Valor Iterativamente

–  Elevar o Nível de Abstração

–  Focar Continuamente na Qualidade

Page 81: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Estrutura do Site (IRUP v.2002)

Page 82: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Modelagem Utilizando os Casos de Usos de Negócios

Page 83: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Modelo de Objetos de Negócio

}  Define o ponto de vista dos trabalhadores de negócio ponto de vista interno.

Modelo de Negócio e Atores de Sistema

Page 84: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Revisão MN:

Page 85: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

REVISÃO Modelagem Utilizando Casos de Uso de

Sistemas

Page 86: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

ATOR Caso de Uso

“Breve Revisão”- Diagrama de Casos de Uso

Elementos e Notação:

Representa o estudo e modelagem da interface externa do sistema.

Descrição dos requerimentos dos usuários.

Page 87: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Ator

“ATOR” é qualquer pessoa, departamento, sistema computacional e dispositivos que utilizam funcionalidades do

Sistema.

Page 88: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Ator

Exemplo de Atores:

Aluno

Diretoria Departamento Pessoal

Estoque

Page 89: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Caso de Uso

“Representa qualquer interação de serviços entre um ATOR e o SISTEMA. Cada serviço é representado como um Caso

de Uso (Use Case)”.

SISTEMA

Page 90: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Diagrama de Casos de Uso

OBSERVAÇÕES: Não representar para o mesmo ATOR mais do que uma missão.

Departamento e sistema pessoal

Departamento pessoal

Sistema pessoal

Page 91: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Descrição de Caso de Uso

Descrita no Artefato: Especificação de Casos de Uso

Page 92: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Casos de Uso – Nível de Especificação

•  Definir Funcionalidades Genéricas; •  Regras de Negócios; •  Visão do Usuário;

Page 93: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

O Escopo de um Caso de Uso

Geralmente, é difícil decidir se um conjunto de interações do usuário do sistema (ATOR COM O SISTEMA), ou uma caixa de diálogo, é um ou são vários casos de uso. Considere o uso de uma máquina de reciclagem. O cliente insere itens de depósito como, por exemplo, latas, garrafas e caixotes na máquina de reciclagem. Ao inserir todos os itens de depósito, basta pressionar um botão e um recibo é impresso. Esse recibo pode ser trocado por dinheiro.

Page 94: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Cada Comunicação-Associação é um conjunto de diálogo

Estudante Sistema de Catálogo de

Cursos

Registrar Cursos

Estudante faz o login no sistema Sistema aprova o login Estudante solicitação informação do Curso

Sistema mostra a lista de cursos Estudante seleciona cursos Sistema confirma curso disponível Sistema mostra aprovação da programação

Sistema transmite solicitação Catálogo de Cursos retorna informação do curso

Page 95: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Herança entre atores }  Pode-se utilizar herança entre atores;

}  Herança entre atores significa que um ator preenche os mesmos papéis de outro ator, podendo também preencher papéis adicionais;

}  Na UML herança é indicado pelo relacionamento de generalização.

Page 96: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Herança entre atores

Ator 1

Ator 2

Caso de Uso 2

Caso de Uso 3

Caso de Uso 1

Ator 3

Created with Visio

Page 97: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Relacionamentos Entre Casos de Uso

<<extend>>

<<include>>

•  Include

•  Extend

•  Generalização

Page 98: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

O que é um Relacionamento Include?

•  Um relacionamento de um caso de uso base para um caso de uso de inclusão

•  O comportamento definido no caso de uso de inclusão é inserida explicitamente para o caso de uso base

<<include>>

Base

Inclusão

Page 99: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Relacionamento Include: Exemplo RU e-st

Obter Cota

Executar Comércio

Outros UC

Identificar Cliente

<<include>>

<<include>>

<<include>>

Caso de Uso Obter Cota 1. Incluir “Identificar Cliente” para verificar identidade do cliente 2. Mostrar opções. Cliente seleciona “Obter Cota” 3. ...

Caso de Uso Identificar Cliente 1. Logon 2. Validar logon 3. Entrar com a senha 4. Verificar a senha A1: Logon inválido A2: Senha errada A3: .....

Page 100: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Por Que Usar um Relacionamento de Include?

•  Fatorar comportamento comum para dois ou mais casos de uso –  Evitar descrever qualquer comportamento

múltiplas vezes (reutilização). –  Assegurar comportamento comum consistente

com o resto. •  Fatorar e encapsular comportamento de um caso de

uso base –  Simplificar fluxo de eventos complexos (ver

exemplo RU-st) –  Fatorar comportamento que não faz parte de um

propósito primário.

<<include>>

Base

Inclusão

Page 101: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

O que é um Relacionamento Extend?

•  Conexão de um caso de uso estendido para um caso de uso base –  Inserir comportamento estendido de um caso de uso num caso de

uso base –  Inserir somente se a condição de extensão for verdadeira –  Inserir num caso de uso base ao ponto de extensão nomeado

<<extend>>

Extensão

Base

Page 102: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Relacionamento Extend: Exemplo RU e-st

Sistema News

Sistema Especialista

de Cota

<<extend>> <<extend>> Cliente do Comércio

Obter Cota

Obter News Obter Prognóstico

Page 103: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Relacionamento Extend: Exemplo RU e-st (cont.)

Caso de Uso Obter Cota Fluxo Básico 1. Include “Identificar Cliente” para verificar identidade do cliente. 2. Mostrar opções 3. Cliente seleciona “Obter Cota.” 4. Cliente obtém cotas 5. Cliente obtém outras cotas 6. Cliente faz logoff A1. Sistema Cota indisponível ... Pontos de Extensão: O ponto de extensão “Serviço Opcional” ocorre no Passo 3 do Fluxo Básico.

Caso de Uso Obter News Este caso de uso extend o Caso de Uso Obter Cota, ao ponto de extensão “Serviços Opcionais”. Fluxo Básico: 1. Se o Cliente selecionar “Obter News”, o sistema pergunta ao cliente o período de tempo e o número de itens news. 2. Cliente entra com o período de tempo e o número de itens. O sistema envia o símbolo da ação de comércio para o Sistema News, recebe resposta, e mostra os news para o cliente. 3. O Caso de Uso Obter Cota continua. A1: Sistema News Indisponível A2: Não Existe News Sobre Esta Ação

Page 104: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Execução de um Extend •  Executado quando o ponto de extensão é alcançado e a

condição de extensão (decisão) for verdadeira

Caso de Uso Base Instância do Caso de Uso

Ponto de Extensão

Caso de Uso Extensão

Page 105: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Por Que Usar um Relacionamento Extend?

•  Fatorar um comportamento opcional ou excepcional –  Executado somente numa certa condição –  Fatorando a simplificação do fluxo de eventos do

caso de uso base –  Exemplo: ligando um alarme

•  Adicionar comportamento estendido –  Desenvolver comportamento separadamente,

possivelmente numa versão posterior –  Exemplo: Caso de Uso Obter News

<<extend>>

Extensão

Base

Page 106: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Casos deUso (Concreto versus Abstrato)

Um caso de uso é abstrato ou

concreto

Casos de uso concreto (B & C): - Deve ser completo e significativo - Pode ser instanciado para si mesmo

Casos de uso abstrato (A & D): - Não tem que ser completo. - Existe somente por outros casos de uso. - Nunca são instanciados para si mesmo (não é inicializado por um ator).

A

B

C

D

<<include>>

<<extend>>

É comum o caso de uso de extensão ser abstrato, mas não é necessário que seja.

Page 107: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Exemplo de um diagrama de Caso de Uso para um Sistema

de Controle de Estágio

Universidade

(from Actors)

Firmar Convênio(f rom Firmar Conv ênio)

Empresa

(from Actors)

Definir Empresa para desenvolvimento

(f rom Defini r Empresa para desenv olv imento)

Definir Professor Orientador

(f rom Definir Prof essor Orientador)

Coordenador Estágio(from Act...

Definir Aluno(f rom Def inir Aluno)

Avaliar Aluno(f rom Av aliar Aluno)

Professor Orientador

(from Actors)

Registrar Plano de Estágio(f rom Registrar Plano de Estagio)

Efetuar Controle de Estágio

(f rom Ef etuar Controle de Estágio)

Registrar entrega da RPOD

(f rom Registrar entrega da RPOD)

Aluno

(from Actors)

Page 108: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Diagramas de Casos de Uso 1.

Fazer o levantamento

com os usuários para identificar os Atores e os Casos de Uso.

2. Fazer uma

lista dos possíveis Atores.

3. Filtrar a

lista e definir os Atores.

4. Fazer uma

lista dos possíveis Casos de

Uso dos Atores.

5. Filtrar e

definir os Casos de Uso para cada Ator.

6. Representar

cada Ator com seus Casos de Uso

no diagrama.

7. Realizar

levantamento junto aos usuários

para entender como o

sistema deve atender os

Casos de Uso.

Page 109: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

FINAL DA PARTE Ib

Page 110: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Análise e Design Orientado a Objetos com Modelagem WEB utilizando UML

(Unified Modeling Language)

Professor Sergio Akio Tanaka e-mail [email protected]

Parte Ic

Introdução a Arquitetura de Software

Page 111: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Representação da Arquitetura de Software através de Pacotes

Page 112: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Pacote

•  Um pacote é um mecanismo de propósito geral para a organização de elementos em grupos. Um pacote é representado graficamente como uma pasta com uma guia.

Page 113: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Pacote •  Cada pacote deve ser nomeado;

•  O nome dos pacotes são escritos sobre os pacotes; •  Ligações entre os pacotes são representadas para indicar a

dependência entre os pacotes;

u  Notação: Pacote1 Nome

Page 114: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Dependência de Pacotes

u  Notação de Dependência:

Pacote1 Pacote2Pacote1 Nome

Pacote1 Nome

Pacote2 Nome

Relacionamento de dependência

Page 115: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Contexto em Análise Arquitetural [Early

Elaboration Iteration]

[Inception Iteration (Optional)]

Define a Candidate Architecture

Perform Architectural

Synthesis

Analyze Behavior

Refine the Architecture

Design Components

Design the Database

(Optional)

Architecture Analysis

Architect

Page 116: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Visão Geral da Análise Arquitetural

Supplementary Specification

Glossary

Use-Case Model

Architectural Analysis

Design Model

Reference Architecture

Deployment Model

Vision Document

Software Architecture Doc

Project-Specific Guidelines

Page 117: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Papel: Arquiteto de Software

•  O papel arquiteto de software lidera e coordena as atividades e os artefatos técnicos no decorrer do projeto. O arquiteto de software estabelece a estrutura geral de cada visão de arquitetura: a decomposição da visão, o agrupamento dos elementos e as interfaces entre esses principais agrupamentos. Portanto, comparado aos outros papéis, a visão do arquiteto de software é ampla, e não detalhada.

Page 119: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Qual o conhecimento de um Arquiteto de Software?

•  "O arquiteto ideal deve ser uma pessoa erudita, um matemático, familiarizado com estudos históricos, um estudioso aplicado de filosofia, conhecedor de música, que não desconheça medicina, detentor de saber jurídico e familiarizado com astronomia e cálculos astronômicos." - Vitruvius, há aproximadamente 25 anos a.C.

Page 120: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Arquitetura de Software

Segundo Buschmann 1996, a arquitetura de software consiste da descrição dos subsistemas, e dos componentes de um sistema de software e dos relacionamentos entre eles.

Subsistemas,

Componentes

Page 121: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Arquitetura 4 + 1

Process View Deployment View

Logical View

Use-Case View

Implementation View

Usuário-final Funcionalidade Programador

Gerência de Software

Performance Escalabilidade Rendimento

System integrators Topologia do Sistema

Entrega, instalação comunicação

System engineering

Analista/Projetista Estrutura

Page 122: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Pacotes (Importação e Exportação) }  Na UML, a modelagem de um relacionamento de importação

é feita como uma dependência assinalada pelo estereótipo <<import>> como adorno;

}  As partes públicas de um pacote são chamadas suas exportações;

}  As partes exportadas por um pacote são visíveis somente para o conteúdo dos pacotes que importam aquele pacote explicitamente.

}  As dependências de importação e de acesso não são transitivas.

Page 123: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Pacotes (Importação e Exportação)

Page 124: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Pacotes

}  Dois ou três níveis de aninhamento constituem o limite do

que será conveniente utilizar. Mais do que o aninhamento,

utilize a importação para a organização de seus pacotes.

Page 125: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Pacotes A UML define 5 estereótipos-padrão que se aplicam aos pacotes:

–  <<facade>>: especifica um pacote que é apenas uma visualização de algum outro pacote;

–  <<framework>>: especifica um pacote que é formado por padrões;

–  <<stub>>: serve como proxy para o conteúdo público de outro pacote; ou seja, são utilizados quando possuimos ferramentas capazes de dividir um sistema em pacotes que manipulamos em diferentes momentos e potencialmente em diferentes locais.

–  <<subsystem>>: representa uma parte independente de todo o sistema cuja modelagem está sendo feita.

–  <<system>>: representa todo o sistema cuja modelagem está sendo feita.

Page 126: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

A

B

X

Acoplamento de Pacotes

•  Acoplamento: quanto maior a dependência entre os pacotes maior o acoplamento

•  Pacotes não deveriam ter co-dependências (circular)

•  Pacotes da camada inferior não deveria ser dependente da camada superior. Isto é uma regra para o estilo arquitetural em camadas

•  Em geral, as dependências não deveriam pular camadas

A B

Upper Layer

Lower Layer

C

X

X = Violação de acoplamento

X

Page 127: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Exemplo: Arquitetura em Camadas

Middleware <<layer>>

Base Reuse

global

Application <<layer>>

Business Services

<<layer>>

Necessary because the Application Layer must have access to the core distribution mechanisms provided with Java RMI.

Page 128: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

C

A

B

A Hierarquia deveria ser aciclica

Dependências Circulares torna dificil o reuso para reutilizar um pacote sem o outro. Solução no exemplo, acima, criar um novo pacote A” que seja comum para

A e C.

Evitando Dependências Circulares

A

B

A

B

C

A'

Page 129: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Estilo Arquitetural

Um estilo de arquitetura pode ser definido como uma família de sistemas em termos de um modelo de estrutura de organização. Um estilo de arquitetura expressa componentes e o relacionamento entre eles, com restrições de suas aplicações, composições e regras de projeto para suas construções [BUS 96]. Mais especificamente, pode-se dizer que um estilo de arquitetura define um vocabulário de componentes e tipos de conectores, mais um conjunto de restrições sobre a combinação desses (GARLAN 1995).

Page 130: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Arquitetura de Software Tipos de estilos arquiteturais: ü  Pipes e Filtros

ü  Camadas

ü  Objetos

ü  Invocação Implícita

ü  Quadro-negro

ü  Repositório (Passivo)

ü  Arquiteturas de Aplicações Distribuídas

ü  Processos Comunicantes

ü  Cliente-Servidor

ü  Chamada de Procedimento

Page 131: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Exercício 1:

•  Configurar na Ferramenta CASE IBM Rational Rose para a visualização da Arquitetura Multicamadas

•  Elaborar o Estilo Arquitetural proposto para utilização nos estudos de casos utilizando pacotes

Page 132: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

Arquitetura de Software

Proposta do Estilo Arquitetural em Camadas para o desenvolvimento dos estudos de casos

Page 133: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

FINAL DA PARTE Ic

Page 134: Pensamento: Se você esta achando que está no nada Lembre ... 1 - Introd OO-UML-Arquit... · – Diagramas da UML (UC, Atividade, Estado, Sequência, Comunicação, Implantação,

[email protected]

CV Resumido do Professor

SERGIO AKIO TANAKA, MSc Área • ENGENHARIA DE SOFTWARE, ARQUITETURA CORPORATIVA

GERÊNCIA DE PROJETOS E PROCESSOS DE NEGÓCIOS

Sergio Akio Tanaka, atua na área de Informática desde 1990 tanto na área acadêmica como empresarial. É Especialista em Gestão Empresarial pelo ISE - Instituto Superior de Ensino em convênio com o IESE de Barcelona. Mestre em Ciência da Computação pela Universidade Federal do Rio Grande do Sul; Pós-graduado pela Universidade Estadual de Londrina nas áreas de Redes de Computadores e Banco de Dados e em Análise de Sistemas pela UniFil; Graduado em Processamento de Dados. Engenheiro de Software certificado pela IBM Rational em diversas áreas. Ao Longo da sua carreira, foi Diretor de Novas Tecnologias da K2Solutions. Atuou como Gerente Geral da PLATIN/ADETEC e Consultor do Agente Softex/ADETEC no mercado Espanhol, Instrutor e Coordenador da área de TI do SENAC por 11 anos e foi Gerente da KAIZEN - DATABASE Marketing por 5 anos. Atualmente, é Diretor Geral, e também, consultor certificado pela IBM Rational na AUDARE Engenharia de Software. Na área acadêmica, desde 1994, atua como professor e coordenador da UNIFIL - Universidade Filadélfia nos cursos de Pós-Graduação da área de Computação e Pesquisa, Professor e Coordenador de Pós-Graduação na área de Engenharia de Software do SENAI/SC e SENAI-PR; Professor Ad-hoc da UNIVEL, UNIVALE, UNOPAR, UNIPAR e UEL em cursos de Pós-graduação. Possui expertise em Gerência de Projetos, Arquitetura de Software, UML, Construção de Frameworks e Componentes, Processo de Desenvolvimento de Software, Gerência de Requisitos, Gerência de Mudanças, Workflow, Modelagem Web e de Negócios. Possui forte experiência no mercado Internacional e Possui mais de 100 artigos publicados (veja plataforma lattes).