Engenharia de Software I. Prof. André Castro Garcia

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

Download "Engenharia de Software I. Prof. André Castro Garcia"

Transcrição

1 Engenharia de Software I Prof. André Castro Garcia

2 1. Introdução 1.1 A IMPORTÂNCIA DO SOFTWARE Nas primeiras décadas da era do computador, o principal desafio era desenvolver um hardware que reduzisse o custo de processamento e armazenagem de dados. No entanto, a partir da década de 90, o desafio passou a ser o desenvolvimento de soluções baseadas em computador. Soluções que são implementadas com software. O hardware tinha então um potencial muito grande e necessitava de um mecanismo que possibilitasse dar vazão a esse potencial, o software.

3 1.1.1 O papel evolutivo do software O contexto em que o software foi desenvolvido está ligado a quase cinco décadas de evolução dos sistemas computadorizados. O melhor desempenho do hardware, menor tamanho e custo mais baixo precipitaram o aparecimento de sistemas baseados em computadores mais sofisticados. Quando se iniciava a década de 1990, Tofler descreveu uma mudança de poder, em que as velhas estruturas de poder se desintegrarão enquanto os computadores e o software levarão a uma democratização do conhecimento.

4 Evolução do software: Os primeiros anos ( ) Orientação Batch Distribuição limitada Software customizado A segunda era ( ) Multiusuário Tempo real Banco de dados Produto de software A terceira era ( ) Sistemas distribuídos Inteligência embutida Hardware de baixo custo Impacto de consumo A quarta era (1990?) Sistemas de desktops poderosos Tecnologias orientadas a objeto Sistemas especialistas Redes neurais artificiais Computação paralela

5 Os primeiros anos O produto software estava em sua infância. A maior parte do software era desenvolvida e, em última análise, usada pela própria pessoa ou organização. Você escrevia-o, colocava-o em funcionamento e, se ele falhasse, era você quem o consertava. Uma vez que a rotatividade de empreso era baixa, os gerentes podiam dormir tranquilos com a certeza de que você estaria lá se defeitos fossem encontrados. Durante os primeiros anos, aprendemos muito sobre a implementação de sistemas baseados em computador, mas relativamente pouco sobre engenharia de sistemas de computador.

6 A segunda era A multiprogramação e os sistemas multiusuários introduziram novos conceitos de interação homem-máquina. Sistemas em tempo real podiam coletar, analisar e transformar dados de múltiplas fontes. Os avanços de armazenagem on-line levaram à primeira geração de sistemas de gerenciamento de banco de dados. A segunda era também foi caracterizada pelo uso do produto de software e pelo advento das software houses. Empresários da indústria, governos e universidades puseram-se a desenvolver pacotes de software e a ganhar muito dinheiro. Todos esses programas tinham de ser corrigidos quando eram detectadas falhas, ou quando tinha alteração, ou quando tinha que se adaptar ao novo hardware. Essas atividades foram chamadas de manutenção de software. E ainda pior, a natureza personalizada de muitos programas tornava-os virtualmente impossíveis de sofrer manutenção.

7 A terceira era Os sistemas distribuídos, múltiplos computadores, cada um executando funções concorrentemente e comunicando-se um com o outro, aumentaram intensamente a complexidade dos sistemas baseados em computador. As redes globais e locais, as comunicações digitais de largura de banda elevada e a crescente demanda de acesso instantâneo a dados exigem muito dos desenvolvedores de software. A terceira era foi também caracterizada pelo advento e generalizado uso de microprocessadores, computadores pessoais e poderosas estações de trabalho de mesa. O computador pessoal foi o catalisador do crescimento de muitas empresas de software.

8 A quarta era 1990-? As tecnologias orientadas a objetos estão rapidamente ocupando o lugar das abordagens mais convencionais para o desenvolvimento de software em muitas áreas de aplicação. As técnicas de quarta geração para o desenvolvimento de software já estão mudando a maneira segundo a qual alguns segmentos da comunidade de software constroem programas de computador. O software de inteligência artificial finalmente saiu do laboratório para a aplicação prática em problemas de amplo espectro do mundo real.

