软件工程考试大纲.docx

上传人:牧羊曲112 文档编号:2074996 上传时间:2023-01-07 格式:DOCX 页数:14 大小:181.58KB
返回 下载 相关 举报
软件工程考试大纲.docx_第1页
第1页 / 共14页
软件工程考试大纲.docx_第2页
第2页 / 共14页
软件工程考试大纲.docx_第3页
第3页 / 共14页
软件工程考试大纲.docx_第4页
第4页 / 共14页
软件工程考试大纲.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《软件工程考试大纲.docx》由会员分享,可在线阅读,更多相关《软件工程考试大纲.docx(14页珍藏版)》请在三一办公上搜索。

1、计算机系考试大纲 软件工程软件工程考试大纲一、考试说明考试对象:计算机科学与技术专业命题原则: (1) 在教学大纲和考试大纲所规定的知识点范围内命题。(2) 试题的考察要求覆盖面广、区分度高。(3) 试题兼顾各个能力层次,难易程度和题量适当,按难易程度分为四个层次:容易占40%,较易占40%,较难占10%,难占10%。试题题型:软件工程试题总分为100分,选择题占20分,简答题占20分,论述题占20分、设计题占40分。选择题:给出有关软件工程概念、原理、方法的不完整叙述,要求考生从题后给出的四个选项中选择合适的一种答案,补充完整。简答题:可包括重要概念的解释、数据流图的绘制。 论述题:可包括重

2、要概念的解释、数据流图的绘制。设计题:可包括绘流程图、写算法设计思想、定义相应数据结构、用高级语言书写程序。二、考试范围重点考察学生对软件工程有关概念的理解以及软件工程有关的原理方法。按照教学大纲的要求,具体考核要求分为掌握、理解和了解三个层次:掌握:要求学生能够全面、深入理解和熟练应用的内容,是重点考试内容。理解:要求学生能够较好地理解所学内容,并且能够进行简单分析和判断。了解:对要求了解的内容,在考试中占较小比例,不超过5%。1、绪论考核的知识点和要求掌握:学习软件工程的意义,面向对象软件工程和传统软件工程的比较;各种软件开发模型的内容,不同开发模型的特点比较;理解:软件的定义、软件的分类

3、,软件危机、软件工程学的范畴;软件过程中瀑布模型、快速原型模型、螺旋模型的特点。3、软件需求分析考核的知识点和要求理解:可行性研究任务(目的)及涉及的内容,需求分析的任务,需求分析的方法及主要方法(面向数据流分析)的具体步骤,需求分析的任务、步骤。掌握:数据流图(掌握顶层数据流图的绘制),细化DFD的原则,数据词典的定义及表述符号,其他分析工具。4、软件设计概述考核的知识点和要求掌握:软件设计的任务、基本概念,模块化设计,设计文档,模块与构件,抽象与细化,信息隐藏;高内聚低耦合。理解:软件设计的一般概念。 5、传统的设计方法考核的知识点和要求理解:面向数据流设计的结构化设计方法(包括结构设计和

4、过程设计);程序流程图、盒图(N-S图)绘制及三种结构(顺序、选择、循环),判定表(理解);掌握:结构化设计模型,结构化设计方法;程序流程图、盒图(N-S图)、判定表的绘制6、面向对象的设计方法考核的知识点和要求掌握:模型对象设计模型,系统设计,对象设计;理解:领域对象设计,面向对象设计的任务和设计模型7、UML考核的知识点和要求掌握:UML中的视图与图;理解:统一建模语言UML的组成、特点和应用;如何进行静态建模、动态建模和物理架构建模。 8、编码和语言选择考核的知识点和要求掌握:用户界面设计的原则;编码的风格,编码语言的选择;注释及其分类。了解:常见的编码语言和编码语言的选择。9、软件测试

5、考核的知识点和要求掌握:黑盒测试,白盒测试,测试用例设计;理解:测试的基本概念,常用的纠错技术。10、软件维护考核的知识点和要求理解:软件维护的种类,软件可维护性的属性;掌握:软件维护。三、考试方式出勤、作业、实验演示:利用软件工程的思想做一个实用小型软件,可个人为一组或若干同学合作,占总成绩的30%。期末理论考试:闭卷,120分钟,占总成绩的70%。如果出勤率不及格,将没有考试资格。大纲编写修改时间:2008年5月22日考试大纲编写教师:任传成考试大纲审核: 王文博第二部分 试题类型及解答一、选择题1螺旋模式的组成包括下列()。 (A)需求定义 (B)风险分析 (C)工程实现 (D)评审1.

