2018年山东省中国海洋大学软件工程考研真题
一、填空题(共12空,每空2分,共24分)
1、软件生命周期可以分为___________,________,需求分析,_________,_________,编码和单元测试,________,软件维护八个阶段。
2、_________是进行软件结构设计的常用途径,但是如果已经有了详细的数据流图,也可以使用________的设计方法。
3、数据流图中的箭头表示__________,圆或圆角矩形表示________,矩形表示。
4、软件实现包括___________和__________两个阶段。
二、判断题(共10题,每题2分,共20分。正确的打T,错误的打F)
1、模块化、信息隐藏、抽象和逐步求精的软件设计原则有助于得到高内聚、低耦合的软件产品。
2、面向对象方法简化了软件的开发与维护,提高了软件的可重用性。
3、在没有数据流图的情况下,数据字典能够较好地描绘系统的逻辑模型。
4、总体设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任务。
5、McCabe方法根据程序控制流的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的环形复杂度。
6、测试和调试是软件测试阶段中的两个关系非常密切的过程,它们往往交替进行。
7、编程语言应该在软件总体设计时选择。
8、使用面向对象的方法开发软件,通常要建立三种形式的模型:对象模型、系统模型和功能模型。
9、由于维护资源有限,目前预防性维护仅在全部维护活动中占很小的比例。
10、在进行总体设计时应该加强模块间的联系。
三、单项选择题(共10题,每题2分,共20分)
1、以下说法错误的是( )。
A程序流程图是使用最广泛的描述过程设计的方法
B盒图没有箭头,不允许随意转移控制
C PAD图是一种由右往左展开的二维型结构
D过程设计语言是用正文形式表示数据和处理过程的设计工具
2、黑盒测试是从( )观点出发的测试,白盒测试是从( )观点出发的测试。
A开发人员、管理人员
B用户、管理人员
C用户、开发人员
D开发人员、用户
3、软件测试可能发现软件中的( ),但不能证明软件( )。
女生学软件工程好吗
A所有错误、没有错误
B错误、没有错误
C逻辑错误、没有错误
D设计错误、没有错误
4、软件测试是软件开发过程中重要和不可缺少的阶段,测试过程的多种环节最基础的是( )。
A集成测试
B单元测试
C系统测试
D验收测试
5、对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。
A结合
B隐藏
C封装
D抽象
6、软件危机的主要原因有( )。
①软件本身的特点
②用户使用不当
③软件产品质量靠不住
④软件不可维护
⑤软件开发的方法不正确
A③④
B①②④
C①⑤
D①③
7、软件生命周期模型有多种,下列选项中,( )不是软件生命周期模型。
A螺旋模型
B增量模型
C功能模型
D瀑布模型
8、瀑布模型的最主要缺点是( )。
A用户参与开发
B由文档驱动,用户难以正确认识软件产品
C开发过程呈线性
D用户下开发者难沟通
9、可行性研究实质上要进行一次( )的系统分析和设计的过程。
A详细的
B全面的
C压缩简化的
D彻底的
10、软件需求规格说明书的内容不应包括对( )的描述。
A主要功能
B算法的详细过程
C用户界面及运行环境
D软件的性能
四、简答(共3题,共30分)
1、决定软件可维护性的因素有哪些?(10分)
2、一个程序能既正确又不可靠吗?解释自己的答案。(10分)
3、为什么要进行需求分析?通常对软件系统有哪些需求?(10分)
五、画出下面伪代码的PAD图和盒图(18分)
六、假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件生命周期模型?为什么?(10分)
七、银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
请用数据流图描绘本系统的功能。(12分)
八、应用题(16分)
为开发一个铁路自动售票系统,请完成以下面的数据流图和数据字典,即从供选择的答案中选出A、B、C、D和E的内容,并给出F、G和H的内容。(每项2分,共16分)
(1)数据流图:
供选择的答案为车次表、接受、售票记录、购票请求、拒绝。
(2)数据字典:
购票请求= F
乘车日期= G
到站= 4{字母}20
字母=["A"··"Z"|"a"··"z"]
车次=”001”··”999"
拒绝=[无车次|无票]
无车次="no train"
无票="no ticket"
接受="to sale"
已收款="yes"
车次表={起站+止站+车次}
起站=止站=到站
售票记录={乘车日期十起站+止站+车次+座号}
座号=车厢号+座位号
车厢号=“01”….”20”
座位号= H
注:
①“01”··"20”表示数字范围从01到20;
②乘车日期应给出年、月、日,例如,2017/06/21;
③假设每个车厢有100个座位
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论