Por Que Orientação a Objetos?

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

Download "Por Que Orientação a Objetos?"

Transcrição

1 Por Que Orientação a Objetos? Prof. Marcel Hugo FURB Ciências da Computação - Bacharelado Agenda 1. Cenário 2. Reutilização 3. OO como propulsora da reutilização 4. Benefícios da OO 5. Aceitação da OO 6. Perigos da OO 7. Conclusões

2 Software Está Ficando Mais Complexo % de Funções de Sistema no Software M linhas 3.4M linhas 28,000 linhas 3200 linhas % de Funções de Sistema no Hardware fonte: Communications of the ACM O Não Cumprimento de Cronogramas é Comum na Área 60 Months fonte: Applied Software Measurement, Schedule Actual Function Points Falha em especificar e concordar em requisitos é a #2 razão por problemas de cronograma. (Produzir Cronogramas irracionais é a #1)

3 Custos Custos de desenvolvimento são muitos altos Elevam-se os custos de manutenção: década de 70 e 80: % dos custos totais atualmente: % dos custos totais Flexibilidade frente a mudanças Mudanças nos processos de negócio do usuário: década de 40: 10 anos década de 60-70: 5 anos década de 90: 2 anos século 21: 6 meses

4 Onde está o Nirvana? Não se sabe! Porém a reutilização é peça chave para aumento da produtividade e melhoria da qualidade. 2. Reutilização Usar novamente algo que foi feito. Em hardware: projetar baseado em componentes; integrar componentes; desenvolver novos quando necessário. Em software: código (rotinas);???

5 Objetivos da Reutilização Permitir uma ampla utilização de todos os tipos de informação encontradas na situação de desenvolvimento. Exemplo: requisitos especificação código testes ou seja, todas as atividades. Benefícios da reutilização Menor produção de software novo: aumento de produtividade ganho de qualidade ganho de confiabilidade conhecimento adquirido pode ser compartilhado

6 Casos práticos Níveis de reusabilidade elevam a produtividade Empresa Reusabilidade (%) Produtividade (%) Univ Califórnia Raytheon Ind. Japonesas 85 8 vezes Problemas em praticar a reutilização. Três problemas foram propostos e discutidos no 2o Workshop Internacional de Reusabilidade de Software: de população; de carga; de construção.

7 Várias técnicas para reutilização Repositórios (meio de armazenamento) Análise de domínio Engenharia reversa Orientação a objetos Orientação a Objetos (OO) Tecnologia que enxerga os sistemas como sendo coleção de objetos interagentes. Novo paradigma de desenvolvimento Envolve todas as atividades de desenvolvimento: análise, projeto, programação, testes,...

8 Fundamento da OO Na compreensão do mundo, os seres humanos utilizam-se de três métodos de organização dos pensamentos: Diferenciação; Distinção entre todo e parte; Classificação. Diminui a diferença semântica Real Casa João Carro Árvore Modelo Casa mora na João dirige Carro Árvore

9 4. Benefícios de Análise e Projeto Orientados a Objetos Air Transport Model Reduz complexidade através de melhoria do grau de abstração Melhora produtividade a longo prazo, permitindo o uso da reutilização pelos desenvolvedores Torna mais fácil a comunicação entre clientes e desenvolvedores Benefícios de Modelagem OO Modelos que casam com a forma de seus negócios; Gerenciamento simplificado, através da quebra das aplicações em unidades menores e mais bem definidas; Maximiza a reutilização de código; Habilidade de tirar vantagem de padrões de componentes para conexão entre plataformas, utilizando serviços padrão; Componentes comerciais (disponíveis no mercado).

10 Modelos Que Refletem Seu Negócio A Forma Tradicional... Dados e processos são separados no início; Os modelos de dados e processos não são facilmente relacionados com entidades e conceitos de negócio; Coordenação entre processamento e dados sempre foi difícil; A Forma OO... Dados e processos estão integrados nos modelos; Componentes dos modelos correspondem às entidades de negócio; Sistemas são gerenciados mais facilmente e melhor compreendidos. Maximiza Reutilização de Código Reduz esforço de codificação; Reduz teste, melhora confiabilidade; Reutilização customizada através de componentes white box (ex: classes C++, Delphi); Distribuição de objetos black box (ex., OLE, IDL) como componentes.

