《软件工程》第一章学习辅导一、填空练习1.按软件的功能可将软件分成(系统软件支撑软件应用软件)等三类。2.按软件规模可将软件分成(微型小型中型大型甚大型极大型)等六类。3.按软件工作方式可将软件分成(实时处理软件分时软件交互式软件批处理软件)等四类。4.按软件软服务对象可将软件分成(项目软件产品软件)等两类。5.软件危机中遇到的主要问题有(软件开发无计划软件需求不充分软件开发过程无规范软件产品无评测)等四类。手段6.软件工程过程通常包括(软件规格说明软件开发软件确认软件演进)等四种基本的过程活动。7.软件工程的三个要素是(方法工具过程)。二、用框图说明软件工程目标之间的关系。《软件工程》第二章学习辅导2.1基于计算机的系统通常把基于计算机的系统定义为某些元素的一个集合,并把这些元素组织起来以实现某种方法、过程或借助处理信息进行控制。这些系统元素以各种方式组合来进行信息的转换。基于计算机的系统可以成为一个更大的基于计算机系统中的一个元素,并称为那个更大系统的宏元素。系统工程师(亦称为系统分析员)的作用就是要在总的系统(宏元素)层次结构的环境中定义某一特定基于计算机系统的元素。2.2计算机系统工程计算机系统工程是一个问题求解活动,目的是揭示、分析所期望的功能,并把它们分配到各个系统元素中去,即选择一个特定的系统配置,并把功能与性能规格分配给硬件、软件、人、数据库、文档和过程。2.2.1硬件和硬件工程选择某种硬件元件的组合以构成基于计算机系统的硬件元素。在选择硬件时,主要考虑以下几个特性:(1)对各种元件打包,形成一些单独的构件块;(2)各个元件之间的接口标准;(3)可以有多种供权衡使用的候选方案;(4)性能、成本、有效性相对地比较容易确定。2.2.2软件和软件工程软件实现了完成系统功能所需要的处理算法。一般地,处理算法变换输入数据或控制信息,并生成输出到其它系统元素或宏元素中去的数据或控制信息。软件工程是一门有关开发高质量的基于计算机系统的软件的学科。2.2.3人与人类工程早期的基于计算机的系统总是把着眼点放在硬件与软件易于实现上,并强迫用户按系统规定的方式与系统通信,而完全不考虑人是否容易理解。今天,已经把"用户友好性"放在优先的位置。基于计算机系统的人类工程已成为系统开发申一个重要的步骤。人类工程是应用从心理学和方法论导出的知识来确定和设计高质量人机对话界面HCI(HumanConversationInterface)的多学科活动。人类工程过程包括以下步骤:(1)活动分析(2)语义分析和设计:对用户要求的动作和机器产生的动作进行精确定义。(3)语法和词法设计:标识与描述各个动作和命令的特定形式,然后设计每一动作或命令的硬件与软件实现。(4)用户环境设计:将硬件、软件和其它系统生成元素组合起来形成用户环境。环境包括物理设备以及HCI。(5)原型:从人的角度出发来评价HCI。2.2.4数据库和数据库工程并不是所有的基于计算机的系统都使用数据库,但对于使用数据库的系统来说,这种信息仓库往往是所有功能的核心。数据库工程(包括数据库分析、设计和实现),是一门技术学科,它的应用是在数据库的信息域定义完成之后。2.3系统需求识别系统分析的目标(1)识别用户要求;(2)评价系统的可行性;(3)进行经济分析和技术分析;(4)把功能分配给硬件、软件、人、数据库和其它系统元素;(5)建立成本和迸度限制;(6)生成系统规格说明,形成所有后续工程的基础。2.4可行性研究可行性研究主要集中在以下四个方面:(1)经济可行性。确定待开发系统是否值得投资开发。(2)技术可行性。对待开发的系统进行功能、性能和限制条件的分析,确定在现有的资源的条件下,技术风险有多大,系统是否能实现。(3)法律可行性。确认待开发系统可能会涉及的任何侵犯、妨碍、责任等问题。(4)抉择。对系统开发的不同方案进行比较评估。成本和时间的限制,会给方案的选择带来局限性,对于一些合理的方案都应加以考虑。2.5成本-效益分析从经济角度评价开发一个新的软件项目是否可行。成本-效益分析首先是估算待开发系统的开发成本,然后与可能取得的效益(有形的和无形的)进行比较和权衡。有形的效益可以用货币的时间价值、...