Análise e Design OO com UML

Tamanho: px
Começar a partir da página:

Download "Análise e Design OO com UML"

Transcrição

1 Análise e Design OO com UML

2

3 Histórico de revisões Data Versão Descrição Autor 03/01/ Revisão e atualização HEngholmJr 24/12/ Criação da primeira versão HEngholmJr 9/1/ Correção de texto e inclusão de novos slides HEngholmJr 12/1/ Inclusão de slide adicional relacionado a Classe e Objeto HEngholmJr

4 OBJETIVOS Nivelar os participantes nos conceitos do Paradigma Orientado a Objetos (POO) de desenvolvimento de sistemas. Apresentar os fundamentos da orientação a objetos e como se aplicam ao desenvolvimento de software.

5 Tópicos abordados Introdução à Orientação a Objetos Crise do software Metas de Engenharia de Software Processos de Desenvolvimento de Sistemas Princípios do Paradigma Orientado a Objetos (POO)

6 Por que Orientação a Objetos com UML Os seres humanos pensam em termos de substantivos (objetos) e verbos (comportamentos dos objetos). Com OOSD, os domínios do problema e da solução são modelados utilizando conceitos OO. A UML é adequada para representar modelos mentais. Linguagens OO trazem a implementação mais perto dos modelos mentais. A UML é uma boa ponte entre os modelos mentais e a implementação.

7 Examinando os princípios da Orientação a Objetos Sistemas de software executam determinadas ações sobre objetos de certos tipos; para obter sistemas flexíveis e reutilizáveis, é melhor basear suas estruturas nos objetos que compões os mesmos do que em suas ações. "(Meyer página vi) Princípios OO afetam as seguintes questões: Complexidade Software Decomposição do Software Custos de Software

8 Examinando os princípios da Orientação a Objetos Sistemas complexos têm as seguintes características: Possuem estrutura hierárquica. A escolha de quais componentes são primitivos no sistema são arbitrárias. Um sistema pode ser dividido no relacionamento entre componentes. Os sistemas complexos são geralmente compostos por apenas alguns tipos de componentes em várias combinações. Um sistema complexo de sucesso invariavelmente evolui a partir de um sistema de trabalho simples.

9 Decomposição de Software No paradigma procedural, o software é decomposto na hierarquia de suas tarefas ou procedimentos.

10 Decomposição de Software No paradigma OO, o software é decomposto em uma hierarquia interativa de componentes.

11 Custos de software Desenvolvimento Princípios OO fornecem uma técnica natural para modelagem de entidades e processos de negócios a partir dos estágios iniciais do projeto. Processos e entidades de negócio são mais fáceis de se modelar em linguagens OO. Manutenção Facilidade de modificação, flexibilidade e adaptabilidade de software são importantes para manter o software funcionando por um longo tempo. Entidades e processos de negócios podem ser adaptados a novas exigências funcionais.

12 Custos de software

13 A arte de modelar Modelagem

14 Crise do Software

15 A boa notícia % dos projetos de software foram.... bem-sucedidos.... Standish Group, CHAOS Report, 2000

16 A Má Notícia % dos projetos de software falharam!... Standish Group, CHAOS Report, 2000

17 Necessidade da Engenharia de Sw B.C. by Johnny Hart Eu disse monotrilhos! Não disse!

18 Crise do software O problema Custos de desenvolvimento de sistemas aumentando Prazos de desenvolvimento de software tornando-se mais longos com custos de manutenção maiores Erros de software mais freqüentes, refletindo em custos de manutenção relacionados ao retrabalho Inflexibilidade dos processos estruturados de desenvolvimento Demanda de softwares cada vez maior Desenvolvimento de aplicativos/sistemas com alto custo e baixa qualidade Complexidade cada vez maior dos sistemas desenvolvidos

19 Crise do software Expectativas Software confiável, flexível e de fácil manutenção Maior velocidade no desenvolvimento de software, acarretando em diminuição dos custos e de tempo de chegada ao(s) cliente(s) Reusabilidade Diminuição do número de falhas nos aplicativos desenvolvidos, diminuindo os custos relacionados à manutenção

20 Metas da Engenharia de Software Facilidade de projetar e reutilizar código Aumento da confiabilidade Facilidade de compreensão do código Aumento da abstração: a POO permite que se analise o problema com um todo ignorando detalhes do mesmo Aumento do encapsulamento: agrupamento de todas as peças de um objeto dentro de um pacote limpo Aumento da ocultação de informações: ao utilizar um objeto podemos fazê-lo sem saber o que ocorre dentro do mesmo (caixa preta) Aumento da reusabilidade de código Diminuição dos custos e do tempo de desenvolvimento

21 Pequeno histórico Década de 60 Desenvolvedores construíam aplicações/sistemas pequenos e relativamente simples e os desenvolvedores não utilizavam métodos de desenvolvimento, a não ser a própria criatividade, gerando códigos de difícil entendimento e manutenção (utilizavam linguagens como Assembly, COBOL e FORTRAN).

