软件工程复习.docx
《软件工程复习.docx》由会员分享,可在线阅读,更多相关《软件工程复习.docx(10页珍藏版)》请在三一文库上搜索。
1、第一章概述1、软件危机、软件危机产生的原因2、软件工程3、软件工程学的主要内容4、软件工程过程5、软件生命周期6、软件生命周期模型(SWlifecyclemodel)及各自特点7、软件工程要到达的目标?8、RUP开发过程有何特点?9、软件危机的表现10、解决软件危机的途径Ik演化模型的特点12、快速原型模型的特点?13、软件生存周期分为哪些阶段?各阶段又有哪些根本任务?14、可行性研究的主要内容(第一章的内容请大家自己整理)第二章需求分析1、可行性报告要有结论;或及时中止不可行的工程。2、软件需求是进行软件设计、实现和质量度量的基础。3、需求分析是发现、逐步求精、建模、规格说明和复审的过程。4
2、建立模型是描述用户需求,定义需求,用以验收产品。5、数据模型用实体-关系图来描述数据对象及相互关系。6、功能模型用数据流图来描述。7、行为模型用状态转换图来描绘。8、数据字典用来描述软件使用或产生的所有数据对象、数据存储规则和处理算法等。9、需求分析阶段还应写出软件需求规格说明,有时附上可执行的原型及初步的用户手册。它是需求分析阶段的最终成果。10、复审:需求分析的结果要经过严格的审查,确保软件需求的一致性、完整性、现实性和有效性。Ik软件过程改良的实际意义一般软件组织都有它采用的软件过程模型。软件组织在进行具体软件工程时采用的软件过程,称为软件过程实例。成功的软件过程改良,无论是对模型还是
3、对实例的改良,都可以为软件组织提高效率、减少错误、保证进度、提高质量。据一些持续采用CMM进行了三年以上过程改良的软件组织报告,过程改良典型的投资回报率是7:K通过过程改良,软件组织的平均年生产率递增37除缺陷在测试前被发现的比例年增长率18%产品投放市场的时间平均提前19%,现场错误年平均降低45虬12、软件过程改良的原则与步骤原则1过程改良建立在过程评价和过程度量基础上;2软件过程改良是一个持续的过程;3过程改良活动本身应当被作为一个过程改良工程来完成;4将过程度量用于对改良过程进行监控,以便及时对改良活动做必要的调整;5适当地重复软件过程评价活动。步骤1制定过程改良方案2评价各个改良方案
4、3对改良方案进行排序4估计实施的进度表5获得管理层的承诺第三章概要设计1、概要设计的目的与任务:通过这个阶段的工作将划分出组成系统的物理元素一一程序、文件、数据库、人工过程和文档等等,另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。概要设计的过程由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段概要设计过程包括下述9个步骤:1设想供选择的方案2选取合理的方案3推荐最正确方案4功能分解5设计软件结构6设计数据库7制定测试方案8书写文档9审查和复审2、概要设彳的工具、方法和结果(重点)1层次图2结构图3Jacksan图3、
5、如何选择程序设计语言实现系统1语言自身的功能;2系统用户的要求;3编码和维护本钱:4软件的兼容性:5可以使用的软件工具;6软件可移植性;7开发系统的规模;8程序设计人员的知识水平。第四章详细设计1、详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统2、详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设3、计出的处理过程应该尽可能简明易懂。4、详细设计的主要任务:每个模块的内部特性、使用的数据。5、过程设计就是用顺序、选择和循环三种结构的有限次组合或嵌套,描述模块功能的实现算法。6、过程设计阶段的工具:流程图、N_S图、问题分析图(PAD图)7、用户界面设计8、用户界面设
6、计问题IJTJTJ-_1234LLLL系统响应时间用户帮助设施出错信息处理命令交互用户界面设计是一个迭代的过程,一般步骤如下:1 先设计和实现用户界面原型。2 用户试用该原型,向设计者提出对界面的评价。3 设计者根据用户的意见修改设计并实现下一级原型。4 不断进行下去,直到用户满意为止。10、用户界面设计的根本原则(1)可靠性(2)简单性(3)易学习性和易使用性(4)立即反应性11、用户界面设计指南(1) 一般交互(2)信息显示(3)数据输入12、数据代码设计的原则、种类、方法1 数据输入、输出设计2 数据平安设计3 详细设计文档与复审13、如何进行时间管理1时间跟踪。时间管理首先要跟踪时间,
7、即对所用的时间进行跟踪,并保存一份完整和准确的记录。时间跟踪要使用工程记事本和标准的时间记录日志。2跟踪已完成的任务。除了记录时间,还要对时间段内产生的结果进行跟踪和记录,这样才能计算出工作效率。3活动分类。在时间跟踪的基础上,可以对活动分类,将重点放在那些占用大局部时间的少数几项活动上。在此基础上,可以分析和调整自己的时间分配优先级,判断自己是否承诺事情太多,时间不够用4作出时间安排。时间安排是如何使用时间的方案。可以使用时间安排表来编制时间安排方案。14、算法与程序运行的效率是直接相关的,为了提高程序的运行效率,在进行算法设计时应遵守的原则:1在编程前,尽可能化简有关的算术表达式和逻辑表达
8、式。2仔细检查算法中嵌套的循环,尽可能将某些语句或表达式移到循环外面。3尽量防止使用多维数组。4尽量防止使用指针和复杂的表达式。5采用快速的算术运算。6不要混淆数据类型,防止在表达式中出现类型混杂。7尽量采用整数算术表达式和布尔表达式。8选用高效率算法。15、模块?为什么要进行模块划分?模块(Module)是一组完成指定功能的语句,包括输入、输出、逻辑处理功能、内部信息、运行环境(与功能对应但不是一对一关系)。一个子程序、一个函数、一个对象等都是模块的例子。一个大的软件系统的所有的功能不可能都用一个模块来实现,人的处理能力也限制了模块不能太大太复杂。将一个大的软件系统,用几个模块来协作实现,每
9、个模块实现一局部功能,保证每个功能都用相应的模块来实现。将系统划分成模块就是把大的复杂的问题分解成许多容易解决的小问题,这就是大事化小、分而治之的思想,是人类对待复杂问题时采用的高明策略。16、为了提高模块的独立性,模块之间最好是数据耦合。17、各种内聚与耦合(请大家自己补充)18、信息流的种类1变换流(交换流)2事务流第五章实现1、通常把编码和测试统称为实现2、编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。3、软件测试基础1测试阶段的根本目标是在软件投入生产性运行之前尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用。2软件测试在软件生命周期中横跨两个阶
10、段:单元测试、综合测试。3软件测试的工作量往往占软件开发总工作量的40%以上,在极端情况,测试那种关系人的生命平安的软件所花费的本钱,可能相当于软件工程其他开发步骤总本钱的3倍到5倍4、软件测试的目标(1)测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现了至今为止尚未发现的错误的测试。5、测试原则:1.测试用例应由输入数据和预期的输出数据两局部组成,这样便于对照,有的放矢。2.测试用例,不仅选用合理的输入数据,还要选择不合理的输入数据,对不合理的输入数据,程序应拒绝接受,并输出相应的提示。3.除了应检查程序是否做
11、了它应该做的事,还应该检查是否做了它不应该做的事。例:打印信息时打出了用户并不需要的多余信息。4.应制定测试方案并严格执行,排除随意性。5.长期保存测试用例,因为以后还要用。(例修改后或以后的维修)6.对发现错误较多的程序段,应进行更深入的测试。7程序员防止测试自己的程序,心理状态的障碍。自己错误理解,应由别人或另外机构来测试。6、软件测试方法一般分为两大类:动态测试方法与静态测试方法,而动态测试方法中又根据测试用例的设计方法不同,分为黑盒与白盒测试两类。7、白盒法:把测试对象看作一个翻开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行
12、测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期状态是否一致。8、黑盒测试是功能测试,设计测试用例需要研究需求规格说明和概要设计说明中有关程序功能或输入输出之间的关系等信息,9、单元测试内容1、主要检查数据能否正确地通过模块。检查的主要内容是参数的个数、属性及对应关系是否一致。2、局部数据结构:(局部数据结构主要检查一下几个方面的错误)说明不正确或不一致;初始化或缺省值错误;变量名未定义或拼写错误;数据类型不相容;上溢或下溢,地址错等。3、重要的执行路路径:(白盒法)4、错误处理:检查能否处理,外部输入错误或内部处理引起的错误;对错误不能正确描述,或描述内容难以理解在错误处理之前
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习
