Upload
syed-talha
View
216
Download
0
Embed Size (px)
Citation preview
7/30/2019 Introduction Lecture 9(30102012)
1/44
System Engineering
LECTURE 9
ByUmm-e-Laila
1
7/30/2019 Introduction Lecture 9(30102012)
2/44
Topics to be covered
System Engineering
-System Engineering Hierarchy
-Business Process Engineering
-Requirement Engineering
-System Engineering
2
7/30/2019 Introduction Lecture 9(30102012)
3/44
Computer-based System
Software engineering occurs as a consequence of system engineering
System engineering may take on two different forms depending on theapplication domain
Business process engineeringconducted when the context of the workfocuses on a business enterprise
Product engineeringconducted when the context of the work focuses on aproduct 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 establishthe links that tie software to other elements of a computer-based system
3
7/30/2019 Introduction Lecture 9(30102012)
4/44
System
System (Webster)
A set or arrangement of things so related as to form a unity or organic whole
A set of facts, principles, rules. etc., to show a logical plan linking thevarious parts
A method or plan of classification or arrangement
An established way of doing something such as a method or procedure
4
7/30/2019 Introduction Lecture 9(30102012)
5/44
Computer-based System
Defined: A set or arrangement of elements that are organized to accomplishsome predefined goal by processing information
The goal may be to support some business function or to develop a product thatcan 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-basedsystem that may integrate other macro elements
The role of the system engineer is to define the elements of a specificcomputer-based system in the context of the overall hierarchy of systems
5
7/30/2019 Introduction Lecture 9(30102012)
6/44
Computer-based System (continued)
A computer-based system makes use of the following four system elements thatcombine 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, interconnectivitydevices 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 softwareand 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
6
7/30/2019 Introduction Lecture 9(30102012)
7/44
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)
7
"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"
7/30/2019 Introduction Lecture 9(30102012)
8/44
System Engineering Hierarchy
8
WorldView
Domain
View
Element
View
Component
View
7/30/2019 Introduction Lecture 9(30102012)
9/44
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 thebehavior 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 tobetter 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
9
7/30/2019 Introduction Lecture 9(30102012)
10/44
7/30/2019 Introduction Lecture 9(30102012)
11/44
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
11
7/30/2019 Introduction Lecture 9(30102012)
12/44
12
Business Process Engineering
uses an integrated set of procedures,methods, and tools to identify how
information systems can best meet the
strategic goals of an enterprise
focuses first on the enterprise and then onthe business area
creates enterprise models, data models and
process models
creates a framework for better informationmanagement distribution, and control
7/30/2019 Introduction Lecture 9(30102012)
13/44
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'scomputing resources
Three different architectures must be analyzed and designed within thecontext of business objectives and goals
The data architecture provides a framework for the information needs of abusiness (e.g., ERD)
The application architecture encompasses those elements of a system thattransform objects within the data architecture for some business purpose
The technology infrastructure provides the foundation for the data andapplication architectures
It includes the hardware and software that are used to support the applicationsand data
13
7/30/2019 Introduction Lecture 9(30102012)
14/44
Business Engineering Hierarchy
14
The Enterprise
A Business Area
Construction &integration
(Detailed View)
Information
System
Business
System Design
(element view)
Business Area
Analysis
(Domain View)
Information
Strategy Planning
(World View)
7/30/2019 Introduction Lecture 9(30102012)
15/44
The BPE Hierarchy Information strategy planning (ISP) (world view)strategic goals definedsuccess factors/business rules identifiedenterprise model created
Business area analysis (BAA) (domain view)processes/services modeled
interrelationships of processes and data Business system design - Application Engineering
(element view)Software engineering
modeling applications/procedures that address (BAA) and
constraints of ISP Construction and delivery (detailed view)using CASE and 4GTs, testing
15
7/30/2019 Introduction Lecture 9(30102012)
16/44
16
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, anddata
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 concurrentactivities that address each of the components separately
Each component takes a domain-specific view but maintains communicationwith the other domains
The actual activities of the engineering discipline takes on an element view
Analysis modeling allocates requirements into function, data, andbehavior
Design modeling maps the analysis model into data/class, architectural,
interface, and component design
7/30/2019 Introduction Lecture 9(30102012)
17/44
17
Product Engineering Hierarchy
Product Requirements
Engineering
Hardware
Engineering
Software
Engineering
Database
Engineering
Construction
Human
Engineering
AnalysisModelingFunction
Data and
ClassesBehavior
Architectural
Design
Interface
Design
Component
Design
Data/Class
Design
Design
Modeling
System
Component
Engineering
7/30/2019 Introduction Lecture 9(30102012)
18/44
Requirements Engineering
Challenge facing system and software engineers
How can we ensure that we have specified a system that:
Properly meets the customers needs
Satisfies the customers expectations
Requirements engineering provides mechanisms for: Understanding what the customer wants
analyzing need
assessing feasibility
negotiating a reasonable solution
specifying the solution
validating the specification
managing the transformation of the requirements into an operational
system
18
7/30/2019 Introduction Lecture 9(30102012)
19/44
Requirements Engineering
The requirements engineering process can bedescribed in six steps:
Inception Elicitation
Elaboration
Negotiation
Specification Validation
Requirements management
19
7/30/2019 Introduction Lecture 9(30102012)
20/44
20
Inception Task
During inception, the requirements engineer asks a set of questionsto establish
A basic understanding of the problem
The people who want a solution
The nature of the solution that is desired
The effectiveness of preliminary communication and collaborationbetween the customer and the developer
Through these questions, the requirements engineer needs to
Identify the stakeholders
Recognize multiple viewpoints
Work toward collaboration
Break the ice and initiate the communication
7/30/2019 Introduction Lecture 9(30102012)
21/44
Requirements Elicitation
It might seem that this should be simple:
Ask the customer, users, and others:
What the objectives for the system are
What is to be accomplished
How the system fits the into the needs of the business
How the system will be used on a day-to-day basis
In fact it is hard!
Problems of scope Problems of understanding
Problems of volatility
21
7/30/2019 Introduction Lecture 9(30102012)
22/44
Problems of Scope
The boundary of the system may be ill-defined Who is going to interact with the system? What other systems are involved? Exactly what functionality is the responsibility of
the system e.g. should a rostering system produce a telephone
directory?
The customer/user may specify unnecessarytechnical detail that may confuse overall
system objectives e.g. specifying OS, language, hardware, etc. for no
particularly good reason
22
7/30/2019 Introduction Lecture 9(30102012)
23/44
Problems of Understanding
Customers/users may: Not be completely sure of what is needed, e.g.:
See what you can do to help us(Marketing director of textile business)
Try to improve the project(Director of British Aircraft Corporation, with reference to theConcorde project)
Have a poor understanding of the capabilities andlimitations of their computing equipment
Not have a full understanding of the problem domain Have trouble communicating needs to system engineer
Omit information believed to be obvious Specify requirements that conflict with needs of others Specify requirements that are ambiguous or untestable
23
7/30/2019 Introduction Lecture 9(30102012)
24/44
Problems of Volatility
Requirements change over time Change is inevitable in most systems, due
to factors such as: Changes in customer organization, e.g.
new divisions, new products Changes in scale, e.g. Number of transactions per day Number of users Increased connection bandwidth
External changes
Changes in law (e.g. taxation) Changes in international standards (e.g. MPEG)
Customers get new ideas as they becomeaware of system possibilities
24
7/30/2019 Introduction Lecture 9(30102012)
25/44
25
Elicitation Work Products
A statement of need and feasibility
A bounded statement of scope for the system or product
A list of customers, users, and other stakeholders who participated in
requirements elicitation
A description of the system's technical environment
A list of requirements (organized by function) and the domainconstraints that apply to each
A set of preliminary usage scenarios (in the form of use cases) that
provide insight into the use of the system or product under differentoperating conditions
Any prototypes developed to better define requirements
The work products will vary depending on the system, but
should include one or more of the following items
7/30/2019 Introduction Lecture 9(30102012)
26/44
26
Elaboration Task
During elaboration, the software engineer takes the informationobtained during inception and elicitation and begins to expand andrefine it
Elaboration focuses on developing a refined technical model ofsoftware functions, features, and constraints
It is an analysis modeling task
Use cases are developed
Domain classes are identified along with their attributes and relationships
State machine diagrams are used to capture the life on an object
The end result is an analysis model that defines the functional,informational, and behavioral domains of the problem
7/30/2019 Introduction Lecture 9(30102012)
27/44
27
Developing Use Cases
Step One Define the set of actors that will be involved in the story
Actors are people, devices, or other systems that use the system or product
within the context of the function and behavior that is to be described
Actors are anything that communicate with the system or product and that are
external to the system itself
Step Two Develop use cases, where each one answers a set of questions
(More on next slide)
7/30/2019 Introduction Lecture 9(30102012)
28/44
28
Negotiation Task
During negotiation, the software engineer reconciles the conflictsbetween what the customer wants and what can be achieved givenlimited business resources
Requirements are ranked (i.e., prioritized) by the customers, users,and other stakeholders
Risks associated with each requirement are identified and analyzed Rough guesses of development effort are made and used to assess
the impact of each requirement on project cost and delivery time
Using an iterative approach, requirements are eliminated, combinedand/or modified so that each party achieves some measure ofsatisfaction
7/30/2019 Introduction Lecture 9(30102012)
29/44
29
Specification Task
A specification is the final work product produced by therequirements engineer
It is normally in the form of a software requirements specification
It serves as the foundation for subsequent software engineering
activities It describes the function and performance of a computer-based
system and the constraints that will govern its development
It formalizes the informational, functional, and behavioralrequirements of the proposed software in both a graphical andtextual format
7/30/2019 Introduction Lecture 9(30102012)
30/44
30
Validation Task
During validation, the work products produced as a result ofrequirements engineering are assessed for quality
The specification is examined to ensure that
all software requirements have been stated unambiguously
inconsistencies, omissions, and errors have been detected and corrected
the work products conform to the standards established for the process,the project, and the product
The formal technical review serves as the primary requirementsvalidation mechanism
Members include software engineers, customers, users, and other
stakeholders
7/30/2019 Introduction Lecture 9(30102012)
31/44
Requirements Management
We have noted that changes in requirements:
are essentially unavoidable
will persist throughout the lifetime of the system
Requirements managementhelps the projectteam to identify, track and control requirements
and changes to them
This is closely related to configuration management Traceability tables are developed for
requirements
31
7/30/2019 Introduction Lecture 9(30102012)
32/44
32
A Generic Traceability Table
A01 A02 A03 Aii
R01
R02
R03
Rnn
7/30/2019 Introduction Lecture 9(30102012)
33/44
Traceability Tables
Features traceability table Show how requirements relate to customer-
observable system features Source traceability table
Identify the source of each requirement Dependency traceability table
Show relationships between requirements Subsystem traceability table
Categorise requirements according to subsystemsthey govern
Interface traceability table Shows how requirements relate to internal and
external system interfaces
33
7/30/2019 Introduction Lecture 9(30102012)
34/44
System Modeling Process
Hartley-Pirbhai Modeling
System Context Diagram (SCD)
top level node in system hierarchy used to establish the boundary between
the system being implemented (system model template serves as its basis)
System Flow Diagram (SFD)refinement of the process and control functions from SCD, derived by
identifying the major subsystems and lines of information flow.
Initial SFD is becomes the top level node of a hierarchy of
more successively more detailed SFD's System Specification
developed by writing narrative description for each subsystem and
definitions for all data that flow between subsystems
34
7/30/2019 Introduction Lecture 9(30102012)
35/44
System Modeling
Any computer-based system can be modeled
as a box with input > processing(in the box) >
output.
Hatley and Pirbhai extend this with
user interface processing
maintenance and self testing
features.
Hatley and Pirbhai have developed a template that
helps modelers describe the system
35
7/30/2019 Introduction Lecture 9(30102012)
36/44
System Model Template
36
7/30/2019 Introduction Lecture 9(30102012)
37/44
37
Conveyor Line Sorting System (CLSS)
CLSS must be developed such that boxes moving along a conveyor line will be
identified and sorted into one of six bins at the end of the line. The boxes will
pass by a sorting station where they will be identified. Based on an
identification number printed on the side of the box and a bar code, the boxes
will be shunted into the appropriate bins. Boxes pass in random order and are
evenly spaced. The line is moving slowly.
A desk-top computer located at the sorting station executes all CLSS software,
interacts with the bar-code reader to read part numbers on each box, interacts
with the conveyor line monitoring equipment to acquire conveyor line speed,
stores all part numbers sorted, interacts with a sorting station operator toproduce a variety of reports and diagnostics, sends control signals to the
shunting hardware to sort the boxes, and communicates with a central factory
automation system.
7/30/2019 Introduction Lecture 9(30102012)
38/44
Architecture Flow Diagram
38
7/30/2019 Introduction Lecture 9(30102012)
39/44
Architecture Flow Diagram
39
7/30/2019 Introduction Lecture 9(30102012)
40/44
System Modeling with UML
Deployment diagrams Each 3-D box depicts a hardware element that is
part of the physical architecture of the system
Activity diagrams Represent procedural aspects of a system
element
Class diagrams Represent system level elements in terms of the
data that describe the element and the operationsthat manipulate the data
These and other UML models will be discussed later
40
7/30/2019 Introduction Lecture 9(30102012)
41/44
41
Deployment Diagram
CLSS processor
Sort ing subsystem
Sensor data
acquisition subsystem
Operator display
shunt controller
Conveyor
Pulse tachBar code reader Shunt actuator
A i i Di
7/30/2019 Introduction Lecture 9(30102012)
42/44
Activity Diagram
42
get conveyor speed
send shunt
cont ro l data
get shunt s ta t us read bar code
start conveyor l ine
determine b in locat ion
valid bar code
set f o r re ject b in
conveyor in motion
read bar code
get conveyor sta t us
produce report ent ry
conveyor stopped
invalid bar code
Cl Di
7/30/2019 Introduction Lecture 9(30102012)
43/44
Class Diagram
43
Box
barcode
forwardSpeed
conveyorLocation
height
widthdepth
weight
contents
readBarcode()
updat eSpeed ()
readSpeed()
updat eLocat ion()readLocat ion()
get Dimensions( )
getWeight()
checkCont ents( )
class name
attributes
not e use of capit al
lett er for mult i-word
att ribute names
operat ions(parentheses at end
of name indicat e t he
list of attributes that the
operat ion requires)
7/30/2019 Introduction Lecture 9(30102012)
44/44
Use-Case Diagram
homeowner
Arms/ dis armssystem
Acc ess es s ys tem
via Internet
Reconfigur es sensors
and related
system features
Responds to
alarm event
Encounters an
error condition
system
administrator
sensors