软件工程重点06931.doc

上传人:新** 文档编号:545123004 上传时间:2023-09-05 格式:DOC 页数:7 大小:60.51KB
返回 下载 相关 举报
软件工程重点06931.doc_第1页
第1页 / 共7页
软件工程重点06931.doc_第2页
第2页 / 共7页
软件工程重点06931.doc_第3页
第3页 / 共7页
软件工程重点06931.doc_第4页
第4页 / 共7页
软件工程重点06931.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《软件工程重点06931.doc》由会员分享,可在线阅读,更多相关《软件工程重点06931.doc(7页珍藏版)》请在金锄头文库上搜索。

1、软件工程重点复习1. 什么是软件工程?什么是软件危机? 软件工程:软件的开发应当同其他工程的开发相类似,是一项类似工程的活动。 软件危机:指软件产品的质量低的通常不能接受,并且不能满足交付日期和预算限制。2. 传统范型与面向对象范型的区别? 传统范型面向对象范型分析(规格说明)阶段(1)确定产品要做什么面向对象分析工作流(1) 确定产品要做什么(2) 提取类设计阶段(1) 结构设计(提取模块)(2) 详细设计面向对象设计工作流(1)详细设计实现阶段(1) 用恰当的编程语言编码模块(2) 集成面向对象实现工作流(1) 用恰当的面向对象编程语言编码模块(2) 集成3. 新的软件技术为什么不能马上应

2、用?(1) 将新技术引入软件组织的花费;(2) 维护问题。4. 为什么会有迭代和递增? 由于移动目标问题和需要纠正在软件开发过程中明显的错误,实际软件产品的生命周期类似于进化树模型或者瀑布模型,而不是理想化的过程链。这种现实情况的结果是谈论分析阶段没有太多意义,相反,分析阶段的操作散布在生命周期的各个阶段。考察一个软件产品的后续版本的基本过程是迭代,即我们的目的是每个版本比前一个版本离我们的目标更近一步,最终构建一个满意的版本。 我们人类处理信息量远远不及软件需求的信息量,所以我们找到精益求精的方法,即先找出最主要的进行处理,在找到次要的进行处理,这个过程是递增的。5. 迭代和递增的优点? 与

3、传统的瀑布模型相比较,迭代过程具有以下优点:(1)降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。(2)降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。(3)加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。(4)由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。6.其他生命周期模型的比较? 生命周期模型长处短处进化树模型与现实世界软件开发最接近的模型,与迭代-增量模型等价迭代

4、-递增生命周期模型与现实世界软件开发最接近的模型,蕴涵统一过程方法编码-修补生命周期模型适用于不需要任何维护的小程序总的来说不适合重要的程序瀑布生命周期模型纪律性强制的方法,文档驱动交付的产品可能不符合客户的要求快速原型开发生命周期模型确保交付的产品符合客户的要求还没有证明无懈可击。开源生命周期模型少量实例中工作的相当好实用性有限,通常不太起作用敏捷过程客户的需求模糊时能很好地工作似乎只适合小规模项目同步稳定生命周期模型能满足未来用户的需求,确保各组件能够成功集成除了在Microsoft公司,还没有广泛的应用螺旋生命周期模型风险驱动只能用于大型的内部软件产品,开发者必须精通风险分析和风险排除。

5、7. 统一过程的5个核心工作流? (1)需求流(对应需求制品):目标是让开发组织确定客户的需求。 在这个阶段,开发小组的任务是准确确定客户的需求并从客户的角度找出存在的限制条件:1)一个主要的限制几乎总是最终期限。2)经常有各种其他限制如可靠性、可执行载入映像的规模。3)成本几乎总是一个重要的限制条件。 (2)分析流(对应分析制品):目标是分析和提取需求,以获得正确开发软件产品和易于维护他所必需的需求。 (3)设计流(对应涉及制品):目标是细化分析流的制品,直至材料处于程序员可实现的形式。 设计小组必须详细记录他们所做的每个设计决定。做这样的记录是基本的要求,原因有两个:1)在进行产品设计时,

6、有时会走死胡同,这样设计小组需要返回重新设计。书面记录下做出这种决定的原因,在这种情况发生时能够帮助设计小组原路返回。2)理想的产品设计应该是无限期的,将来可通过添加新的类或取代已存在的类来提高产品的性能,同时在整体上不影响设计。 (4)实现流(对应实现制品):目标是用选择的实现语言实现目标软件产品。 (5)测试流:测试从始至终与其他工作流并行进行。测试的主要特性有两方面:1)每个开发者和维护者都要负责确保自己的工作是正确的。因此,要对自己所开发或维护的每个软件制品进行测试、再测试。2)一旦软件人员确定软件制品是正确的,就将他交给软件质量保证小组进行独立测试。8. 统一过程的各阶段? (1)开

7、始阶段:目标是决定是否值得开发目标软件产品。 步骤: 1)获取该领域的知识。 2)建造业务模型。 3)限定提出项目的范围。 4)明确风险(三种): 1.技术风险。2.没有得到正确的需求。3.没有得到正确的体系结构。 文档也是每个阶段的基本组成部分。开始阶段可交付的内容有: 1.域模型的初始版本 2.业务模型的初始版本 3.需求制品的初始版本 4.分析制品的初步版本 5.体系结构的初始版本 6.风险的初始清单 7.初始用例 8.对细化阶段的计划 9.商业案例的初始版本 (2)细化阶段(第2次递增):目标是细化最初的需求,细化体系结构,监控风险和细化它们的属性,细化商业案例,以及生成软件项目管理计

