Engenharia de Software

Documentos relacionados
ENGENHARIA DE SOFTWARE

Engenharia de Software II

Fundamentos de Teste de Software

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

Métricas de Software

Modelagem De Sistemas

Processo de Desenvolvimento de Software

Análise de Requisitos

Inteligência Artificial

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE - UNICENTRO CURSO DE PÓS GRADUAÇÃO EM MÍDIAS NA EDUCAÇÃO JULIANA LEME MOURÃO ORIENTADOR: PAULO GUILHERMETI

Arquitecturas de Software Enunciado de Projecto

Metodologias de PETI. Prof. Marlon Marcon

Deswik.Sched. Sequenciamento por Gráfico de Gantt

Análise Qualitativa no Gerenciamento de Riscos de Projetos

Gestão da Qualidade Total para a Sustentabilidade 2013

PLANO MUNICIPAL DE SANEAMENTO BÁSICO PMSB PRODUTO IX METODOLOGIA PARA CRIAÇÃO DO SISTEMA DE INFORMAÇÕES PARA AUXÍLIO À TOMADA DE DECISÃO

Análise e Projeto de Sistemas

1.1. Caracterização do Problema. Capítulo 1. Introdução 20

DOCUMENTO DE REQUISITO DE SOFTWARE

Curso de Engenharia de Produção. Organização do Trabalho na Produção

Desenvolvimento de Software

Consulta à Sociedade: Minuta de Resolução Complementar sobre Acreditação de Comitês de Ética em Pesquisa do Sistema CEP/CONEP

Avaliação de Interfaces Humano- Computador

Como utilizar a tecnologia a favor da sua central de atendimento

Fundamentos de Programação. Diagrama de blocos

Engenharia da Computação. Tópicos Avançados em Engenharia de Software. Aula 2

Evolução do Orçamento Público

Plano de Trabalho Docente Ensino Técnico

PROGRAMA TALENTOS DA EDUCAÇÃO 2016

3 Metodologia de pesquisa

Política de Responsabilidade Socioambiental da PREVI

Programação Orientada a Objetos SANTOS, Rafael

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

II Semana de Ciência e Tecnologia do IFMG campus Bambuí II Jornada Científica 19 a 23 de Outubro de 2009

O que é um banco de dados? Banco de Dados. Banco de dados

PROGRAMA SULGÁS DE QUALIDADE DE VIDA

Como Elaborar uma Proposta de Projeto

Gerenciamento de Integração. Prof. Anderson Valadares

MBA em Gerenciamento de Projetos. Teoria Geral do Planejamento. Professora: Maria Erileuza do Nascimento de Paula

ISO 9000 e ISO

Minuta Circular Normativa

Tipologia dos Escritórios de Projeto

Gerenciamento dos Riscos do Projeto (PMBoK 5ª ed.)

CURSOS OFERECIDOS PELO ITA

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

POLÍTICA DE INVESTIMENTO PEIXE PILOTO PARA CLUBES DE INVESTIMENTOS Vitória, 26 de agosto de 2009.

MATERIAL DE APOIO PARA A ELABORAÇÃO DE PROJETO PARA CELEBRAÇÃO DE CARTA ACORDO

FORMA DE AVALIAÇÃO: 27/08/2013. Carga Horária : 60 horas Dias: Terça e Quinta Horário: 13:30 15:30 13:30 15:30

CIBERESPAÇO E O ENSINO: ANÁLISE DAS REDES SOCIAIS NO ENSINO FUNDAMENTAL II NA ESCOLA ESTADUAL PROFESSOR VIANA

Período ATIVIDADE OBJETIVO Responsabilidade Local

No contexto das ações de Pesquisa e Desenvolvimento

MODELAGENS. Modelagem Estratégica

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

BANCO DE DADOS I AULA 2. Willamys Araújo willamysaraujo7@gmail.com

Ementário EMBA em Gestão de Projetos

PSP: Personal Software Process. PSP- Personal Software Process. PSP: Personal Software Process. PSP: Personal Software Process

Planejamento - 2. Definição de atividades Sequenciamento das atividades. Mauricio Lyra, PMP

MAPFRE ESPAÑA escolhe solução da Altitude Software para administrar seu Contact Center SI24

I TORNEIO DE INTEGRAÇÃO CIENTÍFICA TIC

