Introdução ao SWEBOK André Luís de Lucena Torres

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Sistemas
Advertisements

Análise e Projeto de Sistemas III
Engenharia de Software Qualidade de Software Uma abordagem conceitual André Luis Zanon São Carlos SP – UFSCAR 2010 Engenharia de Software – UFSCAR.
Objetivos do Capítulo Utilizar o processo de desenvolvimento de sistemas delineado neste capítulo e o modelo de componentes de SI, do Capítulo 1, como.
ISO Processos do Ciclo de Vida do Software
Gerência de Projetos Wesley Peron Seno Introdução
Débora da Silva Orientadora: Maria Inés Castiñeira
O Processo Praxis 3.0 Processos de Software 25/03/2017
Identificando requisitos
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Engenharia de Software
Tópicos Motivação para teste Por que algumas empresas não testam
Engenharia de Software Professor Sandro de Paiva Carvalho.
INTRODUÇÃO A INFORMÁTICA
FACULDADE DOS GUARARAPES
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
Gerenciamento da Integração
Análise e Projeto de Sistemas
Segurança em Aplicações 2. Processo de Desenvolvimento
TSDD Teste de segurança durante o desenvolvimento.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Metodologia Versão 2 FSRS.
Gerenciamento de Requisitos com Casos de Uso
Engenharia de Software
Engenharia de Software Respostas do Questionário 01
Engenharia de Software Guide to the SWEBOK (Guide to the Software Engineering Body of Knowledge) IEEE Computer Society.
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
RUPinho Qualidade de Software
Gestão de Projetos.
Desafios do desenvolvimento de software
Visão Geral PRO.NET.
Fundamentos de Engenharia de SW
Processos de Desenvolvimento de Software – Parte 2
IEEE Std IEEE Melhores Práticas para Especificações de Requisitos de Software (ERS)
Introdução à Qualidade
Arquitetura do Software
Prof. Alexandre Vasconcelos
REQUIREMENTS DEVELOPMENT DESENVOLVIMENTO DE REQUISITOS
Engenharia de Software
SWEBOK José Benito David Embiruçu Leandro barbosa Pablo Alessandro
Documentação de Software
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Engenharia de Software
RUP - Cap. 4 – Processo Centrado na Arquitetura
METODOLOGIA, MÉTODOS E FERRAMENTAS
SWEBOK Guide to the Software Engineering Body of Knowledge Thayssa Rocha TAES 3 –
Processos de Software.
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Uma introdução ao SWEBOK
Um estudo comparativo entre PMBOK e SWEBOK
Gestão de projetos de Software GTI-16
Engenharia de Software
SWEBOK Software Engineering Body of Knowledge
Antonio Nascimento Roteiro Introdução Objetivos Áreas de Conhecimento Certificações Conclusões Referências.
Gerenciamento de Qualidade
Qualidade de Produtos de Software
Engenharia de Software
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
PSDS com CMMI Nível 2 Dimitri de Almeida Malheiros Barbosa 27/03/2006.
Lenylda Albuquerque ISO Processos de Ciclo de Vida de Software Universidade Federal de Pernambuco.
Programa criado em Apoio ao programa: Ministério da Ciência e Tecnologia da Finep Banco Interamericano de Desenvolvimento Universidades e Governo.
Estimativa, Teste e Inspeção de Software
PROJETO SPICE ISO Integrantes: Erickson Balzaneli
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
UNIEURO CENTRO UNIVERSITÁRIO Disciplina PROJETO INTEGRADOR II Professora Responsável SELMA MORAES GESTÃO DE PROJETOS.
Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação.
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Introdução ao SWEBOK André Luís de Lucena Torres lucenaster@gmail.com Guide to the Software Engineering Body of Knowledge André Luís de Lucena Torres lucenaster@gmail.com Qualidade, Processos e Gestão de Software Professores: Alexandre Vasconcelos e Hermano Perrelli http://www.cin.ufpe.br/~processos

Agenda Introdução ao SWEBOK Objetivos Áreas de Conhecimento Requisitos de Software Gerência da Engenharia de Software Projeto de Software Ferramentas e Métodos da Engenharia Construção de Software Processo de Engenharia de Software Teste de Software Qualidade de Software Manutenção de Software Gerência de Configuração de Software Disciplinas relacionadas Conclusões

Introdução Software Engineering Body of Knowledge – Corpo de Conhecimento da Engenharia de Software; Estudo conduzido pela IEEE (Institute of Electrical and Electronics Engineers); Patrocinado por empresas como :

IEEE Associação profissional mundial sem fins lucrativos para suporte ao avanço da tecnologia. Missão: O IEEE promove o processo de engenharia, criando, desenvolvendo, integrando, compartilhando e aplicando conhecimento sobre tecnologia eletroeletrônica, tecnologia da informação e ciências para o benefício da humanidade e da profissão.

Como surgiu o guia? Surgiu da necessidade da comissão de especialistas da área de Engenharia de Software, visando uma definição das fronteiras que a delimitam. (SWEBOK, 2004) Importante para o reconhecimento da profissão de Engenheiro de Software; Delimita o conhecimento inerente à competência do profissional; Validado pela comunidade / mantido em campo científico e racional;

Quando surgiu o guia? Começou como uma colaboração entre IEEE CS e ACM - de 1993 a 2000, o IEEE Computer Society e a Association for Computing Machinery (ACM) cooperaram para promover a profissionalização da engenharia de software, juntos eles articularam o Software Engineering Coordinating Committee (SWECC). O projeto SWEBOK foi iniciado em 1998 pela SWECC (Software Engineering Coordinating Committee).

SWEBOK Guia de uso e aplicação das melhores práticas de Engenharia de Software, divido em 11 áreas de Conhecimento - Knowledge Area (KA´s). Sendo elas: Requisitos de Software Gerência da Eng. de Software Projeto de Software Ferramentas e Métodos da Engenharia Construção de Software Processo de Engenharia de Software Teste de Software Qualidade de Software Manutenção de Software Gerência de Configuração de Software Disciplinas relacionadas

Objetivos Estabelecer um conjunto apropriado de critérios e normas para a prática profissional da Engenharia de Software. Determinar as fronteiras entre Engenharia de Software e outras disciplinas relacionadas; Prover “acesso tópico” ao Corpo de Conhecimento Mapeamento entre os tópicos e materiais de referência; Fundamentar a criação de currículos, certificação e licenciamento de profissionais;

SWEBOK 2010 Adicionado material sobre Interfaces Humano-Computador no design de software e Teste de Software; Remoção da seção Ferramentas e métodos de Engenharia de Software (distribuídos para outras áreas de conhecimento); Redistribuição de materias entre as áreas de conhecimento; Entre outras modificações.

Estrutura do SWEBOK Introdução sobre as áreas de conhecimento; Visão Geral, escopo e seus relacionamentos com outras áreas; Hierarquia de sub-áreas, tópicos e sub-tópicos delimitam o conteúdo da área de conhecimento; Breve descrição sobre cada tópico/sub-tópico;

Estrutura do SWEBOK

Estrutura do SWEBOK

KA: Requisitos de Software Preocupa-se com a Elicitação, Análise, Especificação e Validação de Requisitos; São problemas do mundo real que devem ser explicitados para serem solucionados (O que será feito?). Está dividida em sete sub-áreas. Fundamentos dos Requisitos Especificação de Requisitos Processo de Requisitos Validação de Requisitos Declaração de Requisitos Considerações Práticas Análise de Requisitos

KA: Requisitos de Software

Requisitos: O que “pode” acontecer

KA: Gerência de Eng de Software Corresponde ao gerenciamento, medição e modelagem do desenvolvimento de software Sub-áreas de conhecimento: Iniciação e Definição do Escopo Planej. do Projeto de Software Software Project Enactment Revisão e Avaliação Fechamento Medição da Eng. de Software

KA: Gerência de Eng de Software

KA: Gerência de Eng de Software Iniciação e Definição do Escopo Determinação de requisitos, análise de viabilidade e revisão dos requisitos Planejamento do Projeto de Software Processo, projetos, estimativa de esforço, cronograma, alocação de recursos, riscos, qualidade

KA: Gerência de Eng de Software Software Project Enactment Planos de implementação, processo de medição, monitoração, controle e relatórios Revisão e Avaliação Determinação dos requisitos de satisfação, revisão e avaliação de desempenho

KA: Gerência de Eng de Software Fechamento Determinar fechamento e suas atividades Medição da Engenharia de Software Seguem o modelo padrão ISO/IEC 15939 (Norma Internacional de medição de processo de software).

KA: Projeto de Software Processo de definição da arquitetura, componentes e demais características do sistema; Tem como base a definição dos requisitos; Sub-áreas de conhecimento: Conceitos Básicos Análise e Avaliação da qualidade de design Conceitos chaves do Design Notações de Design Estrutura e Arquitetura Estratégias e Métodos de design de software

