Livro 07 Qualidade de Software, Métricas e Swebok XML

Documentos relacionados
Livro 10 Gerenciamento de Projetos com PMI SOA

Livro 05 Análise e Projeto Orientado a Objetos HTML5

Qualidade de Software

Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa

Desenvolvido pelo Software Engineering Institute-SEI em 1992 Possui representação por estágios (5 níveis)e contínua (6 níveis)

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa

Livro 08 Governança de TI, ITIL, COBIT JavaScript

QUALIDADE DE SOFTWARE DEFINIÇÕES / RESUMO. Apostilas de NORMAS, disponíveis no site do professor. Prof. Celso Candido ADS / REDES / ENGENHARIA

Qualidade de Software (cont)

Padrões de Qualidade de Software

Livro 09 Verificação, Validação e Teste de Software Ajax

Melhoria de processos Qualidade. Engenharia de software Profª Karine Sato da Silva

TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML

DCC / ICEx / UFMG. O Modelo CMMI. Eduardo Figueiredo.

Livro 06 Padrões de Projeto (Design Patterns) CSS

PSP: Personal Software Process. PSP- Personal Software Process. PSP: Personal Software Process. PSP: Personal Software Process

Qualidade de Software. Profª Rafaella Matos

Avaliação de Processos de Software Utilizando a Norma ISO/IEC Autor : Anisio Iahn Orientador : Everaldo Artur Grahl

Qualidade de Processo de Software CMM / CMMI

Engenharia de Software. Gerenciamento de Pessoal. Professor Joerllys Sérgio

Visão Geral de Engenharia de Software

Nomenclatura usada pela série ISO Série ISO 9000

Avaliando a metodologia PRO.NET em

Introdução a Melhoria de Processos de Software. CMMI - Capability Maturity Model Integration MPS.BR - Melhoria de Processo do Software Brasileiro

A Web, o Design, o Software Livre e outras histórias... Eduardo Santos -

Elementos Fundamentais para a Melhoria da Qualidade de Software nas Organizações de TI

CONTPATRI Plano de Garantia de Qualidade. Versão 1.1

Engenharia de Requisitos

Prova Discursiva Engenharia de Software

AULA 02 Qualidade em TI

INFORMÁTICA. Instruções: Para responder às questões de números 71 e 72, considere o texto a seguir:

QUALIDADE DE SOFTWARE

Normas ISO:

ISO/IEC Roteiro IEC ISO. Histórico ISO/IEC ISO

Curso online de. Formação em Front-End. Plano de Estudo

Engenharia de Software II

Professor Emiliano S. Monteiro

Gerenciamento da Integração de Projetos. Parte 03. Gerenciamento de Projetos Espaciais CSE-301. Docente: Petrônio Noronha de Souza

Escola de Ciência da Informação ECI/UFMG. Eduardo Ribeiro Felipe

Ciência da Computação ENGENHARIA DE SOFTWARE. Capítulo 1 Introdução

Programação para Internet I

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

CSS Organizado e simples. Cercomp Equipe Web Nícolas Lazarte -

HTML 5, UM ESTUDO SOBRE SEUS NOVOS RECURSOS

Gerencial Industrial ISO 9000

Aula 11 - Fluxo do RUP: Ambiente

Introdução. O Modelo CMM/SEI. Roteiro da Apresentação. Conceitos básicos de qualidade. Conceitos básicos de qualidade de software

Engenharia de Software II

Crise do Software. Crise de tecnologia - hardware caminha mais rápido que o software

Engenharia de Software Processo de Desenvolvimento de Software

PSP Personal Software Process. Maria Cláudia F. P. Emer

Engenharia de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Qualidade de Software

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

ISO 9000, ISO e ISO Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

O que é CMMI? Base do CMMI. Melhorando o processo é possível melhorar-mos o software. Gerais. Processo. Produto

Uso da Internet. Disciplina: Gestão da Tecnologia de Sistemas. Professor: Thiago Silva Prates

Rui Carneiro, Rui Pereira, Tiago Orfão

