• Nenhum resultado encontrado

Análise e Projeto Orientado a Objetos Aula 1 (Versão )

N/A
N/A
Protected

Academic year: 2022

Share "Análise e Projeto Orientado a Objetos Aula 1 (Versão )"

Copied!
59
0
0

Texto

(1)

Histórico das Metodologias

Aula 1

(Versão 2013-02)

Análise e Projeto Orientado a Objetos

Professor Gabriel Baptista

( [email protected] )

( http://sites.google.com/site/professorgabrielbaptista )

Para começar!

• Horário – 19:15 às 23:00

• Intervalo – 20:50 às 21:15

• Avaliações:

[Soma da maiores notas (A1, A2, A3)] / 2 >= 6 A1 = Caso 1 + Caso 2 + Caso 3 + Caso 4 A2 = Integrada

A3 = Integrada

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Ementa do Curso

Apresentação da importância da modelagem no desenvolvimento de sistemas, histórico da evolução

das metodologias de modelagem, modelagem tradicional, estruturada e essencial. Modelagem

orientada a objeto, padrões e normas de UML, notação da interface, subtipos, composição e

agregação.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(2)

Objetivos do Curso

Desenvolver soluções através da Análise e Projeto Orientado a Objetos fazendo uso dos conceitos de UML.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Conteúdo Programático

• Histórico das metodologias de desenvolvimento de sistemas

• Conceitos de Orientação a Objetos

• Introdução à UML

• Os diagramas da UML

• Diagrama e Especificação de Casos de Uso

• Diagrama de Classes

• Diagrama de Sequência

• Diagrama de Atividades

• Diagrama de Máquina de Estados

• Diagrama de Componentes

• Diagrama de Implantação

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Bibliografia Básica

BLAHA, Michael; RUMBAUGH, James. Modelagem e projetos baseados em objetos com UML 2 – 2ª Edição. Rio de Janeiro: Campus, 2006.

BOOCK, Grady; JACOBSON, Ivar; RUMBAUGH, James. UML: guia do usuário. Rio de Janeiro:

Campus, 2006.

CARLSON, David. Modelagem de aplicações XML

com UML: aplicações práticas de e-business. São

Paulo: Pearson, 2002.

(3)

Bibliografia Complementar

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

BEZERRA, Eduardo. Princípios de análise e projeto de sistemas com

UML. 2ª ed. Rio de Janeiro: Elsevier, 2007.

LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e

ao projeto orientado a objeto e ao desenvolvimento iterativo. 3ª ed. Porto

Alegre: Bookman, 2008.

OBJECT MANAGEMENT GROUP (OMG) – UML (UNIFIED MODELING LANGUAGE), UML Resource Page, em http://www.uml.org/, acessado em agosto de 2010.

SOMMERVILLE, Ian. Engenharia de software. São Paulo: Addison Wesley, 2007.

E agora?

O que vocês imaginam que irá acontecer após esta disciplina?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Relembrando...

Crise do Software – 1972 – Dijsktra:

De um desenvolvimento informal para atender à necessidades pessoais, passamos para um desenvolvimento corporativo, tendo

cada dia mais hardwares mais potentes.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(4)

Com isso:

• Custo acima do estipulado

• Diversos atrasos

• Funcionalidades abaixo do esperado

• Baixa qualidade

• Pessoas insatisfeitas

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Solução Engenharia de Software

“Disciplina da engenharia que se ocupa de todos os aspectos da produção de

software”

(SOMMERVILLE, 2003)

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Atividades fundamentais do Software

Especificação: Definição de funcionalidades e restrições.

Projeto (Desenho): Definição dos desenhos que servirão como auxílio para a produção do software.

Implementação: Produção do software de acordo com o especificado / desenhado.

Validação: Garantia que o software faz o que foi especificado.

Evolução: Evolução natural para atender

às necessidades do cliente.

(5)

Quais os desafios enfrentados pela Engenharia de Software?

- Custo - Qualidade - Prazo - Pessoas - Funcionalidades

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista Custo

Qualidade

Prazo Pessoas

Funcionalidades

Metodologias para Análise e Projeto de Sistemas

• Análise Estruturada

• Análise Essencial

• Análise Orientada a Objetos

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Análise Estruturada (Decomposição Funcional)

• Perspectiva das funções

• Apresentação dos processos

• Artefatos produzidos

 Diagrama de Entidade-Relacionamento

 Diagrama de Fluxo de Dados

 Dicionário de Dados

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(6)

Análise Essencial (Lista de Eventos)

• Evolução da Análise Estruturada

• Preocupado com a questão de Controle

• Formado pelos modelos

 Ambiental (Contexto + Lista de Eventos)

 Comportamental (DFD + Dicionário)

 Informação (DER + Dicionário)

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Análise Orientada a Objetos (Bottom-up)

• Enfoque nos dados

• Maior detalhe na modelagem

• Mais próximo da realidade

• Comunicação mais fácil com o usuário

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Análise Orientada a Objetos

“O mundo real é composto por objetos. Cada objeto tem propriedades e comportamentos.

Então porquê não desenvolver programas que simulem no computador os objetos do mundo

real com suas propriedades e

comportamentos?”

(7)

Sistemas Orientados a Objetos

“Um sistema construído usando um método Orientado a Objetos é aquele cujos componentes são partes encapsuladas de dados e funções, que podem herdar atributos e comportamentos de outros componentes da

mesma natureza, e cujos componentes comunicam-se entre si por meio de

mensagens.”

(YOURDON)

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Portanto...

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Vantagens e Desvantagens

Vantagens

• Dependência menor entre os módulos de um sistema

• Combinação de estrutura (dados) e comportamento (funções) em um único objeto

• Compartilha comportamentos com objetos de níveis inferiores (herança)

• Ferramentas poderosas

• Reuso pode chegar a aumentar a produtividade Desvantagens

• Usuário se preocupa com funcionalidades

• Bancos de dados permanecem estruturados

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(8)

O que vem a ser um objeto?

Qualquer coisa visível ou tangível para qual a ação, pensamento ou sentimento é direcionado, ou seja, o

mundo real é formado por coisas e para a Orientação a Objetos estas coisas são

denominadas de OBJETOS.

Os objetos são caracterizados por:

• Identidade

• Comportamento

• Estado

Sendo a comunicação entre os objetos feita através de MENSAGENS.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

O que vem a ser uma classe?

Representação de um conjunto de objetos que possuem os atributos (propriedades) e comportamento (métodos) semelhantes.

Cada objeto criado a partir desta classe, pode ser chamado de instância da classe.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Classe professor instanciada para o Professor Gabriel

• Identidade

• RG: XX.XXX.XXX-X

• Comportamentos

• Lançar Nota

• Lançar Falta

• Estado

• Idade: 31

• Nome: Gabriel

• Disciplina que leciona: Análise e Projeto Orientado a Objetos

• Matrícula: XXXX

(9)

Obrigado!

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Conceitos de Orientação a Objetos e Introdução à UML

Aula 2

(Versão 2013-02)

Análise e Projeto Orientado a Objetos

Professor Gabriel Baptista

( [email protected] )

( http://sites.google.com/site/professorgabrielbaptista ) Conteúdo adaptado do Material do Prof. Marcos Roberto e Silva

Revisando

• O que significa modelar um sistema?

• O que é a Engenharia de Software?

• Quais os desafios enfrentados pela Engenharia de Software?

• O que trata a Crise do Software?

• Quais são as atividades essenciais para o desenvolvimento de um software?

• Quais foram as metodologias para Análise e Projeto de Sistemas que foram apresentadas? No que elas se diferem?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(10)

Princípios da Orientação a Objetos

“A análise orientada a objetos baseia-se em alguns princípios que são utilizados para administrar a complexidade e facilitar a Análise e Projeto Orientado

a Objetos”

Estes princípios são:

• Abstração

• Herança

• Encapsulamento

• Polimorfismo

Vocês sabem dizer o que significa cada um destes princípios?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Abstração

“Princípio de ignorar os aspectos de um assunto não relevantes para o propósito em

questão, tornando possível uma concentração maior nos assuntos principais.”

(Dictionary of Computing. Oxford University Press, 1986)

Quais serão os objetos relevantes para desenvolver um sistema de sala de aula?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Herança

O conceito de HERANÇA representa GENERALIZAÇÃO e ESPECIALIZAÇÃO, tornando explícitos os atributos e métodos comuns em uma hierarquia de classe.

Existem dois tipos de herança

• Simples

• Múltipla

(11)

Ainda dentro da sala de aula

Tanto professor como aluno são pessoas, que tem nome, RG e idade.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Sobre a Herança

• Generalização (Superclasse)

• Especialização (Subclasse)

É possível adicionar novos métodos e/ou reescrever métodos existentes em uma subclasse.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Encapsulamento

• Ocultação de características e comportamentos

• Proteção de dados

• Com isso temos:

• Propriedades Privadas

• Propriedades Públicas

• Métodos Privados

• Métodos Públicos

• As mensagens entre os objetos serão trafegadas somente entre métodos e propriedades públicos

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(12)

Polimorfismo

“É o princípio em que classes derivadas (subclasses) de uma mesma superclasse podem invocar operações que têm a mesma

assinatura (nome), mas comportamentos diferentes em cada subclasse, produzindo resultados diferentes, dependendo de como

cada objeto implementa a operação.”

(Marcos Roberto e Silva)

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Polimorfismo

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Obrigado!

(13)

Introdução à UML

Aula 3

(Versão 2013-02)

Análise e Projeto Orientado a Objetos

Professor Gabriel Baptista

( [email protected] )

( http://sites.google.com/site/professorgabrielbaptista ) Conteúdo adaptado do Material do Prof. Marcos Roberto e Silva

Obrigado!

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Conceitos de Orientação a Objetos e Introdução à UML

Aula 2

(Versão 2013-02)

Análise e Projeto Orientado a Objetos

Professor Gabriel Baptista

( [email protected] )

( http://sites.google.com/site/professorgabrielbaptista ) Conteúdo adaptado do Material do Prof. Marcos Roberto e Silva

(14)

Revisando

• O que significa modelar um sistema?

• O que é a Engenharia de Software?

• Quais os desafios enfrentados pela Engenharia de Software?

• O que trata a Crise do Software?

• Quais são as atividades essenciais para o desenvolvimento de um software?

• Quais foram as metodologias para Análise e Projeto de Sistemas que foram apresentadas? No que elas se diferem?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Revisando

• Qual o conceito de objeto?

• Qual o conceito de classe?

• Qual o conceito de instância?

• Qual o conceito de abstração?

• Qual o conceito de herança?

• Qual o conceito de encapsulamento?

• Qual o conceito de polimorfismo?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Histórico

• Orientação a objetos é um paradigma abordado desde a década de 80!

• Inúmeras metodologias

• OMT, Rumbaugh

• COAD/YOURDON, Coad-Yourdon,

• OOSE, Jacobson,

• SHLAER/MELLOR, Shlaer-Mellor,

• BOOCH, Grady Booch

(15)

Histórico

• UML – Unified Modeling Language

• Padronizada pela OMG: Object Management Group

• Os três amigos: Rumbaugh, Jacobson e Booch

• Versão 2.0

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Sobre a UML

“(UML®) helps you specify, visualize, and document models of

software systems, including their structure and design, in a way that

meets all of these requirements”

http://www.omg.org/gettingstarted/what_is_uml.htm

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

UML

• Linguagem

• Linguagem para visualização

• Linguagem para especificação

• Linguagem para construção

• Linguagem para documentação:

Requisitos, arquitetura, desenho, código fonte, planos de projeto, testes, protótipos, releases.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(16)

UML 2.0

• 13 Diagramas:

 Estrutura: Classe, Objetos, Componente, Estrutura Composta, Pacote e Distribuição (Implantação).

 Comportamento: Caso de Uso, Atividade, Máquina de Estado.

 Interação: Seqüência, Comunicação, Temporização e Interação.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Classes

• Conjunto de classes, interfaces e colaborações, apresentando seus relacionamentos.

• Diagrama mais comum da OO.

• Visão estática da arquitetura do sistema.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Classes

(17)

Diagrama de Objetos

• Conjunto de componentes e seus relacionamentos.

• Apresenta uma visão dos valores armazenados pelos objetos de um diagrama de classes em um determinado momento de execução de um processo do software.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Objetos

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Componentes

• Partes internas, conectores e portas que implementam um componente.

• Ao instanciar um componente, suas partes internas também são instanciadas.

• Está associado à linguagem de programação que será utilizada no desenvolvimento do sistema.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(18)

Diagrama de Componentes

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Estrutura Composta

• Estrutura interna de uma classe ou colaboração.

• Segundo os três amigos, a diferença entre este diagrama e o diagrama de componentes é muito pequena.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Pacotes

• Decomposição do modelo dentro da organização e suas dependências.

• Um pacote pode ter qualquer

diagrama da UML.

(19)

Diagrama de Pacotes

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Distribuição

• Configuração dos nós e os componentes que vivem em cada um destes pontos.

• Visão estática da arquitetura.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Distribuição

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(20)

Diagrama de Caso de Uso

• Conjunto de casos de uso e atores (tipo especial de classe) e seu relacionamento.

• Visão de uso estática do sistema.

• Modelagem do comportamento do sistema.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Caso de Uso

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Atividade

• Estrutura do processo.

• Passo a passo da execução.

• Visão dinâmica do sistema.

(21)

Diagrama de Atividade

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Máquina de Estado

• Estado, transições, eventos e atividades.

• Visão dinâmica de um objeto.

• Modelagem do comportamento de uma interface, classe ou colaboração.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Máquina de Estado

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista http://www.wthreex.com

(22)

Diagrama de Seqüência

• Diagrama de Interação

• Enfatiza a cronologia de troca de mensagens entre classes.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Seqüência

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista http://www.wthreex.com

Diagrama de Comunicação

• Diagrama de Interação

• Enfatiza a organização estrutural

dos objetos e papéis que enviam e

recebem mensagens.

(23)

Diagrama de Comunicação

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista http://www.novatec.com.br

Diagrama de Temporização

• Apresenta momento atual em relação a diferentes objetos e papéis, em contrapartida a somente seqüências de mensagem relativas.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Temporização

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(24)

Diagrama de Interação

• Diagrama híbrido composto pelos diagramas de atividade e seqüência.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Interação

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Hierarquia dos diagramas

(25)

Obrigado!

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Requisitos

Aula 4

(Versão 2013-02)

Análise e Projeto Orientado a Objetos

Professor Gabriel Baptista

( [email protected] )

( http://sites.google.com/site/professorgabrielbaptista )

Um pouco de reflexão:

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(26)

Acabou aí?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Tem mais?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Mas na verdade...

(27)

Isto é comum?

SIM!!!

• Em 1995, um relatório elaborado pelo Grupo Standish*, chamado CHAOS, alertou que apenas 16,2% dos projetos eram encerrados com sucesso.

• O mesmo estudo em 2009 apresentou uma melhoria no índice, passando para 32%.

• Na verdade, fala-se em crise do software desde 1968!

* 1995. Acessado através de http://net.educause.edu/ir/library/pdf/NCP08083B.pdf

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Relatório do Grupo Standish CHAOS - 2011

- 37% dos projetos de software com sucesso;

- 42% atrasados, acima do custo, e/ou com menos funcionalidades;

- 21% cancelados ou nunca usados.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Isto é comum?

Segundo Capers Jones and Bill Curtis:

- 25% dos projetos de software falham ou são abandonados;

- 15% dos defeitos permanecem no produto entregue ao cliente;

- 30% a 44% do tempo está sendo utilizado para retrabalho nas companhias (tempo não produtivo);

- 50% dos prazos são atendidos pelas companhias.

Segundo Professor Dr. Ivanir Costa:

- 65% dos erros ocorrem na fase de requisitos - 8% dos erros ocorrem na fase da codificação*

* Testes caixas pretas só conseguem verificar estes erros

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(28)

A questão é... Por quê?

Para Jack Ganssle:

• Let's face it: any idiot can write code.

Estudo do Grupo Standish:

• Falta de Envolvimento do Usuário

• Falta de Gerenciamento

Falta de necessidades claras

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

A questão é... Por quê?

Segundo Humphrey*:

- Cronogramas fora da realidade - Equipe inapropriada

- Mudanças de Necessidades - Trabalho com baixa qualidade - Crenças em mágica

* Maio de 2002. Acessado através de www.computerworld.com

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Agora imaginem...

Um idiota programando + Lista de necessidades confusas ou inexistentes + Necessidades sendo modificadas a toda hora __________________________________________

CAOS

(29)

Existe algo a ser feito?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Engenharia de Requisitos

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

“A Engenharia de Requisitos ajuda os engenheiros de software a compreender melhor o problema que eles vão trabalhar

para resolver. Ela inclui o conjunto de tarefas que elevam a um entendimento de

qual será o impacto do software sobre o negócio, do que o cliente quer e de como

os usuários finais vão interagir com o software”

* Pressman, 2006

Engenharia de Requisitos O que é um requisito?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

“Os requisitos para um sistema de software estabelecem o que o sistema deve fazer e

definem restrições sobre sua operação e implementação”

* Sommerville, 2005

(30)

Engenharia de Requisitos Tipos de requisitos

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

- Requisitos do usuário

- Funções que o sistema deve ter, visualizados de uma maneira simples

- Requisitos do sistema

- Domínio: Leis, normas ou até mesmo uma restrição funcional obtidos a partir das necessidades específicas do sistema.

- Funcionais: Funcionalidades ou os serviços que se espera que o sistema forneça.

- Não-funcionais: Não dizem respeito diretamente às funções específicas do sistema. Definem atributos como confiabilidade e restrições.

* Sommerville, 2005

Engenharia de Requisitos

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista Engenharia de Requisitos

Desenvolvimento de Requisitos Gerenciamento de Requisitos

Elicitação Análise Especificação Validação

* Costa, 2007: Sub-Componentes do domínio da Engenharia de Requisitos

Desenvolvimento de Requisitos Elicitação

“Vamos tentar extrair as necessidades do cliente...”

- Introspecção (Imaginação) - Questionários

- Entrevistas

- Etnografia (Observação)

- JAD (Joint Application Development)

(31)

Desenvolvimento de Requisitos Análise

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

“Vamos pensar sobre tudo que foi levantado e, de alguma maneira, vamos documentar

estas necessidades na forma de sistema...”

- JAD (Joint Application Development) - Use cases

- Prototipação

Desenvolvimento de Requisitos Especificação

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

“Vamos criar um contrato com o nosso cliente...”

- O objetivo é gerar um documento que possa ser lido por diversos stakeholders:

- Clientes - Gerentes

- Engenheiros de Desenvolvimento - Engenheiros de Teste

- Engenheiros de Implantação

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

* Sommerville, 2005

Desenvolvimento de Requisitos

Especificação

(32)

Desenvolvimento de Requisitos Validação

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

“Vamos confirmar o que o foi pedido pelo cliente...”

- Prototipação - Revisões formais

Desenvolvimento de Requisitos

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

* Costa, 2007: Desenvolvimento de requisitos em um processo iterativo

Obrigado!

(33)

Modelo de Caso de Uso

Aula 5

(Versão 2013-02)

Análise e Projeto Orientado a Objetos

Professor Gabriel Baptista

( [email protected] )

( http://sites.google.com/site/professorgabrielbaptista )

Revisando

• O que significa UML?

• Qual o objetivo da UML?

• Quantos diagramas compõe a UML?

• Que tipo de representação pode ser feita através dos diagramas da UML?

• Quais são as etapas básicas para o desenvolvimento de requisitos?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Como começar?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Detectando as necessidades do

sistema!

(34)

Modelo de Caso de Uso

• Uma das maneiras utilizadas para desenvolvimento dos requisitos funcionais.

• Composto por:

• Diagrama

• Especificação

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Para que serve?

• Entender o comportamento do sistema

• Identificar as funcionalidades de arquitetura

• Localizar as classes

• Identificar casos de teste

• Planejamento

• Criação de manuais

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Caso de Uso

“O modelo de casos de uso é um modelo das funções pretendidas do sistema e seu ambiente, e serve como um contrato estabelecido entre o cliente

e os desenvolvedores. O modelo de casos de uso é usado como fonte de informações essencial para atividades

de análise, design e teste.”

http://www.wthreex.com/rup/

(35)

Diagrama de Caso de Uso

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Exemplo de diagrama de Caso de Uso

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Ator

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

“Um ator define um conjunto coerente de papéis que os usuários do sistema podem desempenhar ao interagir com ele. Uma instância de

ator pode ser desempenhada tanto por um indivíduo quanto por um

sistema externo.”

http://www.wthreex.com/rup/

(36)

Caso de Uso

“Um caso de uso define um conjunto de instâncias de casos de uso, no

qual cada instância é uma seqüência de ações realizadas por

um sistema que produz um resultado de valor observável para

determinado ator.”

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

http://www.wthreex.com/rup/

Relacionamentos existentes

• Associação

• Generalização (Herança)

• Inclusão

• Extensão

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Generalização

• Conceito de Herança

• Pode ser aplicado no caso de uso e no ator

(37)

Inclusão

• Ação do sistema que será executada por mais de um caso de uso.

• A seta é direcionada para o caso de uso que será incluído.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Inclusão

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Extensão

• Ação do sistema que pode ser executada por mais de um caso de uso.

• A seta é direcionada para o caso de uso que poderá executar o caso de uso opcional.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(38)

Extensão

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Especificação do Caso de Uso

• Número: Número identificador do UC

• Nome: Nome dado ao UC no diagrama

• Breve descrição: Descrição em um parágrafo falando sobre o UC

• Pré-condições: O que deve acontecer antes do caso de uso ser executado.

• Fluxo de eventos: Fluxo básico (principal ou happy day), Fluxos alternativos, Fluxos de exceção)

• Requisitos Especiais: Alguma informação adicional que deva ser comentada

• Pós-condições: O que deve acontece após o caso de uso executar.

• Inclusões: Pontos de inclusão

• Extensões: Pontos de extensão

• Relacionamentos: Atores relacionados, UC’s de especialização ou generalização.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Como fazer?

1.Identificar possíveis atores.

2.Identificar possíveis ações do sistema.

3.Criar diagrama apontando relacionamento dos elementos.

4.Criar especificação de cada um dos casos

de uso levantados.

(39)

Obrigado!

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Classes

Aula 6

(Versão 2013-02)

Análise e Projeto Orientado a Objetos

Professor Gabriel Baptista

( [email protected] )

( http://sites.google.com/site/professorgabrielbaptista )

Revisando

• Qual o objetivo do Modelo de Caso de Uso?

• O que o ator representa em um diagrama de caso de uso?

• O que o caso de uso representa em um diagrama de caso de uso?

• Qual o objetivo do relacionamento de herança?

• Qual o objetivo do relacionamento de inclusão?

• Qual o objetivo do relacionamento de extensão?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(40)

Diagrama de Classes

• Representação estática / estrutural do sistema.

• Entidades essenciais.

• Principal e mais usado diagrama da UML.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Classe

• Representação de um conjunto de objetos que possuem os atributos (propriedades) e comportamento (métodos) semelhantes.

• Cada objeto criado a partir desta classe, pode ser chamado de instância da classe.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

O que representamos em uma classe?

• Atributos

• Métodos

• Visibilidade

• Privada (-)

• Pública (+)

• Protegida (#)

• Pacote (~)

(41)

Relacionamento entre classes

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Associação

• Nome e direção

• Multiplicidade

• Navegabilidade

• Papéis

• Restrições

Prof. Marcos Roberto e Silva

Tipos de associação

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Unária

• Binária

• Agregação

• Composição

• Generalização

• Dependência

Associação Unária

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Auto-relacionamento

(42)

Associação Binária

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Relacionamento simples

Agregação

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Funcionam como uma entidade única

• Possui um objeto controlador (todo) que cuida dos objetos agregados (partes)

• Os objetos “partes” podem existir sem o objeto “todo”

Agregação

(43)

Composição

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Um objeto “parte” pertence somente a UM objeto “todo”

• Os objetos “partes” não podem existir sem o objeto “todo”

Composição

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Generalização

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Aplicação do conceito de herança

• É possível representar uma herança múltipla

• Representa relacionamentos do tipo “É

UM”.

(44)

Generalização

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Dependência

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Indica grau de dependência entre classes

• Relacionamentos de dependência podem expressar também ordem de precedência, onde um elemento deve preceder a outro.

Dependência

(45)

Passos para modelar um diagrama de classes

1. Identificar as classes baseada nos casos de uso.

2. Identificar os atributos das classes. (sem levar em conta suas visibilidades ou tipos)

3. Analisar os atributos, identificando se alguns deles são na realidade relacionamentos.

4. Algumas operações podem ser identificadas neste ponto, mas com certeza, não todas. As operações em geral são descobertas com o auxílio de outros diagramas.

5. Analisar classes semelhantes, remodelando as com relacionamentos de Herança.

6. Lançar detalhes dos atributos.

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Obrigado!

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Sequência

Aula 7

(Versão 2013-02)

Análise e Projeto Orientado a Objetos

Professor Gabriel Baptista

( [email protected] )

( http://sites.google.com/site/professorgabrielbaptista )

(46)

Para que serve?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Utilizado para determinar a ordem das mensagens trocadas entre papéis e

objetos, com base no tempo.

Quais são os componentes deste diagrama?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Estereótipos de Objetos

(47)

Exemplo

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Portanto

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• A sequência é dada desde a interação do ator com o sistema.

ATOR -> INTERFACE -> CONTROLE -> CLASSES

• Não se faz necessário apontar o retorno das mensagens

• A condicional existe através de um bloco do tipo “OPT”.

• É possível enviar mensagens de criação e destruição de objetos durante a sequência do diagrama.

Obrigado!

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(48)

Diagrama de Atividades

Aula 08

(Versão 2013-02)

Análise e Projeto Orientado a Objetos

Professor Gabriel Baptista

( [email protected] )

( http://sites.google.com/site/professorgabrielbaptista )

Para que serve?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Determinação de fluxo

• Atividades em um processamento

• Trabalho entre as unidades organizacionais em um modelo de negócio.

• Cenários dos casos de uso

Quais são os componentes deste diagrama?

Atividade

Decisão Início Transição

Bifurcação

Junção Fim

Áreas organizacionais

(49)

Exemplo

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Obrigado!

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Máquina de Estados

Aula 09

(Versão 2013-02)

Análise e Projeto Orientado a Objetos

Professor Gabriel Baptista

( [email protected] )

( http://sites.google.com/site/professorgabrielbaptista )

(50)

Para que serve?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Modelar o comportamento de um objeto individualmente.

• Descrever a seqüência de estados que um objeto possui durante o seu ciclo de vida.

• Modelar aspectos dinâmicos do sistema.

O que significa estado?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

“Período de tempo em que o objeto atenda a uma condição, realize alguma atividade ou

espere algum evento.”

Quando usar?

• Comportamentos que respondam à mensagens assíncronas

• Comportamentos que dependam do

comportamento anterior para funcionar.

(51)

deste diagrama?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Exemplo – Caixa eletrônico

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Obrigado!

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(52)

Diagrama de Componentes

Aula 10

(Versão 2013-02)

Análise e Projeto Orientado a Objetos

Professor Gabriel Baptista

( [email protected] )

( http://sites.google.com/site/professorgabrielbaptista )

Projeto com reuso

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

“O processo de projeto, na maioria das disciplinas de

engenharia, baseia-se no reuso de sistemas existentes ou componentes”

(SOMMERVILLE, 2008)

Projeto com reuso

• Preocupação desde os requisitos com os pontos do projeto que podem ou serão potenciais itens de reuso.

• Dependente de um processo de

desenvolvimento voltado para tal tarefa.

• Custo inicial pode ser mais alto, entretanto,

o retorno do investimento vai acontecer à

medida que o componente for reutilizado.

(53)

Projeto com reuso

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Desenvolvimento sem reuso

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Desenvolvimento com reuso

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

(54)

Vantagens do reuso

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Confiança aumentada

• Risco de processo reduzido

• Uso eficiente de especialistas

• Conformidade com padrões

• Desenvolvimento acelerado

Desvantagens do reuso

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Falta de apoio de ferramenta

• Síndrome do não-inventado-aqui

• Criação e manutenção de uma biblioteca de componentes

Abordagens que apoiam o reuso

• Bibliotecas

• Frameworks

• Softwares de prateleira

• Desenvolvimento orientado a objetos

• Desenvolvimento orientado a serviços

• Desenvolvimento orientado a aspectos

• Design patterns

Em resumo: Componentização

(55)

O que significa componente?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

“Parte lógica e substituível de um sistema que atende e provém a realização de um conjunto

de interfaces.”

UML – Diagrama de Componentes

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Para que serve?

• Modelar os componentes existentes no sistema, bem como o relacionamento entre eles através de interfaces.

O que significa interface?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

“Coleção de operações que especificam um serviço que é provido ou é requerido por uma

classe ou componente.”

(56)

componentes?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Descrição de componentes do sistema.

• Representação explícita de uma biblioteca comum entre diversas aplicações

Quais são os componentes deste diagrama?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Exemplo – Caixa eletrônico

(57)

Exemplo – Caixa eletrônico

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Obrigado!

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Diagrama de Implantação

Aula 11

(Versão 2013-1)

Análise e Projeto Orientado a Objetos

Professor Gabriel Baptista

( [email protected] )

( http://sites.google.com/site/professorgabrielbaptista )

(58)

implantação?

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

• Representar a relação entre diferentes hardwares existentes no sistema.

• Organizar distribuição de arquivos entregáveis (executáveis, bibliotecas, bases de dados).

Componentes do diagrama

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Exemplo – Caixa eletrônico

(59)

Obrigado!

Análise e Projeto Orientado a Objetos - Professor Gabriel Baptista

Referências

Documentos relacionados

O maior sucesso no emprego da vibroestimulação peniana para colheita de sêmen de macacos de cheiro parece depender de ajustes nas técnicas de contenção e

Then, through multiplanar studies, safety zones were found for insert- ing screw on the lateral mass, following the parameters: anterior height (distance between upper

O intuito desse estudo é elucidar as dificuldades e potencialidade da SF na atenção à crise e o apoio matricial em saúde mental como uma estratégia para fortalecer a prática da SF

As operações mencionadas no item 1 acima serão realiza- das para causar danos às estações de serviço ao longo daquela rota, ou para sabotar seus veículos, ou para parar um ou mais

Recomendação geral : Tenha consigo a embalagem, o rótulo ou esta ficha de dados de segurança quando utilizar o nº de emergência da Syngenta, contactar o Centro de

Após a sua leitura, fo- ram excluídos os artigos que abordavam partici- pação da comunidade em fóruns comunitários não relacionados com a saúde; participação dos usuários

A Diretoria-Geral do Câmpus Itaquaquecetuba do Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP, por meio de sua Coordenadoria de Extensão, no uso

(questão 3), no que se refere aos objetivos, funções e atividades do SDI a maioria dos entrevistados (seis) afirmaram que a nível interno existem diferentes formas de