6、“软件危机”产生的主要原因是( )。A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件所谓基准配置是指( )。A.计算机系统的软硬件配置 B.计算机系统的硬件配置 C.软件开发标准 D.阶段评审后的软件配置成分在需求分析之前有必要进行( )工作。A.程序设计 B.可行性分析 C.ER分析 D.3NF分析一个只有顺序结构的程序,其环形复杂度是( ) A.0 B.1 C.3 D.不确定的自底向上进行集成测试的优点是不必额外设计( )程序。A.子 B.被调用 C.存根 D.驱动使用软件时提出增加新功能就必须进行( )维护。A.改正性 B.适应性 C.完善性 D.预防性

7、维护过程本质上是( )的过程。A.修改程序 B.修改文档 C.修改软件配置 D.压缩的修改软件定义和开发要设计一个商业单位信息管理系统,首选的程序设计(高级)语言应该是 。下面是一个模块的伪码描述: begin s1; if c then s2 else s3; s4; end 使用McCabe方法,先画出其程序图,在计算其环形复杂度。2 需求分析的工作有那些?(A)调查研究 (B)确定需求 (C)建立模型 (D)需求描述 (E)需求分析复审。3要如何进行调查研究,以便得到需求分析的资料?(A)了解整体系统、(B)市场调查、(C)访问使用者、(D)考察现场。4结构化分析使用那些道具来描述软件的

8、行为?(A)数据流程图(Data Flow Diagram,简称为DFD) (B)数据字典(Data Dictionary简称为DD) (C)处理描述(Process Description)。5数据流程图有那些要素? (A)加工(Process) (B)数据流(Data Flow) (C)数据储存(Data Store) (D)数据流(Data Source and Sink)6软件的除错方法有那些?(A)凭着蛮力、(B)回溯、以及(C)原因排除。7软件维护有那几个种类?A Corrective Maintenance (B) Adaptive Maintenance (C) Perfect

9、ive Maintenance在面向对象的开发中,类与类之间的存在着关联、聚集和 等关系。有关计算机程序功能、设计、编制、使用的文字或图形资料称为( ) A. 软件 B. 文档 C.程序 D. 数据10. ( )是计算机程序及其说明程序的各种文档。 A.软件 B.文档 C.数据 D.程序下列不是软件工程三要素的( )A.方法 B.工具 C.过程 D.技术结构化分析方法使用的描述工具( )定义了数据流图中每一个图形元素。A 数据流图 B数据字典 C 判定表 D 判定树在结构化分析方法中,用以表达系统内部数据的运行情况的工具有( )。A 数据流图 B 数据字典 C 结构化英语 D 判定树与判定表在