IDENTIFICAÇÃO DO CANDIDATO INSTRUÇÕES

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1

Aplicação: 11/9/2016 PADRÃO DE RESPOSTA

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

Capítulo 1 Informática Biomédica: Ciência e Prática. Edward H. Shortliffe e Marsden S. Blois. Apresentado por: Carmem Hara

RAFAEL BARBOSA GESTÃO PÚBLICA

Engenharia de Software

DOSSIER DA DISCIPLINA

Definição da Sintaxe Abstrata de Potigol em XML

Gerenciamento Objetivo de Projetos com PSM

Workshop Paraense de Tecnologia de Software PROCESSO DE MEDIÇÃO. Fabrício Medeiros Alho

Guia de Bolso HTML e XHTML

Transcrição:

1

Sumário Parte I - Qualidade, Métricas e Swebok Qualidade de Software Introdução. CMMI Histórico; Organização e Componentes do Modelo Representação por Estágio Representação Contínua Contínua versus Estágio; Componentes; Metas e Práticas Genéricas MG1 a MG5; Considerações. MPS.Br Introdução; Motivação; Visão Geral. SWEBOK Introdução; Áreas de Conhecimento. Métricas de Software Introdução; Conceitos; Método GQM; Normas ISO; Métricas de Produto de Software; Métricas de Processo de Software. Parte II - XML XML Introdução; O que é XML?; Comparações entre HTML e XML; Características da Linguagem XML; Definição Conceitual do XML; Padrões da Estrutura do XML; Principais Benefícios da Linguagem XML; Testando o Código w3schools. 2

Diga não à pirataria O leitor que adquiriu o e-book legalmente no site AlbertEije.COM poderá imprimir o conteúdo para seu uso pessoal. A cópia do conteúdo do livro sem autorização configura crime. Além de contribuir para a criminalidade, a cópia ilegal desestimula o autor de realizar novos trabalhos. Todos saem perdendo com a pirataria. 3

Autor Apresentação Albert Eije é bacharel em Sistemas de Informação e especialista em Engenharia de Software. Possui larga experiência no desenvolvimento dos mais diversos tipos de sistemas. O autor iniciou sua investida no universo da informática nos idos de 1990. Na época seu interesse era por computação gráfica: CorelDRAW, PageMaker, Photoshop, etc. Com o tempo conheceu o mundo da programação, primeiro através do Clipper, seguido do Delphi e várias outras linguagens e ferramentas. Desenvolver sistemas passou a ser o seu negócio. No início focou em pequenas e médias empresas: condomínios, livrarias, construtoras, etc. Um desenvolvedor que trabalha por conta própria costuma ser o faz-tudo da empresa por um bom tempo: analista, programador, vendedor, suporte, etc. Como funcionário do Banco do Brasil, trabalhou nas Diretorias de Governo e Tecnologia. Teve contato com sistemas de grande porte e participou do desenvolvimento de vários módulos do sistema do Banco do Brasil, o maior banco da América Latina. Atualmente faz parte da Equipe T2Ti, que já formou milhares de profissionais para o mercado de desenvolvimento de software, criando treinamentos personalizados e exclusivos não encontrados em outras empresas de treinamento. Escreveu dois livros que foram publicados pela Editora Ciência Moderna e outros 20 e-books que estão disponíveis no seu site: AlbertEije.COM. Contate o autor através do site AlbertEije.COM. 4

PARTE I Qualidade de Software, Métricas e Swebok 5

