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