Beruflich Dokumente
Kultur Dokumente
Software Application
CASE CASE Tools System Specification
Software Application
Software may be applied in any situation.
Information content and determinacy are important
factors. Content refers to the meaning and form of incoming and outgoing information. For example, many business applications use highly structured input data (a database) and produce formatted reports. Software that controls an automated machine
3
Software Application(Cont..)
It is somewhat difficult to develop meaningful generic
categories for software applications. The following are the classification for software.
1.
2.
3. 4. 5. 6. 7.
System Software Embedded Software Real-time Software Business Software Personal Computer Software Engineering And Scientific Software Artificial Intelligence Software
CASE
CASE stands for Computer-Aided Software Engineering.
CASE Technology provides software process. CASE improve the software quality and producitvity.
CASE Classification
It helps us to understand the types of CASE tools and their role in supporting software process activities.
CASE tool from 3 of these perspectives
Sp ecif icatio n
Design
Implemen tatio n
CASE integration
Tools
Support individual process tasks such as design consistency checking, text editing, etc.
Workbenches
Support a process phase such as specification or design, Normally include a number of integrated tools.
Support all or a substantial part of an entire software process. Normally include several integrated workbenches.
Environments
System Specification
A specification is an explicit set of requirements to be satisfied by a material, product, or service. In computer science, a formal specification is a mathematical description of software or hardware that may be used to develop an implementation
Different type of Specification 1. Formal Specification 2. Program Specification 3. Functional Specification 4. Document Specification
1.
2. 3.
4.
Risk-driven specification
Critical systems specification should be risk-driven. This approach has been widely used in safety and security-critical systems. The aim of the specification process should be to understand the risks (safety, security, etc.) faced by the system and to define requirements that reduce these risks.
Identify potential risks that may arise. Assess the seriousness of each risk. Decompose risks to discover their potential root causes. Define how each risk must be taken into eliminated or reduced when the system is designed.
Risk-driven specification
Risk identification
Identify the risks faced by the critical system. In safety-critical systems, the risks are the hazards that can lead to accidents.
In security-critical systems, the risks are the potential attacks on the system.
In risk identification, you should identify risk
equipment (electrical). Poor sensor and actuator contact (physical). Parts of machine break off in body (physical). Infection caused by introduction of machine (biological). Allergic reaction to materials or insulin (biological).
The process is concerned with understanding the likelihood that a risk will arise and the potential consequences if an accident or incident should occur. Risks may be categorized as:
Levels of risk
Un accepta ble r egion Ris k cann ot b e t oler ated Ris k to lerated o nl y i f ris k reductio n i s impr actical or g ros s ly e xpensive
AL ARP region
Risk assessment
Estimate the risk probability and the risk severity. It is not normally possible to do this precisely so relative values are used such as unlikely, rare, very high, etc.
Risk decomposition
Concerned with discovering the root causes of risks in a particular system. Techniques have been mostly derived from safetycritical systems and can be
The aim of this process is to identify dependability requirements that specify how the risks should be managed and ensure that accidents/incidents do not arise. Risk reduction strategies
Safety specification
The safety requirements of a system should be separately specified. These requirements should be based on an analysis of the possible hazards and risks as previously discussed. Safety requirements usually apply to the system as a whole rather than to individual sub-systems.
Safety requirements
These define the safety functions of the protection system i.e. the define how the system should provide protection. These define the reliability and availability of the protection system. They are based on expected usage and are classified using a safety integrity level (SIL) from 1 to 4.
Security specification
Has some similarities to safety specification Differences
No well-defined notion of a security life cycle for security management; No standards; Generic threats rather than system specific hazards Mature security technology (encryption, etc.). However, there are problems in transferring this into general use
each 1000 operational time units e.g. 2 failures per 1000 hours of operation. Relevant for operating systems, transaction processing systems where the system has to process a large number of similar requests that are relatively frequent
1. 2.
Formal methods
Formal specification is part of a more general collection of techniques that are known as formal methods. These are all based on mathematical representation and analysis of software.
Specification and design are intermingled. Architectural design is essential to structure a specification and the specification process. Formal specifications are expressed in a mathematical notation with precisely defined vocabulary, syntax and semantics.
Formal specification involves investing more effort in the early phases of software development. This reduces requirements errors as it forces a detailed analysis of the requirements. Incompleteness and inconsistencies can be discovered and resolved. Hence, savings as made as the amount of rework due to requirements problems is reduced.
Cost profile
The use of formal specification means that the cost profile of a project changes
There are greater up front costs as more time and effort are spent developing the specification However, implementation and validation costs should be reduced as the specification process reduces errors and ambiguities in the requirements.
Specification techniques
Algebraic specification
The system is specified in terms of its operations and their relationships. The system is specified in terms of a state model that is constructed using mathematical constructs such as sets and sequences.
Model-based specification
Interface specification
Large systems are decomposed into subsystems with well-defined interfaces between these subsystems. Specification of subsystem interfaces allows independent development of the different subsystems. Interfaces may be defined as abstract data types or object classes.
Sub-system interfaces
Specification components
Introduction
Defines the sort (the type name) and declares other
Description
Informally describes the operations on the type.
Signature
Defines the syntax of the operations in the interface and
their parameters.
Axioms
Defines the operation semantics by defining axioms
Behavioural specification
Model-based specification exposes the system state
and defines the operations in terms of changes to that state. The Z notation is a mature technique for model-based specification. It combines formal and informal description and uses graphical highlighting when presenting specifications.