Qualidade de Software Introdução A qualidade de software é uma área de conhecimento da engenharia de software que objetiva garantir a qualidade do software através da definição e normatização de processos de desenvolvimento. Apesar dos modelos aplicados na garantia da qualidade de software atuarem principalmente no processo, o principal objetivo é garantir um produto final que satisfaça às expectativas do cliente, dentro daquilo que foi acordado inicialmente. Segundo a norma ISO 9000 (versão 2000), a qualidade é o grau em que um conjunto de características inerentes a um produto, processo ou sistema cumpre os requisitos inicialmente estipulados para estes. Rodney Brooks, diretor do Laboratório de Inteligência Artificial e Ciência da Computação do MIT, define qualidade como a conformidade aos requisitos. Essa definição exige determinar dois pontos: I) o que se entende por conformidade; e II) como são especificados - e por quem - os requisitos. A comunidade de software tem se dedicado em encontrar maneiras de aumentar a qualidade do produto: Swebok, CMM, MPS.BR e outras iniciativas tem sido criadas e utilizadas nesse sentido. Estudaremos os conceitos de tais iniciativas para compreendermos os modelos. No desenvolvimento de software, a qualidade do produto está diretamente relacionada à qualidade do processo de desenvolvimento. 6

CMMI Histórico Segundo Paulk et al (1993), o modelo de capacidade de maturidade para software (CMM) foi desenvolvido para guiar as organizações de software a selecionar estratégias de melhoria de processos, determinando a atual maturidade dos processos e identificando os poucos itens mais críticos para a qualidade de software e melhoria de processos. Cada nível de maturidade, com exceção do inicial, contém áreas chaves de processos (KPA Key Process Areas) que são dirigidas por metas e organizadas por características comuns. Este modelo é disposto evolutivamente, em cinco níveis, da forma que ao atingir um nível de maturidade a organização vai ampliando sua capacidade de processos. Internamente este é organizado em 4 principais componentes: níveis de maturidade áreas chaves de processos características comuns práticas chaves 7

CMMI Histórico Estas por sua vez procuram institucionalizar os processos e são formadas pelas práticas chaves, que estão no final da cadeia descrevendo as atividades. Cada nível de maturidade, com exceção do inicial, contém áreas chaves de processos (KPA Key Process Areas) que são dirigidas por metas e organizadas por características comuns. Desta forma, ao todo, o modelo é composto de 5 níveis de maturidade, 18 áreas chaves de processo, 20 características comuns (5 para cada KPA) e 316 práticas chaves. 8

CMMI Histórico Com o grande sucesso do modelo CMM e o surgimento de novos modelos de melhoria como os de aquisição de software (SA-CMM Software Acquisition Capability Maturity Model), gerenciamento de força de trabalho (P-CMM People Capability Maturity Model) e desenvolvimento de produto e processo de software integrados (IPD-CMM - Integrated Product Development Capability Maturity Model), surgiu a necessidade de se agrupar alguns destes para facilitar a aplicação nas organizações que utilizavam mais de um modelo. Por conta disso, o CMMI (Capability Maturity Model Integration), foi definido como um conjunto de boas práticas, que pretende prover uma visão integrada da maturidade de processos de desenvolvimento. Inicialmente, o CMMI teria como objetivo integrar em um único modelo três outros: o CMM-SW 2.0, o EIA/IS 731 e o IPD-CMM 0.98. No entanto, durante o seu desenvolvimento, foi também previsto que o modelo fosse consistente e compatível com a norma ISO/IEC 15504. 9

CMMI Organização e Componentes do Modelo Estruturalmente, o CMMI é composto de níveis de maturidade ou de capacidade, áreas de processo, metas genéricas e específicas, práticas genéricas e específicas. Esses componentes são organizados em duas representações: Estágio Contínua 10

CMMI Organização e Componentes do Modelo Representação por Estágio A representação por estágio é uma abordagem que usa um conjunto predefinido de áreas de processo para especificar um guia de melhoria para a organização. Na representação por estágio as áreas estão organizadas em níveis de maturidade. Os níveis estão classificados em cinco valores de 01 (um) a 05 (cinco). 11