10、结构化分析方法(SA)中,与数据流图配合使用的是(A 网络图 B实体联系图 C数据字典 D 程序流程图分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( )A 细节 B输入与输出 C软件的作者 D绘制的时间数据字典中,一般不包括下列选项中的( )条目。A数据流 B数据存储 C加工 D源点与终点在软件需求分析中,开发人员要从用户那里解决的最重要的问题是( )A要让软件做什么 B要给该软件提供哪些信息C要求软件工作效率怎样 D要让软件具有何种结构SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( )。A获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑

11、模型B获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型D获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型需求分析阶段不适于描述加工逻辑的工具是( )。 A 结构化语言 B判定表 C判定树 D流程图结构化分析方法(SA)最为常见的图形工具是( )。 A程序流程图 B实体联系图 C 数据流图 D结构图SA方法的基本思想是( )。 A自底向上逐步抽象 B自底向上逐步分解 C自顶向下逐步分解 D自顶向下逐步抽象好的软件结构应该是( ) A 高耦合、高内聚 B 低耦合、高内聚 C 高耦

12、合、低内聚 D 低耦合、低内聚程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的内聚性和( )。 A 独立性 B 有效性 C 耦合性 D 安全性程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的( )和耦合性。 A一致性 B 作用域 C 嵌套限制 D 内聚性软件设计中划分通常遵循的原则是要使模块间的耦合性尽可能( ) A强 B弱 C较强 D适中Jackson suggested the data structure oriented software design method,Which of the following structure can be in

13、troduced by using inputoutput data structure( ) A algorithm structure B procedure structure C code structure D program structure在面向数据流的软件设计方法中,一般将信息流分为( )。 A 变换流和事务流 B 变换流和控制流 C 事务流和控制流 D 数据流和控制流在多层次的结构图中,其模块的层次数称为结构图的( )。 A深度 B跨度 C控制域 D粒度( )着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。 A程序流程图 B数据流图 CE-R图 D结构图 在软件

14、开发过程中,以下说法正确的是( )A 程序流程图是逐步求精的好工具,B NS图不可能任意转移控制,符合结构化原则C 判定表是一种通用的设计工具D 程序流程图和NS图都不易表达模块的层次结构( )工具在软件详细设计过程中不采用。 A 判定表 B IPO图 C PDL D DFD图结构化程序设计的一种基本方法是( )。 A 筛选法 B递归法 C 迭代法 D 逐步求精法对象是面向对象开发方法的基本成分,每个对象可用它本身的一组( )和它可以执行的一组操作来定义。 A服务 B参数 C属性 D调用汽车有一个发动机,汽车与发动机之间的关系是( )关系。 A 一般与具体 B 整体与部分 C 分类关系 D i

15、s a火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( )关系。 A 组装 B 整体与部分 C hasa D 一般与具体在编制程序时,应采纳的原则之一是( )。 A 不限制goto语句的使用 R 减少或取消注释行 C 程序越短越好 D 程序结构应有助于读者理解源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有( )。 A. 模块的功能 B 语句的功能 C模块的接 D 开发历史Which of the followings tatements testing software with data is (are)true?( ) The primary purpose of s

16、uch testing is to find errors Such testing can demonstrate the existence of errors but cannot demonstrate theAbsence of errors A .Neither BOnly COnly DBoth从下列叙述中选出能够与软件开发需求分析、设计、编码相对应的软件测试( )。 A 组装测试、确认测试、单元测试 B 单元测试、组装测试、确认测试 C 单元测试、确认测试、组装测试 D 确认测试、组装测试、单元测试B1ack-BOx and white-BOX testing method a

17、re often used in software testing phase,inwhich,the White-Box is mainly used to test softwares( ) A reasonableleness of structure B correctness of a program C external function of a program D internal logic of a programWhich is not a concept of White-Box Testing? ( )A you should execute all loops at

18、 their boundary conditions B you should execute all interface at their boundary conditions C you should execute all logic decisions on their true and false sides D you should execute all independent paths within a module at least once一般来说,与测试数据无关的文档是( ) A 需求规格说明书 B 设计说明书 C 源程序 D 项目开发计划The type of te

19、sting done software implementation and before module integration iscalled( ) A unit testing B beta testing C system testing D acceptance testing二、为高质量地开发软件项目,在软件结构设计时必须遵循( A )的原则,( B )建立软件系统的模块结构。并且应根据( C )评价系统模块划分的质量。此外在模块设计时,应从5种基本的( D )出发,利用它们组合成一个模块的程序块结构。 要求每个( E )的结构应是单入口和单出口。【供选择的答案】 A: 质量控制

20、程序优化 信息隐蔽 数据共享 模块通信 B: 自底向上 自顶向下 衍变的自顶向下 随机 回归 C: 数据独立性 程序独立性 模块独立性 可修改性 可理解性 D: 数据结构 处理结构 功能结构 成份 控制结构 E: 程序块 公共块 数据块 记录块 通信块请指出UML的三个主要的特性。1)UML是一种语言2)UML是用来建模的3)UML是统一的标准绘制一个表示类的UML元素,并指出它主要包含哪三个部分。类名、属性、操作13 因计算机硬件和软件环境的变化而作出的修改软件的过程称为(B)A 教正性维护 B 适应性维护C 完善性维护 D 预防性维护选择判断题(在下面的十条叙述中,选出有错误的五条,并且简

21、单分析,给出理由,认为是正确的,则不必解释。判断分析正确每条3分,共15分)1软件开发小组的组成人员的素质应该好,而人数则不宜过多。数据流图表示了程序系统对数据的算法处理过程,即系统的物理模型。总体设计的基本目的就是回答:“概括地说,系统应该如何实现?”这个问题。有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。从下列叙述中选出5条关于好的程序设计风格的正确叙述。(在对的前面打) (1) 使用括号以改善表达式的清晰性。 (2) 对递归定义的数据结构不要使用递归过程。 (3) 尽可能对程序代码进行优化。 (4) 不要修补不好的程序, 要重新写。 (5) 不要进行浮点数的相等比较