11 Usando Modelagem para Reutilização Herança e Polimorfismo são utilizados para suportar a reutilização Estratégias apropriadas dependem de modelos que: antecipem situações de reutilização definam claramente responsabilidades e funções de classes Evitem sobrecarga funcional, o que inibe reusabilidade Modelagem interativa de objetos, dirigida através de modelos dinâmicos e cenários identificando aplicações de classes, subclasses, etc. 5. Metodologias OO Ambiente Técnico Ambiente IS SDL Shlaer-Mellor 3GLs Booch OMT 4GLs Coad- Yourdon Martin-Odell Ambientes embarcados Unix DOS, Mac, OS/2, Windows Fonte: Cadre e Gartner Group Como publicado no Gartner Group ADM Strategies Conference Proceedings, Julho 1993

12 Aceitação de OO está crescendo $4,500 $4,000 $3,500 Previsão Total de Produtos OO Anos de Crescimento $3,000 $2,500 $2,000 $1,500 Anos de adoção $1,000 $500 $ Europe U.S. Fonte: Ovum, Julho Desenvolvedores Profissionais estão utilizando Métodos When asked which research topics clients would like to see as highest priority, respondents indicated interest in OO methodology, OO lifecycle issues and OO CASE, in order by frequency of mention. Gartner Group, Setembro 1992 Users and vendors alike agree that Object- Oriented Analysis and Design methodologies are an important prerequisite to OO programming. International Data Corporation Survey, Julho 1992

13 Métodos Reduzem a Complexidade e o Risco de Utilizar OO With C++, it s harder to shoot yourself in the foot... but when you do, you blow off your whole leg. Bjarne Stroustrup, criador da linguagem C++ Object orientation is not a panacea but a high power tool - dangerous if misused but capable of great things. Object Interest Group 7. Conclusões Como todo paradigma, necessita de mudança cultural. Tecnologia poderosa, porém deve ser adotada de forma consciente. Não é moda, é tendência tecnológica.

14 Valter Medina - TechMark Agradecimentos

Profª. Juliana Pinheiro Campos ENG10082 Programação II Créditos: Prof. Gustavo Willam Pereira e Prof.

Profª. 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 mais

Notas 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 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 mais

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix Introdução A produção de Software é uma atividade build and fix. 1 Introdução build 2 Introdução fix 3 1 Introdução 4 P s Só pessoas motivadas e comprometidas com o projeto garantem o respectivo sucesso;

Leia mais

Introdução à Análise e Projeto de Sistemas

Introduçã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 mais

Linguagem de Programação I Apresentação da Disciplina

Linguagem de Programação I Apresentação da Disciplina Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico

Leia mais

Análise de Sistemas. Aula 5

Análise de Sistemas. Aula 5 Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem 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 mais

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução UML: introdução Prof.: Clarindo Isaías Pereira da Silva e Pádua Synergia / Gestus Departamento de Ciência da Computação - UFMG UML: introdução 2 Bibliografia Rumbaugh, J.; Jacobson, I.; Booch, G., The

Leia mais

Engenharia de Software

Engenharia de Software Tema da Aula Origens da Modelagem de Retrospectiva Histórica Prof. Cristiano R R Portella portella@widesoft.com.br Origens da Modelagem de A pré-história Antes de 1960: Nenhuma metodologia. Programar computador

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem 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 mais

ANÁLISE E PROJETO DE SISTEMA

ANÁLISE E PROJETO DE SISTEMA ANÁLISE E PROJETO DE SISTEMA Sistema Conjunto de regras ou princípios que regulam a execução de um fenômeno Partes coordenadas que regulam a execução de um fenômeno Combinação de partes que, coordenadas,

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

Programação Orientada a Objetos

Programaçã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 mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Federal de Uberlândia Prof. Fabiano Dorça - O que é um paradigma? É uma forma de abordar um problema, segundo um conjunto de procedimentos, valores ou conceitos

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Herança e Polimorfismo Msc. Paulo de Tarso F. Júnior 1 Projeto Orientado a Objetos O que desejam? Produção de projetos conceitualmente simples o bastantes para serem entendidos

Leia mais

Requisitos de Sistemas

Requisitos de Sistemas Requisitos de Sistemas Unidade II - Processos de Negócio Identificação Conceitos Modelagem - BPM - UML Processos x Requisitos 1 Processo de negócio CONCEITO Um processo de negócio, processo organizacional

