软件工程
电子教案
王树林
第三部分 传统软件工程方法
这一部分,我们主要考虑那些可应用于计算机
软件的分析、设计和测试的技术概念、方法
和测度。
思考如下问题:
( 1)如何在一个大型系统的范围内设计软件?
( 2)可用于软件需求分析的基本概念和原则是
什么?
( 3)什么是结构化分析?他的各种模型如何使
得软件工程师能够理解数据、功能和行为?
( 4)软件设计活动中使用的基本概念和原则是
什么?
第三部分 传统软件工程方法
( 5)如何创建数据、体系结构、过程和界面等
设计模型?
( 6)实时系统有什么独特的特性?这些特性如
何影响这种系统的分析和设计方式?
( 7)可应用于软件测试的基本概念和原则是什
么?
( 8)如何使用黑盒测试和白盒测试方法来设计
有效的测试用例?
( 9) 软件测试的策略是什么?
( 10)什么技术度量可用于评估分析和设计模
型、源代码、以及测试用例?
第 10章 系统工程
10.1 基于计算机的系统
基于计算机的系统:
软件,计算机程序、数据结构和相关文档,
他们被用于实现所需的逻辑方法、规程和控
制。
硬件,提供计算能力的电子设备和提供外部
功能的电子机械设备如传感器、马达和抽水
泵等。
人员 硬件和软件的操作者和用户。
数据库 通过软件访问的大型的有组织的信息
结合。
第 10章 系统工程
文档 手册、表格和其他描述信息
规程 一系列步骤、定义每个系统元素的
特定使用或系统驻留的过程性语境。
这些元素按不同的方式组合可构成不同的
信息。例如市场部门将原始的销售数据
经组合转变成各种图表、
第 10章 系统工程
Factory Automation system
Manufacturing
System
Inventory
System
Information
System
Material
Movement
System
Manufacturing
Cells
NC
Machine Robots
Data
Entry
Devices
一个系统的系统
第 10章 系统工程
基于计算机的系统是复杂的,一个系统的元素
仍可是一个系统。因此系统是有层次的。
10.2 系统工程层次结构
系统工程从 World view开始。
WV={D1,D2,…,Dn}
Di={E1,E2,…Em}
Ej={C1,C2,…Ck}
构件应该是计算机程序、可复用的程序构件,
模块、或程序语句。
第 10章 系统工程
Business or
Product Domain
Domain
of
Interest
World
View
Business or
Product Domain
System
element
Domain
View
Element
View
Detailed
View
第 10章 系统工程
10.2.1 System Modeling
系统工程是一个建摸过程。
构造模型需要考虑的因素:
1:假设减少可能的排列和变化数量,使得模型
以合理的方式反映问题。
2:简化,使得能够尽快创建模型。
3:限制,有助于系统边界定义。
4:约束:将指导用什么方式来建立模型,以及
用什么方法来实现模型。
5:优先选择指明,所有数据、函数和技术优先
选择的体系结构。
第 10章 系统工程
10.2.2 信息工程
数据体系结构。
应用软件体系结构。
技术基础设施。
第 10章 系统工程
10.7 系统体系结构建摸
每个基于计算机的系统可用输入 -处
理 -输出的体系结构来为信息变化建摸。
用户接口处理
Input OutPut过程和控制函数
维护和自测
第 10章 系统工程
Conveyor Line
Sorting
System
Sorting Station
Operator
Bar code
reader
Conveyor
Line
Sorting
Mechanism
Mainframe
Sorting
Station
Operator
Formatted reporting
data
Line speed
indicator
Bar
code
Diagnostic
data
request Queries and
reports
Shunt
commands
扩展 CLSS的
体系结构语
境图( ACD)
第 10章 系统工程
Bar code
Decoding
subsystem
Operator
Interface
subsystem
Database
Access
subsystem
Report
formatting
subsystem
Shunt
Control
subsystem
Bar code
Reader
subsystem
Sensor data
Acquisition
subsystem
diagnostics
Subsystem
Shunt
controller
mainframe
Communications
driver
P262
第 10章 系统工程
10.8 system Modeling and simulation
A B
第 10章 系统工程
10.9 系统规约
系统规约是一份文档,他是硬件工
程、软件工程、数据库工程和人机工程
的基础。
Summary
A high-technology system encompasses a
number of components,software,
hardware,people,database,document,
and procedures,System engineering helps
to translate a customer’s needs into a
model of a system that makes use of one or
more of these components.
Summary
System engineering begins by taking a ―world
view‖,A business domain or product is analyzed
to establish all basic requirements,Focus is then
narrowed to a ―domain view,‖ where each of the
system elements is analyzed individually,Each
element is allocated to each one or more
engineering components which are then
addressed by the relevant engineering discipline.
Summary
Information engineering is a system engineering
approach that is used to define architectures that
enable a business to use information effectively,
The intent of information engineering is to
derive comprehensive data architectures,an
application architecture,and a technology
infrastructure that will meet the needs of the
business strategy and the objectives and goals pf
each business area,Information engineering
encompasses information strategy
planning,business area analysis,and application-
specific analysis that is actually part of software
engineering,
Summary
Product engineering is a system engineering
approach that begins with system analysis,The
system engineer identifies the custom’s needs,
determines economic and technical feasibility,
and database –the key engineering components,
An architectural model of the system or product
is produced and representations of each major
subsystem can be developed.Finally,the system
engineer can create a reactive system model that
can be used as the basis for a simulation of
performance and behavior,The system
Summary
engineering task culminates with the creation of a
system specification—a document that forms the
foundation for all engineering work that follows.
System engineering demands intense
communication between the customer and the
information or system engineer.The customer
must understand system objectives and be able to
state them clearly,The engineer must know what
question to ask,what advice to state them clearly,
The engineer must know what questions to ask,
what research to do,If communication is
established for the construction of the system,
电子教案
王树林
第三部分 传统软件工程方法
这一部分,我们主要考虑那些可应用于计算机
软件的分析、设计和测试的技术概念、方法
和测度。
思考如下问题:
( 1)如何在一个大型系统的范围内设计软件?
( 2)可用于软件需求分析的基本概念和原则是
什么?
( 3)什么是结构化分析?他的各种模型如何使
得软件工程师能够理解数据、功能和行为?
( 4)软件设计活动中使用的基本概念和原则是
什么?
第三部分 传统软件工程方法
( 5)如何创建数据、体系结构、过程和界面等
设计模型?
( 6)实时系统有什么独特的特性?这些特性如
何影响这种系统的分析和设计方式?
( 7)可应用于软件测试的基本概念和原则是什
么?
( 8)如何使用黑盒测试和白盒测试方法来设计
有效的测试用例?
( 9) 软件测试的策略是什么?
( 10)什么技术度量可用于评估分析和设计模
型、源代码、以及测试用例?
第 10章 系统工程
10.1 基于计算机的系统
基于计算机的系统:
软件,计算机程序、数据结构和相关文档,
他们被用于实现所需的逻辑方法、规程和控
制。
硬件,提供计算能力的电子设备和提供外部
功能的电子机械设备如传感器、马达和抽水
泵等。
人员 硬件和软件的操作者和用户。
数据库 通过软件访问的大型的有组织的信息
结合。
第 10章 系统工程
文档 手册、表格和其他描述信息
规程 一系列步骤、定义每个系统元素的
特定使用或系统驻留的过程性语境。
这些元素按不同的方式组合可构成不同的
信息。例如市场部门将原始的销售数据
经组合转变成各种图表、
第 10章 系统工程
Factory Automation system
Manufacturing
System
Inventory
System
Information
System
Material
Movement
System
Manufacturing
Cells
NC
Machine Robots
Data
Entry
Devices
一个系统的系统
第 10章 系统工程
基于计算机的系统是复杂的,一个系统的元素
仍可是一个系统。因此系统是有层次的。
10.2 系统工程层次结构
系统工程从 World view开始。
WV={D1,D2,…,Dn}
Di={E1,E2,…Em}
Ej={C1,C2,…Ck}
构件应该是计算机程序、可复用的程序构件,
模块、或程序语句。
第 10章 系统工程
Business or
Product Domain
Domain
of
Interest
World
View
Business or
Product Domain
System
element
Domain
View
Element
View
Detailed
View
第 10章 系统工程
10.2.1 System Modeling
系统工程是一个建摸过程。
构造模型需要考虑的因素:
1:假设减少可能的排列和变化数量,使得模型
以合理的方式反映问题。
2:简化,使得能够尽快创建模型。
3:限制,有助于系统边界定义。
4:约束:将指导用什么方式来建立模型,以及
用什么方法来实现模型。
5:优先选择指明,所有数据、函数和技术优先
选择的体系结构。
第 10章 系统工程
10.2.2 信息工程
数据体系结构。
应用软件体系结构。
技术基础设施。
第 10章 系统工程
10.7 系统体系结构建摸
每个基于计算机的系统可用输入 -处
理 -输出的体系结构来为信息变化建摸。
用户接口处理
Input OutPut过程和控制函数
维护和自测
第 10章 系统工程
Conveyor Line
Sorting
System
Sorting Station
Operator
Bar code
reader
Conveyor
Line
Sorting
Mechanism
Mainframe
Sorting
Station
Operator
Formatted reporting
data
Line speed
indicator
Bar
code
Diagnostic
data
request Queries and
reports
Shunt
commands
扩展 CLSS的
体系结构语
境图( ACD)
第 10章 系统工程
Bar code
Decoding
subsystem
Operator
Interface
subsystem
Database
Access
subsystem
Report
formatting
subsystem
Shunt
Control
subsystem
Bar code
Reader
subsystem
Sensor data
Acquisition
subsystem
diagnostics
Subsystem
Shunt
controller
mainframe
Communications
driver
P262
第 10章 系统工程
10.8 system Modeling and simulation
A B
第 10章 系统工程
10.9 系统规约
系统规约是一份文档,他是硬件工
程、软件工程、数据库工程和人机工程
的基础。
Summary
A high-technology system encompasses a
number of components,software,
hardware,people,database,document,
and procedures,System engineering helps
to translate a customer’s needs into a
model of a system that makes use of one or
more of these components.
Summary
System engineering begins by taking a ―world
view‖,A business domain or product is analyzed
to establish all basic requirements,Focus is then
narrowed to a ―domain view,‖ where each of the
system elements is analyzed individually,Each
element is allocated to each one or more
engineering components which are then
addressed by the relevant engineering discipline.
Summary
Information engineering is a system engineering
approach that is used to define architectures that
enable a business to use information effectively,
The intent of information engineering is to
derive comprehensive data architectures,an
application architecture,and a technology
infrastructure that will meet the needs of the
business strategy and the objectives and goals pf
each business area,Information engineering
encompasses information strategy
planning,business area analysis,and application-
specific analysis that is actually part of software
engineering,
Summary
Product engineering is a system engineering
approach that begins with system analysis,The
system engineer identifies the custom’s needs,
determines economic and technical feasibility,
and database –the key engineering components,
An architectural model of the system or product
is produced and representations of each major
subsystem can be developed.Finally,the system
engineer can create a reactive system model that
can be used as the basis for a simulation of
performance and behavior,The system
Summary
engineering task culminates with the creation of a
system specification—a document that forms the
foundation for all engineering work that follows.
System engineering demands intense
communication between the customer and the
information or system engineer.The customer
must understand system objectives and be able to
state them clearly,The engineer must know what
question to ask,what advice to state them clearly,
The engineer must know what questions to ask,
what research to do,If communication is
established for the construction of the system,