问答题
阅读以下关于软件开发的叙述,在回答问题1至问题3。
某软件公司接受公司A委托开发一个软件任务,该任务由张工负责。张工预计在4周内完成对系统的需求分析,并形成需求规格说明书。张工委派了项目组的小刘来负责需求信息的获取。
两周后,小刘向张工汇报了他进行需求分析的过程及结果。小刘采用问卷调查的方式向公司A的50名工作人员搜集信息。他首先准备了问卷的初稿,并请公司A的相关管理人员进行了测试和修正:然后将问卷分发给公司A的每位工作人员,并要求他们在一周内返还问卷。但到目前为止,小刘只收回了7份问卷。小刘认为自己是完全按照问卷调合的步骤和要求实施的,而问卷的返还率仍然很低。张工听完后,给小刘分析了失败的原因,并提出了—些能够提高问卷返还率的建议。
但是为了不耽误项目的进度,张工决定采用JRP (Joint Requirements Planning)的方法再次进行需求调查,张工作为JRP的主持人。最终在第4周完成了需求规格说明书,并决定了系统后续阶段的开发计划,如图2-1所示。
该项目组除了张工之外,还有2名全职的开发人员,可以承担项目中的任何任务,并且承担同一任务的开发人员总是在一起工作。预计的开发时间中已经包含了编写文档的时间。张工决定采用迭代模型,在160天内完成这三个模块的设计、实现与测试。
问答题
【问题1】
用150字以内的文字,说明张工给小刘提出的提高问卷返还率的可能措施。
【正确答案】
【答案解析】为了提高问卷返还率,可采取以下措施: (1)向所有的工作人员解释问卷的目的,以及如何使用这些信息: (2)说明这份问卷是公司的每个工作人员都要回答的: (3)拜托相关领导督促他所管辖的工作人员回答问卷,并及时返还: (4)尽量参加一次这个公司的全体会议,在会议上解答工作人员们提出的问题,并解释这些信息的用处; (5)更改问卷中的问题,尽量减少回答问卷所花费的时间; (6)设置一些奖品或奖励,激励大家及时返还问卷。 试题二 [分析] 本题考查的是软件开发中的需求分析及任务安排相关的知识。 收集系统需求的方法有很多种,问卷调查是其中使用得较多一种。它的优点是:可以较为快速地收集信息;收集信息所花费的成本较低:由于问卷调查是不记名的,大多数人可能会给出真实的反馈:而问卷调查的结果也比较好整理和统计。它的一个较大的缺点是,问卷返还率通常会比较低。所以在采用问卷调查的方式收集需求时,除了组织适当的问题,选择合适的调查人群之外,一定要事先考虑到如何解决问卷返回率低的问题。为了提高问卷返回串,通常可以采用以下措施:①向所有的工作人员解释问卷的目的,以及如何使用这些信息;②说明这份问卷是公司的每个工作人员都要回答的;③拜托相关领导督促他所管辖的工作人员回答问卷,并及时返还:④尽量参加一次这个公司的全体会议,在会议上解答工作人员们提出的问题,并解释这些信息的用处;⑤更改问卷中的问题,尽量减少回答问卷所花费的时间:⑥设置一些奖品或奖励,激励大家及时返还问卷。 JRP是另外一种常用的需求获取方法。JRP基本思想是通过召开一系列高度结构化的分组会议,快速地分析问题、定义需求。它是JAD (Joint Application Development)技术的一个子集。JRP的主要意图是收集需求,而不是对需求进行分析和验证。实施JRP时应把握以下主要原则:①在JRP实施之前,应制定详细的议程,并严格遵照议程进行;②按照既定的时间安排进行:③尽量完整地记录会议期间的内容;④在讨论期间尽量避免使用专业术语:⑤充分运用解决冲突的技能;⑥会议期间应设置充分的间歇时间:⑦鼓励团队取得一致意见;⑧保证参加JRP的所有人员能够遵守事先约定的规则。
问答题
【问题2】
请用300字以内文字简要说明JRP的基本思想以及保证JRP顺利实施的基本原则。
【正确答案】
【答案解析】JRP基本思想是通过召开一系列高度结构化的分组会议,快速地分析问题、定义需求。它是JAD (Joint Application Development)技术的一个子集。JRP的主要意图是收集需求,而不是对需求进行分析和验证。 实施JRP时应把握以下主要原则: (1)在JRP实施之前,应制定详细的议程,并严格遵照议程进行: (2)按照既定的时间安排进行; (3)尽量完整地记录会议期间的内容; (4)在讨论期间尽量避免使用专业术语; (5)充分运用解决冲突的技能; (6)会议期间应设置充分的间歇时间; (7)鼓励团队取得一致意见; (8)保证参加JRP的所有人员能够遵守事先约定的规则。
问答题
【问题3】
假设:
(1)整个开发实施两轮迭代:
(2)每个任务都被划分为2个子任务(例如,实现可以划分为实现1和实现2),对应两轮迭代;
(3)完成每个子任务需要花费24人天;
(4)整个系统的集成测试、改正错误及验证需要花费48人天:
(5)第一轮迭代结束时,形成版本v0.5:第二轮迭代结束时,整个系统的开发任务全部完成,形成版本v1.0。
根据上述假设,给出采用迭代模型开发的各里程碑及其完成时间(标出在第几天完成)与交付产品。
【正确答案】
【答案解析】第24天:完成用户界面的设计1、控制系统的设计1和控制系统的实现1。 第48天:完成硬件抽象层的设计1、用户界面的实现1和控制系统的测试1。 第72天:完成硬件抽象层的实现1、测试1和用户界面的测试1。 第一次迭代完成,交付产品:系统的v0.5(所有构件的子任务1都完成)。 第96天:完成用户界面、控制系统、硬件抽象层的设计2。 第120天:完成控制系统、硬件抽象层的实现2;用户界面的测试2。 第144天:完成硬件抽象层的测试2、用户界面的实现2,用户界面的测试2。 交付产品:系统的α版(所有构件的子任务2都完成)。 第160天:完成集成测试、用户验证及改正错误。 第二轮迭代完成,交付产品:系统的v1.0。 [分析] 考查的是对项目计划的安排。根据题目中给出的数据,需求分析结束之后的开发计划安排如下。 第24天:完成用户界面的设计1、控制系统的设计1和控制系统的实现1。 第48天:完成硬件抽象层的设计1、用户界面的实现1和控制系统的测试1。 第72天:完成硬件抽象层的实现1、测试1和用户界面的测试1。 第一次迭代完成,交付产品:系统的v0.5(所有构件的子任务1都完成)。 第96天:完成用户界面、控制系统、硬件抽象层的设计2。 第120天:完成控制系统、硬件抽象层的实现2;用户界面的测试2。 第144天:完成硬件抽象层的测试2、用户界面的实现2,用户界面的测试2。 交付产品:系统的α版(所有构件的子任务2都完成)。 第160天:完成集成测试、用户验证及改正错误。 第二轮迭代完成,交付产品:系统的v1.0。