Leia mais

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão Sumário Introdução à UML BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida hmossri_cursos@yahoo.com.br Marcelo Nassau Malta nassau_cursos@yahoo.com.br

Leia mais

Sistemas Embarcados (embutidos) Paulo C. Masiero

Sistemas Embarcados (embutidos) Paulo C. Masiero Sistemas Embarcados (embutidos) Paulo C. Masiero Caracterização São usados para controlar sistemas de diferentes tipos: máquinas domésticas, fábricas, carros, jogos etc. O software é embutido no hardware

Leia mais

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML Projeto OO com UML Tópicos da Aula Conceitos de programação orientada a objetos Projeto orientado a objetos com UML Orientação a objetos A orientação a objetos, também conhecida como Programação Orientada

Leia mais

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

1 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 mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos Banco de Dados SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1 Prof. Leonardo Vasconcelos - O que é um banco de dados (BD)? Um Banco de Dados (ou Base de Dados) é uma coleção de dados relacionados,

Leia mais

Introdução. Lições da década de 80. Realidade atual

Introduçã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 mais

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas

Leia mais

FERRAMENTA DE CÁLCULO E GERENCIAMENTO DE ESTIMATIVAS DE SOFTWARE

FERRAMENTA DE CÁLCULO E GERENCIAMENTO DE ESTIMATIVAS DE SOFTWARE FERRAMENTA DE CÁLCULO E GERENCIAMENTO DE ESTIMATIVAS DE SOFTWARE FURB Universidade Regional de Blumenau Bacharelado em Ciências da Computação Acadêmico: Alexandre Wenderlich Orientador : Profº Paulo Roberto

Leia mais

Qualidade de software. Prof. Emiliano Monteiro

Qualidade de software. Prof. Emiliano Monteiro Qualidade de software Prof. Emiliano Monteiro Por que realizar revisões por pares? 1. Para melhorar a qualidade. 2. Captura 80% de todos os erros se feito corretamente. 3. Captura erros de codificação

Leia mais

Ferramenta para cálculo de métricas em softwares orientados a objetos codificados em Object Pascal

Ferramenta para cálculo de métricas em softwares orientados a objetos codificados em Object Pascal Ferramenta para cálculo de métricas em softwares orientados a objetos codificados em Object Pascal Patrícia Regina Ramos da Silva Seibt (FURB) patrícia@benner.com.br Marcel Hugo (FURB) marcel@furb.br Everaldo

Leia mais

Tipos para uma Linguagem de Transformação

Tipos para uma Linguagem de Transformação Universidade Federal de Pernambuco Graduação em Ciência da Computação Centro de Informática Proposta de Trabalho de Graduação Tipos para uma Linguagem de Transformação Aluno: Orientador: Alexandra Barreto

Leia mais

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Introdução Parte 01 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 1. Introdução i. Paradigmas de ii. Motivação da OO iii. Desafio das novas tecnologias iv. Ambientes de Desenvolvimento Modernos v. OO

Leia mais

Repositório. de Componentes em Delphi. Josiane Gianisini Orientador Marcel Hugo

Repositório. de Componentes em Delphi. Josiane Gianisini Orientador Marcel Hugo Repositório de Componentes em Delphi Josiane Gianisini Orientador Marcel Hugo Roteiro de Apresentação Introdução Reutilização de Software Reutilização de Componentes de Software Repositório Componentes

Leia mais

ORIENTAÇÃO A OBJETOS Histórico:

ORIENTAÇÃO A OBJETOS Histórico: GESTÃO DE TECNOLOGIA DA INFORMAÇÃO Anhanguera Itapecerica da Serra Curso: Gestão da Tecnologia da Informação Disciplina: Modelagem de Sistemas Prof. Luiz Antonio do Nascimento Histórico: A orientação a

Leia mais

Protótipo tipo de um Sistema Administração de Eventos

Protótipo tipo de um Sistema Administração de Eventos FURB - Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Bacharel da Ciências da Computação Protótipo tipo de um Sistema Administração de Eventos Aluna: Cindy Danielski Orientador:

Leia mais

UNIVERSIDADE 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 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 mais

Engenharia de Software

Engenharia de Software Engenharia de Software Marcelle Mussalli Cordeiro {mmussalli@gmail.com} Cordeiro Reflexão O que é software?? Cordeiro 2 O que é Software? Programa Dados de configuração Dados de documentação Tudo que esteja

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ET43I Aula 3 Prof. Daniel Cavalcanti Jeronymo Orientada a Objetos Abstração em computação, paradigmas de linguagens de programação. Conceitos de orientação a objetos. Universidade

