0% found this document useful (0 votes)
64 views16 pages

Advanced Software Engineering Week 2

System engineering involves defining computer-based systems at different levels of abstraction from a world view down to specific system elements. It applies an interdisciplinary process to ensure customer needs are met throughout the system lifecycle. System engineering results in models of the system using techniques like the Unified Modeling Language (UML) to analyze and design the system at different levels. Business process engineering is a form of system engineering applied when defining computing architectures to enable effective information use within a business organization.

Uploaded by

JJyl
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views16 pages

Advanced Software Engineering Week 2

System engineering involves defining computer-based systems at different levels of abstraction from a world view down to specific system elements. It applies an interdisciplinary process to ensure customer needs are met throughout the system lifecycle. System engineering results in models of the system using techniques like the Unified Modeling Language (UML) to analyze and design the system at different levels. Business process engineering is a form of system engineering applied when defining computing architectures to enable effective information use within a business organization.

Uploaded by

JJyl
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 16

Advanced Software Engineering

Week 2

System Engineering
Introduction
• Software engineering occurs as a consequence of system engineering
• System engineering may take on two different forms depending on the
application domain
– “Business process” engineering – conducted when the context of the work
focuses on a business enterprise
– Product engineering – conducted when the context of the work focuses on
a product that is to be built
• Both forms bring order to the development of computer-based systems
• Both forms work to allocate a role for computer software and to
establish the links that tie software to other elements of a computer-
based system

Dr Tingkai Wang ASE slides


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
Dr Tingkai Wang ASE slides
3
What is Systems Engineering
• Systems Engineering is an interdisciplinary
process that ensures that the customer's
needs are satisfied throughout a system's
entire life cycle.
• Systems engineering is an interdisciplinary
field of engineering focusing on how
complex engineering projects should be
designed and managed over their life cycles.
Dr Tingkai Wang ASE slides
4
The “V” Life-Cycle Model

Mission Operation &


Continuous Quality Improvement Plan
Analysis Retirement

System Final
Validation Plan
Requirements System Test

Functional Verify
Verification Plan
D Decomposition Subsystems
ec
om n
io
po Physical Test rat
si Test Plan g
t io Decomposition Components
nte
n I

Build
Components

The design downstroke and the manufacturing upstroke

Dr Tingkai Wang ASE slides


5
Computer-based System
• Defined: A set or arrangement of elements that are organized to accomplish some
predefined goal by processing information
• The goal may be to support some business function or to develop a product that
can be sold to generate business revenue
• A computer-based system makes use of system elements
• Elements constituting one system may represent one macro element of a still larger
system
• Example
– A factory automation system may consist of a numerical control machine, robots, and
data entry devices; each can be its own system
– At the next lower hierarchical level, a manufacturing cell is its own computer-based
system that may integrate other macro elements
• The role of the system engineer is to define the elements of a specific computer-
based system in the context of the overall hierarchy of systems

Dr Tingkai Wang ASE slides


6
Computer-based System
(continued)
• 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 work products that serve
to effect the logical method, procedure, or control that is required
– Hardware: electronic devices that provide computing capability, interconnectivity
devices that enable flow of data, and electromechanical devices that provide
external functions
– People: Users and operators of hardware and software
– Database: A large, organized collection of information that is accessed via
software and persists over time
• The uses of these elements are described in the following:
– Documentation: Descriptive information that portrays the use and 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

Dr Tingkai Wang ASE slides


7
System Engineering Process
• 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)

"Always design a thing by considering it in its next larger context –


a chair in a room, a room in a house, a house in an environment,
and environment in a city plan"
Dr Tingkai Wang ASE slides
8
System Engineering Hierarchy
World
View

Domain
View

Element
View

Component
View

Dr Tingkai Wang ASE slides


9
System Modeling
(at each view level)
• 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
– Completely automated solution
– A semi-automated solution
– A non-automated (i.e., manual) approach

Dr Tingkai Wang ASE slides


10
Factors to Consider when
Constructing a Model
• 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
– These 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 behavior
– They are driven by customer requirements

Optimization of some of these factors may be mutually exclusive


Dr Tingkai Wang ASE slides
11
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

Dr Tingkai Wang ASE slides


12
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
• Three different architectures must be analyzed and designed within the
context of business objectives and goals
– The data architecture provides a framework for the information needs of a
business (e.g., ERD)
– 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
• It includes the hardware and software that are used to support the applications and
data

Dr Tingkai Wang ASE slides


13
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
– Support infrastructure includes the technology required to tie the components
together and the information to support the components
• 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

Dr Tingkai Wang ASE slides


14
Product Engineering Hierarchy
Product Requirements
Engineering
System
Human Hardware Software Database Component
Engineering Engineering Engineering Engineering Engineering

Data and Analysis


Function Behavior
Classes Modeling

Data/Class Architectural Interface Component Design


Design Design Design Design Modeling

Construction

Dr Tingkai Wang ASE slides


15
Summary
- A system is a set of interrelated components which
interact with one another in an organized fashion
toward a common purpose.
- Systems engineering is an interdisciplinary field of
engineering focusing on how complex engineering
projects should be designed and managed over their life
cycles
- Software engineering occurs as a consequence of system
engineering
- Software requirements, usually, come from system
requirement

Dr Tingkai Wang ASE slides


16 

You might also like