Baixe o app para aproveitar ainda mais
Prévia do material em texto
Análise e Projeto Orientado a Objetos Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé O que veremos hoje? Análise e Projeto ¤ Definição ¤ Comparação Análise e Projeto OO ¤ Definição ¤ Comparação ¤ Inserção no processo de desenvolvimento 2 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Motivação Conhecer uma linguagem de programação orientada a objetos não é suficiente... ¤ Muitas vezes, programa-se de forma estruturada utilizando uma linguagem OO Deve-se pensar OO ¤ Para isso, deve-se aprender Análise e Projeto OO... ¤ ... ou seja, análise e projeto de software segundo o paradigma de orientação a objetos 3 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Foco da disciplina Nesta disciplina, o foco é projeto OO ¤ Na prática, eles são feitos em ciclo ¤ Em cada ciclo, a análise vem antes do projeto ¤ Ensina-se projeto primeiro, porque a análise requer mais maturidade 4 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Programação Projeto Análise curso (maturidade) Foco da disciplina Para a criação de modelos, será utilizada UML ¤ UML não será ensinada no curso... ¤ ...mas serão dadas dicas de utilização Um modelo é uma representação abstrata dos aspectos essenciais de um sistema ¤ O que é essencial, depende do momento da modelagem 5 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) O que é Análise??? Análise modela o problema e consiste das atividades necessárias para entender o domínio do problema Trata-se de uma atividade de 6 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) O que deve ser feito? E/ou: a análise consiste de atividades feitas com e para o cliente (análise de requisitos) A informação produzida na análise deve ser discutida e aprovada pelo cliente ¤ Invade-se um pouco o espaço da solução... ¤ Interface do usuário, por exemplo 7 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) O que deve ser feito, de acordo com o Cliente? O que é Projeto??? O projeto modela a solução e consiste das atividades de criação Trata-se de uma atividade de resolução 8 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Como pode ser feito? O Projeto inclui as atividades que resultam em informação que interessa apenas ao Programador. A atividade de projeto serve como base para a atividade de programação (construção) 9 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Programador, veja como deve ser feito! Análise e Projeto 10 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Análise (Modelagem do problema) Projeto (Modelagem da solução) Entender Criar Análise e Projeto Análise (Informação importante Para o cliente discutir e aprovar) Projeto (Informação importante para o programador) Cliente Programador Análise invade o espaço da solução Análise, Projeto e Construção 12 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Investigação do problema Código Solução lógica Análise Projeto Construção Análise e projeto criam modelos Neste curso, focamos em modelos OO ¤ Menor distância representacional Análise Orientada a Objetos A perspectiva empregada é de objetos ¤ Coisas, conceitos, entidades... com estado e responsabilidades ¤ Ênfase em identificar descrever objetos ou conceitos do domínio do problema ¤ Num sistema para uma biblioteca, os conceitos são livro, biblioteca, usuário... 14 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Análise Orientada a Objetos Atividade de abstração... Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Mundo Contexto do problema Apenas o que interessa no mundo... ... de acordo com o contexto! Representando modelos na análise Podemos criar modelos do domínio do problema UML é útil aqui: ¤ Se os objetos forem do domínio do problema ¤ Se os objetos não tiverem métodos Projeto Orientado a Objetos A perspectiva empregada é de objetos ¤ Ênfase em identificar objetos lógicos de software que poderão ser eventualmente implementados usando uma linguagem de programação OO ¤ Tais objetos podem ter atributos e métodos 17 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Atributos Livro titulo ano Nome Livro Métodos Livro titulo ano imprimir Análise e Projeto OO Mito Correspondência 1-para-1 ¤ Não é verdade que haja correspondência 1-para-1 entre entidades de análise e projeto ¤ Pode haver entidade do modelo de análise que não será apresentado no projeto (raro) ¤ Pode haver entidades adicional no projeto (freqüente) ¤ Conexão de banco de dados ¤ Objeto controlador ¤ Cache de objetos ¤ ... 18 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Análise, Projeto e Construção OO Durante a construção (programação OO) os objetos são implementados e testados 19 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Livro titulo ano imprimir public class Livro{ private String titulo; private int ano; public void print(){ ... } } Conceito de domínio Análise/Projeto Implementação Exemplo Um jogo de dados ¤ O usuário joga dois dados ¤ Se resultado == 7, ele ganha ¤ Se não, ele perde Modelo do domínio (análise) Player name DiceGame Die faceValue Rolls Plays Includes 2 2 1 1 1 1 Agora projeto Como os objetos interagirão? ¤ Isso pode ser achado de várias formas ¤ TDD ¤ UML com UML: O projeto (ou parte dele) 2 Die faceValue : int getFaceValue() : int roll() DiceGame die1 : Die die2 : Die play() 1 O que vimos? Análise e Projeto ¤ Análise: entender o problema ¤ informação do cliente ¤ Projeto: modelar a solução ¤ informação para o programador Análise e Projeto OO ¤ Análise OO: objetos do domínio ¤ Projeto OO: objetos lógicos 25 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) O que veremos a seguir? Processo de desenvolvimento de software ¤ Análise e projeto acontecem dentro de um processo ¤ Não um processo específico... e sim uma visão geral ¤ Quais as atividades do desenvolvedor em cada uma das fases do processo (análise, projeto, implementação e testes)? Artefatos ¤ Quais modelos e artefatos são produzidos durante o processo de desenvolvimento? 26 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida) Dúvidas? ? 27 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)
Compartilhar