22 Pequeno histórico Década de 70 Apareceu um método de desenvolvimento de software que utilizava as funções como blocos de construção (Al Constantine e Ed Yourdon) conhecido como Análise e Desenho Estruturado. Emprega Diagramas de Fluxo de Dados (DFD) para modelar o mundo real, oferecendo uma certa contribuição para a solução de diversas questões, mas apresentando o sério problema de ser elaborada tendo em vista apenas o lado procedural das atividades que estão sendo modeladas.

23 Pequeno histórico Década de 80 Peter Chen (desenvolvedor do Diagrama Entidade e Relacionamento) e Ed Codd (desenhista do Banco de Dados Relacional) forneceram aos desenvolvedores um novo meio de desenvolver software, Diagrama Entidade Relacionamento, utilizando como bloco de construção coleções de itens de dados, conhecidos como Entidades. Este método pareceu ser apropriado para o estabelecimento de uma nova Metodologia de Desenvolvimento de Software para aplicações empresariais, porque acreditava-se que os dados eram a parte mais estática de uma aplicação empresarial.

24 Pequeno histórico Orientação a Objetos A orientação a objetos tem sua origem nos anos 60 na Noruega, com Kristen Nygaard e Ole-Johan Dahl, no Centro Norueguês de Computação. Através da linguagem Simula 67, foram introduzidos os conceitos de classe e herança. A orientação a objetos foi mais bem conceituada no laboratório da Xerox, em Palo Alto, sendo refinada numa seqüência de protótipos da linguagem Smalltalk. O líder desse projeto foi Alan Curtis Kay, considerado um dos criadores do termo programação orientada a objetos.

25 Pequeno histórico Orientação a Objetos A orientação a objetos é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos. Na qualidade de método de modelagem, é tida como a melhor estratégia para se eliminar o "gap semântico", dificuldade recorrente no processo de modelar o mundo real do domínio do problema em um conjunto de componentes de software que seja o mais fiel na sua representação deste domínio

26 Pequeno histórico Orientação a Objetos Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos. C++, C, VB.NET, Java, Object Pascal, Objective-C, Python, SuperCollider, Ruby e Smalltalk são exemplos de linguagens de programação orientadas a objetos.

27 Pequeno histórico Cobol e Orientação a Objetos No fim da década de 90 o Gartner Group estimou que dos 300 bilhões de linhas de código-fonte existentes no mundo, 80% - ou cerca de 240 bilhões de linhas - estavam em COBOL. Foi lançado o COBOL 2002, incluindo suporte para programação orientada a objetos e outras características das linguagens modernas. O COBOL2002 suporta conveniências modernas como Unicode, geração de XML e convenção de chamadas de/para linguagens como o C, inclusão como linguagem de primeira classe em ambientes de desenvolvimento como o.net da Microsoft e a capacidade de operar em ambientes fechados como Java (incluindo COBOL em instâncias de EJB) e acesso a qualquer base SQL. A migração não ocorre devido ao alto custo e ao risco deste processo.

28 Processos de Desenvolvimento de Sistemas

29 Cascata Requisitos Análise Tempo Design Implementação Testes Sistema completo

30 Características do método Cascata Processo tradicional Uma fase só iniciada quando a anterior estiver 100% completa O processo de desenvolvimento é realizado de uma só vez passando por todas as fases de desenvolvimento Cada fase deve estar completa, documentada antes de se mover para a fase seguinte Se problemas são detectados em fases futuras, é difícil de se retornar para fases anteriores É gasto muito tempo e esforço pela equipe para garantir que as fases estão sendo executadas com 100% de conformidades

31 Custo da descoberta do erro $ $ Custo de Reparo 0 $ $ $ $ Análise Projeto Codificação Teste de Unidade Teste de Aceitação Estágio em que o Erro é Descoberto Manutenção

32 Processos de desenvolvimento de sistemas RUP - Rational Unified Process Iteração 1 Iteração 2 Iteração 3 R D C R D C R D C * * * * * Sistema completo com módulos integrados T T T Módulo 1 Módulo 2 Módulo 3 R - Análise de requisitos D - Projeto C - Código, teste de unidade T - Integração Tempo

33 Processos de desenvolvimento de sistemas Procedimentos: Define-se quais funcionalidades serão implementadas em cada iteração Procura-se contemplar as de maior risco primeiro Possibilidade de entrega modular ao cliente

34 Características do processo RUP Grandes projetos são quebrados em vários mini-projetos que possuem seus próprios ciclos de vida Projetos são iterativos e incrementais Incremento Parte do processo de desenvolvimento destinado a contemplar um conjunto de Casos de Uso Iteração Processo executado para contemplar um incremento Cada incremento é construído a partir de resultados anteriores e atualiza e corrige entregas anteriores

35 Características do processo RUP Desenvolver software iterativamente Gerenciar os requisitos Usar arquitetura baseada em componentes Modelar visualmente o software Verificar continuamente a qualidade do software Controlar mudanças do software

