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

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

Uma introdução ao SWEBOK

Apresentações semelhantes


Apresentação em tema: "Uma introdução ao SWEBOK"— Transcrição da apresentação:

1 Uma introdução ao SWEBOK
Jairo C. de Oliveira Milena Rocha Tópicos Avançados de ES 3

2 Uma introdução ao SWEBOK v2.0
Agenda Engenharia de Software Reconhecimento da Profissão Desenvolvimento da Profissão SWEBOK Descrição geral Objetivos Audiência Pretendida Princípios Básicos Time do Projeto Fases de Desenvolvimento Áreas de Conhecimento Disciplinas Relacionadas Conclusões Uma introdução ao SWEBOK v2.0

3 Engenharia de Software
É uma disciplina que está em desenvolvimento e existe uma grande tendência ao aumento no seu nível de maturidade Não é uma disciplina legítima de engenharia, nem uma profissão reconhecida Apesar da presenca de milhoes de profissionais de software e da inclusão do próprio software na nossa sociedade es não Eh uma disciplina legitima de engenharia, nem uma profissao reconhecida SWECC – formado em 1993 por IEEE Computer Society and the Association for Computer Machinery, tem sido ativamente promoting da eS como uma disciplina da engenharia e uma profissão Uma introdução ao SWEBOK v2.0

4 Reconhecimento da Profissão
É imperativo se chegar a um consenso sobre qual é núcleo do conhecimento Segundo Starr* Conhecimento e competência de um profissional devem ser validados por uma comunidade de peso na área Conhecimento é validado se baseado em fundamentos científicos e racionais O julgamento do profissional são direcionados para um conjunto de valores reais *P. Starr, The Social Transformation of American Medicine Acredita que a definicao núcleo do corpo do conhecimento eh o ponto crucial para a engenharaia de software ter o status de profissão Para que a es seja conhecida como uma disciplina legitima da engenharia e como uma profissao reconhecida eh imperativo se chegar a um consenso sobre qual é núcleo do conhecimento Segundo Starr, a legitimidade de uma profissão envolve as três afirmativas acima: atributos colegial, cognitivos e moral Uma introdução ao SWEBOK v2.0

5 O que caracteriza uma profissão?
Segundo Gary Ford e Norman Gibbs, a profissão de engenharia possui os seguintes componentes: Uma educação profissional inicial e um curriculum válido por uma sociedade de crédito Registro da aptidão para praticar por meio de certificação voluntária ou licença obrigatória Desenvolvimento de talento especializado e uma educação profissional contínua Gary Ford e Norman Gibb um profissional de engenharia se caracteriza pelos seguintes componentes: s estudaram varias profissoes reconhecidas, incli]uindo medicina e engenahraia Uma introdução ao SWEBOK v2.0

6 O que caracteriza uma profissão?
Segundo Gary Ford e Norman Gibbs (cont.): Suporte público através de uma sociedade profissional Um comprometimento com normas de conduta, muitas vezes prescritas em um código de ética O guia SWEBOK contribui para os três primeiros componentes Estabelece um consenso sobre a profissão de ES Esse guia contibui para os 3 primeiros passos articular o corpo do conhecimento é um passo essencial para desenvolver um profissional pq representa um amplo consenso com respeito a o que um profissional de es deveria conhecer Sem tal consenso nenhuma exame de licenca pode ser validada, nenhum curricullum pode preparar uma pessoa Para um exame e nenhum criterio pode ser formulado para se chegar a um curricullum O desenvolvimento de um consenso eh tb pre-requisito para a adocao de deselvolvimento coerente de habilidades E programas de educacao profissional continua nas organizacoes Uma introdução ao SWEBOK v2.0

7 Desenvolvimento da Profissão
Influências da Sociedade Profissional Infra-estrutura de Suporte da Profissão Desenvolvimento Individual do Profissional Educação Profissional Inicial Reconhecimento Desenvolvimento de Habilidades Sociedades de Profissionais Um ou Ambos Certificação Licenciamento Segundo Ford e Gibbs: Sociedade de Profissionais: comunidade de indivíduos bem-reconhecidos que promovem a troca de conhecimento em determinado campo e fornecem os critérios de certificação, gerência de programas de certificação, definem códigos de ética e ações disciplinares para o caso de desobediência ao código. Reconhecimento: universidades com programas reconhecidos garantem que os seus profissionais possuem o conhecimento necessário e adequado para o exercício de suas atividades. Desenvolvimento Profissional: continuidade na educação do profissional para manter ou melhorar suas habilidades depois do início da prática profissional. Muito comum em profissiões onde o conhecimento técnico muda rapidamente. Código de Ética: permite que seus participantes comportem responsavelmente. Em caso de desobediência ao código de ética, profissionais podem perder sua(s) licença(s). Educação Profissional Inicial: conclusão de um programa universitário em um campo escolhido pelo profissional. Corresponde ao início da vida profissional. Desenvolvimento de Habilidades: tempo de treinamento mínimo requerido para que um profissional possa ter realizado na prática de trabalho, para que tenha um nível de competência satisfatório. Certificação: exames que comprovam um nível mínimo de conhecimento do profissional. Licenciamento: mesmo que certificação , porém é obrigatório e administrado por uma autoridade governamental Desenvolvimento Profissional Status Profissional Completo Código de Ética Uma introdução ao SWEBOK v2.0

