Linguagem de Programação II

Slides:



Advertisements
Apresentações semelhantes
PROGRAMAÇÃO DE COMPUTADORES
Advertisements

Análise e Projeto Orientado a Objetos
Introdução à Análise de Sistemas
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Qualidade de Software Aula 4
Linguagem de Programação I
Engenharia de Software
Engenharia de Software
Engenharia de Software
Gerência de Projetos Wesley Peron Seno Introdução
Engenharia de Software
> Fases de Engenharia de SW > Gestão de Projectos de SW
Orientação por Objectos > Modelo de Processo OO > Identificação de Classe e Objectos Aula 12.
Engenharia de Software Professor Sandro de Paiva Carvalho.
Mitos e Problemas Relacionados ao Software
Introdução à Computação - Jorge Macêdo
Projeto de Sistemas de Software
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Modelagem de Sistemas de Informação: uma perspectiva histórica.
Análise e Projeto de Sistemas
INTRODUÇÃO À PROGRAMAÇÃO
Introdução ao paradigma de programação: Orientado a Objetos
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)
Análise e Projeto de Sistemas
Introdução Visão Geral do Método.
TSDD Teste de segurança durante o desenvolvimento.
Metodologia Versão 2 FSRS.
Introdução à Modelagem de Software
Introdução à Modelagem de Software
Sejam bem-vindos à atividade PROGRAMAÇÃO I 2009 Professor Gilberto IRAJÁ Müller.
Engenharia de Software Conceitos
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Princípios de Orientação à Objetos
Cap 2 – Processo de Software
Projeto de Sistemas de Informação
Projeto de Sistemas de Software
Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Processos de Desenvolvimento de Software – Parte 2
Fase de Elaboração: Fluxo de Requisitos
Análise e Projeto de Sistemas Introdução
Análise e Projeto de Sistemas
Caracterização e Objetivos das LP
Análise e Projeto de Sistemas
Introdução e Fundamentos Engenharia de Requisitos
Técnicas e Projeto de Sistemas
Análise e Projeto de Sistemas de Informação 2o. Semestre de 2014
Orientação a Objetos Parte I
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Introdução a Programação.
Documentação de Software
Análise e Projeto de Sistemas de Informação 2o. Semestre de 2014
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
O Processo Unificado (UP)
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Engenharia de Software
METODOLOGIA, MÉTODOS E FERRAMENTAS
Técnicas e Projeto de Sistemas
PCS - Departamento de Engenharia de Computação e Sistemas Digitais Projeto de Formatura – Turmas 2010 Integrantes: Professor Orientador: Co-orientador:
UML e a Ferramenta Astah
Engenharia de Software
Gerenciamento de Requisitos e Modelagem de sistemas
Introdução à modelagem orientada a objetos
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Módulo II Capítulo 1: Orientação a Objetos
SOFTWARE DE ESTATÍSTICAS PARA BASQUETE EM CADEIRA RODAS ESTUDO DE CASO ADFP - FÊNIX Acadêmicos: Elisangela Fernandes Duarte Sandro Colaço de Lima Orientador:
Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 2 Professor: Italo Rodrigues Castro.
Engenharia de Software
Desenvolvimento de Software I
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construçã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.
Transcrição da apresentação:

Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Introdução * Baseado no material do Professor Fernando Borges Montenegro

Introdução A introdução têm por objetivo fornecer um panorama geral a respeito das metodologias de desenvolvimento Estruturada x Orientada a Objetos Também fornece uma visão rápida da evolução das linguagens de programação

Métodos

O Que é Um Método? Engenheiros Civis fazem plantas Engenheiros Eletrônicos fazem esquemas Engenheiros Mecânicos fazem desenhos Engenheiros de Software fazem modelos O processo é sempre o mesmo: Produzir uma representação da realidade para se fazer planejamento, testar conceitos, calcular e estimar variáveis, minimizar erros, etc...

O Que é Um Método? Um método é uma maneira definida de se fazer algo. Uma metodologia de desenvolvimento é um conjunto de notações (linguagem da modelagem) e processos (passos para elaborar um projeto) bem definidos para se desenvolver software ou sistemas. Um método descreve um sistema de forma a minimizar ao máximo a ambigüidade presente na comunicação durante o processo de desenvolvimento.

Por quê utilizar um método O bom uso de métodos lhe dará uma forma previsível e repetível de se atingir os objetivos de seu projeto; permitirá também mensurar o seu processo, quantitativamente e qualitativamente. Sem mensurar o trabalho, você não pode prever e gerenciar seu trabalho.

Histórico de Metodologias de Software Início Anos 70 - Programação Estruturada Niklaus Wirth Fim Anos 70 - Projeto Estruturado Constantine, Yourdon Anos 80 - Análise Estruturada Yourdon/DeMarco, James Martim, Chris Gane Anos 90 Orientação a Objetos Baseado no paradigma estruturado Qualidade de Software UML Componentização

