xx年电大20xx电大软件工程期末试卷内容摘要:

的顺序如何。 答: 低:非直接耦合  数据耦合 标记耦合  控制耦合 外部耦合  公共耦合 内容耦合 :高 强:功能内聚  信息内聚  通信内聚  过程内聚  时间内聚  逻辑内聚  巧合内聚:弱 请简要说明需求分析的三个层次包括那些主要内容。 10 软件需求包括三个不同的层次 — 业务需求、用户需求和功能需求 — 也包括非功能需求。 业务需求反映了组织机构或客户对系统、产品高层次的目标要求。 用户需求文档描述了用户使用产品必 须要完成的任务。 功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。 1为什么要设计 独立性 强的 模块 以及如何判断模块的独立性。 模块独立性强,则:( 1)系统容易开发( 2)系统可靠性高( 3)系统容易维护 判断模块独立性的基本原则: “ 耦合小,内聚大 ” 1 若现有类已经进行了彻底的测试,为什么必须对从现有类中实例化的子类进行重新测试。 因为父类和子类的运行环境是不同的。 另外,如果是多重继承会显著地增加派生类的复杂程度,导致一些难以发现的隐含错误。 1 要 开发质量“ 非常好”的软件, 请从软件工程的角度 分析其利与弊。 利:容易维护,用户比较满意。 弊:成本高,周期长 1 采 用面向对象方法设计软件系统时,子系统的划分常采用水平划分或垂直划分的方式, 请说明这两种划分所得子系统的特点。 水平划分系统的 p2p: 每个字系统可以调用任意其他子系统,比 c/s复杂,可能死锁。 垂直划分 c/s:客户端调用服务器端,服务器提供服务,并返回结果。 客户端需要知道服务器的接口,而服务器不必知道客户端接口 15.在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么。 答:系统流程图是描述物 理系统的传统工具。 它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件(程序、文件、数据库、表格、人工过程等)。 系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程。 答:这了表达数据处理过程的数据加工情况,用一个数据流图是不够的。 为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。 17.软件的质量反应为哪些方面的问题。 答: 软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。 在各种标准中定义了一些 开发准则,用来指导软件人员用工程化的方法来开发软件。 如果不遵守这些开发准则,软件质量就得不到保证。 往往会有一些隐含的需求没有明确地提出来。 如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。 软件质量是各种特性的复杂组合。 它随着应用的不同而不同,随着用户提出的质量要求不同而不同。 1 分析软件危机产生的主要原因有哪些。 答:导致软件危机的主要原因有: ( 1)软件日益复杂和庞大( 2)软件开发管理困难和复杂( 3)软件开发技术落后( 4)生产方式落后( 5)开发工具落后( 6)软件 开发费用不断增加 1 说明结构化程序设计的主要思想是什么。 答:( 1)自顶向下、逐步求精的程序设计方法( 2 分)( 2)使用 3 种基本控制结构、单入口、单出口来构造程序。 .软件测试包括哪些步骤。 说明这些步骤的测试对象是什么。 答:( 1)单元测试,测试对象对单元模块( 2 分)( 2)集成测试,测试对象为组装后的程序模块( 2 分)( 3)确认测试,测试对象为可运行的目标软件系统 2 需求 分析与软件设计二个阶段任务的主要区别是什么。 11 答:需求分析定义软件的用户需求,即定义待开发软件能做什么 软件设计定义软 件的实现细节以满足用户需求,即研究如何实现软件。 2 说明软件测试和调试的目的有何区别。 答:测试的目的是判断和发现软件是否有错误( 2。 5 分)调试的目的是定位软件错误并纠正错误。 ( 分) 2简述需求分析方法应遵循的基本原则。 答:。 行分解并可逐层细化。 2 模块间的耦合性包括哪些类型。 按强弱排列。 答:耦合有以下几种,他们之间的耦合度由高到低排列: :如一个功能模块直接访问另一个功能模块的内容,则 这两个功能模块称为内容耦合。 :如一个功能模块都访问统一全局数据结构,则称之为公共耦合。 部耦合:如一个功能模块都访问统一全局数据项,则称之为外部耦合。 :如一个功能模块明显的把开关量、名字等信息送入另一个功能模块,控制另一功能模块的功能,则称为控制耦合。 :如一个功能模块共享了某个记录,而不是简单变量,即这些功能模块都需某一数据的子结构时,就需要按该记录的结构进行操作,并通过参数表来传递记录信息,这样的耦合称为标记耦合。 :如一个功能模块访问另一功能模块,被访问 的功能模块的输入和输出都是数据项参数,则这两个功能模块为数据耦合。 :若两个功能模块没有直接关系,他们之间的联系完全是通过主程序的控制和调用来实现的,便称这两个功能模块为非直接耦合,独立性最强。 2 什么是黑盒测试法。 答:黑盒测试法又称功能测试或数据驱动测试,该方法把被测试对象看成一个不透明的黑盒子。 测试人员完全不考虑程序内部结构和处理过程,只在程序的接口处进行测试,依据需求说明书,检查程序是否满足功能要求,是否能很好的接受数据,并产生正确的输出。 2 CMM 模型包括哪些等级。 答: 重复级 2 什么软件。 软件按功能进行划分,可以划分成哪几类。 按工作方式进行分类,可以划分成哪几类。 答:软件是由计算机程序、程序使用的数据以及说明的各种文档组成。 按功能进行划分可以分为:系统软件、支撑软件、应用软件;按软件工作方式进行分类可以分为:实时处理软件、分时处理软件、交互式软件和批处理软件。 2 软件危机产生的原因是什么。 答:软件危机的原因: a) 软件不同与硬件,是逻辑部件; b) 软件规模庞大,逻辑结构复杂; c) 软件开发人员和管理人员只重视设计程序而轻视用户的需求分析,导致最 后研制出的软件产品无法满足用户的需求; d) 软件设计技术和管理技术落后,没有统一的软件质量管理规范; e) 在软件的开发与维护关系问题上存在错误的概念,重视开发,而轻视维护。 2 简述软件工程的定义。 答:软件工程是用科学知识和技术原理来定义、开发和维护软件的一门学科。 采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 简述软件生存周期的定义及组成部分。 12 答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这 个漫长的时期称为软件生存周期。 它包括制定计划(问题定义)、可行性研究、需求分析、总体设计、详细设计、程序编写(编码)、综合测试、运行维护等。 3 可行性研究的目的是什么。 可以从哪些方面来考虑软件开发的可行性。 答:可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。 主要从技术可行性、经济可行性、操作可行性和法律可行性 4个方面考虑。 3 面向对象方法学的优点有哪些。 答:面向对象方法学的优点: ( 1)多角度模拟客观世界; ( 2)具有较高的稳定性; ( 3)重用性好; ( 4)适合开发大型软件。 3 需求分 析的主要方法是什么。 用这种方法进行需求分析的主要步骤有哪些。 答:需求分析的方法有面向数据流的分析方法、面向数据结构的分析方法、面向对象分析方法和动态分析方法等,主要采用面向数据流的分析方法。 主要步骤包括:( 1)分析数据流图;( 2)用户审查;( 3)细化数据流图;( 4)修订开发计划;( 5)复审开发计划。 3 细化数据流图需要遵循哪些基本原则。 答:细化数据流图需要遵循的原则有: a) 在分层细化时必须保持数据的连续性,也就是说细化前后对应功能的输入 /输出数据必须相同。 b) 把一个功能进一步分解成子功能,这些子功能必须有独立 的功能,否则,就不需要再分解了。 3 什么是对象。 什么是类。 什么是消息。 答:现实世界中客观存在的事物都被称为对象。 具有相同或相似性质的对象的抽象被称为类。 对象之间进行的通信被称为消息。 3 什么是对象的封装。 主要表现在哪些方面。 答:封装就是把对象包起来,使外界只能看到对象的接口,而不能知道对象内部的具体内容。 主要表现在:( 1)有固定的接口;( 2)保护内部实现。 3 简述过程设计语言( PDL)的特点。 答: PDL的特点是:( 1)关键字应有固定语法,提供了结构化控制结构和语句说明;( 2)用自然语言叙述系统处理功能,易 于理解;( 3)可以使用变通的语言编辑程序或文字处理系统,很方便地完成 PDL的书写和编辑工作;( 4)易于让计算机来处理。 3 怎样从客户类的角度发现协作。 答:可以通过对客户类提出如下问题来发现协作: a) 类本身能够履行这个操作吗。 b) 如果不能,那么它需要什么。 c) 它从其他什么类中能够获得所需要的东西。 3 简述软件质量的定义及在软件开发过程中管理软件质量的办法。 答:软件质量指的是软件产品满足规定的和隐藏的与需求能力有关的全部特征和特性。 管理软件质量的办法:( 1)每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完 成该阶段的任务;( 2)每个阶段结束前都要对所完成的文档、程序进行评审,以便尽早发现问题,改正错误。 什么是白盒测试。 什么是黑盒测试。 13 答:白盒测试又称为结构测试,它的前提条件是可以看成将程序放在一个透明的白盒子中,也就是完全了解了软件系统的结构和整个处理过程。 黑盒测试又称为功能测试,它把程序看成是一个不透明的黑盒子,完全不去考虑程序的内部结构和处理过程。 4 什么是软件维护。 软件维护可以分为哪几类。 答:软件维护是指在软件系统已经交付使用之后,软件使用人员为了适应新的要求、满足新的需要或为了改正软件中存在的错 误而对软件系统进行修改的过程。 可以分为纠错性维护、完善性维护、适应性维护和预见性维护。 4 简述软件质量三要素及其具体包括的内容。 答:软件质量要素可以分为三类,第一类要素表现软件的运行特征,包括正确性、可靠性、有效性、安全性和可用性;第二类要素表现软件承受修改的能力,包括可维护性、灵活性和可测试性;第三类要素表现软件对新环境的适应程度,包括可移植性、可重用性和可互操作性。 设计题 已知有如下的伪代码程序 : START I:=1。 WHILE i:=n1 DO min:=A[i]。 j:=i+1。 WHILEj=n DO IF minA[j] THEN BLOCK temp:=min。 min:=A[j]。 A[j]:=temp。 ENDBLOCK ENDIF。 j:=j+1。 ENDDO i:=i+1。 ENDDO STOP 要求: 请用 盒图描述。 . i:=1 i=n1 min:=A[i] j:=i+1 j=n f minA[j] t temp:=min 14 min:=A[i] A[j]:=temp j:=j+1 i:=i+1 ( 8 分)假设开发某个计算机应用系统的投资额为 3000 元,该计算机应用系统投入使用后,每年可以节约 1000元, 5年内可能节约 5000元。 3000元是现在投资的钱, 5000元是 5年内节省的钱,假定年利 率为 12%,请计算该系统的纯收入,投资。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。