36 Ciclo de vida Incremental e Iterativo de projetos Em todas as fases de construção devemos: Selecionar e analisar os Casos de Uso relevantes Criar o design utilizando a arquitetura selecionada Implementar o design dos componentes Verificar que os componentes atendem aos Casos de Uso Prosseguir para a próxima iteração quando a atual atender seus objetivos, caso contrário, rever decisões anteriores e tentar outras aproximações

37 Fase de Análise O que deve ser feito Requisitos Análise Design Implementação Testes Estabelecer uma visão clara do problema de negócio Verificar as tarefas que o sistema deve contemplar Entender o vocabulário do cliente Levantar os recursos existentes no cliente (plataforma,...) Verificar a melhor solução para o problema de negócio Definir tarefas

38 Fase de Design Como será feito Requisitos Análise Design Implementação Testes Resolver o problema de negócio Verificar elementos de suporte que farão o sistema funcionar Definir uma estratégia para implementação do sistema Produzir todas as especificações do sistema Produzir os casos de teste

39 Utilização do POO Metas da Engenharia de Software Aumento do encapsulamento: agrupamento de todas as peças de um objeto dentro de um pacote limpo Aumento da ocultação de informações: ao utilizar um objeto podemos fazê-lo sem saber o que ocorre dentro do mesmo (caixa preta) Aumento da reusabilidade de código Diminuição dos custos e do tempo de desenvolvimento

40 Paradigma Orientado a Objetos O foco do Paradigma Orientado a Objetos não está nos procedimentos do universo e sim nos objetos que existem nele Representa uma nova forma de descrever nossa visão (modelagem) da realidade

41 Conceitos básicos da Programação Orientada a Objetos

42 O que é um modelo? Modelo é um conceito abstrato de uma entidade ou de um sistema Diferentes vistas mostram um modelo de diferentes perspectivas

43 Características da Programação Orientada a Objetos Os seguintes descrevem características da programação orientada a objetos: Objetos Classes

44 Objetos São blocos de construção da programação orientada a objetos São entidades ou itens únicos Possuem identidade, dados e comportamento Podem ser simples ou complexos Podem ser reais ou imaginários Possuem atributos e operações São instâncias dinâmicas de classes Possui propriedades (atributos) e presta serviços (métodos) Podem ser composto por outros objetos Possui todos os atributos e métodos da classe

45 Classes Uma classe é a definição de um objeto Todos os objetos são instanciados ou criados de uma classe Pode ser vista como um template que representa propriedades e comportamentos comuns entre objetos similares Representa um conjunto de objetos que compartilham os mesmos atributos, operações e relacionamentos Definida pelos membros de dados e pelas funções membro

46 Utilização do POO Metas da Engenharia de Software Facilidade de projetar e reutilizar código Aumento da confiabilidade Facilidade de compreensão do código Aumento da abstração: a POO permite que se analise o problema com um todo ignorando detalhes do mesmo Aumento do encapsulamento: agrupamento de todas as peças de um objeto dentro de um pacote limpo Aumento da ocultação de informações: ao utilizar um objeto podemos fazê-lo sem saber o que ocorre dentro do mesmo (caixa preta) Aumento da reusabilidade de código Diminuição dos custos e do tempo de desenvolvimento

47 Conceitos básicos do POO O foco do Paradigma Orientado a Objetos não está nos procedimentos do universo e sim nos objetos que existem nele Representa uma nova forma de descrever nossa visão (modelagem) da realidade

48 Conceitos básicos do POO Objetos Objetos são considerados a chave para o entendimento do paradigma Orientado a Objetos e são modelados como objetos da vida real, possuindo estados e comportamentos.

49 Conceitos básicos do POO - Objetos Objetos encapsulam dados e funções. Nome Dados Métodos Atributos Operações identidade

50 Princípios da POO

51 Princípios do Paradigma Orientado a Objetos Principais aspectos Abstração Encapsulamento Associação Agregação Composição Herança Coesão e Acoplamento Polimorfismo

52 Princípios do Paradigma Orientado a Objetos Abstração Representa as propriedades dos objetos sem referência a detalhes de implementação

53 Princípios do Paradigma Orientado a Objetos Encapsulamento (Information Hiding) Acesso aos dados do objeto somente pelos métodos do objeto Objetos que utilizam objeto não têm acesso nem conhecimento dos dados do objeto acessado nem da forma como o serviço é provido pelos métodos

54 POO Relacionamento entre objetos Alguns objetos são componentes de outros objetos Alguns objetos são utilizados para unir outros objetos Alguns objetos utilizam serviços de outros objetos Classes podem herdar atributos e serviços de outras classes A interdependência entre objetos é conhecida como Relacionamento

55 Princípios do Paradigma Orientado a Objetos Relacionamento entre objetos Associação Uma dependência entre dois ou mais objetos descreve uma associação Um objeto utiliza serviços de outro(s) objeto(s) nome da associação + papel 1 +papel 2 Classe * Classe 2 Exemplo: Vendedor Pedido 1 0..* Objeto vendedor envia mensagem de somar item de venda para o objeto Pedido de cliente.

56 Princípios do Paradigma Orientado a Objetos Relacionamento entre objetos Associação tipo Uso Indica colaboração entre classes através do envio de mensagens (objeto vendedor envia mensagem de somar item de venda para o objeto compra de cliente). Associação Usuario Usa Secador