Leia mais

Introdução a Orientação a Objetos

Introdução a Orientação a Objetos Introdução a Orientação a Objetos Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 01 - Introdução 1 Qualidade de Software Obter

Leia mais

Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Introdução à Orientação a Objetos SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Histórico de OO Vantagens de OO Linguagens OO Conceitos Básicos de OO

Leia mais

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla UML 2.0 Método, Linguagem e Ferramenta Prof. Cesar Augusto Tacla Conteúdo do Curso MÉTODO RUP FERRAMENTA Visual Paradigm Enterprise Architect LINGUAGEM UML UML: Unified Modeling Language Linguagem padrão

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias

Leia mais

Engenharia de Software

Engenharia 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 mais

Introdução a Orientação a Objetos e UML

Introdução a Orientação a Objetos e UML UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Introdução a Orientação a Objetos e UML 879SCC Projeto e Desenvolvimento

Leia mais

As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira

As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira Educação de iniciação profissional validada e legitimada pela sociedade Registro da adequação à prática através de certificação

Leia mais

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem? DCC / ICEx / UFMG A Linguagem UML A Linguagem UML Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo UML (Linguagem de Modelagem Unificada) É uma notação gráfica (visual) para projetar sistemas OO Não

Leia mais

Conceitos de Programação Orientada por Objectos. Rui Camacho Programação 2

Conceitos de Programação Orientada por Objectos. Rui Camacho Programação 2 Conceitos de Programação Orientada por Objectos Um Problema Problema: Existem, hoje em dia, aplicações complexas e de grande dimensão que é preciso desenvolver e manter de modo eficiente utilizando equipas

Leia mais

Processos de software

Processos 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 mais

Programação orientada a objetos em C puro: o caso do htop

Programação orientada a objetos em C puro: o caso do htop Programação orientada a objetos em C puro: o caso do htop Hisham Muhammad h@hisham.hm @hisham_hm FISL 16, 2015 Quem sou eu Hisham Muhammad - h@hisham.hm GoboLinux htop LuaRocks gobolinux.org hisham.hm/htop

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Paradigma de orientação a Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Contextualização Paradigma de orientação a Contextualização A construção

Leia mais

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes Engenharia de Software I: Introdução Graduação em Informática 2009 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. Engenharia de requisitos 3. Modelagem de sistemas 4. Conceitos

Leia mais

