Software Engineering Standards Introduction

Software Engineering Standards Introduction

6/21/2008 Software Engineering Standards Introduction 1028 9126 730 12207 9000 CMM 15288 CMMI J-016 1679 Outline 1. Definitions 2. Sources of Standards 3. Why Use Standards ? 4. ISO and Software Engineering Standards 5. IEEE Software Engineering Collection Sources: IEEE Standards, Software Engineering, Volume Three: Product Standards, Introduction to the1999 Edition, pages i to xxiii. Horch, J., ‘Practical Guide to Software Quality management’, Artech House, 1996, chap 2. Wells, J., ‘An Introduction to IEEE/EIA 12207’, US DoD, SEPO, 1999. Moore, J., ‘Selecting Software Engineering Standards’, QAI Conference, 1998. Moore, J., ‘The Road Map to Software Engineering: A Standards-Based Guide’, Wiley-IEEE Computer Society Press, 2006. Moore, J.,’An Integrated Collection of Software Engineering Standards’, IEEE Software, Nov 1999. Gray, L., ‘Guidebook to IEEE/EIA 12207 Standard for Information Technology, Software Life Cycle Processes’, Abelia Corporation, Fairfax, Virginia, 2000. Coallier, F.; International Standardization in Software and Systems Engineering, Crosstalk, February 2003, pp. 18-22. 6/21/2008 2 1 6/21/2008 Exemple d’un système complexe Système de transport aérien Système de transport Système de Transport Aérien terrestre Système de Système de gestion du trafic réservation aérien Système Système aéroportuaire de distribution du kérosène SystèmeSystème avionique avion Système de Système de gestion de la Structure vie à bord SystèmeSystème de de équipage propulsionpropulsion Système SystèmeNavigation de de SystèmeVisualisation Système de navigationsystem de visualisation contrôle de vol SystèmeSystème de de réception réception Système de GPSGPS transport terrestremaritime 6/21/2008 3 Toward a Software Engineering Profession • What does it take ? 1. Body of Knowledge (e.g. SWEBOK) 2. Standards 3. ‘Best practices’ (i.e. techniques proven to work) 4. Education 5. Code of Ethics 6. Certification mechanism 7. Licensing mechanism Source: Steve McConnel, 1999 6/21/2008 4 2 6/21/2008 Standard: Définition • Mandatory requirements employed and enforced to prescribe a disciplined uniform approach to software development, that is, mandatory conventions and practices are in fact standards. (ISO/IEC 24765, Systems and Software Engineering Vocabulary) http://pascal.computer.org/sev_display/index.action 6/21/2008 5 Standard: Définition • Formal mandatory requirements developed and used to prescribe consistent approaches to development (e.g., ISO/IEC standards, IEEE standards, and organizational standards). (source: CMMI) – Normative: “prescribing a norm or standard” (Webster) – Informative: Tell users something useful about the standard itself, or provide information that complements the normative parts (source: Gray 2000) Evaluation de la conformité Intrant Extrant 6/21/2008 Processus 6 3 6/21/2008 Normes et Standards • Norme de jure – Norme définie et adoptée par une organisation officielle de normalisation, sur le plan national ou international. • Norme de facto – Norme qui n’a pas été définie ni entérinée par un organisme officiel de normalisation mais qui s’est imposée par la force des choses, parce qu’elle fait consensus auprès des utilisateurs, d’un groupe d’entreprises ou encore d’un consortium Adapté de F Coallier 6/21/2008 7 Normes/Standards ouverts •Sa définition est accessible à tous, • Son utilisation n’est pas sujette à des redevances de la part d’un propriétaire, • Au moins une implémentation de référence existe, • Il est possible de vérifier la conformité d’un système/processus à ce standard Adapté de F Coallier 6/21/2008 8 4 6/21/2008 Software engineering: Definition (1) The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software, that is, the application of engineering to software. -- IEEE Std 610.12 6/21/2008 9 Software engineering standards • Approximately 315 software engineering standards, guides, handbooks, and technical reports are maintained by approximately 46 professional, sector, national, and international standards organizations. • In 1981, IEEE had one software engineering standard. By year end 1997, the collection had grown to 44. Source: Moore 98 6/21/2008 10 5 6/21/2008 Roles of Software Engineering Standards 1. Specify techniques to develop software faster, cheaper, More better, IEEE 982.1 (Measures for Reliable SW) exciting 2. Provide consensus validity for “best practices”that cannot be scientifically validated, IEEE 1008 (Unit Testing) 3. Provide a systematic treatment of “ilities”, IEEE 730 (SW Quality Assurance) 4. Provide uniformity in cases where agreement is more important than small improvements, IEEE P1320.1 (IDEF0) 5. Provide a framework for communication between buyer and seller, IEEE/EIA 12207 (SW Life Cycle Processes) 6. Give precise names to concepts that are fuzzy, complex, detailed and multidimensional, IEEE 1028 (SW Reviews) More Source: J Moore 98 6/21/2008 effective11 Software Engineering Standards - Scope Process Technique/Tool Applicability 1. Acquisition 1. CASE tools 1. General 2. Requirements 2. Languages and 2. Defense definition Notations 3. Financial 3. Design 3. Metrics 4. Medical 4. Code and Test 4. Privacy 5. Nuclear 5. Integration 5. Process 6. Process Control Improvement 6. Maintenance and 7. Scientific Operations 6. Reliability 8. Shrink-wrap 7. CM 7. Safety 9. Transportation 8. Documentation 8. Security 9. Project Management 9. Software reuse 10. Quality Assurance 10. Vocabulary 11. V & V Most software engineering standards are practice standards rather than the more familiar product standards in other fields (e.g. chemistry). 6/21/2008 12 Source: Moore 98 6 6/21/2008 Software Engineering Standards Organizational Goals 1. Improve and evaluate software competence 2. Framework for two-party agreements 3. Evaluation of software products 4. Assurance of high integrity levels for software products Source: Moore 05 6/21/2008 13 Why Use Standards? 1. Establish uniform requirements and vocabulary for development and documentation 2. Define a common framework for software life cycle processes 3. Clarify the roles and interfaces of participants 4. Clarify the types and contents of documentation 5. Identify the tasks, phases, baselines, reviews, and documents needed 6. Follow the lessons learned and proven (best) practices of the industry 7. Avoid the pitfalls and problems of the past 8. Save time and $ by not reinventing the wheel again (NRH vs. NIH). 9. Select a supplier or a developer (e.g. ISO 9000) 10. Impose requirements in a contract 11. Impose a trade barrier ! 6/21/2008 (NRH= Not Re-Invented Here; NIH = Not Invented here) 14 7 6/21/2008 Software Engineering Standards in Courts (US) • Courts generally view the application of standards as important evidence that engineers performed their work with appropriate diligence and responsibility. •If suedfor negligence or reckless conduct, an engineer can cite the standards used when he or she conducted the work to demonstrate that it was performed in accordance with codified professional practices. Moore, J.,’An Integrated Collection of Software Engineering Standards’, IEEE Software, Nov 1999. 6/21/2008 15 The Frameworks Quagmire People CMM SDCE SCE PSP DOD- DOD- DOD- STD- STD- SW-CMM STD- 2167A 2168 CBA IPI TSP 7935A Process Stds Quality Stds SCAMPI ISO/IEC Maturity or CMMI Capability J-STD MIL-STD- 15504 Models ISO 016 498 FAA- Appraisal 15939* # SA- iCMM methods CMM SSE- RTCA Guidelines PSM CMM DO-178B FAM** IEEE/EIA Six IPD- 12207 Sigma CMM* SE-CMM Baldrige SECAM ISO 9000 ISO/IEC EIA/IS SAM series 12207 731 IEEE Q9000 EIA/IS 1220 MIL-STD 632 499B* TL9000 ISO/IEC 15288* EIA 632 Italic = obsolete boxed = integrating *not released **based on CBA IPI, SAM, and others supersedes # Source: Sarah Sheard, SPC V2 also based on many others based on 6/21/2008 See www.software.org/quagmire uses/references 16 8 6/21/2008 Sources of Standards 1. Within an organization – Documented from day-to-day activities 2. From consultants mandated to develop them 3. From manufacturers’ user groups (e.g. IBM) 4. From a group of companies working together (e.g. Telecom) 5. From professional groups (e.g. IEEE) 6. From government agencies (e.g. NASA, Transport) 7. From Standards Organizations (e.g. ISO) 8. From Countries (e.g. Conseil canadien des normes) 6/21/2008 17 Outline 1. Definitions 2. Sources of Standards 3. Why Use Standards ? 4. ISO and Software Engineering Standards • Name of organization ISO comes from ‘ISOS’ a greek word ‘Equal’ 5. IEEE Software Engineering Collection 6/21/2008 18 9 6/21/2008 International Software Standards Developers ISO IEC ITU TC176 JTC1 TC56 SC65A Quality Information Technology Dependability Functional Safety SC1 SC7 SC22 Terminology Software Language, OS Engineering WG7 Other WGs WG9 WG15 Life cycle processes Ada POSIX Members of these committees are “national bodies,” i.e. countries, represented by “national delegations.” 6/21/2008 19 International Organization For Standardization • ESTABLISHED: 1947 • OBJECT: Promote the development of standardization ... in the world ... to facilitating international exchange of goods and services • MEMBERS: 148 countries • Over 14,000 Standards • TECHNICAL COMMITTEES (TCs): Carry out technical work • TCs THAT MAY IMPACT SOFTWARE ENGINEERING: - TC 10: Technical Drawings - TC 20: Space and aircraft vehicles - TC 46: Information and documentation - TC 145: Graphical symbols - TC 154: Documents and data elements in administration, commerce and industry - TC 159: Ergonomics - TC 176: Quality management and quality

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    23 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us