57 Princípios do Paradigma Orientado a Objetos Relacionamento entre objetos Associação tipo Container Relacionamentos do tipo Container são úteis na redução do número de objetos que são visíveis em um sistema. Neste caso, em um sistema em que detalhes de objetos que compõe outro objeto não são necessários a este sistema, podemos encapsular todos os objetos que são parte daquele, dentro dele mesmo, e.g., detalhes dos objetos que compõem um motor não são relevantes para objeto carro. Nota: como exemplo, não utilize compra de um cliente como atributo de um objeto cliente e sim como um associação entre um objeto cliente e objetos da classe produto.

58 Princípios do Paradigma Orientado a Objetos Relacionamento entre objetos Agregação Considera a possibilidade de objetos serem compostos por outros objetos Um objeto é composto por outros objetos mas continua sendo válido se os mesmos não estiverem presentes (Carro sem o rádio) Utiliza-se o diamante vazio no objeto composto por outros Agregação Carro Radio ArCondicionado... GPS

59 Princípios do Paradigma Orientado a Objetos Relacionamento entre objetos Composição Construa objetos complexos a partir de objetos simples Considera a possibilidade de objetos serem compostos por outros objetos Um objeto é composto por outros objetos mas os mesmos são parte do todo (Lápis composto por madeira e grafite) O objeto-todo vive e morre com suas partes, acontecendo remoção em cascata Utiliza-se o diamante preenchido no objeto composto por outros Composição Conta 1 * ItemDaConta

60 Princípios do Paradigma Orientado a Objetos Relacionamento entre objetos Abstração x Composição Considere a flexibilidade, a gestão, e o que é certo para o objeto. Se os objetos sempre precisam existir de forma independente, use associação.

61 Princípios do Paradigma Orientado a Objetos Relacionamento entre objetos Tempo de vida de um objeto Tempo de vida de um objeto é o intervalo de tempo entre sua criação e sua destruição. Na composição os objetos têm a mesma vida útil. Objetos associados têm sobreposição de vidas. Associação constante: um objeto não pode existir ou ser criado a menos que outro objeto esteja sempre associado a ele.

62 Princípios do Paradigma Orientado a Objetos Herança Permite criar novas Classes (sub-classes) a partir de classes já existentes A nova classe pode herdar as funções-membros e variáveis da classe básica (Super-classe) Herança Generalização SuperClasse Especialização SubClasse SubClasse

63 Princípios do Paradigma Orientado a Objetos - Herança SuperClasse Pessoa -nome: String -dtnascimento: Date -localnascimento : String -sexo: char -endereco: String +solicitadadospessoa() +solicitaendereco() +retornaobjeto(): Pessoa +imprimedados() Nome da classe Membros de dados da classe Funções membro da classe SubClasse Funcionario -EmpresaOndeTtrabalha: String -dtadmissao: Date -cargo: String -numfuncional: String +solicitadadosfuncionario() +retornacargosalario(): String +retornadadosultimapromocao(): String +retornaobjeto(): Pessoa +imprimedados() +imprimedadospromocoesfunc() Cliente -clientedesde: Date -comoconheceuaempresa: String -comprasrealizadas: Collection +solicitadadoscliente() +retornacomprasrealizadas(): Collection +enviamensagemcliente() +retornaobjeto(): Pessoa +imprimedados() +imprimedadoscomprasrealizadas() Objetos João Pedro Giovana

64 Princípios do Paradigma Orientado a Objetos Coesão Garante que todos os detalhes escondidos pelo encapsulamento contribuem para a definição da abstração Acoplamento Relacionado a dependência entre objetos Acoplamento forte: A classe cliente é uma subclasse da classe de serviço Acoplamento fraco: A classe cliente referencia diretamente a classe que oferece o serviço Acoplamento fraco abstrato: A classe cliente referencia a classe de serviço através de sua interface Sem acoplamento: A classe cliente não faz referência aos serviços da outra classe Procure ter objetos com Acoplamento fraco abstrato

65 Princípios do Paradigma Orientado a Objetos Coesão Garante que todos os detalhes escondidos pelo encapsulamento contribuem para a definição da abstração Acoplamento Relacionado a dependência entre objetos Acoplamento forte: A classe cliente é uma subclasse da classe de serviço Acoplamento fraco: A classe cliente referencia diretamente a classe que oferece o serviço Acoplamento fraco abstrato: A classe cliente referencia a classe de serviço através de sua interface Sem acoplamento: A classe cliente não faz referência aos serviços da outra classe Procure ter objetos com Acoplamento fraco abstrato

66 Classes e objetos

67 Princípios do Paradigma Orientado a Objetos Overload de métodos O Overload de métodos ocorre quando temos métodos de mesmo nome mas que são diferenciados pela assinatura dos mesmos (quantidade/tipo de parâmetros recebidos e/ou tipo de retorno). Exemplo public void realizadeposito( double valordodeposito) public void realizadeposito()