22、。 (6) 应尽可能多地输出中间结果。 (7) 利用数据类型对数据值进行防范。 (8) 用计数方法而不是用文件结束符或输入序列结束符来判别输入的结束。 (9) 程序中的注释是可有可无的。 (10) 使用有意义的标识符。在图3-31中,是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。请指出模型中的错误,说明原因并改正错误。图3-31 仓库管理系统类模型局部根据题意和模型不难得知,一个入库单是由多个入库单项(OrderItem)组成的,因此不可能只涉及一个产品,合理的方式应该是入每个入库单项(OrderItem

23、)与产品一对一关联。即应该绘制为:5. 在图3-32中是一个“涉税服务管理效能管理系统”中类模型的一个局部,请根据该图回答以下问题。图3-32 涉税服务效能管理系统类模型局部在描述“税务审批服务申请”时,它主要包含哪几个方面的内容?它有几种不同的类别?受理资料、受理提示、受理告知、纳税人、流转记录。包括行政许可类申请、涉税服务类申请和行政审批类申请三类。对于每一条流转记录,可能与几个“税务审批服务申请”相关?与几个处理人相关?每条流转记录只和一个“税务审批服务申请”相关,只与一个处理人相关。为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息

24、管理系统。主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,图6-14是一个用例模型的局部:图6-14 物业管理系统用例模型局部(1)但小李认为该模型不符合“用例建模”的思想,存在明显的错误。请用200字以内说明错误所在,并说明应该如何修改。1)主要错误:用例的分解太细,并没有遵从每个用例为用户传递一个有价值的结果的原则。在原设计中“打开房源信息页面”、“录入房源信息”、“确认提交信息”都只是一个操作步骤,因此不适合作

25、为用例。2)修改方法:将“打开房源信息页面”、“录入房源信息”、“确认提交信息”合并为“新增房源信息”。(2)在上图中构造型“include”表示的是什么意思,它与“extent”之间的区别是什么? 在用例模型中,构造型“include”是用来表示包含关系。它通常用来表示被包含用例是被多包含用例使用的一个可复用模块,而extent且通常用来表示对用例的扩展。1什么是实体图?答案:在复杂的软件系统里,一个数据库可能有数个乃至数十个实体集在其中。为了表达实体集之间的结合(Association)关系,可以使用实体图(Entity Relationship Diagram,简称为ERD)来表示。什么

26、是模块化?答案:模块化的方法主要是看每个结构元素要产生多少个模块,有的结构元素可能只要有一个模块就可以了,有的结构元素则会要有多个模块才够用。在软件设计中,每个模块可以被独立命名。什么是结构化程序?答案:结构化程序(Structured Programming)基本上是规定一套撰写算法的方式。Dijkstra提出所有的程序都可以用三种控制结构(Control Structure)组合而成。这三种控制结构分别是:顺序结构(Sequence Structure), 选择结构(Selection Structure), 重复结构(Repetition Structure) 经过世人证明之后,确实所有

27、的模块可以用以上三种程序结构组合而成。若输入数据条件是20到48之间的整数,请用等价分类法推导出其测试用例。 答案:20 = x = 48 为它的有效等价类,x 20和48 x为它的二个无效等价类。再来,识别出测试个案步骤可以找到测试个案整数25 , 6 , 58。其中,整数25可以涵盖”20= x =48”为有效等价类,而整数6和58分别涵盖”x 20”和”48 x” 二个无效等价类若输入数据条件是小于246之间的整数,请用边界值分析法推导出其测试用案。答案:1 = x = 246 为它的有效等价类,x 1和246 x为它的二个无效等价类。再来,识别出测试个案步骤可以找到测试个案整数1 ,

28、0 , 247。其中,为了突显输入边界值测试个案特别采用边界值整数1可以涵盖”1= x =246”为有效等价类,而边界值整数0和边界值整数247分别涵盖”x 1”和”246 x” 二个无效等价类。按“广度优先”集成测试原则,列出下图中测试顺序。软件结构结构式维护和非结构式维护的区别是什么?列举出你在大作业中用到的CASE。系统要存储下面的数据:系的名字和系主任的名字;学生的学号和学生的姓名;以及系和学生之间存在的所属关系。 设计数据存贮表结构(即表的数据属性组成),要求每一张表都是第三范式。论述题某公安报警系统在一些公安重点保护单位(如,银行、学校等)安装了报警装置。工作过程如下,一旦发生意外