KA: Projeto de Software Conceitos Básicos Formam uma base fundamental para o entendimento da função e do escopo do design de software Conceitos chave do Design Concorrência Controle e tratamento de eventos Distribuição Tratamento de erros e de exceções Sistemas interativos Persistência

KA: Projeto de Software Estrutura e Arquitetura Estruturas Estilos Padrões de desing Frameworks Análise e Avaliação da Qualidade do Design Trata da qualidade do design do software Características de qualidade Análise de qualidade Avaliação de ferramentas Métricas

KA: Projeto de Software Notações de Design Notações estruturais e comportamentais Estratégias e Métodos de Design de Software Estratégias gerais Métodos orientados a funções Métodos orientados a objetos Métodos formais Métodos transformacionais

KA: Ferramentas e métodos da Engenharia Automatizam as tarefas do processo de engenharia de software; Há um tópico para cada uma das outras dez KA´s; Métodos: Impõe estrutura na atividade de desenvolvimento de software, com o objetivo de tornar a atividade sistemática e propícia ao sucesso. Possuem três tópicos: Heurísticos: para a abordagem informal Matemáticos: para a abordagem formal Protótipos: para a abordagem do software baseado em telas

KA: Construção de software Refere-se a criação do conjunto de programas (componentes) que compõe o software e a verificação de conformidade com o desenho (projeto), da funcionalidade individual (teste unitário), da funcionalidade integrada e a depuração de erros (debug). Codificação Validação Verificação (testes unitários)

KA: Construção de software Divido em três sub-áreas: Fundamentos da Construção de Software Gerenciamento da Construção de software Considerações práticas da construção de software Minimizar Complexidade Antecipar Mudanças Constructing com Verificação Padrões de Construção Modelos de Construção Planejamento de Construção Avaliação a Construção Projeto de Construção Linguagem Própria Codificação Testar Construção Reuso Qualidade Integração

KA: Processo de Eng. de software Consiste na definição, implementação, avaliação, medição, gerenciamento, mudanças e evolução do próprio processo de software; Preocupa-se com: Definição Implementação Medida Gerenciamento Mudança Melhoramento

KA: Processo de Eng. de software

KA: Processo de Eng. de software Sub-áreas de conhecimento: Implementação e Mudança do Processo (Descreve as linhas de direção para implementação e mudança do processo) Definição do Processo (Vários tipos de definições de processo, Métodos de definições de processos) Avaliação do Processo (Métodos e modelos usados para avaliação do processo) Medição do Produto e do Processo (Apresenta a metodologia e paradigmas de medida para diagnóstico quantitativo do processo e do produto)

KA: Processo de software - Exemplos • RUP – Rational Unifided Process (Rational/IBM) • XP – eXtreme Programming Projetos cujos requisitos mudam com muita freqüência, orientados a objetos, desenvolvido por equipes de até 12 desenvolvedores, com processo incremental (ou interativo). • PRAXIS – Processo para Aplicativos extensíveis Interativos Para projetos realizados individualmente ou por pequenas equipes, com duração de seis meses a um ano.

KA: Teste de Software Teste é uma atividade realizada para avaliar a qualidade do produto, e para melhorá-lo, através da identificação de defeitos e problemas. Consiste na verificação do comportamento de um programa ou grupo de programas, a partir de um conjunto de casos selecionados no domínio do negócio, comparando-os ao comportamento esperado, definido na especificação de requisitos.

KA: Teste de Software Fatores Fundamentais Níveis de Teste Técnicas de Teste Avaliação de Teste Processo de teste Questões chaves Unidades Integração Sistema Aceitação Instalação Alpha Beta Regressão Baseada no código/ especificação/ No uso Cobertura Falhas antecipadas Pontuação de acordo com Mutação Considerações práticas Atividades de teste

KA: Teste de Software

KA: Teste de Software Grandes Limitações do Teste de Software: 1 – Você não pode testar o software em todos os sistemas nos quais ele será carregado. Solução: testar em (configurações) de sistemas padronizadas. 2 – Você não pode dialogar com a máquina até a exaustão, porque a linguagem é finita, mas os diálogos são infinitos. Solução: técnicas de cobertura de testes.

KA: Qualidade de software Área de conhecimento da Engenharia de Software que objetiva garantir a qualidade do software através da definição e normalização de processos de desenvolvimento; Trata dos aspectos estáticos, ou seja, daqueles que não exigem a execução do software para avaliá-lo. Sub-áreas de conhecimento Fundamentos da Qualidade de Software Gerenciamento do Processo de Qualidade de Software Considerações Práticas

KA: Qualidade de software Fundamentos de Qualidade de Software Suas sub-áreas de conhencimento são: Cultura e Ética de Engenharia de Software: Tem a qualidade de software como pilar para sua cultura e seu código de ética; Valores e Custos de Qualidade: Criação de software com custo/beneficio aceitáveis e satisfaça as expectativas dos clientes; Modelos e características de qualidade: Exemplo: CMMI Funcionalidade, Confiabilidade, Usabilidade, Eficiência; Melhoria da Qualidade: Utilização de abordagens como as de Gestão da Qualidade Total (TQM) e PDCA.

KA: Qualidade de software Gerência do Processo de Qualidade de Software Garantia de Qualidade de Software: Diretrizes e boas práticas; Verificação e Validação Revisões e Auditorias Revisar para encontrar erros Auditar para garantir as conformidades Considerações Práticas Requisitos de Qualidade para Aplicações Caracterização de Defeitos Técnicas de Gerência de Qualidade de Software Medição da Qualidade de Software

KA: Manutenção de software Uma vez em operação, anomalias são descobertas, ambientes operacionais mudam e novos requisitos surgem. A fase de manutenção inicia-se a partir da entrega, mas as atividades de manutenção começam antes mesmo da entrega. Está dividida em quatro sub-áreas: Fundamentos da Manutenção Questões Chave Processo de Manutenção Técnicas de Manutenção

KA: Manutenção de software Fundamentos da Manutenção Definições e terminologia O papel da manutenção Custos da manutenção Categorias de manutenção Questões chave Problemas técnicos Problemas de gerenciamento Estimação de custo Métricas

KA: Manutenção de software Processo de Manutenção

KA: Manutenção de software Técnicas de Manutenção Compreensão do programa Re-engenharia Engenharia reversa

KA: Gerência de Configuração de software Consiste em identificar a configuração do software em diferentes momentos com o propósito de controlar sistematicamente as mudanças ocorridas e garantir a integridade e a rastreabilidade das configurações ao longo do ciclo de vida do software. Está dividida em seis sub-áreas: Processo de Gerenciamento de Configurações Identificação da Configuração Controle da Configuração Registro do Estado da Configuração Auditoria da Configuração Entrega e Gerenciamento de Versões

KA: Gerência de Configuração de software Processo de Gerenciamento de Configurações Planejamento Limitações Direcionamento Identificação da Configuração Identifica itens a serem controlados e estabelece as ferramentas e técnicas a serem usadas; Controle da Configuração Gerencia as mudanças durante o ciclo de vida do software

KA: Gerência de Configuração de software Registro do estado da Configuração de Software Informações sobre o status da configuração de software, Relatórios do status; Auditoria de Configuração de Software Auditoria de configuração funcional do software Auditoria de configuração física do software Auditoria In-process Entrega e Gerenciamento de versões Gerência de construção de software Gerência de entrega de software

KA: Disciplinas relacionadas Engenharia da Computação Ciência da Computação Gestão de Negócios Matemática Gerenciamento de Projetos Gestão da Qualidade Ergonomia (acessibilidade e usabilidade) Engenharia de Sistemas

Conclusão Com a evolução da engenharia de software o guia precisará evoluir por isso o mesmo não é definitivo e não deve ser a única fonte de referências; Os padrões do guia não possuem os conhecimentos suficientes para um engenheiro de software como: Linguagem de programação específica, Banco de Dados Relacional, Redes, Gerência de projetos, Engenharia de sistemas, Ciência da Computação.

Referências [1] Borba, Clarissa Cesar. Uma Introdução ao Swebok. UFPE, Recife, PE, Brasil, 2007. Disponível em: www.cin.ufpe.br/~processos/TAES3/slides207.2/introducao_swebok.ppt. Acesso em 27-Ago-2009. [2] Embiruçu, David L.; Neto, José B.F.A; Barbosa, Leandro M; Viana, Pablo A. B; Sette, Sergio S. The Guide to the Software Engineering Body of Knoledge - SWEBOK. UFPE, Recife, PE, Brasil,2008. Disponível em: http://www.cin.ufpe.br/~amlv/monografias_if720.zip. Acesso em 31-Ago-2009 [3] Lopes, Edvaldo. Swebok - Software Engineering Body of Knowledge. UFPE, Recife, PE, Brasil, 2007. Disponível em: www.cin.ufpe.br/~rqf/swebok%20final.ppt . Acesso em 27-Ago-2009. [4] SWEBOK. Guide to the Software Engineering Body of Knowledge. 2004 Version. A project of the IEEE Computer Society Professional Practices Committee. Disponível em: http://www.swebok.org.