68 Princípios do Paradigma Orientado a Objetos Override de métodos O Overrride de métodos ocorre quando temos na subclasse métodos com mesma assinatura de métodos da superclasse, que são sobrescritos na execução pelos objetos daquela. Exemplo

69 Exemplo de override em JAVA SuperClasse Menu public class Menu { //Construtor public Menu() { } } public String getmenu() { return ; }

70 Exemplo de override em JAVA SubClasses MenuAdministrador e MenuCiente public class MenuCliente extends Menu { public MenuCliente() { } public String getmenu() { return MenuCliente ; } } public class MenuAdministrador extends Menu{ public MenuAdministrador() { } public String getmenu() { return MenuAdministrador ; } }

71 Princípios de Design Orientado a Objetos - GOF A Gang of Four (GOF) ressalta 3 princípios de design orientados a objetos: Favoreça a composição (evite a herança) Programe para interfaces Faça o design da aplicação preparado para mudanças (requisitos de sistemas sempre mudam) GOF: Gamma, Helm, Johson, Vlissides

72 Princípios de Design Orientado a Objetos - GOF Programação para interfaces Programar para interfaces permite a troca de componentes sem necessidade de alterar o restante do código que utiliza serviços do componente substituído. Interface de um objeto é uma coleção de operações que ele disponibiliza e suas assinaturas (nome da operação, argumentos e seus tipos). Um objeto presta serviços utilizando interfaces. Ao modelar um sistema, o desenvolvedor pode pensar apenas nas interfaces de seus objetos, ou seja, na função de cada um deles, e no seu relacionamento com os outros. public interface Funcionario { public String getnome(); public String getendereco(); public double getsalario(); }

73 Princípios de Design Orientado a Objetos - GOF Programação para interfaces

74 Princípios de Design Orientado a Objetos - GOF Programação para interfaces Exemplo de caso Sintaxe de implementação de uma interface por uma classe. Uma empresa de desenvolvimento de softwares possui um sistema utilizando em controle de clínicas médicas de pequeno porte, utilizado apenas para cadastro e controle de pacientes da clínica, mantendo um histórico do cliente, bem como informações médicas importantes. Existe o interesse em se disponibilizar o mesmo para clínicas para pessoas e para animais domésticos.

75 Princípios de Design Orientado a Objetos - GOF Programação para interfaces Exemplo de caso Sintaxe de implementação de uma interface por uma classe. public interface Paciente { public String getnome(); public Historico gethistoricomedico(); public Ficha getinformacoescadastrais(); // etc. } public class Pessoa implements Paciente {... } public class Animal implements Paciente {... }

76 Princípios de Design Orientado a Objetos - GOF Programação para interfaces Exemplo de caso Sintaxe de implementação de uma interface por uma classe. Paciente p = new Pessoa(); Paciente a = new Animal(); public class Relatorios { //... public void imprimerelatorio(paciente p) { //... } //... }

77 Princípios do Paradigma Orientado a Objetos Acoplamento

78 Princípios do Paradigma Orientado a Objetos Polimorfismo Permite esconder ações diferentes em uma interface única Normalmente implementado através de herança Considerado como uma das características que definem a tecnologia Orientada a Objetos. Permite existir um mesmo nome de método para sub-classes diferentes Polimorfismo AplicacaoFinanceira Poupança RDB CDB

79 Exemplo de utilização de polimorfismo em JAVA //Declarando uma referência polimórfica Menu referenciapolimorfica; // Armazenando objeto da classe MenuCliente na Referência // polimórfica referenciapolimorfica = new MenuCliente(); referenciapolimorfica.getmenu(); // Armazenando objeto da classe MenuAdministrador na // Referência polimórfica referenciapolimorfica = new MenuAdministrador(); referenciapolimorfica.getmenu();

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr Processos de Desenvolvimento de Software Objetivos Descrever o processo de desenvolvimento de software Orientado a Objetos (Object Oriented Software Development - OOSD) Descrever como a modelagem suporta

Leia mais

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia

Leia mais

UML: Diagrama de Casos de Uso, Diagrama de Classes

UML: Diagrama de Casos de Uso, Diagrama de Classes UML: Diagrama de Casos de Uso, Diagrama de Classes Diagrama de Casos de Uso O modelo de casos de uso visa responder a pergunta: Que usos (funcionalidades) o sistema terá? ou Para que aplicações o sistema

Leia mais

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

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

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

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Programa Analítico. Introdução. Origens da programação Orientada a Objetos. Paradigma procedural. Paradigma Orientado a Objetos.

Programa Analítico. Introdução. Origens da programação Orientada a Objetos. Paradigma procedural. Paradigma Orientado a Objetos. Programação II Prof. Gustavo Willam Pereira e-mail: gustavowillam@gmail.com ENG10082 Programação II 1 Ementa Programação orientada a objetos: classes e objetos, atributos e métodos, especificadores de

Leia mais

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,

Leia mais

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

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

Leia mais

PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura

PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 PROJETO (OU DESIGN) DO SOFTWARE Na fase de projeto (ou design)

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

Métodos de Construção de Software: Orientação a Objetos. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Métodos de Construção de Software: Orientação a Objetos. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Métodos de Construção de Software: Orientação a Objetos Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Problemas com Modelagem Funcional Falta de aproximação de conceitos com o mundo real

Leia mais

Uma visão mais clara da UML Sumário

Uma visão mais clara da UML Sumário Uma visão mais clara da UML Sumário 1 Método...2 2 Análise de requisitos...2 2.1 Diagramas de Casos de Uso...3 2.1.1 Ator...3 2.1.2 Casos de Uso (Use Case)...4 2.1.3 Cenário...4 2.1.4 Relacionamentos...6

Leia mais

Programação Orientada a Objetos OOP. IFES Campus Vitória Engenharia Elétrica 2015-2 Professor: Danilo A. Silva

Programação Orientada a Objetos OOP. IFES Campus Vitória Engenharia Elétrica 2015-2 Professor: Danilo A. Silva Programação Orientada a Objetos OOP IFES Campus Vitória Engenharia Elétrica 2015-2 Professor: Danilo A. Silva Sobre a disciplina Carga horária : 60 horas (30 teóricas e 30 práticas) Material do curso estará

Leia mais

Orientação a Objetos. Thiago Messias Evangelista UESC Universidade Estadual de Santa Cruz Version 2012-11-08. 1 LibreOffice Productivity Suite

Orientação a Objetos. Thiago Messias Evangelista UESC Universidade Estadual de Santa Cruz Version 2012-11-08. 1 LibreOffice Productivity Suite Orientação a Objetos Thiago Messias Evangelista UESC Universidade Estadual de Santa Cruz Version 2012-11-08 1 Abordagens História; ; Benefícios / Limitações; Referências; 2 História Tudo tem um começo...

Leia mais

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

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software

Leia mais

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO 1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO Desde o seu surgimento, o manuseio da computação é baseado em linguagens de programação. Ela permite que sejam construídos aplicativos

Leia mais

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 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 Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

FUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO

FUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO FUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO Dado que a UML é uma ferramenta inserida no paradigma da orientação a objetos, vamos rever alguns conceitos fundamentais, dentre os quais, destacamos: Classificação,

Leia mais

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

Introdução ao Paradigma Orientado a Objetos. Principais conceitos Introdução ao Paradigma Orientado a Objetos Principais conceitos Paradigmas de Programação PROGRAMAÇÃO ESTRUTURADA X PROGRAMAÇÃO ORIENTADA A OBJETOS Paradigma Programação estruturada Na programação estrutura

Leia mais

Análise e Projeto de Software

Análise e Projeto de Software Análise e Projeto de Software 1 Mundo Real Modelagem Elicitação Análise Problemas Soluções Gap Semântico Mundo Computacional Elicitação de Requisitos Análise de Requisitos Modelagem dos Requisitos 2 Projeto

Leia mais

DESENVOLVENDO O SISTEMA

DESENVOLVENDO O SISTEMA DESENVOLVENDO O SISTEMA Declaração da Necessidade O primeiro passo do processo de análise de sistema envolve a identificação da necessidade [Pressman-95]. Normalmente o analista reúne-se com o usuário

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.

Leia mais

Figura 5 - Workflow para a Fase de Projeto

Figura 5 - Workflow para a Fase de Projeto 5. Fase de Projeto A Fase de Projeto caracteriza-se por transformar as informações modeladas durante a Fase de Análise em estruturas arquiteturais de projeto com o objetivo de viabilizar a implementação

Leia mais

Herança. Algoritmos e Programação II. Aula 5 Herança

Herança. Algoritmos e Programação II. Aula 5 Herança Algoritmos e Programação II Aula 5 Herança *Adaptado do material do Prof. Júlio Machado Herança Uma característica importante da programação orientada a objetos é permitir a criação de novas classes com

Leia mais

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED UML 01 Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Referências BARBIERI, Carlos. Análise e Programação

Leia mais

ÍNDICE. Delphi... 3 CAPÍTULO 1 INTRODUÇÃO... 06 CAPÍTULO 2 INSTALANDO O DELPHI... 10

ÍNDICE. Delphi... 3 CAPÍTULO 1 INTRODUÇÃO... 06 CAPÍTULO 2 INSTALANDO O DELPHI... 10 Delphi 7 ÍNDICE CAPÍTULO 1 INTRODUÇÃO... 06 CAPÍTULO 2 INSTALANDO O DELPHI... 10 CAPÍTULO 3 INICIANDO O Delphi... 18 FORM DESIGN... 19 CODE EDITOR... 23 OBJECT INSPECTOR... 26 OBJECT TREE VIEW... 29 PALHETA

Leia mais

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

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004 Introdução ao RUP Rational Unified Process por Denize Terra Pimenta Outubro/2004 1 Contexto Não é suficiente apenas a presença de desenvolvedores altamente treinados: Precisamos de uma linguagem para a

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 6 Polimorfismo Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof.

Leia mais

Capítulo 8. Introdução UML

Capítulo 8. Introdução UML Capítulo 8. Introdução UML 1/42 Índice Indice 8.1 - Introdução UML 8.2 - Modelação estrutural 8.2.1 - Representação de classes e objectos 8.2.2 - Relações entre objectos 8.2-3 - Relações de associação

Leia mais

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

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas

Leia mais

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em

Leia mais

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

Gerenciamento de Requisitos Gerenciamento de Requisitos

Gerenciamento de Requisitos Gerenciamento de Requisitos Gerenciamento de Requisitos Objetivos da disciplina Descrever o processo de Gerenciamento e Engenharia de Requisitos para projetos Treinar alunos no Gerenciamento de Requisitos Apresentar estudos de caso

Leia mais

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE Questionamento a alta direção: 1. Quais os objetivos e metas da organização? 2. quais os principais Produtos e/ou serviços da organização? 3. Qual o escopo da certificação? 4. qual é a Visão e Missão?

Leia mais

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton

Leia mais

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

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP Conceitos RUP RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational), é um processo de Engenharia de software criado pela Rational Software Corporation(a qual foi incorporada pela

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso

Leia mais

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Pessoal, fiz uma coletânea das questões mais recentes de concursos públicos de TODO o Brasil de várias bancas diferentes sobre os assuntos Orientação

Leia mais

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias Engenharia de Software Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias Sistemas Computacionais Automatiza ou apóia a realização de atividades humanas (processamento da informação)

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno

Leia mais

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

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br prof@edison.eti. Engenharia de Software Engenharia de Requisitos Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br prof@edison.eti.br 1 Contextualizando... Fonte: [1] O Processo de ER pode ser

Leia mais

UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS

UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS Jean Henrique Zenzeluk* Sérgio Ribeiro** Resumo. Este artigo descreve os conceitos de Orientação a Objetos na linguagem de programação

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 14 Revisão http://www.ic.uff.br/~bianca/engsoft2/ Aula 14-07/05/2006 1 Processo de Software Qual é a diferença entre uma atividade de arcabouço e uma atividade guarda chuva?

Leia mais

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

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

Engenharia de Software na Prática Hélio Engholm Jr.

Engenharia de Software na Prática Hélio Engholm Jr. Engenharia de Software na Prática Hélio Engholm Jr. Novatec Sumário Agradecimentos... 17 Sobre o autor... 18 Prefácio... 19 Capítulo 1 Desenvolvimento de software para o valor de negócios... 20 1.1 Qualidade

Leia mais

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados:

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados: O Paradigma Orientado a Objetos Paradigma e Programação Orientada a Objetos Prof. João Carlos Pinheiro jcpinheiro@ifma.edu.br 1 Não é um paradigma no sentido estrito: é uma subclassificacão do imperativo

Leia mais

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

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

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

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

UML Aspectos de projetos em Diagramas de classes

UML Aspectos de projetos em Diagramas de classes UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada

Leia mais

Micro Mídia Informática Fevereiro/2009

Micro Mídia Informática Fevereiro/2009 Micro Mídia Informática Fevereiro/2009 1 UML Introdução Fases de Desenvolvimento Notação Visões Análise de Requisitos Casos de Uso StarUML Criando Casos de Uso Orientação a Objetos Diagrama de Classes

Leia mais

Modelagem de Sistemas

Modelagem de Sistemas Capítulo 5 Modelagem de Sistemas slide 1 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 1 Tópicos Apresentados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier 1 Capítulo 2 Processo de Desenvolvimento de Software Quanto mais livros você leu (ou escreveu), mais

Leia mais

Diretrizes de Qualidade de Projetos

Diretrizes de Qualidade de Projetos Diretrizes de Qualidade de Projetos Versão 1.5 MAPA/SE/SPOA/CGTI, 2012 Página 1 Histórico de Revisão Data Versão Descrição Autor 15/01/2012 1.0 Criação do Artefato Pérsio Mairon 10/03/2012 1.1 Inclusão

Leia mais

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através

Leia mais

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

Requisitos do usuário, do sistema e do software [Sommerville, 2004] Requisitos Objetivos ou restrições estabelecidas por clientes e usuários do sistema que definem as diversas propriedades do sistema Condição ou capacidade necessária que o software deve possuir para que

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

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

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO) 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

Leia mais

MDMS-ANAC. Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC. Superintendência de Tecnologia da Informação - STI

MDMS-ANAC. Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC. Superintendência de Tecnologia da Informação - STI MDMS- Metodologia de Desenvolvimento e Manutenção de Sistemas da Superintendência de Tecnologia da Informação - STI Metodologia de Desenvolvimento e Manutenção de Sistemas da Histórico de Alterações Versão

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 16 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 16 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 16 PROFª BRUNO CALEGARO Santa Maria, 12 de Novembro de 2013. Revisão aula anterior Modelagem orientada a objetos com UML Software: Astah Community

Leia mais

SISTEMAS DE INFORMAÇÃO GERENCIAIS

SISTEMAS DE INFORMAÇÃO GERENCIAIS SISTEMAS DE INFORMAÇÃO GERENCIAIS Aluno: Luiza Cavalcanti Marques Orientador: Silvio Hamacher Introdução A modelagem e a utilização de bancos de dados em atividades gerenciais têm sofrido um aumento significativo

Leia mais

Banco de Dados Orientado a Objetos

Banco de Dados Orientado a Objetos Banco de Dados Orientado a Objetos MODELAGEM, ANÁLISE, PROJETO e CLASSIFICAÇÃO Interação combinando lógica, através de objetos que contém os dados. Estes divididos conforme seus tipos e métodos (classe),

Leia mais

Linguagem de Programação I. Orientação a Objetos em Java

Linguagem de Programação I. Orientação a Objetos em Java Linguagem de Programação I Orientação a Objetos em Java Roteiro Introdução Classes e Objetos Declaração de Classes e Instanciação de um Objeto de uma Classe Declarando métodos com parâmetros Atributos,

Leia mais

Desenvolvimento estruturado versus orientado a objetos.

Desenvolvimento estruturado versus orientado a objetos. Desenvolvimento estruturado versus orientado a objetos. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Objetivos Identificar diferenças entre: Desenvolvimento

Leia mais

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais Objetivos da UML Introdução a UML cbraga@ic.uff.br Uma linguagem para: Visualizar Especificar Construir Documentar... e analisar. Desenvolvimento dirigido a modelos 2 Construções básicas Organizadas em

Leia mais

Casos de uso Objetivo:

Casos de uso Objetivo: Casos de uso Objetivo: Auxiliar a comunicação entre os analistas e o cliente. Descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no diagrama de

Leia mais

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

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF Ben-Hur de Sousa Lopes¹, Jaime William Dias¹ ¹Universidade Paranaense (UNIPAR) Paranavaí Paraná Brasil

Leia mais

Tema 1: Modelo Estático

Tema 1: Modelo Estático Tema 1: Modelo Estático (fonte: http://www.macoratti.net/net_uml1.htm) A Programação Orientada a Objetos (POO) baseia-se na descoberta dos objetos que compõem um determinado escopo e nas trocas de mensagens

Leia mais

Profº. Enrique Pimentel Leite de Oliveira

Profº. Enrique Pimentel Leite de Oliveira Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam

Leia mais

Professor: Curso: Disciplina: Aula 4-5-6

Professor: Curso: Disciplina: Aula 4-5-6 Professor: Curso: Disciplina: Aula 4-5-6 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Engenharia de Requisitos 03º semestre 1 Engenharia de Requisitos Prof. Marcos

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

Gerenciamento de Projetos Modulo II Clico de Vida e Organização Gerenciamento de Projetos Modulo II Clico de Vida e Organização Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos e Metodologias para Desenvolvimento de Software Cascata, Prototipação, Espiral e RUP Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br

Leia mais

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

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO DESENVOLVENDO UM PROJETO 1. Pense em um tema de seu interesse ou um problema que você gostaria de resolver. 2. Obtenha um caderno

Leia mais

Projeto de Software Orientado a Objeto

Projeto de Software Orientado a Objeto Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software

Leia mais

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar

Leia mais

Processos de Software

Processos de Software Processos de Software Prof. Márcio Lopes Cornélio Slides originais elaborados por Ian Sommerville O autor permite o uso e a modificação dos slides para fins didáticos O processo de Um conjunto estruturado

Leia mais

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society Modelagem com UML Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society Modelagem Estática (Visão Lógica) Casos

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

Fundamentos de Banco de Dados e Modelagem de Dados

Fundamentos de Banco de Dados e Modelagem de Dados Abril - 2015 Universidade Federal de Mato Grosso Instituto de Computação Pós Graduação Lato Sensu em Banco de Dados Fundamentos de Banco de Dados e Modelagem de Dados Prof. Dr. Josiel Maimone de Figueiredo

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;

Leia mais

sendo bastante acessível e compreendido pelos usuários que o utilizarem.

sendo bastante acessível e compreendido pelos usuários que o utilizarem. APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Claudiléia Gaio Bandt 1 ; Tiago Heineck 2 ; Patrick Kochan 3 ; Leila Lisiane Rossi 4 ; Angela Maria Crotti da Rosa 5 INTRODUÇÃO Este artigo descreve

Leia mais

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.

Leia mais

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Prof. Antonio Almeida de Barros Jr. Introdução Dados Informações Banco de Dados Conceitos Básicos em Bancos de Dados Definição BD - Banco de Dados SGBD - Sistema de Gerenciamento de BD Programa de Aplicação

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Porque estudar Gestão de Projetos?

Porque estudar Gestão de Projetos? Versão 2000 - Última Revisão 07/08/2006 Porque estudar Gestão de Projetos? Segundo o Standish Group, entidade americana de consultoria empresarial, através de um estudo chamado "Chaos Report", para projetos

Leia mais

Processo de Desenvolvimento Unificado

Processo de Desenvolvimento Unificado Processo de Desenvolvimento Unificado Processo de Desenvolvimento de Software? Conjunto de atividades bem definidas; com responsáveis; com artefatos de entrada e saída; com dependências entre as mesmas

Leia mais