《可行性报告-可行性分析.ppt》由会员分享,可在线阅读,更多相关《可行性报告-可行性分析.ppt(57页珍藏版)》请在第一文库网上搜索。
1、课程名称:软件工程课程名称:软件工程 第第8讲讲班班 级:级: 日日 期:期:教教 室:室:教学题目:第教学题目:第3章章 计算机系统工程计算机系统工程教学目的:了解计算机系统工程的概念,理解可行性教学目的:了解计算机系统工程的概念,理解可行性研究的基本任务和步骤、理解成本研究的基本任务和步骤、理解成本/效益分析的方效益分析的方法,了解系统模型、系统规格说明和评审。法,了解系统模型、系统规格说明和评审。教学重点:可行性研究。教学重点:可行性研究。教学难点:成本教学难点:成本/效益分析。效益分析。教教 具:多媒体教室、电子教案具:多媒体教室、电子教案作作 业:业:第第3章章 计算机系统工程计算机
2、系统工程一般地,基于计算机的系统是由硬件、软件、一般地,基于计算机的系统是由硬件、软件、人、文档、数据库、过程等系统要素就构成人、文档、数据库、过程等系统要素就构成的。其中各系统要素间的关系如图的。其中各系统要素间的关系如图3-0-1所示。所示。若不考虑系统内部结构和功能,基于计算机若不考虑系统内部结构和功能,基于计算机的系统可用输入的系统可用输入-处理处理-输出(输出(IPO)模型表)模型表示。其中:示。其中: I(Input)指信息的输入;)指信息的输入; P(Process)指对信息的处理;)指对信息的处理; O(Output)指信息的输出。)指信息的输出。图图3-0-1 基于计算机的系
3、统的要素及其间的关系基于计算机的系统的要素及其间的关系人人硬件硬件软件软件文档文档过程过程数据库数据库系统系统输输入入输输出出基于计算机的系统基于计算机的系统第第3章章 计算机系统工程计算机系统工程对于大型基于计算机的系统,其要素的对于大型基于计算机的系统,其要素的本身可能也是一个基于计算机的系统。本身可能也是一个基于计算机的系统。这时,系统将具有复杂的层次结构。这时,系统将具有复杂的层次结构。本章主要包括计算机系统工程的概念、本章主要包括计算机系统工程的概念、系统的可行性研究、系统建模与模拟、系统的可行性研究、系统建模与模拟、系统规格说明与评审等内容。系统规格说明与评审等内容。3.1 计算机
4、系统工程的概念计算机系统工程的概念计算机系统工程是用工程、科学和数学的原则与方计算机系统工程是用工程、科学和数学的原则与方法研制基于计算机的系统的有关技术、方法和过程。法研制基于计算机的系统的有关技术、方法和过程。计算机系统工程是一种从系统层面上的问题求解活计算机系统工程是一种从系统层面上的问题求解活动。在开始构造一个新的基于计算机的系统时:动。在开始构造一个新的基于计算机的系统时:计算机系统工程师(系统分析人员和系统开发人员)计算机系统工程师(系统分析人员和系统开发人员)首先根据用户定义的系统目标和约束条件进行系统首先根据用户定义的系统目标和约束条件进行系统可行性研究和系统需求分析,此时必须
5、做大量、细可行性研究和系统需求分析,此时必须做大量、细致的研究、论证工作,如有必要,还需建造系统或致的研究、论证工作,如有必要,还需建造系统或其中关键部分的原型,以便正确、完整地确定系统其中关键部分的原型,以便正确、完整地确定系统的功能需求和性能需求。的功能需求和性能需求。3.1 计算机系统工程的概念计算机系统工程的概念然后,系统工程师将系统功能和性能分配到系然后,系统工程师将系统功能和性能分配到系统各要素之中。统各要素之中。 此时系统工程师应提出多种预选的方案,之后此时系统工程师应提出多种预选的方案,之后根据系统设计目标和约束条件并按照一定的原根据系统设计目标和约束条件并按照一定的原则设计并
6、选择最佳方案。比如,在成本、进度、则设计并选择最佳方案。比如,在成本、进度、系统资源、系统性能、支撑环境等方面进行取系统资源、系统性能、支撑环境等方面进行取舍和折衷。舍和折衷。 在此基础上,对系统需求进行分解并分配给硬在此基础上,对系统需求进行分解并分配给硬件、软件等系统要素,进而生成硬件、软件等件、软件等系统要素,进而生成硬件、软件等系统要素的需求,并分别通过硬件工程、软件系统要素的需求,并分别通过硬件工程、软件工程、人机工程、数据库工程等几个子工程予工程、人机工程、数据库工程等几个子工程予以实现。以实现。3.1.1 硬件工程硬件工程q硬件工程师根据系统硬件需求设计、制造或选择主机、硬件工程
7、师根据系统硬件需求设计、制造或选择主机、外部设备、网络设备等硬部件或设备。硬件工程师可外部设备、网络设备等硬部件或设备。硬件工程师可通过硬件工程来实现硬件系统。通过硬件工程来实现硬件系统。q硬件工程可划分为硬件定义、硬件设计、硬件制造与硬件工程可划分为硬件定义、硬件设计、硬件制造与销售维修三个阶段。其中销售维修三个阶段。其中:硬件定义阶段的任务是:制定硬件开发计划,确定硬件定义阶段的任务是:制定硬件开发计划,确定项目成本和工程进度;进行硬件需求分析,给出硬项目成本和工程进度;进行硬件需求分析,给出硬件规格说明。件规格说明。硬件设计阶段的任务是:设计分析,画出设计图;硬件设计阶段的任务是:设计分
8、析,画出设计图;必要时建造原型(即样机)并对其进行测试;制必要时建造原型(即样机)并对其进行测试;制造分析,画出生产图。造分析,画出生产图。硬件制造与销售维修阶段的任务是:按照质量保证计硬件制造与销售维修阶段的任务是:按照质量保证计划生产硬件产品并出售,相应的服务机构对硬件产品划生产硬件产品并出售,相应的服务机构对硬件产品进行售后服务。进行售后服务。图图3-1-2 硬件工程硬件工程设计设计分析分析建造原型建造原型测试测试制造制造分析分析制制 造造再加工再加工经经 销销评审评审评审评审评审评审评审评审评审评审成本成本进度进度硬件规硬件规格说明格说明设计设计草图草图设计图设计图原型原型硬件硬件功能
9、功能评审评审维修组织维修组织分析分析结果结果设计设计结果结果制定开制定开发计划发计划硬件需硬件需求分析求分析3.1.2 软件工程软件工程q系统工程师在系统的论证阶段应确定系统对软件的系统工程师在系统的论证阶段应确定系统对软件的功能和性能的要求,这将成为软件需求分析的基础。功能和性能的要求,这将成为软件需求分析的基础。q软件工程师根据分配给软件要素的功能和性能进行软件工程师根据分配给软件要素的功能和性能进行详细的需求分析,并进行软件总体结构设计。在此详细的需求分析,并进行软件总体结构设计。在此基础上应尽力寻求可重用软部件来支持软件的详细基础上应尽力寻求可重用软部件来支持软件的详细设计和编码。设计
10、和编码。q基于计算机系统的软件要素中的软部件由程序、数基于计算机系统的软件要素中的软部件由程序、数据和文档组成。按照功能,软部件可划分为系统软据和文档组成。按照功能,软部件可划分为系统软件和应用软件两类。件和应用软件两类。系统软件实现系统各要素的控制、交互和通用信息系统软件实现系统各要素的控制、交互和通用信息处理等功能;处理等功能;而应用软件实现专用信息处理等功能。而应用软件实现专用信息处理等功能。3.1.2 软件工程软件工程q软件在基于计算机的系统的软件在基于计算机的系统的IPO模型的各个部分都起模型的各个部分都起着重要的作用。其主要作用有:着重要的作用。其主要作用有:实现系统的输入和输出。
11、实现系统的输入和输出。 系统的输入信息来自于系统的外部实体,而系统内部系统的输入信息来自于系统的外部实体,而系统内部某一子系统的输入可能来自系统外部或内部的其他子某一子系统的输入可能来自系统外部或内部的其他子系统。软件可提供交互式的人机界面,实现提示机制、系统。软件可提供交互式的人机界面,实现提示机制、数据输入、输出等人机交互的逻辑功能,并用软件驱数据输入、输出等人机交互的逻辑功能,并用软件驱动程序驱动和控制硬件完成输入输出操作。动程序驱动和控制硬件完成输入输出操作。如有必要,软件可设置与数据库的接口,支持系统对如有必要,软件可设置与数据库的接口,支持系统对数据库的访问。数据库的访问。软件通过
12、一系列的算法和操作控制程序使各个系统要软件通过一系列的算法和操作控制程序使各个系统要素有条不紊地工作,从而实现系统的功能和性能。素有条不紊地工作,从而实现系统的功能和性能。图图3-1-3 软件工程软件工程制定软件制定软件开发计划开发计划数据和数据和结构分析结构分析过程设计过程设计维维 护护评审评审评审评审评审评审评审评审评审评审项目计划项目计划需求规格说明验收测需求规格说明验收测试计划初步用户手册试计划初步用户手册概要设计规格说明概要设计规格说明集成测试计划集成测试计划需求分析原型设计需求分析原型设计原型原型软件软件功能功能评审评审分析分析结果结果原型原型详细设计规格说明详细设计规格说明单元测
13、试计划单元测试计划编码编码程序程序源代码源代码单元、集成单元、集成验收测试验收测试评审评审测试过程测试过程测试报告测试报告返回到前面返回到前面返回到前面返回到前面返回到前面返回到前面开发开发结果结果提提 交交经经 销销被修改的被修改的源代码源代码被修改被修改的文档的文档用户用户文档文档可运行可运行程序程序1软件项目定义部分软件项目定义部分该部分由制定软件项目开发计划、需求分析该部分由制定软件项目开发计划、需求分析2个阶段个阶段组成,主要完成以下组成,主要完成以下4项任务:项任务:1)制定软件项目计划。即界定软件工作范围、进行风)制定软件项目计划。即界定软件工作范围、进行风险分析、提出项目开发所
14、需资源、进行成本和进度估险分析、提出项目开发所需资源、进行成本和进度估算,进而进行可行性论证,生成软件项目计划并经过算,进而进行可行性论证,生成软件项目计划并经过技术和管理评审。技术和管理评审。2)软件需求分析和定义。即确定软件的功能需求和性)软件需求分析和定义。即确定软件的功能需求和性能需求、详细定义软件系统要素,确定软件资源约束。能需求、详细定义软件系统要素,确定软件资源约束。在进行需求分析时,如有必要,还可以为软件或其中在进行需求分析时,如有必要,还可以为软件或其中的关键部分开发原型,以获得用户满意的软件需求。的关键部分开发原型,以获得用户满意的软件需求。3)为软件要素制定验收准则,制定
15、软件验收测试计划。)为软件要素制定验收准则,制定软件验收测试计划。4)生成软件需求规格说明,通过由客户、系统分析员、)生成软件需求规格说明,通过由客户、系统分析员、软件工程师和管理部门负责人参加的评审后生效,并软件工程师和管理部门负责人参加的评审后生效,并作为软件开发和软件产品验收的依据。作为软件开发和软件产品验收的依据。2软件开发部分的任务软件开发部分的任务软件开发部分的任务是将系统对软件的需求转换成软件开发部分的任务是将系统对软件的需求转换成可操作的系统要素,即软件。可操作的系统要素,即软件。该部分由总体设计、过程设计和编码该部分由总体设计、过程设计和编码3个阶段组成。个阶段组成。 1)软
16、件总体设计阶段)软件总体设计阶段 软件总体设计是指软件总体结构设计和数据设计,软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务是:该阶段的主要任务是:设计软件的模块结构。设计软件的模块结构。定义接口并建立数据结构。定义接口并建立数据结构。生成概要设计规格说明和组装测试计划。生成概要设计规格说明和组装测试计划。评审概要设计的质量,重点评审总体设计是否评审概要设计的质量,重点评审总体设计是否 支持软件需求规格说明的完全性和可追踪性。支持软件需求规格说明的完全性和可追踪性。2软件开发部分的任务软件开发部分的任务2)软件过程设计阶段)软件过程设计阶段主要任务是:主要任务是: 对概要设计规格说明中的每一个模块的过程对概要设计规格说明中的每一个模块的过程 进行详细的描述。进行详细的描述。 制定单元测试计划。生成详细设计规格说明。制定单元测试计划。生成详细设计规格说明。 对详细设计的阶段产品进行评审。对详细设计的阶段产品进行评审。3)编码阶段)编码阶段任务是:任务是: 用选定的编程语言将每一个模块的详细过程描述转用选定的编程语言将每一个模块的详细过程描述转换成程序。应注意良好的编程风格、