35
29/4/2006 29/4/2006 Celso Socorro Oliveira Análise de Análise de Comportamento Comportamento no Desenvolvimento de Software com no Desenvolvimento de Software com UML. UML. Análise do comportamento... Análise do comportamento... UML... UML... Desenvolvimento de software. Desenvolvimento de software.

Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

Embed Size (px)

Citation preview

Page 1: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

Análise do comportamento...Análise do comportamento...UML...UML...Desenvolvimento de software.Desenvolvimento de software.

Page 2: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Alguns problemas... Piada velha, mas atual.

Page 3: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Alguns mitos:• Essa é última novidade do mercado• Não dá tempo planejar e documentar• Detalhamento está pronto para programar• O programa está pronto – já pode testar• Agora é só fazer a documentação

Page 4: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Etapas de projeto:

Page 5: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Mas...Como faço o levantamento?• Levantamento material (fácil)• Levantamento comportamental (dificil)

• O que é comportamento?• Como registro ele?• Qual a relação com o software?• Será que devo fazer psicologia?

E se no lugar de requisito, E se no lugar de requisito, tivessemos os termos tivessemos os termos

comportamentos e comportamentos e contingências?contingências?

Page 6: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• O que é comportamento?– O comportamento é

aquilo que se pode observar o organismo fazendo. É mais exato dizer que o comportamento é aquela parte do funcionamento de um organismo que está engajada em agir sobre ou manter intercâmbio com o mundo exterior. (Skinner, 1938, "The Behavior of Organisms: an Experimental Analysis").

Primeiro computador apareceu em 1946, o ENIACPrimeiro computador apareceu em 1946, o ENIAC

Page 7: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• O que é comportamento?– Desde que é um processo, e

não uma coisa, não pode ser facilmente mobilizado para observação. É mutável, fluido e evanescente, e, por esta razão, faz grandes exigências técnicas da engenhosidade e energia do cientista. Contudo, não há nada essencialmente insolúvel nos problemas que surgem deste fato. (Skinner, 1953, "Ciência e Comportamento Humano").

Burrhus Frederic Skinner (1904-1990)Burrhus Frederic Skinner (1904-1990)

Page 8: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• O que é análise do comportamento:

• A análise do comportamento é a explicação de um evento comportamental dada pela descrição das relações que este evento sustenta com outros eventos (presentes ou passados). O que define a prática do analista do comportamento é a investigação de efeitos (conseqüências) cumulativos (dimensão histórica) de contingências ou interações (passadas e atuais) sobre o desempenho atual do organismo através de um recurso metodológico (a análise funcional, experimental ou não experimental).

Antecedente – Antecedente – Resposta - Resposta -

ConsequenteConsequente

Input – Input – process - process -

OutputOutputLembra Lembra alguma alguma coisa?coisa?

Page 9: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Análise Funcional do comportamento:• Como registro ele?

– Baseia-se na fundação de relações funcionais, cujo objetivo é identificar e descrever o efeito comportamental, buscar relações ordenadas entre variáveis ambientais, formular predições confiáveis baseadas nas descrições dessas relações e produzir controladamente esses efeitos predizíveis.

– Os tipos de comportamento nos quais estamos geralmente interessados têm um efeito sobre o ambiente o qual tem um efeito de retorno sobre o organismo.

Caixa de Skinner, para demonstrar Caixa de Skinner, para demonstrar unidades comportamentais... unidades comportamentais...

Não foi entendida pelo público geral.Não foi entendida pelo público geral.

Page 10: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Análise do comportamento:O comportamento se distingue de atividades principalmente concernentes à

economia interna do organismo quando denominamos de “comportamento operante” as atividades que operam sobre o ambiente.

Por conveniência, qualquer unidade de tal comportamento denomina-se “um operante”.

(Skinner, 1957, p. 20)

O condicionamento O condicionamento operante difere do operante difere do

condicionamento condicionamento clássico de Pavlov clássico de Pavlov

porque depende do tipo porque depende do tipo de reforço após a de reforço após a

