Engenharia de Software

Documentos relacionados
Visão Geral da Norma ISO/IEC 12207

QUALIDADE DE SOFTWARE

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa

Qualidade de Software (cont)

Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Engenharia de Software

Engenharia de Software: Uma Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015

Engenharia de Software: Visão Geral

Definições e ciclo de vida

Qualidade de Software

Normas ISO:

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

ISO/IEC Processo de ciclo de vida

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO

Introdução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software

Desenvolvimento de Projetos

Engenharia de Software Processo de Desenvolvimento de Software

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Visão Geral de Engenharia de Software

Engenharia de Software

ISO/IEC Roteiro IEC ISO. Histórico ISO/IEC ISO

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

Introdução à Engenharia de Software

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Engenharia de Software

Engenharia de Software

Engenharia de Software 1

DCC / ICEx / UFMG. O Modelo CMMI. Eduardo Figueiredo.

Engenharia de Software I

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

Engenharia de Software

Engenharia de Software

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:

Verificação e Validação (V & V)

Engenharia de Software

QUALIDADE DE PRODUTO DE SOFTWARE

Ainda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:

APOSTILAS: NORMAS; ABNT NBR ISO; MPS BR

Escolhendo um Modelo de Ciclo de Vida

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

ISO/IEC 12207: Verificação, Validação e Testes

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

Qualidade de Software

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Processos de Software

FATORES E MÉTRICAS DE QUALIDADE

Processos de software

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

Escopo: PROCESSOS FUNDAMENTAIS

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

AVALIAÇÃO DE PRODUTOS DE SOFTWARE

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

ANÁLISE E PROJETO DE SISTEMAS

Engenharia de Software. Princípios da Engenharia de Software. Princípios da Engenharia de Software

Componentes de SIs. Pessoas Organiz. Tecnologia

QUALIDADE DE SOFTWARE. Prof. Emiliano Monteiro

ENGENHARIA DE SOFTWARE

Requisitos de Sistemas

Qualidade de Software. Profª Rafaella Matos

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

Ferramentas CASE. CASE fornece ao engenheiro de software a habilidade de automatizar atividades manuais e de aperfeiçoar o conhecimento de engenharia.

Gerenciamento de Configuração de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

Transcrição:

Engenharia de Software Visão Geral Profa.Paulo C. Masiero masiero@icmc.usp.br ICMC/USP

Algumas Dúvidas... Como são desenvolvidos os softwares? Estamos sendo bem sucedidos nos softwares que construímos? Quão difícil é construir software?

O que é o software? O software é apenas um conjunto de programas?

O Produto de Software Engloba: PROGRAMAS que quando executados produzem a função e o desempenho desejados. ESTRUTURAS DE DADOS que possibilitam que os programas manipulem adequadamente a informação. DOCUMENTOS que descrevem a operação e o uso dos programas.

Assim, é preciso... Compreender bem o problema do cliente. Desenvolver uma solução. Garantir que ela funcione. Transformar a solução em um software. Entregar o software ao cliente no custo e prazo combinados. Oferecer treinamento aos usuários. Realizar alterações quando o cliente pedir. Manter o controle da versão do software que cada cliente possui Tudo enquanto... Negocia preços e prazos. Paga o salário dos funcionários. Capacita os funcionários. Se mantém atualizado com o mercado tecnológico. E ainda busca maneiras de fazer tudo isso cada vez melhor, mais rápido e mais barato do que a concorrência.

Assim, é preciso... Compreender bem o problema do cliente. Desenvolver uma solução. Garantir que ela funcione. Transformar a solução em um software. Entregar o software ao cliente no custo e prazo combinados. Oferecer treinamento aos usuários. Realizar alterações quando o cliente pedir. Manter o controle da versão do software que cada cliente possui Tudo enquanto... Parece não ser simples... Negocia preços e prazos. Paga o salário dos funcionários. Capacita os funcionários. E não é!!! Se mantém atualizado com o mercado tecnológico. E ainda busca maneiras de fazer tudo isso cada vez melhor, mais rápido e mais barato do que a concorrência.

Por que surgiu a Engenharia de Software?

Evolução do Software (1965-1975) AFLIÇÃO CRÔNICA Crescimento do número de sistemas baseado em computador. Manutenção quase impossível. CRISE DO SOFTWARE Refere-se a um conjunto de problemas encontrados no desenvolvimento de software.

Crise do Software As estimativas de prazo e de custo frequentemente são imprecisas. Frequente insatisfação do cliente com o sistema concluído. A qualidade do software é, em geral, menos que adequada. O software existente é muito difícil de manter. Falhas das pessoas responsáveis pelo desenvolvimento de software.

Resposta à Crise de Software Engenharia de Software A aplicação de uma abordagem sistemática, disciplinada e possível de ser medida para o desenvolvimento, operação e manutenção do software (IEEE). Processo de Software

O Processo de Software Elementos fundamentais: Métodos Ferramentas Procedimentos Para projetar, construir e manter grandes sistemas de software de forma profissional.

Sofware Engineering Body of Knowledge (SWEBOK) 12 Capítulos: Requisitos Design (Projeto) Construção Gerenciamento de Configuração Gerenciamento Processos Ferramentas e Métodos Qualidade Teste Manutenção Disciplinas relacionadas www.swebok.org

O Processo de Software MÉTODOS: prescrevem os detalhes sobre como fazer para construir o software. Engenharia de requisitos Análise de requisitos Projeto de software Codificação Teste Manutenção...

O Processo de Software FERRAMENTAS: dão suporte automatizado aos métodos. Existem atualmente ferramentas para apoiar cada um dos métodos. CASE (Computer Aided Software Engineering) Quando as ferramentas são integradas é estabelecido um sistema de suporte ao desenvolvimento de software.