9 1.2 Software Software é: (1) instruções (programas de computador) que, quando executadas, produzem a função e o desempenho desejados; (2) estruturas de dados que possibilitam que os programas manipulem adequadamente a informação; e (3) documentos que descrevem a operação e o uso dos programas.

10 1.2.1 Características do Software O software é um elemento lógico, e não físico. Portanto, o software tem características que são consideravelmente diferentes das do hardware: 1. O software é desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico. Os custos do software estão concentrados no trabalho de engenharia. Isso significa que os projetos de software não podem ser geridos como se fossem projetos de manufatura.

11 2. O software não se desgasta. O software não é sensível aos problemas ambientais que fazem com que o hardware se desgaste. Defeitos não descobertos provocarão elevados índices de falha logo no começo da vida de um programa. Quando se desgasta, um componente de hardware é substituído por uma peça de reposição. Não existem peças de reposição para o software. Portanto a manutenção de software envolve consideravelmente mais complexidade do que a manutenção de hardware. 3. A maioria dos softwares é feita sob medida em vez de ser montada a partir de componentes existentes. É possível encomendar software não destinado à publicação, mas somente com uma unidade completa, não como componentes que possam ser montados novamente em novos programas.

12 1.2.2 Componentes do Software O software de computador é uma informação que existe em duas formas básicas: componentes não executáveis em máquinas e componentes executáveis em máquina. A reusabilidade é uma característica importante de um componente de software de alta qualidade. Ou seja, o componente deve ser projetado e implementado de forma que possa ser reusado em muitos programas diferentes. Os componentes de software são construídos usando uma linguagem de programação que tem um vocabulário limitado, uma gramática explicitamente definida e regras de sintaxe e semântica bem formadas. Esses atributos são essenciais para a tradução por máquina. As formas de linguagem em uso são linguagens de alto nível e linguagens não procedimentais.

13 Linguagem de máquina é uma representação simbólica do conjunto de instruções da unidade central de processamento (CPU). As linguagens de alto nível permitem que o desenvolvedor do software e o programa sejam independentes da máquina. Quando é usado um tradutor mais sofisticado, o vocabulário, a gramática, a sintaxe e a semântica de uma linguagem de alto nível podem ser muito mais sofisticados do que as linguagens de nível de máquina. As linguagens de máquina, as linguagens montadoras (assembly) e as linguagens de programação de alto nível frequentemente são citadas como as três primeiras gerações das linguagens de computador. As linguagens de quarta geração, ou não procedimentais, em vez de exigir que o desenvolvedor de software especifique detalhes de procedimento ela subentende um programa especificando o resultado desejado ao invés de especificar a ação exigida para se conseguir esse resultado.

14 1.2.3 Aplicações do Software O software pode ser aplicado a qualquer situação em que um conjunto previamente especificado de passos procedimentais tiver sido definido. O conteúdo de informação e a determinância são fatores importantes na determinação da natureza de um aplicativo. A palavra conteúdo refere-se ao significado e a forma das informações que entram e saem. Determinância de informação refere-se à previsibilidade da ordem e da oportunidade da informação. As seguintes áreas de software indicam a amplitude das aplicações potenciais:

15 Software Básico: é uma coleção de programas escritos para dar apoio a outros programas. Software de Tempo Real: um software que monitora / analisa / controla eventos do mundo real. Software Comercial: o processamento de informações comerciais é a maior área particular de aplicação de software. Software Científico e de Engenharia: tem sido caracterizado por algoritmos de processamento de números. Software Embutido: reside na memória só de leitura e é usado para controlar produtos e sistemas para os mercador industriais e de consumo. Software de Computador Pessoal: processamentos de textos, planilhas eletrônicas, computação gráfica, diversões, gerenciamento de dados, aplicações financeiras são apenas algumas das centenas de aplicações. Software de Inteligência Artificial: faz uso de algoritmos nãonuméricos para resolver problemas complexos que não sejam favoráveis à computação ou à análise direta.