EDITAL DE SELEÇÃO PARA MESTRADO 2016 PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE PRODUÇÃO (UNIFEI)

COMUNIDADE VIRTUAL DE APRENDIZAGEM

RESONSABILIDADES DO ENGENHEIRO E CERTIFICAÇÃO

DISTRIBUIÇÕES ESPECIAIS DE PROBABILIDADE DISCRETAS

MODELOS DE PROCESSO TÉCNICAS INTELIGENTES QUE APOIAM A CONSTRUÇÃO DE UM SOFTWARE

Auditoria de Meio Ambiente da SAE/DS sobre CCSA

PRODERJ implanta sistemas automatizados na AGETRANSP

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE SERGIPE

TERMO DE REFERÊNCIA PARA CONTRATAÇÃO CONSULTOR NACIONAL OPAS/OMS

Serviços Compartilhados - interligando processos a nível global. Equipe IEG

Banco de Dados I. Prof. Edson Thizon

Treinamento de e-commerce

PODER JUDICIÁRIO JUSTIÇA DO TRABALHO CONSELHO SUPERIOR DA JUSTIÇA DO TRABALHO

MINISTÉRIO DA EDUCAÇÃO FUNDO NACIONAL DE DESENVOLVIMENTO DA EDUCAÇÃO DIRETORIA DE ASSISTÊNCIA A PROGRAMAS ESPECIAIS

Sérgio Luisir Díscola Junior

A visão empresarial da nova institucionalidade

Insight for a better planet SOLUÇÕES EM PLANEJAMENTO, AGENDAMENTO E OTIMIZAÇÃO FLORESTAL

PALAVRAS-CHAVE Handhelds, Manutenção de Subestação, Tecnologia da Informação.

ABORDAGENS METODOLÓGICAS NA ELABORAÇÃO DE PLANOS MUNICIPAIS DE SANEAMENTO BÁSICO

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

Metodologias Ativas de Aprendizagem para a Educação Médica Permanente

LABORATÓRIO DE INFORMÁTICA: ESPAÇO DE INCLUSÃO

CASOS DE TESTE PALESTRANTE: MARCIA SILVA

ANEXO XII TABELA DE PONTUAÇÃO DA IMPLANTAÇÃO DO SISTEMA DE INFORMAÇÃO DE GESTÃO ACADÊMICA

Instituto de Previdência dos Servidores Públicos do Município de Piracaia PIRAPREV CNPJ: / Política de Responsabilidade Social

Análise da Base Nacional Comum Curricular de Matemática. Revisado por Phil Daro, USA Common Core Standards

Falta Erro Falha. Motivação. Teste de Software. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro 6/6/11

Desenvolvimento de Conteúdos para a Internet.

mercado de cartões de crédito, envolvendo um histórico desde o surgimento do produto, os agentes envolvidos e a forma de operação do produto, a

Curso de Capacitação para Museus Módulo IV Ação Educativa 1/27

AULA 3 ETAPAS PARA ELABORAÇÃO DE PROJETOS

EDITAL DE INICIAÇÃO CIENTÍFICA E TECNOLÓGICA DA FACULDADE MULTIVIX- VITÓRIA 003/2016 ALTERADO EM 14/06/2016

O Papel do Gerente/Administrador Financeiro das Empresas

Gestão da Qualidade. Aula 13. Prof. Pablo

Transcrição:

PLANO DE AVALIAÇÕES Engenharia de Software 1ª AP: 08 de setembro 2ª AP: 13 de outubro 3ª AP: 10 de novembro NAF: 17 de novembro Referência bibliográfica: SOMMERVILLE, I. Engenharia de Software. 8ª ed. São Paulo: Pearson, 2007. Prof. Raquel Silveira PRESSMAN, R.S. Engenharia de Software. 6ª ed. São Paulo: McGraw-Hill, 2006. INFORMAÇÕES IMPORTANTES Grupo da disciplina: http://groups.google.com.br/group/ieducare-engenharia-desoftware E-mail de contato: raquel.vsilveira@hotmail.com Resultado: Média: 1AP + 2AP + 3AP >= 7,0 3 Presença >= 75% Software: Definição e Características NAF 4,0 <= Média < 7,0 (NAF + Média) >= 5,0 2 O que é software? O que é engenharia de software? Não é apenas o programa, mas também toda a documentação associada e os dados de configuração necessários para fazer com que esses programas operem corretamente. (SOMMERVILLE, 2007) Tipos de software Produtos genéricos Produtos sob encomendas (personalizados) É uma disciplina da engenharia que se ocupa de todos os aspectos da produção de software, desde os estágios inicias de especificação do sistema até a manutenção desse sistema, depois que ele entrou em operação. (SOMMERVILLE, 2007) 1