Princípios de Análise e Projeto Orientados a Objetos com UML

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 mais

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves I Processos de desenvolvimento de SW profa. Denise Neves profa.denise@hotmail.com 2018 Projeto Um projeto é um empreendimento temporário empreendido para alcançar um único conjunto de objetivos. (PMI,PMBOK

Leia mais

Visã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 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 mais

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações Sistema (SI) Coleção de atividades de Banco de Dados que regulam o compartilhamento, SI nas Organizações a distribuição de informações Fernando Fonseca e o armazenamento de dados relevantes ao gerenciamento

Leia mais

Comentários: Desenvolvimento de Sistemas Rogério Araújo

Comentários: Desenvolvimento de Sistemas Rogério Araújo Comentários: Desenvolvimento de Sistemas Rogério Araújo rgildoaraujo@gmail.com 1 Técnico de informática no Ministério Público Federal Professor da Equipe Itnerante Desenvolvimento de Sistemas Certificações

Leia mais

Programação Orientada a Objetos em Python

Programação Orientada a Objetos em Python Programação Orientada a Objetos em Python Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 23 de junho de 2017 Ementa

Leia mais

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001 FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS Projeto de Programas PPR0001 2 Introdução Antes de desenvolver ou construir qualquer produto ou sistema em engenharia é necessário um... o PROJETO O que é um

Leia mais

Disciplina Medições e Qualidade de Software. Tópicos da Disciplina. Método de Avaliação. Qualidade de Software.

Disciplina Medições e Qualidade de Software. Tópicos da Disciplina. Método de Avaliação. Qualidade de Software. Engenharia de Software Aula 19 Disciplina 2012-2 Medições e Qualidade de Software Medição e Qualidade de Software Terças e quintas: 9:25 as 11:05 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com

Leia mais

REUSO E REUSABILIDADE

REUSO E REUSABILIDADE REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.

Leia mais

BEHAVIOR DRIVEN DEVELOPMENT BRUNO ROLIM MANSUR

BEHAVIOR DRIVEN DEVELOPMENT BRUNO ROLIM MANSUR BEHAVIOR DRIVEN DEVELOPMENT BRUNO ROLIM MANSUR AGENDA Motivação Processo Tradicional Processo BDD Fazer certo o certo Ciclo BDD Ferramentas Exemplo - Vídeo Rspec Vantagens e Desvantagens Referências MOTIVAÇÃO

Leia mais

10/10/2012. Artigo: Autores:

10/10/2012. Artigo: Autores: Artigo: Apresentar um estudo sistemático sobre as métricas de acoplamento na Programação Orientada a Aspectos e seu impacto na manutenibilidade e estabilidade do projeto. Autores: Rachel Burrows, Alessandro

Leia mais

INF1404 MODELAGEM DE SISTEMAS

INF1404 MODELAGEM DE SISTEMAS INF1404 MODELAGEM DE SISTEMAS Bacharelado em Sistemas de Informação Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 Princípios de Modelagem O Paradigma Funcional O Paradigma Orientado a Objetos

Leia mais

Gerê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 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 mais

Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos

Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos Eduardo Santana de Almeida Daniel Lucrédio Calebe de Paula Bianchini Antonio Francisco do

Leia mais

Estilos Arquiteturais

Estilos Arquiteturais Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Tó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 mais

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1 ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA - 2008/1 DC 9481 03/10/07 Rev. 00 1. Dados Legais Autorizado pelo Parecer 278 do Conselho

Leia mais

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU Aula 2 POO 1 Introdução Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Internet das Coisas Desafios e Oportunidades

Internet das Coisas Desafios e Oportunidades Internet das Coisas Desafios e Oportunidades Prof. Dr. Orlewilson Bentes Maia prof.orlewilson@gmail.com Roteiro Internet das Coisas (IoT) Roteiro Internet das Coisas (IoT) Roteiro Internet das Coisas (IoT)

Leia mais

Ferramenta de apoio ao mapeamento de especificação estruturada para especificação orientada a objetos

Ferramenta de apoio ao mapeamento de especificação estruturada para especificação orientada a objetos Ferramenta de apoio ao mapeamento de especificação estruturada para especificação orientada a objetos Marilan Ricardo Tagliari (FURB) marilan@blumaster.com.br Everaldo Artur Grahl (FURB) egrahl@furb.br

Leia mais

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA: Sistemas Distribuídos Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com! EMENTA: Plano de Curso! Conceitos. Comunicação entre processos (IPC). Programação de aplicações cliente- servidor. Sincronização

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) 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

Leia mais

ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML

ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML AGENDA Histórico da UML O que é e para que serve a UML Conjunto de diagramas da UML Overview Diagrama de Casos de Uso e Diagrama de Classes PROBLEMAS

Leia mais

Introdução à Qualidade de Software

Introdução à Qualidade de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução à Qualidade de Software Prof. Luthiano Venecian venecian@ucpel.tche.br

Leia mais

Introdução à Orientação a Objetos e UML

Introdução à Orientação a Objetos e UML Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação SSC 124: Análise e Projeto Orientados a Objetos Introdução à Orientação a Objetos e UML Profa. Dra. Elisa Yumi Nakagawa 2º semestre

Leia mais

Engenharia de Software II

Engenharia de Software II Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Engenharia de Software II Aula 04 (rogerio@fct.unesp.br) 2 Conteúdo: Parte 1: Gerenciamento

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE AULA 1 Introdução à Engenharia de Software 05/02/2014 Sobre o professor... Geovani Sajorato Engenheiro de Software Pleno na IOB Folhamatic S.A (Sage Group Brazil). 5 anos de experiência

Leia mais

Banco de Dados e Aplicações em Negócios: Introdução.

Banco de Dados e Aplicações em Negócios: Introdução. Banco de Dados e Aplicações em Negócios: Introdução evandro@usp.br Motivação Extenso uso de Banco de Dados (BD) no cotidiano Bancos, serviços, comércio em geral (comércio eletrônico) Web e seus serviços

Leia mais

Capítulo 2. Orientação a Objetos

Capí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 mais

MODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS

MODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS MODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS I. Autor: Prof. Oscar da Costa Gouveia Filho Departamento de Engenharia Elétrica Universidade Federal do Paraná II. Resumo: Verilog-AMS