respostaresposta. .

Page 11: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Análise do comportamento – com terminologia dificil:Na maioria dos casos “operante” é intercambiável com o termo

tradicional “resposta”, mas os termos nos permitem fazer uma distinção entre uma instância de comportamento (“Fulano fumou um cigarro entre 14:00 e 14:10 ontem”) e um tipo de comportamento (fumar cigarros).

O termo “resposta” freqüentemente é usado em ambos os casos ainda que não se aplique facilmente ao segundo significado.

A descrição de uma instância do comportamento não requer a descrição de variáveis a ela relacionadas ou de uma relação funcional.

O termo operante está relacionado à previsão e ao controle de um tipo de comportamento. Ainda que observemos apenas instâncias, estamos interessados nas leis que especificam os tipos.

(Skinner, 1957, p. 20)

Page 12: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Análise do comportamento – com terminologia fácil:

• Um operante é uma classe, da qual uma resposta é uma instância ou membro. ... É sempre uma resposta à qual um reforço é contingente, mas é contingente às propriedades que definem a pertinência a um operante. Assim, um conjunto de contingências define um operante. (Skinner, 1969, p. 131).

Coincidências?!Coincidências?!

Classes, objetos e instâncias Classes, objetos e instâncias como visto em OOcomo visto em OO

Page 13: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Análise do comportamento – com terminologia fácil:

Coincidências?!Coincidências?!

Classes, objetos e instâncias Classes, objetos e instâncias como visto em OOcomo visto em OO

• OBJETOS e CLASSES.– Instancias de Objetos são

representações de exemplos– Classes são estruturas que

contem os dados (atributos) e os comportamentos/funções (métodos)

– Nome de classe são únicos.

Métodos descrevem o que Métodos descrevem o que o objeto pode fazero objeto pode fazer

Atributos registram Atributos registram estrutura dos dadosestrutura dos dados

Page 14: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Análise do comportamento – com terminologia fácil:

Coincidências?!Coincidências?!

Diagrama de ClassesDiagrama de Classes

• A análise científica do comportamento começa pelo isolamento das partes simples de um evento complexo de modo que possa ser melhor compreendida.

• A análise do comportamento determina as características/dimensões da ocasião em que o comportamento ocorre, identifica as propriedades públicas e privadas da ação e define as mudanças produzidas pela emissão das respostas (no ambiente, no organismo).

• Essa tríade chama-se contingência tríplice, e é a unidade funcional da análise do comportamento. (Wikipedia)

Page 15: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Análise do comportamento – com terminologia fácil:

Coincidências?!Coincidências?!

Diagrama de ClassesDiagrama de Classes

– As classes se relacionam entre si.– As relações podem ser de

associação (mesmo nível de classe) ou de dependência

(hierarquia).– Classes podem compor outras

classes constituindo classes maiores.

Page 16: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• UML