8、划。 细化阶段可交付的内容有: 1.完成的问题域模型 2.完成的业务模型 3.完成的需求制品 4.完成的分析制品 5.体系结构的更新版本 6.风险的更新清单 7.软件项目管理计划(对于项目的余下部分) 8.完成的商业案例 (3)构建阶段(第3次递增):目标是产生软件产品的第一个可工作版本,也称版本。 构建阶段的可交付产品包括: 1.初始用户手册和其他用户手册 2.全部制品(版) 3.完成的体系结构 4.更新的风险清单 5.软件项目管理计划(可用于该项目的其余部分) 6.必要时,更新商业案例。 (4)转换阶段(第4次递增):目标是确保客户的需求切实得到满足。 转换阶段可交付的产品包括: 1.全部

9、制品(最终版) 2.完成的手册。9. 能力成熟度模型级别关键过程区1.初始级:临时过程不可应用2.可重复级:基本项目管理需求管理软件项目计划软件项目追踪和遗漏软件子合同管理软件质量保证软件配置管理3.定义级:过程定义组织过程聚集组织过程定义训练规划集成软件管理软件项目工程组间协调对等检查4.管理级:过程测量量化过程管理软件质量管理5.最优级:过程控制错误预防技术变更管理过程变更管理10. 各种组织方式的优缺点和组成方式小组组织优点缺点组成方式民主小组由于积极地寻找错误,因而代码质量高,特别适用于解决难的问题有经验的人反感新手的评价不能从外部强加有多达10个无我编程员组成传统的主程序员小组纽约时

10、报项目的主要成功之处不实用由主程序员,编程秘书,备程序员,和程序员组成修改的主程序员小组有许多成功的范例没有与纽约时报项目可比拟的成功范例主程序员有两个人替代:一个是小组领导,负责小组活动中技术的问题;另一个是小组经理,负责非技术性的管理事物。现代分级编程小组小组经理/小组领导结构避免对主程序员需求,可扩展,必要时支持分散决策除非明确小组经理和小组领导间的负责范围,否则容易产生问题由项目领导,小组领导,和程序员组成同步-稳定编程小组鼓励创造性,确保大量开发者为共同目标工作在Microsoft公司之外没有该方法的实例同步-稳定模型的每3个或4个连续构件都是由一些小的并行小组建造的,这些小组有一个

11、程序管理者领导,它由3-8个开发者和同开发者一对一工作的3-8个测试者组成敏捷过程编程小组程序员不测试自己的代码,如果一个程序员离开不会有损失,经验欠缺的程序员可以向其他人学习,代码具有小组所有权还没有更多的实例来证明他的功效两头程序员组成?开源小组少数项目非常成功应用面窄,需由出色的有号召力的人领导,需顶尖高手参与由非雇用的志愿者小组组成11. 软件工程工具? 逐步求精法和成本-效益分析法。12. 五种基本度量单位? (1)规模:以代码行或以更好地,更有意义的度量计; (2)成本:以美元计 (3)持续成本:以月计 (4)工作量:以人月计? (5)质量:以检测到的错误数计13. 软件版本:什么

12、是修订版?什么是变种版? 修订版:假设已在许多不同的地点安装了产品,如果在一个制品中发现了错误之后,修复了该产品。经过适当的修改后,该制品会有两个版本,老版本和将要替代老版本的新版本。新版本成为修订版。 变种版:与专门替代前面版本的修订版不同,变种版是为了共存而设计的。14. 如何进行配置控制? 首先要做的是尝试再现该问题。然后用配置控制工具解决两个问题:第一,有必要区分版本,一边将每个制品的正确版本编译并链接到产品中;第二,存在相反的问题:给定一个可执行载入的映像,确定每个组件的哪个版本进入他了。15. 什么是基准? 维护的管理者必须建立一个基准,它是产品中所有制品的配置(版本集)。16.

13、怎么保持修改同步? 一旦决定修改哪个制品以修复错误,程序员将要冻结要修改的制品的当前版。其他程序员不能被冻结的制品。该维护程序员做完修改并经过测试后,安装该制品的新版,从而修改基准版。前一个被冻结的版本,仍保留以后备用,但不能改变它。一旦安装了新版,任何其他程序员都可以冻结这个新版本并且修改它,结果产生的制品又变成下一个基准版。如果两个或者更多的制品同时需要修改,可以进行类似的过程。17. 什么是SQA小组?作用是什么? SQA小组:软件质量保证小组 作用:1:确保开发者确实进行高质量的工作。 2:确保开发者的产品是正确的18. 走查和审查的区别? 走查的过程有两步:准备、随后小组对文档进行分

14、析。 审查过程有五步:概要、准备、审查、修订和跟踪,而且在这些步骤中,每一步接下来的过程都是形式化的。19. 测试应该测试什么? (1)实用性:在规格说明允许的情况下使用正确的产品时,满足用户需求的程度。 (2)可靠性:对产品故障出现的频率和严重性进行的测量 (3)健壮性: (4)性能:根据时间或空间的要求,知道产品所受限制的程度很重要 (5)正确性:如果提供了满足输入规格说明的输入,而且给产品提供所需的所有资源,那么如果产品的输出满足输出规格说明,则它是正确的。20. 正确性证明是干什么的? 正确性证明是显示产品正确的一种数学技术,它是一个数学证明过程。21. 什么是内聚?什么是耦合? 内聚:模块内部交互的程度 耦合:两个模块之间的交互程度22. 内聚的级别? 内聚级别由低到高:(1)偶然性内聚 (2)逻辑性内聚 (3)实践性内聚 (4)过程性内聚(5)通信性内聚 (6)功能性内聚 (7)信息性内聚23.耦合的级别? 耦合级别由高到低:(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号