Book for the slides
1) Systems Analysis and Design
Author: Elias M. Awad
2) Software Engineering, 6th edition
Author: Lan Sommerville
3) Software Engineering
Author: Roger S. Pressman
It is concerned with how the system functionality is to be provided
by the different components of the system.
The following activities are involved:
i. Partition requirements: The requirements are analyzed and
collected into groups.
ii. Identify subsystems: Different sub-systems that can individually
or collectively meet the requirements are identified.
iii. Assign requirements to sub-systems: The requirements are
assigned to subsystems.
iv. Specify sub-system functionality: The specific functions provided
by each subsystem are specified.
v. Define sub-system interfaces: It defines the interfaces that are
provided and required by each subsystem.
Fig. 2.8 Sommerville p33
System engineering process
- Many different engineering disciplines may be involved in system
- It involves the following phases:
i) Requirements definition ii) System design
iii) Sub-system development iv) System integration
v) System installation vi) System operation
vii) System evolution viii) System decommissioning
Fig. 2.6 Sommerville 6th ed.
i) System Requirements definition
- It is intended to discover the requirements for the candidate
system as a whole.
- The process involves consultation with system customers and
- It concentrates on deriving three types of requirement:
1) Abstract functional requirements
- The basic functions of the system are defined at an abstract level
- Detailed functional requirements specification takes place at the subsystem level.
2) System properties
- These are non-functional emergent system properties, e.g., availability,
performance, safety etc.
3) Characteristics which the system must not exhibit
- It is important to establish a set of overall system objectives
ii) System design: as described in previous slide.
iii) Sub-system development
- The subsystems identified during system design are implemented.
iv) System integration
- It involves taking independently developed subsystems and putting them
together to make up a complete system.
System Engineering Process
v) System installation
- During this phase, the system is put into the environment in which it is intended to
vi) System operation
- The system is put into operation after it has been installed.
- It may involve organizing training sessions for operators and changing the normal
work process to make effective use of the new system.
vii) System evolution
- Large and complex software must have to evolve to correct errors in the original
system requirements, and meet new requirements which have emerged.
- The system’s computers are replaced with new faster machines, and may
reorganize itself. The external environment of the system may change which may
force to change the system.
viii) System decommissioning
- It means taking the system out of service after its operational lifetime.
- The system engineering activity should anticipate decommissioning and dispose
the materials which are damaging to the environment.
- The description of the services and constraints are the requirements for the system.
- It is the process of finding out, analyzing, documenting, and checking these services
and constraints is called requirements engineering.
- These are statements in a natural language plus diagrams. of what services the
system is expected to provide and the constraints under which it must operate.
- It set out the system services and constraints in detail. The system requirements
document called functional specification should be precise.
Software design specification
- It is an abstract description of the software design. The specification add further
detail to the system requirements specification.
Software system requirements are:
1. Functional requirements:
These are statements of services the system should provide,
how the system should react to particular inputs, and how the system
should behave in particular situations.
2. Non-functional requirements:
These are constraints on the services or functions offered by
the system, e.g., timing constraints.
3. Domain requirements
These requirements come from the application domain of the
system and that reflect characteristics of that domain. They
may be functional or non-functional requirements.
Functional requirements (Sommerville p100)