CMMI Organização e Componentes do Modelo Representação por Estágio Nível 1 Inicial: Os processos são usualmente ad hoc e caóticos. Os sucessos geralmente dependem da competência e heroísmos das pessoas. Frequentemente cronograma e orçamento não são cumpridos. Nível 2 Gerenciado: Os processos são executados de acordo com uma política; os projetos utilizam pessoas com a capacidade necessária para produzir saídas controladas; os stakeholders necessários são envolvidos; os processos são monitorados, controlados e revisados e sua aderência verificada em relação a descrição existente. Nível 3 Definido: Os processos estão bem caracterizados e definidos, e estão descritos em padrões, procedimentos, ferramentas e métodos. O conjunto de processos padrões da organização estão definidos e são evoluídos durante o tempo. Nível 4 Quantitativamente Gerenciado: A organização e os projetos estabelecem objetivos quantitativos para a qualidade e desempenho dos processos, e utiliza estes objetivos como critério de gerenciamento. Nível 5 Otimizado: Melhorias contínuas são realizadas nos processos da organização, motivadas pelas análises quantitativas, evoluções tecnológicas e objetivos de negócio. 12

CMMI Organização e Componentes do Modelo Representação Contínua A representação contínua é indicada para organizações que desejam realizar melhorias relativas a uma área de processo específica. Nesta representação os níveis são denominados como níveis de capacidade e estão relacionados às práticas específicas e genéricas que, por sua vez, estão associadas a uma área de processo. Nesta forma, cada Área de Processo (A1, A2, A3, etc.) é avaliada individualmente de acordo com uma determinada estrutura de Metas Genéricas - MG e Metas Específicas ME. Só é possível passar de nível, caso todas metas sejam atendidas ou cumpridas. Existem seis níveis de capacidade indo do 0 (zero) ao 05 (cinco). 13

CMMI Organização e Componentes do Modelo Representação por Estágio Nível 0 Incompleto: O processo não é executado ou é só parcialmente executado. As metas específicas não são alcançadas e não existem metas genéricas neste nível. Por estes motivos, não existe razão para institucionalizar o processo. Nível 1 Executado: O processo é executado completamente e já satisfaz as metas específicas da área de processo. Contudo o processo ainda não está institucionalizado na organização. Nível 2 Gerenciado: Neste nível o processo é executado conforme políticas, os recursos possuem a habilidade necessária para produzir saídas controladas, este é monitorado, controlado, revisado, e avaliado em relação a sua aderência ao processo descrito. Agora o processo já é mantido durante o tempo na organização. Nível 3 Definido: O processo é adaptado a partir de um conjunto padrão de processos da organização e definido conforme guia de adaptação da organização, e contribui com produtos de trabalho, medições e outras informações de melhoria de processo para os recursos da organização. Nível 4 Quantitativamente Gerenciado: O processo é controlado utilizando estatísticas e outras técnicas quantitativas. Objetivos quantitativos para qualidade e desempenho dos processos são estabelecidos e utilizados como critério no gerenciamento. Nível 5 Otimizado: O processo é continuamente evoluído através de melhorias incrementais e inovações. 14

CMMI Organização e Componentes do Modelo Contínua versus Estágio Nível 0 Incompleto: O processo não é executado ou é só parcialmente executado. As metas específicas não são alcançadas e não existem metas genéricas neste nível. Por estes motivos, não existe razão para institucionalizar o processo. Nível 1 Executado: O processo é executado completamente e já satisfaz as metas específicas da área de processo. Contudo o processo ainda não está institucionalizado na organização. Nível 2 Gerenciado: Neste nível o processo é executado conforme políticas, os recursos possuem a habilidade necessária para produzir saídas controladas, este é monitorado, controlado, revisado, e avaliado em relação a sua aderência ao processo descrito. Agora o processo já é mantido durante o tempo na organização. Nível 3 Definido: O processo é adaptado a partir de um conjunto padrão de processos da organização e definido conforme guia de adaptação da organização, e contribui com produtos de trabalho, medições e outras informações de melhoria de processo para os recursos da organização. Nível 4 Quantitativamente Gerenciado: O processo é controlado utilizando estatísticas e outras técnicas quantitativas. Objetivos quantitativos para qualidade e desempenho dos processos são estabelecidos e utilizados como critério no gerenciamento. Nível 5 Otimizado: O processo é continuamente evoluído através de melhorias incrementais e inovações. 15

PARTE II XML 16

