Engenharia de Software



Documentos relacionados
IntroduçãoaoGuia SWEBOK. Ernani Lopes Isensee 2014

Engenharia de Software: Metodologias e Contextualização. Prof. José Eduardo A. de O. Teixeira vqv.com.br / j.edu@vqv.com.br

Planejamento e Gerência de Projetos de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Gestão de Projetos PMI - PMBOK

Objetivos da aula. Planejamento, Execução e Controle de Projetos de Software. O que é um plano de projeto? O que é um projeto?

Qualidade de Processo de Software Normas ISO e 15504

Gerenciamento de Projetos Modulo I Conceitos Iniciais

GOVERNANÇA DE TI PMBoK (Project Management Body of Knowledge)

GERENCIAMENTO DE PROJETOS: PMI

Gerenciamento de Projetos

Requisitos. Sistemas de Informações

Gerenciamento de Projetos Exercícios gerais com questões de concursos anteriores

Gerência de Projetos. O segredo para ter sucesso na implantação de Tecnologia da informação

Universidade de Brasília Faculdade de Ciência da Informação Curso de Arquivologia Profa. Lillian Alvares

Gerência de Projetos

Processos de Desenvolvimento de Software

Fase 1: Engenharia de Produto

GARANTIA DA QUALIDADE DE SOFTWARE

Gerenciamento de Projetos

Conceituar projetos e a gerência de projetos. Conhecer a importância e os benefícios do gerenciamento de projetos Conhecer o PMI, o PMBOK, os grupos

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Introdução a Projetos

Gerenciamento de Projetos

Gerenciamento de Projetos Project Management Institute. Prof. Miguel Torres

SWEBOK. Guide to the Software Engineering Body Of Knowledge. Teresa Maciel DEINFO/UFRPE

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo I Conceitos Iniciais

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

PROFESSOR: CRISTIANO MARIOTTI

Profa. Celia Corigliano. Unidade IV GERENCIAMENTO DE PROJETOS DE TI

Professor: Curso: Disciplina:

As 10 Áreas da Engenharia de Software, Conforme o SWEBOK. Jorge H C Fernandes 2004

Aula 04 - Planejamento Estratégico

CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET MATRIZ CURRICULAR

O que é um projeto? Características de um projeto. O Que é o PMBoK Guide 3º Edition? Desmembrando o PMBoK através de mapas mentais (Mindmaps)

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

RiskFree Uma ferramenta de apoio à gerência de riscos em projetos de software

Gerenciamento de Projetos de Desenvolvimento de Software com RUP e PMBOK

Gerenciamento de projetos. prof. Mário Garcia

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

04/02/2009. Curso Superior de Tecnologia: Redes de Computadores. Disciplina: Gestão de Projetos de TI. Prof.: Fernando Hadad Zaidan. Unidade 1.

MASTER IN PROJECT MANAGEMENT

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Universidade Paulista

Gerenciamento de Integração do Projeto Planejamento e Execução do Projeto

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

ITIL - Information Technology Infraestructure Library

PROJETO DE FÁBRICA DE SOFTWARE

Engenharia de Software

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Engenharia de Software na Prática Hélio Engholm Jr.

definido por um documento de padronização. A Fig. 1 representa a organização dos Grupos de Processos juntamente com os documentos exigidos.

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

O modelo unificado de processo. O Rational Unified Process, RUP.

Project Management Body of Knowledge

Gerenciamento de projetos.

A Disciplina Gerência de Projetos

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

Oficinas de Integração 3

Requisitos de Software

Aula 4. Introdução ao PMBOK e aos Processos da Gerência de Projetos

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Ciência da Computação ENGENHARIA DE SOFTWARE. Planejamento e Gerenciamento

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Modelos de Qualidade de Produto de Software

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Engenharia de Software II: Criando a Declaração de Escopo. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

Gerência de Projetos CMMI & PMBOK

Desempenho e Segurança em Sistemas de Informação. Profa.: Me. Christiane Zim Zapelini christianezapelini@nwk.edu.br

GESTÃO DE PROJETOS. Prof. Anderson Valadares

Integração dos Modelos de Gestão de TI

Qualidade de software

Unidade I GERENCIAMENTO DE. Profa. Celia Corigliano

Curso ITIL Foundation. Introdução a ITIL. ITIL Introduction. Instrutor: Fernando Palma fernando.palma@gmail.com

Gerenciamento de Riscos do Projeto Eventos Adversos

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

PROCESSO DE IMPLANTAÇÃO DO PMBOK EM ORGANIZAÇÕES DE SOFTWARE PROPOSTA DE TRABALHO DE GRADUAÇÃO

