收藏 分销(赏)

软工历年考题(加答案).doc

上传人:仙人****88 文档编号:9200265 上传时间:2025-03-16 格式:DOC 页数:24 大小:308.04KB
下载 相关 举报
软工历年考题(加答案).doc_第1页
第1页 / 共24页
软工历年考题(加答案).doc_第2页
第2页 / 共24页
点击查看更多>>
资源描述
试卷一 中南大学考试试卷  2006--2006 学年学期 时间110分钟  软件工程 课程 48 学时 3 学分 考试形式: 闭 卷  专业年级: 总分100分,占总评成绩 100 % 注:此页不作答题纸,请将答案写在答题纸上 1. 填空题(本题20分,每小题2分) 1. 瀑布模型是以文档为驱动、适合于( 软件需求确定的)软件项目的开发。  2. 需求分析的基本任务是(确定用户需要软件做什么 )。  3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( 边界值分析法    )。  4. 根据程序流程图划分的模块通常是( 过程  )内聚的模块。  5. 软件的分类,按其功能可分为:系统软件、(支撑软件 )和应用软件。 6. UML的定义包括UML语义和( UML表示法)两个部分。 7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( 整体与部分结构)。 8. IDEF1X图用来描述系统的(数据 )模型,主要有实体、联系和( 属性)三种成分,其中实体可分为独立实体和( 依赖实体),且一个实体只能在图中出现一次。 二、简答题(本题30分,每小题5分)  1. 什么是软件工程?软件工程和计算机科学有何区别?  答:软件工程是指导软件开发和维护的工程性学科; 计算机科学着重于原理和理论,软件工程与计算机科学不同,软件工程着重于如何建造软件系统,软件是计算机中看不见摸不着的逻辑部分,以程序、数据和文档的形式出现。 2. 面向对象方法和结构化方法有何区别与联系?  答:区别: 面向对象从所处理的数据入手,以数据为中心来描述系统,其基本思想是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界的方法与过程,基本原则为:对象+类+继承+消息通信 结构化方法首先关心的是功能,强调以模块为中心,其基本思想是自顶向下,逐步求精,单入口,单出口,基本原则为:抽象与功能的分解 联系: 软件开发过程中,在需求分析和规格说明阶段采用结构化方法,在设计和实现阶段采用面向对象方法。 3. 什么是模块的作用域和模块的控制域?为何要求模块的控制域必须在作用域内?  答:模块的作用域是指模块中判定的作用范围,它是指所有受这个判定范围影响的模块; 模块的控制域是指模块本身及其直接或间接调用的模块; 如果模块的作用域不在控制域内,则会增加数据间的传递量,使模块间出现控制耦合 4. 什么是设计模式?试举例说明组合设计模式的应用。 答:设计模式是指系统命名,解释和评价某一重要的,可复用的面向对象的设计方案。 组合设计模式:使用迭代器模式来遍历组合结构。   5.什么是依赖倒置原则?它和开闭原则有何联系?  答:依赖倒置是类设计原则的一种,它要求高层不应依赖于底层,抽象不应依赖于细节; 依赖倒置原则的本质其实就是通过抽象(抽象类或接口)使各个类或模块的实现彼此独立,不相互影响,实现模块间的松耦合,如果没有实现这个原则,则开闭原则也无法实现。 6. 软件生存期过程和软件生存期模型有何联系?瀑布模型有何特点? 答:软件生存期过程没有规定一个特定的生存周期模型,各软件开发机构可视其项目的需要选择一种软件生存周期模型,并将软件生存期过程所含过程、活动和任务映射到选定的软件生存周期模型中。 软件生存期模型是软件生存期过程所含过程、活动和任务的映射。 瀑布模型特点:各阶段相互依赖;每阶段都进行评审;强调需求分析和设计 三、绘图题(本题34分)  1. 某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。 (1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。 (2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。 (3) 如果是调房申请,则根据申请者的情况确定其住房等级,然后在空房文件中查找属于该等级的空房,退掉原住房,再进行与分房类似的处理。 (4) 住户可以向系统查询目前分房的阀值分数,居住某类房屋的条件,某房号的单位面积及房租等信息。房产科可以要求系统打印住房情况的统计表,或更改某类房屋的居住条件、单位面积和房租等。 请用数据流图描绘该系统的功能需求。(12分) 2. 某学校图书管理系统通过计算机对图书进行管理,借阅者可以通过该系统进行查询书籍、预订借阅书籍、查询本人帐号信息;图书管理员可以通过该系统处理借阅者借书、还书、删除预订信息、查询书籍信息、查询借阅者信息;系统管理员可以通过该系统添加书籍条目、删除书籍条目、添加借阅者信息、删除或更新借阅者信息、添加书籍、删除或更新书籍、查询书籍信息、查询借阅者信息。 (1)画出系统的类图。(10分)  (2)画出借阅者、图书管理员对应的用例图。(6分)  (3)画出书籍的状态图。(6分) 四、测试题(本题16分,每小题8分)  某程序的程序流程图如下图所示,试据此回答下述问题:  1. 计算程序的环形复杂度;  2. 设计测试用例,满足基本路径覆盖。    (1)环路复杂性=判断数+1=6+1=7(个)  (2)路径1:(0)—①—(13)—(19)  路径2:(0)—②—③—(14)—(19)  路径3:(0)—②—④—⑤—(15)—(19)  路径4:(0)—②—④—⑥—⑦—(16)—(19)  路径5:(0)—②—④—⑥—⑧—⑨—(17)—(19)  路径6:(0)—②—④—⑥—⑧—⑩—(11)-(18)—(19)  路径7:(0)—②—④—⑥—⑧—⑩—(12)—(19) 试卷一(参考答案) 参考答案:  一.1. 软件需求确定的  2. 确定用户需要软件做什么  3. 边界值分析法  4. 过程  5. 支撑软件 6. UML表示法 7. 整体与部分结构 8. 四.(1)环路复杂性=判断数+1=6+1=7(个)  (2)路径1:(0)—①—(13)—(19)  路径2:(0)—②—③—(14)—(19)  路径3:(0)—②—④—⑤—(15)—(19)  路径4:(0)—②—④—⑥—⑦—(16)—(19)  路径5:(0)—②—④—⑥—⑧—⑨—(17)—(19)  路径6:(0)—②—④—⑥—⑧—⑩—(18)—(19)  路径7:(0)—②—④—⑥—⑧—⑩—(12)—(19)  测试用例:略   试卷二 中南大学考试试卷  2007 -- 2007 学年 学期 时间110分钟  软件工程 课程 48 学时 3 学分 考试形式: 闭 卷  专业年级: 总分100分,占总评成绩 100 % 注:此页不作答题纸,请将答案写在答题纸上 一、填空题(本题30分,每小题1.5分)  1、软件是计算机程序、(数据 )及( 描述计算机程序的文档)的完整集合,将其统称为软件配置,这些项称为软件配置项。通过正式复审的软件配置项称为(基线 ),只有通过正式的变化控制过程才能改变它。 2、通常,将软件生命周期全过程中使用的一整套技术方法的集合称为方法学,包含三个要素,即方法、(工具 )和(过程 )。传统方法学采用( 结构化)技术来自顶向下顺序地完成软件开发的各项任务,而面向对象方法是一种以(数据 )为主线,把数据和对数据的操作紧密地结合起来的方法,其开发过程是一个多次迭代的演化过程。 3、软件测试的目标是(暴漏程序中的错误 ),因而从心理学角度来看,由程序作者对自己编写的程序进行测试是不恰当的。设计测试方案是测试阶段的关键技术问题,测试方案一般包括(测试目的 )、输入的测试数据和( 预期的结果)。 4、模型是为了理解事物而对事物作出的一种抽象,由(一组图示符号 )和(组成这些符号的规则 )组成。对象模型描述了系统的静态结构,通常使用UML提供的(类 )图来描述。 5、需求分析的基本任务是(准确的回答系统必须做什么 ),在需求分析结束前,系统分析员应该写出(软件需求规格说明书 ),以书面的形式准确描述软件需求。 6、面向数据流的设计方法把(信息流 )映射成软件结构,依据其类型的不同,有两种不同的映射方法,分别是(变化分析 )和( 事务分析)方法。 7、软件设计一般分为( 概要设计)和( 详细设计)两个阶段。 二、简答题(本题18分,每小题6分)  1、瀑布模型是软件工程中应用最广泛的过程模型,试述采用瀑布模型进行软件开发的基本过程,该过程有何特点?  答:瀑布模型规定了各项软件工程活动,包括需求分析、规格说明、设计、编码、测试和维护,并规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级而下。瀑布模型的特点是:阶段间具有顺序性和依赖性;清楚区分逻辑设计和物理设计,尽可能推迟程序的物理实现;每个阶段都必须完成规定的文档,且每阶段结束前需要对完成的文档进行评审。 2、什么是软件配置管理?软件配置管理和软件维护有何不同?  答:软件配置管理是在软件生命周期内管理变化的一组活动,用来:标识变化、控制变化、确保适当地实现了变化、向相关人员报告变化。 软件配置管理和软件维护的区别是:软件配置管理是一组追踪和控制活动,在软件项目启动时就开始,并一直持续到软件被淘汰后才终止;软件维护是一组软件工程活动,发生于软件交付给用户并投入运行之后。 3、试举例说明聚集关系中共享聚集和组合聚集有何不同。 答:如果在聚集关系中部分对象可同时参与多个整体对象的构成,则该聚集称为共享聚集。例如,一个课题组包含许多成员,每个成员又可以是另一个课题组的成员,则课题组和成员之间是一种共享聚集的关系。 如果部分对象完全隶属于整体对象,并与整体对象共存,则该聚集称为组合聚集。例如,在屏幕上一个窗口由文本框、列表框、按钮和菜单等构成,且一旦关闭了窗口,则各组成部分也消失,则窗口和它的组成部分之间的关系为组合聚集关系。 三、 分析题(本题20分)  某住宅安全系统使用传感器(如红外探头等)来检测各种意外情况,如非法进入、火警等,其顶层DFD图如图3-1所示。房主可以在安装该系统时配置安全监控设备,如传感器、报警器等,也可在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个传感器赋予一个编号和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应该自动拨出的电话号码。当系统检测到一个传感器事件时,就激活报警,拨出预置的电话号码,并报告位置等有关信息。请回答以下问题:  (1)图3-1中A,B,C分别是什么?(6分)  A:控制面板 B、报警器 C、传感器 (2)第0层DFD图如图3-2所示,则图中W,X,Y,Z分别是什么?(8分)  W: 用户配置请求 X: 用户密码 Y: 传感器状态 Z: 告警信息 (3)请说明如何采用DFD图计算功能点数。(6分) 利用DFD图计算功能点数的步骤如下:首先通过DFD图获取输入项数、输出项数、查询数、主文件数和外部接口数,然后计算未调整的功能点数,再计算技术复杂因子,最后计算功能点数。   图3-1 住宅安全系统顶层DFD图   图3-2住宅安全系统第0层DFD图 四、 设计题(本题15分)  某汽车租赁公司打算采用计算机系统来管理汽车租赁业务,其设计方案采用UML类图描述如图4-1所示。图4-1中的类有:Renter(租赁者)、Person(人)、Company(租赁公司)和Automobile(汽车)。租赁公司既可将汽车租给个人,也可将汽车租给其他租赁公司。在设计时暂不考虑未租出去的汽车。请回答以下问题:  (1)试说明图4-1设计方案存在的问题。(7分)  图4-1设计方案存在的问题如下:1)未能完全反映租赁关系的内容,如租赁日期等;2)公司、被租赁汽车和租赁者三者之间的关系未能描述。 (2)针对图4-1设计方案中存在的问题,给出改进的设计方案,并用UML类图描述。(8分)    图4-1 汽车租赁业务管理系统设计方案 五、 测试题(本题17分)  某学校成绩管理系统中学生成绩评定模块对应的成绩评定规则:若期未考试成绩大于等于85分,平时成绩为优的,成绩定为优,而平时成绩为差的,成绩定为良;若期未考试成绩大于等于75分,平时成绩为优的,成绩定为良,而平时成绩为差的,成绩定为及格;若期未考试成绩大于等于60分, 平时成绩为优的,成绩定为及格,而平时成绩为差的,成绩定为不及格;若期未考试成绩小于60分,成绩定为不及格。请回答以下问题 (1)请绘制成绩评定对应的程序流程图。(4分) (2)计算成绩评定模块的MaCabe环形复杂度。(6分) 7个 (3)试依据(1)和(2)设计测试用例满足基本路径覆盖。(7分)   序号 基本路径 输入:期末考试成绩 输入:平时成绩 预期结果:成绩 1 a->b->c->d->l 90 优 优 2 a->b->c->g->l 90 差 良 3 a->b->e->f->g->l 80 优 良 4 a->b->e->f->j->l 80 差 及格 5 a->b->e->h->i->j->l 70 优 及格 6 a->b->e->h->i->k->l 65 差 不及格 7 a->b->e->h->k->l 54 优(或差) 不及格 试卷二(参考答案) 参考答案: 一、1、描述计算机程序的文档、数据、基线 2、工具、过程、结构化、数据 3、暴露程序中的错误、测试目的、预期的结果 4、一组图示符号、组织这些符号的规则、类图 5、准确地回答系统必须做什么、软件需求规格说明书 6、信息流、变换分析、事物分析 7、概要设计、详细设计 二、 1、瀑布模型规定了各项软件工程活动,包括需求分析、规格说明、设计、编码、测试和维护,并规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级而下。瀑布模型的特点是:阶段间具有顺序性和依赖性;清楚区分逻辑设计和物理设计,尽可能推迟程序的物理实现;每个阶段都必须完成规定的文档,且每阶段结束前需要对完成的文档进行评审。 2、软件配置管理是在软件生命周期内管理变化的一组活动,用来:标识变化、控制变化、确保适当地实现了变化、向相关人员报告变化。 软件配置管理和软件维护的区别是:软件配置管理是一组追踪和控制活动,在软件项目启动时就开始,并一直持续到软件被淘汰后才终止;软件维护是一组软件工程活动,发生于软件交付给用户并投入运行之后。 3、如果在聚集关系中部分对象可同时参与多个整体对象的构成,则该聚集称为共享聚集。例如,一个课题组包含许多成员,每个成员又可以是另一个课题组的成员,则课题组和成员之间是一种共享聚集的关系。 如果部分对象完全隶属于整体对象,并与整体对象共存,则该聚集称为组合聚集。例如,在屏幕上一个窗口由文本框、列表框、按钮和菜单等构成,且一旦关闭了窗口,则各组成部分也消失,则窗口和它的组成部分之间的关系为组合聚集关系。 三、(1)、A:控制面板 B、报警器 C、传感器 (2)、W: 用户配置请求 X: 用户密码 Y: 传感器状态 Z: 告警信息 (3)、利用DFD图计算功能点数的步骤如下:首先通过DFD图获取输入项数、输出项数、查询数、主文件数和外部接口数,然后计算未调整的功能点数,再计算技术复杂因子,最后计算功能点数。 四、(1)图4-1设计方案存在的问题如下:1)未能完全反映租赁关系的内容,如租赁日期等;2)公司、被租赁汽车和租赁者三者之间的关系未能描述。 (2)改进后的类图如下图所示。 或  图中,Tenancy表示一次租赁对应的事项。 五、(1)程序流程图如下: 某学校成绩管理系统中学生成绩评定模块对应的成绩评定规则:若期未考试成绩大于等于85分,平时成绩为优的,成绩定为优,而平时成绩为差的,成绩定为良;若期未考试成绩大于等于75分,平时成绩为优的,成绩定为良,而平时成绩为差的,成绩定为及格;若期未考试成绩大于等于60分, 平时成绩为优的,成绩定为及格,而平时成绩为差的,成绩定为不及格;若期未考试成绩小于60分,成绩定为不及格。 (2)MaCabe环形复杂度为7。 (3)满足基本路径覆盖的测试用例共7个,假定各节点的编号如下图示,则测试用例如下表所示。   序号 基本路径 输入:期末考试成绩 输入:平时成绩 预期结果:成绩 1 a->b->c->d->l 90 优 优 2 a->b->c->g->l 90 差 良 3 a->b->e->f->g->l 80 优 良 4 a->b->e->f->j->l 80 差 及格 5 a->b->e->h->i->j->l 70 优 及格 6 a->b->e->h->i->k->l 65 差 不及格 7 a->b->e->h->k->l 54 优(或差) 不及格   试卷三 中南大学考试试卷  2008 -- 2008 学年 上 学期 时间110分钟  软件工程 课程 48 学时 3 学分 考试形式: 闭 卷  专业年级: 总分100分,占总评成绩 70 % 注:此页不作答题纸,请将答案写在答题纸上 1. 填空题(本题30分,每空2分) 1.如果一个模块完成多个逻辑上相近或相关的功能,并且每次调用只选择该模块中的一个功能执行,则称此模块为 逻辑内聚的模块。  2. 在数据流图中,每个加工至少有一个输入数据流 和一个 输出数据流。  3. 软件项目计划是计划(策划) 阶段的结果产品。但由于是在高层次进行系统分析,未能考虑软件系统开发的细节情节,因此软件项目计划一般在需求分析 阶段完成后才定稿的。  4. 在面向对象类层次结构中,子类只继承一个父类的数据结构和方法,则称为 单重继承。如果子类继承了多个父类的数据结构和方法,则称为多重继承 。 5. 在软件测试过程中,α测试是由 一个用户在开发 环境下进行的测试,而β测试是由多个用户在 实际使用环境下进行的测试。  6.统一建模语言UML提供了两种描述整体/部分关系的方法,分别是聚合 和 组合。  7.瀑布模型是以文档 驱动的软件生存周期模型,适合需求明确的软件系统开发。  8.IDEF1X方法用来建立系统的数据 模型。  9. 在单元测试期间,应该为被测模块编写相应的测试软件,一般地驱动 模块接收测试数据,并把数据传给被测模块,而桩 模块则模拟实际模块完成少量数据处理。  10. 评估软件企业的质量管理有两种方法,一种是按照ISO9001 认证,另外一种是按照CMM认证。 1. 简答题(本题20分,每小题5分) 1. 非渐增式测试与渐增式测试有何区别?  答:非渐增式测试,一般应先经过单元测试,然后再把所有模块一次性组装在一起进行测试,最终得到要求的软件系统;而渐增式测试则采用逐步加入模块或功能簇的方式进行,在加入过程中边连接边测试,比较容易定位和修正错误,且接口也可以更容易进行彻底地测试 2. 试举例说明什么是功能性需求,什么是非功能性需求?为何非功能性需求往往比功能性需求还要重要?  答:功能性需求是说有具体的完成内容的需求。例如:比如客户登录、邮箱网站的收发邮件、论坛网站的发帖留言等。 非功能性需求是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性,包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。 例如:性能要求:要求系统能满足100个人同时使用,页面反应时间不能超过6秒; 非功能性需求往往比功能性需求还要重要是因为非功能性需求描述的是软件的质量属性,直接影响着用户体验,因此非功能性需求在决定系统成败的因素中起更重要的作用。 3. 层次图和层次方框图有何区别?  答:不同: 1,层次图描绘软件的层次结构.层次方框图描绘的是数据结构。 2,层次图的方框表示模块或子模块。层次方框图的方框表示数据结构整体或其子集。 3,层次图的连线表示调用关系,层次方框图表示组成关系。 4. 快速原型模型有几种?各有何特点? 答:快速原形模型根据原型的不同作用,有三类原型模型: (1)探索型原型:把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发者对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。 (2)实验型原型:主要用于设计阶段,考核实现方安是否合适,能否实现。对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型的开发来证实设计方案的正确性。 (3)演化型原型:它将原型思想扩展到软件开发的全过程,就是及早向用户提交一个原型系统,在得到用户认可后,将原型系统不断扩充演化为最终的软件系统。 1. 分析题(本题20分) 南方某高校计划开发一个“在线考试管理系统”,该系统的用户可分为教师,学生和系统管理员三类。对教师来说,其任务包括一下几个方面:(1)教师可以对某份试卷提出一定的要求生成试卷规则,从而在学生考试时,由系统根据试卷规则自动组卷生成满足教师要求的试卷,不用手工组卷。同时,教师还可以对库中已有的试卷进行插入、删除和修改等。(2)教师可以根据教学需求对题库中的试题进行操作:添加新考题、删除原有考题、修改原有考题。(3)教师可以查看考生的考试成绩,并针对不同的课程进行成绩统计,包括考试人数、最高分、最低分、平均分以及各分数段得分人数等。对系统管理员来说,主要管理基本资料(包括教师、学生资料的增、删、改)和维护学生考试信息。对学生来说,有两项任务:(1)学生可以任选时间进行在线测试,测试结束后,系统会根据已有的标准答案进行在线判卷,考生可立刻知道个人的测试成绩。(2)学生一般一人只能进行一次考试,在特殊情况下,可以由监考人员通知系统管理员删除以往考试信息情况下,可再次进行考试。  试据此完成:(1)画出系统的用例图。(8分) (2)请用数据流图描绘该系统的功能需求。(12分) 1. 设计题(本题20分) 试采用设计模式描述算术表达式(不含圆括号)的设计方案。算术表达式是由加、减、乘、除和操作数构成的表达式,操作数假定为实数。 1. 测试题(本题10分) Begin a b Do Until x6 If xl then f If x4 then Do Until x5 i End Until Else g h End if Else Select Case x2 Case 1: Do While x3 c End While Case 2: d Case 3: e End Select End if End Until End  试据此完成:  1)程序的环形复杂度为多少?(4分)  2)设计测试用例,满足基本路径覆盖。(6分)   试卷四 中南大学考试试卷  2009 -- 2009 学年 上 学期 时间110分钟  软件工程 课程 48 学时 3 学分 考试形式: 闭 卷  专业年级: 总分100分,占总评成绩 70 % 注:此页不作答题纸,请将答案写在答题纸上 1. 填空题(本题30分,每空2分) 1. 软件测试的目的是(发现错误 )。  2. 软件按服务对象可分为项目软件和(产品软件 )。  3. 在常见的软件生存期模型中,( 螺旋)模型是风险驱动的。  4. UML通过三种扩展机制来扩充UML的建模能力,分别是(约束 )、构造型和( 标记值)。  5. 在软件测试用例的设计方法中,白盒法以( 程序内部逻辑结构)为依据设计测试用例,  6. 在面向对象设计原则中,( 组装复用)原则要求在新的对象里尽量使用已有的类对应的对象,并通过(委派 )达到复用已有功能的目的。  7. 状态图描述一个类对象所经历的( 各种状态)以及事件发生时状态的( 转移条件). 8.SOFL软件开发方法学认为,在需求分析和规格说明阶段应该采用( 结构化)方法,而在设计和实现阶段则应该采用( 面向对象)方法。  9. 可行性研究的内容包括(技术可行性 )、经济可行性和(操作可行性 )。  10. IDEF0图的主要元素是简单的盒子及箭头,其中盒子代表系统的功能,而箭头表示系统处理的( 数据约束)。 1. 简答题(本题20分,每小题5分) 1. 试简要说明面向对象方法与结构化方法相比有何优越性,至少列出三点。  答:1允许部分复用,即继承复用。 1. 用接口来描述部件交互协议,有利于开发的合理性。 2. 对象往往是客观的,易理解,功能往往是主观的,不同的人可能有不同的理解。 2. 什么是模块的作用域?为何设计软件结构时要求模块的作用域必须在控制域之内?  答:所谓模块的作用域是指模块判定的影响范围。 作用域在控制域之内,可使得软件修改时代码局部化。 3. 什么是动态测试?为何静态测试方法往往比动态测试方法效率高?  答:动态测试是指经运行程序代码而检查代码是否存在错误。 静态测试往往不是运行代码,而在软件开发的早期进行,而早期错误发现要比错误晚发现付出的成本少,而静态测试往往在发现错误后还可继续进行,但动态测试往往需要停下来改进后才能进一步测试。 4. 什么是设计模式?试采用组合模式设计算术表达式的求值程序,给出其类图。 答:设计模式是指一种可以复用的面向对象的解决方案。 1. 分析题(本题20分) 某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。 (1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。 (2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。 (3) 如果是调房申请,则根据申请者的情况确定其住房等级,然后在空房文件中查找属于该等级的空房,退掉原住房,再进行与分房类似的处理。 (4) 住户可以向系统查询目前分房的阀值分数,居住某类房屋的条件,某房号的单位面积及房租等信息。房产科可以要求系统打印住房情况的统计表,或更改某类房屋的居住条件、单位面积和房租等。 试据此完成:(1)画出系统的用例图。(8分) (2)请用数据流图描绘该系统的功能需求。(12分) 1. 设计题(本题20分) 某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:  生产科的任务是:  (1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。  (2)根据车间实际生产日报表、周报表调整月生产计划。  (3)以月生产计划为依据,制定产品设计(结构、工艺)及产品组装月计划。  (4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间。  技术科的任务是:  (1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。 (2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。  试据此完成:(1)画出生产科、技术科对应的软件结构图。(10分)  (2)画出系统的类图,并在设计方案中采用工厂模式体现设计的可复用性。(10分) 1. 测试题(本题10分) 某判断润年的程序如下:  Int IsLeap(int year)  { if (year % 4 == 0) { if (year % 100 == 0) { if ( year % 400 == 0) leap = 1; else leap = 0; } else leap = 1; } else leap = 0; return leap; } 试据此完成: 1. 程序的环形复杂度为多少?(4分) 2. 设计测试用例,满足基本路径覆盖。(6分)   试卷四(参考答案) 参考答案:  一、1.发现错误  2. 产品软件  3. 螺旋  4. 约束 标记值  5. 程序内部数据结构  6. 组装复用 委派  7. 各种状态 转移条件  8. 结构化 面向对象  9. 技术可行性 操作可行性  10. 数据约束 2012年 一 填空题 1 为了工程管理的需要,将软件设计分为(概要设计)和(详细设计)两个阶段。 2 软件按服务对象可分为(项目软件)和产品软件 3 在常见的软件生存周期模型中,(瀑布)模型是文档驱动的 4 UML采用(用例)图描述系统与外部用户的交互行为 5 在软件测试用例的设计方法中,黑盒法以(外部功能)为依据设计测试用例 6 定性度量模型独立性的两个标准是(内聚度)和(耦合度) 7 需求分析的任务是(详细确定用户需要软件干什么) 8 在SA方法的需求描述工具中,(层次方框图)描述系统的分解,即描述系统由哪几个部分组成,各部分之间有什么联系等等;(数据词典(和加工说明))定义了数据流图中每个图形元素;结构化语言、判定表或判定树则详细描述、数据流图中不能被分解的(基本加工) 9 可行性研究的内容包括(技术可行性)、经济可行性和社会可行性 10 IDEFO图主要元素是简单的盒子及箭头,其中盒子代表(活动)。而箭头表示系统处理的(数据约束) 二 简答题 1 试简要说明面向对象方法与结构化方法相比有何优越性,至少列出三点。 答:(1)强调从现实世界中客观存在的事物(对象)出发来认识问 题域和构造系统,这就使系统开发者大大减少了对问题域的理解难度,从而使系统能更准确地反映问题域。 (2) 运用人类日常的思维方法和原则(体现于OO方法的抽 象、分类、继承、封装、消息通讯等基本原则)进行系统开发,有益于发挥人类的思维能力,并有效地控制了系统复杂性。 (3) 对象的概念贯穿于开发过程的终,使各个开发阶段的系统 成分具良好的对应,从而显著地提高了系统的开发效率与质量,并大大降低系统维护的难度。 (4) 对象概念的一致性,使参与系统开发的各类人员在开发的各所段具有共同语言,有效地改善了人员之间的交流和协作。 (5) 对象的相对稳定性和对易变因素隔离,增强了系统的应变能力。 (6) 对象类之间的继承关系和对象的相对独立性,对软件复用提供了强有力的支持。 2 什么是模块的作用域?为何设计软件结构时要求模块的作用域必须在控制域之内? 答:模块的作用域是指模块中判定的作用范围,它是指所有受这个判定范围影响的模块; 模块的控制域是指模块本身及其直接或间接调用的模块; 如果模块的作用域不在控制域内,则会增加数据间的传递量,使模块间出现控制耦合 3 什么是动态测试?为何静态测试方法往往比动态测试方法效率高? 答:动态测试是指经运行程序代码而检查代码是否存在错误。 静态测试往往不是运行代码,而在软件开发的早期进行,而早期错误发现要比错误晚发现付出的成本少,而静态测试往往在发现错误后还可继续进行,但动态测试往往需要停下来改进后才能进一步测试。 4 什么是设计模式?试采用组合模式设计算术表达式的求值程序,给出其类图。 答:设计模式是指系统地命名、解释和评价某一重要的、可重用的面向对象设计方案。 三 分析题 1 一本图书有一个封面,一个目录,一个前言,若干章;每章有若干行;每节有若干段;每段有若干句子,每节有0个或多个插图,还有0个或多个表格;最后有一个附录。试据此建立图书的对象模型。 2 某学院要求实现“网络教学系统”,系统的功能需求主要包括以下几个方面: (1) 学生可以登录网站浏览,查找信息和下载文件。 (2) 教师可以登录网站输入课程简介,上传课件文件,发布消息,修改和更新消息。 (3) 系统管理员可以对页面维护以及批准用户的注册申请。 试据此建立系统的用例模型。 四 设计题 某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:  生产科的任务是:  (1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。  (2)根据车间实际生产日报表、周报表调整月生产计划。  (3)以月生产计划为依据,制定产品设计(结构、工艺)及产品组装月计划。  (4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间。  技术科的任务是:  (1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。 (2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。  试据此完成:(1)画出生产科、技术科对应的软件结构图。(10分)  (2)画出系统的类图,并在设计方案中采用工厂模式体现设计的可复用性。(10分) 五 测试题 某判断润年的程序如下:  Int IsLeap(int year)  { if (year % 4 == 0) { if (year % 100 == 0) { if ( year % 400 == 0) leap = 1; else leap = 0; } else leap = 1; } else leap = 0; return leap; } 试据此完成: (1)程序的环形复杂度为多少?(4分) (2)设计测试用例,满足基本路径覆盖。(6分) 内聚程度由高到低:功能,信息,通信,过程,时间,逻辑,偶然内聚 耦合程度由低到高:非直接耦合,数据,标记,控制,外部,公共,内容耦合
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服