Introdução à Ciência da Computação



Documentos relacionados
Sistemas Operacionais: Aplicativos. Prof. Rafael J. Sandim

2-Introdução e Conceitos Básicos das TIC

Profª MSc. Heloína Alves Arnaldo

IIH Introdução à Informática e Hardware

Aula 04. Prof Wesley Sathler

QUALIDADE DE SOFTWARE

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

Engenharia de Software Unidade I Visão Geral

Informática. Técnico em Agronegócio 1º. Módulo Profa. Madalena Pereira da Silva

13/10/11 TIPOS DE UTILITÁRIOS UTILITÁRIOS 0798 INTRODUÇÃO À PROGRAMAÇÃO TIPOS DE UTILITÁRIOS TIPOS DE UTILITÁRIOS

Software Livre e Engenharia Elétrica

Sistemas Operacionais Aula 2

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11.

Informática I. Aula Baseada no Capítulo 2 do Livro Introdução a Informática Capron e Johnson

Infraestrutura com Linux

Apresentação da Disciplina Processo de Software

Classificação de Sistemas: Sistemas Empresariais

agility made possible

Guia do Usuário ProAnalir Introdução Liberação das licenças... 3

Aula 01. Introdução ao Linux

Introdução a Computação

Software livre e Educação: vantagens e desvantagens das novas tecnologias

MODELIX SYSTEM SOFTWARE DE PROGRAMAÇÃO DE ROBÔS

Análise e Projeto de Sistemas

NOTA: A calibração instrumentada não é compatível com a KODAK Photo Printer 6800/6850 e a KODAK Photo Printer 605.

3 Qualidade de Software

MF = (M1 * 0,4) + (M2 * 0,6) MF < 6 MF = (MF * 0,6) + (EXA * 0,4)

Configurando o Controle dos Pais no Windows Vista

São programas de computador utilizados para realizar diversas tarefas É a parte lógica do computador, o que faz o computador realmente funcionar.

Administração de Sistemas Livres. Prof. Lais Farias Alves

Engenharia de Software II

INFORMÁTICA. Prof. Rafael Fernando Zimmermann

Curso Superior de Tecnologia em Banco de Dados e Sistemas para Internet Disciplina: Projeto Integrador III Prof.: Fernando Hadad Zaidan

Edição (Software) PACC Programa Anual de Capacitação Continuada

INVESTIMENTO A LONGO PRAZO 1. Princípios de Fluxo de Caixa para Orçamento de Capital

Atualizações de Software Guia do Usuário

Sist i em em I a n I fo f rm r at m i at zad

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

TERMOS E CONDIÇÕES DE USO

Taciano Amorim - tacianolamorim@gmail.com. Informática básica. Software

Laudon & Laudon MIS, 7th Edition. Pg. 1.1

Princípios do teste de software

Software. Prof. Demétrios Coutinho. C a m p u s N a t a l C e n t r a l D i s c i p l i n a d e I n f o r m á t i c a B á s i c a 0 6 / 0 5 /

Apostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público º CADERNO. Índice

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

INFORMÁTICA (NCINF) SOFTWARE APLICATIVOS

Módulo 12 Gerenciamento Financeiro para Serviços de TI

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

Planificações 2012/2013. Tecnologias da Informação e Comunicação. 8ºAno. Escola Básica Integrada de Pedome. Grupo Disciplinar de Informática

INTRODUÇÃO A ROBÓTICA

Introdução Software Livre Projeto GNU/Linux Software Livre vs Software Proprietário Liberdade para todos. Software Livre. Grupo 5

Informática. Aula 04/12. Prof. Márcio Hollweg. Visite o Portal dos Concursos Públicos

Guia de Usuário do Servidor do Avigilon Control Center. Versão 5.6

Motorola Phone Tools. Início Rápido

Soluções para gerenciamento de clientes e Impressão móvel

26/09/2015. Windows Linux Mac OS/X IBM OS/2 Sun Solaris Google Android. MS-DOS Outros... O QUE É? SISTEMAS OPERACIONAIS

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Uso das ferramentas de monitoramento de gerência de redes para avaliar a QoS da rede.

MINISTÉRIO DA EDUCAÇÃO

Guia do Usuário ProAnalir Introdução Acessando a Central OnLine pelo site do ProAnalir... 3

Prof. Ricardo Beck Noções de Informática Professor: Ricardo Beck

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Sistemas Operacionais. Prof. André Y. Kusumoto

A importância do Software Livre no mundo de hoje

Introdução à Computação: Sistemas de Computação

Leitora Perto Smart. Guia de Instalação. Leitora Perto Smart Guia de Instalação. Janeiro/2010. Instalação da leitora Perto Smart.

