Programação Orientada a Objetos
|
|
- Davi Pacheco Gorjão
- 6 Há anos
- Visualizações:
Transcrição
1 Programação Orientada a Objetos Gerenciando a Complexidade Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas
2 Unidade I Unidade I Gerenciando a Complexidade: A complexidade inerente dos sistemas de software A estrutura de sistemas complexos Trazendo ordem ao caos Decomposição Abstração Hierarquia Sobre o projeto de sistemas complexos 2/45
3 Software Complexidade Inerente Alguns sistemas de software não são complexos... Como exemplos, podem ser citados os aplicativos que são especificados, criados, construídos e mantidos pela mesma pessoa, ou seja, sistemas que têm um propósito limitado e um tempo de vida curto: Nesses casos, pode-se, simplesmente, jogar o sistema fora e construir outro, em lugar de se tentar reutilizá-lo, consertá-lo, ou estender a sua funcionalidade! 3/45
4 Software Complexidade Inerente Mas é importante destacar que os sistemas de software interessantes para nós são os industriais, que são complexos! O QUE CARACTERIZA UM SOFTWARE COMPLEXO? 4/45
5 Software Complexidade Inerente Sistemas de software complexos: Possuem ciclo de vida longo. Dificilmente uma única pessoa domina todos os detalhes do projeto. A complexidade do sistema ultrapassa a capacidade intelectual humana. A complexidade pode ser apenas gerenciada: não se consegue fazer a complexidade desaparecer. Mortais, e não gênios, deverão realizar o gerenciamento. 5/45
6 Software Complexidade Inerente Por que os sistemas de software são complexos? 6/45
7 Software Complexidade Inerente Os sistemas de software são complexos em função de o domínio do problema ser complexo: O desenvolvedor normalmente não é quem conhece o domínio. A captura dos requisitos do sistema é uma tarefa complicada. Os requisitos do sistema podem ser instáveis. Deve-se sempre pensar na evolução do sistema. 7/45
8 Software Complexidade Inerente Os sistemas de software são complexos em função da dificuldade de se gerenciar o desenvolvimento: Os desenvolvedores devem criar uma ilusão de simplicidade. Tamanho não é virtude em software! Sistemas com milhões de linhas de código e com milhares de módulos distintos são comuns atualmente. O desenvolvimento em equipe faz com que problemas de comunicação sejam muito comuns... 8/45
9 Software Complexidade Inerente Deve-se Criar uma Ilusão de Simplicidade... 9/45
10 Software Complexidade Inerente Os sistemas de software são complexos em função de se ter muita flexibilidade no desenvolvimento: Isso pode ser uma grande desvantagem, pois há a tendência de se reinventar a roda... Um empreiteiro da construção civil não planta árvores para obter a madeira que vai usar na construção: o desenvolvedor de software muitas vezes faz isso! Falta padronização na indústria de software. 10/45
11 Consequências da Complexidade A probabilidade de um sistema entrar em colapso é proporcional à sua complexidade! O que fazer? 11/45
12 Para Refletir Um construtor de edifícios pensaria em adicionar um novo subsolo a um edifício de 100 andares? Usuários de software geralmente pedem que esse tipo de modificação seja efetuada em um sistema existente! Isso é apenas uma questão de programação!!! 12/45
13 Na Indústria de Software... 13/45
14 Na Indústria de Software... 14/45
15 Na Indústria de Software... 15/45
16 Na Indústria de Software... 16/45
17 Na Indústria de Software... 17/45
18 Na Indústria de Software... 18/45
19 Necessidade de Gerenciamento Sem a gerência da complexidade, os sistemas de software acabam sendo concluídos com atraso, ultrapassando o orçamento, e não atendendo às especificações de requisitos... Como resolver esses problemas? 19/45
20 Necessidade de Gerenciamento Para gerenciar a complexidade, é necessário entender a organização dos sistemas complexos e trazer essa organização para os sistemas de software. 20/45
21 A Estrutura de Sistemas Complexos Computador pessoal: Mouse, placa-mãe, disco rígido... Microprocessador, memória, barramento Registradores, unidade aritmética... Portas lógicas... Transistores /45
22 A Estrutura de Sistemas Complexos Os sistemas complexos possuem uma estrutura hierárquica, com diferentes níveis de abstração, construídos um sobre o outro: O computador pessoal funciona corretamente devido à colaboração existente entre as suas diversas partes. O funcionamento de um computador é descrito por meio de sua decomposição em partes que podem ser estudadas separadamente. Em cada nível de abstração, os elementos cooperam entre si para desempenhar sua funcionalidade, por meio de uma interface conhecida, e oferecem serviços para os níveis mais altos. 22/45
23 A Estrutura de Sistemas Complexos Exemplos de sistemas complexos: Estrutura de plantas. Estrutura de animais. Estrutura da matéria. EXISTEM FRONTEIRAS CLARAS ENTRE AS PARTES INTERNAS E EXTERNAS DE UM DETERMINADO NÍVEL DE ABSTRAÇÃO!!! As partes da folha de uma planta colaboram entre si para que a folha desempenhe seu papel de realizar a fotossíntese e, ao mesmo tempo, têm pouca ou nenhuma cooperação direta com as partes elementares que compõem a raiz. 23/45
24 Os Atributos de Sistemas Complexos A complexidade é organizada na forma de uma hierarquia: Um sistema complexo é composto por subsistemas inter-relacionados, que, por sua vez, têm seus próprios subsistemas, e assim por diante, até que se chegue aos componentes elementares. A escolha de quais componentes de um sistema são elementares, ou primitivos, é relativamente arbitrária e depende basicamente daquilo que o observador do sistema quer enxergar. 24/45
25 A Estrutura de Sistemas Complexos Os relacionamentos internos entre os subcomponentes de um determinado nível da hierarquia são fortes e, entre componentes da hierarquia em níveis distintos, fracos. Normalmente, sistemas hierárquicos são constituídos por um número reduzido de diferentes tipos de subsistemas, organizados em diversas combinações e arranjos. Sistemas complexos contêm padrões comuns, como, por exemplo, as células no animais. 25/45
26 A Estrutura de Sistemas Complexos Um sistema complexo que funciona, é, invariavelmente um aperfeiçoamento de outro sistema mais simples que funcionava: Um sistema complexo projetado a partir do nada quase nunca funciona. À medida que um sistema complexo é aperfeiçoado, objetos que antes eram considerados complexos passam a ser os objetos primitivos, baseados nos quais os sistemas mais complexos são construídos. 26/45
27 A Estrutura de Sistemas Complexos 27/45
28 A Forma Canônica de Sistemas Complexos Descobrir abstrações e mecanismos comuns facilita o entendimento de sistemas complexos. Um motorista consegue pilotar um novo modelo de automóvel simplesmente identificando onde estão o volante, o freio, o acelerador, a embreagem, as marchas e a ignição: esses são mecanismos comuns presentes em todos os carros! 28/45
29 A Forma Canônica de Sistemas Complexos Um sistema complexo geralmente contém várias hierarquias: Um carro possui o sistema de propulsão, o de controle de direção, de frenagem, etc... Hierarquia estrutural todo-parte. 29/45
30 A Forma Canônica de Sistemas Complexos Um outro tipo de hierarquia estrutural é exemplificado a seguir: Um animal vertebrado é um tipo de animal. Um mamífero é um tipo de animal vertebrado. Um primata é um tipo de mamífero. Um macaco é um tipo de primata.... Hierarquia estrutural é um tipo de. 30/45
31 A Forma Canônica de Sistemas Complexos Cenas dos próximos capítulos: A hierarquia é um tipo de será modelada, na análise orientada a objetos, por meio do mecanismo de herança, e a hierarquia todo parte, por meio do mecanismo de composição. 31/45
32 Uma Pergunta... Já que se sabe que o projeto de um sistema complexo deve ser feito com base na decomposição em hierarquias, porque o desenvolvimento de software é tão problemático? 32/45
33 Respondendo... O modelo de desenvolvimento de softwares orientado a objetos é relativamente novo... A decomposição em hierarquias é uma tarefa complicada, pois descobrir abstrações e mecanismos comuns num sistema não é simples, especialmente para sistemas inexistentes, para os quais se estará projetando a arquitetura: inventando os mecanismos, agrupando as partes, lidando-se possivelmente com um número bastante grande de possíveis escolhas... EXPERIÊNCIA + APRENDER COM AS BOAS SOLUÇÕES = PADRÕES 33/45
34 Trazendo Ordem ao Caos... A decomposição é uma técnica básica de gerenciamento da complexidade. SISTEMAS DE SOFTWARE DECOMPOSIÇÃO ALGORITMICA DECOMPOSIÇÃO ORIENTADA A OBJETOS PROGRAMAÇÃO ESTRUTURADA 34/45
35 Trazendo Ordem ao Caos... DECOMPOSIÇÃO ORIENTADA A OBJETOS SISTEMA = CONJUNTO DE SUBSISTEMAS QUE INTERAGEM ENTRE SI CADA OBJETO É UMA ENTIDADE QUE EXIBE UM COMPORTAMENTO BEM DEFINIDO SISTEMA HIERARQUIZADO ABSTRAÇÕES CHAVE: CLASSES E OBJETOS SISTEMA = COLEÇÃO DE OBJETOS AUTÔNOMOS QUE COLABORAM ENTRE SI 35/45
36 Trazendo Ordem ao Caos... Quais são as vantagens da decomposição orientada a objetos? Essa pergunta será respondida ao longo do semestre. Mas, considerando-se o que foi estudado até agora, podem-se citar algumas vantagens: Ajuda a organizar a complexidade inerente dos sistemas de software, assim como ajudou a compreender a organização de um computador pessoal. Favorece a reutilização de mecanismos comuns, por intermédio da utilização de classes primitivas que implementam abstrações básicas. Favorece o desenvolvimento incremental do sistema. 36/45
37 Trazendo Ordem ao Caos... Os engenheiros têm uma técnica fabulosa para gerenciar a complexidade: se não conseguem tratar todos os detalhes de um sistema, escolhem ignorar alguns detalhes não essenciais, utilizando um modelo idealizado. ABSTRAÇÃO! 37/45
38 Trazendo Ordem ao Caos... A abstração consiste em retirar do domínio do problema os detalhes relevantes, e representálos na linguagem da solução. Problema ABSTRAÇÃO Modelo 38/45
39 Trazendo Ordem ao Caos... A hierarquia, tal como já foi visto, possui um papel essencial na organização de sistemas complexos. Na análise orientada a objetos a criação de hierarquias vai ser efetuada por meio dos mecanismos de herança e de composição. 39/45
40 Projeto de Sistemas Complexos Em Engenharia, a criação de um produto envolve tanto elementos de ciência quanto de arte. Deseja-se construir um sistema que: Satisfaça uma especificação funcional. Respeite limitações de hardware e software. Satisfaça requisitos explícitos ou implícitos de desempenho e de utilização de recursos. Satisfaça restrições econômicas. Satisfaça restrições associadas ao processo de desenvolvimento, tais como a equipe de engenheiros e as ferramentas disponíveis para o projeto. 40/45
41 Projeto de Sistemas Complexos Para tanto, deve-se criar um projeto capaz de levar em conta, da melhor maneira possível, um conjunto de requisitos conflitantes. São criados diversos modelos, sendo que cada um descreve um aspecto específico do sistema. 41/45
42 Projeto de Sistemas Complexos Para o projeto de um sistema de software, o caminho é o mesmo, e devem ser escolhidos: Uma notação: Linguagem para representar os modelos, tal como a UML Unified Modeling Language. Um processo: As atividades que, quando executadas de forma ordenada, levam à construção do sistema (é o que se estuda em Engenharia de Software). Ferramentas: Auxiliam na execução das tarefas, eliminando a parte chata de construção dos modelos. 42/45
43 Projeto de Sistemas Complexos Falha de Projeto? 43/45
44 Mensagem Final Durante o semestre, estudaremos como a análise, o projeto e a programação orientados a objetos facilitam o projeto e implementação de sistemas de software complexos! 44/45
45 Importante Esta apresentação é uma adaptação do material originalmente desenvolvido pelo professor Renato Cardoso Mesquita, do Departamento de Engenharia Elétrica da Universidade Federal de Minas Gerais. 45/45
Princípios de Análise e Projeto Orientados a Objetos com UML
Princípios de Análise e Projeto Orientados a Objetos com UML Eduardo Bezerra Editora CAMPUS Copyright 2002, 2003 Eduardo Bezerra 1 Capítulo 1 Visão Geral Um modelo é uma simplificação da realidade que
Leia maisA modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:
Módulo 6 Análise Orientada a Objeto É interessante observar como a análise orientada a objeto utiliza conceitos que aprendemos há muito tempo: objetos, atributos, classes, membros, todos e partes. Só não
Leia maisLinguagem de Programação I
Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Complexidade dos sistemas de software Estrutura Decomposição Abstração Hierarquia Projeto de sistemas complexos
Leia maisPCS3413 Engenharia de Software e Banco de Dados
PCS3413 Engenharia de Software e Banco de Dados Aula 23 Escola Politécnica da Universidade de São Paulo 1 Acoplamento! Indica dependência entre classes.! Deve ser o menor possível.! Direcionar associações
Leia maisNotas de Aula 03: Introdução a Orientação a Objetos e a UML
Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas
Leia maisIntrodução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Classes e Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Lembrando Na Unidade II Modelagem Orientada a Objetos, vimos: Como utilizar
Leia maisEngenharia de Software Projeto de software
Instituto Federal de Minas Gerais Campus Ponte Nova Engenharia de Software Projeto de software Professor: Saulo Henrique Cabral Silva MODELANDO UM SOFTWARE 2 Uma figura vale por mil palavras Em construções
Leia maisModelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo
MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs
Leia maisProf. Luiz A. Nascimento
Prof. Luiz A. Nascimento Qual a importância da Engenharia de Software? O desenvolvimento de um software envolve processos muitos complexos. A engenharia de software estabelece um modelo para se construir
Leia maisENGENHARIA DE SOFTWARE. Aula 03 Processos de Software
ENGENHARIA DE SOFTWARE Aula 03 Processos de Software AGENDA Modelos de processo de software Atividades do processo Lidando com mudanças Rational Unified Process (RUP) 14/03/2017 IFPR QUEDAS DO IGUAÇU -
Leia maisPerguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software
Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 12 Março 2012 Inconsistente: perguntei laranjas, respondeu
Leia mais1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010
1 1 Introdução 1.1 Teoria dos Sistemas 1.2 Constituição dos sistemas 1.3 Natureza dos sistemas 1.4 Parâmetros do sistema 1.5 Descrição de sistemas 1.6 Desafios enfrentados no desenvolvimento 1.7 Perfil
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores
Leia maisComplexidade do Software
Complexidade do Software Sistemas de software são complicados Os requisitos modernos tendem a complicálo cada vez mais: Alta confiabilidade; Alto desempenho; Desenvolvimento rápido e barato Precisamos
Leia maisAULA 01: APRESENTAÇÃO
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 01: APRESENTAÇÃO Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAIS OS OBJETIVOS DESSA DISCIPLINA?
Leia maisUML. Modelando um sistema
UML Modelando um sistema Fases do desenvolvimento de Software Análise de requisitos Análise Projeto Programação Análise de Requisitos Esta fase captura as intenções e necessidades dos usuários do sistema
Leia maisAnálise de Sistemas 3º Bimestre (material 2)
Análise de Sistemas 3º Bimestre (material 2) Professor: José Ronaldo Leles Júnior Turma: 2º ano do curso de Sistemas de Informação UEG Universidade Estadual de Goiás Campus Posse POO Paradigma Orientado
Leia maisIntrodução a UML (Unified Modeling Language)
Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário
Leia maisUnidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini
Unidade II MODELAGEM DE PROCESSOS Profa. Gislaine Stachissini Modelagem de sistemas A fase do desenvolvimento do sistema exige: esforço; dedicação; envolvimento; um único objetivo. Estilo de desenvolvimento
Leia maisAula 01 Conceito de Banco de Dados e SGBD
Aula 01 Conceito de Banco de Dados e SGBD Dado: conjunto de símbolos arranjados a fim de representar a informação fora da mente humana. Elemento de Dado: subconjunto de símbolos que compõem um dado com
Leia maisEngenharia de Software
Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 UML Linguagem Unificada de Modelagem Projeto de Software Introdução O que é projeto em software? O termo projeto é um tanto
Leia maisO Processo Unificado: Workflow de Análise. Graduação em Informática Profa. Dra. Itana Maria de Souza Gimenes 2009
O Processo Unificado: Workflow de Análise Graduação em Informática Profa. Dra. Itana Maria de Souza Gimenes 2009 Workflow de Análise Objetivos da análise: manter uma especificação precisa dos requisitos
Leia maisProjeto de Desenvolvimento de Software
Projeto de Desenvolvimento de Software Princípios da Engenharia de Software Msc. Eliezio Soares eliezio.soares@ifrn.edu.br http://docente.ifrn.edu.br/elieziosoares NBR ISO 9000-3 Definições: A ISO 9000
Leia maisPROJETO DE PROGRAMAS. Projeto de Programas PPR0001
PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes
Leia maisTópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS
Leia maisIntrodução. O que é um Banco de Dados (BD)?
O que é um Banco de Dados (BD)? É uma coleção de dados relacionados e armazenados em algum dispositivo Associações aleatórias de dados não podem ser chamadas de base de dados Conceito de dados Valor de
Leia maisCaracterização de Sistemas Distribuídos
Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes
Leia maisMANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO
MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO
Leia maisProcessos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
Leia maisAnálise e Projeto de Software
Análise e Projeto de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 8 de junho de 2017 Material Apresentado Sumário de Aula 1 Introdução 2 Estruturação do
Leia maisVisão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012
Visão Geral da UML SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Introdução Ferramentas de Apoio Diagramas da UML Elementos Genéricos Material sobre UML
Leia maisO que é um sistema distribuído?
Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores
Leia maisFábio Amado João Maio 33306
Fábio Amado 33637 João Maio 33306 Universidade de Aveiro Especificação, Modelação e Projecto de Sistemas Embutidos 21-11-2009 1. UML - o que é? 2. A Natureza dos Sistemas Embutidos 1. Heterogeneidade 2.
Leia maisRUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN
RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa
Leia maisAs Visões. Visões arquiteturais (revisão)
As 4 + 1 Visões Jair C Leite Visões arquiteturais (revisão) Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da engenharia.
Leia maisArquitetura de Software: Documentação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Documentação SCE 526 Análise e Projeto Orientados a Objeto Profa. Elisa Yumi Nakagawa 2. Semestre de
Leia maisIntrodução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s
Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas
Leia maisConceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 02 Conceitos de Programação Orientada a Objetos 1 Conceitos Fundamentais Classe; Ocultamento de informação;
Leia maisLevantamento, Análise e Gestão Requisitos. Aula 03
Levantamento, Análise e Gestão Requisitos Aula 03 Agenda Paradigma da Orientação a Objetos Classes e objetos Abstração Encapsulamento Herança e polimorfismo Associação de objetos Coesão e acoplamento Levantamento
Leia maisCiência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo
Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de
Leia maisEngenharia de Software
Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e
Leia maisINF1012 MODELAGEM DE DADOS. Departamento de Informática PUC-Rio. Ivan Mathias Filho A Abordagem Entidade-Relacionamento
INF1012 MODELAGEM DE DADOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 Modelagem Conceitual de Dados A Abordagem Entidade-Relacionamento 1 Programa Capítulo
Leia maisUML Unified Modeling Language Linguagem de Modelagem Unificada
UML Unified Modeling Language Linguagem de Modelagem Unificada Prof. Gilberto Porto e-mail: porto@gilbertoporto.com.br A linguagem UML n UML (Unified Modeling Language) Linguagem de Modelagem Unificada
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO Santa Maria, 29 de Outubro de 2013. Revisão aula passada Modelagem de sistemas Perspectiva externa Perspectiva de iteração
Leia maisRational Unified Process (RUP)
Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que
Leia maisEngenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS 1. Com relação à engenharia de software, julgue os itens seguintes. Engenharia de software não está relacionada
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO Santa Maria, 08 de Novembro de 2013. Contextualização Nas próximas aula iremos começar a modelar e projetar sistemas
Leia maisProgramação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.
Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento
Leia maisPUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor
PUC-GO- ADS: Prof. Vicente P. de Camargo INTRODUÇÃO Seja bem vindo ao módulo de EAD da disciplina DACC(Desenvolvimento de Aplicações Para Cliente Servidor). A Modelagem com UML foi o assunto estabelecido
Leia maisUML (Linguagem unificada de modelagem)
UML (Linguagem unificada de modelagem) Modelo de Casos de Uso -> descritos através de Diagramas de Caso de uso Determinação dos usos que o sistema terá (requisitos funcionais) captura os usos ou aplicações
Leia mais16/8/2010. A arquitetura de um sistema computacional representa o modelo da organização e funcionamento de um sistema de processamento
Arquitetura de es Organização de um Sistema Computacional Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Introdução A arquitetura de um sistema computacional representa o modelo da organização
Leia mais27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:
Modelos de Ciclo de Vida e Metodologias de Software 33) No SCRUM, uma iteração que segue um ciclo (PDCA) e entrega incremento de software pronto é denominada: A) Backlog. B) Sprint. C) Daily scrum. D)
Leia maisEstrutura do Sistema Operacional
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 04 Estrutura do Sistema Operacional 2 1 Estrutura do Sistema Operacional
Leia maisCapítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais
DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno
Leia maisSérgio Koch Van-Dall
PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTILIZANDO WEB SERVICES Sérgio Koch Van-Dall sergiod@inf.furb.br Orientador: Prof. Paulo Fernando da Silva UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE CIÊNCIAS
Leia maisProf. André Rabelo LÓGICA DIGITAL INTRODUÇÃO
Prof. André Rabelo LÓGICA DIGITAL INTRODUÇÃO INTRODUÇÃO Um sistema pode ser definido como sendo um conjunto de elementos que são interligados de alguma maneira para compor um todo e assim realizar funcionalidade
Leia maisUnidade I MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini
Unidade I MODELAGEM DE PROCESSOS Profa. Gislaine Stachissini Documentação Conceito básico: nos negócios; na administração; na ciência; na Tecnologia da Informação. Modelagem de processos Importância da
Leia maisQUALIDADE DE SOFTWARE. Princípios de Engenharia de Software
QUALIDADE DE SOFTWARE Princípios de Engenharia de Software Afinal o que é Software? Segundo o dicionário de Informática: Suporte lógico, suporte de programação. Conjunto de programas, métodos e procedimentos,
Leia maisEstrutura dos Sistemas Operacionais. Adão de Melo Neto
Estrutura dos Sistemas Operacionais Adão de Melo Neto 1 Sistema Operacional -São partes do SO -São ferramentas de apoio ao usuário -São formas de acessar as rotinas do kernel O Sistema Operacional é formado
Leia maisIntrodução a Teste de Software
Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Para Sommerville a arquitetura de sistemas descreve o sistema em termos de um conjunto de unidades
Leia maisIntrodução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.
Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio
Leia mais3. Engenharia dos requisitos de software
Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br Engenharia de Software 3. Engenharia dos requisitos de software.......... 3.1. Visão Geral O fluxo de Requisitos reúne
Leia maisUML. Rodrigo Leite Durães.
UML Rodrigo Leite Durães. rodrigo_l_d@yahoo.com.br O que é Análise de Software? UML: É o estágio de um sistema que captura os requisitos e o domínio do problema, focalizando no que deve ser feito, não
Leia maisProgramação Orientada a Objetos
PMR2300 Escola Politécnica da Universidade de São Paulo Proposta O mundo real é composto de entidades que interagem entre si para realizar tarefas (objetos). Objetos podem representar entidades concretas
Leia maisIntrodução. Lições da década de 80. Realidade atual
Introdução No final da década de 60 surge a disciplina Engenharia de software para atacar os problemas gerados pela Crise do software. Porém as várias técnicas desenvolvidas nos anos 70 e 80 não resolveram
Leia maisIntrodução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software
INTRODUÇÃO AO SWEBOK Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Origens do corpo de conhecimentos da Engenharia de Software: Engenharia da Computação Ciência da
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Modelo
Leia maisIntrodução à Programação de Computadores Fabricação Mecânica
Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 03 - Conceitos: Hardware, Software, Sistema Operacional
Leia maisCapítulo 2. Orientação a Objetos
Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br O que é?? 2 A UML
Leia maisEngenharia de Software. Aula 2.4 Modelos de Casos de Uso. Prof. Bruno Moreno
Engenharia de Software Aula 2.4 Modelos de Casos de Uso Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Comportamento do Sistema Refere-se às funcionalidades do sistema Requisitos funcionais; O comportamento
Leia maisModelagem de Sistemas. Análise de Requisitos. Modelagem
Modelagem de Sistemas Teoria Geral de Sistemas TADS 2. Semestre Prof. André Luís Para abordarmos de forma mais profunda os conceitos de Modelagem de Sistemas de Informação, precisamos também falar na Engenharia
Leia maisProfª. Juliana Pinheiro Campos ENG10082 Programação II Créditos: Prof. Gustavo Willam Pereira e Prof.
1 Profª. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com ENG10082 Programação II Créditos: Prof. Gustavo Willam Pereira e Prof. Clayton Vieira Fraga Filho 2 Paradigmas de programação Paradigmas de
Leia maisPanorâmica da Programação Orientada a Objetos
Panorâmica da Programação Orientada a Objetos Programação orientada a objetos (POO) é uma das maiores inovações na área de desenvolvimento de software. É importante você entender a POO e limitações das
Leia maisENGENHARIA DE SOFTWARE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática : ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Um conjunto estruturado
Leia maisENGENHARIA DOS REQUISITOS
Apostila Estácio: Engenharia de Software de Roger S. Pressman. 6º Edição/2006 1 2 A engenharia de requisitos é um processo que engloba todas as atividades que contribuem para a produção de um documento
Leia maisProgramação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior
Programação Orientada a Objetos Prof. MsC Sílvio Bacalá Júnior Princípios básicos de OO Abstração Encapsulamento Modularidade Herança 2013 POO - Bacalá 2 Abstração Concentração nas características essenciais,
Leia maisRequisitos de sistemas
Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento
Leia maisOrientação a objetos. Objetos ou Instâncias I
Orientação a objetos Objetos ou Instâncias Métodos ou Mensagens Encapsulamento Classes Variáveis da Classe X Variáveis da Instância Métodos da Classe X Métodos da Instância Relacionamentos Identificando
Leia maisBanco de Dados Relacional
Centro Federal de Educação Tecnológica de Pernambuco Curso de Tecnologia em Sistemas de Informação Banco de Dados Relacional Renata Lúcia Mendonça Ernesto do Rêgo rlrego@yahoo.com 1 Plano de Ensino Objetivo
Leia maisPMR5229 Projeto de Sistemas Mecatrônicos com Microprocessadores. Prof. Jun Okamoto Jr. sala ES-05 Tel:
PMR5229 Projeto de Sistemas Mecatrônicos com Microprocessadores Prof. Jun Okamoto Jr. sala ES-05 Tel: 3091-5516 E-mail: jokamoto@usp.br Sistemas Mecatrônicos? Não Sistemas Mecatrônicos? Sim mas não interessam
Leia maisARQUITETURA DE SOFTWARE III
ARQUITETURA DE SOFTWARE III Conceitos, definições e evolução da arquitetura de software Prof. Victor A. T. Troitiño ARQUITETURA DE SOFTWARE A Arquitetura de um sistema é um arcabouço abrangente que descreve
Leia maisDiagrama de Comunicação
Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide Medeiros, E. Desenvolvendo Software
Leia maisAnálise Estruturada. Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.
Análise Estruturada Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso com os modelos orientados a objetos Entretanto...
Leia maisComo Modelar com UML 2
Ricardo Pereira e Silva Como Modelar com UML 2 Visual Books Sumário Prefácio... 13 1 Introdução à Modelagem Orientada a Objetos... 17 1.1 Análise e Projeto Orientados a Objetos... 18 1.2 Requisitos para
Leia maisPDS Aula 1.2 Introdução a Java, POO e Composição. Prof. Bruno Moreno
PDS Aula 1.2 Introdução a Java, POO e Composição Prof. Bruno Moreno bruno.moreno@ifrn.edu.br JAVA: Introdução, Histórico, Conceitos Básicos 2 Introdução O que é Java? Linguagem de programação OO Década
Leia maisUnidade IV MODELAGEM DE. Prof. Daniel Arthur Gennari Junior
Unidade IV MODELAGEM DE SISTEMAS DE INFORMAÇÃO Prof. Daniel Arthur Gennari Junior Sobre esta aula Análise Orientada a Objetos Análise, Definição e Especificação de Requisitos Modelagem de Casos de Uso
Leia maisCurso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br
Curso teórico: Orientação a Objetos Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Objetivos Conhecer os conceitos fundamentais de orientação a objetos; Aprender a criar e utilizar
Leia maisGerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016
Gerência e Planejamento de Projeto Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016 Conteúdo: Parte 1: Gerenciamento & Qualidade Plano de Projeto Aspectos Gerais Parte 2: Plano de
Leia maisLivro texto: Capítulo 1
Livro texto: Capítulo 1 Bancos de dados (BD) No decorrer do dia, a maioria de nós se depara com atividades que envolvem alguma interação com os BD s banco reservas em um hotel compra de passagens aéreas
Leia maisTécnicas Avançadas de Programação
Sumário Técnicas Avançadas de Programação Prof. João Marcos M. da Silva Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2011 Prof. João Marcos
Leia maisIntrodução 2014/1 Prof. Luís Fernando Garcia
Engenharia de Software Introdução 2014/1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR Engenharia de Software Onipresença/DEPENDÊNCIA de computadores Computador = Software Aspectos POSITIVOS Aspectos NEGATIVOS
Leia maisMODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL
MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL 0 UNIDADE V: MAPEAMENTO OBJETO RELACIONAL Paradigma da Orientação a Objetos: Este paradigma parte do princípio que existem diversos
Leia maisArquitetura e Organização de computadores
Arquitetura e Organização de computadores Aula 1: Organização e evolução de computador, parte 1 Prof. MSc. Pedro Brandão Neto pedroobn@gmail.com Sistemas de Informação - UNDB Introdução Computador Digital
Leia maisHerança Tiago Eugenio de Melo
Herança Tiago Eugenio de Melo tiago@comunidadesol.org Herança Conceito: Herança é a capacidade de especializar tipos de objetos (classes), de forma que os tipos especializados contenham, além de características
Leia maisSistema de Informação Geográfica
Sistema de Informação Geográfica Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2016 Arquiteturas SIG 2 1 Tipos de Implementação 3 Tipos de Implementação Em geral, um
Leia maisApresentação da Disciplina
Apresentação da Disciplina Laboratório de Sistemas Operacionais Prof. Fernando Nakayama de Queiroz fernando.queiroz@ifpr.edu.br Sobre o professor... Fernando Nakayama de Queiroz fernando.queiroz@ifpr.edu.br
Leia mais