XML Introdução Em meados da década de 1990, o World Wide Web Consortium (W3C) começou a trabalhar em uma linguagem de marcação que combinasse a flexibilidade da SGML com a simplicidade da HTML. O princípio do projeto era criar uma linguagem que pudesse ser lida por software, e integrar-se com as demais linguagens. Sua filosofia seria incorporada por vários princípios importantes: Separação entre conteúdo e formatação; Simplicidade e legibilidade, tanto para humanos quanto para computadores; Possibilidade de criação de TAGs ilimitadas; Criação de arquivos para validação da estrutura do arquivo XML (Os chamados DTDs - Document Type Definition); Interligação de bancos de dados distintos; Concentração na estrutura da informação, não na sua aparência; O XML é um formato para a criação de documentos com dados organizados de forma hierárquica. Como exemplos desses tipos de documentos podemos citar: documentos de texto formatados, imagens vetoriais e bancos de dados. 17

XML O que é XML? É uma recomendação da W3C para gerar linguagens de marcação para necessidades especiais. É um subtipo do SGML (acrônimo de Standard Generalized Markup Language, ou Linguagem Padronizada de Marcação Genérica) capaz de descrever diversos tipos de dados. Seu propósito principal é a facilidade de compartilhamento de informações através da Internet. A principal característica do XML é a de criar uma única infraestrutura para a criação de outras linguagens tais como: XHTML é uma reformulação da linguagem de marcação HTML, baseada em XML. Combina as TAGs de marcação HTML com regras da XML. Este processo de padronização tem em vista a exibição de páginas Web em diversos dispositivos (televisão, palm, celular, etc). Sua intenção é melhorar a acessibilidade. RDF é uma linguagem para representar informação na Internet. MathML é uma aplicação do XML para representar símbolos e fórmulas matemáticas. 18

XML O que é XML? SDMX é uma iniciativa internacional com o objetivo de desenvolver e empregar processos eficientes para troca e compartilhamento de dados e metainformação estatística entre organizações internacionais e os seus países-membros. XBRL padrão emergente baseado no XML para definir informação financeira. É dirigido por um consórcio internacional sem fins lucrativos (XBRL International Incorporated) de mais de 300 organizações, entre entidades reguladoras, agências governamentais e empresas de software. SVG é a abreviatura de Scalable Vectorial Graphics que pode ser traduzido do inglês como gráficos vetoriais escaláveis. Trata-se de uma linguagem XML para descrever de forma vetorial desenhos e gráficos bidimensionais, quer de forma estática, quer dinâmica ou animada. Umas das principais características dos gráficos vetoriais, é que não perdem qualidade ao serem ampliados. A grande diferença entre o SVG e outros formatos vetoriais, é o fato de ser um formato aberto, não sendo propriedade de nenhuma empresa. 19

XML O que é XML? O XML não faz nada. Isso mesmo, não faz nada. Pode ser difícil de compreender no início, mas é simples: o XML foi criado para estruturar, armazenar e obter informações de transporte dos dados. Assim como o HTML, o XML é um texto simples organizado em TAGs. Vamos a um exemplo de XML: Curriculum Vitae: <?xml version="1.0" encoding="utf-8"?> <curriculo> <InformacaoPessoal> <DataNascimento>10-10-1980</DataNascimento> <Nomecompleto>Albert Eije Barreto Mouta</Nomecompleto> <Contatos> <Residencia> <Rua>R. Maria Tomasia</Rua> <Numero>458</Numero> <Cidade>Sao Paulo</Cidade> <Pais>Brasil</Pais> </Residencia> <Telefone>8888-5555</Telefone> <Email>alberteije@gmail.com</Email> </Contatos> <Nacionalidade>Brasileira</Nacionalidade> <Sexo>M</Sexo> </InformacaoPessoal> <objetivo>atuar na area de TI</objetivo> <Experiencia> <Cargo>Analista de Sistemas</Cargo> <Empregador>T2Ti.COM</Empregador> </Experiencia> <Formacao>Superior Completo</Formacao> </curriculo> 20