全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
?软件工程的基本原理:1.用分阶段的生命周期计划严格管理;2.坚持进行阶段评审;3.实行严格的产品控制;4.采用现代程序设计技术;5.结果应能清楚地审查;6.开发小组的人员应该少而精;7.承认不断改进软件工程实践的必要性。?什么是软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重的问题。?什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型、螺旋模型的优缺点,说明每种模型的使用范围。软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。适用中小型项目。 快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少 快速原型模型的优点:不适用大型软件的开发适用于小型项目。 增量模型的优点:1短期内可以交付满足部分用户需求的功能产品;2逐步增加功能可以让用户去适应新产品;3开放式的软件可维护性比较好;4开始第一构件前,已经完成需求说明。增量模型的缺点:1对现有产品功能造成破坏;2意义上的矛盾适用于中型软件的开发螺旋模型的优点:1集成了瀑布模型、快速原型模型、增量模型的优点;2支持用户需求动态变化;3需求分析与软件实现紧密联系相互依赖;4原型作为刑式的可执行的需求规格说明,即利用用户和开发人员共同理解,又可作为后续开发的基础;5为用户参与决策提供方便;6提高目标软件的适应能力;7降低风险;8在大型软件开发过程中充分发挥优势。螺旋模型的缺点:1迭代次数影响开发成本,延迟提价时间;2找不到关键改进点,人才、物力、财力时间引起无谓消耗;3成于风险分析,败于风险分析。适用于内部开发的大规模软件项目。?软件生命周期每个阶段的基本任务:问题定义;可行性研究;需求分析;总体设计;详细设计;编码和单元测试;综合测试;软件维护。?在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 技术可行性、经济可行性、操作可行性?从哪些方面验证软件需求的正确性?一致性,所有需求必须是一致的,任何需求不能和其他需求互相矛盾。 完整性,需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。 现实性,指定的需求应该是用现有的硬件技术和软件技术基础上可以实现的,对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。 有效性,必须证明需求是正确有效的,确实能解决用户面对的问题。?为什么模块的独立性很重要?1有效的模块化的软件比较容易开发出来;2独立的模块比较容易测试和维护3模块独立式好设计的关键,而设计又是决定软件质量的关键环节。?在进行软件结构设计时的启发原则?(1)改进软件结构提高模块独立化(2)模块规模应该适中(3)深度、宽度、扇出和扇入都应适当(4)模块的作用域应该在控制域之内(5)力争降低模块接口的复杂程度(6)设计单入口单出口的模块(7)模块功能应该可以预测?内聚和耦合从小到大排序?1耦合:数据耦合、控制耦合、特征耦合、公共环境耦合、内容耦合 2内聚:低内聚(偶然内聚、逻辑内聚、时间内聚)、中内聚(过程内聚、通信内聚)、高内聚(顺序内聚、功能内聚)?我们在设计耦合式的设计原则?尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内耦合。?软件测试准则是什么?(1)所有测试都应该能追溯到用户需求;(2)应该远在测试开始之前就制定出测试计划;(3)把Pareto原理应用到软件测试中;(4)应该从“小规模”测试开始,并逐步进行“大规模”测试;(5)穷举测试是不可能的;(6)为了达到最佳的测试效果,应该由独立的第三方从事测试工作。?黑盒测试、白盒测试的基本概念?(1)黑盒测试,如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用。(2)白盒测试,如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。?大型的软件测试分几步进行?答:模块测试、子系统测试、系统测试、验收测试、平行运行?非渐增式测试和渐增式测试优缺点比较答:非渐增式测试一下子把所有模块放在一起,并把庞大的程序作为一个整体来测试,测试者面对的情况十分复杂。测试时会遇到许许多多的错误,改正错误更是极端困难,因为在庞大的程序中想要诊断定位一个错误是非常困难的。而且一旦改正一个错误之后,马上又会遇到新的错误,这个过程将继续下去,看起来好像永远也没有尽头。 渐增式测试与“一步到位”的非渐增式测试相反,它把程序划分成小段来构造和测试,在这个过程中比较容易定位和改正错误;对接口可以进行更彻底的测试;可以使用系统化的测试方法。因此,目前在进行集成测试时普遍采用渐增式测试方法。?使用渐增式把模块结合到程序中去时,有自顶向下和自底向上两种集成策略。 自顶向下测试方法的主要优点是不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误。 自顶向下测试方法的主要缺点事需要存根程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力。自底向上测试方法的优缺点与之相反。16 DFD和软件结构图的区别?答:DFD是逻辑模型(由实际业务抽象而来,平面图描述功能。 软件结构图是物理模型(有DFD而来,立体图描述模块功能的分解。17什么是回归测试?答:是指重新执行已经做过的测试的某个子集,以保证上述这些变化没有带来非预期的副作用,用于保证由于调试或其他原因引起的变化,不会导致非预期的软件行为或额外错误的测试活动。18详细设计阶段的根本目标和任务是什么?(1)为软件结构中的每一个模块,使用的算法和模块内部的数据结构,并使用某种特定的表达工具给出清晰的描述。 (2)为每个程序设计“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。19什么是结构程序设计?如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。20计算环形复杂度的方法?(1)流图中的区域等于环形复杂度。(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。21什么是测试?它的目标是什么?(1)测试的正确定义是“为了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学安全知识竞赛题库及答案
- 事业编考试题及答案
- 2025年税务师《财务与会计》测测试题
- 一级建造师建筑工程实务真题(案例)
- 2020年上海市《口腔内科学》测试卷(第700套)
- 《计算机应用基础》(本)网上作业答案
- 国家开放大学《学前儿童社会教育》形考4答案
- 2025年医院服务能力与质量安全培训考核试题
- 五一矿安全培训单项选择题试题
- 养老护理员(技师)考试题库试卷
- 妊娠期发生糖尿病护理个案
- 土地测绘服务合同5篇
- 计算机信息系统安全分级保护实施方案
- 老年助餐服务项目实施计划及效果评估
- 2026年全球美容与个人护理趋势预测报告
- 2025年辽宁省中小学教师招聘考试真题及答案
- 医疗质量安全核心制度落实情况监测方案附分工表、数据模板
- 《成人肠道菌群移植的护理规范》
- 高职教师职业转型培训方案
- 催收公司新人培训
- 躯体症状及相关障碍课件
评论
0/150
提交评论