16 1.3 Software: uma crise no horizonte Muitos observadores da indústria de software caracterizavam os problemas associados ao desenvolvimento do software como uma crise. Contudo, o que temos realmente pode ser algo bem diferente. Os problemas não se limitam ao software que não funciona adequadamente. Ao contrário, a aflição abrange problemas associados a como desenvolvemos o software, como mantemos um volume crescente de software existente e como podemos esperar acompanhar a crescente demanda por mais software.

17 1.3.1 Problemas Os problemas que afligem o desenvolvimento de software podem ser caracterizados a partir de uma série de perspectivas diferentes: (1) as estimativas de prazo e de custo frequentemente são imprecisas; (2) a produtividade das pessoas da área de software não tem acompanhado a demanda por seus serviços; e (3) a qualidade de software às vezes é menos adequada. Esses problemas são a manifestação mais visível de outras dificuldades do software: Não dedicamos tempo para coletar dados sobre o processo de desenvolvimento de software. A insatisfação do cliente com o sistema concluído ocorre muito frequentemente.

18 A qualidade do software frequentemente é suspeita. Só recentemente começamos a entender a importância dos testes de software sistemáticos e tecnicamente completos. O software existente pode ser muito difícil de se manter. A capacidade de manutenção de software não foi enfatizada como um critério importante para a aceitação do software. Uma abordagem de engenharia ao desenvolvimento de software, aliada a uma contínua melhoria de técnicas e ferramentas, oferece a chave para a solução dos problemas citados acima.

19 1.3.2 Causas Os problemas associados à crise de software foram causados pelo próprio caráter do software e pelas falhas das pessoas que detinham a responsabilidade pelo desenvolvimento do software. A natureza lógica do software constitui um desafio para as pessoas que o desenvolvem. Pela primeira vez aceitamos a tarefa de nos comunicar com uma inteligência alienígena a máquina. Os profissionais da área de software têm recebido pouco treinamento formal em novas técnicas para desenvolvimento de software. Algumas pessoas desenvolvem uma abordagem ordeira e eficiente ao desenvolvimento de software por meios de ensaio e erro, mas muitas outras desenvolvem maus hábitos que resultam em qualidade e manutenibilidade deficientes.

O Processo de Desenvolvimento de Software. Engenharia de Software

O Processo de Desenvolvimento de Software. Engenharia de Software O Processo de Desenvolvimento de Software Engenharia de Software 1 Sumário: Software Definição, características e aplicações; Evolução; Crise do Software Problemas e causas; Mitos do Software. Paradigmas

Leia mais

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos de Software Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br Objetivo da aula Depois desta aula você terá uma visão sobre o conceitos

Leia mais

Tópicos. Engenharia de Software: Uma Visão Geral

Tópicos. Engenharia de Software: Uma Visão Geral Tópicos 2 3 Engenharia de Software: Uma Visão Geral SCE 186 - Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002 A importância do Software Software Aplicações

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

Engenharia de Software

Engenharia de Software CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

Análise e Projeto de. Aula 01. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Análise e Projeto de. Aula 01. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Análise e Projeto de Sistemas I Aula 01 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Análise e Projeto de Sistemas I Horário das Aulas: 2as feiras das 10h10 às 11h40 e 5as feiras das 08h25

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software O que é a engenharia de software É um conjunto integrado de métodos e ferramentas utilizadas para especificar, projetar, implementar e manter um sistema. Método É uma prescrição

Leia mais

Características do Software

Características do Software Questionamentos Por que tanta demora para entregar? Por que os prazos se atrasam? Por que os custos são altos? Por que não achar todos os erros antes de entregar? Por que dificuldade em medir o progresso

