Safety-critical systems are becoming increasingly important to developers, customers and regulatory agencies. Many problems and difficulties exist in assuring safety in safety-critical computing which comes to light sometimes in the software itself and sometimes in the software development process. Many factors seem to influence the performance of software, such as, software process model, quality measurement techniques and tools, and management control methodologies. It is indeed widely accepted that the assessment of software can not be limited to verification and testing of the end product, i.e. the computer code. Other factors like the quality of the processes and management control methods also have an important impact on software performance. Several software implementations of nuclear safety systems have failed due to costly delays caused by difficulties in coordination the development and qualification process. For example, The P20 Project of Chooz B nuclear power plant , the shutdown system of Darlington Nuclear Power Plant , and the primary protection system (PPS) of Sizewell B Nuclear Power Plant . The predominant belief today is that quality must be build into product in the process of development. Furthermore, the quality factors, such as safety, reliability, security i.e. that their prediction and estimation models are strongly affected to software development life cycle models. This paper proposes a new method for software development life-cycle process. The architecture of this model is derived from the Goal Tree Success Tree and Master Logic Diagram (GTST-MLD) . The elements of the architecture model are taken from IEEE Standards, which are related each life cycle phase for safety critical systems [5-16]. The proposed model is flexible for application in different software development environments and can be used in non-safety applications too. Also, In the architecture model, changing of functional and non-functional requirements is straightforward. Individual elements in the process can be updated to reflect technology advances without affecting the model itself.
2.0 Problems in the Software Quality
Software quality system is the integrated application of these three disciplines: modeling of development process (process), modeling of measurement of product (product), and modeling of management and human interactions (people). Understanding a discipline involves building models, testing these model and lesson to learn from real applications. High quality software developer has to deal with elements of following matrix. Model [M] Testing [T] Data [D] [M*PROCESS] [M*PRODUCT] [M*HUMAN] Process Product Human = [T*PROCESS] [T*PRODUCT] [T*HUMAN] [D*PROCESS] [D*PRODUCT] [D*HUMAN]
Main elements of software quality system are shown in Figure 1. Integration of all quality system elements requires a model. The problems to be remedied by such model are (1)-handling complexity in disciplines of quality system and theirs elements, (2) addressing some weakness of existing process models. Complexity of development process and it’s documentation, and alteration of the documentation during maintenance...