收藏 分享(赏)

软件工程--理论、方法与实践课后习题答案.pdf

上传人:精品资料 文档编号:10597369 上传时间:2019-12-04 格式:PDF 页数:54 大小:2.09MB
下载 相关 举报
软件工程--理论、方法与实践课后习题答案.pdf_第1页
第1页 / 共54页
软件工程--理论、方法与实践课后习题答案.pdf_第2页
第2页 / 共54页
软件工程--理论、方法与实践课后习题答案.pdf_第3页
第3页 / 共54页
软件工程--理论、方法与实践课后习题答案.pdf_第4页
第4页 / 共54页
软件工程--理论、方法与实践课后习题答案.pdf_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、第1章 概述(习题与参考答案) 判断题 1. 由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。 () 2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。 () 3. 购买大多数计算机系统所需的硬件比软件更昂贵。 () 4. 大多数软件产品在其生命周期中不需要增强功能。 () 5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。 () 6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。 () 选择题 1. ( )因素促使计算机系统越来越复杂。 (D ) A. 计算机内存和存储容量上的巨大增长 B. 外部输入输出选项的更加多样性 C.

2、计算机体系结构方面的深刻变化 D. 以上所有选项 2. 下面的( )不再是现代软件工程师关注的问题。 (A ) A. 为什么计算机硬件的成本这么高? B. 为什么软件需要很长时间才能完成? C. 为什么开发一个软件的成本这么高? D. 为什么不能在产品发布前去除软件错误? 3. 软件会逐渐退化而不会磨损,其原因在于( )。 (C ) A. 软件通常暴露在恶劣的环境下 B. 软件错误通常发生在使用之后 C. 不断的变更使组件接口之间引起错误 D. 软件备件很难订购 4. 大多数软件仍然是定制开发的,其原因在于( )。 (C ) A. 软件组件重用是十分普遍的 B. 可重用的组件太昂贵而无法使用

3、C. 软件在不使用其他组件的情况下很容易构造出来 D. 商业组件在很多应用领域中可以得到 5. 下面的( )说法是正确的。 ( C) A. 软件危机在 20 世纪 70 年代末期全面爆发 B. 当前先进的软件工程方法已经解决了软件危机的问题 C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题 D. 软件危机是指在软件产品中存在一系列的质量问题 6. 软件工程的基本目标是( )。 (B ) A. 消除软件固有的复杂性 B. 开发高质量的软件 C. 努力发挥开发人员的创造性潜能 D. 更好地维护正在使用的软件产品 7. ( )是将系统化的、规范的、可定量的方法应用于软件的开发、运

4、行和维护的过程,它包括方法、工具和过程三个要素。 (D ) A. 软件产品 B. 软件过程 C. 软件测试 D. 软件工程 8. 软件工程的基本要素包括方法、工具和( )。 (C ) A. 软件系统 B. 硬件环境 C. 过程 D. 人员 9. 软件工程师在从事软件工作时应使用下面的( )准则。 (E ) A. 从来不为个人获利而窃取数据 B. 从来不散布或出售项目中自己工作的信息 C. 从来不故意毁坏或修改别人的程序、文件或数据 D. 从来不侵犯个人、小组或组织的隐私 E. 以上所有选项 练习题 1. 软件与其他工程学科所产生的制品有什么根本区别? 答案要点: (1 ) 软件是人类思维和智能