Leia mais

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software Análise e Projeto de Sistemas Análise e Projeto de Sistemas Contextualização ENGENHARIA DE SOFTWARE ANÁLISE E PROJETO DE SISTEMAS ENGENHARIA DA INFORMAÇÃO Perspectiva Histórica Engenharia de Software 1940:

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Roteiro Software Evolução do Software Engenharia de Software Modelo Espiral Software Software Definição Conjunto de instruções que manipulam estruturas de dados (informação) Composição

Leia mais

SOFTWARE E ENGENHARIA DE SOFTWARE

SOFTWARE E ENGENHARIA DE SOFTWARE SOFTWARE E ENGENHARIA DE SOFTWARE 1. INTRODUÇÃO: EVOLUÇÃO E CONCEITOS BÁSICOS Válvula 1 : Dispositivo que conduz a corrente elétrica num só sentido, possuindo três componentes básicos: catodo, anodo e

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE Síntese de tópicos importantes PRESSMAN, Roger S. Conteúdo Componentes e tipos de software Problemas com o software e suas causas Mitologia que envolve o software Configuração de

Leia mais

ANÁLISE E PROJETO DE SISTEMAS

ANÁLISE E PROJETO DE SISTEMAS UFU Universidade Federal de Uberlândia ANÁLISE E PROJETO DE SISTEMAS INTRODUÇÃO A ENGENHARIA DE SOFTWARE Professora: Fabíola Gonçalves. AGENDA Introdução à Engenharia de Software Características do Software

Leia mais

Unidade 1: O Produto Software e seus processos de criação

Unidade 1: O Produto Software e seus processos de criação Unidade 1: O Produto Software e seus processos de criação Capítulo 1: O Produto Software Professor: M.Sc. Cristiano Mariotti mscmariotti@globo.com Curso Tecnológico de Análise e Desenvolvimento de Sistemas

Leia mais

Disciplina: Engenharia de Software Matéria: Software Página: 6. O mundo precisa de software. [Steve Jobs, criador do Apple II]

Disciplina: Engenharia de Software Matéria: Software Página: 6. O mundo precisa de software. [Steve Jobs, criador do Apple II] Matéria: Software Página: 6 1 SOFTWARE O mundo precisa de software. [Steve Jobs, criador do Apple II] Quando um software de computador é bem-sucedido quando satisfaz às necessidades das pessoas que o usam,

Leia mais

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software O que é software? Software e Engenharia de Software Programas de computador Entidade abstrata. Ferramentas (mecanismos) pelas quais: exploramos os recursos do hardware. executamos determinadas tarefas

Leia mais

Engenharia de Software Unidade I Visão Geral

Engenharia de Software Unidade I Visão Geral Conteúdo programático Engenharia de Software Unidade I Visão Geral Prof. Francisco Gerson A. de Meneses O que é Produtos de Software Distribuição de Software Um sistema de Software O software em um cenário

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 1 OBJETIVOS 1. Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações e transações empresariais?

Leia mais

A Evolução dos Sistemas Operacionais

A Evolução dos Sistemas Operacionais Capítulo 3 A Evolução dos Sistemas Operacionais Neste capítulo, continuaremos a tratar dos conceitos básicos com a intensão de construirmos, agora em um nível mais elevado de abstração, o entendimento

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 6 ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE OBJETIVOS Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações e transações empresariais?

Leia mais

Introdução a Engenharia de Software. Alterações na aula do Prof. Reinaldo Bianchi Alterado por: Antonio Carlos Souza ADS - IFBA

Introdução a Engenharia de Software. Alterações na aula do Prof. Reinaldo Bianchi Alterado por: Antonio Carlos Souza ADS - IFBA Introdução a Engenharia de Software Alterações na aula do Prof. Reinaldo Bianchi Alterado por: Antonio Carlos Souza ADS - IFBA Bibliografia Engenharia de Software, Roger Pressman, Makron Books: o mais

Leia mais