8 Guide to the Software Engineering Body of Knowledge (SWEBOK)
Começou como uma colaboração entre IEEE CS, ACM e a Université du Québec à Montréal SWECC (Software Engineering Coordinating Committe) – 1998 Participação internacional da indústria, sociedades de profissionais, academia, autores Quando o projeto estiver finalizado, literalmente milhares de pessoas terão trabalhado nele Após três ciclos de revisões a versão Trial foi lançada em 2001 Uma introdução ao SWEBOK v2.0

9 Fases de Desenvolvimento
Straw Man Version Stone Man Version Iron Man Version Straw Man – fornecer uma lista inicial (draft) das disciplinas do guia, KAs que seriam amplamente discutidas Stone Man – uma lista das KAs, lista de tópicos e materiais relevantes a cada KA, lista de disciplinas relacionadas a ES e as KAs. Dividido em três ciclos. Ice Man – experimentação da versão trial, promoção e revisão do guia Trial Version 1998 1999 2000 2001 2002 2003 2004 Uma introdução ao SWEBOK v2.0

10 Uma introdução ao SWEBOK v2.0
Objetivos do SWEBOK Oferecer uma visão consistente da engenharia de software no âmbito mundial Deixar claros os limites de planejamento de software com respeito a outras disciplinas ( Ciência da computação, gerência de projetos, matemática, entre outros) O núcleo ou conhecimento geralmente aceito aplica-se a a maioria de projetos na maioria das vezes, e o consenso difundido valida seus valor e eficácia . Uma visão mundial consistente sobre es passou por um processo consitente onde estiveram envolvidos 500 revisores Em 42 paises Uma introdução ao SWEBOK v2.0

11 Uma introdução ao SWEBOK v2.0
Objetivos do SWEBOK Caracterizar o conteúdo da disciplina de Engenharia de Software Prover uma base para desenvolvimento curricular e material de licença individual ). Uma definição complementar indica que o conhecimento geralmente aceitado deve ser incluído no material do estudo para uma examinação licenciando da tecnologia de programação que se gradue faça exame após ter ganhado quatro anos da experiência de trabalho Uma introdução ao SWEBOK v2.0

12 Uma introdução ao SWEBOK v2.0
Audiência Pretendida Organizações públicas e privadas Sociedades profissionais Corporações de criação de padrões Estudantes de Engenharia de Software Educadores e Instrutores Uma introdução ao SWEBOK v2.0

13 Categorias de Conhecimento
Conhecimento de um Engenheiro de Software Ciência da Computação Conhecimento Especializado em ES Conhecimento do domínio da aplicação Matemática Conhecimento avançado em ES Uma introdução ao SWEBOK v2.0

