A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Introdução ao SWEBOK André Luís de Lucena Torres"— Transcrição da apresentação:

1

2 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 Qualidade, Processos e Gestão de Software Professores: Alexandre Vasconcelos e Hermano Perrelli

3 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

4 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 :

5 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.

6 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;

7 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 pela SWECC (Software Engineering Coordinating Committee).

8 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

9 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;

10 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.

11 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;

12 Estrutura do SWEBOK

13 Estrutura do SWEBOK

14 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

15 KA: Requisitos de Software

16 Requisitos: O que “pode” acontecer

17 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

18 KA: Gerência de Eng de Software

19 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

20 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

21 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 (Norma Internacional de medição de processo de software).

22 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

23 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

24 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

25 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

26 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

27 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)

28 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

29 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

30 KA: Processo de Eng. de software

31 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)

32 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.

33 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.

34 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

35 KA: Teste de Software

36 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.

37 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

38 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.

39 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

40 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

41 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

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

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

44 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

45 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

46 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

47 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

48 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.

49 Referências [1] Borba, Clarissa Cesar. Uma Introdução ao Swebok. UFPE, Recife, PE, Brasil, 2007. Disponível em: 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: Acesso em 31-Ago-2009 [3] Lopes, Edvaldo. Swebok - Software Engineering Body of Knowledge. UFPE, Recife, PE, Brasil, Disponível em: . Acesso em 27-Ago-2009. [4] SWEBOK. Guide to the Software Engineering Body of Knowledge Version. A project of the IEEE Computer Society Professional Practices Committee. Disponível em:

50


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

Apresentações semelhantes


Anúncios Google