ENGENHARIA DE SOFTWARE II

ENGENHARIA DE SOFTWARE II UNIVERSIDADE FEDERAL DO MATO GROSSO ENGENHARIA DE SOFTWARE II Revisão dos principais conceitos da Engenharia de Software: Motivação; Histórico; Terminologia; Principais modelos de processos e métodos;

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios

Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios Empresas e outras organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus

Leia mais

Apostila da disciplina Introdução à Engenharia de Software Professor: Sandro Melo Faculdades São José Curso de Tecnologia de Sistemas de Informação

Apostila da disciplina Introdução à Engenharia de Software Professor: Sandro Melo Faculdades São José Curso de Tecnologia de Sistemas de Informação Capítulo 1: Software e Engenharia de Software O que é? E quem produz? Porque é importante? Quais são as fases? Qual o resultado? Como avaliar? Arcabouço: processo, conjunto de métodos e ferramentas. 1.1

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Introdução Um sistema operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador. O propósito

Leia mais

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Introdução Hardware X Software Corpo Humano Parte Física Componentes 18 Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Hardware Introdução Parte física: placas, periféricos,

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva. juliocesar@tecnocracia.eti.br. Http://e-academy.com.br

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva. juliocesar@tecnocracia.eti.br. Http://e-academy.com.br Faculdade Pitágoras Engenharia de Software Prof.: Julio Cesar da Silva juliocesar@tecnocracia.eti.br Http://e-academy.com.br Evolução do Software (1950 1965) - O hardware sofreu contínuas mudanças - O

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 6.1

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 6.1 Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 6.1 6 OBJETIVOS OBJETIVOS ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 6.1 2003 by Prentice Hall Qual é a capacidade de processamento e armazenagem

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

2.Gerência de Projetos: Métricas de Software

2.Gerência de Projetos: Métricas de Software 2.Gerência de Projetos: Métricas de Software A seguir consideraremos os conceitos fundamentais que levam à administração efetiva de projetos de software. Vamos considerar o papel da administração e das

Leia mais

Hardware. Computador. Hardware parte do computador em que você normalmente mete o pé quando seu computador não executa uma tarefa solicitada por você.

Hardware. Computador. Hardware parte do computador em que você normalmente mete o pé quando seu computador não executa uma tarefa solicitada por você. Computador Hardware Hardware é a parte física do computador, ou seja, é o conjunto de componentes eletrônicos, circuitos integrados e placas, que se comunicam através de barramentos. Hardware parte do

Leia mais

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas

Leia mais

O Produto e o Processo. Engenharia de Software Profa. Inês A.G.Boaventura 2. Semestre/2005

O Produto e o Processo. Engenharia de Software Profa. Inês A.G.Boaventura 2. Semestre/2005 O Produto e o Processo Engenharia de Software Profa. Inês A.G.Boaventura 2. Semestre/2005 O Produto Dois papéis do Software: - produto (quando libera o potencial embutido no hardware) - veículo para liberar

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas e técnicas

Leia mais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais 1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Prof. José Honorato F.N. Prof. José Honorato F.N. honoratonunes@gmail.com Requisitos de Software Software é o conjunto dos programas e dos meios não materiais que possibilitam o

Leia mais

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Engenharia de Software: Introdução Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. UML 3. O Processo Unificado 1. Captura de requisitos 2.

Leia mais

NORMAS ISO E SUA IMPORTÂNCIA NA PRODUÇÃO DE SOFTWARE

NORMAS ISO E SUA IMPORTÂNCIA NA PRODUÇÃO DE SOFTWARE NORMAS ISO E SUA IMPORTÂNCIA NA PRODUÇÃO DE SOFTWARE Marina Benedetti Preto¹ RESUMO Muito se fala sobre a qualidade de software, mas sem sempre se tem uma verdadeira noção deste conceito. A qualidade possui

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu. "Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE." Engenharia de Software Introdução à Engenharia de Software Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha

Leia mais

Engenharia de Software-2003

Engenharia de Software-2003 Engenharia de Software-2003 Mestrado em Ciência da Computação Departamento de Informática - UEM Profa. Dra. Elisa H. M. Huzita eng. de software-2003 Elisa Huzita Produto de Software Conceitos Software

Leia mais

Introdução à ES - Continuação

Introdução à ES - Continuação Introdução à ES - Continuação Roteiro Software X Hardware Manutenção de software Elementos da ES Mitos do software Princípios de Hooker Modelos de ciclo de vida Escopo do Curso Atividades de Desenvolvimento

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE Capítulo 6 ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 6.1 2003 by Prentice Hall OBJETIVOS Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações

Leia mais

IIH Introdução à Informática e Hardware

IIH Introdução à Informática e Hardware Prof. MSc. André Luis Gobbi Primo andre.gobbi@ifsp.edu.br INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SÃO PAULO - CAMPUS VOTUPORANGA Técnico em Manutenção e Suporte em Informática IIH Introdução

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador. O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador. Linguagem de Programação Uma linguagem de programação é um método padronizado para expressar

Leia mais

Curso Técnico em Redes

Curso Técnico em Redes Curso Técnico em Redes Prof. Airton Ribeiro - 2012 Histórico das Linguagens de Programação O que é? É um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas

Leia mais

Qualidade de Software

Qualidade de Software Rafael D. Ribeiro, M.Sc. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br A qualidade de software é responsabilidade de todos os participantes envolvidos no desenvolvimento de software.

Leia mais

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação Disciplina A Disciplina B Código Disciplina C/H Curso Disciplina C/H Código Curso Ano do Currículo 66303 ESTRUTURA DE DADOS I 68/0 ENG. DE

Leia mais

Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com

Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Introdução a Banco de Dados Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 12/06/2013 Sumário Motivação da Disciplina

Leia mais

Requisitos. Sistemas de Informações

Requisitos. Sistemas de Informações Requisitos Sistemas de Informações Definindo o Sucesso do Software Clientes satisfeitos Eles estão satisfeitos quando você: Atende às expectativas Entrega no prazo Entrega no orçamento O Sucesso começa

Leia mais

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva. juliocesar@tecnocracia.eti.br. Http://e-academy.com.br

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva. juliocesar@tecnocracia.eti.br. Http://e-academy.com.br Faculdade Pitágoras Engenharia de Software Prof.: Julio Cesar da Silva juliocesar@tecnocracia.eti.br Http://e-academy.com.br Conceitos Iniciais Informática: Ciência que visa o tratamento da Informação.

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: SIG Aula N : 11 Tema: Como desenvolver e

Leia mais

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti. TI Aplicada Aula 02 Áreas e Profissionais de TI Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http:// Papéis... Um papel é uma definição abstrata de um conjunto de atividades executadas e dos

Leia mais

Engenharia de Software I 2012.2 Para que eu Preciso Saber Engenharia de Software?

Engenharia de Software I 2012.2 Para que eu Preciso Saber Engenharia de Software? Engenharia de Software I 2012.2 Para que eu Preciso Saber Engenharia de Software? Ricardo Argenton Ramos ricargentonramos@gmail.com Conteúdo Importância em ter métodos/modelos para seguir na construção

Leia mais

Sistema Operacional Correção - Exercício de Revisão

Sistema Operacional Correção - Exercício de Revisão Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.

Leia mais

O processo de melhoria de processo

O processo de melhoria de processo O processo de melhoria de processo Prof.ª Dra. Aida Araújo Ferreira aidaferreira@recife.ifpe.edu.br Modelos de Melhoria de Processo de Software Tecnologia em Análise e Desenvolvimento de Sistemas IFPE

Leia mais

ALP Algoritmos e Programação. . Linguagens para Computadores