O Processo de Software PROCEDIMENTOS: constituem o elo de ligação entre os métodos e ferramentas. Sequência em que os métodos são aplicados. Produtos que se exige que sejam entregues. Controles que ajudam assegurar a qualidade e coordenar as alterações. Marcos de referência que possibilitam administrar o progresso do software.

Resposta à Crise de Software A Engenharia de Software é uma disciplina que aplica os princípios de engenharia com o objetivo de produzir software de alta qualidade a baixo custo. O que é um software de alta qualidade?

A Qualidade depende do Ponto de Vista usuário desenvolvedor gerente O interesse fica concentrado principalmente no uso do software: facilidade de uso, requisitos atendidos. A qualidade fica mais voltada às características internas do software: legibilidade, testabilidade, eficiência. A qualidade do produto não pode ser desvinculada dos interesses da organização: custos e prazos.

Áreas de Estudo da Qualidade de Software DEFINIÇÃO CONSTRUÇÃO QUALIDADE DE PROCESSO DE SOFTWARE QUALIDADE DE PRODUTO DE SOFTWARE SOFTWARE PRODUTO MANUTENÇÃO

O que é Qualidade de Produto de Software? Boa fabricação. Deve durar muito. Bom desempenho. Portável para diferentes ambientes. Adaptável às minhas necessidadess específicas. Fácil de usar. Sem defeitos....

Norma ISO/IEC 9126 Baseada em três níveis: Características, Sub-características e Métricas. Cada característica é refinada em um conjunto de sub-características e cada subcaracterística é avaliada por um conjunto de métricas.

Norma ISO/IEC 9126: Características Funcionalidade - Satisfaz as necessidades? Confiabilidade - É imune a falhas? Usabilidade - É fácil de usar? Eficiência - É rápido e enxuto? Manutenibilidade - É fácil de modificar? Portabilidade - É fácil de usar em outro ambiente?

O que é Qualidade de um Processo de Software? medido gerenciado controlado PROCESSO DE SOFTWARE eficiente definido Qualidade

Norma ISO/IEC 12207 Utilizada para alcançar diferencial competitivo na produção de software, abrangendo todo o ciclo de vida de desenvolvimento do software. Desde a concepção das idéias iniciais até sua descontinuidade. ISO/IEC 12207 - Information Technology Software Life-Cycle Processes.

Norma ISO/IEC 12207 Apresenta o quê deve ser feito para que se alcance a qualidade mas não apresenta como fazer. Essa parte fica sob responsabilidade do interessado na sua implantação.

Norma ISO/IEC 12207 A norma utiliza uma terminologia bem definida, composta de processos, atividades e tarefas. atividade tarefa tarefa processo atividade tarefa atividade

Norma ISO/IEC 12207 Os processos são agrupados em três classes, que representam a sua natureza. Processos Fundamentais. Processos de Apoio. Processos Organizacionais.

Processos Fundamentais Processos de Apoio Aquisição Fornecimento Operação Desenvolvimento Manutenção Documentação Gerenciamento de Configuração Garantia de Qualidade Verificação Validação Revisão Conjunta Auditoria Resolução de Problema Usabilidade Processos Organizacionais Gerênciamento Melhoria Recursos e Infraestrutura Reuso Norma ISO/IEC 12207

PROCESSOS FUNDAMENTAIS PROCESSOS DE AQUISIÇÃO Preparação da Aquisição Seleção do Fornecedor Norma ISO 12207 Contrato Monitoramento do Fornecedor Aceitação do Cliente PROCESSOS DE FORNECIMENTO Proposta do Fornecedor Liberação do Produto Apoio a Aceitação do Produto PROCESSOS DE DESENVOLVIMENTO Elicitação de Requisitos Análise dos Requisitos do Sistema Projeto Arquitetural do Sistema Análise dos Requisitos de Software Projeto do Software Construção do Software Integração do Software Teste do Software Integração do Sistema Teste do Sistema Instalação do Software Manutenção do Software e do Sistema PROCESSOS DE OPERAÇÃO Uso Operacional PROCESSOS DE GERÊNCIA Alinhamento Organizacional Gerenciamento da Organização Gerenciamento do Projeto Gerenciamento da Qualidade Gerenciamento de Risco Medições PROCESSOS DE MELHORIA DE PROCESSO Estabelecimento do Processo Avaliação do Processo Melhoria do Processo PROCESSOS DE RECURSOS E INFRAESTRUTURA Gerenciamento de Recursos Humanos Treinamento Gerenciamento do Conhecimento Infraestrutura PROCESSOS DE REUSO Gerencia dos Ativos Gerencia do Programa de Reuso PROCESSOS ORGANIZACIONAIS Apoio ao Cliente Engenharia de Domínio PROCESSOS DE CONTROLE DA CONFIGURAÇÃO Documentação Gerenciamento da Configuração Gerenciamento da Resolução de Problemas Gerenciamento dos Pedidos de Alteração PROCESSOS DE GARANTIA DE QUALIDADE Garantia da Qualidade Verificação Validação Revisão Conjunta Auditoria Avaliação do produto PROCESSOS DE APOIO

Modelos de Processo de Software Cascata Prototipação RAD Evolutivos Incremental Espiral Componentes Métodos Formais Técnicas de Quarta Geração

Fases Genéricas de um Processo de Software DEFINIÇÃO CONSTRUÇÃO SOFTWARE PRODUTO MANUTENÇÃO Análise de Sistema Planejamento do Projeto Análise de Requisitos Projeto Codificação Teste Entendimento Modificação Revalidação Gerenciamento de Configuração Acompanhamento e Controle do Projeto Aplicação de Métricas Gerenciamento de Risco Gerenciamento de Reusabilidade Atividades de SQA Documentação

Engenharia de Software Visão Geral