软件工程复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程复习资料
1.什么是软件工程?他的基本原理是什么?1)软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它。
2)用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚的审查、开发小组的人员应该少而精、承认不断改进软件工程实践的必要性。
2. 是什么导致了软件工程?
主要是软件危机的出现导致了软件工程
3. 通常我们所见的软件工程模型有哪些?
瀑布模型、快速原型模型、增量模型(渐增模型)、螺旋模型、喷泉模型。
21.软件危机的现象:
1)经费超出预算,项目一再拖延。
2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。
3)没有规范的软件工程方法,软件可维护性
差,软件质量差,可靠性差。
3)开发工具落后,手工方式,开发效率低。
22.软件工程的三要素
1)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质
量开发出软件。
2)“方法”为软件开发提供“如何做”的技术。它涵盖了项目计划、需求分析、
系统程序()实现、测试与维护灯一系
列活动的做法。
3)“工具”可为过程和方法提供自动的或半自动的支持。这些工具既包括软件,
也包括硬件,软件工具包括编程、建模、
管理等开发工具。通过网络环境把这些
软件工具集成起来搭建一个能够支持团
队开发的平台,称为计算机辅助软件工
程,即CASE。CASE集成了软件、硬件和
()存放开发过程信息的软件工程数据
库,形成了一个软件工程环境。
23.简述软件工程的目标,过程和原则1)目标、过程和原则是一切工程的三维框架,,这里是以工程的观点来看待软件开发。
软件工程的目标:降低成本,及时交付高质量的软件产品。
实现目标的过程即完成产品加工的过程:包括:基本过程、支持过程和组织过程
进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的开发范型、适合的设计方法、提供高质量的工程支持、重视开发过程的管理。
24.对比瀑布模型,原型模型,增量模型和螺旋模型
1)瀑布模型:主要体现了分阶段、有控制的思想。活动间强调按顺序、文档
化;存在的问题是过于理想化,每一
步的工作必须完整准确,否则无法进
行下一步工作
2)原型模型:需求分析入手快速、表达直观、容易交流。重点解决瀑布模型
的需求分析入手难的问题。
3)增量模型:对于需求复杂的系统,采用分块开发、逐步集成的开发策略。
增量体现了演进、迭代思想,每一块
就是一个增量。每个增量试一次迭代。
增量模型的新版本叫做“极限编程
(XP)”。
4)螺旋模型:融合了上述3种模型,融进了循环往复、强化了演进迭代的思
想,增加了风险控制环节。但是,风
险分析的正确性是左右软件演进的关
键因素。
25. 当需求不能一次搞清楚,且系统需求较复杂
时应选用什么模型?
开发模型不是孤立或排斥的,他们之间需
要相互借鉴和参考。螺旋模型是一种综合
性的模型,适合于鼻尖复杂的系统。
26.XP(极限开发)是一种什么样的模型?
XP是现代版的增量模型,特点是你客户参
与、适应变化、测试驱动、以代码为核心。
实行XP的条件如下。
1)企业具有较高的能力成熟度,具有团队开发环境和配套的测试工具。
2)软件结构是开放的,增量可随意整合。
3)开发团队拥有“系统隐喻”。
27.敏捷方法的核心价值观有哪些?它对传统方法的”反叛“体现在哪些方面?
1)①注重个人与交互
②重点关注可以工作的软件。
③提高客户参与程度。
④以积极的心态响应需求变化。
敏捷联盟强调的价值观是这一流派的核
心。认识受价值观驱使的,敏捷项
目管理因而也是以价值观为推动力
的。一个团队可以采用敏捷做法,
但如果它不接受敏捷价值观,它将
不能得到敏捷方法的潜在好处。
2)敏捷方法对传统方法的”反叛“体现在
以人为中心,不再依靠文档来控制
过程,认为传统过程过于僵化、文
档繁烦,主张对传统过程瘦身,在
上述价值观的支配下,做到能够为
准
28.简述CMM(成熟度等级)软件过程成熟度的5个级别,以及每个级别对应的标准。
1)初始级的软件过程是无秩序的,它几乎处于无步骤可循的状态。管理是随机
的,软件产品的成功往往取决于个人。
2)可重复级,已建立了基本的项目管理过
程,对成本、进度和功能特性进行跟
踪,并且在借鉴以往经验的基础上制
定了必要的规范。
3)已定义级,用于管理和工程两个方面的过程均已文档化、标准化,并形成了
整个软件组织的标准软件工程。所有
项目均使用经过批准、裁剪的标准软
件过程来开发和维护软件。
4)已管理级的软件过程和产品质量有详细的度量标准并且得到了定量的认证和
控制。
5)优化级的软件过程可以通过量化反馈和先进的新思想、新技术来不断地、持
续性的过程改进。
29.RUP(统一过程)包含了那些核心工作流和那些核心支持工作流。
1)核心工作流包括:业务建模、需求、分析与设计、实现、测试、部署。
2)支持工作流包括:配置与变更管理、项目管理、环境。
30.如何进行结构化需求分析,其建模方法有哪些?