ALP Algoritmos e Programação. . Linguagens para Computadores ALP Algoritmos e Programação Iniciação aos computadores. Linguagens para Computadores. Compiladores, Interpretadores. Ambientes de Programação 1 Linguagens para Computadores. Linguagem binária: Dispositivos

Leia mais

Metodologia de Desenvolvimento de Sistemas

Metodologia de Desenvolvimento de Sistemas Metodologia de Desenvolvimento de Sistemas Aula 1 Ementa Fases do Ciclo de Vida do Desenvolvimento de Software, apresentando como os métodos, ferramentas e procedimentos da engenharia de software, podem

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Capítulo 1 Introdução à Engenharia de Software Slides do Livro do Sommerville, 2000 Disponíveis em inglês em www.software-engin.com Traduzidos por Jacinta Pereira Graduando do Curso

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

COERÊNCIA DO CURRÍCULO DO CURSO DE ENGENHARIA DE COMPUTAÇÃO EM FACE DAS DIRETRIZES CURRICULARES NACIONAIS

COERÊNCIA DO CURRÍCULO DO CURSO DE ENGENHARIA DE COMPUTAÇÃO EM FACE DAS DIRETRIZES CURRICULARES NACIONAIS COERÊNCIA DO CURRÍCULO DO CURSO DE ENGENHARIA DE COMPUTAÇÃO EM FACE DAS DIRETRIZES CURRICULARES NACIONAIS O documento que serviu de base para a análise a seguir é o denominado "Diretrizes Curriculares

Leia mais

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Motivação e Introdução Software O que é Software? Instruções (programas de computador) que, quando executadas, produzem a função e o desempenho desejados [Pressman] APLICAÇÕES Básico

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 03 Profissões de TI Prof. MSc. Edilberto Silva edilms@yahoo.com http:// Papéis... Um papel é uma definição abstrata de um conjunto de atividades executadas e dos respectivos

Leia mais

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software

Leia mais

Fundamentos de Engenharia de Software. Josino Rodrigues (josinon@gmail.com)

Fundamentos de Engenharia de Software. Josino Rodrigues (josinon@gmail.com) Fundamentos de Engenharia de Software Josino Rodrigues (josinon@gmail.com) Apresentação Quem sou eu Quem são vocês? Qual seu nível de conhecimento associado a disciplina e quais suas expectativas? Objetivo

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software 1 Engenharia de Software Ementa Conceitos de Engenharia de Software. Produto e processo de desenvolvimento de software. Extração, análise e especificação de requisitos.

Leia mais

Parte 01. Fundamentos de Arquitetura de Computadores. Prof. Pedro Neto

Parte 01. Fundamentos de Arquitetura de Computadores. Prof. Pedro Neto Parte 01 Fundamentos de Arquitetura de Computadores Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 1. Introdução i. Definição de Computador ii. Máquina Multinível iii. Evolução do Computador Histórico

Leia mais

Prof. Me. Marcos Echevarria

Prof. Me. Marcos Echevarria Prof. Me. Marcos Echevarria Introdução a engenharia de software; Conceito de análise orientada a objetos; UserStories; Requisitos de software; Técnicas de levantamento de requisitos; Modelo de casos de

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 2 Semana - Paradigmas e Processo de Software : Abrangência possui 3 elementos fundamentais: métodos: como fazer ferramentas:

Leia mais

GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL

GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL Capítulo 10 GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL 10.1 2003 by Prentice Hall OBJETIVOS Por que hoje as empresas necessitam de programas de gestão do conhecimento e sistemas para gestão do conhecimento?

Leia mais

Introdução à Programação de Computadores

Introdução à Programação de Computadores 1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução

Leia mais

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. - DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho

Leia mais

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques Modelo Cascata Alunos: Bruno Nocera Zanette Pedro Taques Principais Características Gerenciamento Simples das etapas Também conhecido como "Ciclo de Vida Clássico", sugere uma abordagem sistemática e sequencial

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto APRESENTAÇÃO Os computadores chegaram aos diversos níveis das organizações Nestes contexto: Que linguagem entendem? Que produtos podem usar? Dúvidas

