ENGENHARIA DE SOFTWARE



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

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

Especialização em Engenharia de Software e Banco de Dados

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

Características do Software

Levantamento, Análise e Gestão Requisitos. Aula 06

Metodologia de Desenvolvimento de Sistemas

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

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

Introdução à ES - Continuação

Engenharia de Software

Engenharia de Software I. Prof. André Castro Garcia

Introdução à Computação

PROJETO DE SISTEMAS. Professora Lucélia

Unidade I Conceitos BásicosB. Conceitos BásicosB

Conceitos ADMINISTRAÇÃO DE SISTEMAS DE INFORMAÇÃO. Comunicação; Formas de escritas; Processo de contagem primitivo;

Requisitos de Software

O Processo de Desenvolvimento de Software. Engenharia de Software

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

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

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

Engenharia de Software

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

Gerenciamento de Projeto

Engenharia de Software

Gerência e Planejamento de Projeto. SCE Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

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

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

GARANTIA DA QUALIDADE DE SOFTWARE

Projeto de Sistemas I

PROFESSOR: CRISTIANO MARIOTTI

ENGENHARIA DE SOFTWARE II

Introdução a Computação

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Engenharia de Software II

Plano de Gerenciamento do Projeto

UNIVASF - Universidade Federal do Vale do São Francisco Manutenção de Software

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES?

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste

Planejamento e Gerenciamento de Projeto de Software

Planejando o aplicativo

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Gerência e Planejamento de Projeto. SCE Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL PEDROHOLI@GMAIL.COM CMM E CMMI

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Bom Crédito. Lembre-se de que crédito é dinheiro. Passos

Sistemas de Informações Gerenciais

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

Introdução à Engenharia de Software

Engenharia de Software

Engenharia de Software II

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Manutenção desoftware. SCE 186- Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestrede2002

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

Apesar de colocar-se no campo das Engenharias, profissional destaca-se, também, pelo aprimoramento das relações pessoais

Melhorias de Processos de Engenharia de Software

NOKIA. Em destaque LEE FEINBERG

EMENTAS DAS DISCIPLINAS

Gerenciamento de projetos.

Requisitos. Sistemas de Informações

Plano de projeto. Cronograma e Controle

Gestão de Modificações. Fabrício de Sousa

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP

Jonas de Souza H2W SYSTEMS

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Gerenciador de Mudanças automatizadas

GERENCIAMENTO DE PORTFÓLIO

Engenharia de Requisitos

MÉTRICAS DE SOFTWARE

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Gustavo Noronha Silva. Projeto de Pesquisa: Impactos do Software Livre na Inclusão Digital

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

Qualidade de Software

Introdução à. Modelagem de Software

Gerenciamento de Integração do Projeto Planejamento e Execução do Projeto

Objetivo: Relatar a experiência do desenvolvimento do software Participar. Wilson Veneziano Professor Orientador do projeto CIC/UnB

PLANEJAMENTO PLANEJAMENTO ESTRATÉGIA CICLO PDCA CICLO PDCA 09/04/2015 GESTÃO DE ESCOPO GERENCIAMENTO DE PROJETOS ACT

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

Extração de Requisitos

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

O processo de melhoria de processo

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

REQUISITOS. Prof. Msc. Hélio Esperidião

Projeto Você pede, eu registro.

2ª avaliação - SIMULADO INSTRUÇÕES

A visão do modelo MPS.BR para Gerência de Projeto - Nível G. por Adriana Silveira de Souza

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

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

2. Representação Numérica

Transcrição:

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 software Atividade de pesquisa

Componentes do Software Um sistema informatizado é formado por dois tipos de componentes: Executáveis em máquina e Não executáveis em máquina Os componentes do software devem mapear as exigências do cliente em código executável.

Tipos Comuns de Software Básico: compiladores, editores simples, drivers, componentes do SO. Tempo Real: monitora, analisa e controla eventos em tempo real. Comercial: controle de estoque, vendas etc. (manipulam algum mecanismo de persistência, como uma de suas principais características)

Tipos Comuns de Software Científico e de Engenharia: intenso processamento de números e cálculos. Embutido ou Embarcado: celulares, micro-ondas, injeção eletrônica. Pessoal: processador de texto, planilha, jogos, apresentações etc. Inteligência Artificial: sistemas especialistas, redes neurais e aprendizado.

Principais Problemas Estimativas de prazo (meses, anos) e custo imprecisas Produtividade abaixo da praticada pelo mercado Software de baixa qualidade (erros e não conformidades com requisitos que tiram a confiança do cliente sobre o produto)

Mais Problemas Não dedicamos tempo para coletar dados sobre o software e seu processo de desenvolvimento. Com poucos dados históricos como guia, as estimativas têm sido a olho, com resultados previsivelmente ruins. Sem nenhum indicador sólido de produtividade, não poderemos avaliar com precisão a eficácia de novas ferramentas, métodos, padrões ou processos.

Mais Ainda A insatisfação do cliente com o sistema concluído ocorre muito freqüentemente. Os projetos de desenvolvimento de software normalmente são levados a efeito apenas com um vago indício das exigências do cliente. A comunicação entre o cliente e o desenvolvedor de software freqüentemente é muito fraca.

Ainda Não Acabou A qualidade do software freqüentemente é suspeita. Somente agora estão começando a ser seguidos conceitos quantitativos sólidos de confiabilidade e de garantia de qualidade de software. Só recentemente começamos a entender a importância dos testes de software sistemáticos e tecnicamente completos.