Desenvolvimento de Sistemas Tolerantes a Falhas

Engenharia de Software II

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

O Processo de Engenharia de Requisitos

Instalação do software e de opções da Série Polycom RealPresence Group e acessórios. Visão geral

Trata-se do processo de planejamento, identificação, análise e planejamento de respostas e controle de riscos.

ASSUNTO DA APOSTILA: SISTEMAS DE INFORMAÇÃO E AS DECISÕES GERENCIAIS NA ERA DA INTERNET

Software é um produto conceitual e lógico. Software é mais complexo do que qualquer outro produto construídos por seres humanos

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

COMO COMEÇAR 2016 se organizando?

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

PLANO DE AULA. Ambiente Operacional Unix Profa. Morganna

Projeto de Desenvolvimento de Software. Apresentação (Ementa) e Introdução

Introdução ao Processamento de Dados (IPD)

Requisitos de Software

Primeiros passos das Planilhas de Obra v2.6

Guia de Instalação do Adaptador N150 Wireless Micro USB WNA 1000M

Gerenciamento de Requisitos

Qualidade de Software

Olá, Somos Ideatera - Studio Tecnológico

CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

GESTÃO ESTRATÉGICA X RESULTADOS. IV CURSO DE GESTÃO DE QUALIDADE BOS SOROCABA 25 de Outubro de 2013

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição

O aplicativo de desktop Novell Filr é compatível com as seguintes versões do sistema operacional Windows:

ueblock Manual do Usuário 11.11

Simulador CCNA Exame de Certificação da CISCO

Transcrição:

1 Universidade Federal Fluminense Campus de Rio das Ostras Curso de Ciência da Computação Introdução à Ciência da Computação Professor: Leandro Soares de Sousa e-mail: leandro.uff.puro@gmail.com site: http://www.ic.uff.br/~lsousa Aula 7: Engenharia de software e aplicativos

2 Peopleware Engenharia de software e aplicativos Software Hardware

3 Desenvolver software não é uma tarefa trivial! Os aplicativos são desenvolvidos para atender alguma necessidade dos usuários alvo (software básico ou de aplicação) Muitas pessoas estão envolvidas no processo de desenvolvimento... Problemas! No processo muitos erros ocorrem, graves prejuízos financeiros podem ser alcançados, vidas podem deixar de ser salvas ou podem ser perdidas. Nossa!!!

Capturar, modelar e representar um problema não é fácil!!! 4 A Engenharia de Software está aí para ajudar nessa tarefa!

O que é a engenharia de software: 5 Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento, manutenção e criação de sistemas de software, com aplicação de tecnologias e práticas de gerência de projetos e outras disciplinas, visando organização, produtividade e qualidade.

6 Objetivos da engenharia de software: Controle sobre o desenvolvimento de software dentro de custos, prazos e níveis de qualidade desejados Produtividade no desenvolvimento, operação e manutenção de software Qualidade versus Produtividade (questão complicada)

7 Características da engenharia de software A Engenharia de Software se refere a software (sistemas) desenvolvidos por grupos ao invés de indivíduos Usa princípios de engenharia ao invés de arte, e Inclui tanto aspectos técnicos quanto não técnicos

Disciplina da engenharia de software 8 Desenvolvimento de sistemas de grande porte. Desenvolvimento exige os esforços de diversas pessoas por um longo tempo, sistema e pessoal pode ser modificado ao longo do projeto. Engenharia de Software inclui tópicos, como gestão de pessoal e administração de projetos. Desenvolvimento de projetos de software com padrões da engenharia

Disciplina da engenharia de software 9 Questões: Como estimar o custo, o tempo necessário e outros recursos para completar o projeto? Como dividir o projeto em partes operacionais e compatíveis entre si? Como projetar a comunicação entre as diversas partes? Como medir o progresso? Como medir a qualidade?

Alguns números: 10 Como contratante, o que fazer se você souber que: Se estiver na média, sua encomenda de software: custará 45% a mais que o contratado; terá um atraso de 63% sobre o prazo previsto para entrega; e não terá 33% das funcionalidades encomendadas.

11 Diferença entre as características do software e as dos outros campos da engenharia. Reuso Os campos tradicionais: construção a partir de componentes genéricos pré-fabricados. Ex:carro, rádio, ar-condicionado, trancas de portas, motor. No contexto do software, os componentes previamente projetados tendem a ser específicos de cada domínio. (reusar um componente pode exigir que ele seja reprojetado).

Diferença entre as características do software e as dos outros campos da engenharia. 12 Tolerância Áreas tradicionais da engenharia consideram aceitável se executarem suas tarefas dentro de certos limites. Ex: lavadora de roupa que gira em torno do eixo com 2% de tolerância. O software, ao contrário, apresenta um funcionamento correto ou incorreto. Ex: sistema de contabilidade que apresenta uma precisão com tolerância de 2% não é aceitável.

