《软件工程》期末复习题及答案
1.运用所掌握的知识,通过抽象,给出该系统的结构,这就是
A.系统建模 B.软件开发 C.问题求解 D.验证确认 3.结构化分析方法给出了一种能表达功能模型的工具是( )。
A.HIP0图 B.PAD图 C.N-S图 D.DFD图
7.在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是( )。
A.可划分为2个有效等价类,2个无效等价类 B.可划分为1个有效等价类,2个无效等价类 C.可划分为2个有效等价类,1个无效等价类 D.可划分为1个有效等价类,1个无效等价类
10.是把对象的属性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节;继承是指子类可以自动拥有父类的全部属性和服务;( )是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。
A.继承 B.多态 C.消息 D.封装 11.分层DFD中父子平衡是指( )。
A.父加工的数据流数目与子图中数据流数目相同 B.父图应包含子图中的全部数据流
C.子图应包含父图中的全部数据流 D.父加工和子图的输入数据和输出数据应分别保持一致 2.在建模过程中,可用以描述加工的工具是( )。
A.数据流 B.判定树 C.数据字典 D.数据存储 13.以下软件生存周期的活动中,要进行软件结构设计的是( )。
A.测试用例设计 B.概要设计 C.程序设计 D.详细设计 16.CMMI 成熟度等级中的第四级为( )。
A.已定义级 B.已定量管理级 C.持续优化级 D.已重复 17.以下选项中,最适合于用交互式计算机软件解决的问题是( )。
A.非结构化决策问题 B.半结构化决策问题 C.结构化决策问题 D.确定性问题
18.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。不是系统测试的内容( )。
A.路径测试 B.可靠性测试 C.安装测试 D.安全测试 19.项目管理工具中,将网络方法用于工作计划安排的评审和检查的是( )。 A.Gantt图 B.PERT网图 C.因果分析图 D.流程图 20.选择软件开发工具时,应考虑功能、( )、稳健性、硬件要求和性能、服务和支持。
A. 易用性 B. 易维护性 C. 可移植性 D. 可扩充性
21.( )表示了系统与参与者之间的接口。在每一个用例中,该对象从参与者处收集信息,并将之转换为一种被实体对象和控制对象使用的形式。 A. 边界对象
B. 可视化对象
C. 抽象对象 D. 实体对象
22.LOC 是软件规模的一种量度,它表示( )。
A.软件功能数 B.源代码行数 C.每单位成本数 D.工作量
23.面向对象分析需要找出软件需求中客观存在的所有实体对象(概念),然后归纳、抽象出实体类。( )是寻找实体对象的有效方法之一。
A.会议调查 B.问卷调查 C.电话调查 D.名词分析 24.( )详细描述软件的功能、性能和用户界面,以使用户了解如何使用软件。 A.概要设计说明书 B.详细设计说明书 C.用户手册 D.用户需求说明书
21.软件的测试通常分单元测试、组装测试、确认测试、系统测试四个阶段进行。( )属于确认测试阶段的活动。
A.设计评审 B.代码审查 C.结构测试 D.可靠性测试
24.RUP的设计方法给出用于表达设计模型中基本成分的术语,包括子系统、设计类、接口和( )。 A.构件 B.用况细化 C.体系结构描述 D.部署模型
25.有效性测试的目标是发现软件实现的功能与需求规格说明书不一致的错误,通常采用的测试技术是( )。
A.黑盒测试技术 B.用况测试技术 C.回归测试技术 D.性能测试技术 26.李某大学毕业后在 M 公司销售部门工作,后由于该公司软件开发部门人手较紧,李某被暂调到该公司软件开发部开发新产品,2周后,李某开发出一种新软件。该软件著作权应归( )所有。 A. 李某 B. M 公司 C. 李某和 M 公司 D. 软件开发部 9.根据RUP实现活动,输入为构件和接口,活动为完成单元测试,则输出为 A.接口 B.用况 C.子系统 D.构件 10.下列关于软件测试的说法正确的是
A.为了证明程序员的正确 B.是不受时间约束的 C.测试的执行是有规程的 D.不需要工具支持
11.假设某网站发帖数目的输入范围为0—20,则根据黑盒测试中的等价类划分技术,下列 划分正确的是
A.可划分为2个有效等价类,2个无效等价类 B.可划分为1个有效等价类,2个无效等价类 C.可划分为2个有效等价类,1个无效等价类 D.可划分为1个有效等价类,1个无效等价类
12.一般来说,集成测试是以主控模块作为测试
A.驱动模块 B.桩模块 C.类模块 D.对象模块
13.软件基本过程是指那些与软件生产直接相关的活动集,可分为获取过程、开发过程、运 行过程、维护过程和
A.需求定义过程 B.需求获取过程 C.设计过程 D.供应过程
14.在常见的软件开发模型中,适用于在项目开始时可以仅对一个或两个需求追加投资,发 布可交付版本块,可减少用户需求变更的模型是
A.增量模型 B.瀑布模型 C.螺旋模型 D.喷泉模型 15.CMMI组织过程改善的成熟度等级中的第四级是
A.已执行级 B.已管理级 C.已定量管理级 D.已定义级
1.软件开发的本质概括为不同抽象层术语之间以及不同抽象层处理逻辑之间的_映射关系_。 2.对于单个需求必须具有的基本性质:必要的、_无歧义的_、可测的、可跟踪的以及可测量的。 3.以一种基于数学概念的符号体系来编制需求规约,则称为____形式化____需求规约。 4.结构化分析方法给出了一种能表达系统功能模型的图形化工具是___DFD __。
5.如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则该模块的内聚是____顺序内聚____。
6.在一个软件结构中,同一个层次上模块总数的最大值是该结构的__宽度___。
7.典型的详细设计工具有程序流程图、盒图、问题分析图和__ PDL(程序设计语言)__。 9.软件测试是一个有程序的过程,包括__测试设计__、测试执行以及测试结果比较等。
10.瀑布模型规定了各开发阶段的活动:系统需求、软件需求、_需求分析_、设计、_编码_、测试和运行。 11.对于一个项目而言,_过程管理计划_是项目管理计划的主体,一般还可能存在一些支持生存周期过程具有重要作用的其他计划,包括软件工程管理计划、软件配置管理计划、软件质量保证计划、__软件验证和确认计划__和软件度量计划。
12.CMMl模型基于过程途径思想,通过过程把软件质量3个支撑点:受训的人员、_____规程和方法___、工具和设备进行集成,以开发所期望的系统/产品。
13.软件生产率、软件质量满足不了社会发展的需求,并成为其发展的制约因素,这一现象被称为__软件危机__。
2.对于单一需求,必须具有的基本性质:必要的、无歧义的、__可测的__、可跟踪的以及_可测量的_。 3.需求人员通过提出问题/用户回答的方式,直接询问用户需要的初始发现需求技术是_交流_。 4.在结构化分析方法中,表示“数据的静态结构”的术语是____数据存储___。
5.把要解决问题的过程分解为多个步骤或阶段,每一步是对上一步结果的细化,以接近问题的解法,该方法称为___逐步求精___。
7.如果在一个时间段内,整体类的实例中至少包含一个部分类的实例,并且该整体类的实例负责创建和消除
部分类的实例,特别是如果整体类的实例和部分类的实例具有相同的生存期,那么这种关联关系称为____组合____。
8.软件测试是一个有程序的过程,包括测试设计、测试执行以及__测试结果比较__等。 9.软件基本过程指那些与软件生产直接相关的活动集,可分为获取过程、供应过程、开 发过程、_____运行过程_______和_____维护过程_______。
11.使累计的经济效益等于最初的投资费用所需要的时间称为_____投资回收期____。 12.软件工程研究的主要内容是软件开发技术和 ___软件工程管理___两个方面。
1.假设某信息系统有如下功能:
(1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
(2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取文件。 请画出该系统的数据流图,并指出其包含的元素。
① 原始分 ② 标准分 ③招生方案④录取线
2.某系统体系结构如图所示,完成如下要求:(1)求出该体系结构的深度;(2)求出该体系结构的宽度;(3)求出其中模块h的扇出和模块r的扇入。
sadipjekqbfglchmrno 1该体系结构的深度为5; 2.该体系结构的宽度为7;
3.模块h的扇出为4; 4模块r的扇入为4。
解析:在-个软件结构中,深度表示其控制的层数,顶层模块到最底层模块的层数。宽度是指同-个层次上模块总数的最大值。扇出指一个模块直接调用的下级模块数目。扇入表明有多少个上级模块直接调用它,即一个模块的直接上级模块个数。
3.输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出”不能构成三角形”,要求:(1)用程序流程图表示该问题的算法;(2)计算程序复杂度;(3)设计路径覆盖的测试用例。
4.用户A在北京用E_mail客户端软件给在深圳的用户8发邮件;系统提醒用户B有新邮件;用户8接收邮件。请根据需求:(1)写出该系统包含的用况和角色;(2)画出该系统的用况图。
5.某网站发帖子系统有如下功能:(1)记录发帖内容:访客在表单中输入文字,系统进行检查,无误后将内容存入文件;(2)显示发帖内容:读出文件,按一定格式显示在屏幕上请画出该系统的数据流图,并指出其包含的元素。
6.请用白盒测试法对题39图所对应的程序流程图进行测试。要求从题39表的候选答案中分别找出满足语句覆盖、分支覆盖、条件覆盖、条件组合和路径覆盖5种覆盖标准的最少测试用例。
(1)语句覆盖:⑤(2)分支覆盖:⑤(3)条件覆盖:④(4)条件组合覆盖:⑨(5)路径覆盖:⑤ 试题三
阅读下列说明和数据流图,回答问题1和问题3,将解答填入答题纸的对应栏内。 【说明】
某指纹门禁系统结构如图3-1所示,其主要部件有:主机(MainFrname)、锁控器(LockController)、指纹采集器(FingerReader)和电控锁(Lock)。
(1) 系统中的每个电控锁都有一个惟一的编号。锁的状态有两种:“已锁住”和“未锁住”。 (2) 在主机上可以设置每把锁的安全级别以及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级别并且锁处于“已锁住”状态时,才能将锁打开。
(3) 用户的指纹信息、开锁权限以及锁的安全级别都保存在主机上的数据库中。
(4) 用户开锁时,只需按一下指纹采集器。指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹并将指纹信息发送到主机,主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于“已锁住”状态,则将锁打开;否则系统报警。
该系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图3-2是该系统类图的一部分;系统的动态行为采用UML序列图表示,图3-3是用户成功开锁的序列图。
【问题1】(6分)
图3-2是该系统类图的一部分,依据上述说明中给出的术语,给出类Look的主要属性。 锁的编号、安全级别、锁的当前状态 【问题2](5分)
依据上述说明中给出的词语,将图3-3中的(1)~(5)处补充完整。
(1) 中断事件(2)读取用户指纹(3)读取用户开锁权限(4)读取锁的安全级别(5)判断用户是否有权限开锁或用户是否可以开锁 【问题3】(4分)
组装(Composition)和聚集(Aggregation)是UML中两种非常重要的关系。请说明组装和聚集分别表示什么含义?两者的区别是什么?
组装和聚集都表示实例之间的整体/部分关系。组装是聚集的一种形式。聚集是概念性的,,只是区分整体与部分。组装具有很强的归属关系而且整体 与部分的对象生存周期是一致的。或者回答:如果没有 成分对象组装对象也不存在;在任何时候每个给定的成分对象只能是组装对象的组成部分。 试题三
阅读下列说明和 UML 图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 【说明】
某企业为了方便员工用餐,为餐厅开发了一个订餐系统(COS:Cafeteria Ordering
System),企业员工可通过企业内联网使用该系统。 企业的任何员工都可以查看菜单和今日特价。 系统的
顾客是注册到系统的员工,可以订餐(如果未登录,需先登录)、注册工资支 付、预约规律的订餐,在特殊情况下可以覆盖预订。
餐厅员工是特殊顾客,可以进行备餐、生成付费请求和请求送餐,其中对于注册工资 支付的顾客生成付费请求并发送给工资系统。
菜单管理员是餐厅特定员工,可以管理菜单。 送餐员可以打印送餐说明,记录送餐信息(如送餐时间)以及记录收费(对于没有注
册工资支付的顾客,由送餐员收取现金后记录)。 顾客订餐过程如下:
1. 顾客请求查看菜单; 2. 系统显示菜单和今日特价; 3. 顾客选菜;
4. 系统显示订单和价格; 5. 顾客确认订单; 6. 系统显示可送餐时间;
7. 顾客指定送餐时间、地点和支付方式;
8. 系统确认接受订单,然后发送 Email 给顾客以确认订餐,同时发送相关订餐信息通 知给餐厅员工。 系统采用面向对象方法开发,使用 UML 进行建模。系统的顶层用例图和一次订餐的 活动图初稿分别如图 3-1 和图 3-2 所示。 【问题 1】(2 分)
根据【说明】中的描述,给出图 3-1 中 A1 和 A2 所对应的参与者。 A1:工资系统A2:菜单管理员 【问题 2】(8 分)
根据【说明】中的描述,给出图 3-1 中缺少的四个用例及其所对应的参与者。
本题中,由“任何员工都可以查看菜单和今日特价\"可知,图中缺少用例查看今日特价,对应参与者是员工;由“系统的顾......注册工资支付、...可知,图中缺少用例注册工资支付,对应参与者是顾客和工资系统;由”餐厅员工.....可以进行备餐、生成付费请....发送给工资系统”可知,图中缺少用例\"生成付费请求”,对应的参与者是
餐厅员工和工资系统;由“菜单管理员是餐厅特定员工,可以管理菜单”可知,图中缺少用例管理菜单,对应的参与者是菜单管理员。需要注意的是,在注册工资支付所对应的参与者中,虽然没有明确说明要和工资系统交互,但是由“对于注册工资支付的顾客生成付费请求并发送给I资系统”可知,工资支付是由工资系统控制,所以注册也需要和工资系统交互。 【问题 3】(4 分)
根据【说明】中的描述,给出图 3-2 中(1)~(4)处对应的活动名称或图形符号。 (1) (2)登录 (3) 或
(4)同第三 【问题 4】(1 分)
指出图 3-1 中员工和顾客之间是什么关系,并解释该关系的内涵。
泛化关系(一般/特殊关系、继承关系)。泛化关系描述了一个参与者可以完成另一个参与者同样的任务,并可补充额外的角色功能。
图 3-1 COS 系统顶层用例图
图 3-2 一次订餐的活动图
试题三
阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【说明】
某银行计划开发一个自动存提款机模拟系统(ATM System)。系统通过读卡器CardReader)读取ATM卡 ; 系统与客户(Customer )的交互由客户控制台(CustomerConsole)实现;银行操作员(Operator)可控制系统的启动(System Startup)和停止(System Shutdown);系统通过网络和银行系统(Bank)实现通信。当读卡器判断用户已将 ATM 卡插入后,创建会话(Session)。会话开始后,读卡器进行读卡,并要求客户输
入个人验证码(PIN)。系统将卡号和个人验证码信息送到银行系统进行验证。验证通过后,客户可从菜单选择如下事务(Transaction):
1. 从 ATM 卡账户取款(Withdraw); 2. 向 ATM 卡账户存款(Deposit); 3. 进行转账(Transfer);
4. 查询(Inquire)ATM 卡账户信息。
一次会话可以包含多个事务,每个事务处理也会将卡号和个人验证码信息送到银行系统进行验证。若个人验证码错误,则转个人验证码错误处理(Invalid PIN Process)。每个事务完成后,客户可选择继续上述事务或退卡。选择退卡时,系统弹出 ATM 卡,会话结束。
系统采用面向对象方法开发,使用 UML 进行建模。系统的顶层用例图如图 3-1 所示,一次会话的序列图(不考虑验证)如图 3-2 所示。消息名称参见表 3-1。 表 3-1 可能的消息名称列表
名称 cardInserted( ) 说明 ATM 卡已插入 performSession( ) readPIN( ) creat(atm, this, card, pin) card ejectCard( ) 【问题 1】(7 分)
根据【说明】中的描述,给出图 3-1 中 A1 和 A2 所对应的参与者,U1 至 U3 所对应的用例,以及该图中空 (1) 所对应的关系。(U1 至 U3 的可选用例包括:Session、Transaction、Insert Card、Invalid PIN Process 和 Transfer) 【问题 2】(6 分)
根据【说明】中的描述,使用表 3-1 中的英文名称,给出图 3-2 中 6~9 对应的消息。 【问题 3】(2 分)
解释图 3-1 中用例 U3 和用例 Withdraw、Deposit 等四个用例之间的关系及其内涵。
ATM 卡信息 弹出 ATM 卡 doAgain 执行会话 读取个人验证码 readCard( ) PIN 读卡 个人验证码信息 为当前 ATM 创建会话 执行下一个事务 名称 说明 performTransaction( ) 执行事务 为当前会话创建事务 create(this)
图 3-1 ATM 系统顶层用例图
图 3-2 一次会话的序列图(无验证消息) 试题三
阅读下列说明和图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 【说明】
在线会议审稿系统(ORS:Online Reviewing System)主要处理会议前期的投稿和审稿事务,其功能描述如下:
1.用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。
2.作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置(存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。
3.审稿人登录后可设置兴趣领域、审阅稿件给出意见以及罗列录用和(或)拒绝的稿件。
4.会议委员会主席是一个特殊审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件以及关闭审稿过程。其中关闭审稿过程须包括罗列录用和(或)拒绝的稿件。
系统采用面向对象方法开发,使用 UML 进行建模。在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。参与者名称、用例和活动名称分别参见表 3-1、表 3-2 和表 3-3。系统的部分用例图和提交稿件的活动图分别如图 3-1 和图 3-2 所示。 表 3-1 参与者列表
名称 User Reviewer
表 3-2 用例名称列表
名称 login submit paper close reviewing process set preferences list 说明 登录系统 提交稿件 关闭审稿过程 高定兴趣领域 罗列录用或/名称 register browse review results assiagn paper to reviewer enter review 说明 注册 浏览稿件审阅结果 分配稿件给出意见 审阅稿件给出意见 说明 用户 审稿人 名称 Author Pcchair 说明 作者 委员会主席 accepted/rejected 扣拒绝的稿papers
表 3-3 活动名称列表
件 browse submitted papers 浏览提交的稿件 名称 select paper location elect subject group 说明 选择稿件位置 名称 说明 upload paper 上传稿件 选择主题类型 send notification 发送通知 enter title and 输入标题和摘abstract A3
A4 u2 u3 Browse A2 set enter A1 register login 《exted》 要 submit paper review u1 (2) close reviewing process 图 3-1 ORS 用例图
图 3-2 提交稿件过程的活动图
作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置(存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知 【问题 1】(4 分)
根据【说明】中的描述,使用表 3-1 中的英文名称,给出图 3-1 中 A1~A4 所对应的参与者。 User;Author;Reviewer;Pcchair; 【问题 2】(3 分)
根据【说明】中的描述,使用表 3-2 中的英文名称,给出图 3-1 中 U1~U3 所对应的用例。list accepted/rejected papers;browse submitted papers;login; 【问题 3】(4 分)
根据【说明】中的描述,给出图 3-1 中(1)和(2)所对应的关系。 包含;包含 【问题 4】(4 分)
根据【说明】中的描述,使用表 3-2 和表 3-3 中的英文名称,给出图 3-2 中 Action1~Action4 对应的活动。
enter title and abstract;elect subject group;select paper location ;upload paper
因篇幅问题不能全部显示,请点此查看更多更全内容