? 基于计算机的系统
? 系统工程
? 系统分析
? 可行性分析
? 某些元素的一个集合或排列
? 这些元素被组织起来以实现某种
方法,过程或借助处理信息进行
控制。
基于计算机的系统
基于计算机系统的系统元素
系统元素
? 软件 — 计算机程序、数据结构、
相关文档
? 硬件 — 电子计算设备(如 CPU,
存储器)和外部机电设备(如传感
器、马达等)
? 人 — 硬件和软件的用户
? 数据库 — 一个大型的有组织的信
息集合
? 文档 — 手册、表格和其它用以描
述系统使用和操作的信息
? 过程 — 定义每一种系统元素的特
定使用步骤,或系统驻留的过程性
环境
系统的层次结构
? 基于计算机的系统本身可以成为
一个 更大的基于计算机系统中的
一个元素,并称为那个更大系统
的 宏元素 。
工厂自动化
系统
计算机系统工程
? 计算机系统工程是一个问题求解活
动,目的是 揭示, 分析所期望的功
能, 并把它们分配到各个单独的系
统元素中去 。
系统工程师的任务
? 与用户合作确认 用户的目标和约

? 导出 功能, 性能, 接口, 设计约
束 和 信息结构 的表示
? 将它们分配到每一个系统元素中
? 计算机系统工程师 选择硬件元件的
某种组合 以 构成基于计算机系统的
硬件元素
? 硬件工程过程可以分为三个阶段
? 计划和定义阶段
? 设计和样机实现阶段
? 生产、销售和售后服务阶段
硬件和硬件工程
软件与软件工程
? 为实现要求的功能和性能,必须制
作或获取一系列软件部件
? 软件元素分为两类
? 应用软件 用来实现信息处理的
功能
? 系统软件 完成使应用软件能与
其它系统元素交互的控制功能
人类工程
? 是应用从心理学和方法论导出的知
识来确定和设计高质量 HCI的多学
科活动
? 人类工程过程包括以下步骤
( 1) 活动分析 ── 环境交互及划
分任务,进行任务分析
( 2) 语义分析和设计 ── 动作精
确定义,“对话”设计
( 3 ) 语法和词法设计 ── 各个动作
和命令的形式,硬件与软件实现
( 4 ) 用户环境设计 ── 将硬件、软
件和其它系统生成元素组合起来形
成用户环境
( 5 ) 原型 ── 从人的角度出发来评
价 HCI
数据库和数据库工程
? 数据库工程(包括 数据库分析, 设
计 和 实现 )
? 对于使用数据库的系统,信息仓库
往往是所有功能的核心
? 数据库工程的应用是在数据库的信
息域定义完成之后
? 系统工程师的作用是
? 定义数据库中包含的信息
? 处理查询的类型
? 数据存取的方式
? 数据库的容量等
? 数据分析和设计是基本的软件工程
活动
系统分析的目标
? 识别用户要求
? 评价系统的可行性
? 进行经济分析和技术分析
? 把功能分配给硬件、软件、人、数
据库和其它系统元素
? 建立成本和进度限制
? 生成系统规格说明,形成所有后续
工程的基础
需求识别
? 系统分析过程的第一步就是 识别
用户要求
? 分析员必须考虑以下问题:
? 功能 和 性能
? 可靠性 和 质量
? 总的系统目标
? 成本 与 进度限制
? 制造需求
? 市场与竞争情况
? 有效的技术
? 将来可能的扩充
系统分析的任务
? 识别希望的功能和性能范围
? 确定系统的功能、性能、约束和
接口
? 将功能赋予一个或多个系统元素
(即软件、硬件、人等)
? 提出一些候选方案并做评价
? 项目考虑
? 商业考虑
? 技术分析
? 生产评估
对同一功能,可以分配不同的系统
元素
为选取最有效的分配方案,使用一
组权衡准则进行评价
?人员问题
?环境界面
?法律考虑
1,项目考虑
? 在预估的成本与进度范围内所
选的系统配置能否实现?
? 与成本与进度估算相关的风险
有哪些?
?
2,商业考虑
? 所选的系统配置是最可能有效
益的解决方案吗?
? 能否成功地占领市场?
? 最终的报偿是否能表明所冒的
开发风险是值得的?
?
3,技术分析
? 是否具备开发所有系统元素的
技术实力?
? 能否确保功能和性能得到满足?
? 能否对这种系统配置进行充分
的维护?
? 是否具备技术资源?
? 与技术相关的风险有哪些?
?
4,生产评估
? 生产工具与设备是否有效?
? 必需的过程是否短缺?
? 是否充分地实施了质量保证?
?
5,人员问题
? 开发人员是否得到培训?
? 是否存在政治问题?
? 用户是否了解这个系统将要做
什么?
?
6,环境界面
? 所提交的系统配置与系统的外
部环境的接口是否合适?
? 机器与机器、人与机器之间的
通信是否以智能方式处理?
?
7,法律考虑
? 这种配置是否会引入违法的责
任风险?
? 对责任问题是否给予了足够的
保护?
? 是否存在潜在的破坏问题?
?
可行性研究
? 问题识别
? 市场调查
? 分析准备
? 环境分析
? 物理分析
? 功能分析
? 信息分析
? 动态分析
? 确立系统方
案,作出各
种估算
? 模型评审
?
问题的初步认识
? 了解系统应解决的问题,这些
问题使如何提出的
? 设想这些问题如何解决才能满
足要求
? 了解问题的结构
?
市场调查
? 了解市场对待开发软件的需求
情况
? 调查市场上已有的类似软件系
统的功能、性能、价格情况
?
分析准备
? 确立分析计划
? 规定由谁参加分析作业,任务
分配
? 对参加分析的人员进行必要的
培训
?
环境分析
明确系统的目的和限制条件
? 使用单位的状况、经营方针和组织
机构
? 使用单位的计算机利用情况
? 相关的硬件、软件及其它接口部分
? 用户的操作环境及操作要求
? 习惯、法律、制度上对软件的制约
? 开发能具备的技术条件和设备条件
?
物理分析
? 了解实际业务活动状况,特别
对一些活动要点进行分析
? 明确在这些要点之间什么东西
在流动,如何进行流动
? 对物理流量进行分析
? 对其模型化,得到实际业务系
统(当前系统)的物理模型
?
功能分析
? 决定系统应具备的功能 (工作域 )
? 分析功能的结构:功能展开和
功能分配
? 分析各功能之间的关系,整理
它们之间传递的信息
? 利用数据流图,描述信息在系
统流动与处理的情况
?
信息分析
? 调查系统的输入、输出、保存
信息
? 明确信息的结构及各信息之间
的关系
? 调查各信息的信息量
? 调查各种报表和文件的格式
? 建立粗略的数据词典,定义系
统中使用的数据 ?
动态分析
? 系统内每一部分有几种状态
? 各种状态转换的条件
? 同步产生的条件与同步后状态的
变化
?
确立系统方案,进行各种估算
? 粗略地估算成本
? 估算可能取得的效益
? 提出可能需要的资源,包括人
员、硬件、软件等
? 提出大概的进度安排
?
模型评审
? 将目标系统的逻辑模型提出管
理部分与用户进行评审
? 复查问题定义、工程规模和系
统目标
?