Mais Um O software existente pode ser muito difícil de manter. A tarefa de manutenção de software devora a maioria de todos os dólares destinados a software. A capacidade de manutenção de software não foi enfatizada como um critério importante para a aceitação do software.

Causas Gerentes sem vivência em: Projetos e seus marcos de evolução Métodos efetivos de controle Tecnologias que se modificam rapidamente

Mais causas Os programadores ou engenheiros de software têm pouca instrução formal, holística e estudam pouco as técnicas de desenvolvimento e as áreas de negócio. Cada pessoa aborda a tarefa de escrever programas com a experiência advinda de esforços passados. Algumas pessoas desenvolvem uma abordagem ordeira e eficiente, mesmo por tentativa e erro, mas muitas criam maus hábitos, que resultam em qualidade e manutenibilidade deficientes.

Outras Causas Resistência às inevitáveis mudanças É irônico que enquanto o hardware experimenta enormes mudanças, as pessoas da área de software responsáveis pelo aproveitamento desse potencial, muitas vezes se oponham à mudança quando ela é discutida e resistam a ela quando ela é introduzida.

Mitologia do Software Mitos Administrativos. Advém de gerentes sobre pressão de orçamento e tempo. Mitos do Cliente. Advém de falsas expectativas e insatisfação com o desenvolvedor Mitos do Profissional de Desenvolvimento. Advém de se considerar o software como uma forma de arte. Será que o software é uma arte ou uma engenharia?

Mito do Manual de Práticas Mito: Já temos um manual repleto de padrões e procedimentos para a construção de software. Isso não oferecerá ao meu pessoal tudo o que eles precisam saber? Realidade: O manual de padrões pode muito bem existir, mas será que ele é usado? Os profissionais de software têm conhecimento de sua existência? Ele reflete a moderna prática de desenvolvimento de software? É completo? Em muitos casos, a resposta a todas estas perguntas é não.

Mito do Computador Moderno Mito: Meu pessoal tem ferramentas de desenvolvimento de software de última geração; afinal de contas lhes compramos os mais novos computadores. Realidade: É preciso muito mais do que o último modelo de computador para se fazer um desenvolvimento de software de alta qualidade. As ferramentas de engenharia de software auxiliadas por computador (CASE) são mais importantes do que o hw para se conseguir boa qualidade e produtividade; contudo, a maioria dos desenvolvedores de software não as usa plenamente.

Mito das Hordas de Mongóis Mito: Se nós estamos atrasados nos prazos, podemos adicionar mais programadores e tirar o atraso. Realidade: O desenvolvimento de software não é um processo mecânico igual à manufatura. Acrescentar pessoas em um projeto de software atrasado torna-o ainda mais atrasado. Gasta-se tempo formando os recém-chegados, o que reduz o tempo de desenvolvimento produtivo. Pessoas podem ser acrescentadas, mas somente de uma forma planejada e bem coordenada.

Mitos do Cliente: Especificação Mito: Uma declaração geral dos objetivos é suficiente para se começar a escrever programas podemos preencher os detalhes mais tarde. Realidade: Uma definição inicial ruim é a principal causa de fracasso dos esforços de desenvolvimento de software. Uma descrição formal e detalhada do domínio da informação, função, desempenho, interfaces, restrições de projeto e critérios de validação é fundamental. Essas características podem ser determinadas somente depois de cuidadosa comunicação entre o cliente e o desenvolvedor.

O Pior Mito do Cliente Mito: Os requisitos de projeto modificam-se continuamente, mas as mudanças podem ser facilmente acomodadas, porque o software é flexível (Cuidado como o Já que... ). Realidade: É verdade que os requisitos de software se modificam, mas o impacto da mudança varia de acordo com o tempo em que ela é introduzida.

Custo de Introdução de Mudanças 100 90 80 70 60 50 40 30 20 10 0 Definição Desenvolvimento Manutenção De Até

Mitos do Profissional: Terminar Mais Cedo Mito: Assim que escrevemos o programa e o colocarmos em funcionamento, nosso trabalho estará completo. Realidade: Alguém disse certa vez que quanto mais cedo se começa a escrever o código, mais tempo demora para que se consiga terminá-lo. Os dados da indústria indicam que entre 50 e 70% de todo o esforço gasto num programa serão despendidos depois que ele for entregue pela primeira vez ao cliente.

Mito da Qualidade Mito: Enquanto não tiver o programa funcionando, eu não terei realmente nenhuma maneira de avaliar sua qualidade. Realidade: Um dos mecanismos mais efetivos de garantia de qualidade de software pode ser aplicado desde o começo de um projeto a revisão técnica formal. As revisões de software são um filtro da qualidade que têm sido consideradas mais eficientes do que a realização de testes para a descoberta de defeitos.

Mito do Executável Mito: A única coisa a ser entregue em um projeto bem-sucedido é o programa funcionando. Realidade: Um programa funcionando é somente uma parte de uma configuração de software que inclui vários outros elementos. A documentação forma os alicerces para um desenvolvimento bem-sucedido e fornece um guia para a tarefa de manutenção do software.

Configuração de Software Plano de Projeto Especificação de Requisitos Desenho Arquitetônico Manual do Usuário Estruturas de Dados Especificação de Teste Programa Executável

Atividade de Pesquisa Com base na exposição feita em sala sobre tópicos importante da Engenharia de Software, segundo Pressman, e em pesquisas e conclusões de seu grupo, discorra sobre a mitologia do software, suas conseqüências e formas de contornar os problemas comuns, atacando suas causas freqüentes.