14 Princípios Básicos do Projeto
Transparência O processo é totalmente documentado e publicado Construção do consenso Indústria Sociedades Profissionais Corporações de criação de padrões Ambientes Acadêmicos Totalmente livre na web ( o processo de desenvolvimento é desenhado para construir, sobre o tempo, consenso na indústria, entre sociedades profissionais, corporações de criação de padrões e no ambiente acadêmico Uma introdução ao SWEBOK v2.0

15 O que está fora do Escopo do SWEBOK
O guia contém os conhecimentos necessários, porém não suficientes para um engenheiro de software Linguagem de programação específica Banco de Dados específico Tecnologias de Redes Gerência de projetos Engenharia de sistemas Ciência da Computação Leitores notaram q aspectos muito importantes da tecnologia da informaçao que podem constituir O conhecimento da es não foram adotados nesse gui, isso eh uma consequencia de uma aproxiamcao da disciplina de engenharia O engenherio tem q ser equipado com o conhecimento essencial que suporta a selecao da tecnologia apropriada, Na s horas e circunstancia apropriadas Por exemplo,um sistema pode ser desenvolvido em fortran ou em C++, mas os principios e objetivos de gerencia de configuracao são os mesmos O guia contem os conhecimentos necessarios e não suficientes para um engenheiro de software Uma introdução ao SWEBOK v2.0

16 Uma introdução ao SWEBOK v2.0
Time do projeto Grupo de editoração Especialistas das áreas de conhecimento Revisores Uma introdução ao SWEBOK v2.0

17 Áreas de conhecimento (KA)
Software Requiremets Software Design Software Construction Software Testing Software Maintenance Software Configuration Management Software Engineering Management Software Engineering Process Software Engineering Tools and Methods Software Quality O corpo do conhecimento eh dividido em 10mareas de conhecimento Uma introdução ao SWEBOK v2.0

18 Disciplinas Relacionadas
Cognitive Sciences and Human Factors Computer Engineering Computer Science Management and Management Science Mathematics Project Management Systems Engineering Uma introdução ao SWEBOK v2.0

19 Organização das Áreas de Conhecimento
O guia usa uma organizacao hierarquica para decompor cada KA dentro de um conjunto de tópicos Com campos reconhecidos Os topicos não presumem um dominio de uma aplicacao em particular, usos de negocio, filosofia de gerencia, Metodos de desenvolvimento Para prover o acesso topico ao conhecimento, o gui identifica materiais de referencia para cada KA, incluindo Captulos do livro, papers ... Cada descricao das KA incluem um matriz q relata materias de referencia listados em topicos Uma introdução ao SWEBOK v2.0

20 Uma introdução ao SWEBOK v2.0
Áreas de conhecimento Uma introdução ao SWEBOK v2.0

21 Uma introdução ao SWEBOK v2.0
Áreas de conhecimento Uma introdução ao SWEBOK v2.0

22 KA: Software Requirements
Um requisito é definido como uma característica que pode ser demonstrada para resolver alguns problemas do mundo real Uma introdução ao SWEBOK v2.0

23 KA: Software Requirements
Sub-áreas de conhecimento Requirement Engineering Process Requirement Elicitation Requirement Analysis Requirement Specification Requirement Validation Requirement Management Uma introdução ao SWEBOK v2.0

24 KA: Software Requirements
Uma introdução ao SWEBOK v2.0

25 KA: Software Requirements
Requirement Engineering Process Apresenta o planejamento de requisitos Orienta as outras 5 sub-áreas Mostra como o planejamento de requisitos se encaixa com o processo completo de planejamento de software Descreve modelos de processo, atores e suporte ao gerenciamento de requisitos A primeira sub-área de conhecimento é o processo de planejamento de requisitos, a qual apresenta o processo de planejamento de requisitos, orientando os 5 tópicos restantes e mostrando como o planejamento de requisitos se encaixa com o processo completo de planejamento de software. Descreve modelos do processo, atores do processo, suporte e gerenciamento do processo e aprimoramento da qualidade do processo. Uma introdução ao SWEBOK v2.0

26 KA: Software Requirements
Requirement Elicitation Origem dos requisitos Controle do requisitos Fontes de requisitos Técnicas para Elicitação A segunda sub-área é elicitação de requisitos, a qual se preocupa com a origem dos requisitos (de onde eles vêm) e como podem ser controlados pelo engenheiro de requisitos. Inclui fontes dos requisitos e técnicas para elicitação. Uma introdução ao SWEBOK v2.0

27 KA: Software Requirements
Requirement Analysis detectar e resolver conflitos entre requisitos descobrir os limites do sistema e como ele deve interagir com o seu ambiente aprimorar requisitos do sistema para requisitos de software Inclui Classificação de requisitos Modelo Conceitual, design arquitetural e alocação de requisitos Negociação de requisitos. A terceira sub-área, análise de requisitos, se preocupa com o processo de fazer análise dos requisitos para: -> detectar e resolver conflitos entre requisitos; -> descobrir os limites do sistema e como ele deve interagir com o seu ambiente; -> aprimorar requisitos do sistema para requisitos de software. Análise de requisitos inclui classificação de requisitos, modelo conceitual, design arquitetural e alocação de requisitos e requisitos de negociação. Uma introdução ao SWEBOK v2.0

28 KA: Software Requirements
Requirement Specification Descreve e estrutura o documento de requisitos Geração dos documentos de definição e especificação dos requisitos do sistema A quarta sub-área é especificação de requisitos de software. Descreve a estrutura, qualidade e comprovação do documento de requisitos. Isso pode tomar a forma de 2 documentos, ou 2 partes do mesmo documento com diferentes conjuntos de leitores e finalidades. O primeiro documento é o documento de definição de requisitos do sistema, e o segundo é a especificação dos requisitos do sistema. Esta sub-área também descreve a estrutura do documento e padrões e qualidade do documento. Uma introdução ao SWEBOK v2.0

29 KA: Software Requirements
Requirement Validation Levanta os problemas antes que os recursos sejam comprometidos Verifica se o documento de requisitos define o sistema correto Descrições do comportamento das revisões dos requisitos Criação do Protótipo Validação do Modelo Testes de Aceitação quinta sub-área é validação de requisitos cujo objetivo é levantar quaisquer problemas antes que os recursos sejam comprometidos a acessar os recursos. Validação de requisitos se preocupa com o processo de investigar o documento de requisitos para garantir que ele define o sistema correto (isto é, o sistema que o usuário espera). É subdividido em descrições do comportamento das revisões dos requisitos, criação do protótipo, validação do modelo e testes de aceitação. Uma introdução ao SWEBOK v2.0

30 KA: Software Requirements
Requirement Management Está presente em todo o ciclo de vida de um software Controla a mudança dos requisitos Gerencia Características dos requisitos A última sub-área é gerenciamento de requisitos, a qual é uma atividade que dura por todo o ciclo de vida do software. É essencialmente sobre mudança de gerenciamento e a manutenção dos requisitos em um estado que reflete exatamente o software a ser, ou que está sendo, construído. Inclui mudança de gerenciamento, características dos requisitos e reconstituição dos requisitos. Uma introdução ao SWEBOK v2.0

31 Uma introdução ao SWEBOK v2.0
KA: 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 Conforme o IEEE, design de software é uma atividade que dura por todo o ciclo de vida do software. Trata essencialmente sobre mudança de gerenciamento e da manutenção dos requisitos em um estado que reflete exatamente o software a ser, ou que está sendo, construído. Esta área de conhecimento é dividida em 6 sub-áreas. Uma introdução ao SWEBOK v2.0

32 Uma introdução ao SWEBOK v2.0
KA: Software Design Sub-áreas de Conhecimento Basic Concepts Key Issues of Software Structure and Architecture Software Design Quality Analysis and Evaluation Desing Notations Software Design Strategies and Methods Uma introdução ao SWEBOK v2.0

33 Uma introdução ao SWEBOK v2.0
KA: Software Design Uma introdução ao SWEBOK v2.0

34 Uma introdução ao SWEBOK v2.0
KA: Software Design Basic Concepts formam uma base fundamental para o entendimento da função e do escopo do design de software conceitos básicos de design contexto do design de software processo de design técnicas que permitem o design de software. A primeira apresenta os conceitos básicos e noções que formam uma base fundamental para o entendimento da função e do escopo do design de software. São conceitos gerais, o contexto do design de software, o processo de design e as técnicas que permitem o design de software. A segunda sub-área reagrupa os assuntos chave do design de software. Incluem concorrência, controle e tratamento de eventos, distribuição, tratamento de erros e de exceções, sistemas interativos e persistência. Processo de design arquitetural: com estão decompostos e organizados dos componentes Técnicas: abstração, copulação/coesão, decomposição/modularização, encapsulamento, implementação e separação de interfaces, etc. Uma introdução ao SWEBOK v2.0

35 Uma introdução ao SWEBOK v2.0
KA: Software Design Key Issues of Software Concorrência Controle e tratamento de eventos Distribuição Tratamento de erros e de exceções Sistemas interativos Persistência A primeira apresenta os conceitos básicos e noções que formam uma base fundamental para o entendimento da função e do escopo do design de software. São conceitos gerais, o contexto do design de software, o processo de design e as técnicas que permitem o design de software. A segunda sub-área reagrupa os assuntos chave do design de software. Incluem concorrência, controle e tratamento de eventos, distribuição, tratamento de erros e de exceções, sistemas interativos e persistência. Uma introdução ao SWEBOK v2.0

36 Uma introdução ao SWEBOK v2.0
KA: Software Design Structure and Architecture Estruturas e Pontos de Vistas Estilos Padrões de Design Frameworks A terceira sub-área é estrutura e arquitetura, em particular estruturas arquiteturais e pontos-de-vista, estilos arquiteturais, padrões de design, e finalmente famílias de programas e frameworks. Estruturas – visões (lógica, processo, desenvolvimento, física) Estilos – Geral (pipes, camadas), Distribuído, Interativo, Adaptativo (reflexão) Padrões – creacionais (factory), comportamentais (mediador) ou estruturais (bridge) Frameworks ou família de programas – linha de produtos Uma introdução ao SWEBOK v2.0

37 Uma introdução ao SWEBOK v2.0
KA: Software Design Software Design Quality Analysis and Evaluation Trata da qualidade do design do software Atributos de qualidade Análise de qualidade Avaliação de ferramentas Métricas A quarta sub-área descreve análise e avaliação da qualidade de design de software. Enquanto uma área de conhecimento inteira é dedicada à qualidade de software, esta sub-área apresenta os tópicos mais especificamente relacionados ao design de software. Estes aspectos são atirbutos de qualidade, análise de qualidade e avaliação de ferramentas e métricas. revisões, estatística, simulação Métricas – OO ou procedurais Uma introdução ao SWEBOK v2.0

38 Uma introdução ao SWEBOK v2.0
KA: Software Design Design Notations Notações estruturais e comportamentais Software Design Strategies and Methods Estratégias Gerais Métodos Orientados a Funções Métodos Orientados a Objeto Métodos Centrados em Dados Estruturados Métodos Formais A quinta sub-área é notações de design de software, as quais são divididas em descrições estruturais e comportamentais. A última sub-área trata de estratégias e métodos de design de software. Primeiro, estratégias gerais sevem como guias para o processo de design e são descritas com gerais (dividir para conquistar), seguidas por métodos orientados a função, em seguida métodos orientados a objetos, design de estruturas de dados centralizadas e um grupo de outros métodos, como métodos formais e transformacionais. Uma introdução ao SWEBOK v2.0

39 KA: Software Construction
Uma introdução ao SWEBOK v2.0

40 KA: Software Construction
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 Relação entre design e construção SWEBOK – insere o capítulo de construção entre o Design e Testing, porém isto não significa que a construção deva começar depois do design e os testes devam começar apenas depois da etapa de construção. Dependendo do processo escolhido estas atividades podem acontecer em seqüência ou de maneira sucessiva, ou seja, para que uma atividade comece é necessária que uma certa quantidade da atividade anterior seja completada. - Está fortemente ligada às Kas de Design e Testing Construção de software é um ato fundamental do planejamento de software: a construção de software significante que funciona, através de uma combinação de codificação, validação, e verificação (testes unitários). Limites entre desing e construção: Dependendo do tamanho do software a fase de design pode ser requerida com maior interação com a de construção (grandes projetos), ou mesmo não ser requerida, como é o caso de pequenos projetos. Alguns técnicas de software design aplicam-se à construção como por exemplo a divisão de problemas em partes menores Design contém um certo grau de adivinhação e que podem ser corrigido pela construção Uma introdução ao SWEBOK v2.0

41 KA: Software Construction
Uso de Ferramentas para aumento de produtividade e qualidade Princípios Básicos Redução da Complexidade Remoção, Automação e Localização da Complexidade Antecipação da Diversidade Técnicas de Generalização e Experimentação Estruturação para Validação Uso de Padrões Externos Boas ferramentas podem melhorar a qualidade do trabalho, evitar o trabalho repetitivo e preciso que pode ser facilmente realizado pelo computador O primeiro e mais significante método de quebrar o assunto da construção de software em unidades menores é reconhecer os 4 princípios que mais fortemente afetam a maneira pela qual o software é construído. Estes princípios são a redução da complexidade, a antecipação da diversidade, o estruturamento para validação e o uso de padrões externos. Redução: simplificação do código através da remoção (através de retirada de características não essencialmente requeridas), automação (uso de linguagens visuais) e localização (isolar a complexidade) da complexidade. Antecipação da Diversidade: parte do princípio de que não há coisa que não possam sofrer alteração durante a construção de software. Técnicas de generalização, experimentação e localização Estruturação para validação; significa estruturar (modularizar) de tal forma que erros e omissões posam ser facilmente descobertos nos testes e atividades subsequentes. Um segundo e menos importante método de quebrar o assunto da construção de software em unidades menores é reconhecer 3 estilos/métodos de construção de software, ou seja: Linguístico, Formal e Visual. Uma introdução ao SWEBOK v2.0

42 KA: Software Construction
Estilos/Métodos para Construção de Software Lingüístico Uso de linguagem natural Formal Visual Visual C++ Visual Basic Um segundo e menos importante método de quebrar o assunto da construção de software em unidades menores é reconhecer 3 estilos/métodos de construção de software, ou seja: Linguístico, Formal e Visual. Uma introdução ao SWEBOK v2.0

43 Uma introdução ao SWEBOK v2.0
KA: Software Testing 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. Dinâmico: testes implicam em executar programas com valores de entrada, e dependendo do estado do sistema uma mesma entrada pode originar comportamentos diferentes no sistema Finito: apesar do conjunto de teste poder ser considerado infinito, porque o número de execuções que podem ser observadas é finito. Selecionado: utilização diferentes critérios ou técnicas de seleção do conj. finito de testes. Esperado: é possível decidir se as saídas observadas são aceitáveis ou não. Neste último caso, um esforço inútil de teste. Uma introdução ao SWEBOK v2.0

44 Uma introdução ao SWEBOK v2.0
KA: Software Testing Sub-áreas de Conhecimento Basic Concepts Test Levels Test Techniques Test Measures Test Management Uma introdução ao SWEBOK v2.0

45 Uma introdução ao SWEBOK v2.0
KA: Software Testing - A atividade de teste não inicia apenas depois da codificação, mas que pode estar presente durante todo o desenvolvimento de software Uma introdução ao SWEBOK v2.0

46 Uma introdução ao SWEBOK v2.0
KA: Software Testing Basic Concepts Apresentação da terminologia de testes Bases teóricas Relacionamento dos testes com outras atividades Test Levels Alvos e Objetivos Test Techniques Seleção de Técnicas apropriadas Começa com uma descrição dos conceitos básicos. Primeiro, a terminologia de testes é apresentada, em seguida as bases teóricas são descritas, com o relacionamento do teste com outras atividades. A segunda sub-área é o plano de testes. São divididos entre alvos e objetivos dos testes. Alvos (os níveis em os teste de grandes sistemas pode ser subdivididos): Teste de Unidade, Integração ou sistema. Objetivos(condições ou propriedades); Teste de Aceitação/qualificação, teste de instalação, conformidade/ funcional/corretude, regressão, performance. A terceira sub-área são as técnicas de testes em si mesmas. A primeira categoria é agrupada pelo critério do fundamento pelo qual os testes são gerados, e um segundo grupo baseado na falta de conhecimento sobre a implementação. A discussão de como selecionar e combinar as técnicas apropriadas é apresentada. Uma introdução ao SWEBOK v2.0

47 Uma introdução ao SWEBOK v2.0
KA: Software Testing Test Measures Trata métricas de testes relacionados Test Management Gerenciamento específico para o processo de testes Gerenciamento Atividades A quarta sub-área trata métricas de testes relacionados. As métricas são agrupadas naquelas relacionadas com a avaliação sobre o programa de testes e dos conjuntos de testes executados. A última sub-área descreve o gerenciamento específico para o processo de testes. Inclui preocupações de gerenciamento (processo, documentação, custo/esforço, reuso e padrões) e das atividades de Testes (planejamento, geração de casos de teste, execução, avaliação dos resultados, tracking de defeitos). Uma introdução ao SWEBOK v2.0

48 KA: Software Maintenance
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 Basic Concepts Maintenance Process Key Issues Techniques for Maintenance Uma vez em execução, anomalias são descobertas, ambientes de execução são modificados, e novos requisitos do usuário surgem. A fase de manutenção do ciclo de vida se inicia na entrega mas as atividades de manutenção ocorrem muito antes. Uma introdução ao SWEBOK v2.0

49 KA: Software Maintenance
Uma introdução ao SWEBOK v2.0

50 KA: Software Maintenance
Basic Concepts Definições, Terminologias e Evolução Maintenance Process Atividades Key Issues Problemas Técnicos e Gerenciamento Techniques for Maintenance Compreenção do Programa, Re-engenharia, Engenharia Reversa, Análise de Impacto Uma vez em execução, anomalias são descobertas, ambientes de execução são modificados, e novos requisitos do usuário surgem. A fase de manutenção do ciclo de vida se inicia na entrega mas as atividades de manutenção ocorrem muito antes. Uma introdução ao SWEBOK v2.0

51 KA: Software Maintenance
Modelo de Processos de Manutenção IEEE: Solicitação de Modificação Classificação e Identificação Análise Design Implementação Teste Teste de Aceitação Entrega Também existe um outro modelo isso de atividades no SWEBOK Uma introdução ao SWEBOK v2.0

52 KA: Software Configuration Management (SCM)
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 Gerencia de configuração de software identifica a configuração de um sistema com o propósito de controlar mudanças na configuração do sistema e manter a integridade da configuração durante o ciclo de vida do sistema Uma introdução ao SWEBOK v2.0

53 KA: Software Configuration Management
Sub-áreas de Conhecimento Management of the SCM process Software Configuration Identification Software Configuration Control Software Configuration Status Accounting Software Configuration Auditing Software Release Management and Delivery Uma introdução ao SWEBOK v2.0

54 KA: Software Configuration Management
Uma introdução ao SWEBOK v2.0

55 KA: Software Configuration Management
Management of the SCM process Trata dos tópicos do contexto organizacional Limitações e direcionamento Planejamento Software Configuration Management Plan (SCMP) Monitoramento do SCM I.A. – Entendimento do contexto da estrutura organizacional e o relacionamento entre o elementos organizacionais. SCM interage com várias outras atividades e elementos organizacionais. I.B. – Políticas, procedimentos, contrato entre o cliente e fornecedor, padrões de ES contêm informações que afetam ou contribuem o SCM process. I.C. - define a organização, responsabilidades, recursos, cronograma, ferramentas para o SCM. Controle de subcontratação e interface I.D. – SCMP – os resultados do SCM Planning + SCMP Manutenção I.E. – certo grau de monitoramento para permitir que as provisões do SCMP possam ser realizadas Uma introdução ao SWEBOK v2.0

56 KA: Software Configuration Management
Software Configuration Identification Identifica itens a serem controlados Estabelece esquemas de identificação para os itens e suas versões Estabelece as ferramentas e técnicas a serem usadas para adquirir e gerenciar itens controláveis Atividades: identificação dos itens, configuração do software, item de configuração, relacionamento entre os itens, versões do software, baseline, itens a serem adquiridos. Uma introdução ao SWEBOK v2.0

57 KA: Software Configuration Management
Software Configuration Control Gerencia as mudanças durante o ciclo de vida do software Software Configuration Status Accounting Informações sobre o status da configuração de software Relatórios do status SCC – cobre o processo de determinação das mudanças que serão realizadas, a autoridade para aprovar certas mudanças, suporte para implementação das mudanças e o conceito de desvios formais dos requisitos do projeto. SCSA – produção de informações e relatórios para gerenciamento efetivo do SC. Uma introdução ao SWEBOK v2.0

58 KA: Software Configuration Management
Software Configuration Auditing Auditoria de configuração funcional do software Auditoria de configuração física do software Auditoria In-Process Software Release Management and Delivery Gerência de construção e de entrega de software SCA – preocupa-se na avaliação da conformidade do software e processos aos padrões, guidilines, planos e procedimentos aplicáveis. Funcional: está de acordo com suas especificações; Físico: projeto e documentação de referência estejam de acordo; In-process: investiga o estado corrente de um elemento específico da configuração durante o processo de desenvolvimento. SRMD – construção, versões entregues Uma introdução ao SWEBOK v2.0

59 KA: Software Configuration Management
Representação Gráfica Mgmt. & Planning SCMP Control Mgmt. Status Accounting Release Processing Auditing Configurantion Identification Uma introdução ao SWEBOK v2.0

60 KA: Software Engineering Management
Corresponde ao gerenciamento, medição e modelagem do desenvolvimento de software Sub-áreas de conhecimento Organizacional Management Process/Project management Software Engineering Measurement Enquanto é verdade dizer que deveria ser possivel gerenciar software engineering da mesma forma que qq outro processo complexo Existem aspectos particulares para produtos de software e no processo planejamneto(engineering) que complicam bastante o gerenciamanto Incorpora noções de processo e gerenciamento de projeto Uma introdução ao SWEBOK v2.0

61 KA: Software Engineering Management
Uma introdução ao SWEBOK v2.0

62 KA: Software Engineering Management
Organizacional Management Política de Gerenciamento Gerência de Pessoal Gerência de Comunicação Gerência de Aquisição Lidar com o gerenciamento de atividades de alto nível e que tem impacto indireto na engenharia de software Política de Gerenciamento: padrões e políticas organizacionais que afetam a ES Gerência de Pessoal: políticas de recrutamento, treinamento, motivação, aconselhamento profissional afetam o grupo ou o indivíduo Gerência de Comunicação: canais e meios de comunicação, procedimento de reuniões/encontros, apresentação oral ou escrita, negociação Gerência de Aquisição: planejamento e seleção de subcontratação, gerenciamento de contratos de fornecedores Uma introdução ao SWEBOK v2.0

63 KA: Software Engineering Management
Process/Project management Definição de escopo Determinação de requisitos, análise de viabilidade e revisão dos requisitos Planejamento Processo, projetos, deliverables, estimativa de esforço, cronograma, alocação de recursos, riscos, qualidade Enactment Planos de implementação, processo de medição, monitoração, controle e relatórios Gerenciamento de Processo/Projeto lidar com as atividades de gerenciamento de ES. Enactment – aderência ao plano e satisfação do cliente Uma introdução ao SWEBOK v2.0

64 KA: Software Engineering Management
Process/Project management Definição de revisão e avaliação Determinação dos requisitos de satisfação, revisão e avaliação de desempenho Fechamento Gerenciamento de Processo/Projeto lidar com as atividades de gerenciamento de ES. Uma introdução ao SWEBOK v2.0

65 KA: Software Engineering Management
Software Engineering Measurement Objetivos do programa de medição Seleção de medidas Medição do software e do seu desenvolvimento Coleta de Dados Modelos de Métricas Objetivos – organizacionais ou de melhoramento de processo Medição – tamanho, estrutura, recurso, qualidade Modelos – propósito de análise, classificação e predíção. Modelos podem ser refinados durante e depois do projeto. Uma introdução ao SWEBOK v2.0

66 KA: Software Engineering Process
Preocupa-se com: Definição Implementação Medida Gerenciamento Mudança Melhoramento Do próprio processo Uma introdução ao SWEBOK v2.0

67 KA: Software Engineering Process
Sub-áreas de conhecimento Basic Concepts Process Infrastructure Measurements Specific to Software Engineering Process Process Definition Qualitative Process Analysis Process Implementation and Change Uma introdução ao SWEBOK v2.0

68 KA: Software Engineering Process
Uma introdução ao SWEBOK v2.0

69 KA: Software Engineering Process
Basic Concepts Temas Terminologias Process Infrastructure Descreve o conceito de grupo e fábrica Measurements Specific to Software Engineering Process Apresenta a metodologia e paradigmas de medida para diagnóstico quantitativo do processo Infraestrutura – disponibilizar uma infraestrutura para o processo de SE. Medição: preocupa-se com a técnica quantitativa para diagnóstico do processo de software, identificar pontos fortes e fraquezas. Uma introdução ao SWEBOK v2.0

70 KA: Software Engineering Process
Process Definition Vários tipos de definições de processo Ciclo de vida de modelos de framework Ciclo de vida de modelos de software Notações usadas para representar essas definições Métodos de definições de processos Automação relativa às várias definições Definição do processo na forma de modelos, mais suporte automatizado e enact os modelos durante o processo. Uma introdução ao SWEBOK v2.0

71 KA: Software Engineering Process
Qualitative Process Analysis Revisão do processo de definição Análise da causa de origem Process Implementation and Change Descreve os paradigmas Descreve as linhas de direção para implementação e mudança do processo Avaliação do resultado de implementação e mudança QPA - preocupa-se com as técnicas qualitativas para analisar o processo de software, identificar forças e fraquezas PIC – preocupa-se com a entrega dos processos pela primeira vez e as mudanças existentes no processo. Uma introdução ao SWEBOK v2.0

72 KA: Software Engineering Tools and Methods
Inclui tanto o ambiente de desenvolvimento de software como as áreas de conhecimento de métodos de desenvolvimento Inclui tanto o ambiente de desenvolvimento de software como as áreas de conhecimento de desenvolvimento de métodos Identificadas na versão straw man do guia Ambiente de desenvolvimento de software- são ferramentas computacionais com o intuito de auxiliar o processo de desenvolvimento De software Uma introdução ao SWEBOK v2.0

73 KA: Software Engineering Tools and Methods
Uma introdução ao SWEBOK v2.0

74 KA: Software Engineering Tools and Methods
Ambiente de desenvolvimento de software são ferramentas computacionais com o intuito de auxiliar o processo de desenvolvimento de software 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 Híbrido Uma introdução ao SWEBOK v2.0

75 Uma introdução ao SWEBOK v2.0
KA: Software Quality Qualidade de Software: Uso eficiente, efetivo e confortável por um dado conjunto de usuários para um determinado propósito sob determinadas condições. Presente em grande parte das áreas de conhecimento do guia Este capitulo trata de consideracoes sobre a qualidade de software que transcendem os processos de ciclo de vida Uma introdução ao SWEBOK v2.0

76 Uma introdução ao SWEBOK v2.0
KA: Software Quality Sub-áreas de conhecimento Software Quality Concepts Purpose and Planning of Software Quality Assurance and Verification&Validation Activities and Techniques for Software Quality Assurance and Verification&Validation Measurement Applied to Software Quality Assurance and Verification&Validation Este capitulo trata de considerwacoes sobre a qualidade de software que transcendem os processos de ciclo de vida Uma introdução ao SWEBOK v2.0

77 Uma introdução ao SWEBOK v2.0
KA: Software Quality Uma introdução ao SWEBOK v2.0

78 Uma introdução ao SWEBOK v2.0
KA: Software Quality Software Quality Concepts Trata da medida do valor da qualidade Trata da descrição ISO 9126 de qualidade Dependência Outros tipos especiais de sistema 2.1.1 – determinação de uma valor, podendo este ser quantificado ou não como um custo, tendo em mente que o cliente terá o seu máximo custo pelo mesmo produto em mente 2.1.2 – terminologia para atributos de qualidade para um modelo ou taxinomia de qualidade de software. Segue a ISO9126 2.1.3 – para sistemas cuja falha pode ter consequencias severas (S.D.), disponibilidade, confiabilidade, manutenabilidade. 2.1.4 – para classes de software que requerem atributos especiais de qualidade que não estão na ISO Ex.: Intelligent and Knowledge Based Systems – anytime e capacidade de explicação Uma introdução ao SWEBOK v2.0

79 Uma introdução ao SWEBOK v2.0
KA: Software Quality Purpose and Planning of Software Quality Assurance (SQA) and Verification&Validation (V&V) Atividades de Planejamento da qualidade SQA Plan V&V Plan SQA e V&V - permitem a identificação de problemas e o gerenciamento com visibilidade dentro dos produtos a cada estágio do desenvolvimento ou manutenção. Processo SQA – define os procedimentos para construir a qualidade de software desejada para permitir que o processo seja bem-planejado e então aplicado as definições. V&V – determina se o produto originado de uma atividade de manutenção ou desenvolvimento está de acordo com a necessidade da atividade e atividades relacionadas, e se no final satisfaz a necessidade do usuário. Preocupação com os desvios e reparos das necessidades. Atividade de Planej. Comum – definição do produto requerido em termos de seus atributos de qualidade e planejar o processo para alcançar o produto requerido. Parte dessas definições estão presentes em outros KAs SQA Plan – define os processos e procedimentos que serão usados para permitir que o software atenda a seus requisitos e tenha a maior qualidade possível dentro das restrições do projeto V&V Plan – explicar os requisitos e gerenciamento de V&V e as regras de cada técnica para satisfazer os objetivos de V&V. Uma introdução ao SWEBOK v2.0

80 Uma introdução ao SWEBOK v2.0
KA: Software Quality Activities and Techniques for SQA and V&V Técnicas Estáticas Técnicas People-Intensive Técnicas Analíticas Técnicas Dinâmicas Estáticas: exame de documentação, software e outras informações sobre o produto sem sua execução People-Intensive: audiência, reuniões e inspeções Analíticas: algumas são tool-driven e outras são manuais, ex.: analise de complexidade, fluxo de controle, algoritmo e com uso de métodos formais. Dinâmicas: geralmente são técnicas de teste (KA: Software Testing), mas outras como simulação, checagem do modelo. Uma introdução ao SWEBOK v2.0

81 Uma introdução ao SWEBOK v2.0
KA: Software Quality Measurement Applied to SQA and V&V Inclui os fundamentos de medição Modelos de Medição Técnicas de análise de medidas Caracterização de falha 2.5.1 – teoria sobre medição e seus fundamentos 2.5.2 – modelos de medição 2.5.3 – Baseada em Estatística, teste estatísticos, análise de tendência, predição (modelos de disponibilidade) 2.5.4 – classificação do defeito, análise, teste de cobertura, avalição de benchmarks Uma introdução ao SWEBOK v2.0

82 Crescimento no interesse na profissão de engenharia de software
Diversos centros de estudos e universidades, por todo o mundo oferecem graduação em engenharia de software ou possuem algum grupo voltado a estudos do corpo do conhecimento dessa área Uma introdução ao SWEBOK v2.0

83 Crescimento no interesse na profissão de engenharia de software
University of New South Wales (Australia) McMaster University (Canadá) Rochester Institute of Technology (US) The Canadian Information Processing Society tem publicado critérios que acreditam em programas de engenharia de software para estudantes ainda não graduados Uma introdução ao SWEBOK v2.0

84 Crescimento no interesse na profissão de engenharia de software
CMM, CMMI e a família ISO 9000 de padrões são usados para avaliar a capacidade organizacional para a engenharia de software The Texas Board of Professional Engineers tem começado a licenciar profissionais de engenharia de software Uma introdução ao SWEBOK v2.0

85 Crescimento no interesse na profissão de engenharia de software
The Association for Computing Machinery (ACM) e o Computer Society of the Institute of Electrical and Electronics Engineers (IEEE) têm aderido ao desenvolvimento e adotado um código de ética para profissionais de engenharia de software Uma introdução ao SWEBOK v2.0

86 Crescimento no interesse na profissão de engenharia de software
The Institute for Certification of Computing Professionals (ICCP) oferece certificação tanto para desenvolvedores de software quanto para engenheiros de software Todos estes esforços são baseados na estimativa de que existe um Corpo de Conhecimento que deveria ser adquirido pelos engenheiros de software Esse corpo de conhecimento existe na literatura a cerca de 30 anos Uma introdução ao SWEBOK v2.0

87 Uma introdução ao SWEBOK v2.0
Considerações Finais É provável que o projeto SWEBOK torne-se tão importante dentro da área de Tecnologia da Informação quanto o PMBOK é dentro da área de Gerência de Projetos E seus padrões se tornem guias para um profissional de Tecnologia da informação Uma introdução ao SWEBOK v2.0

88 Uma introdução ao SWEBOK v2.0
Referências Guide to the Software Engineering Body of Knowledge. A Project of the Software Engineering Coordinating Committee - Leonard L. Tripp, Chair, Professional Practices Committee, IEEE Computer Society The Emerging Consensus on Software Engineering Body of Knowledge –Pierre Bourque, École de technologie supérieure Robert Dupuis, february,2002 Description of the SWEBOK Knowledge Area Software Engineering Process- El-Emam, K. March 2001 Uma introdução ao SWEBOK v2.0

89 Uma introdução ao SWEBOK v2.0
Referências Uma introdução ao SWEBOK v2.0


Carregar ppt "Uma introdução ao SWEBOK"

Apresentações semelhantes


Anúncios Google