《计算机系统工程》PPT课件.ppt_第1页
《计算机系统工程》PPT课件.ppt_第2页
《计算机系统工程》PPT课件.ppt_第3页
《计算机系统工程》PPT课件.ppt_第4页
《计算机系统工程》PPT课件.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程,教材:主编 曹哲 高诚 中国水利水电出版社 教案:河北工业大学廊坊分院 计算机系 黄南川,第3章 计算机系统工程,3.1 计算机系统工程的概念 3.2 系统的可行性研究 3.3 系统模型 3.4 系统规格说明与评审,河北工业大学计算机系,第3章 计算机系统工程,计算机的系统是由硬件、软件、人、文档、数据库、过程等系统要素就构成的。 若不考虑系统内部结构和功能,基于计算机的系统可用输入-处理-输出(IPO)模型表示。其中: I(Input)指信息的输入; P(Process)指对信息的处理; O(Output)指信息的输出。,河北工业大学计算机系,基于计算机的系统的要素及其间的关系,河北工业大学计算机系,3.1 计算机系统工程的概念,计算机系统工程是用工程、科学和数学的原则与方法研制基于计算机的系统的有关技术、方法和过程。 计算机系统工程是一种从系统层面上的问题求解活动。在开始构造一个新的基于计算机的系统时: 计算机系统工程师(系统分析人员和系统开发人员)首先根据用户定义的系统目标和约束条件进行系统可行性研究和系统需求分析。 系统工程师将系统功能和性能分配到系统各要素之中。 应提出多种预选的方案,河北工业大学计算机系,3.1.1 硬件工程,硬件工程师根据系统硬件需求设计、制造或选择主机、外部设备、网络设备等硬部件或设备。硬件工程师可通过硬件工程来实现硬件系统。 划分为硬件定义、设计、制造与销售维修三个阶段,河北工业大学计算机系,图3-1-2 硬件工程,河北工业大学计算机系,3.1.2 软件工程,论证阶段:系统工程师应确定系统对软件的功能和性能的要求,这将成为软件需求分析的基础。 功能和性能进行详细的需求分析,进行软件总体结构设计。在此基础上应尽力寻求可重用软部件来支持软件的详细设计和编码。 按照功能,软部件可划分为 系统软件:实现系统各要素的控制、交互和通用信息处理等功能; 应用软件:实现专用信息处理等功能。,河北工业大学计算机系,3.1.2 软件工程,软件在基于计算机的系统的IPO模型的各个部分都起着重要的作用。其主要作用有: 实现系统的输入和输出。 有必要,可设置与数据库的接口,支持系统对数据库的访问。 软件通过一系列的算法和操作控制程序使各个系统要素有条不紊地工作,从而实现系统的功能和性能。,河北工业大学计算机系,图3-1-3 软件工程,制定软件 开发计划,数据和 结构分析,过程设计,维 护,评审,评审,评审,评审,项目计划,需求规格说明验收测 试计划初步用户手册,概要设计规格说明 集成测试计划,需求分析原型设计,原型,软件 功能,分析结果,原型,详细设计规格说明 单元测试计划,编码,程序 源代码,单元、集成 验收测试,测试过程 测试报告,返回到前面,返回到前面,返回到前面,开发 结果,提 交 经 销,被修改 的文档,用户 文档,可运行 程序,河北工业大学计算机系,1软件项目定义部分,该部分由制定软件项目开发计划、需求分析2个阶段组成,主要完成以下4项任务: 1)制定软件项目计划。软件工作范围、风险分析、提出项目开发所需资源、成本和进度估算,进而进行可行性论证,生成软件项目计划并经过技术和管理评审。 2)软件需求分析和定义。 3)制定验收准则,测试计划。 4)生成软件需求规格说明,评审后生效,作为软件开发和软件产品验收的依据。,河北工业大学计算机系, 1. 系统流程图的作用 系统流程图是描述物理系统的工具。通过画出系统流程图来了解要开发的项目的大概处理流程、 范围和功能等。 系统流程图不仅能用于可行性研究,还能用于需求分析阶段。 系统流程图可用图形符号来表示系统中的各个元素, 例如,人工处理、数据处理、数据库、文件和设备等。它表达了系统中各个元素之间的信息流动的情况。,一个具体实现的系统,也就是描述一个单位、组织的信息处理的具体实现的系统。,系统流程图,河北工业大学计算机系,画系统流程图时,首先要搞清业务处理过程以及处理中的各个元素,同时选择相应的符号来代表系统中的各个元素。所画的系统流程图要反映出系统的处理流程。 在进行可行性研究过程中,要以概括的形式描述现有系统的高层逻辑模型,并通过概要的设计变成所建议系统的物理模型, 可以用系统流程图来描述所建议系统的物理模型。 2. 系统流程图的符号 系统流程图的符号如表 2 - 1 所示。,河北工业大学计算机系,河北工业大学计算机系,河北工业大学计算机系,3.系统流程图的示例 以某工厂的库房管理为例 某工厂有一个库房, 存放该厂生产需要的物品, 库房中的各种物品的数量及各种物品库存量临界值等数据记录在库存文件上,当库房中物品数量有变化时,应更新库存文件。若某种物品的库存量少于库存临界值,则报告采购部门以便其订货, 每天向采购部门送一份采购报告。 库房可使用一台微机处理更新库存文件和产生订货报告的任务。物品的发放和接受称为变更记录,由键盘录入到微机中。 系统中的库存管理模块对变更记录进行处理,更新存储在磁盘上的库存文件,并把订货信息记录到联机存储中。每天由报告生成模块读一次订货信息,并打印出订货报告。,河北工业大学计算机系,库存管理系统的系统流程图,河北工业大学计算机系,2软件开发部分的任务,软件开发部分的任务是将系统对软件的需求转换成可操作的系统要素,即软件。 该部分由总体设计、过程设计和编码3个阶段组成。 1)软件总体设计阶段 软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务是: 设计软件的模块结构。 定义接口并建立数据结构。 生成概要设计规格说明和组装测试计划。 评审概要设计的质量,重点评审总体设计是否 支持软件需求规格说明的完全性和可追踪性。,河北工业大学计算机系,2软件开发部分的任务,2)软件过程(详细)设计阶段主要任务是: 对概要设计规格说明中的每一个模块的过程 进行详细的描述。 制定单元测试计划。生成详细设计规格说明。 对详细设计的阶段产品进行评审。 3)编码阶段任务是: 用选定的编程语言将每一个模块的详细过程描述转换成程序。应注意良好的编程风格、简洁性和自文档化,同时还应保持与过程设计的可跟踪性。,河北工业大学计算机系,3软件产品的验证、提交、经销与维护部分的任务,1)软件验证阶段的主要任务是: 软件开发人员根据单元测试计划对每一个 模块进行单元测试,验证模块的功能是否 正确且符合设计要求。 组织开发人员和专门的软件测试工程师 对软件进行综合测试,测试软件总体结构 和接口是否满足设计要求,测试各软部件 是否满足相应的软件功能需求和性能需求。 组织专家、用户和客户对测试结果进行评审。,河北工业大学计算机系,3软件产品的验证、提交、经销与维护部分的任务,2)软件的提交与经销的主要任务是: 开发正式的用户手册、对文档进行分类、整理、 归档,建立配置控制机制。 将软件提交给用户,必要时应负责把软件安装 到用户的环境中。 3)软件维护的任务是: 修正软件在运行中发现的错误、改善软件的功能和性能、适应软件运行环境的变化、提高软件的可维护性和可靠性等等。 以上所介绍的就是将系统工程的观点和方法引入软件工程,用于指导软件的开发。,河北工业大学计算机系,3.1.3 人机工程,目前,友好的“人机界面”(HCI,Human Computer Interface)已成为基于计算机的系统的一项重要的技术指标。因此,开发人机界面的人机工程已经成为开发基于计算机的系统的一个重要组成部分。 要设计出高质量的人机界面,不仅涉及到计算机技术,还涉及到美学、心理学等人文科学知识。,河北工业大学计算机系,人机界面开发过程的主要5个步骤:,河北工业大学计算机系,3.1.4 数据库工程,必有硬件工程、软件工程和人机工程三部分。 在以信息处理为核心的基于计算机的系统中,数据库系统也是其重要的组成部分。它将系统硬件、软件、数据、数据库管理员组合起来为用户提供信息服务。 数据库工程就是指开发、运行和管理数据库系统的工程,它也是一个复杂而独特的软件工程项目。,河北工业大学计算机系,数据库工程完成的主要任务,1)调查用户对信息和信息处理的需求,进行可行性论证,进行成本、进度估算,制定项目计划。 2)选择支持数据库系统的硬件和软件。特别是DBMS,它支持数据的查询、维护和分析,是管理数据库的工具,为数据库的设计和使用提供了方便。在选择DBMS时,还应考虑支持其运行的操作系统和网络环境。,3)数据库设计与实现。 4)数据的收集与存储。 5)运行、管理与维护。,河北工业大学计算机系,3.2 可行性研究任务及步骤,1可行性研究的任务 可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 怎样达到这个目的呢?当然不能靠主观猜想而只能靠客观分析。必须分析几种主要的可能解法的利弊,从而判定原定的系统规模和目标是否实现,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。 因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。,河北工业大学计算机系,1.可行性研究的任务,1)经济可行性研究:进行成本效益分析,及对其他产品或利润的影响。 2)技术可行性研究:根据客户提出的系统功能、性能要求及实现系统的各项约束条件,研究系统实现的可能性。 3)运行、操作可行性研究:运行方式在用户单位是否可以有效地实施,是否与原有其他系统相矛盾;系统的操作规程在用户单位内是否可行,它包括人事、科技政策、管理方法等。 4)法律可行性研究:系统的开发使用是否侵犯他人的利益,是否触犯国家法律法规。 5)开发方案的选择,河北工业大学计算机系,2.可行性研究的步骤,1)复查初步分析结果。,对系统初步的分析结果和报告书进行复查,改正含糊或不确切的叙述,重新确定系统目标与规模,清晰地描述对系统的所有约束条件。,2)研究现有的系统。,找出其基本功能和信息,指出其缺点或局限性。,3)导出新系统高层逻辑模型。,用某种图形工具导出系统高层逻辑模型,并与现有系统进行比较。,4)导出新系统的高层次物理解法,提出多个供选择的方案,并对每一个方案的经济可行性、技术可行性、运行和操作可行性等进行分析比较。,5)推荐建议的方案。,如果系统分析员认为值得开发,则应指出开发的价值、推荐方案的理由并为推荐的系统草拟一份开发计划;若分析员认为不值得开发,也应拿出充分的理由。并提交可行性研究报告等全部文档。,6)评审、复审和决策。,可行性研究最后要通过技术评审和管理复审,开发方和客户方或使用部门负责人根据成本-效益分析等各项可行性研究的结论,决策是否继续这项工程。,河北工业大学计算机系,3.2.2 经济可行性,开发一个基于计算机的系统是为了获取较好的经济效益和社会效益。因此对待开发系统的经济可行性的论证(其中主要是成本-效益分析)是可行性研究的重要内容。 成本-效益分析可用于评估系统的经济合理性、给出系统开发的成本估算,并将估算的成本与可获得的利润进行对比,从经济角度论证待开发系统是否可行。 经济效益指应用系统可为用户增加的收入。 社会效益指应用系统给社会带来的好处。,河北工业大学计算机系,1成本估算,基于计算机系统的成本主要由4部分组成: 购置并安装软硬件及有关设备的费用。 系统开发费用。 系统安装、运行和维护费用。 人员培训费用。,河北工业大学计算机系,2成本-效益分析,成本-效益分析是指待开发系统的总成本与其将带来的经济效益进行比较,从经济角度分析该系统是否值得投资开发。,河北工业大学计算机系,【例3.1】 已知一个基于计算机的系统的软件升级的开发成本估算值为5000元,预计新系统投入运行后每年可以带来2500元的收入,假定新软件的生存周期(不包括开发时间)为5年,当年的年利率为12%,试对该系统的开发进行成本-效益分析。 1货币的时间价值: 指同样数量的货币随时间的不同具有不同的价值。 一般货币在不同时间的价值可用年利率来折算。 设:i 表示年利率,现在存入P元,n年后的价值为F元,则有: F=P(1 + i )n,河北工业大学计算机系,表3-1 将来的收入折算成现在值,如果n年后能收入F元,这些钱折算成现在的价值称为折现值,折现公式为: P = F /(1 + i )n 对本题的将来的收入折现,计算结果如表3-1所示。,河北工业大学计算机系,2纯收入 是指在整个生存周期系统的累计收入的折现值PT 与总成本折现值S T 之差,以T表示,则有: T= PT ST = 9011.94 5000 = 4011.94(元) 如果纯收入小于或等于0,则这项工程单从经济观点来看是不值得投资的。 3. 投资回收期。 是指系统投入运行后累计的经济效益的折现值正好等于投资所需的时间。本例中的投资回收期为: 2+(5000 4225.12)/1779.45 = 2 + 0.44 = 2.44(年) 投资回收期越短,就能越快地获得利润,工程越值得投资。,河北工业大学计算机系,4投资回收率 把资金投入到项目中与把资金存入银行比较,其中投入到项目中可获得的年利率就称为项目的投资回收率。设S为现在的投资额,Fi是第i年到年底一年的收益(i=1,2,n),n是系统的寿命,j是投资回收率,则 j 满足方程: S= F1 (1+j) 1 + F2 (1+j) 2 + + Fn (1+j) n 解这个方程就可以得到投资回收率j。本题S=5000, F1 = F2= F3 = F4 = F5=2500,则投资回收率为41.04%,而如果直接把资金存入银行的投资回收率就是年利率12%。 如果仅考虑经济效益,只有项目的投资回收率大于年利率时,才考虑开发问题。还要考虑社会效益。,河北工业大学计算机系,3.2.3技术可行性研究,技术可行性是可行性研究的关键内容。由于系统分析和定义过程与系统技术可行性评估过程同时进行,此时系统的功能、性能和目标的不确定性会给技术可行性论证带来许多困难。其主要包括: 1)风险分析。其任务是在给定的约束条件下,论证能否实现系统所需的功能和性能。 2)资源分析。其任务是论证是否具备系统开发所需各类人员的数量和质量、软硬件资源和工作环境等。 3)技术分析。其任务是论证现有的科学技术水平和开发能力是否支持开发的全过程并达到系统功能和性能的目标。 毕业生们的错误是去阐述某个流行软件的功能特性,河北工业大学计算机系,3.2.3 技术可行性研究,数学建模、原型建造和模拟是基于计算机系统技术可行性研究的有效工具。,建造的基于计算机系统的模型必须具备以下特点: 1)模型应能反映要评估系统的构成的动态特性,容易理解和操作,能够尽量提供系统真实的结果并有利于评审。 2)模型应包括与系统有关的全部相关元素,能够再现系统运行的结果。 3)模型应突出表现与系统相关的重要因素,忽略无关或次要因素。 4)模型设计应尽量简单、易于实现、易于修改。,河北工业大学计算机系,3.2.4 方案选择,在可行性研究阶段,系统工程师根据系统分析所确定的系统目标开始研究问题的求解方案。 对于较复杂的大系统,一般都要将其分解为若干个子系统,接着精确地定义各子系统的界面、功能和性能,给出各子系统之间的关系。,河北工业大学计算机系,可行性研究报告阶段性成果,它可作为系统规格说明书的一个附件。其主要内容如下: 1)引言:说明可行性研究的目的,项目的名称、背景,本文档用到的术语和参考资料。 2)可行性研究的前提:说明待开发项目的功能、性能和基本要求,要达到的目标,各种约束条件,可行性研究的方法和决定可行性的主要因素。 3)对现行系统的分析:如果有现行系统,说明现行系统的处理流程和数据流程,系统状态,费用支出,所需专业人员的种类和数量,所需设备,存在的问题等。 4)方案选择:所选择方案的系统配置,选择方案的标准。 5)所建议方案的技术可行性分析:对所选择的较好的方案的风险分析、资源分析和技术分析;对子系统的技术分析。,河北工业大学计算机系,可行性研究报告阶段性成果,6)经济可行性分析:说明所建议系统的成本-效益分析结果。 7)运行、操作可行性分析。 8)法律可行性分析。 9)其他可供选择方案:分别说明每一个可供选择的方 案,并应说明未被推荐的理由。 10)结论意见:说明项目是否能开发,还需要什么条件才能开发以及对项目目标有何变动等。 可行性研究报告应提交管理部门,由管理人员对可行性研究报告进行评审并做出决策。,河北工业大学计算机系,可行性报告提纲,河北工业大学计算机系,3.3 系统模型,1结构模板 系统分析员将基于计算机系统的功能和性能分解为若干个子系统并精确定义各子系统的界面之后,开始建立系统模型。 任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。在IPO模型的基础上,Hatley和Pirbhai又补充了用户界面处理、维护和自测试处理两方面的内容,从而构成了系统结构模板,如图3-3-1所示。它是系统建模的基础。,河北工业大学计算机系,结构模板,河北工业大学计算机系,3.3 系统模型,2结构图 系统分析员用结构模板来开发系统模型。借助于结构模板,按照系统工程和软件工程的建模技术自顶向下、由粗到细地建立具有层次结构的系统模型。 在这里,使用一种结构关系图(ACD,Architectural Connector Deta

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论