• Nenhum resultado encontrado

Aula 02 - Introdução ao SWEBOK

N/A
N/A
Protected

Academic year: 2021

Share "Aula 02 - Introdução ao SWEBOK"

Copied!
43
0
0

Texto

(1)

Engenharia de Software

Introdução ao SWEBOK

Marcelo Marinho

(2)

Agenda

Introdução ao SWEBOK

Objetivos

Áreas de Conhecimento

o Requisitos de Software

o Gerência da Engenharia de Software o Projeto de Software

o Ferramentas e Métodos da Engenharia o Construção de Software

o Processo de Engenharia de Software o Teste de Software

o Qualidade de Software o Manutenção de Software

o Gerência de Configuração de Software o Disciplinas relacionadas

(3)

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 :

(4)

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.

(5)

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;

(6)

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

(7)

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

(8)

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

(9)

Estrutura do SWEBOK

• Introdução sobre as áreas de conhecimento;

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

o Breve descrição sobre cada tópico/sub-tópico;

(10)
(11)

Estrutura do SWEBOK

(12)

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

(13)

KA:

Requisitos de Software

(14)
(15)

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

(16)
(17)

KA:

Gerência de Eng de Software

• Iniciação e Definição do Escopo

o Determinação de requisitos, análise de viabilidade e revisão dos requisitos

• Planejamento do Projeto de Software

o Processo, projetos, estimativa de esforço, cronograma, alocação de recursos, riscos, qualidade

(18)

KA:

Gerência de Eng de Software

• Software Project Enactment

o Planos de implementação, processo de medição, monitoração, controle e relatórios

• Revisão e Avaliação

o Determinação dos requisitos de satisfação, revisão e avaliação de desempenho

(19)

KA:

Gerência de Eng de Software

• Fechamento

o Determinar fechamento e suas atividades • Medição da Engenharia de Software

o Seguem o modelo padrão ISO/IEC 15939 (Norma Internacional de medição de processo de software).

(20)

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

(21)

KA:

Projeto de Software

• Conceitos Básicos

o Formam uma base fundamental para o entendimento da função e do escopo do design de software

• Conceitos chave do Design o Concorrência

o Controle e tratamento de eventos o Distribuição

o Tratamento de erros e de exceções o Sistemas interativos

o Persistência

(22)

KA:

Projeto de Software

• Estrutura e Arquitetura o Estruturas o Estilos o Padrões de desing o Frameworks

• Análise e Avaliação da Qualidade do Design o Trata da qualidade do design do software

o Características de qualidade o Análise de qualidade

(23)

KA:

Projeto de Software

• Notações de Design

o Notações estruturais e comportamentais

• Estratégias e Métodos de Design de Software o Estratégias gerais

o Métodos orientados a funções o Métodos orientados a objetos o Métodos formais

o Métodos transformacionais

(24)

KA:

Ferramentas e métodos da Engenharia

Ferramentas

o Automatizam as tarefas do processo de engenharia de software;

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

(25)

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

o Codificação o Validação

o Verificação (testes unitários)

(26)

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

(27)

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: o Definição o Implementação o Medida o Gerenciamento o Mudança o Melhoramento

(28)
(29)

KA:

Processo de Eng. de software

Sub-áreas de conhecimento:

o Implementação e Mudança do Processo (Descreve as linhas de direção para implementação e mudança do processo) o Definição do Processo (Vários tipos de definições de processo, Métodos de definições de processos)

o Avaliação do Processo (Métodos e modelos usados para avaliação do processo)

o Medição do Produto e do Processo (Apresenta a metodologia e paradigmas de medida para diagnóstico quantitativo do processo e do produto)

(30)

KA:

Processo de software - Exemplos

• RUP – Rational Unifided Process (Rational/IBM) • XP – eXtreme Programming

o Projetos cujos requisitos mudam com muita freqüência, orientados a objetos, desenvolvido por equipes de até 12 desenvolvedores, com processo incremental (ou interativo).

(31)

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.

(32)

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

(33)

KA:

Teste de Software

(34)

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

(35)

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.

(36)

KA:

Qualidade de software

• Gerência do Processo de Qualidade de Software

o Garantia de Qualidade de Software: Diretrizes e boas práticas; o Verificação e Validação

o Revisões e Auditorias

Revisar para encontrar erros

Auditar para garantir as conformidades • Considerações Práticas

o Requisitos de Qualidade para Aplicações o Caracterização de Defeitos

o Técnicas de Gerência de Qualidade de Software

(37)

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

(38)

KA:

Manutenção de software

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

(39)

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

(40)

KA:

Gerência de Configuração

de software

• Processo de Gerenciamento de Configurações o Planejamento

o Limitações

o 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

(41)

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

o Auditoria de configuração funcional do software o Auditoria de configuração física do software

o Auditoria In-process

• Entrega e Gerenciamento de versões o Gerência de construção de software o Gerência de entrega de software

(42)

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

(43)

Referências

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.

Referências

Documentos relacionados

Qual a percepção do usuário em relação à qualidade dos serviços de testes de software, quando adotada fábrica de testes no ciclo de desenvolvimento1. Para tanto, foi delineado

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

1. Etnografia Concorrente: São realizados estudos curtos e interativos antes do inicio do desenvolvimento, para que sejam colhidos os requisitos iniciais e a geração dos

A tabela 25 apresenta os resultados brutos desta avaliação em relação à característica busca e a tabela 26 exibe o resultado ponderado para esta característica.. A tabela 27

Neste sentido, o nosso trabalho foi realizado em dois momentos: o Campo de Observação com 20 horas semanais e Campo de Docência com 20 horas semanais, encontros significativos

A forma em que as empresas do arranjo do segmento cama-mesa-banho estão inseridas no mercado externo pode ser enquadrada em relações de redes de empresas, nas

Além disso, a falta de esclarecimento de toda a comunidade escolar sobre sua importância para a melhoria do desempenho dos educandos também contribuiu para que os pais não o

O trabalho intitulado PROJETO DE INTERVENÇÃO SOBRE A IMPLANTAÇÃO DA SISTEMATIZAÇÃO DA ASSISTÊNCIA DE ENFERMAGEM (SAE) PARA PACIENTES COM DIABETES MELLITUS NO