– A Unified Modeling Language ('UML) é uma linguagem de modelagem não proprietária de terceira geração. A UML não é um método de desenvolvimento, o que significa que ela não diz para você o que fazer primeiro e em seguida ou como desenhar seu sistema, mas ele lhe auxilia a visualizar seu desenho e a comunicação entre objetos.

– Os esforços para a criação da UML teve início em outubro de 1994, quando Rumbaugh se juntou a Booch na Rational. Com o objetivo de unificar os métodos Booch e OMT, decorrido um ano de trabalho, foi lançado, em outubro de 1995, o esboço da versão 0.8 do Método Unificado (como era conhecido). Nesta mesma época, Jacobson se associou à Rational e o escopo do projeto da UML foi expandido para incorporar o método OOSE. Nasceu então, em junho de 1996, a versão 0.9 da UML.

Page 17: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Dicas de Ferramentas....– Poseidon (www.gentleware.com)– SUN (http://developers.sun.com)– IBM RATIONAL (

http://www-306.ibm.com/software/rational/uml/)– Ver site www.uml.org– Jude

• Sites relacionados• http://www.uml.org/ (principal site e com links)• http://www.cetus-links.org/oo_uml.html#oo_uml_utilities_tools

(coletânea de links)

Page 18: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Dicas de Livros• 1. Desenvolvendo Aplicações com Uml

2.0 - Do Conceitual À Implementação - 2ª Ed. 2004 Melo, Ana Cristina / BRASPORT R$ 56,00

• 2. Uml - Uma Abordagem Prática 2004 Guedes, Gilleanes T. A. / NOVATEC R$ 69,00

• 3. Uml - Guia do Usuário - Tradução da 2ª EdiçãoBooch, Grady; Jacobson, Ivar; Rumbaugh, James R$ 95,00

• 4. Desenvolvendo Aplicacoes Web Com Uml. 2003 Conallen, Jim Editora Campus

Page 19: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Cases de sucesso:• Swedbank (IBM RUP). Problema de sistemas em

multiplataformas. Economia de 30 porcento. Economizou tempo de projeto por causa da qualidade de checagem embutida na ferramenta

• InterContinental Hotels (IBM RUP) Economia de milhões de doláres. Precisava integrar sistemas para suportar mais usuários.

• Xerox (ArtiSan) Gerenciamento de projetos com redução de riscos. Modelagem de projetos de interfaces de produtos e com alguns projetos em andamento.

Page 20: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• UML– Diagramas de UML – são 13 diagramas na versão 2.0

Page 21: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• UMLO fato de nomear 7 diagramas como comportamentais, sendo quatro de

interação, chama a atenção para a Psicologia experimental e Análise Funcional do Comportamento. De fato, o Prof. Ph.D. John MacArthur, ex-presidente da IBM confirmou saber da existências das idéias de Skinner quando foram colegas em Harvard.

Page 22: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• UML– Diagrama de Caso de USO (diagrama comportamental)

Burrhus Frederic Skinner (1904-1990)Burrhus Frederic Skinner (1904-1990)

AtorAtor

Caso de UsoCaso de Uso

Page 23: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• UML– Diagrama de Classe (estrutural)

ClasseClasse

Page 24: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• UML– Diagrama de Objetos (estrutural)

Instância da classe Instância da classe veiculo seguradoveiculo segurado

Page 25: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• UML– Diagrama de Estrutura Composta (estrutural)

Page 26: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• UML– Diagrama de Sequencia (interação - comportamental)

Instancia da ClasseInstancia da Classe

AtorAtor

Comunicação entre entidadesComunicação entre entidades

Page 27: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.• UML

– Diagrama de Comunicação ( ex-colaboração ,interação comportamental)

Instância de Conta Comum e Instância de Conta Comum e métodométodo

Page 28: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.• UML

– Diagrama de Máquina de Estado ( ex-Gráfico de Estados, comportamental)

Inicio e atividadeInicio e atividade

Estado e métodoEstado e método

FinalFinal

Page 29: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.• UML

– Diagrama de Atividades (comportamental)

FinalFinal

InícioInícioAtividadeAtividade

DecisãoDecisão

Page 30: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.• UML

– Diagrama de Componentes (estrutural)

ComponenteComponente

Page 31: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.• UML

– Diagrama de Implantação (estrutural)

NóNó

Page 32: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.• UML

– Diagrama de Pacotes (estrutural)

PacotePacote

Page 33: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.• UML

– Diagrama de Interação Geral (interação, comportamental)

Diagrama de atividadeDiagrama de atividade

Diagrama de SequênciaDiagrama de Sequência

Page 34: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.• UML

– Diagrama de Tempo (interação, comportamental)

Timeline das diferentes Timeline das diferentes etapas que a instância etapas que a instância de Concurso passade Concurso passa

Page 35: Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. 29/4/2006 Análise do comportamento... UML... Desenvolvimento de

29/4/200629/4/2006

Celso Socorro Oliveira

Análise de ComportamentoAnálise de Comportamentono Desenvolvimento de Software com UML.no Desenvolvimento de Software com UML.

• Obrigado....

[email protected] ou [email protected]