您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> 公共基础 >> 正文    
  等级考试公共基础考点分析之软件工程基础(3) 【注册男护士专用博客】          

等级考试公共基础考点分析之软件工程基础(3)

www.nanhushi.com     佚名   不详 

考点11 结构化方法开发过程
  结构化方法将软件生命周期分为计划、开发、运行3个时期,每个时期又分若干阶段。
  1计划期
  计划期的主要任务是分析新系统应设定的目标,分析用户的基本需求,按设定目标的要求进行问题定义,并分析开发该系统的可行性,用户与分析人员的交互和配合是这一时期的重要特征和要求。
  (1)问题定义确定软件系统的主要功能。分析人员在与用户讨论的基础上提出软件系统目标、范围与功能说明。
  (2)可行性研究对问题定义阶段所确定的问题实现的可能性和必要性进行研究,并讨论问题的解决办法,对各种可能方案做出必要的成本-效益分析,分析人员据此提出可行性分析报告,作为使用部门是否继续进行该项工程的依据。
  2开发期
   开发期包括分析、设计和实施两类任务。其中分析、设计包括需求分析、总体设计和详细设计3个阶段,实施则包括编码和测试两个阶段。
  (l)需求分析。确定用户对软件系统的功能性和非功能性的全部需求,并以需求规格说明书的形式表达;
  (2)总体设计。建立软件系统的总体结构,子系统划分,并提出软件结构图;
  (3)详细设计。确定软件结构图中每个模块的内部过程和结构;
  (4)编码。按照选定软件的程序语言,将模块的过程性描述翻译成程序;
  (5)测试。发现并排除上述各阶段所产生的各种错误。
  3运行期
  运行期的主要任务是软件维护。
考点12 软件需求规格说明书
  软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。
  (1)软件需求规格说明书有以下几个方面的作用。①便于用户、开发人员进行理解和交流;
  ②反映出用户问题的结构,可以作为软件开发工作的基础和依据;
  ③作为确认测试和验收的依据。
  (2)软件需求规格说明书有以下几个方面的内容。
  ①概述;
  ②数据描述;
  ③功能描述;
  ④性能描述;
  ⑤参考文献;
  ⑥附录。
  (3)软件需求规格说明书有以下几个方面的特点。
  ①正确性;
  ②无歧义性;
  ③完整性;
  ④可验证性;
  ⑤一致性;
  ⑥可理解性;
  ⑦可修改性;
  ⑧可追踪性。
3.3结构化设计方法
考点13 软件设计的基本概念
  1软件设计的基础
  软件设计是软件工程的重要阶段,是一个把软件需求转换为软件表示的过程软件设计的重要性和地位概括为以下几点:
  (l)软件开发阶段(设计、编码、测试)占软件项目开发总成本的绝大部分,是在软件开发中形成质量的关键环节;
  (2)软件设计是开发阶段最重要的步骤,是将需求准确地转化为完整的软件产品或系统的唯一途径;
  (3)软件设计做出的决策,最终影响软件实现的成败;
  (4)设计是软件工程和软件维护的基础。
  从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。其中,结构设计定义软件系统各主要部件之间的关系;数据设计将分析时创建的模)MI转化为数据结构的定义;接口设计是描述软件内部、软件和协作系统之间以及软件与入之间如何通信;过程设计则是把系统结构部件转换为软件的过程性描述。
  从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。
  软件设计的一般过程是:软件设计是一个迭代的过程;先进行高层次的结构设计;然后进行低层次的过程设计;穿插进行数据设计和接口设计。
  2软件设计的基本原理
  (1)抽象。抽象是一种思维工具,就是把事物本质的共同特性提取出来而不考虑其他细节。
  (2)模块化模块是指把一个待开发的软件分解成若千小的简单的部分。模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
  (3)信息隐蔽。是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。
  (4)模块独立性。是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
  模块的独立程度是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。
  内聚性是度量一个模块功能强度的一个相对指标,耦合性则用来度量模块之间的相互联系程度。
  耦合可以分为下列几种,它们之间的耦合度由高到低排列:
  内容耦合――若一个模块直接访问另一模块的内容,则这两个模块称为内容耦合。
  公共耦合――若一组模块都访问同一全局数据结构,则称为公共耦合。
  外部耦合――若一组模块都访问同一全局数据项,则称为外部耦合。
  控制耦合—一若一模块明显地把开关量、名字等信息送入另一模块,控制另一模块的功能,则称为控制耦合。
  标记耦合――若两个以上的模块都需要其余某一数据结构的子结构时,不使用其余全局变量的方式而全使用记录传递的方式,这样的耦合称为标记耦合。
  数据耦合――若一个模块访问另一个模块,被访问模块的输入和输出都是数据项参数,则这两个模块为数据耦合。
  非直接耦合――若两个模块没有直接关系,它们之间的联系完全是通过程序的控制和调用来实现的,则称这两个模块为非直接耦合,这样的荆合独立性最强。


  内聚是从功能角度来衡量模块的联系,它描述的是模块内的功能联系。内聚有如下种类,它们之间的内聚度由弱到强排列。
  偶然内聚—模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块为巧合强度模块。
  逻辑内聚――这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的参数来确定该模块应完成哪一种功能。
  时间内聚――这种模块顺序完成一类相关功能,比如初始化模块,它顺序地为变量置初值。
  过程内聚――如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。
  通信内聚――这种模块除了具有过程内聚的特点外,还有另外一种关系,即它的所有功能都通过使用公用数据而发生关系。
  顺序内聚――如果一个模块内各个处理元素和同一个功能密切相关,而且这些处理必须顺序执行,处理元素的输出数据作为下一个处理元素的输入数据,则称为顺序内聚。
  功能内聚――如果一个模块包括为完成某一具体任务所必需的所有成分,或者说模块中所有成分结合起来是为了完成一个具体的任务,此模块则为功能内聚模块。
  耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
  3结构化设计方法
  结构化设计方法的基本要求是,在详细设计阶段,为了确保模块逻辑清晰,就应该要求所有的模块只使用单入口、单出口以及顺序、选择和循环3种基本控制结构。这样.不论一个程序包含多少个模块,每个模块包含多少个基本的控制结构,整个程序仍能保持一条清晰的线索。
