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) Resumo O PAPEL DA NORMALIZAÇÃO ORGANISMOS DE NORMALIZAÇÃO COMITÉS TÉCNICOS NORMAS EM ENGENHARIA DE SOFTWARE COMO SE PRODUZ UMA NORMA? EXEMPLOS DE NORMAS COMO OBTER NORMAS? Fernando Brito e Abreu 2 1
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 Fernando Brito e Abreu 3 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 4 2
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 5 Organismos de normalização IEEE NTIS (FIPS) I I Organismos de Normalização Sectoriais ANSI IPQ AFNOR DIN... BSI Organismos de Normalização Nacionais CEN / CENELEC CE ECMA Organismos Representativos dos Fabricantes Organismos Internacionais e ISO / IEC Inter-Governamentais Organismos Militares EFTA DoD NATO Fernando Brito e Abreu 6 3
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 7 SC1 SC2 SC6 SC7 SC11 SC14 SC15 SC17 SC18 SC21 SC22 SC23 SC24 SC25 SC26 SC27 SC28 SC29 Comités Técnicos (ISO/IEC JTC1) Vocabulary Character Set & Information Coding Telecommunications & Information Exchange Between Systems Software Engineering Flexible Magnetic Media for Digital Data Interchange Representation of Data Elements Labelling and File Structure Identification Cards & Related Devices Document Processing and Related Communication Information Retrieval, Transfer & Management for OSI Programming Languages Optical Disk Cartridges for Information Interchange Computer Graphics and Image Processing Interconnection of Information Technology Equipment Microprocessor Systems IT Security Techniques Office Equipment Coded Representation of Picture, Audio and Multimedia / Hypermedia Information Fernando Brito e Abreu 8 4
Grupos Trabalho em Eng.ª Software (ISO/IEC JTC1 SC7) WG2 BSI Software System Documentação de sistemas de software Documentation WG4 SCC Tools and Environment Avaliação, selecção e adopção de ferramentas CASE e ambientes de desenvolvimento WG6 JISC Evaluation and Metrics Avaliação e métricas para produtos e processos de desenvolvimento WG7 ANSI Life Cycle Management Definição e comparação de ciclos de vida para desenvolvimento e manutenção de sistemas WG8 ANSI Support of Life Cycle Actividades de apoio ao desenvolvimento de software Processes (gestão de configurações, verificação e validação, revisões formais, auditorias,...) Classificação, correspondência e taxonomia das normas pertinentes à Engenharia de Software WG9 ANSI Classification & Mapping 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 Fernando Brito e Abreu 9 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 10 5
Comités técnicos do CEN/TC 224 "Machine readable 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 11 A normalização em Portugal ONN ( IPQ ) ONS (1) ONS (2) ONS (3) ONS (N) Comissões Técnicas Comissões Comissões Comissões Técnicas Técnicas Técnicas 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 Fernando Brito e Abreu 12 6
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 Fernando Brito e Abreu 13 Comissões Técnicas na área das TIC 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 ISO/IEC JTC1 CT107 SC6 CT108 SC21 CT109 SC24 CT110 SC17, TC 68 CT113 SC2 CT120 SC29 WG11 CT128 SC7 Telecomunicações e Comunicação da Informação Recuperação, Transfer. e Gestão da Informação segundo Modelo OSI Computação Gráfica Meios Electrónicos de Pagamento, EDI / EDIFACT Terminologia Informática Codificação de Imagem, Áudio e Informação Multimédia Engenharia de Software e Sistemas de Informação Fernando Brito e Abreu 14 7
Comissões Técnicas na área das TIC 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 Fernando Brito e Abreu 15 Comissões Técnicas na área das TIC 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 16 8
Comissões Técnicas na área das TIC 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 Fernando Brito e Abreu 17 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 18 9
Como se produz uma norma? PROPOSTA WD CD DIS 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 Fernando Brito e Abreu 19 Como se produz uma norma? PROPOSTA WD CD DIS 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 Fernando Brito e Abreu 20 10
ISO 9001: 1994 to 2000 Transition Model ISO 2000 1994 co-existence National Standardisation Bodies Accreditation Bodies Certification Bodies End of 1999 CD2 DIS FDIS New Standard Transition Accreditation Update Transition End of 2000 End of 2001 End of 2002 Translation International Standard Adoption National Standards Released ISO 9001: 2000 Certification Trainers Auditor upgrade Certified Organisations Sector Schemes Certification Update Transition Fernando Brito e Abreu Jan. 28, 199921 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... Fernando Brito e Abreu 22 11
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 23 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" Std 1074 : "Standard for Software Life-Cycle Processes" Fernando Brito e Abreu 24 12
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" Fernando Brito e Abreu 25 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" Part 6 : "Configuration Management Fernando Brito e Abreu 26 13
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 27 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" Fernando Brito e Abreu 28 14
Normas CEN / CENELEC EN 45012: "General criteria for certification bodies operating Quality System Certification" EN 45015: "Accreditation body rules" Fernando Brito e Abreu 29 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 Si Fernando Brito e Abreu 30 15
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 31 Conclusão "The wonderful thing about standards is...... there are so many to choose from! (autor desconhecido) Fernando Brito e Abreu 32 16