复旦大学《软件工程》钱乐秋课件教案PPT02
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复旦大学计算机科学与工程系 软件工程课程
22/36
内容摘要
• 基于计算机的系统 • 系统工程的任务 • 可行性分析
复旦大学计算机科学与工程系 软件工程课程
23/36
可行性分析
开发一个基于计算机的系统( 开发一个基于计算机的系统(以及其他系 通常都受到资源(人力、财力、 统)通常都受到资源(人力、财力、设备 和时间上的限制, 等)和时间上的限制,可行性分析主要 从经济、技术、 从经济、技术、法律等方面分析所给出 的解决方案是否可行, 的解决方案是否可行,能否在规定的资 源和时间的约束下完成
11/36
基于计算机的系统结构
• 对于基于计算机的系统而言
– 基于计算机的系统可以成为一个更大的基于计算机系统中的一 个元素,称其为那个更大系统的宏元素 – 基于计算机的系统可呈现一个层次结构
工厂自动化系统
复旦大学计算机科学与工程系 软件工程课程
12/36
为什么强调系统工程
• 被动选择:现实的信息系统往往是一 被动选择: 个复杂的系统工程, 个复杂的系统工程,其中的软件需要 与系统中其它部件合理分配责任、 与系统中其它部件合理分配责任、密 切配合, 切配合,从而达到系统的总体目标 • 主动选择:只作自己擅长的事情 主动选择:
复旦大学计算机科学与工程系 软件工程课程 14/36
软件项目的客户方基础设施 • 业务现状、人员现状 业务现状、 • 遗留数据、遗留系统以及重用的可能 遗留数据、 • 是否处于一个规划中的更大系统之中, 是否处于一个规划中的更大系统之中, 与其他系统的关系如何
复旦大学计算机科学与工程系 软件工程课程
复旦大学计算机科学与工程系 软件工程课程 3/36
系统工程
• 系统工程:关注目标系统各种相关要 系统工程: 素的分析、设计,并将其组织成有机 素的分析、设计,并将其组织成有机 的系统
– 有机:像生命体一样,各个部分密切配合、有序演 化,达到系统的总体目标
• 系统工程与软件工程
– 系统工程更加广泛,软件工程源于系统工程 – 任何软件的开发都处于一个更大的系统之中,因此 软件开发必须先从了解软件所处的系统全局视图
• 计算机系统:校园一卡通 计算机系统:
– 硬件设备:服务器、刷卡器、一卡通网络、IC卡 IC – 软件系统:结算软件、银行接口、查询系统… – 规程/人员:设计与一卡通相关办理、消费、挂失、 充值、结算等制度和流程,设置相应的岗位和职责 – 系统分析和规划:合理规划各软硬件部件、规程、 人员的目标、需求,使各部分相互配合形成完整的
软件工程
第2章 系统工程
什么是系统
• 系统 系统(ISO):一组或一系列相关的元素 : [人、产品 硬件和软件 及过程(设备、装 硬件和软件)及过程 人 产品(硬件和软件 及过程(设备、 材料和规程) , 备、材料和规程)],其行为满足运转需 要并且为产品生存周期的维持提供支撑 • 软件密集系统(Software-Intensive System) 软件密集系统(
• 我们在某个项目中关注的具体系统总是有确定的边 例如对于结算系统项目而言: 界,例如对于结算系统项目而言:
– 已知:消费终端可以将基本消费信息通过一卡通网络发送过来、银 行接口系统支持银行系统的联机圈存操作… – 当前系统任务:根据消费及圈存信息记录更新各学生账户信息…
复旦大学计算机科学与工程系 软件工程课程
复旦大学计算机科学与工程系 软件工程课程
18/36
计算机系统工程的任务
• 识别用户的要求(了解问题) 识别用户的要求(了解问题)
标识系统的功能和性能范围,确定 标识系统的功能和性能范围, 系统的功能、性能、 系统的功能、性能、约束和接口
复旦大学计算机科学与工程系 软件工程课程
19/36
• 系统建模和模拟(提出完整的解决方案) 系统建模和模拟(提出完整的解决方案) 通常可考虑建立如下模型:
复旦大学计算机科学与工程系 软件工程课程
7/36
系统元素
• 软件 指计算机程序、数据结构和相关的工作产品, 软件—指计算机程序、数据结构和相关的工作产品, 指计算机程序 以实现所需要的逻辑方法、 以实现所需要的逻辑方法、规程或控制 • 硬件 指提供计算能力的电子设备、支持数据流的 硬件—指提供计算能力的电子设备、 指提供计算能力的电子设备 互连设备(如网络交换器、电信设备) 互连设备(如网络交换器、电信设备)和提供外部 世界功能的电子机械设备(如传感器、马达等) 世界功能的电子机械设备(如传感器、马达等) • 人员 指硬件和软件的用户和操作者 人员—指硬件和软件的用户和操作者
复旦大学计算机科学与工程系 软件工程课程 20/36
系统模型通常可用图形描述,并加以相应的 文字说明。 必要时,在系统建模后可构造原型,进行系 统模拟,以分析所建的模型能否满足整个基于 计算机的系统的要求。
复旦大学计算机科学与工程系 软件工程课程
21/36
• 成本估算及进度安排(给出实施计划) 成本估算及进度安排(给出实施计划) 对将开发的基于计算机的系统进行成本估 算,并作出进度安排。 • 可行性分析(系统及实施方案的现实可行性) 可行性分析(系统及实施方案的现实可行性) 从经济、技术、法律等方面分析所给出的 解决方案是否可行,通常只有当解决方案 可行并有一定的经济效益和/或社会效益时 才开始真正的基于计算机的系统的开发。 • 生成系统规格说明
硬件系统模型:描述基于计算机系统中的硬件( 硬件系统模型:描述基于计算机系统中的硬件(包括计 算机、受系统控制的其它硬件设备等)配置、通信协议、 算机、受系统控制的其它硬件设备等)配置、通信协议、 拓扑结构、以及确保基于计算机系统的安全性、可靠性、 拓扑结构、以及确保基于计算机系统的安全性、可靠性、 性能等要求的措施。 性能等要求的措施。 软件系统模型:描述各软件子系统的功能、性能等要求, 软件系统模型:描述各软件子系统的功能、性能等要求, 它们在硬件系统中的部署情况, 它们在硬件系统中的部署情况,以及软件子系统之间的 交互。 交互。 人机接口模型: 人机接口模型:描述人如何与基于计算机的系统进行交 包括用户环境、用户的活动、 互,包括用户环境、用户的活动、人机交互的语法和语 义等。 义等。 数据模型: 数据模型:描述基于计算机的系统使用了哪些数据库管 理系统,如果使用多个数据库管理系统, 理系统,如果使用多个数据库管理系统,还应描述它们 之间的数据转换方式,必要时可给出主要的数据结构。 之间的数据转换方式,必要时可给出主要的数据结构。
复旦大学计算机科学与工程系 软件工程课程
17/36
计算机系统工程
• 计算机系统工程是一个问题求解的活 动,其目的是分析基于计算机的系统 功能、性能等要求 等要求, 的功能、性能等要求,并把它们分配 到基于计算机系统的各个系统元素 系统元素中 到基于计算机系统的各个系统元素中, 确定它们的约束条件 约束条件和 确定它们的约束条件和接口
– Software + Hardware + Human Activities – 计算机软件只是其中的一环 – 仅仅软件这一部分也是由密集交互的多种软件组成 的——多种应用软件、操作系统、中间件等…
复旦大学计算机科学与工程系 软件工程课程 2/36
系统的例子
• 国美电器的销售系统
– 在若干城市的若干门店、具有合作关系的家电企业 – 一套行之有效的销售模式:处理上游和下游的关系
复旦大学计算机科学与工程系 软件工程课程
24/36
经济可行性分析
• 经济可行性主要进行成本效益分析,从经济角度, 确定系统是否值得开发。 • 基于计算机的系统的成本主要包括: 购置硬件、软件(如数据库管理系统、 购置硬件、软件(如数据库管理系统、第三方 开发的构件等)和设备(如传感器等) 开发的构件等)和设备(如传感器等)的费用 系统的开发费用 系统安装、 系统安装、运行和维护费用 人员培训费用
– 选择合适的硬件解决方案 – 选择基础软件解决方案,或者第三方软件部件和软 件服务,不用自己
复旦大学计算机科学与工程系 软件工程课程
13/36
例:一卡通结算系来自百度文库中的安全性要求
• 从硬件方面,整个校园消费网络采用专线 从硬件方面, 联接,不与校园网连通, 联接,不与校园网连通,同时要求敏感操 作员使用USB Key进行身份认证 作员使用 进行身份认证 • 从应用软件方面,进行日志记录,并与 从应用软件方面,进行日志记录, USB Key认证接口进行集成 Key认证接口进行集成 • 从制度方面:建立机房及核心服务器的日 从制度方面: 常安全管理制度, 常安全管理制度,设置专人负责可疑交易 信息的监控… 信息的监控
15/36
软件项目的第三方基础设施 • 基础软硬件系统
– 服务器、OS、DB、AS等
• 可用软件构件 • 特殊硬件设备:USB Key、加密狗等 特殊硬件设备: 、 • 可能的项目合作伙伴
– 软件外包 – 构件外包
复旦大学计算机科学与工程系 软件工程课程 16/36
内容摘要
• 基于计算机的系统 • 系统工程的任务 • 可行性分析
复旦大学计算机科学与工程系 软件工程课程 4/36
内容摘要
• 基于计算机的系统 • 系统工程的任务 • 可行性分析
复旦大学计算机科学与工程系 软件工程课程
5/36
内容摘要
• 基于计算机的系统 • 系统工程的任务 • 可行性分析
复旦大学计算机科学与工程系 软件工程课程
6/36
基于计算机的系统
• 所谓基于计算机的系统是指:通过处理信息来完 所谓基于计算机的系统是指: 成某些预定义目标而组织在一起的元素的组合 • 对于用户而言有意义的是可以达到预期目标的系 完整的软硬件解决方案)而不是单一软件 统(完整的软硬件解决方案 而不是单一软件 完整的软硬件解决方案 • 组成基于计算机系统的元素主要有:软件、硬件、 组成基于计算机系统的元素主要有:软件、硬件、 人员、数据库(及其它系统软件 及其它系统软件)、 人员、数据库 及其它系统软件 、文档和规程 (Procedure)
复旦大学计算机科学与工程系 软件工程课程 9/36
计算机软件与系统
• 计算机软件一般位于整个系统的核心位置 • 不同的计算机信息系统具有不同的特点
– 一般应用软件系统只要求标准硬件(PC、服务器等)配 置,因此往往只需要关注软件本身 – 嵌入式软件系统中存在复杂的软硬件交互:例如工 业控制系统需要直接控制多种硬件设备、手机终端 软件需要考虑手机的配置情况等… – 随着软硬件技术的发展,软硬件的边界不断变化
复旦大学计算机科学与工程系 软件工程课程 25/36
• 效益
经济效益包括使用基于计算机的系统后可增加的 收入和可节省的运行费用(如操作人员数、 收入和可节省的运行费用(如操作人员数、工作 时间、消耗的物资等)。 )。在进行成本效益分析时 时间、消耗的物资等)。在进行成本效益分析时 通常只统计五年内的经济效益。 通常只统计五年内的经济效益。 社会效益指使用基于计算机的系统后对社会产生 的影响(如提高了办事效益,使用户满意等), 的影响(如提高了办事效益,使用户满意等), 通常社会效益只能定性地估计。 通常社会效益只能定性地估计。
复旦大学计算机科学与工程系 软件工程课程
8/36
• 数据库 —指通过软件访问并持久存储 指通过软件访问并持久存储 的大型的有组织的信息集合 • 文档 —指描绘系统的使用和 或操作的 指描绘系统的使用和/或操作的 指描绘系统的使用和 描述性信息(如模型、规格说明、硬复 描述性信息 如模型、规格说明、 如模型 制手册、联机帮助文件、 站点) 制手册、联机帮助文件、Web站点 站点 • 规程(procedures) —指定义每个系 规程( ) 指定义每个系 统元素的特定使用或系统所处的过程性 语境的步骤
• 不断增强的硬件指令支持 • USB Key、加密狗等硬件解决了许多软件很难解决的问题 、
复旦大学计算机科学与工程系 软件工程课程
10/36
系统的层次结构
• 任何系统都处在一个更大的系统之中,形成系统的 任何系统都处在一个更大的系统之中, 层次结构
– 校园一卡通系统包括基础网络、结算系统、银行接口系统、消费终 端等子系统 – 一卡通系统处于整个学校系统(教务、财务、学工…)之中 – 学校系统属于整个高等教育系统乃至社会系统的一环……