第3讲 计算机系统工程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
22
法律可行性分析
• 研究系统开发过程中可能涉及到的合同、 侵权、责任以及各种与法律相抵触的问题。 • 1990年《中华人民共和国著作权法》 将计 算机软件作为著作权法的保护对象。 • 1991年《计算机软件保护条例》。
23
方案的选择和折衷
• 一个基于计算机的系统可以有多个可行的实现方 案,每个方案对成本、时间、人员、技术、设备 都有不同的要求,不同方案开发出来的系统在功 能、性能方面也会有所不同。因此要在多个可行 的实现方案中作出选择。 • 方案评估的依据是待开发系统的功能、性能、成 本、开发时间、采用的技术、设备、风险以及对 开发人员的要求等。 • 由于系统的功能和性能受到多种因素的影响,某 些因素之间相互关联和制约。 • – 如,为达到高的精度就可能导致长的执行时间, 为达到高可靠性就会导致高的成本等等。因此, 在必要时应进行折衷。
• 通常可考虑建立如下模型:
硬件系统模型:描述基于计算机系统中的硬件配置、 通信协议、拓扑结构、以及确保基于计算机系统的安 全性、可靠性、性能等要求的措施。 软件系统模型:描述各软件子系统的功能、性能等要 求,它们在硬件系统中的部署情况,以及软件子系统 之间的交互。 人机接口模型:描述人如何与基于计算机的系统进行 交互,包括用户环境、用户的活动、人机交互的语法 和语义等。 数据模型:描述基于计算机的系统使用了哪些数据库 管理系统,如果使用多个数据库管理系统,还应描述 它们之间的数据转换方式,必要时可给出主要的数据 结构。
– 基于计算机的系统可以成为一个更大的基于计算机系统 中的一个元素,称其为那个更大系统的宏元素 –基于计算机的系统可呈现一个层次结构
7
例:一卡通结算系统中的安全性要求
• 从硬件方面,整个校园消费网络采用专线 联接,不与校园网连通,同时要求敏感操 作员使用USB Key进行身份认证 • 从应用软件方面,进行日志记录,并与 USB Key认证接口进行集成 • 从制度方面:建立机房及核心服务器的日 常安全管理制度,设置专人负责可疑交易 信息的监控…
• 技术可行性主要根据系统的功能、性能、 约束条件等,分析在现有资源和技术条件 下系统能否实现。 • 技术可行性分析通常包括风险分析、资源 分析和技术分析。
19
• 风险分析:分析在给定的约束条件下设计和 实现系统的风险。
(1)采用不成熟的技术可能造成技术风险 (2)人员流动可能给项目带来风险 (3)成本和人员估算不合理造成的预算风险
27
案例1
• 开发某图形系统,下至开发工具,上至应 用软件,无所不包 • 既不是科研产品又不全像商品的软件 • 失败: • (1)年青气盛 • (2)以技术为中心,没有考虑市场
28
案例2
• “我们经营的网站有2年多历史了。…年经营成本 9万元,有一个助手。…全年收入10万元,虽然 说不亏本,但我无法满足现状。…希望吸取资金 200万。…预计年收入1200万至2000万。 分析:经营能力为10万/ 年的单干户,一下变为经 营”年投资200万,预计收入过千万的企业“, 太夸张,刚刚会走路,怎么可能会飞
21
• 技术分析:分析当前的科学技术是否支持 系统开发的各项活动。 • 在技术分析过程中,分析员收集系统的性 能、可靠性、可维护性和生产率方面的信 息,分析实现系统功能、性能所需的技术、 方法、算法或过程,从技术角度分析可能 存在的风险,以及这些技术问题对成本的 影响。 • 技术可行性分析时通常需进行系统建模, 必要时可建造原型和进行系统模拟
(1)购置硬件、软件(如数据库管理系统、第三 方开发的构件等)和设备(如传感器等)的费用 (2)系统的开发费用 (3)系统安装、运行和维护费用 (4)人员培训费用
15
• 效益
(1)经济效益包括使用基于计算机的系统后 可增加的收入和可节省的运行费用(如操作人员 数、工作时间、消耗的物资等)。在进行成本效 益分析时通常只统计五年内的经济效益。 (2)社会效益指使用基于计算机的系统后对 社会产生的影响(如提高了办事效益,使用户满 意等),通常社会效益只能定性地估计。
• 经济效益通常可用货币的时间价值、投资回 收期和纯收入来度量。
16
• 货币的时间价值 • 设:当前金额为P,年利率为i,n年后的金额为F, • 则
• 计算时,累计经济效益应折合成当前金额 • 例如,一个基于计算机的系统使用后,每年产生 的经济效益为10万,如果年利率为5%,那么,五 年内该系统的累计经济效益是43.2948万,而不 是50万。同学们,这个数字怎么计算出来?
5
• 数据库 —指通过软件访问并持久存储的大 型的有组织的信息集合 • 文档 —指描绘系统的使用和/或操作的描述 性信息(如模型、规格说明、硬复制手册、 联机帮助文件、Web站点) • 规程 —指定义每个系统元素的特定使用或 系统所处的过程性语境的步骤
6
基于计算机的系统结构
• 对于基于计算机的系统而言
第三讲 系统工程
1
• 提纲
• 基于计算机的系统 • 系统工程的任务 • 可行性分析
2
基于计算机的系统
• 基于计算机的系统是指:通过处理信息来 完成某些预定义目标而组织在一起的元素 的组合 • 软件是计算机系统的组成部分,但对用户 而言有意义的是可以达到预期目标的系统 (完整的软硬件解决方案)而不是单一的软件。 • 软件项目应该从整个计算机系统的角度考 虑
• 风险分析的目的是找出风险,评价风险的大 小,并有效地控制和缓解风险。
20
• 资源分析:论证是否具备系统开发所需的各 类人员、软件、硬件等资源和相应的工作环 境。 例如,有一支开发过类似项目的开发和 管理的团队,或者开发人员比较熟悉系统所 处的领域,并有足够的人员保证,所需的硬 件和支撑软件能通过合法的手段获取,那么 从技术角度看,可以认为具备设计和实现系 统的条件。
24
系统目标
研究并制定开发方案
方案1
方案2
方案3
……
方案n
wenku.baidu.com
选择方案
评价方案 Y 系统综合、定义
方案可行?
N N 方案选完? Y
25
可行性分析的结论
• 可以立即开始进行 • 需要推迟到某些条件(例如资金、人力、 设备等)落实之后才能开始进行 • 需要对开发目标进行某些修改之后才能开 始进行 • 因为某种原因(如,技术不成熟、经济上 不合算等)不能进行
26
可行性研究报告
a. 引言 a.1 问题 a.2 实现环境 a.3 约束条件 b. 管理 b.1 重要的发展 b.2 注解 b.3 建议 b.4 效果 c. 方案选择 c.1 选择系统配置 c.2 选择方案的标准 d. 系统描述 d.1 缩写词 d.2 各个子系统的可行性 e. 成本-效益分析 f. 技术风险评价 g. 有关法律问题 h. 其他
34
工作事项 立项 提出解决方案 制定项目计划 可行性分析
内容说明 确定项目的范围、目标与 要求 从计算机系统工程的角度 考虑 主要是成本估算与进度安 排
经济、技术、社会环境、 人 生成系统规格说明 上述工作成果的书面描述
35
最终结果
• 生成系统规格说明,作为以后开发软件的 依据。 • 签订合同或者下达任务书。
11
系统模型通常可用图形描述,并加以相应的文字说 明。 必要时,在系统建模后可构造原型,进行系统模拟, 以分析所建的模型能否满足整个基于计算机的系 统的要求。
12
• 成本估算及进度安排(给出实施计划) 对将开发的基于计算机的系统进行成本估 算,并作出进度安排。 • 可行性分析(系统及实施方案的现实可行性) 从经济、技术、法律等方面分析所给出的 解决方案是否可行,通常只有当解决方案 可行并有一定的经济效益和/或社会效益时 才开始真正的基于计算机的系统的开发。 • 生成系统规格说明
17
• 投资回收期:累计的经济效益正好等于投资数 (成本)所需的时间。 • 纯收入:累计经济效益– 投资数 (1)当纯收入大于零时,该工程值得投资开发 (2)当纯收入小于零时,该工程不值得投资(除 非它有明显的社会效益) (3)当纯收入等于零时,通常也不值得投资 显然,纯收入越大越好。
18
技术可行性
36
实验二:可行性报告
• 请同学们根据《技术可行性报告》,完成综合性 实验的可行性分析报告。 • 时间:一周 • 提交电子文档到快盘, • 文件命名规定:
• 张三_李四_王五_赵六_实验二:可行性报告.doc • 上次试验报告文件命名规定: • 张三_实验一:不同类型的软件过程的情况调研.doc
37
29
• ”增加网站每日求购信息的整编工作,做 到任何其他一个网站有的我们都有。“ 分析:几乎不可能,连雅虎公司都不敢夸 口。 • ”增加国内及世界经济新闻板块,由每周 更新到每日更新。“ 分析:如果能做到,中央电视台、新华社 的网站早就做到了。
30
• ”建立网上信用卡收帐系统,一旦需要, 可立即投入使用。“ 分析:这种事情必须是公安部门、税务部 门、银行等一同商量好了之后才可以做的。
谢谢大家!
38
8
系统工程的任务
• 计算机系统工程是一个问题求解的活动, 其目的是分析基于计算机的系统的功能、 性能等要求,并把它们分配到基于计算机 系统的各个系统元素中,确定它们的约束 条件和接口
9
• 识别用户的要求(了解问题总体要 求)
标识系统的功能和性能范围,确定系统 的功能、性能、约束和接口
10
系统建模和模拟(提出完整的解决方案)
31
案例3
• 游戏外挂 从技术、人员角度、法律问题角度分析
32
案例4
• 微软打击番茄花园盗版事件 • 以修改微软的“视窗软件”为产品,捆绑 广告插件盈利可行吗? • 考虑法律问题
33
补充思考
• 真正意义上的软件开发从哪个阶段开始? 需求分析还是软件设计?为什么? • 为什么在“可行性分析”阶段就提出与 “需求分析”有关的内容? • 可行性分析与需求分析的侧重点有何不同? • 软件项目的前期究竟需要完成哪些工作?
3
组成基于计算机系统的元素
系统元素以及相互之间的关系可以用IPO模 型表示,如下图所示:
规 程
4
系统元素
• 软件—指计算机程序、数据结构和相关的工作产 品,以实现所需要的逻辑方法、规程或控制
• 硬件—指提供计算能力的电子设备、支持数据流 的互连设备(如网络交换器、电信设备)和提供外 部世界功能的电子机械设备(如传感器、马达等) • 人员—指硬件和软件的用户和操作者
13
可性行分析
• 开发一个基于计算机的系统通常都受到资 源(人力、财力、设备等)和时间上的限 制,可行性分析主要从经济、技术、法律 等方面分析所给出的解决方案是否可行, 能否在规定的资源和时间的约束下完成。 • 回答“是否可以做?”的问题 • 软件工程要以经济为本,用户为先!
14
经济可行性分析
• 经济可行性主要进行成本效益分析,从经 济角度,确定系统是否值得开发。 • 基于计算机的系统的成本主要包括:
法律可行性分析
• 研究系统开发过程中可能涉及到的合同、 侵权、责任以及各种与法律相抵触的问题。 • 1990年《中华人民共和国著作权法》 将计 算机软件作为著作权法的保护对象。 • 1991年《计算机软件保护条例》。
23
方案的选择和折衷
• 一个基于计算机的系统可以有多个可行的实现方 案,每个方案对成本、时间、人员、技术、设备 都有不同的要求,不同方案开发出来的系统在功 能、性能方面也会有所不同。因此要在多个可行 的实现方案中作出选择。 • 方案评估的依据是待开发系统的功能、性能、成 本、开发时间、采用的技术、设备、风险以及对 开发人员的要求等。 • 由于系统的功能和性能受到多种因素的影响,某 些因素之间相互关联和制约。 • – 如,为达到高的精度就可能导致长的执行时间, 为达到高可靠性就会导致高的成本等等。因此, 在必要时应进行折衷。
• 通常可考虑建立如下模型:
硬件系统模型:描述基于计算机系统中的硬件配置、 通信协议、拓扑结构、以及确保基于计算机系统的安 全性、可靠性、性能等要求的措施。 软件系统模型:描述各软件子系统的功能、性能等要 求,它们在硬件系统中的部署情况,以及软件子系统 之间的交互。 人机接口模型:描述人如何与基于计算机的系统进行 交互,包括用户环境、用户的活动、人机交互的语法 和语义等。 数据模型:描述基于计算机的系统使用了哪些数据库 管理系统,如果使用多个数据库管理系统,还应描述 它们之间的数据转换方式,必要时可给出主要的数据 结构。
– 基于计算机的系统可以成为一个更大的基于计算机系统 中的一个元素,称其为那个更大系统的宏元素 –基于计算机的系统可呈现一个层次结构
7
例:一卡通结算系统中的安全性要求
• 从硬件方面,整个校园消费网络采用专线 联接,不与校园网连通,同时要求敏感操 作员使用USB Key进行身份认证 • 从应用软件方面,进行日志记录,并与 USB Key认证接口进行集成 • 从制度方面:建立机房及核心服务器的日 常安全管理制度,设置专人负责可疑交易 信息的监控…
• 技术可行性主要根据系统的功能、性能、 约束条件等,分析在现有资源和技术条件 下系统能否实现。 • 技术可行性分析通常包括风险分析、资源 分析和技术分析。
19
• 风险分析:分析在给定的约束条件下设计和 实现系统的风险。
(1)采用不成熟的技术可能造成技术风险 (2)人员流动可能给项目带来风险 (3)成本和人员估算不合理造成的预算风险
27
案例1
• 开发某图形系统,下至开发工具,上至应 用软件,无所不包 • 既不是科研产品又不全像商品的软件 • 失败: • (1)年青气盛 • (2)以技术为中心,没有考虑市场
28
案例2
• “我们经营的网站有2年多历史了。…年经营成本 9万元,有一个助手。…全年收入10万元,虽然 说不亏本,但我无法满足现状。…希望吸取资金 200万。…预计年收入1200万至2000万。 分析:经营能力为10万/ 年的单干户,一下变为经 营”年投资200万,预计收入过千万的企业“, 太夸张,刚刚会走路,怎么可能会飞
21
• 技术分析:分析当前的科学技术是否支持 系统开发的各项活动。 • 在技术分析过程中,分析员收集系统的性 能、可靠性、可维护性和生产率方面的信 息,分析实现系统功能、性能所需的技术、 方法、算法或过程,从技术角度分析可能 存在的风险,以及这些技术问题对成本的 影响。 • 技术可行性分析时通常需进行系统建模, 必要时可建造原型和进行系统模拟
(1)购置硬件、软件(如数据库管理系统、第三 方开发的构件等)和设备(如传感器等)的费用 (2)系统的开发费用 (3)系统安装、运行和维护费用 (4)人员培训费用
15
• 效益
(1)经济效益包括使用基于计算机的系统后 可增加的收入和可节省的运行费用(如操作人员 数、工作时间、消耗的物资等)。在进行成本效 益分析时通常只统计五年内的经济效益。 (2)社会效益指使用基于计算机的系统后对 社会产生的影响(如提高了办事效益,使用户满 意等),通常社会效益只能定性地估计。
• 经济效益通常可用货币的时间价值、投资回 收期和纯收入来度量。
16
• 货币的时间价值 • 设:当前金额为P,年利率为i,n年后的金额为F, • 则
• 计算时,累计经济效益应折合成当前金额 • 例如,一个基于计算机的系统使用后,每年产生 的经济效益为10万,如果年利率为5%,那么,五 年内该系统的累计经济效益是43.2948万,而不 是50万。同学们,这个数字怎么计算出来?
5
• 数据库 —指通过软件访问并持久存储的大 型的有组织的信息集合 • 文档 —指描绘系统的使用和/或操作的描述 性信息(如模型、规格说明、硬复制手册、 联机帮助文件、Web站点) • 规程 —指定义每个系统元素的特定使用或 系统所处的过程性语境的步骤
6
基于计算机的系统结构
• 对于基于计算机的系统而言
第三讲 系统工程
1
• 提纲
• 基于计算机的系统 • 系统工程的任务 • 可行性分析
2
基于计算机的系统
• 基于计算机的系统是指:通过处理信息来 完成某些预定义目标而组织在一起的元素 的组合 • 软件是计算机系统的组成部分,但对用户 而言有意义的是可以达到预期目标的系统 (完整的软硬件解决方案)而不是单一的软件。 • 软件项目应该从整个计算机系统的角度考 虑
• 风险分析的目的是找出风险,评价风险的大 小,并有效地控制和缓解风险。
20
• 资源分析:论证是否具备系统开发所需的各 类人员、软件、硬件等资源和相应的工作环 境。 例如,有一支开发过类似项目的开发和 管理的团队,或者开发人员比较熟悉系统所 处的领域,并有足够的人员保证,所需的硬 件和支撑软件能通过合法的手段获取,那么 从技术角度看,可以认为具备设计和实现系 统的条件。
24
系统目标
研究并制定开发方案
方案1
方案2
方案3
……
方案n
wenku.baidu.com
选择方案
评价方案 Y 系统综合、定义
方案可行?
N N 方案选完? Y
25
可行性分析的结论
• 可以立即开始进行 • 需要推迟到某些条件(例如资金、人力、 设备等)落实之后才能开始进行 • 需要对开发目标进行某些修改之后才能开 始进行 • 因为某种原因(如,技术不成熟、经济上 不合算等)不能进行
26
可行性研究报告
a. 引言 a.1 问题 a.2 实现环境 a.3 约束条件 b. 管理 b.1 重要的发展 b.2 注解 b.3 建议 b.4 效果 c. 方案选择 c.1 选择系统配置 c.2 选择方案的标准 d. 系统描述 d.1 缩写词 d.2 各个子系统的可行性 e. 成本-效益分析 f. 技术风险评价 g. 有关法律问题 h. 其他
34
工作事项 立项 提出解决方案 制定项目计划 可行性分析
内容说明 确定项目的范围、目标与 要求 从计算机系统工程的角度 考虑 主要是成本估算与进度安 排
经济、技术、社会环境、 人 生成系统规格说明 上述工作成果的书面描述
35
最终结果
• 生成系统规格说明,作为以后开发软件的 依据。 • 签订合同或者下达任务书。
11
系统模型通常可用图形描述,并加以相应的文字说 明。 必要时,在系统建模后可构造原型,进行系统模拟, 以分析所建的模型能否满足整个基于计算机的系 统的要求。
12
• 成本估算及进度安排(给出实施计划) 对将开发的基于计算机的系统进行成本估 算,并作出进度安排。 • 可行性分析(系统及实施方案的现实可行性) 从经济、技术、法律等方面分析所给出的 解决方案是否可行,通常只有当解决方案 可行并有一定的经济效益和/或社会效益时 才开始真正的基于计算机的系统的开发。 • 生成系统规格说明
17
• 投资回收期:累计的经济效益正好等于投资数 (成本)所需的时间。 • 纯收入:累计经济效益– 投资数 (1)当纯收入大于零时,该工程值得投资开发 (2)当纯收入小于零时,该工程不值得投资(除 非它有明显的社会效益) (3)当纯收入等于零时,通常也不值得投资 显然,纯收入越大越好。
18
技术可行性
36
实验二:可行性报告
• 请同学们根据《技术可行性报告》,完成综合性 实验的可行性分析报告。 • 时间:一周 • 提交电子文档到快盘, • 文件命名规定:
• 张三_李四_王五_赵六_实验二:可行性报告.doc • 上次试验报告文件命名规定: • 张三_实验一:不同类型的软件过程的情况调研.doc
37
29
• ”增加网站每日求购信息的整编工作,做 到任何其他一个网站有的我们都有。“ 分析:几乎不可能,连雅虎公司都不敢夸 口。 • ”增加国内及世界经济新闻板块,由每周 更新到每日更新。“ 分析:如果能做到,中央电视台、新华社 的网站早就做到了。
30
• ”建立网上信用卡收帐系统,一旦需要, 可立即投入使用。“ 分析:这种事情必须是公安部门、税务部 门、银行等一同商量好了之后才可以做的。
谢谢大家!
38
8
系统工程的任务
• 计算机系统工程是一个问题求解的活动, 其目的是分析基于计算机的系统的功能、 性能等要求,并把它们分配到基于计算机 系统的各个系统元素中,确定它们的约束 条件和接口
9
• 识别用户的要求(了解问题总体要 求)
标识系统的功能和性能范围,确定系统 的功能、性能、约束和接口
10
系统建模和模拟(提出完整的解决方案)
31
案例3
• 游戏外挂 从技术、人员角度、法律问题角度分析
32
案例4
• 微软打击番茄花园盗版事件 • 以修改微软的“视窗软件”为产品,捆绑 广告插件盈利可行吗? • 考虑法律问题
33
补充思考
• 真正意义上的软件开发从哪个阶段开始? 需求分析还是软件设计?为什么? • 为什么在“可行性分析”阶段就提出与 “需求分析”有关的内容? • 可行性分析与需求分析的侧重点有何不同? • 软件项目的前期究竟需要完成哪些工作?
3
组成基于计算机系统的元素
系统元素以及相互之间的关系可以用IPO模 型表示,如下图所示:
规 程
4
系统元素
• 软件—指计算机程序、数据结构和相关的工作产 品,以实现所需要的逻辑方法、规程或控制
• 硬件—指提供计算能力的电子设备、支持数据流 的互连设备(如网络交换器、电信设备)和提供外 部世界功能的电子机械设备(如传感器、马达等) • 人员—指硬件和软件的用户和操作者
13
可性行分析
• 开发一个基于计算机的系统通常都受到资 源(人力、财力、设备等)和时间上的限 制,可行性分析主要从经济、技术、法律 等方面分析所给出的解决方案是否可行, 能否在规定的资源和时间的约束下完成。 • 回答“是否可以做?”的问题 • 软件工程要以经济为本,用户为先!
14
经济可行性分析
• 经济可行性主要进行成本效益分析,从经 济角度,确定系统是否值得开发。 • 基于计算机的系统的成本主要包括: