山东大学-软件工程复习重点整理.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《山东大学-软件工程复习重点整理.doc》由会员分享,可在线阅读,更多相关《山东大学-软件工程复习重点整理.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、. .第一章1.1软件工程SE的定义、向、作用: SE:在将有关软件开发与应用的概念科学体系化的根底上,研究如有方案、有效率、 经济的开发和利用能在就算机上正确运行的软件的理论和技术的工程法学,一些开发和维护 软件的法、过程、原那么。是一个系统工程,既有对技术问题的分析与综合,也有对开发过程和参与者的管理。 SE的向:面向对象模式,构造化模式,基于过程的模式等 SE的作用:付出较低的开发本钱,到达要求的软件功能,取得较好的软件性能,开发的软件易于移植,需要较低的维护费用,能按时完成开发工作,及时交付使用。1.2开发模式:软件开发的全部过程,活动和任务的构造框架,它能直观的表达的表达软件开发全过
2、程,明确要完成的主要活动,任务和开发策略。1.3说明错误、故障和失效的含义及联系并举例: 错误:是在软件生产过程中人为产生的错误需求说明中的错误,代码中的错误 故障:是在功能实现过程中产生的问题;是错误导致的结果,是在软件中一个错误的表现一个错误可能产生多个缺陷,静态存在的 失效:是相对于系统指定行为的偏离,系统违背了它应有的行为动态存在的 联系:当一个开发者编写程序时,会在代码中出现错误。当这个程序被编译或集成到一个系统中时,系统就存在故障。当你运行这个系统时,可能会导致失效,即人们产生错误,故障是错误的结果部观角:从开发者的角度对待问题,当故障执行时出现失效外部视角:从用户角度看到的问题。
3、并不是所有的错误会导致故障,并非每个缺陷都对应相应的失败。1.4软件质量应从哪几个面衡量,论述之:1产品的质量2过程的质量3商业环境背景下的质量 1产品的质量:用户从失败的数目和类型等外部特征进展评价,如果软件具有足够的功能并且易于学习和使用,用户就断定软件是高质量的;开发者从缺陷的数目和类型等部特征来作为产品质量的依据。 2过程的质量:有很多过程都会影响到最终的产品质量,只要有活动出了过失,产品的质量就会受到影响;开发和维护过程的质量与产品的质量是同等重要的。 3商业环境背景下的软件质量:将技术价值和商业价值统一起来。1.5软件系统的系统组成系统的要素有哪些: 对象实体+ 活动 + 关系 +
4、 系统边界 活动:活动是发生在系统中的某些事情,通常描述为由某个触发器引发的事件,活动通过改变属性把一个事物变成另一个事物。 对象:活动中涉及的元素称为对象。 关系:是指活动与对象之间的关系。 系统边界:即系统包含的功能与系统不包含的功能之间的界限。1.6现代软件工程大致包含几个阶段及各个阶段的文档: 1需求分析:主要包括问题定义、可行性分析、需求分析?需求规格说明书? 2系统设计:主要包括用户界面和软件构造图 3程序设计:包括模块功能算法与数据描述 4程序实现:主要包括编程的代码和注释 5单元测试:模块测试与性能测试 6集成测试:按照构造图进展测试产生测试报告 7系统测试:按SRS对系统总体
5、功能进展测试 8系统提交:交付产品 9系统维修:修改软件的过程,为满足改错或新需求1.7使现代软件工程实践发生变化的关键因素是什么? 1商用产品投入市场时间的紧迫性 2计算技术在经济中的转变:更低的硬件本钱,更高的开发、维护本钱 3功能强大的桌面计算的可用性 4广泛的局域网和广域网 5面向对象技术的采用及其有效性 6使用窗口、图标、菜单和指示器的图形用户界面 7软件开发瀑布模型的不可预测性1.8什么是抽象? 抽象是在某种概括层次上对问题的描述,使得我们能够集中于问题的关键面而不陷入细节,也就是对细节的隐藏。1.9什么是重复用? 重复用采用以前开发的软件系统中具有共性的部件,用到新的开发工程中去
6、。这里的重用不仅仅是代码的重用。1.10什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:落后的软件生产式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列重问题的现象。 典型表现:1 对软件开发本钱和进度的估计常常很不准确。 2 用户对“已完成软件系统不满意的现象经常发生。 3 软件产品的质量往往靠不住。 4 软件常常是不可维护的。 5 软件通常没有适当的文档资料。 6 软件本钱在计算机系统总本钱中所占的比例逐年上升。 7 软件开发生产率提高的速度,远跟不上计算机应用迅速普及深入的趋势 出现的原因:一面与软件本身的特点有关,另一面也和软件开发与维护的法
7、不正确有关。1软件缺乏“可见性,管理和控制软件开发过程相当困难2软件规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升3 开发时期引入错误,导致软件维护通常意味着改正或修改原来的设计,客观上使得软件较难维护4软件专业人员对软件开发和维护中或多或少地采用了错误的法和技术1.11开发队伍的组成角色有哪些? 需求分析人员、设计人员、程序员、测试人员、培训人员、维护人员、资料员、配置管理人员CMM是指“能力成熟度模型,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过
8、程的实践中各个开展阶段的描述。CMM的核心是把软件开发视为一个过程。SRS(Software Requirements Specification), 软件需求说明书的编制是为了使用户和软件开发者双对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的根底。包含硬件、功能、性能、输入输出、接口界面、警示信息、XX平安、数据与数据库、文档和法规的要求。第二章2.1什么叫过程生命期?过程是一组有序的任务,它涉及活动、约束和资源使用的一系列步骤,用于产生某种想要的输出。我们有时也把涉及产品构建的这种过程称为生命期。因此,有时把软件开发过程称为软件生命期。2.2什么是软件过程,软件过程的重要性是
9、什么? 软件过程:将软件开发中的一组有序的任务称为软件过程,它涉及活动、约束和资源使用的一系列步骤,用于产生某种想要的输出。 重要性:1它强制活动具有一致性和一定的构造,使程序的集合组合起来以产生满足目标和标准的产品,2过程构造允我们分析、理解、控制和改进组成过程的活动,并以此来指导我们的行动3它能使我们获取经历并把它创收给他人。2.3什么是软件生命期模型? 软件生命期模型,是从一个特定角度提出的对软件过程的简化描述,是对软件开发实际过程的抽象,它包括构成软件过程的各种活动、软件工件以及参与角色等。 2.4瀑布模型及其优缺点 瀑布模型:瀑布模型将开发阶段描述为从一个开发阶段瀑布般地转换到另外一
10、个阶段,一个开发阶段必须在另一个开发阶段开场之前完成。瀑布模从一种非常高层的角度描述了开发过程中进展的活动,并且提出了要求开发人员经过的时间序列。 优点:1瀑布模型一直用来规软件开发活动,每一个过程活动都有与其相关联的里程碑和可交付产品,以便于工程经理能够用模型判断在某一时刻工程里最后完成还有多远。 2它的简单性使得开发人员很容易向不熟悉软件开发用户作出解释。 3很多更复杂的模型实际上是在瀑布模型的根底上的润色,如参加反响循环以及额外的活动。 缺点:1它并不能反映实际的代码开发式。除了一些理解非常充分的问题之外,实际上软件是通过大量的迭代进展开发的。 2它没有提醒每一个活动如把一种制品转化为另
11、外一种制品 3没有把软件看做一个问题求解的过程,而是从制造业的角度来对待软件开发的,软件开发应该是一个创造的过程,而不是制造的过程。2.5什么是原型? 原型是一个局部开发的产品,它使客户和开发人员能够对方案开发的系统的相关面进展检查,以决定它对最终产品是否适宜或恰当。2.6V模型及其特点 V模型是瀑布模型的变种,它说明测试活动是如与分析和设计相联系的,编码处于V形符号的顶点,分析和设计在左边,测试和维护在右边。 特点:V模型使得隐藏在瀑布模型中的迭代和重做活动更加明确。瀑布模型关注的通常是文档和制品,而V模型关注的那么是活动和正确性。2.7原型模型 不仅仅是附属于瀑布模型的,同时也是一种有效的
12、过程模型的根底。原型模型允开发人员快速构造整个系统或系统的一局部以理解或澄清问题。 依据原型化的目标,可以取消原型化需求、设计或系统中的一个或多个循环,但是总体目标保持不变,即减少开发中的风险和不确定性。2.8可转换模型 可转换模型通过去除某些主要开发步骤来设法减少出错的时机。2.9阶段化开发模型的含义、分类和特点运行系统和开发系统的概念 阶段化开发模型的含义:系统被设计为一局部一局部地交付,从而在系统其余局部正在开发的同时,用户已经获得了一局部的功能。 分类:1增量开发:系统按照功能划分为子系统,定义发布时首先定义一个小的功能子系统,然后在每一个新的发布中增加新功能。 2迭代开发:一开场就提
13、交一个完整的系统,然后在每一个新的发布中改变每个子系统的功能。 特点:1即使还缺少某些功能,但在早期的发布中就可以开场培训。 2可以及早为那些以前从未提供的功能开拓市场。 3当运行系统出现未预料到的问题时,经常性的发布可以使开发人员能全面、快速地修复这些问题 4针对不同的发布版本,开发团队将重点放在不同的专业领域技术上。2.10螺旋模型的含义、目的、四个象限的任务及四重迭代的含义 含义:螺旋模型将瀑布模型和快速原型模型结合起来,强调了其他模型所无视的风险分析,特别适合于大型复杂的系统。 目的:把开发活动和风险管理结合起来,以将风险减到最小并控制风险。 四个象限的任务依次是:评估可选案及风险;确
14、定目标、可选案及约束;方案;开发与测试 四重迭代的含义:1操作概念是第一次迭代的产品;2需第二次迭代的主要产品;3第三次迭代产中,系统开发产生设计;4第四次迭代能够进展测试。5螺旋模型的每一次迭代都根据需求和约束进展风险分析,以权衡不同的选择,并且在确定某一特定选择之前,通过原型化验证可行性或期望度。当风险确认之后,工程经理必须决定如消除或最小化风险。2.11敏捷法的含义、特点和目标: 含义:以人为核心、迭代、循序渐进。在敏捷开发中,软件工程的构建被切分成多个子工程,各个子工程的成果都经过测试,具备集成和可运行的特征。 特点:1规那么游戏2小的发布3隐喻4简单设计5首先编写测试6重构7对编程8
15、集体所有权9持续集成10可以忍受的步伐11在现场的客户12代码标准 目标:通过尽可能早地、持续地交付有价值的软件使客户满意。 2.12在所有的软件开发模型中,你认为哪些过程给予你最大的灵活性以应对需求的变更? 阶段开发模型和螺旋模型补充:统一过程UP可以用三句话来表达:它是用例驱动的、以根本架构为中心的、迭代式和增量性的软件开发过程框架,它使用对象管理组织OMG(Object Management Group)的UML 并与对象管理组织OMG的软件过程工程原模型SPEMSoftware Process Engineering Meta-Model 软件过程工程元模型等相兼容。第三章3.1什么是
16、工程进度? 工程进度通过列举工程的各个阶段,把每个阶段分解成离散的任务或活动,来描述特定工程的软件开发期。进度还描绘这些活动之间的交互,并估算每项任务或活动将或花费时间。3.2什么是活动?什么是里程碑? 活动:活动是工程的一局部,它在一段时间发生。 里程碑:里程碑是活动的完成-某一特定时刻。3.3软件人员应该具备的能力是什么? 1完成工作的能力2对工作的兴趣3开发类似应用的经历4使用类似工具或语言的经历5使用类似开发环境的经历6使用类似技术的经历7培训8与其他人交流的能力9与其他人共同承担责任的能力10管理技能3.4软件工程组织的根本构造3.5专家估测法的大致含义: 很多工作量估算法依赖于专家
17、的判断。使用专家的知识和经历,对软件工程的工作量进展评估,预测的准确性基于估算者的能力、经历、客观性和洞察力。是对构建整个系统或其子系统所需的工作量做出经历性的猜测。 主要有类推法,Delphi技术,Wolwerton模型该模型受变化和主观性的影响,还受当前数据相关性的影响 x+4y+z/6对个人估算的规化3.6算式估算法的大致含义: 研究人员已经创立出表示工作量和影响工作量的因素之间关系的模型。这些模型通常用程式描述,其中工作量是因变量,而其他因素是自变量。大局部模型认为工程规模是程式中影响最大的因素,表示工作量的程式是: E = (a + bSc) m(X)其中S是系统规模的估算,而a、b
18、、和c是常量。X是从x1到xn的一个本钱因素的向量,m是基于这些因素的一个调整因子。3.7试述COO模型的三个阶段根本工作原理或含义: 在阶段一,工程通常构建原型以解决包含用户界面、软件和系统交互、性能和技术成熟性等面在的高风险问题。这时,人们对正在创立的最终产品可能的规模知之甚少,因此COO用应用点来估算规模。 在阶段二,即早期设计阶段,已经决定将工程开发向前推进,但是设计人员必须研究几种可选的体系构造和操作的概念。同样,仍然没有足够的信息支持准确的工作量和工期估算,但是远比第一阶段知道的信息要多。在阶段二,COO使用功能点对规模进展测量。 在阶段三,即后体系构造阶段,开发已经开场,而且已经
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 山东大学 软件工程 复习 重点 整理
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内