Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira Análise do comportamento... UML... Desenvolvimento de software. 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • Alguns problemas... Piada velha, mas atual. 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • Alguns mitos: • • • • • 29/4/2006 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 Análise de Comportamento no Desenvolvimento de Software com UML. • Etapas de projeto: 29/4/2006 Celso Socorro Oliveira Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • 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, tivessemos os termos comportamentos e contingências? 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • 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"). 29/4/2006 Primeiro computador apareceu em 1946, o ENIAC Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • 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) 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • O que é análise do comportamento: Celso Socorro Oliveira • 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). 29/4/2006 Antecedente – Resposta Consequente Lembra alguma coisa? Input – process Output Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • 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 unidades comportamentais... Não foi entendida pelo público geral. 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • 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 operante difere do condicionamento clássico de Pavlov porque depende do tipo de reforço após a resposta. 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • 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) 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • 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?! 29/4/2006 Classes, objetos e instâncias como visto em OO Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • Análise do comportamento – com terminologia fácil: • 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. Atributos registram estrutura dos dados Métodos descrevem o que o objeto pode fazer Coincidências?! 29/4/2006 Classes, objetos e instâncias como visto em OO Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • Análise do comportamento – com terminologia fácil: • • • 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) 29/4/2006 Coincidências?! Diagrama de Classes Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • Análise do comportamento – com terminologia fácil: – 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. 29/4/2006 Coincidências?! Diagrama de Classes Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • 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. 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • Dicas de Ferramentas.... – Poseidon (www.gentleware.com) – SUN (http://developers.sun.com) – IBM RATIONAL (http://www306.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) 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • 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ção Booch, Grady; Jacobson, Ivar; Rumbaugh, James R$ 95,00 • 4. Desenvolvendo Aplicacoes Web Com Uml. 2003 Conallen, Jim Editora Campus 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • 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. 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • UML – Diagramas de UML – são 13 diagramas na versão 2.0 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • UML O 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. 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • UML Celso Socorro Oliveira – Diagrama de Caso de USO (diagrama comportamental) Ator Caso de Uso Burrhus Frederic Skinner (1904-1990) 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • UML Celso Socorro Oliveira – Diagrama de Classe (estrutural) Classe 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • UML Celso Socorro Oliveira – Diagrama de Objetos (estrutural) Instância da classe veiculo segurado 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • UML Celso Socorro Oliveira – Diagrama de Estrutura Composta (estrutural) 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • UML Celso Socorro Oliveira Ator – Diagrama de Sequencia (interação - comportamental) Instancia da Classe Comunicação entre entidades 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • UML – Diagrama de Comunicação comportamental) Celso Socorro Oliveira ( ex-colaboração ,interação Instância de Conta Comum e método 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • UML Celso Socorro Oliveira – Diagrama de Máquina de Estado ( ex-Gráfico de Estados, comportamental) Inicio e atividade Estado e método Final 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • UML Celso Socorro Oliveira – Diagrama de Atividades (comportamental) Início Atividade Final Decisão 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • UML Celso Socorro Oliveira – Diagrama de Componentes (estrutural) Componente 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • UML – Diagrama de Implantação (estrutural) Nó 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • UML Celso Socorro Oliveira – Diagrama de Pacotes (estrutural) Pacote 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • UML Celso Socorro Oliveira – Diagrama de Interação Geral (interação, comportamental) Diagrama de atividade Diagrama de Sequência 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. • UML Celso Socorro Oliveira – Diagrama de Tempo (interação, comportamental) Timeline das diferentes etapas que a instância de Concurso passa 29/4/2006 Análise de Comportamento no Desenvolvimento de Software com UML. Celso Socorro Oliveira • Obrigado.... • [email protected] ou [email protected] 29/4/2006