O que é CASE? Computer-aided software engineering (engenharia de software com o auxílio de computador). Se refere a uma ampla gama de diferentes tipos de programas utilizados para apoiar as atividades de processo de software, como a análise de requisitos, modelagem de sistema, a depuração e os testes. Upper-CASE: Apoio as atividades iniciais (requisitos e projeto); Lower-CASE: Apoio as atividades finais (programação, debuggind e teste). Quais são os atributos de um bom software? O software deve fornecer a funcionallidade e o desempenho requeridos para o usuário e deve ser manutenível, confiável e aceitável. Facilidade de manutenção Confiança Eficiência Usabilidade Quais são os desafios enfrentados pela engenharia de software? Heterogeneidade: Técnicas de desenvolvimento para construção de software que podem lidar com plataformas heterogêneas e ambientes de execução. Entrega: Técnicas de desenvolvimento para conduzir a entrega mais rápida. Confiança: Técnicas de desenvolvimento que mostram que o software deve ter a confiança dos usuários. Processo de Software O que é um processo de software? O que é um modelo de processo de software? Conjunto de atividades e resultados associados que geram um produto de software. Há quatro atividades de processos fundamentais comuns a todos os processos de software: Especificação do software; Desenvolvimento do software; Validação do software; Evolução do software. Representação abstrata do processo. Ele apresenta a descrição de um processo a partir de uma perspectiva particular. 2

Ciclo de Vida de Desenvolvimento de Software Descreve como o software deve ser desenvolvido. Define a ordem global das atividades e propõe uma estratégia de desenvolvimento. Modelo em cascata: Fases separadas e distintas de especificação e desenvolvimento. Desenvolvimento evolucionário: Especificação, desenvolvimento e validação são intercalados. Desenvolvimento orientado a reuso: O sistema é montado a partir de componentes existentes. Modelo Cascata Características do Modelo Cascata O resultado envolve um ou mais documentos que são aprovados; A fase seguinte não deve se iniciar até que a fase precedente tenha sido concluída; Na prática os estágios se sobrepõem e trocam informações entre si; Fases do Modelo Cascata Análise e definição de requisitos; Projeto de sistema e software; Implementação e teste de unidade; Integração e teste de sistema; Operação e manutenção; A principal desvantagem do modelo em cascata é a dificuldade de acomodação das mudanças depois que o processo está em andamento. Uma fase tem de estar completa antes de passar para a próxima. Problemas do Modelo Cascata Particionamento inflexível do projeto em estágios distintos, dificulta a respota aos requisitos de mudança do cliente. Este modelo é apropriado somente quando os requisitos são bem compreendidos, e quando as mudanças forem bastante limitadas durante o desenvolvimento do sistema. Poucos sistemas de negócio têm requisitos estáveis. 3

Problemas do Modelo Cascata Pode não permitir a visão real do processo em andamento. Dois universos: Universo que se refere ao processo em andamento; Universo que se refere às mudanças que deveriam ser aplicadas, mas não são pelo fato do modelo não incorporar em sua dinâmica. Difícil mensuração. Atividades não concluídas são rotuladas como concluídas. Tem como base a idéia de desenvolver uma implementação inicial, expôr resultado ao comentário do usuário e fazer seu aprimoramento por meio de muitas versões, até que um sistema adequado tenha sido desenvolvido. Modelo Evolucionário Tipos de Modelo Evolucionário Desenvolvimento exploratório: - O objetivo é trabalhar com os clientes e desenvolver um sistema final a partir de uma especificação inicial. Deve iniciar com requisitos bem compreendidos e adicionar novas características à medida que forem propostas pelo cliente. Tipos de Modelo Evolucionário Prototipação descartável: - O objetivo é compreender os requisitos de sistema. Deve iniciar com requisitos mal compreendidos para esclarecer o que é realmente necessário. Tipos de Modelo Evolucionário Prototipação descartável: Problemas do Modelo Evolucionário -Falta de visibilidade de processo; -Os sistemas são frequentemente mal estruturados; -Habilidades especiais (por exemplo, linguagems para prototipação rápida) podem ser solicitadas. 4

