1、Software and systems engineering Methods and tools for variability mechanisms in software and systems product line Ingnierie du logiciel et des systmes Mthodes et outils pour les mcanismes de variabilit dans les chanes de production de logiciels et de systmes INTERNATIONAL STANDARD ISO/IEC 26557 Ref
2、erence number ISO/IEC 26557:2016(E) First edition 2016-12-15 ISO/IEC 2016 ii ISO/IEC 2016 All rights reserved COPYRIGHT PROTECTED DOCUMENT ISO/IEC 2016, Published in Switzerland All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in an
3、y form or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below or ISOs member body in the country of the requester. ISO copyright office Ch. de Bla
4、ndonnet 8 CP 401 CH-1214 Vernier, Geneva, Switzerland Tel. +41 22 749 01 11 Fax +41 22 749 09 47 copyrightiso.org www.iso.org ISO/IEC 26557:2016(E) ISO/IEC 26557:2016(E)Foreword vi Introduction vii 1 Scope . 1 2 Normative references 1 3 T erms and definitions . 1 4 Variability mechanisms for softwar
5、e and systems product line (SSPL) .3 4.1 Overview 3 4.2 Reference model for variability mechanisms in product line. 6 5 Variability mechanism management 8 5.1 Variability mechanism planning 9 5.1.1 Purpose of variability mechanism planning 9 5.1.2 Estimate adequate resources needed for variability m
6、echanism operationalization 9 5.1.3 Assign responsibility for variability mechanism operationalization 10 5.1.4 Defining quality assurance measures for variability mechanism operationalization .10 5.2 Variability mechanism enabling11 5.2.1 Purpose of variability mechanism enabling 11 5.2.2 Enable va
7、riability mechanism pool 12 5.2.3 Provide guidance for variability mechanism operationalization 12 5.2.4 Enable measurement infrastructure for quantifying variability mechanism operationalization .12 5.2.5 Procure resources needed to perform variability mechanism operationalization .13 5.3 Variabili
8、ty mechanism tracking.13 5.3.1 Purpose of variability mechanism tracking .13 5.3.2 Review the plan versus actual of variability mechanism operationalization .14 5.3.3 Assess issues in variability mechanism operationalization 14 5.3.4 Make corrective actions for variability mechanism operationalizati
9、on .15 6 Variability mechanism operationalization 15 6.1 Variability mechanism operationalization for requirements 16 6.1.1 Purpose of variability mechanism operationalization for requirements 16 6.1.2 Categorize requirements variability 16 6.1.3 Assess requirements level variability mechanism 17 6.
10、1.4 Specify requirements level variability mechanism .17 6.1.5 Prepare bindings at requirements level .18 6.1.6 Verify requirements level variability mechanism 18 6.2 Variability mechanism operationalization for design 19 6.2.1 Purpose of variability mechanisms in domain design .19 6.2.2 Make archit
11、ectural decisions on binding times20 6.2.3 Assess variability mechanisms depending on the binding time 20 6.2.4 Define guides and rules on variability mechanisms in architectural texture .20 6.2.5 Specify architectural variability mechanisms 21 6.2.6 Prepare bindings at architecture level .21 6.2.7
12、Verify architectural variability mechanisms .22 6.3 Variability mechanism operationalization for realization .22 6.3.1 Purpose of variability mechanisms in domain realization .22 6.3.2 Examine architectural decisions and architectural texture on realization .23 6.3.3 Assess detailed design level var
13、iability mechanisms 24 6.3.4 Specify detailed design level variability mechanisms 24 6.3.5 Define post-detailed design guides on variability mechanisms 25 6.3.6 Verify detailed design level variability mechanisms 25 ISO/IEC 2016 All rights reserved iii Contents Page ISO/IEC 26557:2016(E)6.3.7 Assess
14、 implementation level variability mechanisms 26 6.3.8 Specify implementation level variability mechanisms 26 6.3.9 Enable implementation level configurability .26 6.3.10 Prepare bindings at realization time .27 6.3.11 Verify implementation level variability mechanisms27 6.4 Variability mechanism ope
15、rationalization at compile time 28 6.4.1 Purpose of variability mechanism operationalization at compile time 28 6.4.2 Examine architectural decisions and architectural texture on compile time .28 6.4.3 Assess compile time variability mechanisms.29 6.4.4 Specify compile time variability mechanisms .2
16、9 6.4.5 Enable compile time configurability 30 6.4.6 Prepare bindings at compile time 30 6.4.7 Verify compile time variability mechanisms 30 6.5 Variability mechanism operationalization at post-compile time .31 6.5.1 Purpose of variability mechanism operationalization at post-compile time .31 6.5.2
17、Examine architectural decisions and architectural texture affecting post- compile time .32 6.5.3 Assess post-compile time variability mechanisms .32 6.5.4 Specify link time variability mechanisms 32 6.5.5 Specify load time variability mechanisms 33 6.5.6 Specify deployment time variability mechanism
18、s .33 6.5.7 Enable post-compile time configurability .33 6.5.8 Prepare bindings at post-compile time .34 6.5.9 Verify post-compile time variability mechanism 34 6.6 Variability mechanism operationalization at run time .35 6.6.1 Purpose of variability mechanism operationalization at run time .35 6.6.
19、2 Examine architectural decisions and architectural texture affecting run time reconfiguration 35 6.6.3 Assess run time variability mechanism 36 6.6.4 Enable run time configurability .36 6.6.5 Prepare bindings at run time .36 6.6.6 Verify run time variability mechanism 37 6.7 Variability mechanism o
20、perationalization for test artefacts 37 6.7.1 Purpose of variability mechanism operationalization for test artefacts 37 6.7.2 Examine test strategy on variability mechanisms .38 6.7.3 Assess the decisions on variability mechanisms of requirements, architecture and realization 38 6.7.4 Specify variab
21、ility mechanisms in each test level 39 6.7.5 Enable reusability in testing .39 6.7.6 Prepare bindings at test stage .39 6.7.7 Verify variability mechanism operationalization for test artefacts 40 7 Variability mechanism support .40 7.1 Relating variability mechanism to variability model 41 7.1.1 Pur
22、pose of relating variability mechanism to variability model .41 7.1.2 Relate variability mechanism to variability model .41 7.1.3 Add annotation to relationship 42 7.2 Quality assurance for variability mechanism 42 7.2.1 Purpose of quality assurance for variability mechanism 42 7.2.2 Objectively eva
23、luate variability mechanism activities .43 7.2.3 Objectively evaluate variability mechanism work products .43 7.2.4 Communicate and resolve non-compliance issues44 7.2.5 Establish records of variability mechanism quality assurance activities 44 7.3 Binding time decision support .44 7.3.1 Purpose of
24、binding time decision support .44 7.3.2 Determine the value of decision variables on a decision table .45 7.3.3 Specify decisions on binding time .45 7.3.4 Verify the decision table .45 7.4 Application configuration support .46 iv ISO/IEC 2016 All rights reserved ISO/IEC 26557:2016(E)7.4.1 Purpose o
25、f application configuration support 46 7.4.2 Support realizing configurability 46 7.4.3 Apply decision rules for configuration 47 7.4.4 Improve configurability 47 Annex A (informative) Variability mechanisms in software development activities 48 Annex B (informative) Binding time decision from varia
26、bility types .49 Bibliography .50 ISO/IEC 2016 All rights reserved v ISO/IEC 26557:2016(E) Foreword ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are mem
27、bers of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international or
28、ganizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1. The procedures used to develop this document and those intended for its further ma
29、intenance are described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for the different types of ISO documents should be noted. This document was drafted in accordance with the editorial rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives). A
30、ttention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO shall not be held responsible for identifying any or all such patent rights. Details of any patent rights identified during the development of the document will be in the Introduc
31、tion and/or on the ISO list of patent declarations received (see www.iso.org/patents). Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement. For an explanation on the meaning of ISO specific terms and expressions related to con
32、formit y assessment, as well as information about ISOs adherence to the World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT) see the following URL: www.iso.org/iso/foreword.html. The committee responsible for this document is ISO/IEC JTC 1, Information technology, Subco
33、mmittee SC 7, Software and systems engineering.vi ISO/IEC 2016 All rights reserved ISO/IEC 26557:2016(E) Introduction Software and systems product line (SSPL) engineering and management creates, exploits and manages a common platform to develop a family of products (e.g. software products, systems a
34、rchitectures) at lower cost, reduced time to market and with better quality. As a result, it has gained increasing global attention since 1990s. Variability, which differentiates a member product from other products within a product line, plays an important role in SSPL. Variability mechanism means
35、ways to implement variability; it realizes variability in the product line artefacts. Variability mechanisms differ in accordance with the binding time of variability, and variability of a product line is introduced from product line scoping through product line testing and its binding can occur at
36、any stages of product line development. Thus, variability mechanism should be systematically managed for the right operation in domain engineering and for the right binding in application engineering. Furthermore, variability mechanisms should support easy variability management and traceability man
37、agement. Accordingly, this document provides processes with their supporting methods and tools capabilities for variability mechanism operationalization and for managerial supports for the right use of variability mechanisms at domain engineering stages and the right bindings at application engineer
38、ing stages. This document can be used in the following modes: by the users of this document: to benefit people who want to adopt SSPL for producing their products by guiding variability mechanism operationalization, variability mechanism management and variability mechanism supports; by a product li
39、ne organization: to provide guidance in the evaluation and selection for methods and tools for the tasks of providing variability mechanism operationalization, variability mechanism management and variability mechanism supports; by providers of tools and methods: to provide guidance in implementing
40、or developing tools and methods by providing a comprehensive set of the capabilities of methods and tools for supporting variability mechanism operationalization, variability mechanism management and variability mechanism supports. The ISO/IEC 26550 family of standards addresses both engineering and
41、 management processes and capabilities of methods and tools in terms of the key characteristics of product line development. This document provides processes and capabilities of methods and tools for variability mechanisms in product lines. Other ISO/IEC 26550 family of standards are as follows. ISO
42、/IEC 26550, ISO/IEC 26551 and ISO/IEC 26555 are published. ISO/IEC 26558 and ISO/IEC 26559 are under preparation. ISO/IEC 26552, ISO/IEC 26553, ISO/IEC 26554, ISO/IEC 26556, ISO/IEC 26560, ISO/IEC 26561, ISO/IEC 26562 and ISO/IEC 26563 are planned. Processes and capabilities of methods and tools for
43、 domain requirements engineering and application requirements engineering are provided in ISO/IEC 26551. Processes and capabilities of methods and tools for domain design and application design are provided in ISO/IEC 26552 (planned). Processes and capabilities of methods and tools for domain realiz
44、ation and application realization are provided in ISO/IEC 26553 (planned). Processes and capabilities of methods and tools for domain testing and application testing are provided in ISO/IEC 26554 (planned). Processes and capabilities of methods and tools for technical management are provided in ISO/
45、IEC 26555. Processes and capabilities of methods and tools for organizational management are provided in ISO/IEC 26556 (planned). ISO/IEC 2016 All rights reserved vii ISO/IEC 26557:2016(E) Processes and capabilities of methods and tools for variability modelling are provided in ISO/IEC 26558. Proces
46、ses and capabilities of methods and tools for variability traceability are provided in ISO/IEC 26559. Processes and capabilities of methods and tools for product management are provided in ISO/IEC 26560 (planned). Processes and capabilities of methods and tools for technical probe are provided in IS
47、O/IEC 26561 (planned). Processes and capabilities of methods and tools for transition management are provided in ISO/IEC 26562 (planned). Processes and capabilities of methods and tools for configuration management of asset are provided in ISO/IEC 26563 (planned). Others (ISO/IEC 26564 to ISO/IEC 26
48、599): planned.viii ISO/IEC 2016 All rights reserved INTERNATIONAL ST ANDARD ISO/IEC 26557:2016(E) Software and systems engineering Methods and tools for variability mechanisms in software and systems product line 1 Scope This document, within the context of tools and methods of variability mechanism
49、s for software and system product lines: provides the terms and definitions related to variability mechanisms for software and systems product lines; defines processes and their subprocesses for operating variability mechanisms at each product line life cycle stages and those for providing managerial supports. Those processes are described in terms of purpose, inputs, tasks and outcomes; defines method capabilities to support the defined tasks of each process; define