CIn Institucional (Portugu - PowerPoint PPT Presentation

About This Presentation
Title:

CIn Institucional (Portugu

Description:

Title: CIn Institucional (Portugu s) Author: Usuario Last modified by: Catarina Created Date: 8/18/2006 12:55:46 PM Document presentation format – PowerPoint PPT presentation

Number of Views:79
Avg rating:3.0/5.0
Slides: 55
Provided by: Usua194
Category:

less

Transcript and Presenter's Notes

Title: CIn Institucional (Portugu


1
Uma introdução ao SWEBOK Guide to the Software
Engineering Body of Knowledge
Catarina de Souza Costacsc_at_cin.ufpe.brQualidade
, Processos e Gestão de Software Prof.
Alexandre Vasconceloshttp//www.cin.ufpe.br/proc
essos/ 02/10/2008
2
Agenda
  • SWEBOK (Guide to the Software Engineering Body of
    Knowledge) 1 4 5 6
  • Áreas de Conhecimento
  • Estudo de Caso
  • Conclusões

2
3
O que é o SWEBOK?
  • Guide to the Software Engineering Body of
    Knowledge
  • É uma iniciativa do IEEE (Institute of
    Electrical and Electronics Engineers) Computer
    Society.
  • Tem o propósito de criar um consenso sobre as
    áreas de conhecimento da Engenharia de Software e
    seu escopo.
  • ?
  • PMBOK - é o guia que identifica um subconjunto
    do conjunto de conhecimentos em gerenciamento de
    projetos.

3
4
O que levou a criação do guia?
  • A Engenharia de Software é uma área de
    conhecimento em expansão e existem evidências
    inquestionáveis do seu nível crescente de
    maturidade
  • Muitas universidades em todo mundo oferecem
    curso de graduação em Engenharia de Software. Por
    exemplo, University of New South Wales
    (Australia), McMaster University (Canada), the
    Rochester Institute of Technology (US), the
    University of Sheffield (UK), etc
  • O Capability Maturity Model Integration (CMMI) e
    a família ISO 9000 de padrões são usados para
    avaliar a capacidade organizacional para a
    engenharia de software.
  • Association for Computing Machinery (ACM)
    e a Computer Society of the Institute of
    Electrical and Electronics Engineers (IEEE)
    desenvolveram, conjuntamente, um código de éticas
    e práticas para os profissionais da área

4
5
Continuando...
  • Tanto o IEEE Computer Society quanto o Institute
    for Certification of Computing Professionals
    (ICCP) têm oferecido certificação para
    desenvolvedores e engenheiros de software.
  • Todos estes esforços são baseados na presunção
    que existe um conjunto de conhecimentos que deve
    ser dominado pelos engenheiros de software
  • O Corpo do Conhecimento existe na literatura que
    tem se acumulado ao longo dos últimos trinta
    anos.
  • O SWEBOK é um guia que fornece este conjunto de
    conhecimento

5
6
Como o guia foi criado?
  • 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).

6
7
Continuando...

Foi contratado o Software Engineering
Management Research Laboratory at the Université
du Québec à Montréal (UQAM)) para gerenciar o
esforço. Nos últimos anos, a UQAM tem se
associado a École de technologie supérieure,
Montréal, Québec.
O plano do projeto compreendia três fases
sucessivas Strawman, Stoneman, e Ironman.
7
8
Fases

8
9
Fases
  • Straw Man (Palha)
  • Protótipo mostrando como o projeto seria
    organizado
  • A versão foi publicada em setembro de 1998.
  • Stone Man (Pedra)
  • Mais contribuições
  • Concluído em 2001
  • Lançado uma versão Trial
  • Iron Man (Ferro)
  • 2 sub-fases
  • Sub-fase 1 (2000-2002) Experimentação e uso
    julgamento do Guia
  • Sub-fase 2 (2002-2003) Um extenso processo de
    revisão
  • Conclusão (2004)

9
10
Quem participou?

Participação de diversos stakeholders
indústria, agências de pesquisa, profissionais,
autores
10
11
Objetivos
  • Promover uma visão consistente da Engenharia de
    Software no mundo
  • Clarear e marcar as fronteiras entre a Engenharia
    de Software e as outras disciplinas relacionadas,
    como ciência da computação, gerenciamento de
    projetos, matemática...
  • Caracterizar o conteúdo da disciplina de
    Engenharia de Software
  • Classificar em tópicos a área de conhecimento da
    Engenharia de Software
  • Prover uma fundação para o desenvolvimento do
    currículo, para certificação individual e para
    licenciamento de material.

11
12
Princípios
  • Transparência
  • O processo é totalmente documentado, publicado e
    divulgado.
  • Consenso
  • Indústria (Boeing, Construx Software, a MITRE
    Corporation, Rational Software, Raytheon Systems,
    e SAP Labs-Canadá).
  • Agências de Pesquisas (Instituto Nacional de
    Padrões e Tecnologia, Conselho Nacional de
    Pesquisa do Canadá), o Conselho Canadense de
    Engenheiros, e o IEEE Computer Society, que tem
    proporcionado suporte financeiro para o projeto.
    Ambientes Acadêmicos
  • Totalmente livre na WEB
  • www.swebok.org

12
13
Qual o público alvo?
  • Organizações públicas e privadas
  • Engenheiros de Software
  • Sociedades profissionais
  • Corporações de criação de padrões
  • Estudantes de Engenharia de Software
  • Educadores e Instrutores

13
14
O que o guia não aborda?
  • Muitos aspectos importantes da tecnologia da
    informação que pode constituir um conhecimento
    importante na engenharia de software não são
    abordados no Guia, incluindo linguagens
    específicas de programação, bancos de dados
    específico, tecnologias de redes...
  • O Guia abrange os conhecimentos da engenharia de
    software que são necessários, mas não o
    suficiente para o engenheiro de software

14
15
SWEBOK

15
16
Agenda
  • SWEBOK (Guide to the Software Engineering Body of
    Knowledge)
  • Áreas de Conhecimento 4 5 6
  • Estudo de Caso
  • Conclusões

16
17
SWEBOK Guide 10 Knowledge Areas Mapped TO
ISO/IEC 122071995 processes
KAs Áreas de Conhecimento

Maintenance
Testing
Construction
Design
Requirements
Software Configuration Management
Software Engineering Management
Software Engineering Process
Software Engineering Tools and Methods
Software Quality
Primary Processes
Supporting Processes
17
18
KA Requisitos de Software

18
19
KA Requisitos de Software
  • Preocupa-se com a Elicitação, Análise,
    Especificação e Validação de Requisitos
  • Sub-áreas de conhecimento
  • Requisitos Fundamentais (Definição dos
    Requisitos, Produto, Processo, Software, Sistema,
    Funcionais, Não Funcionais, Propriedades
    Emergentes )
  • Processo de Requisitos (Modelos de processo,
    atores)
  • Elicitação de Requisitos (Fontes, técnicas para
    elicitação)
  • Análise de Requisitos (Detectar e resolver
    conflitos, negociação)
  • Especificação de Requisitos (Descreve a estrutura
    do documento)
  • Validação de Requisitos (Verifica se o documento
    de requisitos define o sistema corretamente)
  • Considerações Práticas (Gerenciamento de
    mudanças, rastreamento)
  • Projetos na engenharia de software são
    criticamente vulneráveis quando estas atividades
    são mal desempenhadas

19
20
KA Projeto de Software

20
21
KA Projeto de Software (Design)
  • Processo de definição da arquitetura,
    componentes, interfaces e outras características
    de um sistema ou componente
  • Tem como base a definição dos requisitos.
  • Sub-áreas de conhecimento
  • Conceitos Básicos (Contexto, Processo e Técnicas)
  • Conceitos chaves do Design (Persistência,
    Controle e tratamento de eventos)
  • Estrutura e Arquitetura (Estilos, Padrões de
    desing, Frameworks)
  • Análise e Avaliação da qualidade de design
    (Métricas)
  • 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
    objetos, Métodos formais, Métodos orientados a
    funções)