Projeto 2.47 QUALIDADE DE SOFTWARE WEB

F.1 Gerenciamento da integração do projeto

Engenharia de Software II: Definindo Projeto III. Prof. Msc Ricardo Britto DIE-UFPI

Gerenciamento, planejamento e execução de obras utilização do software MS Project

Minicurrículo. Prof. Dr. Adilson de Oliveira Computer Engineering Ph.D Project Management Professional. Líder no PMO. Diretor e Professor

FINANÇAS EM PROJETOS DE TI

Introdução. AULA 2 A Organização empresarial e a gestão de projetos. Tema relevante em diversas áreas

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

Exame de Fundamentos da ITIL

Transcrição:

Engenharia de Software Guide to the SWEBOK (Guide to the Software Engineering Body of Knowledge) IEEE Computer Society Professor José Eduardo A. de O. Teixeira - Slide 1

IEEE Institute of Eletric and Eletronic Engineers Associação profissional mundial sem fins lucrativos para suporte ao avanço tecnológico em sua área de atuação. Missão: O IEEE promove o processo de engenharia de criação, desenvolvimento, integração, compartilhamento e aplicação do conhecimento sobre tecnologia eletroeletrônica, tecnologia da informação e ciências, para o benefício da humanidade e da profissão (The IEEE promotes the engineering process of creating, developing, integrating, sharing, and applying knowledge about electro and information technologies and sciences for the benefit of humanity and the profession). Professor José Eduardo A. de O. Teixeira - Slide 2

IEEE Computer Society Aproximadamente 100.000 membros. Organização de suporte aos profissionais da computação, provendo informação técnica, serviços a comunidade e aos profissionais. Fundada em 1946. A maior das 39 sociedades do IEEE. Dedicada ao avanço teórico, prático e da aplicação de computadores e da tecnologia da informação. Aproximadamente 40% dos membros vive e trabalha fora dos EUA, fomentando a comunicação internacional, a cooperação e a troca de informação. Tem um escritório central de serviços em Tokyo, Japão; um escritório de publicação em Los Alamitos, California; e a sede em Washington, DC. Professor José Eduardo A. de O. Teixeira - Slide 3

The Guide to the SWEBOK Não é o conhecimento em si, mas uma síntese e uma referência ao material disponível em diversas publicações que se complementam para formar o corpo de conhecimento. Descreve que parte do conhecimento é geralmente aceito pela comunidade profissional. Organiza o conhecimento. Provê acesso por tópicos. Patrocinado por empresas como: Rational (IBM), SAP, Boeing, entre outras. Professor José Eduardo A. de O. Teixeira - Slide 4

Categorização do Conhecimento Geralmente Aceito Professor José Eduardo A. de O. Teixeira - Slide 5

Objetivos 1. Promover uma visão consistente da engenharia de software em todo o mundo (500 revisores de 42 países na fase Stoneman, versão Trial, e 120 revisores de 21 países na fase Ironman, versão 2004). 2. Definir as fronteiras de atuação da engenharia de software e as áreas de interseção com outras disciplinas como: 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) e engenharia de sistemas (SWEBOK, capítulo 12). Professor José Eduardo A. de O. Teixeira - Slide 6

Objetivos (Continuação) 1. Caracterizar o conteúdo da disciplina engenharia de software, subdividindo-o hierarquicamente em áreas de conhecimento (o Apêndice A descreve como as AC devem ser organizadas). 2. Prover acesso por tópicos a base de conhecimento da engenharia de software (material de referência e matriz em cada AC). 3. Fornecer um alicerce para desenvolvimento do currículo, certificação individual e licenciamento de material (conhecimento geralmente aceito: aplica-se a maioria dos projetos e das equipes pelo consenso e pela efetividade). Professor José Eduardo A. de O. Teixeira - Slide 7

Material de Referência e Matriz Exemplo de matriz que relaciona os tópicos de cada AC com as fontes recomendadas. Professor José Eduardo A. de O. Teixeira - Slide 8

Material de Referência e Matriz Exemplo de referências recomendadas em cada AC. Professor José Eduardo A. de O. Teixeira - Slide 9

Áreas de Conhecimento (AC) 1. Software Requirements (Requisitos) 2. Software Design (Desenho / Projeto) 3. Software Construction (Construção / Implementação) 4. Software Testing (Testes) 5. Software Maintenance (Manutenção) 6. Software Configuration Management (Configuração) 7. Software Engineering Management (Gerenciamento) 8. Software Engineering Process (Processo) 9. Software Engineering Tools and Methods (Ferramentas e Métodos) 10. Software Quality (Qualidade) Professor José Eduardo A. de O. Teixeira - Slide 10