13 Escassez de Métricas Qualidade de um dispositivo mecânico frequentemente é medida em termos do tempo médio entre suas falhas. Software, ao contrário, não se desgasta, portanto tal método de medição de qualidade não pode ser aproveitado. Essa dificuldade é uma das principais razões pelas quais a engenharia de software ainda não encontrou uma base rigorosa de sustentação. Pesquisar em engenharia de software é avançar em dois níveis: prático e teórico.

14 Engenharia de software e aplicativos Escassez de Métricas Necessidade de avanços devido a sociedade se mostrar dependente dos sistemas computacionais e dos softwares correspondentes Erros de software têm causado muitos problemas: A perda de $5 milhões pelo Banco de Nova Iorque. A perda da sonda espacial Mariner 18. Sobrecargas de radiação Queda simultânea das comunicações

15 Ciclo de vida do software: Conceito mais fundamental em engenharia de software é o ciclo de vida do software Diferença entre software e outros produtos é que um software não se desgasta. Na fase de modificação são encontrados erros ou mudanças na aplicação Requer que uma pessoa (raramente é o próprio autor do programa original) estude e compreenda o programa, ou parte dele e sua documentação A maioria das pesquisas na engenharia de software se concentra na fase de desenvolvimento do ciclo de vida do software (maximizar custo/benefício). Desenvolvimento Utilização Manutenção

Custos: Engenharia de software e aplicativos 16 Especificação & Análise Projeto Desenvolvimento Produção

Engenharia de Software Assistida por Computadores (CASE) Sistemas mecanizados que incluem ferramentas para: Planejamento de projetos Gerenciamento de projeto Documentação Prototipação e simulação Interfaces Programação (escrita e depuração) Testes 17

Agora vamos aos aplicativos (software), conforme seus objetivos de desenvolvimento ou aspectos comerciais. 18

Classificação quanto a fonte (Software Livre e Software Proprietário): 19 Software Proprietário: é licenciado com direitos exclusivos para o produtor. Para fazer uso ou qualquer alteração no programa (quando possível) é necessário a compra de uma licença. Alguns dos mais conhecidos softwares proprietários são o Microsoft Windows, o Microsoft Office, o RealPlayer, o Adobe Photoshop, o Mac OS, o WinZip, algumas versões do UNIX, entre outros.

Classificação quanto a fonte (Software Livre e Software Proprietário): 20 Software Livre, segundo a definição da Free Software Foundation, é qualquer programa que possa ser utilizado, copiado, estudado e redistribuído sem restrições. O Software livre respeita os direitos dos utilizadores permitindo que partilhem com outros o que aprenderam, já quanto ao lucro, não se opõem a venda almejando lucro (software comercial) desde que respeitem o copyleft.

Licenças de uso: 21 Freeware: são softwares gratuitos, geralmente para pessoas físicas, havendo uma versão paga para uso corporativo. Normalmente, propagandas ou patrocinadores mantém o projeto vivo. Shareware: apenas funcionam por um determinado período de tempo (chamado período de avaliação) e depois o usuário deve decidir se adquire ou não o produto.

Licenças de uso: 22 Demo e Trial: versões demo e trials são limitadas. As versões demo geralmente são versões incompletas, mais curtas do software (ex.: jogos). Versões trial funcionam quase da mesma maneira, os programas funcionam, mas não de maneira completa, geralmente não salvando ou exportando os trabalhos realizados por completo, para utilizar todo o seu potencial o usuário deve comprar o software completo ou apenas a sua licença.

Licenças de uso: 23 Beta: Versões ainda em desenvolvimento ou em desenvolvimento constante (como o Gmail e outras aplicações do Google). Após a versão beta é lançada uma versão RC (Release Candidate) que é a última versão antes do lançamento oficial do software. Adware: São programas que vem junto com outros programas, como banners e barras de pesquisa. O adware pode ser uma limitação de um programa shareware, exibindo propagandas e outros tipos de anúncio para sustentar o projeto. O banner é removido depois de comprada a licença

Licenças de uso: 24 Opensource, GPL e GNU: É uma distribuição livre, de código-fonte aberto e disponível gratuitamente para download. O usuário tem total liberdade para fazer suas próprias alterações e posteriormente os desenvolvedores poderão utilizar esse código no projeto seguindo o mesmo padrão GPL (GNU Public License) que é o formato padrão Open-source. Software Comercial: a licença é adquirida e diz respeito ao uso do software, que inclui a versão do mesmo. (comentário prazo de validade técnica)

Aula 7 25 Engenharia de software e aplicativos FIM