Leia mais

O Hardware e o Software do Computador

O Hardware e o Software do Computador O Hardware e o Software do Computador Aula 3 Parte 2 Software de Computador Aplicativo Horizontal: tarefas genéricas, para quaisquer organizações Aplicativo Vertical: tarefas específicas, para organizações

Leia mais

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1 QUALIDADE DE SOFTWARE Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1 Objetivos Apresentar o processo de gerenciamento de qualidade e as atividades centrais da garantia de

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

Identificar as mudanças que acontecem na forma e no uso de apoio à decisão em empreendimentos de e-business. Identificar o papel e alternativas de

Identificar as mudanças que acontecem na forma e no uso de apoio à decisão em empreendimentos de e-business. Identificar o papel e alternativas de 1 Identificar as mudanças que acontecem na forma e no uso de apoio à decisão em empreendimentos de e-business. Identificar o papel e alternativas de relatórios dos sistemas de informação gerencial. Descrever

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO Santa Maria, 27 de Setembro de 2013. Revisão aula anterior Desenvolvimento Ágil de Software Desenvolvimento e entrega

Leia mais

Introdução a Engenharia de Software. Aécio Costa

Introdução a Engenharia de Software. Aécio Costa Aécio Costa Engenharia é a arte, a ciência e a técnica de bem conjugar os conhecimentos especializados (científicos) de uma dada área do saber com a sua viabilidade t é cnico-econ ô mica, para produzir

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

16/09/2012. Agenda. Introdução. Introdução. Tipos de Software (Básico) Tipos de Software. Curso Conexão Noções de Informática

16/09/2012. Agenda. Introdução. Introdução. Tipos de Software (Básico) Tipos de Software. Curso Conexão Noções de Informática Curso Conexão Noções de Informática Aula 2 Arquitetura de Computadores (Software) Agenda Introdução; Tipos de Software; Básico; Aplicativo; Livre; Proprietário. Pirataria de Software; Demos, Freewares

Leia mais

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas) ENIAC Introdução aos Computadores e à ção (Noções Básicas) Introdução aos Computadores e à ção (Noções Básicas) 1 Introdução aos Computadores e à ção (Noções Básicas) 2 O transistor foi inventado em 1947

Leia mais

- Aula 1 - ARQUITETURA DE COMPUTADORES

- Aula 1 - ARQUITETURA DE COMPUTADORES - Aula 1 - ARQUITETURA DE COMPUTADORES Em arquitetura de computadores serão estudados aspectos da estrutura e do funcionamento dos computadores. O objetivo é apresentar de forma clara e abrangente a natureza

Leia mais

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)? Roteiro BCC321 - Banco de Dados I Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Conceitos Básicos Banco

Leia mais

Máquinas Multiníveis

Máquinas Multiníveis Infra-Estrutura de Hardware Máquinas Multiníveis Prof. Edilberto Silva www.edilms.eti.br edilms@yahoo.com Sumário Conceitos básicos Classificação de arquiteturas Tendências da tecnologia Família Pentium

Leia mais

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas

Leia mais

Disciplina: Introdução à informática Profª Érica Barcelos

Disciplina: Introdução à informática Profª Érica Barcelos Disciplina: Introdução à informática Profª Érica Barcelos CAPÍTULO 3 1. ARQUITETURA DO COMPUTAÇÃO- SOFTWARE Vimos nos capítulos anteriores que durante muitas décadas vários projetos foram realizados para

Leia mais

Fundamentos de Sistemas de Informação Sistemas de Informação

Fundamentos de Sistemas de Informação Sistemas de Informação Objetivo da Aula Tecnologia e as Organizações, importância dos sistemas de informação e níveis de atuação dos sistemas de informação Organizações & Tecnologia TECNOLOGIA A razão e a capacidade do homem

Leia mais