Requisitos (SWEBOK, Capítulo 2) São problemas do mundo real que devem ser explicitados para serem solucionados (O que será feito!). A AC está dividida em sete subáreas. 1. Fundamentos dos Requisitos 2. Processo de Requisitos 3. Declaração de Requisitos 4. Análise de Requisitos 5. Especificação de Requisitos 6. Validação de Requisitos 7. Considerações Práticas Professor José Eduardo A. de O. Teixeira - Slide 11

Requisitos (O que pode acontecer!?) Professor José Eduardo A. de O. Teixeira - Slide 12

Desenho (SWEBOK, Capítulo 3) É o processo de definição da arquitetura, dos componentes, da interface e de outras características dos componentes do sistema e do resultado esperado, para resolver o problema identificado na fase de requisitos (Como será feito!). A AC está dividida em seis subáreas: 1. Fundamentos do Desenho de Software 2. Questões Chave no Desenho de Software 3. Estrutura e Arquitetura de Software 4. Evolução e Análise de Qualidade do Desenho de Software 5. Notações do Desenho de Software 6. Estratégias e Métodos para o Desenho de Software Professor José Eduardo A. de O. Teixeira - Slide 13

Construção (SWEBOK, Capítulo 4) Refere-se a criação do conjunto de programas que compõe o software e a verificação de conformidade com o desenho, da funcionalidade individual (teste unitário), da funcionalidade integrada e a depuração de erros. A AC está dividida em três subáreas: 1. Fundamentos da Construção de Software 2. Gerenciamento da Construção de Software 3. Considerações Práticas (e padrões) da Construção de Software Professor José Eduardo A. de O. Teixeira - Slide 14

Teste (SWEBOK, Capítulo 5) Consiste na verificação do comportamento de um programa ou grupo de programas, a partir de um conjunto de casos selecionados no domínio de negócio, comparando-o ao comportamento esperado, definido na especificação de requisitos. A AC está dividida em cinco subáreas: 1. Fundamentos do Teste de Software 2. Níveis de Teste de Software 3. Técnicas de Teste de Software 4. Medidas de Teste de Software 5. Processo de Teste e Considerações Práticas Professor José Eduardo A. de O. Teixeira - Slide 15

Manutenção (SWEBOK, Capítulo 6) Um 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. A AC está dividida em quatro subáreas: 1. Fundamentos da Manutenção de Software 2. Questões Chave sobre Manutenção de Software 3. Processo de Manutenção de Software 4. Técnicas de Manutenção de Software Professor José Eduardo A. de O. Teixeira - Slide 16

Manutenção (Categorias) Correção Evolução Pró-ativa Reativa Professor José Eduardo A. de O. Teixeira - Slide 17

Manutenção (Atividades) Professor José Eduardo A. de O. Teixeira - Slide 18

Gerenciamento de Configuração (SWEBOK, Capítulo 7) 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 de todos os artefatos ao longo do ciclo de vida do software. A AC está dividida em seis subáreas: 1. Processo de Gerenciamento de Configurações 2. Identificação da Configuração 3. Controle da Configuração 4. Registro do Estado da Configuração 5. Auditoria da Configuração 6. Entrega e Gerenciamento de Versões Professor José Eduardo A. de O. Teixeira - Slide 19

Gerenciamento de Projeto de Software (SWEBOK, Capítulo 8) Consiste no gerenciamento (PDCA) da engenharia de software. Gerenciamento é um aspecto fundamental e presente em todas as AC, mas nesta AC são apresentados os tópicos específicos sobre o gerenciamento. A AC está dividida em seis subáreas: 1. Iniciação e Definição de Escopo 2. Planejamento do Projeto 3. Declaração do Plano de Projeto 4. Monitoramento e Controle 5. Fechamento Professor José Eduardo A. de O. Teixeira - Slide 20

Gerenciamento de Projeto de Software Projeto, segundo o PMBOK: É um empreendimento temporário que tem por finalidade criar um produto, serviço ou resultado único. Características: Não repetitivo (início, meio e fim) Seqüência lógica de eventos (ciclo de vida) Acompanhamento e controle Objetivo claro e definido Conduzido por pessoas Parâmetros pré-definidos (tempo, recursos e qualidade). É bem-sucedido quando atende às expectativas dos stakeholders. Para saber se temos um projeto, perguntamos: 1. É único? 2. Tem prazo limitado? 3. Existe uma maneira de saber se está concluído? 4. É possível saber se os stakeholders estão satisfeitos? Professor José Eduardo A. de O. Teixeira - Slide 21

