Normalização em
Engenharia de Software
Fernando Brito e Abreu (fba@di.fct.unl.pt)
Universidade Nova de Lisboa (http://www.unl.pt)
QUASAR Research Group (http://ctp.di.fct.unl.pt/QUASAR)
© Fernando Brito e Abreu 2 04-06-2007
Resumo
O PAPEL DA NORMALIZAÇÃO
NORMAS DE JURE E DE FACTO
ORGANISMOS DE NORMALIZAÇÃO
COMITÉS TÉCNICOS
¡ NORMAS EM ENGENHARIA DE SOFTWARE
¢ COMO SE PRODUZ UMA NORMA ?
© Fernando Brito e Abreu 3 04-06-2007
O papel da normalização
Assume o papel de catalisador de uma
INDÚSTRIA DE SOFTWARE
disponibilizando:
definições de consenso e compreensão alargada
enquadramentos de referência para o estabelecimento de métodos de desenvolvimento
pontos de referência, face aos quais se podem
exprimir e avaliar as melhorias conseguidas
O papel da normalização
Assume o papel de catalisador de uma
INDÚSTRIA DE SOFTWARE
permitindo:
evitar a tentação de "reinventar a roda"
guiar o processo de desenvolvimento de uma forma coerente e provada
produzir produtos com aceitação alargada, em particular quando devem obedecer a requisitos de interoperacionalidade ou produção em série
evidenciar a Qualidade de produtos e processos (através da Certificação)
© Fernando Brito e Abreu 5 04-06-2007
Normas em Engenharia de Software
- Quem te conhece?
Que normas relativas a software conhece ?
________________________________________
________________________________________
________________________________________
________________________________________
)Os Engenheiros de Telecomunicações conhecem e
utilizam normas na sua área (séries V, X, ...)
) Porque não acontece o mesmo com os
Engenheiros de Software ???
© Fernando Brito e Abreu 6 04-06-2007
de jure ou de facto?
de jure é uma expressão em Latim que
significa “por lei”
Esta designação é usada para normas que são
publicadas por um organismo de normalização
devidamente acreditado (e.g. ISO, IEEE, ANSI)
Os exemplos contidos nesta colecção de slides
são maioritariamente normas deste tipo
Algumas normas de jure começaram por ser
normas de facto
Ex: o JavaScript da Netscape foi normalizado pela ECMA com o nome ECMAScript
© Fernando Brito e Abreu 7 04-06-2007
de jure ou de facto?
de facto é também uma expressão em Latim
que significa “na prática”
Este termo é usado para normas cuja adopção é
uma prática estabelecida, mas que não são
regulamentadas “oficialmente”
Os criadores destas normas são empresas
Ex: Sun, Microsoft, Netscape
Tem-se formados consórcios de empresas com
intuito de produzir normas de facto mais “fortes”
Ex: OMG, W3C
Organismos de normalização
CEN / Organismos Nacionais de Normalização Sectoriais ... BSI AFNOR DIN IPQ IEEE ANSI ISO / IEC Inter-Governamentais CE EFTA Organismos Militares DoD NATO CENELEC Organismos Internacionais e I I de Normalização Organismos (FIPS) Organismos Representativos dos Fabricantes ECMA NTIS© Fernando Brito e Abreu 9 04-06-2007
Contactos
Instituto Português da Qualidade (IPQ)
Monte da Caparica, Portugal http://www.ipq.pt Comité Europeu de Normalização (CEN) Bruxelles, Belgique http://www.cenorm.be International Organization for Standardization (ISO) Genève, Suisse http://www.iso.org
Institute of Electrical and Electronics Engineers (IEEE)
New York, USA http://www.ieee.com
National Technical
Information Service (NTIS)
Springfield, USA http://www.ntis.gov
Institution of Engineering and Technology (IET)
Stevenage, United Kingdom http://www.theiet.org/
© Fernando Brito e Abreu 10 04-06-2007
Comités Técnicos
(ISO/IEC JTC1)
SC1 Vocabulary
SC2 Character Set & Information Coding
SC6 Telecommunications & Information Exchange Between Systems
SC7 Software Engineering
SC11 Flexible Magnetic Media for Digital Data Interchange SC14 Representation of Data Elements
SC15 Labelling and File Structure
SC17 Identification Cards & Related Devices
SC18 Document Processing and Related Communication SC21 Information Retrieval, Transfer & Management for OSI SC22 Programming Languages
SC23 Optical Disk Cartridges for Information Interchange SC24 Computer Graphics and Image Processing
SC25 Interconnection of Information Technology Equipment SC26 Microprocessor Systems
SC27 IT Security Techniques SC28 Office Equipment
© Fernando Brito e Abreu 11 04-06-2007
Grupos Trabalho em Eng.ª Software
(ISO/IEC JTC1 SC7)
WG2 BSI Software System Documentation
Documentação de sistemas de software
WG4 SCC Tools and Environment Avaliação, selecção e adopção de ferramentas CASE e am-bientes de desenvolvimento
WG6 JISC Evaluation and Metrics Avaliação e métricas para produtos e processos de desen-volvimento
WG7 ANSI Life Cycle Management Definição e comparação de ciclos de vida para desenvolvi-mento e manutenção de sistemas
WG8 ANSI Support of Life Cycle Processes
Actividades de apoio ao desenvolvimento de software (gestão de configurações, verificação e validação, revisões formais, auditorias, ...)
WG9 ANSI Classification & Mapping
Classificação, correspondência e taxonomia das normas pertinentes à Engenharia de Software
WG10 BSI Process Assessment Avaliação do processo de desenvolvimento, entrega, operação, evolução e outros serviços (Ex: SPICE)
WG11 ANSI Data Definition Dados utilizados e produzidos por processos de engenharia de software; estabelecimento de representações e formatos para a troca de dados
WG12 ABS Function Points ... Produção de uma versão normalizada dos Pontos de Função para evitar a proliferação de variantes
Membros nacionais do
AENOR
AFNOR
BSI
COSMT
DIN
DS
ELOT
IBN/BIN
IPQ
NNI
NSAI
NSF
ON
SEE
SIS
SFS
SNV
STRI
UNI
© Fernando Brito e Abreu 13 04-06-2007
Comités técnicos do
CEN/TC 224 "Machinereadable cards, related device interfaces and operations"
CEN/TC 225 "Bar coding" CEN/TC 247 "Controls for mechanical building services" CEN/TC 251 "Medical
informatics"
CEN/TC 278 "Road transport and traffic telematics"
CEN/TC 287 "Geographic Information"
CEN/TC 294 "Communication systems for meters and
remote reading of meters" CEN/TC 304 "Character Set Technology"
CEN/TC 310 "Advanced Manufacturing Technologies" CEN/TC 311 "Information Systems Engineering (ISE)"
© Fernando Brito e Abreu 14 04-06-2007
A normalização em Portugal
ONN - Instituto Português da Qualidade
Cerca de 40 Organismos de Normalização Sectorial ONS para TIC - Instituto de Informática (Min.das Finanças) domínio: "Computadores e Tratamento da Informação”
desde 30 de Setembro de 1987
ONN ( IPQ )
ONS (1) ONS (2) ONS (3) ONS (N)
Comissões
© Fernando Brito e Abreu 15 04-06-2007
Organismos nacionais e
sectoriais de normalização
Funções dos ONS:
organização e dinamização das actividades de
normalização nacionais
assegurar o funcionamento produtivo das Comissões
Técnicas (CTs) sob a sua coordenação
divulgar projectos de normas e documentação relevante junto das CTs e outras entidades interessadas de molde a propor a aprovação de
normas portuguesas
elaboração do plano de normalização sectorial
acompanhar e participar nos trabalhos das
organizações internacionais e regionais relevantes
voto português em foros internacionais
Comissões Técnicas na área das TIC
ISO/IEC JTC1
CT107 SC6 Telecomunicações e Comunicação da Informação
CT108 SC21 Recuperação, Transfer. e Gestão da Informação segundo Modelo OSI CT109 SC24 Computação Gráfica
CT110 SC17, TC 68 Meios Electrónicos de Pagamento, EDI / EDIFACT CT113 SC2 Terminologia Informática
CT120 SC29 WG11 Codificação de Imagem, Áudio e Informação Multimédia
CT128 SC7 Engenharia de Software e Sistemas de Informação
São dirigidas por um Presidente, coadjuvado por um secretário
Podem subdividir-se em Subcomissões que, por sua vez, podem ser divididas em Grupos de Trabalho
© Fernando Brito e Abreu 17 04-06-2007
CT113
(Terminologia Informática)Presidente: Dr.ª Ana Maria Martinho (Centro de Informática do
Ministério da Justiça)
Equivalente da ISO/IEC: SC1 - Vocabulary
Estatuto na SC da ISO/IEC: Membro Observador
CT107
(Telecomunicações e Comunicação de Informação)Presidente: Prof. Boavida Fernandes (Dep. Engª Electrónica
da Universidade de Coimbra)
Equivalente da ISO/IEC: SC6 - Telecommunications and
Information Exchange Between Systems
Estatuto na SC da ISO/IEC: Membro Observador
Comissões Técnicas na área das TIC
© Fernando Brito e Abreu 18 04-06-2007
CT110
(Meios Electrónicos de Pagamento)Presidente: Eng.º Manuel Garcia (S.I.B.S.)
Equivalente da ISO/IEC: SC17 - Identification Cards and
Related Devices
Estatuto na SC da ISO/IEC: Membro Permanente
CT108
(Recuperação, Transferência e Gestão da Informação segundo o Modelo OSI)Presidente: Prof. Boavida Fernandes (Dep. de Engª
Electrónica da Universidade de Coimbra)
Equivalente da ISO/IEC: SC21 - Information Retrieval,
Transfer and Management for Open Systems Interconnection (OSI)
Estatuto na SC da ISO/IEC: Membro Observador
© Fernando Brito e Abreu 19 04-06-2007
CT109
(Computação Gráfica)Presidente: Eng.º José Carlos Gouveia Teixeira (Dep.
Matemática da FCT/Universidade de Coimbra)
Equivalente da ISO/IEC: SC24 - Computer Graphics and
Image Processing
Estatuto na SC da ISO/IEC: Membro Observador
CT120 (
Codificação de Imagem, Áudio e Informação Multimédia)Presidente: Prof. Pimenta Alves (INESC - Porto)
Equivalente da ISO/IEC: SC29 - Coded Representation of
Picture, Audio and Multimedia / Hypermedia Information
Estatuto na SC da ISO/IEC: Membro Permanente
Comissões Técnicas na área das TIC
CT128 (Engenharia de Software e Sistemas de
Informação)
Presidente: Prof. Dr. Ricardo Machado (Univ. Minho)
Equivalente da ISO/IEC: SC7 - Software
Engineering
Equivalente do CEN/CENELEC: TC 311
-Information Systems Engineering
Estatuto na SC da ISO/IEC: Membro Observador
© Fernando Brito e Abreu 21 04-06-2007
Como se produz uma norma ?
Etapa de Proposta - no caso da ISO, o processo começa
quando os membros do comité votam a criação de um projecto de norma e é nomeado um gestor do projecto
Etapa Preparatória - o gestor do projecto produz um
"Working Draft" (WD)
Etapa do Comité - é conseguido um consenso sobre um
"Committee Draft" (CD)
Etapa de Aprovação - os países representados votam o
"Draft International Standard" (DIS)
Etapa de Publicação - a ISO publica a Norma depois de
aprovada por pelo menos 75% dos países votantes
NORMA
PROPOSTA WD CD DIS
© Fernando Brito e Abreu 22 04-06-2007
Como se produz uma norma ?
A produção de Normas é um processo de consenso
longo e difícil (ex: no IEEE
≈ 3 anos).
As normas têm que ser (e são) revistas
periodicamente para verificar a sua validade e
eventualmente modificá-las (ex: no IEEE todos os 5
anos).
Veja-se seguidamente o exemplo da evolução da
ISO9000:1994 para a ISO9000:2000
NORMA
© Fernando Brito e Abreu 23 04-06-2007 CD2 DIS FDIS Translation Adoption ISO 9001: 2000 Certification National Standardisation Bodies Accreditation Bodies Certification Bodies Trainers Auditor upgrade Certified Organisations
End of 2000 End of 2001 End of 2002
National Standards Released
ISO 9001: 1994 to 2000 Transition Model
Sector Schemes ISO 2000 1994 co-existence International Standard End of 1999
New Standard Transition
Accreditation Update Transition
Certification Update Transition
Jan. 28, 1999
Normas em Engenharia de Software
Existem muitas normas em várias áreas, como:
Terminologia e Taxinomia
Gestão de Projectos, Ciclo de Vida
Planos de Garantia da Qualidade
Análise e Desenho
Verificação e Validação
Gestão de Configurações
Métricas de Software
Documentação para Utilizadores
Usabilidade
© Fernando Brito e Abreu 25 04-06-2007
Normas ANSI/IEEE
See "IEEE Software Engineering Standards Collection”
http://standards.ieee.org/software/
Std 729 : "Glossary of Software Engineering Terminology" Std 730 : "Software Quality Assurance Plans"
Std 828 : "Software Configuration Management Plans" Std 829 : "Software Test Documentation"
Std 830 : "Guide for Software Requirements Specifications" Std 982.1 : "Dictionary of Measures to Produce Reliable Software" Std 982.2 : "Guide for the Use of 982.1"
Std 983 : "Guide for Software Quality Assurance Planning" Std 1002 : "Taxonomy for Software Engineering Standards" Std 1008 : "Software Unit Testing“
© Fernando Brito e Abreu 26 04-06-2007
Normas ANSI/IEEE
Std 1012 : "Standard for Software Verification and Validation Plans" Std 1016 : "Recommended Practice for Software Design
Descriptions"
Std 1028 : "Standard for Software Reviews and Audits" Std 1042 : "Guide for Software Configuration Management" Std 1044 : "Classification for Software Errors, Faults and Failures" Std 1045 : "Standard for Software Productivity Metrics"
Std 1058.1 : "Standard for Software Project Management Plans" Std 1061 : "Standard for a Software Quality Metrics Methodology" Std 1063 : "Standard for Software User Documentation"
© Fernando Brito e Abreu 27 04-06-2007
Normas ISO/IEC
ISO/IEC 2382 : "Information Technology - Vocabulary"
Part 1 : "Fundamental Terms"
Part 2 : "Arithmetic and logic operations"
Part 7 : "Computer programming"
Part 8 : "Control, integrity and security"
Part 10 : "Operating techniques and facilities"
Part 14 : "Reliability, maintenance and availability"
Part 15 : "Programming languages"
ISO 6385 : "Ergonomic Principles of the Design of Work Systems"
ISO 6592 : "Information Processing - Guidelines for the Documentation of Computer-based Application
Systems“
ISO 8402 : "Quality - Vocabulary"
Normas ISO/IEC
ISO 9000 : "Quality Management and Quality Assurance Standards"
Part 1: Guidelines for selection and use
Part 2: Guidelines for the application of ISO 9001, 9002 e 9003
Part 3:Guidelines for the application of ISO 9001 to the development,
supply and maintenance of software
ISO 9001 - "Quality Systems - Model for Quality Assurance in Design / Development, Production, Installation and Servicing"
ISO 9002 - "Quality Systems - Model for Quality Assurance in Production and Installation"
ISO 9003 - "Quality Systems - Model for Quality Assurance in Control and Final Tests"
ISO 9004 "Quality Management and Quality System Elements
-Guidelines"
Part 2 : "Guidelines for Services"
© Fernando Brito e Abreu 29 04-06-2007
Normas ISO/IEC
ISO 9126 - "Information Technology - Software Product Evaluation - Quality Characteristics and Guidelines for their use"
ISO 9127 - "Information Processing Systems - User Documentation and Cover Information for Consumer Software Packages"
ISO 10011 - "Guidelines for Auditing Quality Systems"
Part 1 : "Auditing"
Part 2 : "Qualification Criteria for Quality Systems Auditors"
Part 3 (1991) : "Management of Audit Programmes"
ISO 10012 - "Quality Assurance Requirements for Measurement Equipment“
© Fernando Brito e Abreu 30 04-06-2007
ISO/IEC 9241 - Usabilidade
Part 1: General introduction Part 2: Guidance on task
requirements
Part 3: Visual display requirements
Part 4: Keyboard requirements Part 5: Workstation layout and
postural requirements
Part 6: Guidance on the work environment
Part 7: Requirements for display with reflections
Part 8: Requirements for displayed colours
Part 9: Requirements for non-keyboard input devices Part 10: ??
Part 11: Guidance on usability Part 12: Presentation of
information
Part 13: User guidance Part 14: Menu dialogues Part 15: Command dialogues Part 16: Direct manipulation
dialogues
Part 17: Form filling dialogues
Título: Ergonomic requirements for office work with visual
display terminals (VDTs)
© Fernando Brito e Abreu 31 04-06-2007
Guias ISO / IEC
ISO/IEC Guide 2: "General terms and their definitions concerning
standardisation and related activities"
ISO/IEC Guide 16: "Code of principles on third party certification systems and related standards"
ISO/IEC Guide 22: "Information on manufacturer's declaration of conformity with standards or other technical specifications"
ISO/IEC Guide 23: "Method of indicating conformity with standards for third party certification systems"
ISO/IEC Guide 28: "General rules for a model for third party certification systems for products"
ISO/IEC Guide 38: "General requirements for the acceptance of testing laboratories"
ISO/IEC Guide 40: "General requirements for the acceptance of certification bodies"
ISO/IEC Guide 44: "General rules for ISO or IEC international third party certification schemes for products"
ISO/IEC Guide 45: "Guidelines for the presentation of test results"
ISO/IEC Guide 48: "Guidelines for third party assessment and registration of a suppliers Quality System"
ISO/IEC Guide 54: "Testing laboratory accreditation system - General
recommendations for the acceptance of accreditation bodies"
Normas CEN / CENELEC
EN 45012: "General criteria for certification bodies operating Quality System Certification"
© Fernando Brito e Abreu 33 04-06-2007
Normas DoD
Mil Std 480B,481B,482A,483A : "Configuration Management" Mil Std 490A : "Specification Practices"
Mil Std 499A : "System Engineering"
Mil Std 881A : "Work Breakdown Structure"
Mil Std 1521B : "Technical Reviews and Audits for Systems, Equipment and Computer Software"
Mil Std 1679 : "Software Quality Assessment"
Mil Std 2168 : "Software Quality Program" Mil Std 2167 A : "Defense System Software Development" adoptada em muitas organizações (USA/Europa) que desenvolvem sw para sistemas de defesa bem como outras críticas de tempo real como o controlo de tráfego aéreo
Exemplos: Thomson-CSF,
Selenia, Marconi, Philips ou Siemens
© Fernando Brito e Abreu 34 04-06-2007
Normas NATO
AQAP 13 : "Software Quality Control System Requirements" AQAP 14 : "Guide for the Evaluation of the Quality Control
System of a Contractor"
AQAP 15 : "Glossary of Terms used in QA STANAG's and AQAP's"
AQAP 150 : "Requirements for Quality Management of Software Development"
AQAP = Allied Quality Assurance Publication STANAG = STAndardization Nato Agreement
© Fernando Brito e Abreu 35 04-06-2007