软件工程课后习题(含答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章练习题
一、填空题
1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:
1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题
1、面向对象方法的优点是什么?
答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?
答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题
一、填空题:
1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工
程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:
1、瀑布模型的优点有哪些?
答:1、强迫开发人员采用规范的技术方法;
2、严格地规定了每个阶段必须提交的文档;
3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?
答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很
难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
3、原型模型适应什么场合?
答:原型模型比瀑布模型更符合人们认识事物的过程和规律,是一种较实用的开发框架。它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。
第三章练习题
一、填空题
1、COCOMO II的3个阶段是:应用组装、早期设计、后体系结构。
2、分析任务图中的里程碑路径被称为关键路径。
3、项目的特征:唯一性、一次性、整体性、多目标性、寿命周期阶段性。
二、简答题
1、什么是里程碑?
答:在制定项目进度计划时,在进度时间表上设立一些重要的时间检查点,这样一来,就可以在项目执行过程中利用这些重要的时间检查点来对项目的进程进行检查和控制。这些重要的时间检查点被称作项目的里程碑(Milestone)。
2、请扼要描述Boehm的十大风险事项。
答:Personnel shortfalls人员短缺
Unrealistic schedules and budgets不现实的进度和预算
Developing the wrong functions开发了错误功能
Developing the wrong user interfaces开发了错误的用户界面
Gold-plating华而不实
Continuing stream of requirements changes不断的需求改变
Shortfalls in externally-performed tasks外部执行的任务不符合要求
Shortfalls in externally-furnished components外部提供的组件不符合要求
Real-time performance shortfalls实时性能不符合要求
Straining computer science capabilities超出了计算机科学的能力
3、如何成功管理风险?
答:建立恰当的机制
选择有效的识别方法
选择有效评估发生可能性方法
选择有效评估风险影响方法
建立预防措施
开发风险应对措施
确定紧迫性
确定风险的责任人
4、什么是项目管理?
答:两种含义
管理活动:一种有意识地按照项目管理的特点和规律,对项目进行组织管理的活动管理学科:以项目管理活动为研究对象的一门学科,它是探索项目活动科学组织管理的理论与方法。
5、什么是软件项目管理?
答:软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。
软件项目管理的对象是软件工程项目,他所涉及的范围覆盖了整个软件工程过程。
第4章练习题
四、填空题
1、需求可分解为4个层次:业务需求、用户需求、功能需求和非功能需求。
2、用户需求:用户需求是用户使用该软件要完成的任务。
3、功能需求:功能需求定义了软件必须实现的功能。
4、需求分析阶段的工作有以下四个方面:引发、分析、编制需求分析阶段文档——规格说
明、确认。
5、软件项目中40%-——60%的问题都是在需求阶段埋下的祸根!
2、简答题
1、IEEE在软件工程标准词汇表中的需求定义是什么?
答:⑴用户解决问题或达到目标所需的条件或权能(Capability)。
⑵系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。
⑶一种反映上面(1)或(2)所描述的条件或权能的文档说明。
2、需求分析的目标是什么?
答:构造一个完全地、精致地目标系统逻辑模型;
确定设计约束和定义软件有效性要求。
3、需求分析的任务是什么?
答:需求分析阶段研究的对象是软件项目的用户要求,其任务是借助当前系统的逻辑模型,调查研究、分析综合,并通过抽象思维、逻辑推理导出目标系统的逻辑模型,解决系统“做什么”的问题,并将结果准确表达。
4、请你扼要描述需求分析的实现步骤。
答:(1)分析现实世界,充分理解当前系统,并用一个具体模型描述,获得当前系统的物理模型。
(2)在理解当前系统“怎么做”的基础上,抽取“作什么”的本质,抽象出系统的逻辑模型。