Advanced Software Engineering
Week 2
System Engineering
D.M.K.D.Dissanayake
MSc-IT(Cyber security), PGDIT, BSc(Hons),HR(Dip)
1
SYSTEM
2
What is a System?
Definition of a System
(NASA Systems Engineering Handbook)
• A system is a set of interrelated components which
interact with one another in an organized fashion toward
a common purpose.
System components may be quite diverse
• Persons and Organizations
• Software and Data
• Equipment and Hardware
• Facilities and Materials
• Services and Techniques
3
What is a System?
• A system can be NATURAL or ENGINEERED.
• Example of a natural system is our solar system.
• Engineered systems are designed and built to satisfy
human needs.(example wireless telephone network,
power generation plants and our highways)
• From a functional viewpoint systems have inputs,
processes and outputs.
• Feedback is a mechanism to compare goals and outputs.
• Systems have boundaries.
4
What is a System?
5
System
A system that includes software falls into two categories:
• Technical Computer-based system (They include h/w and
s/w – Example mobile phones, TV)
• They use it for some purpose, knowledge of the purpose is
not important.
• Socio-technical systems (The include operators
(peoples) part of the system )
• They include knowledge of how the system must be used.
• They are governed by national laws, organizational rules,
and policies.
• Eg : E-learning
6
System
Technical Computer based system
Socio-technical systems
7
COMPUTER-BASED SYSTEM
8
Computer-based System
Definition
The computer-based system as a set or arrangement of
elements that are organized to a some predefined goal by
processing information
9
Computer-based System
A computer-based system makes use of the following four
system elements that combine in a variety of ways to
transform information.
Software: Computer programs, data structures, and
related documentation that serve to effect the logical
method, procedure, or control that is required.
Hardware: Electronic devices that provide computing
capability, the interconnectivity devices (e.g., network
switches, telecommunications devices) that enable the
flow of data, and electromechanical devices (e.g., sensors,
motors, pumps) that provide external world function.
People: Users and operators of hardware and software. 10
Computer-based System
Database: A large, organized collection of information that
is accessed via software.
The uses of these elements are described in the following:
Documentation: Descriptive information (e.g., hardcopy
manuals, on-line help files, Web sites) that represents the
use and/or operation of the system.
Procedures: The steps that define the specific use of each
system element or the procedural context in which the
system resides. 11
SYSTEM ENGINEERING
12
What is Systems Engineering?
Systems engineering is an interdisciplinary field of
engineering focusing on how complex engineering projects
should be designed and managed over their life cycles.
Designing, implementing, deploying and operating systems
which include hardware, software and people.
13
What is Systems Engineering?
Systems Engineering- Bridging the gap from user needs to system
developers
14
Systems Engineering Domains
15
Systems Engineering and Traditional Engineering
Disciplines
• Systems engineering differs from mechanical, electrical,
and other engineering disciplines in several important
ways
• Systems engineering is focused on the system as a whole
• It is focused on its total operation.
• It looks at the system from the outside, that is, at its
interactions with other systems and the environment, as
well as from the inside.
• While the primary purpose of systems engineering is to
guide, this does not mean that systems engineers do not
themselves play a key role in system design.
• Systems engineering bridges the traditional engineering
16
disciplines.
System Engineering Process
Disciplines involved in System Engineering
17
Systems Engineering Process
18
Systems Engineering Process
1. System Requirement definition
It specifies what the system should do by consulting end
users and the customers of the system.
Abstract functional requirements
System properties
Availability
Performance
Security
19
Systems Engineering Process
Systems Engineering Process
2. System design
It depicts the design of the functionality of the system
1. Partition Requirements
2. Identify sub systems
3. Assign requirements to sub systems
4. Specify sub system functionality
5. Define sub system interfaces
21
Systems Engineering Process
2. System design
22
Systems Engineering Process
24
Systems Engineering Process
Architecture model
It is detailed design of the entire system
It shows flows between sub systems.
It is presented in the form of block diagram
25
Systems Engineering
System engineering may take on two different forms
depending on the application domain
Business process engineering: The system engineering
process is called business process engineering when the
context of the engineering work focuses on a business
enterprise.
Product engineering: When a product is to be built, the
process is called product engineering.
• Both are attempt to bring order to the development of
computer-based systems.
31
SYSTEM ENGINEERING HIERARCHY
30
The System Engineering Hierarchy
• Regardless of its domain of focus, system engineering
encompasses a collection of top-down and bottom-up
methods to navigate the hierarchy.
31
The System Engineering Hierarchy
World View
Domain View
Element View
Component View
32
The System Engineering Hierarchy
• The system engineering process begins with a world view; the
business or product domain is examined to ensure that the
proper business or technology context can be established.
• The world view is refined to focus on a specific domain of
interest
• Within a specific domain, the need for targeted system elements
is analyzed
• Finally, the analysis, design, and construction of a targeted
system element are initiated
• At the world view level, a very broad context is established
• At the bottom level, detailed technical activities are conducted
by the relevant engineering discipline (e.g., software engineering)
35
BUSINESS PROCESS ENGINEERING
34
Business Process Engineering
• “Business process” engineering defines architectures that
will enable a business to use information effectively
• It involves the specification of the appropriate computing
architecture and the development of the software
architecture for the organization's computing resources
35
Business Process Engineering
Three different architectures must be analysed and designed
within the context of business objectives and goals:
oData architecture
o applications architecture
o technology infrastructure
36
Business Process Engineering
• The data architecture provides a framework for the
information needs of a business or business function.
• The application architecture encompasses those elements
of a system that transform objects within the data
architecture for some business purpose.
• The technology infrastructure provides the foundation for
the data and application architectures. The infrastructure
encompasses the hardware and software that are used to
support the application and data.
37
Business Process Engineering
38
PRODUCT ENGINEERING
39
Product Engineering
• Product engineering translates the customer's desire for a
set of defined capabilities into a working product
• It achieves this goal by establishing a product architecture
and a support infrastructure
• Product architecture components consist of people,
hardware, software, and data
40
Product Engineering
• Requirements engineering elicits the requirements from the customer
and allocates function and behavior to each of the four components
• System component engineering happens next as a set of concurrent
activities that address each of the components separately
• Each component takes a domain-specific view but maintains
communication with the other domains
• The actual activities of the engineering discipline takes on an element
view
• Analysis modeling allocates requirements into function, data, and
behavior
• Design modeling maps the analysis model into data/class, architectural,
interface, and component design
41
Product Engineering
42
SYSTEMS MODELLING
43
The Systems Modelling
• Defines the processes (e.g., domain classes in OO
terminology) that serve the needs of the view under
consideration
• Represents the behavior of the processes and the
assumptions on which the behavior is based
• Explicitly defines intra-level and inter-level input that
form links between entities in the model
• Represents all linkages (including output) that will enable
the engineer to better understand the view
• May result in models that call for one of the following
o Completely automated solution
o A semi-automated solution
o A non-automated (i.e., manual) approach 44
The Systems Modelling
• System engineering is a modelling process.
• To construct a system model, the
engineer should consider a number of
factors:
o Assumptions
o Simplifications
o Limitations
o Constraints
o Preferences
45
The Systems Modelling
Assumptions: These reduce the number of possible variations,
thus enabling a model to reflect the problem in a reasonable
manner
Simplifications: These enable the model to be created in a
timely manner
Limitations: These help to bound the maximum and minimum
values of the system
Constraints: Will guide the manner in which the model is
created and the approach taken when the model is
implemented.
Preferences: These indicate the preferred solution for all data,
functions, and behaviour.They are driven by customer
requirements
46
System Modeling with UML
• The Uniform Modeling Language (UML) provides diagrams
for analysis and design at both the system and software
levels
Examples
• Use case diagrams
• Activity diagrams
• Class diagrams
• State diagrams
47
Summary
-A system is a set of interrelated components which
interact with one another in an organized fashion
toward a common purpose.