Leia mais

Estilos Arquiteturais. Prof. Fellipe Aleixo

Estilos Arquiteturais. Prof. Fellipe Aleixo Estilos Arquiteturais Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Introdução Em An Introduction to Software Architecture, artigo de 1994, David Garlan e Mary Shaw definiram: An architectural style,

Leia mais

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados.

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados. Universidade Estadual de Mato Grosso do Sul Ciência da Computação Banco de Dados Prof. Nilton nilton@comp.uems.br Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados. 2

Leia mais

Análise e projeto de sistemas

Análise e projeto de sistemas Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os

Leia mais

Rosana T.Vaccare Braga

Rosana T.Vaccare Braga Rosana T.Vaccare Braga Processo de remover detalhes físicos,espaciais ou temporais no estudo de objetos ou sistemas com o objetivo de focar em outros aspectos de interesse (Colburn) Similar ao processo

Leia mais

Conceitos de Sistemas Distribuídos

Conceitos de Sistemas Distribuídos Conceitos de Sistemas Distribuídos Roteiro Definição de Sistemas Distribuídos (SD) Evolução Histórica Exemplos (SD) Modelos (Vantagens x Desvantagens) 2 O que é um Sistema Distribuído? Definição Coleção

Leia mais

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS Tereza Gonçalves Kirner Apresentação elaborada com base em: Hoffer, Jeffrey A., George, Joey F. Modern Systems Analysis and Design (Capítulo 1), Pearson,

Leia mais

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios

Leia mais

Histórico de Linguagens de Programação

Histórico de Linguagens de Programação Bacharelado em Ciência da Computação PARADIGMAS DE PROGRAMAÇÃO Histórico de Linguagens de Programação Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Objetivos Geral: Estudar as características

Leia mais

Programa Analítico de Disciplina INF323 Engenharia de Software II

Programa Analítico de Disciplina INF323 Engenharia de Software II 0 Programa Analítico de Disciplina Departamento de Informática - Centro de Ciências Exatas e Tecnológicas Número de créditos: Teóricas Práticas Total Duração em semanas: 15 Carga horária semanal 0 Períodos

Leia mais

Introdução 2014/1 Prof. Luís Fernando Garcia

Introduçã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 mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de

Leia mais

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 1. Introdução

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 1. Introdução Aula 1 Introdução O que são? Porque estudar? História Componentes de SO Referências Capítulo 1 Capítulos 2 e 3: folhear. O que é um sistema operacional? Um programa governo, controla a interação entre:

Leia mais

Estudo Qualitativo da Meta-Plataforma KNoT para IoT

Estudo Qualitativo da Meta-Plataforma KNoT para IoT Centro de Informática Graduação em Engenharia da Computação Proposta de Trabalho de Graduação Estudo Qualitativo da Meta-Plataforma KNoT para IoT Aluno: Danilo Alfredo Marinho de Souza (dams@cin.ufpe.br)

Leia mais

Cenário atual UML Histórico

Cenário atual UML Histórico a UML (Unified Modeling Language) Roteiro Cenário atual UML Histórico 1 Qual é o cenário atual? Quais são suas necessidades para o sistema? Preciso de um sistema que controle todas as vendas de meus produtos...

Leia mais

Marilan Ricardo Tagliari - TCC Marilan Ricardo Tagliari - TCC Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl

Marilan Ricardo Tagliari - TCC Marilan Ricardo Tagliari - TCC Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl UNIVERSIDADE REGIONAL DE BLUMENAU Introdução Objetivos Especificação Estruturada Especificação Orientada a Objetos Estratégia de Mapeamento

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Engenharia de requisitos Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições

Leia mais

ENGENHARIA DE REQUISITOS. SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa

ENGENHARIA DE REQUISITOS. SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa ENGENHARIA DE REQUISITOS SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 1 Conteúdo 1. Engenharia de Requisitos 1.1 Elicitação 1.2 Análise 1.3 Modelagem 2. Documento de Requisitos 2 1.

Leia mais

Manutenção Leitura: Sommerville; Pressman

Manutenção Leitura: Sommerville; Pressman Manutenção Leitura: Sommerville; Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º - 8º Edição / Ian Sommerville 2000-2007 Slide 1 Manutenção de software É modificar um programa depois que ele

Leia mais

Análise e Projeto de Software

Aná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 mais