29、事情,事故发生单位只需按报警按钮,系统立即向公安局发出警报信息、自动显示出报警单位的地址、电话号码等。110警车立即出动前往出事地点。值班人员可以接通事故单位的电话、问清情况,需要时再增派公安人员到现场处理。请根据以上情况进行分析,确定本题应建立哪几个对象类,画出UML顺序图。1.为什么软件不是实际实体?答案:软件是一个心智性产品。换句话说,软件是一种逻辑实体,而不是实际实体。我们可以将软件记录在白纸上,或者将它储存在磁盘和磁带里,但我们却无法触摸到软件它的本身。2银行账户里的一仟元存款是一个逻辑实体?还是一个实际实体?答案:一仟元存在银行账户里,由于无法触摸到的一仟元本身,因此是一逻辑实体。

30、3.一本书是一个逻辑实体?还是一个实际实体?答案:一本书由于看得到与触摸得到,因此它是实际实体。4.要如何使用软件工程规范,来解决软件危机?答案:软件工程规范下列要点:(A)产品与过程并重、(B)技术、管理、工具三样并重、(C)以软件架构为中心。以便解决软件危机和软件迷思,而使得到软件开发有事半功倍的效果。5. 软件过程步骤有那些?软件过程的相关工作在不讨论应用领域、项目大小或复杂度的情况下,一般而言可大略分成下面最具代表性的五个步骤:(A)项目规划步骤(Project Planning Step)、(B)需求与规格步骤(Requirement and Specification Step)、

31、(C)设计与实现步骤(Design and Implementation Step)、(D)证实与验认步骤(Verification and Validation Step)、(E)产品演进步骤(Product Evolution Step)。6瀑布模式的优、缺点是什么?答案:优点:瀑布模式是以开发出完整软件系统为目标。在瀑布模式里,项目规划、需求与规格、设计与实现、证实与验认、产品演进等五个步骤相互间呈现的是的一种循序关系。换句话说,每一个步骤必须经过确定后才能进入下一个步骤。缺点:使用者无法在短期间看到产品,最后的产品可能不是使用者想要的。值是故,软件开发的风险相对提高。7低耦合性为什么表

32、示模块分割得好?答案:耦合性(Coupling)指的是跨越在模块之间的功能紧密度。软件设计的目标是要减少耦合性,即让模块之间尽可能的独立。如果模块之间耦合性低,意指软件被良好的分割。8高内聚性为什么表示模块分割得好?答案:内聚性(Cohesion)指模组内的功能相关程度的衡量。软件设计应该产生高内聚性的模块。因为模块内功能相关程度若是紧密,则模块间的功能紧密度自然疏远,才不会导致高耦合性。需求是变化的,因为软件是灵活的,总可以满足需求。模块越小,模块的优点越大设计题1以下是某系统的数据流程图,请将其转换成相应的SC图。1 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员

33、键入系统。如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。1) 画出该系统的高层数据流程图和第二层细化流程图。2) 对数据流定义数据字典。下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素Vi的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ): void SelectSort ( datalist & list ) /对表list.V0到list.Vn-1进行排序, n

34、是表当前长度。 for ( int i = 0; i list.n-1; i+ ) int k = i; /在list.Vi.key到list.Vn-1.key中找具有最小关键码的对象 for ( int j = i+1; j list.n; j+) if ( list.Vj.getKey ( ) =5 THEN X=10 ELSE X=lENDIFIF N=10 THEN Y=20 ELSE Y=2ENDIFPRINT(X,Y)STOP请画出该伪代码的程序流程图,并标注等路径号,设计该程序的基本路径覆盖测试用例。34(1)顶层数据流图(注:未完成系统管理员部分内容)(2)用例图借阅者用例图图书管理员用例图(3)书籍状态图5(1)语句测试用例为:和:分别为M=5,N=10,X=10,Y=20和M=3,N=8,X=1,Y=2或者和:分别为M=5,N=8,X=10,Y=2和M=3,N=10,X=1,Y=20(2)路径测试用例为: M=5,N=10,X=10,Y=20 M=3,N=8,X=1,Y=2 M=5,N=8,X=10,Y=2 M=3,N=10,X=1,Y=20- 14 -

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号