1、精品文档就在这里 -------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有-------------- -------------------------------------------------------------------------------------------------------------------------------------------- 学院: 专业班级: 姓名: 学号:
2、 装 订 线 安徽农业大学经济技术学院2011―2012学年 第二学期 《软件工程》试卷(A卷) 考试形式: 闭卷笔试,2小时 适用专业: 计算机科学与技术 (注:分大类或全校等) 注明适用机制专业、试卷所需时间120分钟、闭卷、试卷总分100分 题 号 一 二 三 四 总 分 得 分 得分 评阅人 一、单项选择题(每小题1分,共计20分) 1
3、瀑布模型存在的问题是( ) A、用户容易参与开发 B、缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 2、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据, 因此必须给出什么样的回答。( ) A.确定 B.行或不行 C.正确 D.无二义 3、结构化程序设计主要强调的是( ) A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读性 4、在用户界面层次上对软件进行测试属于哪种测试方法( )
4、 A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 5、经济可行性研究的范围包括( ) A、资源有效性 B、管理制度 C、效益分析 D、开发风险 6、对象实现了数据和操作的结合, 使数据和操作( )于对象的统一体中。 A、结合 B、隐藏 C、封装 D、抽象 7、需求分析阶段的任务是确定( ) A、软件开发方法 B、软件开发工具 C、软件开发费 D、软件系统的功能 8、下列文档与维护人员有关的有(
5、 ) A、软件需求说明书 B、项目开发计划 C、概要设计说明书D、操作手册 9、程序的三种基本控制结构是( ) A、过程、子程序和分程序 B、顺序、选择和重复 C、递归、堆栈和队列 D、调用、返回和转移 10、软件生存周期中时间最长的是( )阶段。 A、总体设计 B、需求分析 C、软件测试 D、软件维护 11、为了提高模块的独立性,模块之间的联系最好的是( )。 A、公共耦合 B、控制耦合 C、内容耦合 D、数据耦合 12
6、软件概要设计结束后得到( ) A、初始化的软件结构图 B、优化后的软件结构图 C、模块的接口图和详细算法 D、程序编码 13、软件需求是度量软件质量的基础,不符合需求的软件就不具备( ) A、软件的特点 B、质量 C、软件产品 D、功能 14、软件特性中,程序能够满足规格说明和完成用户业务目标的程度,称作( ) A、正确性 B、移植性 C、可靠性 D、完整性 15、为使得开发人员对软件产品的各个阶段工作都进行周密的思考
7、从而减少返工,所以( )的编制是很重要的。 A、需求说明 B、概要说明 C、软件文档 D、测试计划 16、汽车有一个发动机,因而汽车与发动机之间的关系是( )关系。 A、一般与特殊 B、整体与部分 C、分类关系 D、is a 关系 17、在有多重继承的类层次结构图中,它的类层次结构图是( )层次结构 A、树型 B、网状性 C、星型 D、环型 18、软件部件的内部实现与外部可访问性的分离,是指软件的( )。
8、 A、继承性 B、共享性 C、封装性 D、抽象性 19、在结构图中,不是其主要成分的是( )。 A、模块 B、模块间传递的数据 C、模块内部数据 D、模块的控制关系 20、结构化设计方法在软件开发中,用于( )。 A、测试用例设计 B、软件概要设计 C、程序设计 D、软件详细设计 得分 评阅人 二、名词解释(每小题2分,共计20分) 21、软件质量 与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体,是所有描述计算机软件优秀程度的特性的组合。
9、 22、模块的独立性 是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的,也就是说,一个模块只具有单一的功能且与其它模块没有太多的联系,可通过模块间的耦合和模块的内聚来衡量模块的独立性。 23、对象类 对象类是一组具有相同数据结构和相同操作的对象的集合。包括一组数据属性和在数据属性上的一组操作。可以看作一个具有类似特性与共同行为的对象的摸板,可用来产生对象。 24、集成测试 集成测试也称组装测试或联合测试。是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。组装模块的方式有两种:渐增式测试和非渐增式测试。
10、 25、容错技术 对那些无法避开的差错,使其影响减少至最小的技术。也就是说,当错误发生时,尽可能地不影响其它的系统元素,或是把用户的影响限制在某些容许的范围内。 26、多态性 多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。 27、面向对象方法学 就是尽可能地模拟人类习惯的思维方式,使开发软件的方法与过程尽可能地接近人类认识世界解决问题的方法与过程,也就是描述问题的问题空间与实现解法的解空间在结构上尽可能一致。(1)认为客观世界是由各种对象组成的;(2)把所有对象都划分成各种对象类,每个对
11、象类都定义了一组数据和方法;(3)按照子类与父类的关系,把若干对象类组成一个层次结构的系统;(4)对象彼此之间仅能通过传递消息互相联系。 28. 软件集成测试 集成测试是组装软件的系统技术,在把模块按照设计要求组装起来的同时进行测试,用于发现与接口有关的问题。集成测试可分为非渐增式测试方法和渐增式测试方法。 29、模块独立性 是模块化、抽象和信息隐蔽的直接产物。每个模块只要完成独立的功能,与其它模块联系越少,则模块的独立性就越强。通过模块与模块之间的耦合性和模块内部的内聚性来衡量模块的独立性。 30、软件生命周期 软件生存周期是指从提出软件开发要求开始,直到该软件报废不
12、用为止的整个时期。这个时期又分为若干个阶段,对软件生产的管理和进度控制有重要作用,使软件的开发有相应的模式、流程、工序和步骤。 得分 评阅人 三、简答题(每小题4分,共计20分) 31、简述程序设计风格。 源程序代码的逻辑清晰、易读易懂是好程序的一个重要标准。(1)程序内部要有文档,(2)数据说明的次序应该标准化,(3)每条语句应该简单,(4)数据输入要进行校验,输入格式简单,输出设计良好,(5)不要牺牲程序的清晰性和可读性来不必要第提高效率。 32、简述快速原型法思想。 首先建立一个能够反映用户主要需求的原型系统,让用户在计算机上运行、试用这个
13、原型系统,通过实践,了解未来系统的概貌,以便用户判断哪些功能符合他们的需要,哪些功能应该加强,哪些功能需要补充进来,哪些功能是多余的等等。总之,用户通过实际试用原型系统,会提出许多修改意见,根据这些意见,开发人员可以快速修改原型系统,然后用户再次使用修改过的原型系统,根据用户对第二个原型系统的修改意见,开发人员再次修改原型系统。经过对原型系统的反复试用和改进,最终建立起完全符合用户需要的软件系统。 33、简述面向对象方法学的出发点和基本原则。 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述
14、问题的问题空间与实现解法的解空间在结构上尽可能一致。(1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。(2)把所有对象都划分成各种对象类,每个对象类都定义了一组方法和一组属性。(3)按照派生类与基类的关系,把若干个对象类组成一个层次结构的系统。(4)对象彼此之间仅能通过传递消息互相联系。 34、简述软件开发过程、每个里程碑的提交物。 软件开发的基本过程:(1)可行性研究,做初步的需求分析工作,决定项目可行与否(2)软件需求分析,软件工程师必须了解软件的信息领域,以及需求的功能、行为、性能和接口。系统需求和软件需求均需文档化,并与
15、用户一起复审。并提交需求分析报告。(3)设计,包括概要设计和详细设计,软件设计是一个多步骤的过程,主要是对软件的数据结构、软件体系结构、界面表示及过程细节进行设计。设计过程将需求转换为软件表示,在编码之前可以评估其质量,所有设计均要文档化,它是软件配置的重要组成部分,经复审后提交相应的概要设计和详细设计报告。(4)编码,把设计转化为机器可执行的程序。提交源程序清单。(5)测试,提交测试报告。(6)维护,提交维护报告。 35、简述文档在软件工程中的作用。 (1)提高软件开发过程的能见度 (2)提高开发效率 (3)作为开发人员阶段工作成果和结束标志 (4)记录开发过程的有
16、关信息便于使用与维护; (5)提供软件运行、维护和培训有关资料; (6)便于用户了解软件功能、性能。 得分 评阅人 四、应用设计题(每小题20分,共计40分) 36、某图书出版公司希望每月定期向固定客户邮寄最近一个月的图书分类目录。客户可在其收到的目录上圈定自己要买的书。出版公司按照客户的反馈信息邮寄图书。要求为出版公司设计软件,以实现以下功能: (1)自动生成图书分类目录; (2)自动处理客户反馈信息。 试用面向数据流的方法给出系统的数据流图,并设计出软件结构图。 37、问题描述为:储户用存折取款,首先填写取款单,根据帐卡中的信息检验取
17、款单与存折,如有问题,将问题反馈给用户,否则,登录储户存款数据库,修改响应数据,并更新帐卡,同时发出付款通知,出纳向储户付款。请确定系统的类,并给出任意2个类的类图。 答案 一、单项选择题(每小题1分,共计20分) 1、 C 2、B 3、 D 4、 A 5、 C 6、 C 7、 D 8、 C 9、B 10 D 11、 D 12、 B 13、 B 14、 A 15、 C 16、B 17、 B 18、 C 19、 C 20、 B 二、名词解释(每小
18、题2分,共计20分) 21软件质量:与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体,是所有描述计算机软件优秀程度的特性的组合。 22、模块的独立性:是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的,也就是说,一个模块只具有单一的功能且与其它模块没有太多的联系,可通过模块间的耦合和模块的内聚来衡量模块的独立性。 23、对象类是一组具有相同数据结构和相同操作的对象的集合。包括一组数据属性和在数据属性上的一组操作。可以看作一个具有类似特性与共同行为的对象的摸板,可用来产生对象。 24、集成测试也称组装测试或联合测试。是指在单元测试的基础
19、上,将所有模块按照设计要求组装成一个完整的系统进行的测试。组装模块的方式有两种:渐增式测试和非渐增式测试。 25、容错技术:对那些无法避开的差错,使其影响减少至最小的技术。也就是说,当错误发生时,尽可能地不影响其它的系统元素,或是把用户的影响限制在某些容许的范围内。 26、多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。 27、面向对象方法学: 就是尽可能地模拟人类习惯的思维方式,使开发软件的方法与过程尽可能地接近人类认识世界解决问题的方法与过程,也就是描述问题的问题空间与实现解法的解空间在结构上尽可
20、能一致。(1)认为客观世界是由各种对象组成的;(2)把所有对象都划分成各种对象类,每个对象类都定义了一组数据和方法;(3)按照子类与父类的关系,把若干对象类组成一个层次结构的系统;(4)对象彼此之间仅能通过传递消息互相联系。 28、软件集成测试: 集成测试是组装软件的系统技术,在把模块按照设计要求组装起来的同时进行测试,用于发现与接口有关的问题。集成测试可分为非渐增式测试方法和渐增式测试方法。 29、模块独立性: 是模块化、抽象和信息隐蔽的直接产物。每个模块只要完成独立的功能,与其它模块联系越少,则模块的独立性就越强。通过模块与模块之间的耦合性和模块内部的内聚性来衡量模块的独立性。 3
21、0、软件生存周期是指从提出软件开发要求开始,直到该软件报废不用为止的整个时期。这个时期又分为若干个阶段,对软件生产的管理和进度控制有重要作用,使软件的开发有相应的模式、流程、工序和步骤。 三、简答题(每小题4分,共计20分) 31、源程序代码的逻辑清晰、易读易懂是好程序的一个重要标准。(1)程序内部要有文档,(2)数据说明的次序应该标准化,(3)每条语句应该简单,(4)数据输入要进行校验,输入格式简单,输出设计良好,(5)不要牺牲程序的清晰性和可读性来不必要第提高效率。 32、首先建立一个能够反映用户主要需求的原型系统,让用户在计算机上运行、试用这个原型系统,通过实践,了解未来系统的概貌
22、以便用户判断哪些功能符合他们的需要,哪些功能应该加强,哪些功能需要补充进来,哪些功能是多余的等等。总之,用户通过实际试用原型系统,会提出许多修改意见,根据这些意见,开发人员可以快速修改原型系统,然后用户再次使用修改过的原型系统,根据用户对第二个原型系统的修改意见,开发人员再次修改原型系统。经过对原型系统的反复试用和改进,最终建立起完全符合用户需要的软件系统。 33、面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间与实现解法的解空间在结构上尽可能一致。(1)认为客观世界是由各种对象组
23、成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。(2)把所有对象都划分成各种对象类,每个对象类都定义了一组方法和一组属性。(3)按照派生类与基类的关系,把若干个对象类组成一个层次结构的系统。(4)对象彼此之间仅能通过传递消息互相联系。 34、软件开发的基本过程:(1)可行性研究,做初步的需求分析工作,决定项目可行与否(2)软件需求分析,软件工程师必须了解软件的信息领域,以及需求的功能、行为、性能和接口。系统需求和软件需求均需文档化,并与用户一起复审。并提交需求分析报告。(3)设计,包括概要设计和详细设计,软件设计是一个多步骤的过程,主要是对软件的数据结构、软件体系结
24、构、界面表示及过程细节进行设计。设计过程将需求转换为软件表示,在编码之前可以评估其质量,所有设计均要文档化,它是软件配置的重要组成部分,经复审后提交相应的概要设计和详细设计报告。(4)编码,把设计转化为机器可执行的程序。提交源程序清单。(5)测试,提交测试报告。(6)维护,提交维护报告。 35、(1)提高软件开发过程的能见度 (2)提高开发效率 (3)作为开发人员阶段工作成果和结束标志 (4)记录开发过程的有关信息便于使用与维护; (5)提供软件运行、维护和培训有关资料; (6)便于用户了解软件功能、性能。 四、应用设计题(每小题20分,共计40分) 36 (1)10分
25、 (2)10分 37、 (1) 储户、帐卡、存折、取款单、储户存款数据库、付款(每个2分) 储户 用户名:字符串 帐号:字符串 密码:字符串 填写取款单() 查询存款() 帐卡 用户名:字符串 帐号:字符串 密码:字符串 验证帐号() 验证密码() 显示存款信息() 返回错误信息() (一个类图4分) ---------------------------------------------------------精品 文档---------------------------------------------------------------------