Gerenciamento de Projeto de Software Áreas de Conhecimento do PMBOK Professor José Eduardo A. de O. Teixeira - Slide 22

Gerenciamento de Projeto de Software Grupos de Processos do PMBOK Origens Destinos Professor José Eduardo A. de O. Teixeira - Slide 23

Gerenciamento de Projeto de Software Ciclo Genérico Professor José Eduardo A. de O. Teixeira - Slide 24

Gerenciamento de Projeto de Software (Ciclo Genérico Detalhado) Professor José Eduardo A. de O. Teixeira - Slide 25

Gerenciamento de Projeto de Software (Ciclo PlanDoControlAct do PMBOK) Professor José Eduardo A. de O. Teixeira - Slide 26

Gerenciamento de Projeto de Software Exemplo Professor José Eduardo A. de O. Teixeira - Slide 27

Gerenciamento de Projeto de Software GP x AC do PMBOK Iniciação Planejamento Execução Monitoramento e Controle Encerramento Integração XX X X XX X Escopo XXX XX Tempo XXXXX X Custos XX X Qualidade X X X Recursos Humanos X XX X Comunicação X X XX Riscos XXXXX X Aquisições XX XX X X Professor José Eduardo A. de O. Teixeira - Slide 28

Gerenciamento de Projeto de Software Relação Tempo x Custos Contrapõe o mito das hordas de Mongóis Professor José Eduardo A. de O. Teixeira - Slide 29

Processo de Software (SWEBOK, Capítulo 9) Consiste na definição, implementação, avaliação, medição, gerenciamento, mudanças e evolução do próprio processo de software. É uma abstração do projeto de software; uma definição de como o projeto será dividido em suas diversas fases e atividades (metodologia). A AC está dividida em quatro subáreas: 1. Mudança e Implementação do Processo 2. Definição do Processo 3. Avaliação do Processo 4. Medidas de Produtos e Processos Professor José Eduardo A. de O. Teixeira - Slide 30

Processo de Software (Exemplos) Processo Unificado (Jacobson, Booch, Rumbaugh) RUP Rational Unifided Process (Rational/IBM) PRAXIS PRocesso para Aplicativos extensíveis InterativoS (Wilson de Pádua Paula Filho) Para projetos realizados individualmente ou por pequenas equipes, com duração de seis meses a um ano. 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). SEA UP (SEA Tecnologia) MetoDeS Desenvolvida por Alunos como TCC Professor José Eduardo A. de O. Teixeira - Slide 31

Ferramentas e Métodos (SWEBOK, Capítulo 10) Classifica ferramentas e métodos para a Engenharia de Software. Na sub-área Ferramentas, há uma tópico para cada uma das outras nove AC. Na sub-área Métodos, há três tópicos: I. Heurísticos*, para a abordagem informal II. III. Matemáticos, para a abordagem formal Protótipos, para a abordagem do software baseada em formulários * Metodologia, ou algoritmo, usado para resolver problemas por métodos que, embora não rigorosos, geralmente refletem o conhecimento humano e permitem obter uma solução satisfatória. Professor José Eduardo A. de O. Teixeira - Slide 32

Qualidade de Software (SWEBOK, Capítulo 11) Relaciona-se com a qualidade de software e transcende o ciclo de vida do seu desenvolvimento. Como a preocupação com qualidade está presente toda a engenharia de software (e em toda a gestão de projetos), também é observada em todas as outras AC. A AC está dividida em três subáreas: 1. Fundamentos da Qualidades de Software 2. Processo de Gerenciamento da Qualidade de Software 3. Considerações Práticas sobre a Qualidade de Software Professor José Eduardo A. de O. Teixeira - Slide 33

Disciplinas Relacionadas (SWEBOK, Capítulo 12) 1. Engenharia da Computação 2. Ciência da Computação 3. Gestão de Negócios 4. Matemática 5. Gerenciamento de Projetos 6. Gestão da Qualidade 7. Ergonomia (acessibilidade e usabilidade) 8. Engenharia de Sistemas Professor José Eduardo A. de O. Teixeira - Slide 34

Hierarquia das Cinco Primeiras Áreas de Conhecimento Professor José Eduardo A. de O. Teixeira - Slide 35

Hierarquia das Cinco Últimas Áreas de Conhecimento e Disciplinas Professor José Eduardo A. de O. Teixeira - Slide 36