考点14 概要设计任务
  概要设计的基本任务有4条:
  (1)设计软件系统结构:以模块为基础,影响软件质量及一些整体特性。
  (2)数据结构和数据库设计:对于大型数据处理的软件系统是重要的。在概要设计阶段,数据结构设计宜采用抽象的数据类型,数据库设计对应于数据库的逻辑设计。
  (3)编写概要设计文档:编写概要设计说明书、数据库设计说明书、用户手册和修订测试计划。
  (4)评审:针对设计方案的可行性、正确性、有效性、一致性等。
    软件结构图的基本图符如图  软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现。
软件结构图往往用网状或树状结构的图形来表示
  结构图的形态特征:
  ①深度(模块的层数);
  ②宽度(一层中最大的模块个数);
  ③扇出(一个模块直接调用下属模块的个数);
  ④扇入(一个模块直接上属模块的个数)。
  画结构图的注意事项:
  ①同一名字的模块在结构图中只出现一次;
  ②调用关系只能从上到下;
  ③模块调用次序一般从左到右。
  经常使用的结构图有如图3-4所示的4种模块类型:
  ①传入模块;
  ②传出模块;
  ③变换模块;
  ④协调模块。 
  模块的作用范围和控制范围如下:
  ①模块的作用范围指受该模块内一个判定影响的所有模块的集合;
  ②控制范围指模块本身以及其下属模块的集合;
  ③二者影响含有判定功能的模块的软件设计质量,是衡量模块的软件结构图设计方案优劣的标准。
  一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。
  如果软件结构图中一个模块的作用范围不在其控制范围之内,对其优化方法是:上移判定点或者下移受判断影响的模块,将它下移到判断所在模块的控制范围内二
  根据软件设计原理提出如下优化准则:
  ①划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构;
  ②一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近;
  ③软件结构的深度、宽度、扇入、扇出应适当;
  ④模块的大小要适中。
考点15 面向数据流的设计方法
  1数据流的类型
  数据流类型有两种:变换型和事务型。
  (1)变换流是指信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式,离开软系统。
  变换型数据处理问题的工作过程大致分为3步,即取得数据、变换数据和输出数据,如图3-5所示。 
    变换型系统结构图由输入、中心变换和输出3部分组成,如图3-6所示。
  (2)当信息沿输入通路到达一个处理,这个处理根据输入数据的类型从若干个动作序列中选择出一个来执行,这类数据流归为特殊的二类,称为事务流。在一个事务流中,事务中心接收数据,分析每个事务以确定它的类型,根据事务类型选取一条活动通路。
  2面向数据流设计方法的实施要点与设计过程
  面向数据流的结构设计过程和步骤是:
  (l)分析、确认数据流图的类型,区分是事务型还是变换型;
  (2)说明数据流的边界;


  (3)把数据流图映射为程序结构;
  (4)根据设计准则把数据流转换成程序结构图。
  将变换型映射成结构图,又称为变换分析。其步骤如下:
  (1)确定数据流图是否具有变换特性;
  (2)确定输入流和输出流的边界,划分出输入、变换和输出,独立出变换中心;
  (3)进行第一级分解,将变换型映射成软件结构;
  (4)按上述步骤如出现事务流的映射方式对各个子流进行逐级分解,直至分解到基本功能;
  (5)对每个模块写一个简要的说明;
  (6)利用软件的设计原则对软件结构进一步转化。
  将事务型映射成结构图,又称为事务分析。其步骤与变换分析的设计步骤大致类似,主要差别仅在于由数据流图到软件结构的映射方法不同。它是将事务中心映射成为软件结构中发分支的调度模块,将接收通路映射成软件结构的接收分支。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目