Desenvolvimento orientado a reuso Vantagem do Desenvolvimento Orientado a Reuso Baseado em reuso sistemático onde sistemas são integrados a partir de componentes existentes. Estágios do processo Análise de componentes; Modificação de requisitos; Projeto de sistema com reuso; Desenvolvimento e integração. -Reduzir a quantidade de software a ser desenvolvida; -Reduzir custos; -Reduzir riscos. Problema do Desenvolvimento Orientado a Reuso -Perda do constrole sobre a evolução do sistema. Iteração de Processo Entrega Incremental -Requisitos de sistema SEMPRE evoluem no curso de um projeto e, sendo assim, a iteração de processo, onde estágios iniciais são retrabalhados, é sempre parte do processo dos sistemas de grande porte. -A iteração pode ser aplicada a qualquer um dos modelos genéricos do processo. -Duas abordagens (relacionadas) -Entrega incremental; -Desenvolvimento espiral. -Ao invés de entregar o sistema como uma única entrega, o desenvolvimento e a entrega são separados em incrementos, sendo que cada incremento fornece parte da funcionalidade solicitada. -Os requisitos de usuário são priorizados e os requisitos de prioridade mais alta são incluídos nos incrementos iniciais. Entrega Incremental Vantagens da Entrega Incremental -Uma vez que o desenvolvimento de um incremento é iniciado, os requisitos são congelados, embora os requisitos para os incrementos posteriores possam continuar evoluindo. -O valor pode ser entregue para o cliente com cada incremento e, desse modo, a funcionalidade de sistema é disponibilizada mais cedo. -O incremento inicial age como um protótipo para auxiliar a elicitar os requisitos para incrementos posteriores do sistema. -Riscos menores de falha geral do projeto. -Os serviços de sistema de mais alta prioridade tendem a receber mais testes. 5

Extreme programming Desenvolvimento em Espiral -Uma abordagem baseada no desenvolvimento e na entrega de incrementos de funcionalidade muito pequenos. -Baeia-se no aprimoramento constante de código, no envolvimento do usuário na equipe e no desenvolvimento e programação em pares. -O processo é representado como uma espiral ao invés de uma sequência de atividades como realimentação. -Cada loop na espiral representa uma fase no processo. -Sem fases definidas, tais como especificação ou projeto os loops na espiral são escolhidos dependendo do que é requisitado. -Os riscos são explicitamente avaliados e resolvidos ao longo do processo. Desenvolvimento em Espiral Desenvolvimento em Espiral -O processo é representado como uma espiral ao invés de uma sequência de atividades como realimentação. -Cada loop na espiral representa uma fase no processo. -Sem fases definidas, tais como especificação ou projeto os loops na espiral são escolhidos dependendo do que é requisitado. -Os riscos são explicitamente avaliados e resolvidos ao longo do processo. Setores do Desenvolvimento em Espiral -Definição de objetivos: -Objetivos específicos para a fase são identificados. -Avaliação e redução de riscos: -Riscos são avaliados e atividades são realizadas para reduzir os riscos-chave. -Desenvolvimento e validação -Um modelo de desenvolvimento para o sistema, que pode ser qualquer um dos modelos genéricos, é escolhido. -Planejamento -O projeto é revisado e a próxima fase da espiral é planejada. Atividades de Processo -Especificação de software; -Projeto e implementação de software; -Validação de spftwrae -Evolução de software. 6

-Como definir o modelo de processo do software? -Como definir a iteração do projeto? Exercício Uma empresa de produção de calçados deseja automatizar o setor de estoque e contrata um serviço terceirizado para desenvolver um software que atenda as necessidades. A princípio, existem muitos riscos no projeto, pois o setor de estoque apresenta requisito pouco definido. O cliente pretende esclarecer o quanto antes os requisitos que ainda não estão claros. Exercício Uma rede de hotéis deseja renovar o sistema de controle de hospedagem e contrata um serviço terceirizado para desenvolver um software que atenda as necessidades. A princípio, os requisitos estão muito bem definidos, pois a empresa possui um sistema anterior que facilita o entendimento. O cliente pretende ter um acompanhamento modular do desenvolvimento do software. 7