软件工程理论知识Word格式.docx
- 文档编号:13470314
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:65
- 大小:611.12KB
软件工程理论知识Word格式.docx
《软件工程理论知识Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程理论知识Word格式.docx(65页珍藏版)》请在冰豆网上搜索。
软件开发所使用的方法和技术。
三.有哪些流行的软件工程方法学及其要素?
1.使用最广泛的软件工程方法学是面向结构化方法学和面向对象的方法学(上世纪70-90年代,流行面向结构化方法学,上世纪90年代到现在,流行面向对象方法学)。
2.要素:
方法、工具和过程。
四.什么是软件生存周期?
有哪些活动?
4.1软件生存周期
一个软件从提出开发要求开始到软件废弃不用的整个过程。
4.2开发活动
可行性分析和项目开发计划、需求分析和定义、软件设计(先后细分为:
概要设计和详细设计)、编码、测试和运行维护
可行性分析和项目开发计划:
用户、项目负责人和系统分析师搞清楚系统要解决的问题是什么?
以及从技术、经济、时间等方面论证项目开发可行性。
需求分析和定义:
用户、项目负责人和系统分析师确定系统必须做什么?
但不关心具体怎么做?
要确定系统的功能、性能、数据、界面等要求,从而确定系统的逻辑模型,同时制定后期测试计划。
软件设计-概要设计:
系统分析师和软件设计师在需求定义的基础上,把各功能需求转换成需要的体系结构,即划分模块、模块的层次、模块之间的调用关系以及各模块的功能,同时设计应用系统的总体数据结构和数据库结构。
软件设计-详细设计:
软件设计师和程序员对概要设计阶段得出的各功能模块进行详细描述成精确的、结构化的过程描述,即各个功能模块具体怎么实现,用相应的工具把模块的控制结构表示出来,但还未进行编码。
编码:
由程序员详细设计阶段得出的各模块控制结构(图形)转变成计算机能识别的指令代码。
测试:
由另一部门(单位)的软件设计师或系统分析师花费最少的人力物力找出程序最多、最大的错误(bug)。
维护:
由用户和维护人员进行的软件生存周期中时间最长的阶段。
4.3各活动阶段主要文档
4.3.1可行性分析和项目开发计划
●可性行研究报告
●项目开发计划
4.3.2需求分析中的文档
●需求规格说明书
●初步用户使用手册
●确认测试的测试计划
●修改完善的软件开发计划
●系统测试计划文档
4.3.3概要设计阶段文档
●概要设计说明书
●数据库说明书
●用户手册
●修订的测试计划(测试的策略、方法、步骤)
4.4.4详细设计阶段
●详细设计说明书
4.4.5编码
●程序清单
4.4.5测试
●完善的测试计划书
●软件测试报告
4.4.6系统测试阶段
●系统测试报告
2005年下半年
●应该在 (7)阶段制定系统测试计划。
(7)A.需求分析B.概要设计C.详细设计D.系统测试
●(29)详细描述软件的功能、性能和用户界面,以使用户了解如何使用软件。
(29)A.概要设计说明书B.详细设计说明书C.用户手册D.用户需求说明书
五.有哪些主要生存期模型?
瀑布模型、原型开发模型(快速原型模型、演化模型、增量模型)、螺旋模型、喷泉模型、基于知识的模型和变化模型。
5.1瀑布模型(传统的软件周期模型)
瀑布模型严格遵循软件生命周期各阶段的固定顺序:
计划、分析、设计、编程、测试和维护,上一阶段完成后才能进入到下一阶段,整个模型就像一个飞流直下的瀑布,如下图所示。
优点:
以文档作为驱动,强迫开发人员采用规范的方法,严格规定了各阶段必须提交的文档;
要求每一阶段结束后,都要进行严格的评审。
与它最相适应的开发方法是结构化方法。
缺点:
不适应用户需求的改动。
2004年下半年:
●软件开发中的瀑布模型典型的刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是(9)。
(9)A.构件化方法 B.结构化方法 C.面向对象方法 D.快速原型法
5.2原型模型
5.2.1快速原型模型
快速原型的用途是获知用户的真正需求,一旦需求确定了,原型即被抛弃。
主要用于需求分析阶段。
不追求也不可能要求对需求的严格定义,而是采用了动态定义需求的方法,所以不能定义完善的文档。
特征:
简化项目管理、尽快建立初步需求、加强用户参与和决策。
具有广泛技能水平的原型化人员是原型实施的重要保证。
原型化人员应该是具有经验与才干、训练有素的专业人员。
衡量原型化人员能力的重要标准是他是否能够从用户的模糊描述中快速获取需求。
5.2.2演化模型
在快速原型模型中,原型的用途是获知用户的真正需求,一旦需求确定了,原型即被抛弃。
而演化模型应用于整个软件开发过程,是从初始模型逐步演化为最终软件产品的渐进过程。
也就是说,快速原型模型是一种“抛弃式”的原型化方法,而演化模型则是一种“渐进式”的原型化方法。
5.2.3增量模型(渐增式)
增量模型主要用于设计阶段,把软件产品划分为一系列的增量构件,分别进行设计、编程、集成和测试。
新的增量构件不得破坏已经开发出来的产品。
其示意图如图4-2所示。
5.2.4原型模型小结
从下面的有关原型化方法的叙述中,选择出正确的叙述:
(1)快速原型方法是一种企图克服传统软件周期模型缺点的开发方法。
(2)在用户的数据资源没有得到很好地组织和管理的时候,应该使用原型化方法。
(3)在用户没有明确地肯定其需求的时候,应该使用原型化方法。
(4)在用户不希望把自己的时间花在软件开发过程中的时候,应该使用原型化方法。
(5)使用原型化方法时应该使用第三代编程语言。
(6)原型化加强了开发过程中用户的参与和决策。
(7)原型化方法大致可分为三类:
抛弃式、演化式和递增式。
(8)原型化方法大致可分为演化式和递增式。
(9)采用原型化方法时,软件的开发成本较高。
(10)采用原型化方法时,关键的因素是建立原形的速度,而不是原形运行的效率。
5.3螺旋模型
螺旋模型综合了瀑布模型和原型模型中的演化模型的优点,还增加了风险分析。
螺旋线第一圈的开始点可能是一个概念项目。
从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直转到软件生命期结束。
5.4喷泉模型
喷泉模型主要用于描述面向对象的开发过程。
喷泉一词体现了面向对象开发过程的迭代和无间隙特征。
迭代指的是开发活动常常需要重复多次,在不断的迭代中逐渐完善软件系统,无间歇性指在开发活动之间不存在明显的边界,允许各开发活动交叉、迭代地进行。
5.5迭代软件开发技术
Rational统一开发流程RUP(RationalUnifiedProcess)是一个通用的软件流程框架,它是一个以架构为中心、用例驱动的迭代化软件开发流程。
RUP是从几千个软件项目的实践经验中总结出来的,对于实际的项目具有很强的指导意义,是软件开发行业事实上的行业标准。
在RUP中,我们把软件开发生命周期划分为四个阶段,每个阶段的结束标志就是一个主要的里程碑(如下图所示)。
这四个阶段主要是为了达到以下阶段性的目标里程碑:
先启(Inception):
确定项目开发的目标和范围
精化(Elaboration):
确定系统架构和明确需求
构建(Construction):
实现剩余的系统功能
产品化(Transition):
完成软件的产品化工作,将系统移交给客户
2005年下半年:
●在开发一个系统时,如果用户对系统的目标是不很清楚,难以定义需求,这时最好使用 (6) 。
(6)A.原型法B.瀑布模型C.V-模型D.螺旋模型
2006年上半年:
渐增式开发方法有利于(4)。
(4)A.获取软件需求 B.快速开发软件 C.大型团队开发 D.商业软件开
2006年下半年:
常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。
其中(5)模型适用于需求明确或很少变更的项目,(6)主要用来描述面向对象的软件开发过程。
(5)A.瀑布模型B.演化模型C.螺旋模型D.喷泉模型
(6)A.瀑布模型B.演化模型C.螺旋模型D.喷泉模型
●统一过程(UP)的基本特征是“用例驱动,以架构为中心的和受控的迭代式增量开发”。
UP将一个周期的开发过程化分为4个阶段,其中(26)
提交结果包含了系统架构。
(26)A.先启阶段B.精化阶段C.构建阶段D.提交阶段
5.6极限编程(XP)
一种轻量(敏捷)、高效、低风险、柔性、可预测、科学而且充满乐趣的软件开发方法。
与其他方法对比,最大的不同在于:
1.在更短的周期内,更早地提供具体、持续的反馈信息
2.迭代地进行计划编制,首先在最开始迅速生成一个总体计划,然后在整个项目开发过程中不断地发展
3.依赖于自动测试程序来监控开发进度,并及早地捕获缺陷
4.依赖于口头交流,测试和源程序进行沟通
5.倡导持续的演化式的设计
6.依赖于开发团队内部的紧密协作
7.尽可能达到程序员短期利益和项目长期利益的平衡
如上图所示,xp由价值观、原则、实践和行为四个部分组成,它们彼此相互依赖、关联,并通过行为贯穿于整个生命周期。
xp的核心是其总结的四大价值观:
沟通、简单、反馈和勇气、它们是xp的基础,也是xp的灵魂。
5个原则:
快速反馈、简单性假设、逐步修改、提倡更改和优质工作。
在xp方法中,贯彻的是“小步快走”的开发原则,因此工作质量绝不可打折扣,通常采用测试先行的编码方式来提供支持。
在xp中,继承了12个最佳实践:
计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续继承、每周工作40小时,现场客户,编码标准。
六.软件过程基础知识
6.1软件过程
软件过程是指人们用于开发和维护软件及相关产品的一系列活动,包括软件工程过程和软件管理过程。
6.2评估工具
软件过程的评估,通常采用软件能力成熟度
模型(CapabilityMaturityModel,CMM)。
CMM1.1的5个等级(由低级到高级):
●初始级
软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力,管理是反应式(消防式)的。
●可重复级
建立了基本的项目管理过程来跟踪费用、进度和功能特性。
制定了必要的过程纪律,能重复早先类似应用项目取得的成功。
●已定义级
已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准化软件过程。
所有项目均使用经标准、裁减的标准软件过程来开发和维护软件。
●已管理级
收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解与控制。
●优化级
加强了定量分析,通过来自过程质量反馈和来自新观念、新技术的反馈使过程能持续不断地改进。
巧记:
初级程序员,可重复写程序,现已定义了管理策略来优化程序设计!
●软件能力成熟度模型(CMM)是目前国际上最流行、最实用的软件生产过程标准和软件企业成熟度的等级认证标准。
该模型将软件能力成熟度自低到高依次划分为初始级、可重复级、已定义级、已管理级、优化级。
从(17)开始,要求企业建立基本的项目管理过程的政策
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 理论知识