21
22
KA Construção de Software

22
23
KA Construção de Software
  • Construção de software é um ato fundamental do
    planejamento de software
  • Codificação
  • Validação
  • Verificação (testes unitários)
  • Requer que o desenvolvedor seja lógico e preciso
  • Produz software executável
  • Uso de Ferramentas para aumento de produtividade
    e qualidade.
  • Sub-áreas de conhecimento
  • Fatores fundamentais (Minimizar Complexidade,
    Padrões de Construção)
  • Gerenciamento da construção (Planejamento de
    Construção, Avaliando a construção)
  • Considerações práticas (Codificação, Testar
    Construção, Reuso, Integração)

23
24
KA Teste de Software

24
25
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 dinâmica do comportamento
    de um programa com um conjunto finito de casos de
    testes, selecionados de um domínio geralmente
    infinito de execuções, para confirmar o
    comportamento especificado esperado.
  • Sub-áreas de conhecimento
  • Fatores fundamentais (Questões Chaves,
    Testando-relacionando terminologias)
  • Níveis de Teste (A que se destina e quais os
    objetivos. Ex. Unidade, Integração)
  • Técnicas de Teste (Baseada no código, na
    especificação, no uso)
  • Avaliação de Testes (Avaliação do Programa de
    Teste, Avaliação dos testes executados. Ex.
    Cobertura, Falhas antecipadas)
  • Processo de Teste (Considerações Práticas,
    Atividades de Teste)

