Curso Sistemas de Informação Disciplina: Arquitetura de Software

Slides:



Advertisements
Apresentações semelhantes
ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software
Advertisements

Introdução à Ciência da Computação Linguagens de Programação.
Augusto NevesJoão CarlosRodrigo Paula Linguagem de Programação C++ Componentes do Grupo.
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Métricas de Software Prof.ª Adriana dos Santos Caparróz Carvalho.
Software Básico Silvio Fernandes
INTRODUÇÃO A INFORMÁTICA
Conteúdo: - Estrutura de Dados Homogênea.
Projeto de Sistemas de Software
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Introdução à Compilação Prof. Leandro Magno Slides adaptados a partir do material cedido pelos professores Heloise Manica Paris Teixeira, Yandre M. G.
Prof. Heloise Manica Paris Teixeira
Introdução a Informática
INTRODUÇÃO À PROGRAMAÇÃO
Ferramentas Programação
SISTEMA DE INFORMAÇÕES DESENVOLVIMENTO DE SISTEMAS
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Aula 2 Aspectos Preliminares
Configuração de manutenção
Paradigmas de programação
Análise e Desenvolvimento de Sistemas
Prof.Alfredo Parteli Gomes
Programação Avançada Prof. Natalia Castro Fernandes
Projeto de Sistemas de Software
Linguagem de programação I A
Web Services Uninorte Semana de Tecnologia da Informação
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
Caracterização e Objetivos das LP
Linguagem de Programação JAVA
Tipos de Dados Paradigmas de Programação
Avaliação da Linguagem de Programação
Estudo dos Conceitos e Paradigmas de Programação
02/08/2011 Professor Leomir J. Borba- –
Orientação a Objetos Parte I
Programação Orientada à Objetos
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Paradigmas de Linguagens de Programação Aula 2
Introdução a Linguagens de Programação
Técnicas de Programação - TPR
Analise Semântica aula-10-analise-semântica.pdf.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Algumas notas sobre a linguagem de programação C
METODOLOGIA, MÉTODOS E FERRAMENTAS
Aula01 – Técnicas de Programação II
Qualidade no Desenvolvimento de Software Wolley W. Silva Baseado nas notas de aula dos professores Tatuo e Daisy.
Métodos Formais.
Principais linguagens de interface gráfica e os impactos das mesmas na Engenharia de Software.
Aula 1 – Profª Danielle Costa
Diagrama de Componentes
Requisitos de Software
Linguagens de Programação
Linguagens de Programação Introdução Prof. Renato Melo.
Critérios de Avaliação das Linguagens de Programação
COMPILADORES 04 Prof. Marcos.
Fundamentos de linguagens de programação
Software Básico Introdução à Organização de Computadores Capítulo 1 Mitsuo Takaki
Algoritmos e Programação MC102
SISTEMAS DE INFORMAÇÃO
Introdução a linguagem de Programação Java. Linguagens de Programação Linguagens de máquina(muito difíceis de usar e compreender) – Comanda ações do computador.
PROGRAMAÇÃO II – PARTE 1 Profa. Maria Augusta Constante Puget.
Paradigmas de Programação
Módulo II Capítulo 1: Orientação a Objetos
Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 2 Professor: Italo Rodrigues Castro.
Influencias sobre o Projeto da Linguagem
Faculdade Pernambuca - FAPE Compiladores Abril/2007 Compiladores Abril/2007.
TÉCNICAS DE ESTIMATIVAS
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

Curso Sistemas de Informação Disciplina: Arquitetura de Software Critérios para Avaliação de Linguagens de Programação Maior habilidade em resolver problemas: uma maior compreensão de uma LP pode aumentar nossa habilidade em pensar em como atacar os problemas. Tanto melhor se dominarmos os vários modelos de LP Melhor uso de uma LP: compreensão das funções e implementação das estruturas de uma LP nos levam a usar a LP de modo a extrair o máximo de sua funcionalidade e eficiência Melhor escolha de uma LP: adequação ao problema Melhor designer de LPs: linguagens de interfaces de sistemas, extensão de LP via operadores e tipos de dados.

O que é a uma Linguagem? Expressão do pensamento, por meio da palavra; Conjunto de sinais, visuais ou fonéticos, através dos quais se estabelece a comunicação; O que é a uma Linguagem de Programação? Sistema de codificação constituído por conjuntos de palavras, cada qual com um só significado, formando séries de instruções destinadas a serem interpretadas e executadas pelo computador.

Tipos de Linguagens Linguagens de Baixo Nível Linguagens Procedurais Linguagens Funcionais Linguagens Orientadas a Objeto Linguagens Específicas a Aplicações Linguagens Visuais

Critérios para Avaliação Legibilidade Simplicidade Expressividade Ortogonalidade Confiabilidade Portabilidade

Legibilidade Facilidade de ler e escrever programas Influência no desenvolvimento e depuração de programas, na manutenção de programas e no desempenho de equipes de programação Fatores que melhoram a legibilidade: Abstração de dados Modularização de programas Documentação Convenções léxicas, sintaxe e semântica Exemplo em Java: nomes de classes iniciam por letra maiúscula, nomes de atributos usam letras minúsculas

Simplicidade Representação de que cada conceito seja simples de aprender e dominar Simplicidade sintática exige que a representação seja feita de modo preciso, sem ambigüidades Simplicidade semântica exige que a representação possua um significado independente de contexto Simplicidade não significa concisão A linguagem pode ser concisa mas usar muitos símbolos especiais Exemplo: linguagens funcionais

Expressividade Representação clara e simples de dados e procedimentos a serem executados pelo programa Exemplo: tipos de dados em Pascal Linguagens mais modernas: Incorporam apenas um conjunto básico de representações de tipos de dados e comandos Aumentam o poder de expressividade com bibliotecas de componentes Exemplos: Pascal, C++ e Java

Ortogonalidade Possibilidade de combinar entre si, sem restrições, os componentes básicos da LP Exemplo: permitir combinações de estruturas de dados, como vetores de registros Contra exemplo: não permitir que um vetor seja usado como parâmetro de um procedimento Influenciada pelo paradigma de LP Modelo de objetos Modelo funcional

Confiabilidade Tipagem forte: o processador da linguagem deve - Assegurar que a utilização dos diferentes tipos de dados seja compatível com a sua definição Evitar que operações perigosas, tal como aritmética de ponteiros, seja permitida Sistemas de tratamento de exceções permitem construir programas que Possuam definições de como proceder em caso de comportamento não usual Possibilitem tanto o diagnóstico quanto o tratamento de erros em tempo de execução

Portabilidade Multiplataforma: capacidade de um software executar em diferentes plataformas sem a necessidade de maiores adaptações Sem exigências especiais de hardware/software Exemplo: aplicação compatível com sistemas Unix e Windows Longevidade: ciclo de vida útil do software e do hardware não precisam ser síncronos; ou seja, é possível usar o mesmo software após uma mudança de hardware