Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)



Documentos relacionados
3.1 Definições Uma classe é a descrição de um tipo de objeto.

PROGRAMAÇÃO OO DIAGRAMA DE CLASSES. Engenheiro Anilton S. Fernandes (asfernandes.com) Janeiro 2012

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Programação Orientada a Objeto

DESENVOLVENDO O SISTEMA

Análise e Projeto de Sistemas. O que é modelagem. O que é modelagem. Tripé de apoio ao desenvolvimento. Notação: UML. Ferramenta: Rational Rose.

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Guia de utilização da notação BPMN

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Projeto Orientados a Objeto

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

O sucesso de hoje não garante o sucesso de amanhã

QUESTÕES PARA ESTUDO DIAGRAMA DE CLASSE

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Fundamentos de Banco de Dados e Modelagem de Dados

Casos de Uso. Professor MSc Wylliams Barbosa Santos wylliams.wordpress.com Laboratório de Programação

Desenvolvimento estruturado versus orientado a objetos.

Resolução da lista de exercícios de casos de uso

Projeto da Disciplina Parte1: Estudo de Viabilidade. Um Estudo de Viabilidade

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

Unidade II MODELAGEM DE PROCESSOS

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

ProcessoUnificado: Prof. Anderson Cavalcanti UFRN-CT-DCA

Orientações Preliminares. Professor Fábio Vinícius

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

Índice. 1. Frações e Decimais: As Representações dos Números Racionais Blocos Lógicos e Material Dourado...3

SISTEMAS DE INFORMAÇÃO GERENCIAIS

PCS LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA

Processos de gerenciamento de projetos em um projeto

Como escrever um estudo de caso que é um estudo de caso? Um estudo so é um quebra-cabeça que tem de ser resolvido. A primeira coisa a

ALGORITMOS E FLUXOGRAMAS

Mapa Mental de Engenharia de Software - Diagramas UML

5 Considerações finais

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Sumário. Uma visão mais clara da UML

Orientação a Objetos I

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

UML Unified Modeling Language. Professor: André Gustavo Bastos Lima

Implementando uma Classe e Criando Objetos a partir dela

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

COMO CRIAR UM SITE DE NEGÓCIOS

COMO INICIAR O RELACIONAMENTO COM OS LEADS? 8 passos para TER UMA SEQUÊNCIA DE S BEM SUCEDIDA.

Projeto de Banco de Dados. Disciplina: Banco de Dados I José Antônio da Cunha

Modelagem Dinâmica com UML

Sua Tríplice de um Curso de Sucesso

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Programação em papel quadriculado

2 Engenharia de Software

Aumente o valor do ciclo de vida de cada cliente

RELACIONAMENTOS ENTRE CLASSES

Eduardo Bezerra. Editora Campus/Elsevier

Análise e Projeto Orientado a Objetos

5 DICAS DE GESTÃO EM TEMPOS DE CRISE. Um guia prático com 5 dicas primordiais de como ser um bom gestor durante um período de crise.

Micro Mídia Informática Fevereiro/2009

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Engenharia de Software II

O Processo Unificado

UML: Diagrama de Casos de Uso, Diagrama de Classes

1. Eu tenho problema em ter minhas necessidades satisfeitas

Diagrama de Casos de Uso

Análise e Projeto de Software

1. INTRODUÇÃO. Espero que faça um bom proveito do conteúdo e que, de alguma forma, este e-book facilite a sua decisão de adquirir um planejamento.

Aula 5 UML: Casos de Uso

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

A Maquina de Vendas Online É Fraude, Reclame AQUI

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

Análise de Sistemas. Contextualização. O Sucesso. Aula 4. Instrumentalização. Aula 4. Prof. Emerson Klisiewicz. Clientes satisfeitos

Introdução a UML. Introdução a UML (Unified Modeling Language)

Modelos de Sistemas Casos de Uso

Privacidade e Segurança

Segurança em Redes. <Nome> <Instituição> < >

Atua no acompanhamento das atividades, através da implementação de políticas e normas; Busca a satisfação do cliente.

FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO!

meses e de ganhos financeiros muito maiores do que quando se é empregado é um erro comum. Além disso, a idéia de não ter chefe é extremamente

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Administração de Sistemas de Informação Gerenciais

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Top Guia In.Fra: Perguntas para fazer ao seu fornecedor de CFTV

Modelagem de Sistemas

Análise e Projeto Orientados a Objeto

Exemplo de Modelagem Orientada a Objetos

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

O PAPEL EMPREENDEDOR NO SISTEMA DE GESTÃO DA QUALIDADE * PALAVRAS-CHAVE: Sistema de Gestão da Qualidade. Representante da Diretoria. ISO 9001.

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis.

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

COMO TER TEMPO PARA COMEÇAR MINHA TRANSIÇÃO DE CARREIRA?

Transcrição:

Programação Orientada a Objetos Introdução à Análise Orientada a Objetos (AOO) Cristiano Lehrer, M.Sc.

Processo de Desenvolvimento de Software Um processo de software mostra os vários estágios do desenvolvimento de software. Um processo iterativo é uma estratégia iterativa e incremental para desenvolvimento de software. Outro modo de pensar a respeito do processo é como uma estratégia 'evolutiva'. Cada iteração aperfeiçoa e elabora gradualmente um produto básico em um produto amadurecido. Os processos iterativos precisam ser cuidadosamente monitorados para se garantir que eles não sejam simplesmente reduzidos a 'cavar' uma solução. A AOO e o POO fornecem tal verificação de sanidade.

Análise Orientada a Objetos (AOO) (1/4) Análise Orientada a Objetos é um processo que usa uma estratégia orientada a objetos para ajudá-lo a entender o problema que está tentando resolver. No final da análise, você deverá entender o domínio do problema e seus requisitos em termos de classes e interações de objetos. Sistema é o termo da AOO para um conjunto de objetos que interagem. Você pode dizer que esses objetos constituem um sistema ou modelo do problema.

Análise Orientada a Objetos (AOO) (2/4) Os requisitos são os recursos ou características que o sistema deve ter para resolver determinado problema. Um modo de descobrir esses usos é através de análise de casos de uso. Através da análise você definirá vários casos de uso. Um caso de uso descreve como um usuário vai interagir com o sistema.

Análise Orientada a Objetos (AOO) (3/4) Análise de casos de uso é o processo de descoberta de casos de uso através da criação de cenários e histórias com usuários em potencial ou existentes de um sistema. Um caso de uso descreve a interação entre o usuário do sistema e o sistema como o usuário utilizará o sistema do seu próprio ponto de vista. Para definir seus casos de uso, você deve: Identificar os atores. Criar uma lista preliminar de casos de uso. Refinar e nomear os casos de uso. Definir a sequência de eventos de cada caso de uso. Modelar seus casos de uso.

Análise Orientada a Objetos (AOO) (4/4) Um ator é tudo que interage com o sistema. Pode ser um usuário humano, outro sistema de computador ou um chimpanzé. Um cenário é uma sequência ou fluxo de eventos entre o usuário e o sistema. Condições prévias são aquelas condições que devem ser satisfeitas para que um caso de uso comece. Condições posteriores são os resultados de um caso de uso.

Projeto Orientado a Objetos (POO) (1/3) Projeto Orientado a Objetos é o processo de construir o modelo de objeto de uma solução. Dito de outra maneira, POO é o processo de dividir uma solução em vários objetos constituintes. O modelo de objeto é o projeto dos objetos que aparecem na solução de um problema. O modelo final de objeto pode conter muitos objetos não encontrados no domínio. O modelo de objeto descreverá as várias responsabilidades, relacionamentos e estrutura do objeto.

Projeto Orientado a Objetos (POO) (2/3) O POO continua o trabalho da AOO, pegando o domínio e transformando-o em uma solução para seu problema. Através do processo de POO, você pega seu modelo de domínio e constrói o modelo de objetos de sua solução. O modelo de objetos descreve os aspectos arquitetonicamente significativos de seu sistema, como a estrutura e os relacionamentos dos objetos como os objetos se encaixam. No final do POO, você deverá ter uma boa ideia do que implementará no código.