25
26
KA Manutenção de Software

26
27
KA Manutenção de Software
  • Manutenção de Software é definida com uma área
    totalmente necessária para fornecer eficaz
    suporte ao software.
  • Uma vez em execução, anomalias são descobertas,
    ambientes de execução são modificados, e novos
    requisitos do usuário surgem.
  • Sub-áreas de conhecimento
  • Conceitos Básicos (Conceitos básicos e noções
    utilizando de definições e terminologias)
  • Processo de Manutenção (Técnicas chaves,
    Estimativa de custo da manutenção)
  • Conceitos Chaves (Processos e Atividades de
    Manutenção)
  • Técnicas de Manutenção (Compreensão do Código,
    Reengenharia, Engenharia Reversa)

27
28
KA Gerência de Configuração de Software

28
29
KA Gerência de Configuração de Software
  • Identifica a configuração de um sistema
  • -Controle de mudanças
  • -Manutenção da integridade da configuração
    durante o ciclo de vida do sistema
  • Sub-áreas de Conhecimento
  • Gerenciamento do Processo GCS (Planejamento,
    Limitações e direcionamento...)
  • Identificação da Configuração de Software
    (Identifica itens a serem controlados e
    estabelece as ferramentas e técnicas a serem
    usadas...)
  • Controle da Configuração de Software (Gerencia as
    mudanças durante o ciclo de vida do software...)
  • Contagem de Status de 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
    In-Process...)
  • Gerenciamento de Release e Entrega do Software
    (Gerenciamento de Release e Entrega do
    Software...)


29
30
KA Gerência da Engenharia de Software

30
31
KA Gerência da Engenharia de Software
  • Corresponde ao gerenciamento, medição e modelagem
    do desenvolvimento de software
  • Sub-áreas de conhecimento
  • 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 (Estimativa
    de esforço, riscos...)
  • Software Project Enactment (Planos de
    implementação, processo de medição, monitoração,
    controle e relatórios)
  • Revisão e Avaliação (Revisão e avaliação de
    desempenho)
  • Fechamento (Atividades de fechamento)

  • Medição da Engenharia de Software (Medições
    efetivas se tornaram um do pilares para a
    maturidade organizacional. Os tópicos descritos
    nessa sub-área seguem o modelo padrão ISO/IEC
    15939)

31
32
KA Processo de Engenharia de Software

32
33
KA Processo de Engenharia de Software
  • Preocupa-se com Definição, Implementação,
    Medida, Gerenciamento, Mudança e Melhoria
  • 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)

33
34
KA Ferramentas e Métodos da Engenharia de
Software

34
35
KA Ferramentas e Métodos da Engenharia de
Software
Objetivam tornar o processo de Engenharia de
Software mais rápido, sistemático e menos
propício a falhas. Incluem Ferramentas Automati
zam as tarefas do processo de engenharia de
software Ambientes de desenvolvimento
Ferramentas computadorizadas que auxiliam no
processo de desenvolvimento de software Automatiz
am tarefas repetitivas e bem definidas. Métodos
de Desenvolvimento Impõe estrutura na atividade
de desenvolvimento de software, com o objetivo de
tornar a atividade sistemática e propícia ao
sucesso Heurísticos, Formais, Prototipagem e
Híbrido.

