第3章 计算机系统工程 教学目的:了解计算机系统工程的概念,理解 可行 性 研究的基本任务和步骤、理解成本/ 效益分析的方法,了解系统模型、系统 规格说明和评审。 教学重点:可行性研究。 教学难点:成本/效益分析。 教 具:多媒体教室、电子教案 作 业:
第3章 计算机系统工程 一般地,基于计算机的系统是由硬件、软件、人、文档、数据库、过程等系统要素就构成的。其中各系统要素间的关系如图3-0-1所示。 若不考虑系统内部结构和功能,基于计算机的系统可用输入-处理-输出(IPO)模型表示。其中: I(Input)指信息的输入; P(Process)指对信息的处理; O(Output)指信息的输出。
图3-0-1 基于计算机的系统的要素及其间的关系 人 硬件 软件 文档 过程 数据库 系统 输入 输出 基于计算机的系统 图3-0-1 基于计算机的系统的要素及其间的关系
第3章 计算机系统工程 对于大型基于计算机的系统,其要素的本身可能也是一个基于计算机的系统。这时,系统将具有复杂的层次结构。 本章主要包括计算机系统工程的概念、系统的可行性研究、系统建模与模拟、系统规格说明与评审等内容。
3.1 计算机系统工程的概念 计算机系统工程是用工程、科学和数学的原则与方法研制基于计算机的系统的有关技术、方法和过程。 3.1 计算机系统工程的概念 计算机系统工程是用工程、科学和数学的原则与方法研制基于计算机的系统的有关技术、方法和过程。 计算机系统工程是一种从系统层面上的问题求解活动。在开始构造一个新的基于计算机的系统时: ①计算机系统工程师(系统分析人员和系统开发人员)首先根据用户定义的系统目标和约束条件进行系统可行性研究和系统需求分析,此时必须做大量、细致的研究、论证工作,如有必要,还需建造系统或其中关键部分的原型,以便正确、完整地确定系统的功能需求和性能需求。
②然后,系统工程师将系统功能和性能分配到系统各要素之中。 3.1 计算机系统工程的概念 ②然后,系统工程师将系统功能和性能分配到系统各要素之中。 此时系统工程师应提出多种预选的方案,之后根据系统设计目标和约束条件并按照一定的原则设计并选择最佳方案。比如,在成本、进度、系统资源、系统性能、支撑环境等方面进行取舍和折衷。 在此基础上,对系统需求进行分解并分配给硬件、软件等系统要素,进而生成硬件、软件等系统要素的需求,并分别通过硬件工程、软件工程、人机工程、数据库工程等几个子工程予以实现。
3.1.1 硬件工程 硬件工程师根据系统硬件需求设计、制造或选择主机、外部设备、网络设备等硬部件或设备。硬件工程师可通过硬件工程来实现硬件系统。 硬件工程可划分为硬件定义、硬件设计、硬件制造与销售维修三个阶段。其中: 硬件定义阶段的任务是:①制定硬件开发计划,确定项目成本和工程进度;②进行硬件需求分析,给出硬件规格说明。 硬件设计阶段的任务是:①设计分析,画出设计图;②必要时建造原型(即样机)并对其进行测试;③制造分析,画出生产图。 硬件制造与销售维修阶段的任务是:按照质量保证计划生产硬件产品并出售,相应的服务机构对硬件产品进行售后服务。
硬件功能 制定开 发计划 硬件需 求分析 评审 评审 成本 进度 硬件规格说明 分析 结果 设计 分析 建造原型 测试 制造 分析 评审 评审 设计 草图 原型 设计图 设计 结果 制 造 评审 再加工 评审 经 销 维修组织 图3-1-2 硬件工程
3.1.2 软件工程 系统工程师在系统的论证阶段应确定系统对软件的功能和性能的要求,这将成为软件需求分析的基础。 3.1.2 软件工程 系统工程师在系统的论证阶段应确定系统对软件的功能和性能的要求,这将成为软件需求分析的基础。 软件工程师根据分配给软件要素的功能和性能进行详细的需求分析,并进行软件总体结构设计。在此基础上应尽力寻求可重用软部件来支持软件的详细设计和编码。 基于计算机系统的软件要素中的软部件由程序、数据和文档组成。按照功能,软部件可划分为系统软件和应用软件两类。 系统软件实现系统各要素的控制、交互和通用信息处理等功能; 而应用软件实现专用信息处理等功能。
3.1.2 软件工程 软件在基于计算机的系统的IPO模型的各个部分都起着重要的作用。其主要作用有: ①实现系统的输入和输出。 3.1.2 软件工程 软件在基于计算机的系统的IPO模型的各个部分都起着重要的作用。其主要作用有: ①实现系统的输入和输出。 系统的输入信息来自于系统的外部实体,而系统内部某一子系统的输入可能来自系统外部或内部的其他子系统。软件可提供交互式的人机界面,实现提示机制、数据输入、输出等人机交互的逻辑功能,并用软件驱动程序驱动和控制硬件完成输入输出操作。 ②如有必要,软件可设置与数据库的接口,支持系统对数据库的访问。 ③软件通过一系列的算法和操作控制程序使各个系统要素有条不紊地工作,从而实现系统的功能和性能。
图3-1-3 软件工程 制定软件 开发计划 软件 功能 需求分析原型设计 评审 评审 项目计划 原型 需求规格说明验收测 试计划初步用户手册 返回到前面 返回到前面 分析结果 数据和 结构分析 过程设计 编码 评审 评审 原型 概要设计规格说明 集成测试计划 程序 源代码 详细设计规格说明 单元测试计划 返回到前面 开发 结果 单元、集成 验收测试 评审 提 交 经 销 评审 维 护 评审 被修改的 源代码 被修改 的文档 可运行 程序 测试过程 测试报告 用户 文档 图3-1-3 软件工程
1.软件项目定义部分 该部分由制定软件项目开发计划、需求分析2个阶段组成,主要完成以下4项任务: 1)制定软件项目计划。即界定软件工作范围、进行风险分析、提出项目开发所需资源、进行成本和进度估算,进而进行可行性论证,生成软件项目计划并经过技术和管理评审。 2)软件需求分析和定义。即确定软件的功能需求和性能需求、详细定义软件系统要素,确定软件资源约束。在进行需求分析时,如有必要,还可以为软件或其中的关键部分开发原型,以获得用户满意的软件需求。 3)为软件要素制定验收准则,制定软件验收测试计划。 4)生成软件需求规格说明,通过由客户、系统分析员、软件工程师和管理部门负责人参加的评审后生效,并作为软件开发和软件产品验收的依据。
2.软件开发部分的任务 软件开发部分的任务是将系统对软件的需求转换成可操作的系统要素,即软件。 该部分由总体设计、过程设计和编码3个阶段组成。 1)软件总体设计阶段 软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务是: ①设计软件的模块结构。 ②定义接口并建立数据结构。 ③生成概要设计规格说明和组装测试计划。 ④评审概要设计的质量,重点评审总体设计是否 支持软件需求规格说明的完全性和可追踪性。
2.软件开发部分的任务 2)软件过程设计阶段——主要任务是: ①对概要设计规格说明中的每一个模块的过程 进行详细的描述。 ②制定单元测试计划。生成详细设计规格说明。 ③对详细设计的阶段产品进行评审。 3)编码阶段——任务是: 用选定的编程语言将每一个模块的详细过程描述转换成程序。应注意良好的编程风格、简洁性和自文档化,同时还应保持与过程设计的可跟踪性。
3.软件产品的验证、提交、经销与维护部分 1)软件验证阶段的主要任务是: ①软件开发人员根据单元测试计划对每一个 模块进行单元测试,验证模块的功能是否 正确且符合设计要求。 ②组织开发人员和专门的软件测试工程师 对软件进行综合测试,测试软件总体结构 和接口是否满足设计要求,测试各软部件 是否满足相应的软件功能需求和性能需求。 ③组织专家、用户和客户对测试结果进行评审。
3.软件产品的验证、提交、经销与维护部分 2)软件的提交与经销的主要任务是: ①开发正式的用户手册、对文档进行分类、整理、 归档,建立配置控制机制。 ②将软件提交给用户,必要时应负责把软件安装 到用户的环境中。 3)软件维护的任务是: 修正软件在运行中发现的错误、改善软件的功能和性能、适应软件运行环境的变化、提高软件的可维护性和可靠性等等。 以上所介绍的就是将系统工程的观点和方法引入软件工程,用于指导软件的开发。
3.1.3 人机工程 目前,友好的“人机界面”(HCI,Human Computer Interface)已成为基于计算机的系统的一项重要的技术指标。因此,开发人机界面的人机工程已经成为开发基于计算机的系统的一个重要组成部分。 要设计出高质量的人机界面,不仅涉及到计算机技术,还涉及到美学、心理学等人文科学知识。
人机界面开发过程的主要5个步骤: 1)活动分析。即分析人机交互的所有过程,标识该过程中人的活动并据此确定需要计算机执行的任务。 2)动作定义和设计。根据活动分析所标识的活动,精确的定义人机界面的每一个动作的内容,即进行人机交互的详细设计。 3)动作的实现。用特定的人机交互语言的语句和命令去实现每一个动作,进而实现各个人机界面的交互活动。如有必要,可以设计人机交互语言,精确地定义语言的语法和语义,并实现语言中的每一个动作和命令
人机界面开发过程的主要5个步骤 4)用户环境的设计。要设计高质量的人机界面,必须考虑将支撑人机界面的软件和硬件集成后,构成集成的用户环境的整体设计效果,还应考虑空间、光线、温度等环境因素。 5)原型设计。软件工程师根据以上4个步骤的结果设计原型,并请用户对原型进行评价和审查。并根据用户提出的意见修改原型,这是一个迭代过程,直至通过用户的评审。软件工程师以通过评审的原型为基础设计人机界面,就可以设计出用户满意的高质量的人机界面来。
3.1.4 数据库工程 任何一个基于计算机的系统工程都包括硬件工程、软件工程和人机工程三部分。 3.1.4 数据库工程 任何一个基于计算机的系统工程都包括硬件工程、软件工程和人机工程三部分。 在以信息处理为核心的基于计算机的系统中,数据库系统也是其重要的组成部分。它将系统硬件、软件、数据、数据库管理员组合起来为用户提供信息服务。 数据库工程就是指开发、运行和管理数据库系统的工程,它也是一个复杂而独特的软件工程项目。
数据库工程完成的主要任务 1)调查用户对信息和信息处理的需求,进行可行性论证,进行成本、进度估算,制定项目计划。 2)选择支持数据库系统的硬件和软件。特别是确定数据库管理系统(DBMS),它支持数据的查询、维护和分析,是管理数据库的工具,为数据库的设计和使用提供了方便。在选择DBMS时,还应考虑支持其运行的操作系统和网络环境。
数据库工程完成的主要任务 3)数据库设计与实现。软件人员根据用户对数据库系统的需求进行需求分析和数据分析,产生需求说明和数据说明;以此为基础,进行概念设计,产生依赖用户的概念模型;接着以概念模型为基础,进行逻辑设计,产生依赖DBMS的逻辑模型;再以此为基础进行物理设计,产生一个完整、可实现的数据库。和软件工程一样,数据库工程的每一步骤结束时都应进行评审,最后应对数据库系统进行测试,并生成各种文档。 4)数据的收集与存储。应按照系统的范围和用户需要将数据进行收集、整理,并存入数据库中。 5)运行、管理与维护。数据库系统开发完成并投入到系统中运行,此时数据库管理人员负责数据库的管理与维护工作,并为用户提供培训和有关资料等。
3.2 可行性研究 3.2.1 可行性研究的任务及步骤 1.可行性研究的任务 3.2 可行性研究 3.2.1 可行性研究的任务及步骤 1.可行性研究的任务 开发任何一个基于计算机的系统都会受到时间和资源的限制。因此,开发方在接受客户的项目之前,必须根据客户可能提供的时间和资源等条件进行可行性研究。 可行性研究工作要在初步的需求定义之后进行。其主要任务不是研究如何解决问题,而是要用最小的代价在最短的时间内确定该项目是否值得去解决,是否存在可行的解决方案。即在系统层面上论证系统开发的可行性。
1.可行性研究的任务 1)经济可行性研究:估算项目的开发成本和投入使用后可能带来的利润,进行成本效益分析。及对其他产品或利润的影响。 2)技术可行性研究:根据客户提出的系统功能、性能要求及实现系统的各项约束条件,从技术的角度研究实现系统的可行性。 3)运行、操作可行性研究:主要研究系统的运行方式在用户单位是否可以有效地实施,是否与原有其他系统相矛盾;系统的操作规程在用户单位内是否可行,它包括人事、科技政策、管理方法等。
1.可行性研究的任务 4)法律可行性研究:研究新系统的开发和使用是否会侵犯他人的权益,是否触犯了国家的法律法规。 5)开发方案的选择:可行性研究的最主要任务是对以后的行动提出建议。如果问题没有可行的解,分析人员应建议停止该项目,以避免造成进一步的浪费;如果问题值得解决,则提出并评价实现系统的各种可行的开发方案,从中选择一种最佳方案,并为系统制定一个初步的开发计划。
2.可行性研究的步骤 1)复查初步分析结果。 对系统初步的分析结果和报告书进行复查,改正含糊或不确切的叙述,重新确定系统目标与规模,清晰地描述对系统的所有约束条件。 2)研究现有的系统。 找出其基本功能和信息,指出其缺点或局限性。 3)导出新系统高层逻辑模型。 用某种图形工具导出系统高层逻辑模型,并与现有系统进行比较。
2.可行性研究的步骤 4)导出新系统的高层次物理解法,提出多个供选择的方案,并对每一个方案的经济可行性、技术可行性、运行和操作可行性等进行分析比较。 5)推荐建议的方案。 如果系统分析员认为值得开发,则应指出开发的价值、推荐方案的理由并为推荐的系统草拟一份开发计划;若分析员认为不值得开发,也应拿出充分的理由。并提交可行性研究报告等全部文档。 6)评审、复审和决策。 可行性研究最后要通过技术评审和管理复审,开发方和客户方或使用部门负责人根据成本-效益分析等各项可行性研究的结论,决策是否继续这项工程。
3.2.2 经济可行性 对待开发系统的经济可行性的论证(其中主要是成本-效益分析)是可行性研究的重要内容。它可用于评估系统的经济合理性、给出系统开发的成本估算,并将估算的成本与可获得的利润进行对比,从经济角度论证待开发系统是否可行。 项目开发的成本受项目的特点、规模等多种因素的制约,尤其是其中的软件要素的开发成本在可行性研究阶段很难准确估算。 经济效益——指应用系统可为用户增加的收入。 社会效益——指应用系统给社会带来的好处。
1.成本估算 基于计算机系统的成本主要由4部分组成: ①购置并安装软硬件及有关设备的费用。 ②系统开发费用。 ③系统安装、运行和维护费用。 ④人员培训费用。 在可行性研究阶段只能对上述费用所构成的成本进行估算。其中软件开发成本可用前面已介绍的估算方法进行估算。在系统开发完毕并交付用户运行后,即可统计出实际开发成本。
1.成本估算 【例3.1】已知一个基于计算机的系统的软件升级的开发成本估算值为5000元,预计新系统投入运行后每年可以带来2500元的收入,假定新软件的生存周期(不包括开发时间)为5年,当年的年利率为12%,试对该系统的开发进行成本-效益分析。 1.货币的时间价值: 指同样数量的货币随时间的不同具有不同的价值。 一般货币在不同时间的价值可用年利率来折算。 设:i 表示年利率,现在存入P元,n年后的价值为F元, 则有: F=P(1 + i )n (3-1)
表3-1 将来的收入折算成现在值 如果n年后能收入F元,这些钱折算成现在的价值称为折现值,折现公式为: P = F /(1 + i )n (3-2) 对本题的将来的收入折现,计算结果如表3-1所示。 表3-1 将来的收入折算成现在值 n(年) 第n年 的收入 (1+i)n 折现值 累计折现值 1 2500 1.12 2232.14 2 1.2544 1992.98 4225.12 3 1.404928 1779.45 6004.57 4 1.57351936 1588.80 7593.37 5 1.762341683 1418.57 9011.94
1.成本估算 2.纯收入。是指在整个生存周期系统的累计收入的折现值PT 与总成本折现值S T 之差,以T表示,则有: T= PT – ST = 9011.94 – 5000 = 4011.94(元) (3-3) 如果纯收入小于或等于0,则这项工程单从经济观点来看是不值得投资的。 3. 投资回收期。 是指系统投入运行后累计的经济效益的折现值正好等于投资所需的时间。本例中的投资回收期为: 2+(5000 – 4225.12)/1779.45 = 2 + 0.44 = 2.44(年) 投资回收期越短,就能越快地获得利润,工程越值得投资。
1.成本估算 4.投资回收率。把资金投入到项目中与把资金存入银行比较,其中投入到项目中可获得的年利率就称为项目的投资回收率。设S为现在的投资额,Fi是第i年到年底一年的收益(i=1,2,…,n),n是系统的寿命,j是投资回收率,则 j 满足方程: S= F1 (1+j) –1 + F2 (1+j) –2 + … + Fn (1+j) –n (3-4) 解这个方程就可以得到投资回收率j。本题的投资回收率为41.04%,而如果直接把资金存入银行的投资回收率就是年利率12%。 如果仅考虑经济效益,只有项目的投资回收率大于年利率时,才考虑开发问题。还要考虑社会效益。
3.2.3 技术可行性研究 技术可行性是可行性研究的关键内容。由于系统分析和定义过程与系统技术可行性评估过程同时进行,此时系统的功能、性能和目标的不确定性会给技术可行性论证带来许多困难。其主要包括: 1)风险分析。其任务是在给定的约束条件下,论证能否实现系统所需的功能和性能。 2)资源分析。其任务是论证是否具备系统开发所需各类人员的数量和质量、软硬件资源和工作环境等。 3)技术分析。其任务是论证现有的科学技术水平和开发能力是否支持开发的全过程并达到系统功能和性能的目标。
3.2.3 技术可行性研究 为了进行有效的技术可行性研究,系统分析员应采集系统功能、性能、各种约束条件、所需的各种资源等方面的信息,进而分析系统开发可能承担的技术风险;分析实现系统功能和性能所需的各种设备、人员、技术、方法、工具和过程;从而从技术角度分析开发系统的可行性。如果可能,应充分研究与新系统类似的原有系统。 数学建模、原型建造和模拟是基于计算机系统技术可行性研究的有效工具。
3.2.3 技术可行性研究 建造的基于计算机系统的模型必须具备以下特点: 3.2.3 技术可行性研究 建造的基于计算机系统的模型必须具备以下特点: 1)模型应能反映要评估系统的构成的动态特性,容易理解和操作,能够尽量提供系统真实的结果并有利于评审。 2)模型应包括与系统有关的全部相关元素,能够再现系统运行的结果。 3)模型应突出表现与系统相关的重要因素,忽略无关或次要因素。 4)模型设计应尽量简单、易于实现、易于修改。 如果系统十分复杂,则需将模型分解为若干个具有层次结构的小模型。可以借助模型对系统中某个重要的独立要素进行专门的评估。如有必要,可以对其中的关键要素建造原型并进行模拟,以便准确分析其技术可行性。
3.2.3 技术可行性研究 技术可行性研究应明确给出技术风险分析、资源分析和技术分析的结论,以便使项目管理人员据此做出是否进行系统开发的决策。 如果技术风险很大,或者资源不足,或者当前的技术、方法与工具不能实现系统预期的功能和性能,项目管理人员就应及时做出撤消项目的决定。
3.2.4 方案选择 在可行性研究阶段,系统工程师根据系统分析所确定的系统目标开始研究问题的求解方案。 3.2.4 方案选择 在可行性研究阶段,系统工程师根据系统分析所确定的系统目标开始研究问题的求解方案。 对于较复杂的大系统,一般都要将其分解为若干个子系统,接着精确地定义各子系统的界面、功能和性能,给出各子系统之间的关系。 分解技术可降低解的复杂性,有利于人员的组织与分工,提高开发生产率和开发质量。
3.2.4 方案选择 由于系统的分解方法可以有多种,因此实现系统目标的方案也可以有多种。采用的方案不同,对成本、进度、技术及各种资源的要求就会不同,系统在功能和性能方面也可能有较大差异。 从另一个角度来看,在系统开发的总成本不变的前提下,由于系统开发各阶段的成本分配方案的不同也会影响系统的功能和性能。 另外,由于系统的各功能和性能可能由多种因素组成,而某些因素之间又是相互关联彼此制约、不可兼得的。比如系统的计算精度和系统的执行时间就是互相矛盾的。
3.2.4 方案选择 综上所述,要选择一个较好的方案,首先要对系统采用多种分解和组合方法提出多种备选的求解方案,然后依据系统的功能、性能、成本、进度、系统开发所采用的技术、风险、软硬件资源、对开发人员的要求等方面评价每一个预选方案,并利用折衷手段对预选方案进行充分论证,反复比较各种方案的成本-效益,最后选择出一种较好的方案。
可行性研究报告—阶段性成果 它可作为系统规格说明书的一个附件。其主要内容如下: 1)引言:说明可行性研究的目的,项目的名称、背景,本文档用到的术语和参考资料。 2)可行性研究的前提:说明待开发项目的功能、性能和基本要求,要达到的目标,各种约束条件,可行性研究的方法和决定可行性的主要因素。 3)对现行系统的分析:如果有现行系统,说明现行系统的处理流程和数据流程,系统状态,费用支出,所需专业人员的种类和数量,所需设备,存在的问题等。 4)方案选择:所选择方案的系统配置,选择方案的标准。 5)所建议方案的技术可行性分析:对所选择的较好的方案的风险分析、资源分析和技术分析;对子系统的技术分析。
可行性研究报告—阶段性成果 6)经济可行性分析:说明所建议系统的成本-效益分析结果。 7)运行、操作可行性分析。 8)法律可行性分析。 9)其他可供选择方案:分别说明每一个可供选择的方案,并应说明未被推荐的理由。 10)结论意见:说明项目是否能开发,还需要什么条件才能开发以及对项目目标有何变动等。 可行性研究报告应提交管理部门,由管理人员对可行性研究报告进行评审并做出决策。
3.3 系统模型 1.结构模板 系统分析员将基于计算机系统的功能和性能分解为若干个子系统并精确定义各子系统的界面之后,开始建立系统模型。 3.3 系统模型 1.结构模板 系统分析员将基于计算机系统的功能和性能分解为若干个子系统并精确定义各子系统的界面之后,开始建立系统模型。 任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。在IPO模型的基础上,Hatley和Pirbhai又补充了用户界面处理、维护和自测试处理两方面的内容,从而构成了系统结构模板,如图3-3-1所示。它是系统建模的基础。
结构模板 用户界面处理 处理与控制功能 维护与自测试处理 输入处理 输出处理 图3-3-1 结构模板
3.3 系统模型 2.结构图 系统分析员用结构模板来开发系统模型。借助于结构模板,按照系统工程和软件工程的建模技术自顶向下、由粗到细地建立具有层次结构的系统模型。 在这里,使用一种结构关系图(ACD,Architectural Connector Detail)来描述系统的总体结构,它位于系统模型的最顶层。 利用ACD可以定义系统的组成、各子系统使用和产生的信息,建立系统与环境间的信息界面,实现系统与外部环境间的通信等等。
图3-3-2 传送带在线货物分类系统总体结构关系图 卡片机 分类机制 卡片代码 分类命令 要求 诊断 数据 分类操作员 传送带 分类系统 分类操作员 查询 报告 报告数据 带速 传送带 主机 图3-3-2 传送带在线货物分类系统总体结构关系图 方框——外部实体,即系统信息的生产者和消费者; 圆角方框——系统或子系统; 有向边——系统的信息流(数据流或控制流)。
2.结构图 系统分析员利用ACD定义系统和各个子系统的结构流图(AFD,Architectural Factor Detail)。
系统顶层AFD A B A的AFD 子系统B 的AFD C C的AFD 图3-3-3 系统分层结构流图
3.系统结构规格说明 在系统模型建立的过程中,系统分析人员应撰写结构图规格说明(ADS),用来准确、详细地说明系统结构、组成系统的各个子系统及其间的信息流和控制流。 每个子系统的结构图规格说明都应包括系统模板说明、系统结构字典和系统结构互连图。其中: 系统模板说明描述各子系统的功能、性能、处理的信息对象和结果,与其他子系统的连接关系等; 系统结构字典定义系统结构图中的每一个信息项,信息项的类型、信息源、流向的目标可以从系统结构流图中提取; 系统结构互连图和对应的规格说明描述系统信息的传送方式,如电的方式或光的方式等等。
4.系统建模和模拟 基于计算机的系统一般来说都是比较复杂的。所以在系统建立之前人们很难理解和预测系统的性能、效率和行为。如果等到系统开发出来并投入运行后再进行实验和纠错已为时太晚。特别是对于实时嵌入式计算机系统的试验的风险和代价都是很大的。因此,人们在系统分析和设计阶段普遍采用系统建模和模拟技术进行系统分析,以减少在真实环境中试验的风险和代价。 系统模拟是指用一个系统表现某个实际系统的特征或表现系统中选定行为的特征。目前,可以借助于计算机系统来表现现实世界的物理、社会现象,即所谓虚拟现实。系统模拟的目的是借助于系统模型进行现实系统的特征实验。
系统建模与模拟的主要步骤 1)分析问题,确定模拟的目标。 2)建立模型。模型是现实系统的一种描述,抽象和简化。模型必须由现实系统的元素组成、反映这些元素之间的关系、反映现实系统的本质和实际。这是一个迭代的过程,直至通过评价,得到恰当的模型为止。 3)借助模型对现实系统进行模拟,并评价模拟结果。 4)如果模拟结果不正确,则修改模型,之后在3)和4)间进行迭代,直至得到满意的模拟结果为止。 5)撰写模拟文档。 采用系统建模和模拟技术,可以提供实验的机会、缩短实验的时间、降低实验的成本、减小风险。
3.4 系统规格说明与评审 3.4.1 系统规格说明 系统规格说明是系统分析和定义阶段生成的一种文档。 3.4 系统规格说明与评审 3.4.1 系统规格说明 系统规格说明是系统分析和定义阶段生成的一种文档。 该文档描述了基于计算机系统应达到的目标,应具有的功能、性能和支配系统开发的各种约束条件;指明了各子系统在整个系统中的作用和地位;描述了系统的输入输出数据和控制信息。 系统规格说明是硬件工程、软件工程、数据库工程和人机工程的基础。
可供参考的系统规格说明目录 1.引言 1)文档的范围和目的 2)概述 ①目标 ②约束 2.功能和数据描述 1)系统结构 ①系统结构关系图 2)概述 ①目标 ②约束 2.功能和数据描述 1)系统结构 ①系统结构关系图 ②系统结构关系图的描述 3.子系统描述 1)子系统N的规格说明 ①结构流图 ②系统模型说明 ③性能说明 ④设计约束条件 ⑤分配系统部件 2)结构字典 3)结构互连图及说明
可供参考的系统规格说明目录 4.系统建模和模拟 1)用于模拟的系统模型 2)模拟结果 3)特殊性能 5.项目问题 1)开发成本 2)进度安排 6.附录
3.4.2 系统规格说明的评审 首先,系统开发人员应当和用户、客户通力合作,对系统规格说明进行技术评审。技术评审主要解决的问题有: 3.4.2 系统规格说明的评审 首先,系统开发人员应当和用户、客户通力合作,对系统规格说明进行技术评审。技术评审主要解决的问题有: ①系统规格说明中的定义是否正确,是否正确地描述了项目的范围、准确定义了系统的功能、性能和界面,开发人员和用户对系统的目标是否有共同的认识等。 ②系统功能的复杂性是否与开发风险、成本和进度预测保持一致。 ③系统及各子系统功能定义是否足够详细。 ④系统与环境及各子系统之间的接口定义是否详细、有否遗漏。 ⑤是否指明系统性能、可靠性和可维护性等需求。 ⑥是否为以后的开发打下坚实的基础。
管理复审 技术评审通过后,还要进行由项目管理部门和客户方负责人参加的管理复审。管理复审主要解决的问题有: ①系统是否有稳定的商业需求、经济和社会效益。 ②系统开发是否还有其他的选择方案。 ③系统各部分开发风险如何。 ④系统开发所需资源是否具备。 ⑤成本和进度计划是否合理等。 管理复审最后应做出是否继续开发项目的决策。 系统规格说明技术评审和管理复审通过后,即可按照硬件工程、软件工程、数据库工程、人机工程等并行进行开发工作。 返回目录