• Keine Ergebnisse gefunden

3.3 Software refinement

3.4.7 Enhancement as software product line

The product line approach is based on a set of common features. Each element of the product line contains some common features; they are used to identify products as belonging to the same line. The common features are preserved and enhanced in the development of any product of this line. Commonality of the features has

various significant advantages. Besides providing a familiar look-and-feel to the end customer, it allows a systematic reuse of artifacts in the development process.

This can signicantly improve quality and cost efficiency. The CSP-CASLbased software enhancement definition allows to investigate product line based software development. Particularly, the definition ofenhancement through substitution and enhancement through extension allow to elaborate concepts of product line based software development.

3.5 Summary

In this chapter, a distinct formal specification technique is introduced which allows to distinguish observable and internal behaviors of a specifying software system.

The proposed specification technique provides a pragmatic approach for the de-scription of abstract and detailed specification of a software system. Generally, at the initial steps of software specification only abstract behaviors are specified.

Subsequently, the abstract specification is evolved into detailed design by fixing design details. The approach of fixing design details is considered as an addition of internal behaviors. In this research, the CSP-CASLbased syntax and semantics is presented to describe a software system specification as observable and internal behaviors.

This proposed approach of software specification is further investigated in vertical and horizontal evolution of the software systems In vertical software evolution, the established idea of software refinement is extended with the consideration of observable and internal behaviors,CSP-CASLbased software refinement is formally described and elaborated with our proposed case study of medical embedded de-vice. Further, as a horizontal software evolution, the idea of software enhancement is formulated with extended CSP-CASLsyntax and semantics. The defined con-cept is investigated for software artifacts traceability and reusability. Software enhancement techniques are categorized to tackle the needs of today’s industrial environment.

These formulations of software specification, software refinement and software en-hancement play a key role to formalize the concepts of software system evolution.

In further chapters these definitions are taken as a foundation for product and process quality improvement framework development.

Product quality framework

Software product quality planning should start with an unambiguous, precise and complete description of user requirements. Requirement gathering is the most important step for any software product development. The quality of a software system is hugely dependents on the requirement specification. Software product quality values vary with the criticality and applicability of software products. In safety critical systems, software quality has a different meaning than a simple business processing application e.g. (Mobile communication, Enterprise Resource Planning, Business IT Management etc.). A lack of quality in a safety critical system might lead to an unrecoverable loss. However a quality problem in a simple business processing application might be tolerable by its users. In the development of software systems, quality requirements are decided with various business and operational aspects in mind. In general, software system quality is assured by the combination of product and process quality. Product quality is closely related to the conformance of the user requirement in terms of different types of testing and verification techniques. However, process quality is more concerned with defect prevention and efficient software life cycle management. A good process is generally achieved with the support of standard process models such as CMMI, ISO, SPICE, V-modelxt, Six sigma etc.

Our proposed product quality framework is established on the foundation of for-mal method based software development and software evolution. Particularly, we describe a distinct approach to test case derivation and maintenance based on ex-tendedCSP-CASLformalism. In the subsequent sections of this chapter, we present a detailed view on the proposed software product quality framework. At the end

64

of this chapter, a brief description of the developed CSP-CASLevolution tool (cc-FormTest) is presented. The developed tool provides pragmatic support to our proposed software quality framework. The proposed software quality framework is further explained by the development and maintenance of the selected medical embedded system case study.

4.1 Testing terminologies

Formal methods based software system development has shown significant benefits in the software verification and validation activities [41] [70] [18]. In this research, we investigate the advantages of CSP-CASL based software system formalism in testing domain. The proposed testing terminologies are built on the existing re-search proposed by [71] [63] [72] [48]. Particularly, we have extended test case derivation, test case maintenance and test case evaluation methodologies of the existing research of our group [71]. In this paper, deep theoretical approach of software refinement and testing is presented for a CSP-CASLbased formalism. In particular, for a test case the test oracle and test evaluation problem is separated with a definition of expected result (green, red and yellow) and the test verdicts (pass, fail and inconclusive). These concepts allow specification transformation, refinement and test execution at all stages of software system’s design [71]. In this thesis, we have considered more pragmatic approach to specification refinement and test generation and test evaluation. The proposed framework is developed with a consideration of product and process quality improvement.