线 _ _ _ _ _ _——— _ _— _ _ __——此_ _— _ _— 姓名 _ _——— _ _— __过_ _线— _ ___— __— _ _ 学号——— _—超 _ _ __—— __— __封 _ __— ___——得 _— 班级 _—— __— __— _ _ _ _ __密——不__— _ _ _—— 专业— _— _ _ _ _ __——— __—题 _ _ __—— __— _院— 学— 答
成都学院(成都大学)考试试卷
A.需求分析 B.源程序 C.概要设计 D.详细设计
8.随着软硬件环境变化而修改软件的过程是( B )。
A.校正性维护 B.适应性维护
课程名称:__软件规范、测试与维护_ __(开卷/闭卷) __闭卷_ 2011 _-_2012_ C.完善性维护 D.预防性维护
_学年 第__2 __学期
9.在白盒测试技术测试用例的设计中,( A )是最弱的覆盖标准。 A.语句覆盖 B.路径覆盖
C.条件组合覆盖 D.判定覆盖 题号 一 二 三 四 五 六 七 八 九 十 合计 统分人 10.结构化程序设计的一种基本方法是( C )。 签 名 A.筛选法 B.迭代法 得 C.逐步求精法 D.递归法 分 11.引起软件改变的原因主要有(D)。
一、 填空题(在括号内填写正确的答案,每空1分,共10
A.运行环境变化 B. 需求变化 C.系统有错 D.以上全部
得 分 分)
12.(b)不符合软件测试原则。
请根据表格左边的分类名称,给右边的分类内容填写对应
A.对每个测试结果进行检查,不漏掉已经出现的错误迹象
阅卷人 的编号。
B.程序员应该仔细测试自己编写的程序代码 C.程序员要避免测试自己编写的程序代码 编号 分类名称 编号 分类内容 D.测试工作越早开始越好 A 详细设计工具 C 加工 13.面向对象的开发方法中,( C )将是面向对象技术领域内占主导地位的标准建模语言。A PAD图 A.Booch方法 B.Coad方法 C.UML语言 D.OMT方法 B 费用估计方法 B 代码行技术 14.瀑布模型本质上是一种( A )。 D Jackson方法 A.线性顺序模型 B.顺序迭代模型 C 数据流图 C 数据流 C.线性迭代模型 D.及早见产品模型 A N-S图 15.软件维护产生的副作用,是指( C )。 D 面向数据结构的B 任务分解技术 A.开发时的错误 B.隐含的错误 分析设计方法 A 程序流程图 C.因修改软件而造成的错误 D.运行时误操作 E 形式化方法 C 数据存储文件 16.软件详细设计的主要任务是确定每个模块的( A )。 E Z语言 A.算法和使用的数据结构 B.外部接口
C.功能 D.编程 二、 单项选择题,请从四个可选项中选择一个正确答案。(共
17.软件结构图的形态特征能反映程序重用率的是( C )。 得 分 20小题,每小题1分,共20分)
A.深度 B.宽度 C.扇入 D.扇出
18.为了提高模块的独立性,模块内部最好是( C )。 阅卷人
A.逻辑内聚 B.时间内聚
C.功能内聚 D.通信内聚 1.如果说用例F被用例T扩展,意思是(a)。
19.软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。 A.F是一个一般用例,T是一个特殊用例B.F是一个特殊用户,T是一个一般用例
A.调用关系 B.组成关系 2.软件生命周期中所花费用最多的阶段是( D )。
C.链接关系 D.顺序执行关系 A.详细设计 B.软件编码 C.软件测试 D.软件维护
20.数据流图(DFD)中的每个数据处理至少需要( D )。 3.需求分析中开发人员要从用户那里了解( A )。
A.一个输入数据流 B.一个输出数据流 A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模
C.一个输入或者输出数据流 D.一个输入数据流和一个输出流 4.测试的关键问题是( D )。
三、 阅读以下说明,请按要求答题(共2小题,第1小题6分,A.如何组织对软件的评审 B.如何验证程序的正确性
得 分 C.如何采用综合策略 D.如何选择测试用例
第2小题4分,共10分)。
5.( D )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过
阅卷人 程,它包括方法、工具和过程三个要素。
【说明】如果你是一个程序员,可能常常为不能按时完成任务而 A.软件过程 B.软件测试
C.软件生命周期 D.软件工程方法学
苦恼。如果你是一个项目经理,可能会觉得开发符合预算和进度要求的软件简直难于上
6.由于面向对象中的继承和消息机制,使得软件测试(b)。
青天。实际上,软件项目常常严重超期或超出预算仍是困扰着绝大多数软件机构的难题。A.更加简单 B.更加复杂 C.没变 D.不确定
7.单元测试的测试用例主要根据( D )的结果来设计。
据美国一份评估报告显示,17个主要的国防部软件合同中,平均28个月的进度计划推
第 1 页 共 5 页
迟了20个月才完成。一个4年应该完成的任务,7年还未提交,其中没有一个项目按3项目以外事情的干扰
时完成。由于存在软件问题,B1轰炸机的部署被推迟了,同样的原因,580亿美元的如果一个项目的开发人员经常被项目以外的事情所干扰、牵制,不能全身心地投入到项A12飞机计划也被部分取消了。持续了二三十年的软件危机为什么愈演愈烈?软件开发目开发之中,常常会因此而影响了进度。这种现象在规模较小的软件企业中比较多见,一个开发人员经常身兼多职,甚至同时参与多个项目的开发。如果其它项目急于完工,则该为什么如此之难?
项目只好被拖延。 【问题】1、 请分析上述说明中的案例,简述什么原因导致了以上情况,应该用什么途径4 项目管理的混乱
消除(6分)。 软件企业内部项目管理的混乱似乎是一个世界性的通病。卡耐基梅隆大学软件工程研究所(SEI)建立了一套标准,用来衡量软件企业从混乱到持续发展的这种状态,这就是原因所在
就是CMM五级标准。第一级最为混乱,每升高一级情况都有所好转,第五级状况最好。 到2001年1月底,全世界只有1654家软件公司和机构通过了不同级别的认证。从下图可以看 1软件极大的复杂性
出,这是一个金字塔型的分布状态,图上只显示了二级和二级以上的企业,而处在
大多数大型软件软件产品由几十甚至几百万行源代码构成,例如:Windows95操作系统由大约1100万行代码组成。每一行代码都可能影响到程序的其它部分,并且各个部分之间都可能互相影响。这样一个错综复杂的巨大系统当中,每一个小小的错误都可能导致整个系统崩溃。有些大型软件,例如Windows,可能是人类曾经建造过的最复杂的事物之一,从古至今最复杂的建筑都无法与之相比。 2软件高度的不确定性
一个软件项目从一开始就存在许多不确定性因素。其一:用户需求很难确定。这是因为软件开发者很难详细了解用户的需求,甚至用户在看到产品之前也不清楚自己到底需要什么,所以从项目开发的自始至终都可能会有新的需求提出,致使系统结构不断修改,最终面目全非。其二:设计不完全可以预测。有时,一个设计时认为可行的方案,在实现时可能行不通,或者最初的设计方案存在很大的缺陷而没有及时发现,或者突然一个设计时没有料到的技术难点阻挡了项目的进度。从设计到实现实际上有着很大的不可预测性。其三:用户需求不断变化,如果最初的用户需求没有了解的很清楚,可能整个项目很快就会陷在不断变化的需求之中不能自拔。其四:客观条件的不确定性。在项目的进展过程中,
可能会有人员的流动,可能会有资源的调整,可能会有这样或那样的客观条件的限制而阻金字塔最低层的那些一级企业的数目不知有多少个1654家!所以从世界范围来看,软件管挡了项目的正常进行。在这样高度的不确定之中,在较早阶段精确估计一个项目不只是很理的总体水平还是很低的。 难地,甚至是不可能的。
软件开发造成工期延误的原因 5 开发人员的不足
1开发人员的过分乐观
全世界对于人才的竞争可能在IT界表现的最为激烈。一方面人才的绝对数量不足导致了许多企业不能招到自己急需的人才;另一方面人才的流动也导致了企业很容易失去自己 许多开发人员倾向于一切都会进展顺利,这种盲目的自信对于项目开发来说是不对的员工。一个项目如果缺少人手或人才频繁流动,将不能保证项目的正常进展。 的。如果按照最乐观的估计,可能绝大多数任务都不能按时完成,因为在软件开发中不确定因素实在太多了。对于任务的复杂性和难度,对于自己能支配的时间,对于可能的突发消除软件开发工期延误办法 事件的干扰等没有清楚的认识和估计,即使对自己的时间表作出保证,也可能常常无法按时交货。 1 对不确定性做好充分准备
2来自外部的压力
中国人都对《三国演示》中的赤壁之战非常熟悉,诸葛亮在赤壁埋伏了数路伏兵对曹操进行围追堵截,一招不行,还有下一招,对整个过程做了非常周密的准备和部署,所 作为项目的管理者或者客户都希望项目早日结束,因而为项目设置了一个个时间节以大获全胜。软件开发亦是如此,在项目展开的初期就应该对过程中可能会出现各种的情点, 这些时间节点可能设置的根本就不可能实现或者实现起来会有很大难度,但是开发人况有所准备,才不至于车到山前无路可走。
员为了按时完工只好加班加点,以最快的速度完成要求的功能,而对于系统结构的考虑就会放到次要的位置上去,这样就为今后程序的维护埋下了隐患。更可怕的是一个个bug会 2立足于产品的灵活性
随着压力的增大而产生,最后造成更大量的返工。程序就象程序员的孩子一样,每个人都希望自己的孩子茁壮成长,但是没有办法,多生快生就不能优生。
第 2 页 共 5 页
答 学院题 ________________专业不 ________________班级得 ________________超 学号过 ——————————————密——————————封—————————线—————————————________________姓名此 ________________ 线 线 _ _ _ _ _ _——— _ _— _ _ __——此_ _— _ _— 姓名 _ _——— _ _— __过_ _线— _ ___— __— _ _ 学号——— _—超 _ _ __—— __— __封 _ __— ___——得 _— 班级 _—— __— __— _ _ _ _ __密——不__— _ _ _—— 专业— _— _ _ _ _ __——— __—题 _ _ __—— __— _院— 学— 答
设计的灵活性是一个软件产品的灵魂。好的设计总是容易维护和升级,而不好的设以及借出、收回等公共服务。此外这些出版物还存在特有属性,如:书籍有作者属性、杂计却会为今后的维护带来很大的麻烦,甚至整个产品都可能被废弃重来。因此在软件开发志有日期属性、小册子有作者属性、电影录像带有电影名属性、音乐CD有演员名属性、录的的初期应花很大力气致力于整体设计,而不是急于编码,磨刀不误砍柴工,前期的投入音图书磁带有作者属性,报纸有日期属性。请为图书馆馆藏出版物建立用例模型用例图(4会获得高额回报的。 分)和对象模型(6分)。 3 提高软件管理水平 1、答案:用例图(4分)
ISO9000质量管理系统的标准系列是建立在这样一个前提上:如果生产和管理系统没有问题,那么其产品和提供的服务也就没有问题,这说明管理水平如何于产品的质量有至关重要的影响。 我认为一个软件企业提高管理水平的最好途径就是为自己制定一个目标,比如实现CMM的级别认证或者ISO9000质量体系认证,在对这些目标努力的过程中会逐渐提高自己的管理水平。 2、 简述软件生命周期阶段的划分及任务(4分)。
软件生命周期 生命周期任务 【评分标准】两个角色(1分),四个用例(2分),四条连线(1分)
可行性研究 问题是否可解 对象模型如图(6分) 需求分析 系统必须做什么
总体设计 系统应实现的功能 详细设计 怎样实现功能 编码 正确的程序 测试 满足要求的软件 维护 长期技术支持
四、简答题(共3小题,每小题10分,共30分) 【评分标准】父类(2分),子类(3分),继承关系(1分)利用结构化方法酌情给分。 得 分 1、面向对象的分析通常要建立三个模型,请问三个模型的作用?
阅卷人 1)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由用例图和场景描述组成。2)
对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。3)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。 2、一家图书馆藏有书籍、杂志、小册子、电影录像带、音乐CD、录音图书磁带和报纸等出版物,供读者借阅,具体包括借阅、归还、编目、上架四项功能,其中读者可以利用借阅和归还功能进行借阅和归还操作,管理员负责给出版物编目和上架功能。这些出版物具有出版物名、出版者、获得日期、目录编号、书架位置、借出状态和借出限制等公共属性,第 3 页 共 5 页
3、公司为本科以上学历的员工重新安排工作,原则如下:①如果年龄不满23岁,学历是DS01读者账号信息记录本科,一律考研生;②如果年龄在23岁至50岁之间,学历本科,任项目经理;③如果年登录确认龄在50岁以下,学历硕士,任命为中层领导;④如果年龄超过50岁,不做调整,请建立用户名、IPO01DS03图书信息记录判定表。 密码图书信息 3.答案: 条件 1 2 3 4 登录读者IPO03查询条件 <23 T 工作人员查询预订信息 [23,50] T 查询图书信息查询结果用户输入预订信息 <50 T F IPO02预订信息 本科 T T 预订图书DS02预订信息记录 研究生 T 保存预订信息 报考研究生 T 2、下面的程序段A被程序员误写成程序段B,请设计合适的测试用例发现其中的错误。 项目经理 T 程序段A 程序段B ?? ?? 中层领导 T { { 不变 T T=0; T=0;
if (A>=1)&& (B>=2) T=T+1; if (A>=1)&& (B>=2) T=T+1; 得 分 五、应用题(共3小题,每小题10分,共30分)
else T=T+2; else T=T+2; 1、根据你的理解,请为下面的数据流程图加上箭头,并把下列内
if (X>=90) &&(Y>=75) T=T+3; if (X>=90)&&(Y<75) T=T+3; 阅卷人 容添加到合适的位置:用户名/密码、用户输入预订信息、保存预else T=T+4; else T=T+4; 订信息、预订信息记录、登录确认、图书信息记录、图书信息、
} } 查询条件、查询结果、读者账号信息记录、预订信息。
printf(“d%\\n”,T); printf(“d%\\n”,T);
?? ??
DS01 答案
IPO01DS03条件组合:A>=1 B>=2; 登录A>=1 B>2 读者IPO03A<1 B>=2 工作人员查询预订信息A<1 B<2 查询图书信息X>=90 Y>=75 IPO02X>=90 Y<75 预订图书X<90 Y>=75 DS02 X<90 Y<75 答案:
由此获得测试用例:A=1 B=2; A=1 B=1;A=0 B=2;A=0 B=1;X=90 Y=75;X=90 Y=1;X=1 Y=75;X=1 Y=1;其中 X=90 Y=75能够发现错误。 评分标准:答案不唯一,不管用什么方法,给出的测试用例能够发现错误就给满分。参考答案为X=90 Y=75。 3、简化的图书馆图书信息管理系统有以下要求: (1)借书:输入读者借书证和书号,系统检查借书证是否有效;查阅借还书文件,检查该读者所借图书是否超过8本,若已达8本,显示信息“已经超出借书数量”,拒借;然第 4 页 共 5 页 答 学院题 ________________专业不 ________________班级得 ________________超 学号过 ——————————————密——————————封—————————线—————————————________________姓名此 ________________ 线
— 线 后查询是否有超过1个月期限的图书,若有则显示信息“有超期未还图书”;两项检查通过后,办理借书(检查库存、修改库存文件并将读者借书信息登入借还书文件)
(2)还书:输入书号和读者号,从借书文件中读出有关的借书记录,查阅所借日期,如其他?? 或者: 编号:DS03
名称:借还书信息
____ _ _—— _ _— _ _ __——此_ _— _ _— — 姓名 _ _—— _ _— __过_ _线— _ _— _ _— _ _ _ _ 学号——— _—超 _ _ __—— __— __封 _ __— ___——得 _— 班级 _—— __— __— _ _ _ _ __密——不__— _ _ _—— 专业— _— _ _ _ _ __——— __—题 _ _ __—— __— _院— 学— 答果超过1个月,作罚款处理。否则,修改库存文件与借还书文件。
请就以上需求画出DFD图(6分),并给出借还书文件的数据字典(4分)。 答案: 画数据流程图6分:考生可以有不同的答案,基本流程正确即可。
DS01读者信息DS02图书信息读者号读者借书信息IPO01读者号/IPO02IPO03图书号读者借书信息检查证件检查借书数量检查借书超期工作人员读者号/图书号读者号IPO05还书IPO04/图书号信息借书信息DS02图书信息还书办理借书手续DS03借还书信息还书借书信息信息借书信息读者号/图书号/处罚编号工作IPO06人员工作处罚信息处罚人员规则处罚DS05处罚规则处罚信息DS04处罚信息数据字典4分:可以用表格的方式说明也可以按照传统的数据字典格式,例如: 名称:借还书信息 编号:DS03
简述:保存读者的借还书记录
数据存储的组成:编号+读者号+图书号+借书日期+还书日期+操作员编号 存储方式:数据库表
访问频率:每日大约300条记录。
数据元素名称:编号 简称:NO
类型:CHAR 长度:6
取值范围:000000-999999 初始值:系统自动产生
名称 简称 键值 类型 长度 值域 初值 备注 编号 NO P 字符 6 自动 读者号 ReadNO 字符 11 图书号 BookNO 字符 13 借书日期 Bdate 日期 当前日期 还书日期 Rdate 日期 当前日期 操作员编号 OPNO 字符
第 5 页 共 5 页