35
36
KA Qualidade de Software

36
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
  • Presente em grande parte das áreas de
    conhecimento do guia
  • 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

37
38
KA Qualidade de Software
  • Fundamentos de Qualidade de Software
  • -Cultura e Ética de Engenharia de Software
    (qualidade de software como parte de sua cultura,
    código de ética)
  • -Valores e Custos de Qualidade
  • Criar software que tenha valor e satisfaça as
    expectativas dos clientes
  • O engenheiro de software deve ser capaz de
    apresentar alternativas de qualidade e seus
    custos
  • -Modelos
  • CMMI
  • -Características de Qualidade
  • Funcionalidade, Confiabilidade, Usabilidade,
    Eficiência
  • -Melhoria da Qualidade
  • Processos, Pessoas e Tecnologias -
    Abordagens como as de Gestão da Qualidade Total
    (TQM) processo de Plan, Do, Check e Act (PDCA).



38
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

39
40
Disciplinas Relacionadas
  • O Guia também reconhece oito disciplinas
    relacionadas
  • Ciência da Computação
  • Engenharia da Computação
  • Engenharia de Sistemas
  • Ergonomia de Software
  • Gerenciamento
  • Gerenciamento da Qualidade
  • Gerenciamento de Projeto
  • Matemática

40
41
Agenda
  • SWEBOK (Guide to the Software Engineering Body of
    Knowledge)
  • Áreas de Conhecimento
  • Estudo de Caso 2 3
  • Conclusões

41
42
Using SWEBOK for Education Programs in Industry
and Academia
  • Como o guia SWEBOK foi utilizado em uma grande
    organização de desenvolvimento de software - a
    Securities Industry Automation Corporation
    (SIAC)
  • A Forma com o SWEBOK ajudou a melhorar um
    Programa de Mestrado em Engenharia de Software -
    Southern Methodist University (SMU)
  • O resultado education program

42
43
Using SWEBOK for Education Programs in Industry
and Academia

Organizations go with what has worked in the
past
Todo mundo está muito ocupado com o produto e
não podem gastar tempo com educação e
treinamentos
A solução CMM para necessidades industriais
O CMM - SEI tem ajudado muitas empresas Mas
muitas vezes os esforços CMM falharam Análise de
falhas aponta para várias causas, mas uma causa
uma persistente é Falta de educação e
formação
43
44
Using SWEBOK for Education Programs in Industry
and Academia
SIAC Education Program Assistência para cursos
e diplomas universitários Formação
"Técnica" MAS Engenharia Processos "pouco
valorizados Poucos bons programas de engenharia
de software locaisDifícil achar tempo de
realmente ter formação

Programa SMU MS em Engenharia de
Software -Iniciado em 1993, baseado em SEI
masters level model curriculum SEI CMM
Necessidades da indústria local -Programa
abrangente com vários cursos de engenharia de
software -A maioria dos professores com
experiência industrial -Opções para educação à
distância
44
45
Using SWEBOK for Education Programs in Industry
and Academia
Desafios para o Programa SMU -Manter-se
atualizado com os rápidos progressos na área
-Manter os laços com as necessidades industriais
-O ensino à distância -Aprender com os
estudantes
Desafios da indústria -Projetos em crescente
complexidade -A rápida evolução das exigências
-Pressões por maior rapidez -Integração de
novos processos e tecnologias -Escassez de
Talentos habilidades em engenharia de software
particularmente

Por que usar o SWEBOK??
A Necessidade de um Modelo
Academia precisa de um modelo de engenharia de
software para ajudar a evitar falhas no programa
e ajudar a garantir cobertura e integridade
estrutural para programas acadêmicos.
A indústria precisa de um modelo de engenharia de
software para relacionar o conhecimento com as
necessidades organizacionais.
45
46
Using SWEBOK for Education Programs in Industry
and Academia
Como o SWEBOK foi usado???
Usando SWEBOK para alinhar as necessidades com o
Corpo de Conhecimento
- Oportunidade de planejar de forma mais rápida
- Intuitiva aceitação da estrutura -
Planejamento Individual e organizacional eram
suportados - Educação e iniciativas SPI estavam
alinhadas
46
47
Using SWEBOK for Education Programs in Industry
and Academia
Usando SWEBOK para examinar o programa SMU
Engenharia de software

