Por Que Orientação a Objetos?

Slides:



Advertisements
Apresentações semelhantes
Introdução à Análise de Sistemas
Advertisements

Engenharia de Software
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Acompanhamento do progresso de projetos
Por que a engenharia de software?
Gestão de Projectos de SW OO: Métricas, Estimações e Planificações
Programação Orientada aos Objectos Paulo Marques Departamento de Eng. Informática Universidade de Coimbra Set/2005 Uma Introdução Usando.
Engenharia de Software
Análise e Projeto de Sistemas
Sistemas Distribuídos
Fundamentos de Engenharia de Software - temas para estudo -
Fundamentos de Engenharia de Software Edson Scalabrin Alcides Calsavara Teaching/mestrado/ FundamentosEngenhariaSoftware.
Component-Based Frameworks for E-Commerce Agnaldo Kiyoshi Noda.
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
Componentes: A Abordagem Catalysis
Aline Vasconcelos D.Sc. em Sistemas e Computação/COPPE UFRJ
Processo Desenvolvimento de Software Tradicional
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
Reutilização de Software
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Objetos Distribuídos Padrão CORBA
QIP Quality Improvement Paradigm NASA Software Engineering Laboratory (70s) Abordagem bottom-up para melhoria de software a partir de experimentação e.
Reutilização de Software
Engenharia Reversa É o processo de derivar as especificações lógicas dos componentes do sistema a partir de sua descrição física com auxílio de ferramentas.
Programação Orientada a Objetos
Sistemas de Informação
Engenharia de Software e Orientação a Objeto
Gerencia de Projeto OO Aspectos Avançados em Engenharia de Software Aula 5 Fernanda Campos DCC/UFJF.
Classes e objetos Modelagem
Introdução a Programação Orientada a Objetos
ENTERPRISE RESOURSE PLANNING
TÉCNICAS DE PROGRAMAÇÃO II
Engenharia de Software Conceitos
Cap. 6 – Pressman – Eng. Sistemas
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Tecnologias de Linguagens para Banco de Dados
Felipe Bogossian Luiz Felipe Maciel Renato Sampaio Rodrigo Couto
Desenvolvimento de Sistemas Orientados a Aspectos
Processos de Desenvolvimento de Software
Linguagem de Programação II
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Integrantes Gisely C. Oliveira Marcelo C. Ribeiro Maria Ap. Ferreira Rafael Vaz Walisson Junior Wesley C. Gomes.
Rapid Application Development (RAD)
Arquitetura de computadores
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 07.
Engenharia de Software
Modelos de Processo de Software
TI aplicada a Logística
Análise e Projeto de Sistemas de Informação 2o. Semestre de 2014
Princípios de Sistemas de Informação
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Introdução a Programação.
Análise e Projeto de Sistemas de Informação 2o. Semestre de 2014
Padrão- MVC Model, View, Controller
Curso Técnico em Informática DISCIPLINA: Implementação a Banco de Dados PROFESSOR: Flávio Barbosa PARACATU /MG.
Engenharia de Software
Ferramentas de Suporte a MDD: Um Quadro Comparativo
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
Frameworks e Componentes Daniel Fernando Pavelec.
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Introdução a Orientação a Objetos
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
Fundamentos de Engenharia de Software Edson Scalabrin Alcides Calsavara.
Catalysis Engenharia de Software Douglas Gabriel Bernardes Matheus Zure Pablo.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
IF718 Análise e Projeto de Sistemas Augusto Sampaio - acas Vitor Braga - vtb (Estágio docência) Diogo Peixoto - dcp (Monitor) Parte do material.
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
Prof. Hemerson Calabreze 1.  Dentro de uma garrafa, cheia de um líquido nutritivo, cai um micróbio. O micróbio se alimenta, cresce e se divide em dois.
Temas de Pesquisa para 2016 Prof. Elvis Fusco. Data Science e Big Data Analytics Estudo e aplicações do conceito de Data Science no desenvolvimento de.
Transcrição da apresentação:

Por Que Orientação a Objetos? Prof. Marcel Hugo Ciências da Computação – Bacharelado FURB

Agenda 1. Cenário 2. Reutilização 3. Orientação a Objetos 4. Conclusões

Software Está Ficando Mais Complexo fonte: Communications of the ACM % de Funções de Sistema no Hardware 20 40 60 80 100 1960 1970 1980 1990

Custos Custos de desenvolvimento são muitos altos Elevam-se os custos de manutenção: década de 70 e 80: 60 - 65 % dos custos totais atualmente: 70 - 80 % 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

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); ???

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

Casos práticos Níveis de reusabilidade elevam a produtividade

Várias técnicas para reutilização Repositórios (meio de armazenamento) Análise de domínio Engenharia reversa Orientação a objetos ...

3. 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, ...

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 Carro Árvore João Casa Modelo dirige Carro mora na Árvore Casa João

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 (Herança e Polimorfismo); 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).

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

4. Conclusões Como todo paradigma, necessita de mudança cultural. Tecnologia poderosa, porém deve ser adotada de forma consciente. Deixou de ser moda e tendência tecnológica para ser realidade.

Agradecimentos Valter Medina - TechMark