Projeto Orientado a Objetos (POO) (3/3) A grosso modo, existem cinco passos iterativos que você pode seguir, enquanto realiza o POO: Gerar a lista de objetos inicial. Refinar as responsabilidades de seus objetos. Desenvolver os pontos de interação. Um ponto de interação é qualquer lugar onde um objeto use outro. Detalhar os relacionamentos entre os objetos. Construir seu modelo.

Unified Modeling Language (UML) (1/3) Uma linguagem de modelagem é uma notação gráfica para descrever um projeto de software. A linguagem também inclui várias regras para distinguir entre desenhos corretos e incorretos. São essas regras que tornam a UML uma linguagem de modelagem e não apenas um punhado de símbolos para desenho. Uma metodologia define um procedimento para projetar software. As linguagens de modelagem capturam esse projeto graficamente.

Unified Modeling Language (UML) (2/3) A UML é uma linguagem de modelagem padrão. A UML consiste na notação para descrever cada aspecto de um projeto de software. Uma metodologia ou processo descreve como projetar software. Uma metodologia frequentemente contém uma linguagem de modelagem.

Unified Modeling Language (UML) (3/3) A UML apresenta um rico conjunto de ferramentas de modelagem. Como resultado, existem muitas informações que você pode colocar em seus modelos. Cuidado para não tentar usar toda a notação existente ao modelar. Use apenas notação suficiente para transmitir seu projeto. Lembre-se sempre de que o objetivo de seu modelo é transmitir seu projeto. Faça o que precisar para transmiti-lo e fique com isso.

Modelando uma Classe (1/4) Visibilidade - privado # protegido + público Nome da classe Atributos da classe Métodos da classe balance : double BankAccount + depositfunds(amount : double) : void + getbalance() : double # setbalance(amount : double) : void + withdrawfunds(amount : double) : double

Modelando uma Classe (2/4) Dicas para a modelagem eficiente: Sempre faça a você mesmo a pergunta o que eu estou tentando transmitir?. A resposta o ajudará a decidir exatamente o que você precisa modelar. Sempre faça a você mesmo a pergunta para quem eu estou tentando transmitir a informação?. A resposta ditará o modo como você vai modelar. Sempre tente produzir o modelo mais simples que ainda tenha êxito em transmitir seu projeto.

Modelando uma Classe (3/4) Dicas para a modelagem eficiente: Não fique preso à linguagem de modelagem. Embora você não deva ser vago demais na semântica, não deve deixar que o fato de seguir a notação perfeitamente o impeça de concluir seus diagramas. Os perigos da paralisia ao modelar são reais especialmente quando você está começando. Não se preocupe se seu modelo não estiver 100% perfeito. Preocupe-se somente se seu modelo não transmite corretamente o projeto.

Modelando uma Classe (4/4) Dicas para a modelagem eficiente: Finalmente, lembre-se de que a UML (ou qualquer outra linguagem de modelagem) é simplesmente uma ferramenta para ajudá-lo a transmitir o projeto. Ela não é um instrumento em si mesma. No final do dia, você ainda precisará produzir código.

Modelando um Relacionamento de Classe (1/2) A UML reconhece três tipos de alto nível de relacionamento de objetos: Dependência Em um relacionamento de dependência, um objeto é dependente da especificação de outro objeto. Associação Se a especificação mudar, você precisará atualizar o objeto dependente. Uma associação indica que um objeto contém outro objeto. Generalização Nos termos da UML, quando se está em um relacionamento de associação, um objeto está conectado a outro. Um relacionamento de generalização indica um relacionamento entre o geral e o específico. Se você tem um relacionamento de generalização, então sabe que pode substituir uma classe filha pela classe progenitora.

Modelando um Relacionamento de Classe (2/2) Dependência Associação Generalização Produto Pessoa Pessoa Alíquota Banco Aluno