5、所延伸的产物,其数据、状态和逻辑关系的组合以及人类思维的复杂性和不确定性导致它本身具有极高的复杂性; (2 ) 软件具有不可见性,它是抽象的,形式化和逻辑化的。 (3 ) 软件具有可变性,有用的软件需要不断地修改和扩展,但是频繁的修改可能导致软件的退化; (4 ) 软件的开发在很大程度上依然是手工作坊式的,难以实现工厂化的生产。 2. 软件工程包括哪些基本要素?请简要说明这些要素及其作用。 答案要点: 软件工程包括过程、方法和工具三个要素。 y 软件工程过程定义了技术方法的采用、工程产品(包括模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证和变更的管理,从而将人员、技术、组织与

6、管理有机地结合在一起,实现在规定的时间和预算内开发高质量软件的目标; y 软件工程方法为软件开发提供了“如何做”的技术,通常包括某种语言或图形的模型表示方法、良好的设计实践以及质量保证标准等; y 软件工程工具为软件工程方法提供了自动的或半自动的软件支撑环境,辅助软件开发任务的完成。现有的软件工具覆盖了从需求分析、系统建模、代码生成、程序调试和软件测试等多个方面,形成了集成化的软件工程开发环境 CASE。 3. 软件工程是以系统的、可控的、有效的方式产生高质量的软件,请说明你对“ 高质量软件 ”含义的理解。 答案要点: 软件质量是软件产品与明确的和隐含的需求相一致的程度,它通常由一系列的质量特

7、性来进行描述,包括正确性、可靠性、有效性、可用性、复用性、可维护性、可移植性等。例如,除了要求软件正确运行之外,人们可能还希望软件运行的响应时间符合要求、软件使用方便快捷、程序代码易于理解等,而“程序代码易于理解”往往是一种用户没有明确提出的需求,但却是影响软件演化的重要因素。 4. 有人认为“软件工程过于耗费时间,并且妨碍开发人员的编程效率。”你是否认同这种观点?请阐述理由。 答案要点: 这一观点是不正确的。 y 软件开发远不只是编程,管理不当导致的混乱、工作重复、交流不畅等才是大多软件项目效率低下的主要原因。虽然直接编程在开发前期看来效率高,但是不完整的、不清晰的或错误的需求和设计将导致在

8、开发后期反复地修改程序,反而降低了整个开发效率,其质量也无法保证,甚至导致软件开发最终失败的结果。 y 软件工程是帮助人们在有限的时间、金钱预算和人力、物力资源的约束下开发出质量尽量高的软件的一系列理论和工具,虽然它在编程之外的工作上花费了大量时间,但所耗费的时间与精力并不像其表面上所看起来的那样冗余与低效,而是从总体上做好整个体系的设计与把握,全方位地规划开发过程,对节省成本、提高效率、保证最终产品质量起到了事半功倍的作用。 第2章 软件过程(习题与参考答案) 选择题 1. ( )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

9、(A ) A. 软件过程 B. 软件工具 C. 软件产品 D. 软件工程 2. 软件过程的基本活动是( )。 (A ) A. 分析、设计、实现、测试、演化 B. 沟通、计划、建模、构造、部署 C. 计划、分析、设计、实现、调试 D. 沟通、风险管理、度量、产品化、评审 3. ( )软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析的依据。 (B ) A. 真 B. 假 4. 软件开发的瀑布模型是( )。 (A ) A. 适用于需求被清晰定义的情况 B. 一种需要快速构造可运行程序的好方法 C. 最适合于大规模团队开发的项目 D. 已不能用于现代环境的过时模型 5. 软件开发的

10、增量模型是( )。 (B ) A. 适用于需求被清晰定义的情况 B. 一种需要快速构造核心产品的好方法 C. 最适合于大规模团队开发的项目 D. 一种不适用于商业产品的创新模型 6. 快速原型开发模型是( )。 (B ) A. 适用于客户需求被明确定义的情况 B. 适用于客户需求难以清楚定义的情况 C. 最适合于大规模团队开发的项目 D. 很难产生有意义产品的一种冒险模型 7. 演进式软件过程模型( )。 (D ) A. 本质上是迭代的 B. 可以很容易适应需求的变化 C. 通常不会抛弃所产生的系统 D. 以上所有选项 8. 螺旋模型( )。 (C ) A. 在软件产品发布时结束 B. 比增量

11、模型更加混乱 C. 在每一次迭代过程中包含项目风险评价 D. 以上所有选项 9. 基于组件的开发模型( )。 (C ) A. 只适用于计算机硬件设计 B. 不能支持可重用组件的开发 C. 在面向对象技术获得支持的情况下应用得更好 D. 增加了开发风险和成本 10. 形式化方法模型是将数学方法用于( )。 (D ) A. 定义计算机系统的规格说明 B. 开发无错误的计算机系统 C. 验证计算机系统的正确性 D. 以上所有选项 11. 下面的( )不是 RUP 模型的阶段。 (D ) A. 启动阶段 B. 精化阶段 C. 构造阶段 D. 确认阶段 练习题 1. 请简要说明软件过程的概念和基本元素。

12、 答案要点: 软件过程是软件工程人员为了获得软件产品在软件工具支持下实施的一系列软件工程活动,它应该明确定义以下元素: y 过程中所执行的活动及其顺序关系 y 每一个活动的内容和步骤 y 团队人员的工作和职责 2. 请描述快速原型过程模型的各个阶段。 答案要点: 快速原型方法的目的是解决软件需求不明确给开发带来风险的问题,其关键在于尽可能“快速”地建造原型,通过用户对原型的评价最终确定系统的需求。 快速原型过程模型包括以下阶段: y 原型需求分析:分析和提炼所收集到的客户需求; y 原型开发:基于初步的需求快速建造一个可以运行的软件原型,实现客户或未来的用户与系统的交互; y 原型评价:由用户

13、或客户对该原型进行评价,需要的话再进一步细化待开发软件的需求,并继续调整原型直至需求确定下来为止。 3. 对于下列每一个过程模型,分别列举一个可以适用的具体软件项目,并说明在开发中如何应用该模型。 ( 1) 瀑布模型 ( 2) 快速原型模型 ( 3) 增量模型 ( 4) 形式化方法模型 ( 5) 基于组件的开发模型 答案要点: (1 ) 瀑布模型 项目举例:某项目需要在一种新型机器上,为一种已知语言开发一个普通的编译器。 选用分析:由于该项目的语言是已知的,需求是明确的和稳定的,整个系统属于中小规模,因此适合采用瀑布模型进行软件开发。 阶段说明:略。 (2 ) 快速原型模型 项目举例:某公司需

14、要给火车站开发一个交互式火车车次查询系统,这是火车站首次使用该系统。 选用分析:本项目的主要问题在于用户需要方面,该系统与最终用户的交互是十分关键的,但是在项目初期用户的需求基本上是不知道的,因此适合采用快速原型方法来确定用户需求,在需求确定的基础上再开发最终系统。 阶段说明:略。 (3 ) 增量模型 项目举例:某公司开发一个通用 CAD 软件产品,产品需求是逐步完善的,某些需求在一定范围内是明确的,某些需求需要进一步细化,但是迫于市场竞争的压力产品需要尽快上市。 选用分析:通用 CAD 软件产品具有一定的成熟度,总体需求和软件系统结构是可以确定的,但是实现该产品所有功能需要比较长的开发周期。

15、为了尽快上市可以采用增量模型实行多版本的发布策略,既可以很快占领市场又可以为后续版本的需求定义奠定基础。 阶段说明:略。 (4 ) 形式化方法模型 项目举例:某公司开发一个汽车防抱死刹车控制系统。 选用分析:由于该系统对安全性和可靠性要求极高,需要在系统运行之前进行相关性能的检验,因此适合采用形式化方法开发该系统。 阶段说明:略。 (5 ) 基于组件的开发模型 项目举例:某公司开发企业管理 ERP 系统,包括销售、库存、生产、财务、物流、人力资源等部分,在系统实施过程中不同的企业具有一定的需求差异。 选用分析:企业 ERP 系统具有组件化的结构,在不同企业实施时应该尽量重用已有的组件,因此适合

16、采用基于组件的开发模型开发该系统,在直接应用或者修改使用的基础上,最终进行组件开发和系统集成。 阶段说明:略。 4. 在螺旋模型中,风险分析的作用是什么? 答案要点: 在螺旋模型中,软件开发是在风险等级的指导下进行的。首先确定该阶段的目标,完成这些目标的选择方案及其约束条件;其次从风险角度分析方案的开发策略,努力排除各种潜在的风险,在需求不适当的情况下可能需要建造原型系统;如果某些风险不能排除,该方案可能立即终止,否则继续启动下一步的软件开发和验证工作,并再次通过风险分析规定过程遵循的策略;最后,评价该阶段的结果,并规划下一个迭代。 从上述过程中可以看出,风险分析的作用是通过识别项目中的高风险

17、问题,使开发人员制定适当的开发策略消除这些风险。 5. 某大学准备开发一个新的学生注册选课系统,以替换一个现有的系统。请设计一个适用于该系统开发的过程模型,并进一步描述该模型。 答案要点: 假设原有的学生注册课程系统是由学生手工提交书面选课单,教师手工提交成绩单,教务管理人员在客户端录入学生选课结果和课程成绩;而在新的选课系统中,所有用户在自己的计算机上通过 Internet 访问和操作该系统,该软件系统需要更新服务器和数据库等系统,并扩充一些新功能和提高系统性能。 从该系统的具体情况来看,系统的需求是比较容易明确的,整个系统的结构需要重新设计,但是原有的遗留系统中有些部分是可以重用的,因此我

18、们可以采用组件模型实施软件开发: y 系统需求分析:由于该系统是现有系统的扩展,因此首先可以经过一个简单的需求分析阶段,从而确定新系统的需求。 y 遗留系统分析:在需求确定的基础上,开发人员分析遗留系统并研究新系统的总体结构,选择重用原有的课程信息管理部分,重新开发选课部分,必要时适当修改系统需求,最终确定系统需求和总体结构。 y 设计开发阶段:开发人员进一步设计相关子系统,将原有的课程信息管理部分封装为子系统,重新开发学生选课子系统,并实现与外部付费系统的接口。 y 系统测试阶段:开发人员将所有子系统集成在一起,交给测试人员开始全面的功能测试和性能测试。根据所报告的测试问题,开发人员调试和修

19、改程序。 y 系统交付阶段:测试通过后,开发人员将系统及其相关文档交付用户验收。 6. 请举例说明不同的过程模型组合使用的情况。 答案要点: 在前面提到的企业管理 ERP 系统项目中,可以将快速原型方法、组件开发模型和增量模型组合在一起使用,即在需求分析阶段采用原型方法确定需求,采用组件化的结构设计整个系统,并采用增量方式逐步交付整个系统。 选择题 1. 软件项目管理的 “4P”是( )。 A. people, performance, payoff, product B. people, product, performance, process C. people, product, pr

20、ocess, project D. people, process, payoff, product 2. ( )项目管理在现代软件开发中是不太重要的,因为大多数项目能够及时完成并成功交付。 A. 真 B. 假 3. 在软件开发的各种资源中,( )是最重要的资 源。 A. 开发工具 B. 方法 C. 硬件环境 D. 人员 4. 软件项目规划的第一步是( )。 A. 确定项目预算 B. 选择团队的组织模型 C. 确定项目的约束 D. 建立项目的目标和范围 5. 下面的( )方法最不适合你向团队成员解释他或她为什么表现不合格。 A. 个人谈话 B. 项目团队会议 C. 正式报告 D. 电子邮件 6

21、. 功能点估算技术需要以( )为基础进行问题分解。 A. 信息域 B. 项目进度 C. 软件功能 D. 过程活动 7. 软件开发团队的每一 个成员都应该参与计划活动,以便( )。 A. 降低计划的粒度 B. 深入地分析需求 C. 所有成员同意该计划 D. 开始设计 8. 在攻克技术难题时,最佳的开发团队组织模型是( )。 A. 民主式结构 B. 主程序员式结构 C. 技术管理混合式结构 D. 以上所有选项都不是 9. 在选择开发团队组织结构时应考虑( )因素。 A. 沟通的复杂程度 B. 最终程序的规模大小 C. 发布日期的严格程度 D. 项目预算的多少 E. 选项 A, B和 C 10. 在

22、软件开发过程中避免受挫的最 佳方法之一是( )。 A. 给予团队成员对于过程和技术决策的更多控制权 B. 给予团队成员对于过程和技术决策的更少控制权 C. 向团队成员隐瞒坏消息直到事情有所改善 D. 根据生产效率奖励团队成员 11. 下面的( )软件特性不是引起项目协调困难的一个因素。 A. 互操作性 B. 性能 C. 规模 D. 不确定性 12. 在进行项目范围活动时,问题分解的主要范围是( )。 A. 客户工作流程 B. 需要发布的功能 C. 用于发布功能的过程 D. 软件过程模型 E. 选项 B和 C 13. ( )随着项目计划的不断形成,产品分解和过程分解经常是同时发生的。 A. 真

23、B. 假 14. 为了将项目失败的风险减少到最小,项目经理需要采取( )。 A. 将项目团队规模增加一倍 B. 要求更大的预算 C. 顺利地开始 D. 跟踪过程 E. 选项 B和 C 15. ( )估算不可靠的唯一原因是估算人员缺乏经验。 A. 真 B. 假 16. ( )由于软件项目估算不完全可靠,所以项目开始后可以忽略这些估算。 A. 真 B. 假 17. 软件项目规划的目的是( )。 A. 使客户相信项目是可行的 B. 使用历史项目数据 C. 使项目管理者合理地估算成本和进度 D. 在投标项目之前确定大概的利润边界 18. 软件项目所需的人数应该( )。 A. 在估计开发需要的努力之后决

24、定 B. 由项目预算数量决定 C. 从评价系统复杂性来决定 D. 以上所有选项 19. ( )估计待开发软件产品的规模必须基于像代码行等直接度量单位。 A. 真 B. 假 20. 代码行估算技术需要以( )为基础进行问题分解。 A. 信息域值 B. 项目进度 C. 软件功能 D. 软件过程活动 21. 功能点估算技术需要以( )为基础进行问题分解。 A. 信息域值 B. 项目进度 C. 软件功能 D. 软件过程活动 22. 经验估算模型是基于( )。 A. 专家基于过去项目经验的判断 B. 期望值估计的细化 C. 来自历史项目数据的回归模型 D. 反复试验决定参数和系数 23. COCOMO

25、II 是现代经验估算模型的一个实例,它需要以( )为单位的程序规模信息。 A. 功能点 B. 代码行 C. 工作量 D. 以上任何选项 24. ( )功能点不能用于估 算面向对象的软件。 A. 真 B. 假 25. ( )软件项目延迟是不可避免的,而且无法解释其原因。 A. 真 B. 假 26. ( )将开发团队人数增加一倍可以保证项目完成时间减少一半。 A. 真 B. 假 27. 任务集是( )的集合。 A. 工作任务、里程碑、工作产品 B. 任务分配、成本估算、度量单位 C. 里程碑、可交付物、度量单位 D. 责任、里程碑、文档 28. ( )主动的风险管理有时被描述为救火。 A. 真 B

26、. 假 29. 软件风险总是包括( )两个特性。 A. 救火和危机管理 B. 已知的和未知的风险 C. 不确定和损失 D. 安置人员和预算 30. 风险的三种主要类型是( )。 A. 商业风险、人员风险、预算风险 B. 项目风险、技术风险、商业风险 C. 计划风险、技术风险、人员风险 D. 管理风险、技术风险、设计风险 31. 下面的( )是有效的软件配置项。 A. 软件工具 B. 文档 C. 可执行程序 D. 测试数据 E. 以上所有选项 32. 下面的( )配置对象通常不包括在项目数据库中。 A. 设计规格说明书 B. 可执行程序 C. 组织结构描述 D. 测试计划 33. 基线( Bas

27、eline)是指在项目生命周期的不同时间点上,一个或一组配置项通过( )而进入正式受控的一种状态。 A. 存取控制 B. 质量控制 C. 正式评审 D. 变更管理 34. ( )软件工作产品一旦成为基线就不能再更改了。 A. 真 B. 假 35. ( )如果开发小组使用自动化的项目数据库工具,那么就不需要变更控制。 A. 真 B. 假 36. 下面的( )不是软件配置管理的任务。 A. 变更控制 B. 配置状态报 告 C. 统计质量控制 D. 版本控制 37. 配置状态报告的主要目的是( )。 A. 允许项目经理修改项目进度和成本估算 B. 评估软件开发人员和组织的绩效 C. 确保变更信息传达

28、到受影响的团体 D. 选项 A和 C E. 选项 A、 B和 C 第4章 需求工程(习题与参考答案) 选择题 1. ( )在需求分析过程中,分析员要从用户那里解决的最重要的问题是明确软件做什么。 (A ) A. 真 B. 假 2. ( )软件需求规格说明书在软件开发中具有重要的作用,它是软件可行性分析的依据。 (B ) A. 真 B. 假 3. 在项目初始阶段,开发任务的目标是( )。 (A ) A. 理解基本问题 B. 确定所需的解决方案 C. 确定需要解决方案的人员 D. 以上选项都不是 E. 选项 A、B 和 C 4. 下面的( )将造成需求获取困难的问题。 (E ) A. 预算(bud

29、geting ) B. 范围(scope ) C. 理解(understanding ) D. 挥发性(volatility ) E. 选项 B、C 和 D 5. 需求分析的结果是产生定义下面( )问题域的分析模型。 (D ) A. 信息 B. 功能 C. 性能 D. 以上所有选项 6. ( )目前存在一个很普遍的现象,即不同的客户提出的需求是相互矛盾的,但每个人都争辩自己是正确的。 (A ) A. 真 B. 假 7. ( )利益相关者(stakeholders )是将来购买所开发软件系统的人。 (B ) A. 真 B. 假 8. 需求规格说明描述了( )。 (A ) A. 计算机系统的功能、

30、性能及其约束 B. 每个指定系统的实现 C. 软件体系结构的元素 D. 系统仿真所需要的时间 9. 组织需求评审的最好方法是( )。 (D ) A. 检查系统模型的错误 B. 让客户检查需求 C. 将需求发放给设计团队去征求意见 D. 使用问题列表检查每一个需求 10. 使用跟踪表有助于( )。 (C ) A. 在后续的检查运行错误时调试程序 B. 确定算法执行的性能 C. 识别、控制和跟踪需求的变化 D. 以上选项都不是 11. ( )需求工程师的任务是将所有利益相关者的信息进行分类以便允许决策者选择一个相互一致的需求集。 ( B) A. 真 B. 假 12. 下面的( )不是在项目启动阶段

31、被提出的“与环境无关”的问题。 (B ) A. 成功的解决方案将带来什么样的经济收益? B. 谁反对该项目? C. 谁将为该项目付款? D. 谁将使用该解决方案? 13. ( )开发人员与客户创建用例以帮助软件团队理解有多少类型的最终用户将使用这些功能。 (B ) A. 真 B. 假 14. 在各种不同的软件需求中,( )描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,( )是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 (B ,C ) A. 业务需求 B. 功能需求 C. 非功能需求 D. 用户需求 15. 需求导出后产生的工作制品将依赖于

32、( )而不同。 ( B) A. 预算多少 B. 将要构建的产品规模 C. 正在使用的软件过程 D. 利益相关者的需要 16. ( )用例参与者总是人员而不是系统设备。 (B ) A. 真 B. 假 17. ( )在需求确认过程中需求模型被评审以保证其技术可行性。 ( B) A. 真 B. 假 18. 在需求开发过程中,软件工程师应与客户合作共同定义( )。 (E ) A. 客户可见的使用场景 B. 重要的软件特性 C. 系统的输入与输出 D. 选项 A 和 B E. 选项 A、B 和 C 练习题 1. 请举例说明使用自然语言描述用户需求和系统需求的问题。 答案要点: 用自然语言描述比较详细的需

33、求时经常暴露以下问题,从而容易引起误解。 y 由于自然语言存在二义性,因此人们对同一个术语经常存在语义理解上的偏差。 y 用自然语言描述需求存在比较大的随意性,人们对同一个事物有完全不同的方式进行描述。 y 自然语言描述需求缺乏模块化,因此很难发现所描述需求之间的相关性。 2. 请指出下面需求描述存在的问题,并进行适当的修改。 ( 1) 系统用户界面友好。 ( 2) 系统运行时应该占用尽量少的内存空间。 ( 3) 即使在系统崩溃的情况下,用户数据也不能受到破坏。 ( 4) ATM 系统允许用户查询自己银行帐户的现存余额。 ( 5) ATM 系统应该快速响应用户的请求。 ( 6) ATM 系统需

34、要检验用户存取的合法性。 ( 7) 所有命令的响应时间小于 1 秒;BUILD 命令的响应时间小于 5 秒。 ( 8) 软件应该用 JAVA 语言实现。 答案要点: (1 ) 问题:“友好”是不可验证的。 改正:具有一年计算机使用经验的用户经过 3 小时的培训就可以学会使用该系统。 (2 ) 问题:“尽量少”存在歧义。 改正:系统运行时所占用的最大内存空间是 256MB。 (3 ) 问题:“不能受到破坏”是不可验证的。 改正:如果系统发生崩溃,那么该系统重新正常启动后,可以将用户数据恢复到最后未完成操作执行前的状态。 (4 ) 该描述是正确的。 (5 ) 问题:“快速”是不可验证的。 改正:A

35、TM 系统将在 1 秒钟之内响应用户的请求。 (6 ) 问题:“如何验证合法性”是存在歧义的。 改正:ATM 系统将通过用户名和口令验证其存取的合法性。 (7 ) 问题:所有命令中必然会包括 BUILD 命令,因此这两个需求描述是矛盾的。 改正:去掉关于 BUILD 命令的需求描述。 (8 ) 问题:该描述不是功能需求或非功能需求,应该是对设计实现的一个约束条件。 3. 需求工程包括哪些基本活动?每一项活动的主要任务是什么? 答案要点: 需求工程分为需求开发和需求管理两个部分,而需求开发又可进一步分为需求获取、需求分析、规格说明和需求验证四个阶段。这些基本活动的主要任务包括: (1 ) 需求获

36、取:采集、识别和提取用户的需求,对问题和需求形成文档化的描述,使各种人员达成一致的理解和认可。 (2 ) 需求分析:分析和综合所采集的信息,建立系统的详细逻辑模型。 (3 ) 需求规格说明:编写软件需求规格说明书,明确、完整和准确地描述已确定的需求。 (4 ) 需求验证:评审软件需求规格说明,以保证其正确性、一致性、完备性、准确性和清晰性。 (5 ) 需求管理:定义需求基线,在整个项目过程中跟踪需求状态及其变更情况。 4. 请比较本章介绍的几种主要需求获取技术,说明每一种技术的优缺点和适用场合。 答案要点: (1 ) 用户面谈 优点: y 可以与项目相关人员一对一地进行交谈和讨论; y 具有私

37、密性,使被访者可以直率地和无隐瞒地回答问题; y 便于探查一些附加信息或反馈信息; y 有利于与客户建立良好的关系。 缺点: y 面谈是一种非常费时和高成本的方式; y 难以解决不同的项目干系人之间的冲突和矛盾; y 在地理位置相距较远的情况下很难实施。 适用场合: y 适用于在初步理解整体概念的情况下讨论和交流一些细节问题。 (2 ) 需求专题讨论会 优点: y 有助于了解系统需求; y 有利于共享系统开发的成果; y 给用户一种主人的感觉; y 可以与足够多的项目干系人进行讨论和交流,且节省时间; y 支持头脑风暴式的讨论。 缺点: y 需要占用参与人员比较长的整块时间; y 主持人的能力

38、和会议的准备工作必须是非常好的,否则结果很糟。 适用场合: y 适用于讨论和审查软件系统方案和模型,解决不同项目干系人之间的冲突和矛盾。 (3 ) 观察用户工作流程 优点: y 通过直接观察的方式提取用户或系统的特性; y 有助于理解难以用语言描述清楚的复杂业务。 缺点: y 观察可能使用户紧张,从而表现得与往常不同。 适用场合: y 适用于理解难以用语言描述清楚复杂业务过程。 (4 ) 原型化方法 优点: y 通过一个可以运行的软件原型直观地理解和澄清问题,便于使开发人员与用户达成共识。 缺点: y 用户容易产生误解,认为软件系统可以在原型的基础上很容易地构建,但实际上该原型的内部结构和程序

39、质量比较差。 适用场合: y 适用于用户需求不明确或描述不清楚的情况。 5. 哪些人应该参与需求评审?请画出一个需求评审的组织过程模型。 答案要点: 通常情况下,参与需求评审的人员应该包括需求分析员、项目经理、体系架构设计师、软件设计工程师、系统测试工程师、质量保证员、用户或市场代表、文档编写人员、领域专家和技术支持代表。 制定评审计划初始 需求文档 准备工作 需求跟踪修改跟踪基线需求文档 6. 在某些紧急情况下,软件可能在需求变更请求被批准之前就进行修改。请给出一个修改过程模型,确保需求文档和系统实现不会产生不一致。 答案要点: 一般来说,应该尽量避免在需求变更请求被批准之前就直接修改程序的

40、情况,这很容易导致变更失控而且需求描述与系统实现不一致。一旦出现这种情况,必须在系统变更完成后重新执行需求跟踪控制。 回溯检查跟踪链评估变更影响实施统一变更验证变更结果 结束 开始 成功 失败 生成临时版本程序变更 7. 请补充本章 MiniLibrary 系统的非功能需求和其他需求,并使用 4.2.3 节给出的模板编写该系统的需求规格说明文档。 参考答案: 1 简介 1.1 目的 本文档描述了一个小型图书资料管理系统 MiniLibrary V1.0 版本的软件功能需求和非功能需求,其阅读对象是本项目的客户、开发和维护系统的开发团队成员。 1.2 范围 小型图书资料管理系统 MiniLibr

41、ary 是一个基于 WEB 的应用软件,它允许读者在线搜索图书资料信息,并且可以预订目前借不到的图书资料。同时,图书管理员使用计算机实现对学院图书资料的登记、借出、归还、查询等管理。 关于项目描述参见MiniLibrary 系统前景与范围文档 V1.0,其版本 1 的描述列出了本文档实现的全部特性。 1.3 定义、缩写词以及简写 缩写和术语 说明 MiniLibrary 本软件的名称。 (略) (略) 1.4 参考文献 1 MiniLibrary 系统前景与范围文档 V1.0 2 (略) 2 综合描述 2.1 产品前景 MiniLibrary 系统是一个应用计算机的新系统,它取代了当前在某学院

42、图书资料室以手工方式管理图书资料的过程,可以提高学院图书资料管理的工作效率,并为读者带来便利。 该系统有图书管理员和普通读者两种用户,普通读者必须首先进行注册才可以使用该系统。图书管理员负责添加、更新和删除系统中的图书资料信息,并登记和查询图书资料的借出或归还情况。普通读者可以按照作者或者主题检索图书资料信息,并且可以预订目前借不到的图书资料。一旦预订的图书资料被归还或已购买,系统将立即通知预订者。 该系统应该是可定制的,图书管理员可以设置图书管理规则;该系统的设计应该支持扩展性,希望可以演化成若干版本,最终实现对各种图书资料的完整管理,并能够适用于更大范围的图书资料管理。 2.2 产品功能

43、特性 1:设置图书资料管理规则。 特性 2:创建、修改、删除和查询图书资料。 特性 3:创建、修改、删除和查询读者信息。 特性 4:登记借书记录。 特性 5:登记归还记录。 特性 6:预订目前借不到的图书资料。 特性 7:取消已有的预订。 特性 8:邮件通知预定者借阅所预订的图书资料。 特性 9:邮件催促读者归还到期图书资料通知。 特性 10:用户可以通过 Internet 访问系统。 2.3 用户特征 用户类 说明 读者是学院的教师和学生,他们希望能够在线搜索图书资料信息,并且可以预订目前借不到的图书资料。大约每年有 3000 人,其中估计有 1000 人预计平均每星期每人使用 MiniLi

44、brary 系统 2 次(来源:根据当前图书资料的使用数据)。所有的读者都可以从办公室、实验室、宿舍、家庭等访问互联网,读者希望系统能够通知预订图书已可借阅,或者催还到期的图书,并能够取消已有的预订。 读者 学院目前有 2 名图书管理员,他们负责添加、更新和删除系统中的图书资料信息,登记和查询图书资料的借出或归还情况。图书管理员需要接受培训,学会如何使用计算机、 WEB 浏览器和 MiniLibrary系统。 图书管理员 预订请求图书信息图书信息 还书记录 图书管理员 图书资料管理系统MiniLibrary 读者 邮件系统 借书通知 催还通知借书记录 管理规则 读者信息 预订取消2.4 一般性

45、限制 2.4.1 运行环境 9 系统应该运行在 Windows XP 以及以上版本的平台上; 9 支持 Microsoft IE 5.0 和 6.0 版本的浏览器; 9 服务器采用 Windows NT 2003 操作系统。 2.4.2 设计和实现约束 9 系统的开发文档将遵循公司的开发标准 V1.0 9 软件开发语言为 ASP.NET 和 C#,数据库系统为 SQL Server 2003 2.4.3 用户文档 9 系统将提供在线联机帮助系统。 3 详细需求 3.1 功能需求 MiniLibrary 系统的整体功能见如下的用例图。 “登录”用例:使用此系统的人员需要进行登录,以验证其身份和权

46、限。 “查询浏览”用例:用户可以检索图书资料信息、读者注册信息和读者借还书记录等。 “预订图书”用例:读者预订目前借不到的借书。 “取消预订”用例:读者取消已有的预订。 “管理读者”用例:图书管理员维护普通读者的注册信息。 “管理图书资料”用例:图书管理员增加、修改和删除图书资料的基本信息。 “管理书目”用例:图书管理员增加、修改和删除书目信息。 “登记借书”用例:图书管理员登记普通读者的借书记录。 “登记还书”用例:图书管理员登记普通读者的还书记录。 有关上述用例的详细描述参见“附录 C:MiniLibrary 用例描述”。 登录 管理读者 查询浏览 图书管理员 普通读者 管理图书资料管理书

47、目 预订图书 取消预订 登记借书 邮件系统 注册用户 登记还书 3.2 外部接口需求 3.2.1 用户界面 9 系统对所显示的每个 HTML 页面都提供帮助链接,说明该页面的操作。 9 WEB 页面的操作除了综合使用鼠标和键盘共同完成之外,还可以只通过键盘来完成。 3.2.2 硬件接口 无。 3.2.3 软件接口 9 与现有的邮件系统连接给读者发送通知邮件。 3.2.4 通信接口 无。 3.3 性能需求 9 在每周 15 的上午 9:0011:00 和下午 3:005:00 是高峰时间,系统将能适应 5000 个用户同时使用,平均每个会话估计持续 10 分钟。 9 系统的所有 WEB 页面在百

48、兆的光纤网上全部显示时间的最大值是 10 秒钟。 9 系统对用户请求的最大响应时间是 5 秒钟,在此时间内将响应结果显示在屏幕上。 9 用户必须使用用户名和口令登录系统成功后才可以执行系统其他操作。 9 系统只允许读者查看自己的借还记录,而不能查看别人的记录。 9 (略) 3.4 质量属性 9 MiniLibrary 系统将在每周 7 天每天 24 小时的 95%时间可用。 9 如果在借书、还书、预订等操作执行完成之前,用户和系统的连接中断, MiniLibrary 系统将恢复到操作执行之前的状态。 4 支持信息 附录 A 词汇表 附录 B 图书管理规则 附录 C MiniLibrary 用例描述 附录 D MiniLibrary 系统分析模型 8. 请给出以下问题描述的用例模型。 一个新的音像商店准备采用计算机系统向比较广泛的人群销售或租借录像带和光碟。该音像商店将存有大约1000盘录像带和500张光碟,这些订购涉及多家订购商。所有的录像带和光碟都有一个条码,可以使用条码扫描仪来支持销售和返还,客户会员卡也同时条码化。 客户可以预定录像带并在指定日期来取。系统必须拥有灵活的搜索机制来回答客户的询问,包括关于该音像商店还没有进货的电影(但可能是已经请求订购了)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报