Software Assessment for Shipboard Computer Based System July 2008 Guidance Note NI 425 DT R01 E Marine Division 92077 Paris La Défense Cedex - France Tel: +33 (0)1 42 91 52 91 – Fax: +33 (0)1 42 91 53 20 Marine website: http://www.veristar.com Email: [email protected] © 2008 Bureau Veritas – All rights reserved MARINE DIVISON GENERAL CONDITIONS ARTICLE 1 ARTICLE 6 1.1. - BUREAU VERITAS is a Society the purpose of whose Marine Division (the “Society”) is the classification (“Classification”) of any ship or vessel or structure of any type or part of it or system therein collectively hereinafter referred to as a “Unit” whether linked to shore, river bed or sea bed or not, whether operated or located at sea or in inland waters or partly on land, including submarines, hovercrafts, drilling rigs, offshore installations of any type and of any purpose, their related and ancillary equipment, subsea or not, such as well head and pipelines, mooring legs and mooring points or otherwise as decided by the Society. 6.1. - The Society accepts no responsibility for the use of information related to its Services which was not provided for the purpose by the Society or with its assistance. The Society: • prepares and publishes Rules for classification, Guidance Notes and other documents (“Rules”); • issues Certificates, Attestations and Reports following its interventions (“Certificates”); • publishes Registers. 1.2. - The Society also participates in the application of National and International Regulations or Standards, in particular by delegation from different Governments. Those activities are hereafter collectively referred to as “Certification”. 1.3. - The Society can also provide services related to Classification and Certification such as ship and company safety management certification; ship and port security certification, training activities; all activities and duties incidental thereto such as documentation on any supporting means, software, instrumentation, measurements, tests and trials on board. 1.4. - The interventions mentioned in 1.1., 1.2. and 1.3. are referred to as “Services”. The party and/or its representative requesting the services is hereinafter referred to as the “Client”. The Services are prepared and carried out on the assumption that the Clients are aware of the International Maritime and/or Offshore Industry (the “Industry”) practices. 1.5. - The Society is neither and may not be considered as an Underwriter, Broker in ship’s sale or chartering, Expert in Unit’s valuation, Consulting Engineer, Controller, Naval Architect, Manufacturer, Shipbuilder, Repair yard, Charterer or Shipowner who are not relieved of any of their expressed or implied obligations by the interventions of the Society. ARTICLE 2 2.1. - Classification is the appraisement given by the Society for its Client, at a certain date, following surveys by its Surveyors along the lines specified in Articles 3 and 4 hereafter on the level of compliance of a Unit to its Rules or part of them. This appraisement is represented by a class entered on the Certificates and periodically transcribed in the Society’s Register. 2.2. - Certification is carried out by the Society along the same lines as set out in Articles 3 and 4 hereafter and with reference to the applicable National and International Regulations or Standards. 2.3. - It is incumbent upon the Client to maintain the condition of the Unit after surveys, to present the Unit for surveys and to inform the Society without delay of circumstances which may affect the given appraisement or cause to modify its scope. 2.4. - The Client is to give to the Society all access and information necessary for the performance of the requested Services. ARTICLE 3 3.1. - The Rules, procedures and instructions of the Society take into account at the date of their preparation the state of currently available and proven technical knowledge of the Industry. They are not a code of construction neither a guide for maintenance or a safety handbook. Committees consisting of personalities from the Industry contribute to the development of those documents. 3.2. - The Society only is qualified to apply its Rules and to interpret them. Any reference to them has no effect unless it involves the Society’s intervention. 3.3. - The Services of the Society are carried out by professional Surveyors according to the Code of Ethics of the Members of the International Association of Classification Societies (IACS). 3.4. - The operations of the Society in providing its Services are exclusively conducted by way of random inspections and do not in any circumstances involve monitoring or exhaustive verification. ARTICLE 4 4.1. - The Society, acting by reference to its Rules: • reviews the construction arrangements of the Units as shown on the documents presented by the Client; • conducts surveys at the place of their construction; • classes Units and enters their class in its Register; • surveys periodically the Units in service to note that the requirements for the maintenance of class are met. The Client is to inform the Society without delay of circumstances which may cause the date or the extent of the surveys to be changed. ARTICLE 5 5.1. - The Society acts as a provider of services. This cannot be construed as an obligation bearing on the Society to obtain a result or as a warranty. 5.2. - The certificates issued by the Society pursuant to 5.1. here above are a statement on the level of compliance of the Unit to its Rules or to the documents of reference for the Services provided for. In particular, the Society does not engage in any work relating to the design, building, production or repair checks, neither in the operation of the Units or in their trade, neither in any advisory services, and cannot be held liable on those accounts. Its certificates cannot be construed as an implied or express warranty of safety, fitness for the purpose, seaworthiness of the Unit or of its value for sale, insurance or chartering. 5.3. - The Society does not declare the acceptance or commissioning of a Unit, nor of its construction in conformity with its design, that being the exclusive responsibility of its owner or builder, respectively. 5.4. - The Services of the Society cannot create any obligation bearing on the Society or constitute any warranty of proper operation, beyond any representation set forth in the Rules, of any Unit, equipment or machinery, computer software of any sort or other comparable concepts that has been subject to any survey by the Society. 6.2. - If the Services of the Society cause to the Client a damage which is proved to be the direct and reasonably foreseeable consequence of an error or omission of the Society, its liability towards the Client is limited to ten times the amount of fee paid for the Service having caused the damage, provided however that this limit shall be subject to a minimum of eight thousand (8,000) Euro, and to a maximum which is the greater of eight hundred thousand (800,000) Euro and one and a half times the above mentioned fee. The Society bears no liability for indirect or consequential loss such as e.g. loss of revenue, loss of profit, loss of production, loss relative to other contracts and indemnities for termination of other agreements. 6.3. - All claims are to be presented to the Society in writing within three months of the date when the Services were supplied or (if later) the date when the events which are relied on of were first known to the Client, and any claim which is not so presented shall be deemed waived and absolutely barred. ARTICLE 7 7.1. - Requests for Services are to be in writing. 7.2. - Either the Client or the Society can terminate as of right the requested Services after giving the other party thirty days' written notice, for convenience, and without prejudice to the provisions in Article 8 hereunder. 7.3. - The class granted to the concerned Units and the previously issued certificates remain valid until the date of effect of the notice issued according to 7.2. hereabove subject to compliance with 2.3. hereabove and Article 8 hereunder. ARTICLE 8 8.1. - The Services of the Society, whether completed or not, involve the payment of fee upon receipt of the invoice and the reimbursement of the expenses incurred. 8.2. - Overdue amounts are increased as of right by interest in accordance with the applicable legislation. 8.3. - The class of a Unit may be suspended in the event of non-payment of fee after a first unfruitful notification to pay. ARTICLE 9 9.1. - The documents and data provided to or prepared by the Society for its Services, and the information available to the Society, are treated as confidential. However: • Clients have access to the data they have provided to the Society and, during the period of classification of the Unit for them, to the classification file consisting of survey reports and certificates which have been prepared at any time by the Society for the classification of the Unit ; • copy of the documents made available for the classification of the Unit and of available survey reports can be handed over to another Classification Society Member of the International Association of Classification Societies (IACS) in case of the Unit’s transfer of class; • the data relative to the evolution of the Register, to the class suspension and to the survey status of the Units are passed on to IACS according to the association working rules; • the certificates, documents and information relative to the Units classed with the Society may be reviewed during IACS audits and are disclosed upon order of the concerned governmental or inter-governmental authorities or of a Court having jurisdiction. The documents and data are subject to a file management plan. ARTICLE 10 10.1. - Any delay or shortcoming in the performance of its Services by the Society arising from an event not reasonably foreseeable by or beyond the control of the Society shall be deemed not to be a breach of contract. ARTICLE 11 11.1. - In case of diverging opinions during surveys between the Client and the Society’s surveyor, the Society may designate another of its surveyors at the request of the Client. 11.2. - Disagreements of a technical nature between the Client and the Society can be submitted by the Society to the advice of its Marine Advisory Committee. ARTICLE 12 12.1. - Disputes over the Services carried out by delegation of Governments are assessed within the framework of the applicable agreements with the States, international Conventions and national rules. 12.2. - Disputes arising out of the payment of the Society’s invoices by the Client are submitted to the Court of Nanterre, France. 12.3. - Other disputes over the present General Conditions or over the Services of the Society are exclusively submitted to arbitration, by three arbitrators, in London according to the Arbitration Act 1996 or any statutory modification or re-enactment thereof. The contract between the Society and the Client shall be governed by English law. ARTICLE 13 13.1. - These General Conditions constitute the sole contractual obligations binding together the Society and the Client, to the exclusion of all other representation, statements, terms, conditions whether express or implied. They may be varied in writing by mutual agreement. 13.2. - The invalidity of one or more stipulations of the present General Conditions does not affect the validity of the remaining provisions. 13.3. - The definitions herein take precedence over any definitions serving the same purpose which may appear in other documents issued by the Society. BV Mod. Ad. ME 545 j - 16 February 2004 NI 425 Table of Contents 1. General..............................................................................................................................................................5 1.1. General.....................................................................................................................................................5 1.2. Field of application....................................................................................................................................6 1.3. References ...............................................................................................................................................6 1.4. Definitions.................................................................................................................................................6 1.5. Abbreviation .............................................................................................................................................8 2. Software requirement ......................................................................................................................................9 2.1. General.....................................................................................................................................................9 2.2. Functional requirements ...........................................................................................................................9 2.3. Safety of operation .................................................................................................................................10 2.4. Monitoring...............................................................................................................................................10 2.5. Fall-Back arrangement ...........................................................................................................................10 2.6. Documentation .......................................................................................................................................10 3. Software Development process....................................................................................................................12 3.1. General...................................................................................................................................................12 3.2. Software Quality Plan (Guidelines).........................................................................................................13 4. Software Assessment....................................................................................................................................15 4.1. Software classification ............................................................................................................................15 4.2. Software Category notations ..................................................................................................................16 4.3. Software Assessment.............................................................................................................................16 Annex A Questionnaire on the tests and inspections to be performed .............................................................19 Annex B Software Quality Plan Guidelines..........................................................................................................27 B.1. B.1.1. B.1.2. B.1.3. B.1.4. Development and design .....................................................................................................................29 Scope .....................................................................................................................................................29 Development Projects ............................................................................................................................29 Design description ..................................................................................................................................29 Re-use....................................................................................................................................................30 B.2. B.2.1. B.2.2. B.2.3. B.2.4. B.2.5. B.2.6. B.2.7. B.2.8. Methodology for development ............................................................................................................30 Development planning............................................................................................................................30 Specification requirements .....................................................................................................................30 Preliminary design ..................................................................................................................................31 Detailed design.......................................................................................................................................31 Coding and module testing.....................................................................................................................32 Integration testing ...................................................................................................................................32 Validation and installation.......................................................................................................................33 Exploitation.............................................................................................................................................33 B.3. B.3.1. B.3.2. B.3.3. Responsibility.......................................................................................................................................33 Product Manager ....................................................................................................................................33 Development Manager ...........................................................................................................................33 Project Manager .....................................................................................................................................34 B.4. B.4.1. B.4.2. B.4.3. B.4.4. B.4.5. B.4.6. B.4.7. Execution ..............................................................................................................................................34 Requirements .........................................................................................................................................34 Project Handbook ...................................................................................................................................34 Project Plan ............................................................................................................................................34 Manning Plan .........................................................................................................................................35 Cost Plan................................................................................................................................................35 Documentation Plan ...............................................................................................................................35 Test Plans ..............................................................................................................................................35 july 2008 Bureau Veritas 3 NI 425 B.5. Project Monitoring ................................................................................................................................35 B.6. Project Evaluation ................................................................................................................................36 B.7. B.7.1. B.7.2. B.7.3. B.7.4. Design Review ......................................................................................................................................36 Purpose ..................................................................................................................................................36 Scope .....................................................................................................................................................36 Responsibility..........................................................................................................................................36 Constitution of the Design Review Board ...............................................................................................36 B.8. B.8.1. B.8.2. B.8.3. B.8.4. Prototype ...............................................................................................................................................36 Documentation........................................................................................................................................37 Factory Acceptance Test ........................................................................................................................37 Hand-over Meeting .................................................................................................................................37 Training...................................................................................................................................................37 B.9. Relevant Documents ...........................................................................................................................37 B.10. Test and verification of software.........................................................................................................37 B.11. B.11.1. B.11.2. B.11.3. B.12. B.13. Software Test Documentation .............................................................................................................38 Software Test and Verification Plan........................................................................................................38 Software Test Specification ....................................................................................................................38 Test Log..................................................................................................................................................38 Failure report ..........................................................................................................................................39 Software maintenance ............................................................................................................................39 Index of Table Table I: System/software categories ......................................................................................................................15 Table II: Example of assignment to system/software categories.............................................................................16 Table III: Tests reports and documentation to be submitted.....................................................................................17 4 Bureau Veritas July 2008 NI 425 1. General 1.1. General 1.1.1. This document is intended to assess software fitted on shipboard computer based system. 1.1.2. Within the scope of these Guidance Note, an assessment attestation may be issued. 1.1.3. Software assessment block diagram O p e r a t i o n a l C o n d i t i o n Safe Navigation Avoiding: - grounding - collision - any damage - uncontrolled Reducing: - failure effect Increasing: - availability - reliability Control system: - steering - speed governor - course tracking - main engine SOLAS 2 - Software Requirements 2.1 General - Alarm monitoring - fire - engine management - navigation - pwr mgnt system (PMS) Information system Support system … Bureau VERITAS procedures Safety of operation Monitoring Fall Back Arrangement Operation Software classification Software Category 2.2 Software Specification - Protection System - motor - fire Route monitoring Traffic surveillance Manoeuvring Communication Manual Steering Safety Operations Docking Loading Habitability july 2008 1 - General Functional Requirement Specific Requirement Standard requirement Other Requirement EC 60092-504 IEC 61508-3 IEC 60945 IACS 3 - Software Development Process 3.1 General - Description Development and design Responsibility Project Plan Test Plan Methodology SQP ISO 9001 ISO 900-3 IEC 61508-3 IEC 60 945 IEC 61511 4 - Software Assessment - Category - Condition of granting - Guideline - Annex A question - Annex B software quality plan example Software Assessment Certificate Bureau Veritas 5 NI 425 1.2. Field of application The present provisions especially apply to software involved in computer based systems which perform one or more of the following functions; related to essential services as defined in NR467 Rules for the Classification of Steel Ships, Pt C, Ch 2, Sec 1, i.e.: Propulsion plant and auxiliaries ( Diesel engine, main boilers and turbine, electric motor, gearing, CPP ...) Steering Navigation (centralized navigation system …) Electricity production (power management electrical protection) Fire detection and fire fighting(alarm System ...) Automation systems Cargo (load computer) External and internal communication (network …) Safety systems (ESD …) Instrumentation (Gas detection, Intelligent sensor, … ) They may also apply to software related to non essential services such as Air Conditioning management system, etc. 1.3. References This rule note is based on the principle, derived from the following rules and standards: International Maritime Organisation: SOLAS. IEC 60 945: “Maritime navigation and radio communication equipment and systems - General requirements - Methods of testing and required test results.” IEC 61 508-3: “Functional Safety of Electric / Electronic / Programmable Electronic Safety-Related Systems. – Part3: Software Requirements”. IEC 60 092-504: “Electrical installations in ships – Part 504: Special features – Control. and instrumentation.”. IEC 61 511: “Safety instrumented systems for the process industry sector”. DO 178B: “Software Considerations in Airborne Systems and Equipment Certification.” BV Rules Part C chapter 3 IMO MSC Circular N°891 Guidelines for the on-board use and application of computers ISO/IEC 90003 : Software engineering - Guidelines for the application of ISO 9001:2000 to computer software ISO 9001: Quality management systems – Requirements IACS Unified Requirement E 22: Unified requirement for the on board use and application of programmable electronic systems 1.4. Definitions Alarm: audible and visual signal announcing a condition requiring immediate attention or user action. Application Software: software performing tasks specific to the actual configuration of the computer based system and supported by the basic software. Basic software: the minimum software, which includes firmware and middleware, required to support the application software. Code: implementation of particular data on a particular computer program in a symbolic form, such as source code, object code, or machine code. Computer: A programmable electronic device for storing and processing data, making calculation, or performing control. Notes: a) Generally, the term computer means a digital computer. b) A computer may consist of a stand-alone unit or may consist of several interconnected units and includes any programmable electronic systems (PES), including mainframe, minicomputer or microcomputer. 6 Bureau Veritas July 2008 NI 425 Computer-based system: A system of one or more computers, associated software, peripherals, and interfaces. Detailed design: logic continuation of preliminary design, considered as a process of separating, usually with the express purpose of isolating one or more attribute(s) of the software, to prevent specific interactions and cross-coupling interference. Fall back arrangement: automatic reaction of the system to a failure to provide the best possible functionality. Functionality: ability to perform an intended function which uses systems of display, controls, and instrumentations. Integration testing: Tests allowing verifying the transitions between different parts of program. Integrated system: A combination of computer-based systems, which are interconnected in order to allow centralised access to sensor information and/or command/control. Notes: a) Integrated systems may, for example, perform one or more of the following operations: b) Passage execution (e.g. steering, speed control, traffic surveillance, voyage planning). c) Communications (e.g. radiotelephone, radio telex, GMDSS). d) Machinery (e.g. power management, machinery monitoring, fuel oil, / lubrication oil transfer). e) Cargo (e.g. cargo monitoring, inert gas generation, loading/discharging). f) Safety and security (e.g. Fire detection, fire pump control, watertight doors). Integrated navigation system: combination of systems or functions of navigational aids those are interconnected to increase safe and efficient navigation when used by suitably qualified personnel. Integrity: property of information as being accurate, valid with regard to specified requirements, and verified by comparing data from more than one independent source. Metrics: Refers to the specific measures used in studying a particular process or organisation. Module testing: Each software module is individually tested to detect and correct errors. Operating systems (OS): Set of computer programs that manages the hardware and software resources of a computer. Preliminary design: first approach of software architecture, structure selected to implement the software requirements. Software component: self-contained part, combination of parts, sub-assemblies, or units which performs a distinct function in a system. Software integration: process of combining software components. Software: computer programs, and possibly associated documentation and data pertaining to the operation of a computer system. Software development planning: description of software life cycle and software development environment. It is an estimated timetable of tasks where restraints, critical points, and resources are identified. Software requirements: description of what is to be produced by the software given input and constraints. Software requirements include both high level requirements and low-level requirements. System data: data that is used by the system for the processing and display of essential information. System data of the same type is from the same source. System data, at least for primary navigation information, has been checked for integrity. july 2008 Bureau Veritas 7 NI 425 System integrator: organisation responsible for ensuring that the system complies with the requirements of this standard. Testing: Operation intended to control the correct operation of an apparatus or the good execution of a program as a whole. Verification: Confirmation, through the provision of objective evidence, that specified requirements have been fulfilled. Validation: Confirmation, through the provision of objective evidence, that the requirements for a specific intended use or application have been fulfilled. Validity: conformity of information with formal and logical criteria, or the marking of data as being good or no good (valid or invalid) for the intended use Vessel: water craft of any description, including non-displacement craft, craft and seaplanes, used or capable of being used as a means of transportation on water Warning: signal announcing a condition requiring non-immediate attention for precautionary reasons 1.5. DR DRB ECO EUT FAT IEEE MMI UDF PMS SQA … 8 Abbreviation Design Review Design Review Board Engineering Change Order Equipment Under Test Factory Acceptance Test Institute of Electrical and Electronics Engineers Man-Machine Interface Unit Development Folder Power Management System Software Quality assurance Bureau Veritas July 2008 NI 425 2. Software requirements 2.1. General 2.1.1. Standards/guidelines and naming conventions are to be specified for the document and followed throughout the documents 2.1.2. The basic software is to be developed in consistent and independent modules. A self-checking function (e.g. auto test) is to be provided to identify failure of software module. When hardware (e.g. input /output devices, communication links, memory, etc.) is arranged to limit the consequences of failures (e.g. modular concept), the corresponding software is also to be separated in different software modules ensuring the same degree of independence, in order to avoid a common single failure. 2.1.3. Application software is to be tested to verify the ability to perform intended functions with all systems interconnected (or by means of simulation tools, as relevant). 2.1.4. The code of practice employed in the design and testing of the integral software to the operation of the equipment under test is to be specified and conform to a quality control system audited by a competent authority. 2.1.5. The code of practice is to define the methodology used in the development of the software and the standards applied following criteria: a) Complex software is to be structured to support separate testing of single modules or of groups of associated modules. b) The structure is to support maintenance and updates of software by minimizing the risk of undetected problems failures and non regression. c) The manufacturer is to supply documentation demonstrating that the software of the System is developed and tested according to the code of practice and to this document. 2.1.6. A description of operating system configuration is to be documented (listing, limitations, parameters…). The functions delivered within the operating system packages are to be limited to those needed by the system. The unused options are to be invalidated. 2.1.7. The tools and additional software are to be identified and documented. 2.2. Functional requirements 2.2.1. Functional requirements are to be uniquely numbered. 2.2.2. Interface requirements to other functions or external entities are to be clearly identified. 2.2.3. All common functions are to be identified. 2.2.4. The requirements are to be stated so that they are discrete, unambiguous and testable. 2.2.5. Each decision, selection, and computational function that the software must perform is to be clearly defined. 2.2.6. july 2008 A dictionary for all data elements is to be provided. The data dictionary is to be complete. Bureau Veritas 9 NI 425 2.3. Safety of operation 2.3.1. Facilities are to be provided for protecting all operational software incorporated in the equipment. 2.3.2. Any software required in equipment to facilitate operation in accordance with its equipment standard, including that for its initial activation/reactivation, is to be permanently installed with the equipment, in such a way that it is not possible for the user to have access to this software. 2.3.3. It is not to be possible for the operator to augment, amend, or erase, during normal use, any program software in the equipment required for operation in accordance with the equipment standard. Data used during operation and stored in the system is to be protected in such a way, that necessary modifications and amendments by the user cannot endanger its integrity and correctness. 2.3.4. Default values are to be inserted whenever relevant to facilitate the required operation of the equipment. 2.3.5. Display and update of essential information available in the equipment as well as safety related function is not to be inhibited due to operation of the equipment in any particular mode, for example dialogue mode. 2.3.6. The system is to give an indication when presented information is uncertain or derived from conflicting sources. 2.3.7. Software is to be protected against intrusion by efficient protections, such as antivirus, password levels, firewalls, as relevant. 2.4. Monitoring 2.4.1. Means is to be provided to monitor automatically the operational software and stored data of the equipment. The check is to be carried out during system start-up and at regular intervals, as indicated in the manufacturer's documentation. In the case of a non-automatically recoverable error or failure, the system is to release an independent alarm observable to the user on the workstation. (e.g.: Watchdog) 2.4.2. An error log must be installed and activated in order to supervise the program execution and it unwished execution. 2.4.3. An alarm is to be triggered before the lack of computer resources could endanger the software execution. 2.5. Fall-Back arrangement 2.5.1. After a failure, or when sensor data become invalid, the software is to support the availability of essential information and functions, by using appropriate fallback arrangements. 2.5.2. It is to be clearly indicated when the mode in use is not the normal mode to fully perform the function of the software. 2.5.3. After a fallback arrangement, recovery of normal operation is only to be restored upon confirmation by the operator. Power interruption or intentional shut down is not to be treated as a Fallback condition 2.6. Documentation 2.6.1. The document is to be concise and easy to follow. 2.6.2. The level of detail provided is to be appropriate to the purpose of the document. 10 Bureau Veritas July 2008 NI 425 2.6.3. The information is to contain the evidence of document control (e.g. second reading, check by other person than the author…). 2.6.4. The Software Requirement Specification is to describe a high level system overview. 2.6.5. The internal and external interface and data flows are to be described in high level system diagrams. 2.6.6. The system function and/or data flow is to be clearly and completely described. 2.6.7. The software environment (hardware, software, resources, and users) is to be specified. 2.6.8. All referenced documents, definitions acronyms and abbreviations are to be listed. 2.6.9. The Software Requirement Specification is to contain a general description of the software system and operational concepts. 2.6.10. The user characteristics are to be defined. 2.6.11. General design, implementation constraints, dependencies are to be noted. General assumptions that affect implementation are to be stated. 2.6.12. Timing requirements are to be provided. Timing and memory limits are to be compatible with hardware constraints. 2.6.13. Any limit and/or restriction on software performance are to be defined (e.g. contract requirements, hardware capability...). 2.6.14. Each function is to be defined separately, with its purpose and scope. 2.6.15. The functional requirements are to be stated in terms of inputs, outputs and processing. 2.6.16. The functional requirements are to be the bases for detailed design and functional tests cases 2.6.17. The software Requirement Specification is to include a description of the performance requirements for each function. 2.6.18. The hardware limitations are to be identified for each function. 2.6.19. The following are to be identified: Environmental conditions (risk of inadvertent alteration of software) Computer software inventory (list of existing software intended to be used) Databases, Test software (simulator…) Tests methods (tests demonstration, analysis or inspection and acceptance criteria) Computer hardware resources. 2.6.20. A software user’s guide is to be available for assessment. july 2008 Bureau Veritas 11 NI 425 3. Software Development process 3.1. General 3.1.1. Support tools and programming languages a) A suitable set of integrated tools, including languages, compilers, configuration management tools, and when applicable, automatic testing tools, are to be selected for the required software category. The availability of suitable tools to supply the relevant services over the whole software lifetime is to be considered. b) Coding standards are to be: Reviewed by the assessor; Used for the development of all software. c) The coding standards specify good programming practice, proscribe unsafe language features, and specify procedures for source code documentation. As a minimum, the following information is to be contained in the source code documentation: Legal entity (for example company, author(s), etc…); Description; Inputs and outputs; Configuration management history. d) The software is to be produced to achieve modularity, testability and capability of safe modification. e) For each major component or subsystem described in the software architecture design, further refinement of the design is to be based on a partitioning into software modules (i.e. specification of the software system design). The design of each software module and the tests to be applied to each software module is to be specified. 3.1.2. Code implementation a) The source code: is to be readable, understandable and testable; is to satisfy the specified requirements for software module design; is to satisfy the specified requirements of the coding standards; is to satisfy all relevant requirements specified during safety analyse. b) Each module of software code is to be reviewed. 3.1.3. Module testing a) Each software module is to be tested as required during software specification. b) These tests are to demonstrate that each software module performs the intended function and does not lead to unintended behaviour (e.g. software is robust to unattended input data). c) The results of the software module testing are to be documented. d) The procedures for corrective action on failure of test are to be specified. 3.1.4. Integration testing a) Software integration tests are to be specified concurrently during the specification and development phases. b) The specification of software integration tests are to include: The division of the software into manageable integration sets; Test cases and test data; Types of tests to be performed; Test environment, tools, configuration and programs; Test criteria on which the completion of the test will be judged; and Procedures for corrective action on failure of test. c) The tests are to demonstrate that all software modules and software components/ subsystems interact correctly to perform their intended function and do not lead to any unintended behaviour. d) The results of software integrating testing are to be documented; stating objectives and test criteria have been met. Reasons of any failure are to be analysed. e) During software integration, any modification or change is to be subjected to an impact analysis, which determines all software modules influenced, and the necessary re-verification and re-design activities. 12 Bureau Veritas July 2008 NI 425 3.1.5. Validation a) The pass/fail criteria for achievement of software validation is to include: The required input signals with their sequences and their values; The anticipated output signals with their sequences and their values; and Other acceptance criteria, for example memory usage, timing and value tolerances. 3.1.6. Software modification a) Prior to carrying out any software modification, relevant procedures are to be made available. b) A modification is to be initiated within the scope of authorized procedure for which specifications are to be detailed as follows: The reasons of change; The proposed changed; The possible hazard. c) An analysis is to be carried out on the impact of the proposed software modification on the system functionalities in order to determine: whether or not a hazard and risk analysis is required; which software lifecycle phases will need to be repeated. d) The impact analysis results are to be documented. e) Regression tests are to be specified 3.1.7. Verification a) The verification of software is to be planned according to software quality plan. b) The software verification planning refers to the criteria, techniques, and tools to be used in the verification activities, and address: The evaluation of the safety integrity requirements where applicable; The selection of documentation strategies, activities and techniques; The selection and utilisation of verification tools; The evaluation of verification results; The corrective actions to be taken. c) Documentary evidence is to point out that software control has been satisfactorily completed at each step. d) For each verification step documentation is to include: Identification of items; Identification verification data; Non-conformances. e) The following verification activities are to be performed: Verification of software requirements; verification of software architecture; verification of software system design; verification of software modules design; verification of code; data verification; software module testing; software integration testing; programmable hardware integration testing; Software safety requirements testing, where applicable. f) Regression tests are to be performed, after modifications, where applicable. 3.2. Software Quality Plan (Guidelines) 3.2.1. Generality The Software Quality Assurance (SQA) Plan establishes the methods to be used to achieve the objectives of the SQA process. The SQA Plan may include descriptions of process improvement, metrics, and progressive management methods. This plan should include: a) Environment: A description of the SQA environment, including scope, organizational responsibilities and interfaces, standards, procedures, tools and methods. b) Authority: A statement of the SQA authority, responsibility, and independence, including the approval authority for software products. july 2008 Bureau Veritas 13 NI 425 c) Activities: The SQA activities that are to be performed for each software life cycle process and throughout the software life cycle including: SQA methods, for example, reviews, audits, reporting, inspections, and monitoring of the software life processes. Activities related to the problem reporting, tracking and corrective action system. A description of the software conformity review activity. d) Transition criteria: The transition criteria for entering the SQA process. e) Timing: The timing of the SQA process activities in relations to the activities of the software life cycle processes. f) SQA Records: A definition of the records is produced by the SQA process. g) Supplier’s control: A description of the means of insuring those sub-tier suppliers’ processes and outputs will comply with the SQA Plan. 3.2.2. Quality assurance and control Quality assurance and control are based on the production and the follow-up of the quality plan. The quality plan is to be updated following the development progress. It is to be reviewed by all the participants in its production. Note 1: ISO/IEC 90003 gives guidelines for the application of ISO 9001 to the development, supply, and maintenance of software. Note 2: Refer also to SOLAS Ch. V Reg. 18 – 5. 14 Bureau Veritas July 2008 NI 425 4. Software Assessment 4.1. Software classification The guidance is based on the classification defined for the computer-based systems. The computer based systems are to be assigned into three system categories as shown in Table I, according to the possible extent of damage caused by a single failure within the computer-based systems. Consideration is to be given to the extent of the damage directly caused by a failure, but not to any consequential damage. Identical redundancy will not be taken into account for the assignment of a system category. The assignment of a computer-based system to the appropriate system category is to be made according to the greatest likely extent of direct damage. For example, refer to Table II Note: Where independent effective backup or other means of averting danger is provided the system category III may be decreased by one category. Table I: System/software categories Category I II III Effects System functionality Those systems, failure of which will not lead to dangerous situations for human safety, safety of the vessel and/or threat to the environment. Those systems, failure of which could eventually lead to dangerous situations for human safety, safety of the vessel and / or threat to the environment Those systems, failure of which could immediately lead to dangerous situations for human safety, safety of the vessel and / or threat to the environment. Monitoring function for Informational administrative tasks Alarm & monitoring functions Control functions which are necessary to maintain the ship in its normal operational and habitable conditions Control functions for maintaining the vessel’s propulsion and steering Safety functions (1) Navigation Functions (1) Software systems related to safety functions are subjected to specific analysis by the Society in accordance within IEC 615.08 x (e.g. emergency shut-down – engine safeties) july 2008 Bureau Veritas 15 NI 425 Table II: Example of assignment to system/software categories Category I II III (1) Examples (1) Maintenance support systems Information and diagnostic systems Alarm & monitoring equipment Tank capacity measuring equipment Control systems for auxiliary machinery Main propulsion remote control systems Fire detection systems Fire extinguishing systems Bilge systems Governors Machinery protection systems/equipment Burner control systems Electronic fuel injection for diesel engines Loading instrument, Stability computer Navigation equipment used for course control Control systems for propulsion and steering Course control systems, including positioning systems where manual intervention to avert danger in the event of failure or malfunction is no longer possible The examples listed are not exhaustive 4.2. Software Category notations To the three categories of software defined in 4.1 correspond respectively three notations as follows: ST1: software category I ST2: software category II ST3: software category III The category notations are brought on attestation certifying that the considered software has been examined by the Society, in accordance with the requirements of the present document. The attestation, issued within the scope of the Bureau Veritas Marine Division General Conditions, is valid five years. After this period, it may be renewed, the possible modifications being submitted to the Society. Any changes in software design or in using conditions, which would have not be submitted to the Society, could entail withdrawal of these attestations 4.3. Software Assessment 4.3.1. Condition of granting Software approval is granted, subject to the assessment of the development quality and test results as referred in. The whole documentation and test evidence are to be provided to the Society. Additional documents may be requested for evaluation of software. 4.3.2. A Software Assessment attestation may be issued at the request of the manufacturer when approval is granted 16 Bureau Veritas July 2008 NI 425 4.3.3. No. 1. 1.1. 1.2. 1.3. 1.4. 2. 2.1. 2.2. 3. 3.1. 3.2. 3.3. 4. 4.1. 4.2. 4.3. 5. 5.1. 5.2. 5.3. 6. 6.1. 7. Documentation Table III: Tests reports and documentation to be submitted Software Category Tests and evidence I II III Evidence of quality system Quality plan for software M S S M M Quality control in production Final test reports M S S Traceability of software M M S Evidence of software validity requirements : safety of operation Monitoring Fallback arrangement Software description M M S Failure analysis for safety related functions only M S Evidence of software testing Evidence of software testing according to quality plan M S Analysis regarding existence and fulfilment of programming M S procedures for safety related functions Code inspection, walk–through M Software tests (1) Module tests M S Subsystem tests M S System Tests M S Performance tests Integration test M W Fault simulation W W Factory acceptance Test (FAT) M W W Modifications Tests after modifications (2) W/S W/S User’s guide M = Evidence kept by manufacturer and submitted on request S = Evidence checked by the society W = To be witnessed by the society (1) In addition to the above, specific tests for program approval would be required for system which are parts of safety system or which integrate safety functions (See Note 1 Table II.) (2) Subsequent significant modifications to the software are to be submitted for approval. Note: A significant modification is a modification which influences the functionality and/or safety of the system july 2008 Bureau Veritas 17 NI 425 18 Bureau Veritas July 2008 NI 425 Annex A Questionnaire on the tests and inspections to be performed july 2008 Bureau Veritas 19 NI 425 20 Bureau Veritas July 2008 NI 425 § REF Y, N, NA Description ST I ST II ST III Documentation provided GENERAL 4.3.3 Are requested document lists available SOFTWARE REQUIREMENT 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 a) 2.1.5 b) 2.1.6 2.1.7 2.2 General Are standards and naming conventions specified? Is the software developed in independent modules to limit the consequence of failure? Is the software tested to verify the ability to perform intended functions? Is the code of practice specified and conform to a quality control system? Is complex software structured to support separated testing of single modules or of groups of associated modules? Is the structure able to support maintenance and updates? Is configuration of operating system documented? Are tools and additional software identified and documented? Functional requirements Are functional requirements clearly identified and documented? 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 july 2008 Safety of operation Is software protected by facilities incorporated in the equipment? Is software part of equipment installed with the equipment in such a way that it is not possible for the user to have access? Is software part of equipment protected against modification by the user? Does the software contain default values to facilitate the user when needed? Can the display and update of essential operation be run during any other particular mode? Does the equipment indicate if information is uncertain? Is software protected against intrusion? Bureau Veritas 21 NI 425 § REF 2.4 2.4.1 2.4.1 2.4.2 2.4.3 2.5 2.5.1 2.5.2 2.5.3 2.6 Y, N, NA Description ST I ST II ST III Documentation provided Monitoring Is mean provided to monitor the equipment automatically, checked at regular intervals? Does the system release an alarm in case of non automatically recoverable error? Is an error log installed and activated in order to supervise the program execution and it unwished execution? Is an alarm triggered before the memory is full? Fallback arrangement Is it indicated if the mode in use is not the normal mode to fully perform the function? Does fallback arrangements support essential information and function in case of failure? After fallback arrangement, is recovery of normal operation restored upon operator confirmation ? Documentation Is documentation concise, including functional descriptions, all evidences of control, interfaces, limitations? SOFTWARE DEVELOPMENT PROCESS 3.1.1 a) b) c) d) e) 22 Support tools and programming language Are integrated tools selected for the required software category? Are the coding standards reviewed by the assessor and used for the development of all the software? Are legal entity, description, inputs and outputs, configuration management history contained in the source code? Can the software be modular, testable and safely modifiable? Is each module software design and tested separately? Bureau Veritas July 2008 NI 425 § REF 3.1.2 a) a) a) a) b) 3.1.3 a). b) c). d). 3.1.4 a) b) b) b) b) b) b) c) d) e) july 2008 Y, N, NA Description ST I ST II ST III Documentation provided Code implementation Is the source code readable, understandable and testable? Does the source code satisfy the specified requirements for a software module design? Does the source code satisfy the specified requirements of the coding standards? Does the source code satisfy all relevant requirements specified during safety analyse? Is each module of software code reviewed? Module testing Is each software module tested? Do the tests show that each module performs its intended function and does not perform unintended function? Are the result of module testing documented? Are the procedures for corrective action on failure of tests specified? Integration testing Are the software integration tests specified during the specification and development phases? Do integration tests specify the division of the software into manageable integration sets? Do integration tests specify test cases and test data? Do integration tests specify types of tests to be performed? Do integration tests specify test environments, tools, configuration and programs? Are test criteria specified, on which the completion of the test will be jugged? (expected results) Do integration test specify procedures for corrective action of failure of test? Do the software tests demonstrate the protection against unintended behaviour? Are the results of integration software tests documented, indicating reason of failure, if any? Is an analyse carried out when a modification of software is necessary during the integration software? Bureau Veritas 23 NI 425 § REF 3.1.5 a) 3.1.6 Y, N, NA Description Are regression tests specified? a) b) c) d) e) f) Documentation provided Software modification e) 3.1.7 ST III Validation c) d) b). ST II Do the pass/fail criteria for validation include input/output signals with their sequences and values and other acceptance criteria ? Are procedures of modification available? Are the modification initiated within of an authorised procedure? Is an analyse on the impact of software modification on system functionalities performed and documented? a) ST I Verification Is the verification software available and planned in accordance with the quality plan? Are criteria, techniques, and tools used for verification activities planned? Is the documentation result available? Are evidences of all steps of verification available? Have all verification activities been performed (specification, design, coding, testing)? Have regression tests been performed after modifications? SOFTWARE QUALITY PLAN 3.2.1 Generality Have standards / guidelines been identified to define the work product? Has project specific criteria been added? Was this assessment conduct as scheduled? Is there evidence that the work product was reviewed by all stakeholders? Have acceptance criteria been established for the work product? Does the work product have a clearly define purpose and scope? Does the purpose specify what software items are covered by the plan? Does the purpose specify the intended use of the software? 24 Bureau Veritas July 2008 NI 425 § REF Y, N, NA Description ST I ST II ST III Documentation provided Does the purpose state what portion of the life cycle is covered by the plan? Does the plan contain applicable references? Are versions and dates provided for each reference document? Does the plan contain a section outlining the management structure for the project? Does the plan detail the documentation governing the development, verification, validation, use and maintenance of the software produced? Is there a set of documents listed and described? Does this plan list which documents are to be assessed by the Software Quality Plan? Are standards, practices, and quality requirements use identified (e.g. IEC, ISO, IEEE …)? Does this plan describe how process and product conformance shall be monitored and assured (e.g. tracked, reported, and trended)? Is there a schedule of reviews? Does the plan describe Software Quality Plan's role at reviews? Does the plan identify and describe the Software Quality Plan's role in the software verification? Does the plan identify and describe the Software Quality Plan's role in the software validation? Does the plan describe the practices and procedures reporting, tracking, and problem resolution? Does the plan discuss which tools and techniques shall be used to support software assurance activities (e.g. checklists, plan and report templates, tracking databases)? Does the plan discuss how insight / oversight will be accomplished to ensure supplier control to customer requirements (e.g. inspections, assessments / audits, monthly status reports)? july 2008 Bureau Veritas 25 NI 425 § REF 3.2.2 Y, N, NA Description ST I ST II ST III Documentation provided Quality assurance and control Can an evidence of a quality system be provided? (E.g. to ISO 9000…) If not, what procedures for quality assurance measures are used in the company? Is the software quality plan available? SOFTWARE ASSESSMENT 4.1 Software classification Are system/software categories clearly identified? 4.3 Software Assessment Are all requested documents available, as indicated in Table III? 26 Bureau Veritas July 2008 NI 425 Annex B Software Quality Plan Guidelines july 2008 Bureau Veritas 27 NI 425 28 Bureau Veritas July 2008 NI 425 B.1. Development and design The purpose of this procedure is to ensure that a product being developed by a company meets all specifications and requirements, whilst at the same time to be as simple and rational as possible to produce and test. B.1.1. Scope The procedure comprises the management of the product development that is being carried out by the development departments. This is an example but other models may be applied, following types of products, manufacturer’s standard procedures and application fields. B.1.2. Development Projects Development projects are defined, as projects that are approved by the company management team, are self financed and where company specifies the requirements, the projects is to be part of the company product development plans. B.1.3. Design description The Design Description is a definition of the software architecture and the low-level requirements that will satisfy the software high-level requirements. This data should include: A detailed description of how the software satisfies the specified software high-level requirements, including algorithms, data structures, and how software requirements are allocated to processor and task. The description of the software architecture defining the software structure to implement the requirements. The input/output description, for example a data dictionary, both internally and externally throughout the software architecture. The data flow and control flow of the design. Resource limitation, the strategy for managing each resource and its limitations, the margins, and the method for measuring those margins, for example, timing, and memory. Scheduling procedures and inter-processor/inter-task communication mechanisms, including timerigid sequencing, pre-emptive scheduling, and interrupts. Design methods and details for their implementation, for example, software and data loading, usermodifiable software, or multiple-version dissimilar software. Partitioning methods and means of preventing partition breaches. Description of the software components, whether they are new or previously developed, and, if previously developed, reference to the baseline from which they are taken. Derived requirements resulting from the software design process. If the system design contains deactivated code, a description of the means to ensure that the code cannot be enable in the target computer. Rationale for those design decisions that are traceable to safety related systems requirements. july 2008 Bureau Veritas 29 NI 425 B.1.4. Re-use Prior to a development project starting, checks is to be made regarding existing products or parts thereof in order to ascertain whether or not any hardware or software can be re-used or modified. B.2. Methodology for development The management of a software project is based, on the one hand, on the software development planning and, on the other hand, on the quality assurance and control. B.2.1. Development planning The development planning describes, under modular way, the software life cycle: Specification requirements Preliminary design Detailed design Coding and unit testing Integration testing Validation and installation Exploitation. It is an estimated timetable of tasks where restraints, critical points (memory capacity, response time, utilization ratio of central units...) are identified. B.2.2. Specification requirements Task Software Requirement Specification Person in charge Software Manager Purpose Produce the technical specification Assess the feasibility Activities Actions and restraints: - analysis of system requirements (functions, performance, operating modes, man-machine interface…) - assessment of feasibility. Examination: reading by the whole persons in charge. Output documents Specification requirements Checking at end of phase Review of the specification requirements 30 Bureau Veritas July 2008 NI 425 B.2.3. Preliminary design Task Preliminary design of software Person in charge Project manager Purpose build an architecture satisfying the specification requirements prepare integration and validation of software Input documents Software Requirement Specification Activities Actions and constraints: this first phase of abstraction is aimed at to display the required functions under a modular form ; critical points are taken into account (synchronization, interrupt processing); drafting integration and validation project plans Means: tools generating functional diagrams, temporal restraints Examination: model Output documents Preliminary design file including architecture, its justification Integration and validation project plans Checking at end of phase B.2.4. Review of the preliminary design file Detailed design Task Detailed design of software components Person in charge Project manager Purpose Provide an algorithmic language for each component Produce the detailed design file defining the internal structures and the component interfaces Prepare unit testing of each component Input documents Preliminary design file Activities Actions and restraints: programming modules defined at previous phase are detailed, each of them making a software component. This phase results in a structured pseudo-code Means: tools generating modules and defining interfaces Examination: inspection and simulation Output documents Detailed design file Checking at end of phase Review of the detailed design file july 2008 Bureau Veritas 31 NI 425 B.2.5. Coding and module testing Task Coding and module testing of components Person in charge Project manager or software programmer Purpose Translate the result of detailed design into a program by means of a programming language. Carry out the unit testing of components to check that the code writing and its sequence are in compliance with the description of detailed design file. Input documents Detailed design file Activities Actions and restraints: automatic translation (or not) of pseudo-code (or the description of data and algorithms in the detailed design file) into the planned programming language, the soft components are separately tested before integrating the soft unit Means: - translator, code generator - testing tools, symbolic running (logic tests, functional tests) Examination: - cross-reading of code, analyzers, plotters - examination of the test cover and checking of results Output documents Coding and testing file Checking at end of phase Review at end of phase Document checking by the project manager, in coordination with the software assurance quality manager (including the listing of original language) B.2.6. Integration testing Task Integration of software components into software unit Person in charge software project manager Purpose Progressively collect the software components and check the conformity with preliminary and detailed designs Input documents Preliminary design file Activities Actions and restraints: components are introduced one by one into the software element function by function. Every function is separately then fully tested Means: integration and test tools Examination: examination of the test coverage, and checking of the results. Testing consists of modular testing called 'white box' and functional testing called ‘black box’ Output documents Integration file Checking at end of phase Checking of integration file by the system manager in coordination with the software assurance quality manager 32 Bureau Veritas July 2008 NI 425 B.2.7. Validation and installation Task Validation and installation Person in charge Software project manager and system manager Purpose This phase is aimed at to ensure, essentially by means of tests, that the software is in conformity with the specification requirements Input documents Specification requirements Activities Actions and restraints: environment evolution: the software is submitted to alteration, particularly through new elements that may be faulty Means: - testing bench, simulated operation - installation and user's manual Examination: - examination of the testing coverage, checking of the results - examination of the specified functions and restraints Output documents Validation and qualification file Checking at end of phase Review of software qualification B.2.8. Exploitation Task Software exploitation Person in charge Software project manager and user Purpose Exploitation, use, maintainability and software adjustment Input documents Use and maintainability documents Activities Bringing the software into operation in a defined environment Detection and correction of residual faults Activities bound to the modifications of the specifications Output documents B.3. Responsibility B.3.1. Product Manager Document of maintainability The Product Manager is responsible for ensuring that all potentially new products are described and evaluated in a Product and Market Analysis. B.3.2. Development Manager The Development Manager approves all plans for development projects and is responsible for the completion of the projects. The Development Manager establishes and maintains progress reports and present to the Product Manager. july 2008 Bureau Veritas 33 NI 425 The Development Manager assigns Project Managers for development projects and ensures that they have adequate resources to carry out their tasks. The Development Manager is responsible for ensuring that projects follow the company’s quality requirements regarding documentation of development projects, and that everyone involved knows and follows the given guidelines. The Development Manager is responsible for ensuring that configuration management of hardware and software, along with related documentation, is established, implemented, and maintained. The Development Manager identifies and maintains an overview of those persons responsible for each hardware and software module, including software tools. B.3.3. Project Manager The Project Manager is responsible for the planning, completion and control of the project and reports all technical and economical matters to the Development Manager. The Project Manager is responsible for ensuring that required documentation is prepared and written according to guidelines defined in the company’s procedures. The documents are presented to the Design Review Board (DRB) for review according to established procedures. This is normally to be completed before the next phase is started. B.4. Execution B.4.1. Requirements It is a requirement of development projects in the company that the following points are taken into consideration: Technological enhancement (state of the art) Able to meet market needs Be functional and have an appealing design Cost effective to produce and develop in accordance with the budget Be robust and dependable (high quality) Able to be produced Maintainable Test and serviceable. B.4.2. Project Handbook Each project has a Project Handbook, which as a minimum has the following content: Project Plan Manning Plan Cost Plan Test Plan Document Configuration plan. The Test Plan may be integrated in the Project Plan. B.4.3. Project Plan The Project Manager prepares a Project Plan (Progress Plan) based on the Product Market and Analysis document and related specifications. The Development Manager approves the Project Plan. The Project Plan defines the specific activities and milestones that are used to manage the development project. Milestones will usually be points in time for Design Reviews (DRs) or tests to be performed. 34 Bureau Veritas July 2008 NI 425 The Project Manager informs potential co-workers in the project and distributes tasks. Whenever possible, there is only one established Progress Plan, but for major projects, it may be necessary to have two: Detailed Progress Plan Overall Progress Plan. The Detailed Progress Plan is used to evaluate the daily progress of the project. The Overall Progress Plan is a summary of the Detailed Progress Plan and is used primarily as a control at regular intervals and when reporting to the management. B.4.4. Manning Plan The development Manager prepares a Manning Plan which gives a general view of those software functions that the project organization consists of. In addition, the tasks and the responsibility that belong to the functions are stated, along with the personnel allocated to those tasks. As this plan details the allocation of personnel, it is distributed to the leaders who are allocating the resources. B.4.5. Cost Plan In co-operation with the Finance Department, the project Manager prepares a Cost Plan for each project. The Cost Plan is so sub-divided that it enables the Project Manager to keep account of the economy throughout the duration of the project. B.4.6. Documentation Plan The project Manager prepares a documentation Plan is prepared for each project. The Documentation Plan is an overview of all documentation to be prepared and configuration managed in the project and refers to: Documents Drawings Software The Documentation Plan is the basis for change control in the project and gives at any time an overview of all documentation in the project and its status, together with the ability to trace back to previous activities and decisions. B.4.7. Test Plans The Project Manager is responsible for preparing and maintaining all Test Plans. The development Manager prepares the Software test plan. These may be integrated in the Project Plan. Where contractual requirements do not state otherwise, this is carried out in accordance with The Company referential. B.5. Project Monitoring The Project Manager is responsible for the completion of the project according to the plans and calculations set up and approved. The Project Manager presents, whenever necessary (when changes or non-conformity occurs, on passing milestones or similar) and at least once every month, a progress report containing among other things: Updated progress report Project evaluation. The reports are presented to the Development Manager for further action. july 2008 Bureau Veritas 35 NI 425 B.6. Project Evaluation At defined period as specified in quality plan, a progress report, is prepared for each project by the Project Manager, to be forwarded to the Development Manager with a copy to the economics department. B.7. Design Review B.7.1. Purpose The purpose of a design review is to develop suitable products based on economical criteria through co-operation. The term ‘suitable’ implies reliability, ease of production and ease of test and service. B.7.2. Scope A design review consists of planned activities that take place during different phases of a project. A design review is included as a milestone in the Project Plan. B.7.3. Responsibility The Project Manager is responsible for the implementation of an Design Review Board as an activity (milestone) in the project plan. The Project Manager prepares the agenda, notify participants and conduct the meeting, as well as prepare and file the minutes of the meetings. To ensure that the participants are prepared for the meeting, they are provided with all documentation (drawings. documents. etc.) to be reviewed. There are prepared checklists for the different phases in the project where a design review is to be performed. The Design Review Board report gives reference to the checklist used. Responsibility for actions and details of their completion includes in the report. B.7.4. Constitution of the Design Review Board The Chairman of the Design Review Board is normally the Development Manager. The composition of the rest of the board will depend on which phase of the development the project is currently at. Thus personnel not directly involved in the design or development, but who have experience with the topic being investigated and evaluated, may take part. Distribution of information is an important function, in conjunction with the design review. This can be addressed by forwarding minutes of meeting and other documentation to all relevant personnel and groups. The Design Review Board has a consultative function and may give comments and corrections to the specifications and design solutions. B.8. Prototype The production of a prototype of the product is an important indicator of how close specifications it has been possible to reach. The Project Manager is responsible for obtaining necessary documentation for the production of the prototype, as well as test procedures and programs for both the technical performance and the testing of the environmental conditions, if this is a requirement. The test results from the prototype are the basis for any modifications that may be necessary prior to the production of the final documents. 36 Bureau Veritas July 2008 NI 425 B.8.1. Documentation The documentation accompanying all products is produced in order to: Verify against Product Specification/Requirement Specification Test Maintain Enhance. Prior to the hand-over meeting, the Project Manager prepares the following documentation: Production papers Test procedures including an FAT procedure User documentation Hardware and Software documentation. B.8.2. Factory Acceptance Test Through a Factory Acceptance Test (FAT) approved by the customer (Product Group), the Development Department verifies for the customer that the product is in conformity, with the Product Specification and the Requirement Specification. All test results is to be logged. B.8.3. Hand-over Meeting When all remaining actions from the FAT have been closed, the Project Manager hand over, in a handover meeting, all the product and production documents, including test equipment test procedures and test reports to the Product Group. B.8.4. Training Time required for the training of test and production personnel takes to account when preparing the Project Plan. Training is to be a separate activity in the Project Plan. B.9. Relevant Documents Planning and Management of Delivery Projects Preparation of Drawings and Production Documents Preparation and Filing of Documents Document of Development Projects Configuration management Test and Verification of Software Software module list : o Identification of all hardware drivers with their version numbers. o Details of folder structures, and description of the different programs usefulness. B.10. Test and verification of software The purpose of this procedure is to establish rules for the testing and verification of software in order to be able to document all requirements stated in the contract and/or the System Requirement Specification. The procedure is the guideline for the testing and verification of software in all companies development projects, (both basic and product related), and delineates a set of basic test documents which are associated with the dynamic aspects of software testing (i.e. the execution of procedures and code). The procedure defines the purpose of each basic document. Reference is given to the prototype outline of each document. The procedure may be applied to any software that runs on a computer based devices or systems. Size, complexity, or criticality of the software does not restrict applicability. july 2008 Bureau Veritas 37 NI 425 The procedure addresses the documentation of both initial development testing and the testing of subsequent software releases i.e. both new and modified versions of earlier developed software. For a particular software release, it may be applied to all phases from unit testing through user acceptance. The procedure does not call for specific testing methodologies, approaches, techniques, facilities, or tools, and does not specify the documentation of their use. Additional test documentation may be required (for example, code inspection checklists, and reports). Within each standard document, the content of each section (i.e. the text that covers the designated topics) may be tailored to the particular application and the particular testing phase. In addition to tailoring the content, additional documents may be added to the basic set, additional sections may be added to any document and additional content to any section. It may be useful to organize some of the sections into sub-sections. Some or all of the contents of a section may be contained in another document that is then referenced. Each project will need to specify the specific documents required for a particular test phase, and is to specify additional content requirements and conventions in order to reflect their own particular methodologies, approaches, techniques, facilities, or tools for testing. Test and verification of software may be performed on four levels: Unit tests Subsystem (module) Integration test System integration tests System tests. B.11. Software Test Documentation B.11.1. Software Test and Verification Plan The purpose of the Software Test and Verification Plan is to: Describe the scope, approach, resources, and the schedule of testing activities. Identify the items to be tested, the features to be tested, the testing tasks to be performed, the personnel responsible for each task, and the risks associated with the plan. A Software Test and Verification Plan is prepared; Test and Verification of Software. This document gives a detailed plan for all tests from unit tests, integration tests through to system tests and final tests. The plan identifies all the test documents that are associated with the testing of software, i.e. the execution of procedures, code, and associated hardware. It will then be possible to verify that the system meets all specified requirements. B.11.2. Software Test Specification The purpose of the Software Test Specification is to: Specify refinements of the test approach and to identify the features to be tested by this design and its associated tests. Define test cases identified by a Software Design Description. Specify the steps for executing a set of test cases or, more generally, the steps used to analyze a software item in order to evaluate a set of features. B.11.3. Test Log The purpose of the Test Log is to: Provide a chronological record of relevant details about the execution of tests. Identify the test items being transmitted for testing. This includes: The person responsible The physical location Status. 38 Bureau Veritas July 2008 NI 425 Any variation from the current item requirements and designs is noted in this report: Document any event that occurs during the testing process which requires investigation. Find trends and prevent repetition of errors and problems. Summarize the results of the designated testing activities and provide evaluations based on these results. B.12. Failure report The aim of this report is to put forward the major causes of systems failures, to analyze the proposed causes and to justify them with actual examples taken from the recent past. The report then proposes a classification scheme into which the various proposed and justified factors may be placed. This scheme provides a generalized view of the areas where systems failure may be caused. The generalized view given by this classification scheme then allows us to conclude some general techniques and/or practices, which will greatly reduce the number of system failures and thus decrease the impact these failures have. The system failures used as examples and proposed here are not just those that cause the complete collapse of a system but also those that through erroneous operation of that system make large impressions in other ways, e.g. loss of money, life, functionality etc… B.13. Software maintenance Modification of program contents and data, as well as a change of version, is to be documented and submitted for approval. july 2008 Bureau Veritas 39
© Copyright 2026 Paperzz