Estruturada x OO Com a orientação a objetos procura-se eliminar as diferenças entre as etapas de análise, projeto e implementação, reabilitando a difamada tarefa de implementação O segredo é fazer com que os conceitos de programação, e as notações para programação, sejam suficientemente de alto-nível para que possam servir apropriadamente como ferramentas de modelagem. Orientação a Objetos 9

Diferenças de Ciclo de Vida Paradigma Tradicional: Análise (Pouca), Projeto (Pouco), Codificação (Muita), Teste (Muito, geralmente confundido com codificação), Manutenção (Muita); Paradigma OO: Análise (Muita), Projeto (Muito), Re-Análise, Re-Projeto, Codificação (Simplificada), Re-Análise, Re-Projeto, Re-Codificação, Teste (Reduzido), Re-Análise, etc… No Projeto OO você usa conceitos de Engenharia de Software para produzir o produto, e não somente como documentação. Métodos Estruturados utilizam-se de ciclos de vidas em cascata, dificultando a “volta à prancheta” caso algum requisito mude; Ciclos de vida em cascata normalmente usam notações diversas para Análise e Projeto, obrigando o desenvolvedor a fazer mudanças em diversas partes do modelo; Ciclo de vida em cascata é bom no papel, mas difícil de se usar no mundo real. Métodos OO fazem bom uso do ciclo de vida iterativo. Requisitos, quando mudam, podem ser facilmente estudados, considerados e inclusos no projeto; Na maioria dos casos, uma única notação é utilizada tanto para a Análise como para o Projeto; Ciclo de vida iterativo OO se parece muito com a forma com que as coisas acontecem e mudam no decorrer de um projeto. Orientação a Objetos 10

Metodologia 'estruturada' Criada nos anos 60/70 Guerra Fria Grandes Projetos Ambientes de Grande Porte Pouca maturidade em Programação Funciona! Quando é bem utilizada… Quando os projetos tem início, meio e fim… Quando os projetos são longos… Quando você tem legado de mainframe.

Metodologia 'estruturada' Tradicionalmente, a literatura tratava análise, projeto e implementação como atividades diferentes e, até certo ponto, desconexas pois tinham: diferentes métodos; diferentes notações e diferentes objetivos. Na necessidade de especificar o que está prestes a ser implementado tratavam a análise e o projeto como as únicas coisas que realmente interessam. A implementação seria apenas algo inevitável. Orientação a Objetos 12

Paradigma Estruturado x Orientação a Objetos Na Estruturada Os sistemas são divididos em subprogramas; Fixa a atenção muito mais nos procedimentos que nos dados. Na Orientação a Objetos Dados e Procedimentos possuem a mesma importância; Orientação a Objetos 13

Paradigma Estruturado x OO Sistema de informação de bibliotecas Catálogo Bibliotecário Livro Biblioteca A/P orientados a objetos Decompor por objetos ou conceitos Sistema Registrar empréstimos Adicionar recursos Relatar multas A/P estruturados Decompor por funções ou processo Orientação a Objetos 14

Orientação a Objetos Possuem vantagens sobre o paradigma estruturado: Reutilização de Software (Reusibilidade) reaproveitamento de código Manutenção de Software facilidade de manutenção de sistemas Tamanho de Código Gerado menor código Altera a forma pela qual dados e procedimentos intercomunicam-se. Orientação a Objetos 15

Orientação a objetos Crise do software e necessidade de mudar Surgiu a idéia da orientação a objetos que representa melhor o mundo real, uma vez que a percepção e o raciocínio do ser humano estão relacionados diretamente com o conceito de objetos. Objetivo principal da utilização do paradigma da Orientação a Objetos, na construção de software : Rápido não perder muito tempo no desenvolvimento Barato linhas de montagem e reutilização de código Flexível fácil modificar ou extender - Construir rápido Na medida em que os requisitros e plataformas são fluidos e evolutivos, dispender tempo excessivo é um erro. Com a necessidade de informatização cada vez maior, a rapidez no desenvolvimento de software é imprencidível. Orientação a Objetos 16

Programação Estruturada Evolução Simula Smaltalk Borland Algol Pascal objects Delphi Pascal Objective C 1960 1965 1970 1975 1980 1985 1990 1995 2000 | | | | | | | | | BCPL CPL B C C++ ANSIC++ Java ISO C++ C# Sun Microsoft AT&T Bell AT&T Bell Orientação a objetos Análise orientada a objetos UML Programação Estruturada Projeto Estruturado Análise Estruturada | | | | | | | | |

Evolução das linguagens – alguns exemplos Orientação a Objetos 18