O curso e os tópicos detalhados foram mapeados
através da estrutura detalhada do SWEBOK. A
estrutura era bastante natural e o mapeamento foi
simples
Lições aprendidas SMU "Buracos e
sobreposições na cobertura dos cursos Por
exemplo, um curso sobre ferramentas de software
foi claramente necessárioNecessidade de
atualizações nos conteúdos de alguns cursos
47
48
Using SWEBOK for Education Programs in Industry
and Academia
Bom interesse da SIAC A gerência dedicou
recursos 100 trabalhadores completaram um
overview em 2 dias 25 no programa bridging 60
nos programas certificate

Curso Oferecidos
Lições aprendidas SIAC Mesmo muito ocupadas as
organizações irão abraçar as oportunidades quando
elas percebem um alinhamento com as suas
necessidades e a oportunidade de retorno sobre
seu investimento O SWEBOK apoiou uma
caracterização clara do que era necessário e onde
era necessário formação, permitindo Mais
rapidez nas escolhas a serem feitas Mais
rapidez nos retornos esperados
Flexíveis níveis de participação
48
49
Using SWEBOK for Education Programs in Industry
and Academia
Programa que resultou SMU Certificate Programs

Perspectivas Necessidade de Atualização e
Revisão do SWEBOK Toda a utilização do SWEBOK é
embasada no pressuposto de que ele irá acompanhar
os tempos.
49
50
Mestrado Profissional em ES CESAR.edu
Tendo como base as disciplinas do SWEBOK, o MPES
é composto por 8 (oito) disciplinas, associadas
de acordo com a Tabela

50
51
Agenda
  • SWEBOK (Guide to the Software Engineering Body of
    Knowledge)
  • Áreas de Conhecimento
  • Estudo de Caso
  • Conclusões

51
52
Conclusão
  • Embora o Guia 2004 do corpo de conhecimento da
    Engenharia de Software seja um marco para
    alcançar um amplo acordo sobre o conteúdo da
    disciplina de engenharia de software, não é o fim
    do processo, o guia deve evoluir.
  • Necessidade evolução e manutenção
  • -Surgimento de novas práticas/tecnologias
  • O Guia é inerentemente um documento
    conservador,)descreve as práticas de Engenharia
    de Software consensualmente reconhecidas como
    adequadas na maioria dos projetos.
  • O guia proposto não é definitivo, e nem a única
    fonte de referência Referências de material em
    outras línguas foram omitidas.
  • Trabalhos em novas áreas de conhecimento estão
    atualmente em curso. Estes novos suplementos de
    Kas incluem
  • Measurement, Security (Coming Soon), Web
    Engineering (Coming Soon)...
  • Segundo www.swebok.org Last Updated January 12,
    2007


52
53
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/sl
ides-2007.2/introducao_swebok.ppt. Acesso em
05-Set-2008. 2 Cesar.edu. Mestrado
profissional em Engenharia de software. Manual do
candidato, 2007. 3 Frailey, Dennis J. Mason.
James. Using SWEBOK for Education Programs in
Industry and Academia. Cseet, 2002. 4 Lopes,
Edvaldo. Swebok - Software Engineering Body of
Knowledge. UFPE, Recife, PE, Brasil, 2007.
Disponível em www.cin.ufpe.br/rqf/swebok20final
.ppt . Acesso em 05-Set-2008. 5 Rocha, Milena.
Uma Introdução ao Swebok. UFPE, Recife, PE,
Brasil, 2004. Disponível em www.cin.ufpe.br/jbfa
n/qualidade/swebok/mrl-20Swebok_07-07-03.ppt .
Acesso em 05-Set-2008 05-Set-2008. 6 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.
53
54
Uma introdução ao SWEBOK
?
Catarina Costa (csc_at_cin.ufpe.br) 02/10/2008
54
Write a Comment
User Comments (0)
About PowerShow.com