安徽工程大学软件工程复习资料(共14页).docx
![资源得分’ 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)
《安徽工程大学软件工程复习资料(共14页).docx》由会员分享,可在线阅读,更多相关《安徽工程大学软件工程复习资料(共14页).docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上微型计算机及接口专业:计算机科学与技术计算机科学与技术21022013年6月第一章软件定义:软件是:(1)指令的集合(计算机程序),通过执行这些指令来满足预期的特征、功能和性能需求; (2)数据结构,使得程序可以合理的利用信息;(3)文档描述,用来描述程序操作和使用。软件与硬件的区别:(1)软件是设计开发的,而不是传统意义上的生产制造的。(2)软件不会“磨损”。(3)虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的这张图表示的意思?(1)在完整的生存周期里,软件将会面临变更,每次变更都可能引入新的错误。不断的变更是软件退化的根本原因。
2、(2)软件维护要应对变更请求,比硬件维护更为复杂。软件工程定义:1.种子定义:软件工程是:建立和使用一套合理的工程原则,以便经济地获得可靠的、可以在实际机器上高效运行的软件。2.IEEE 定义:软件工程是:(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。(2)在(1)中所述方法的研究软件工程三要素:软件工程的基础是过程(process)层软件工程方法(method)为构建软件提供技术上的解决方法(“如何做”)软件工程工具(tool)为过程和方法提供自动化或半自动化的支持根基:质量关注点(软件工程的目标)软件工程五个最基本的过程框架活动是什么? 沟通
3、、策划、建模、构建、部署软件危机的概念、产生原因及其表现?a)软件危机:指的是在计算机软件开发和维护过程中所遇到的一系列严重的问题。b)表现:软件代价高、开发进度难以控制、工作量估计困难、质量差、修改维护困难。c)产生的原因:用户的需求不明确、缺乏正确的理论指导、软件规模越来越大、软件的复杂度越来越大、软件灵活行要求高、影响软件生产率与质量因素十分复杂。第二章瀑布模型特点: 文档驱动优点:(1)消除非结构化软件;(2)降低软件的复杂度,促进软件开发工程化。简述瀑布模型在实际运用中所面临的问题(缺点):1.实际的项目很少遵守瀑布模型提出的顺序。虽然线性模型可以加入迭代,但是它是用间接的方式实现的
4、,结果是,随着项目的推进,变更可能造成混乱。2.客户通常难以清楚地描述所有的需求。而瀑布模型却需要客户明确需求,因此很难适应在许多项目开始阶段必然存在的不确定性。3.客户必须要有耐心,因为只有在项目接近尾声的时候,他们才能得到可执行的程序。对于系统中存在的重大缺陷,如果在可执行程序评审之前没有被发现,将可能造成惨重损失。原型模型优点:(1)需求表示清楚,用户满意度较高(2)降低开始风险和开发成本缺点:(1)原型法不适用于开发大型的信息系统(2)系统难于维护(3)如果用户合作不好,盲目纠错,会拖延开发进程第四章需求工程包括七个不同的活动:起始、导出、精化、协商、规格说明、确认和管理为什么需求的捕
5、获这么难? 范围问题:系统的边界不清楚理解问题:客户并不能完全确定需要说明易变问题:需求随时间变化导出需求:协作收集需求、质量功能部署、用户的场景、调查表、对用户的现场观察等质量功能部署(QFD):是一种将客户要求转化成软件技术需求的质量管理技术。用例(use case):是外部可见的系统单元,这些功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。测试用例(testing case):指为实施一次测试而向被测试系统提供的输入数据,操作各种环境设置。会画简单的用例图:用例的关系:包含(include)、扩展(extend)、关联(ascociation)、泛化(g
6、eneralization)用例规约的基本内容:简要说明、事件流、用例场景、特殊需求、前置条件、后置条件第五章需求建模涉及的方法:结构化分析方法、面向对象分析方法基于建模的元素:基于场景模型、基于类模型、基于行为模型、基于流模型用例图、活动图、类图(应用题):基本画法、基本关系第六章数据流图(DFD)的四个符号:即外部实体、数据加工、数据流和数据存储(07年软件设计师下午试题一)状态图、顺序图第七章模块化(Modularity):是关注点分离最常见的表现,软件被划分为独立命名的、可处理的构件,有时被称为模块,把这些构建集成到一起可以满足问题的需求。模块化的优点:模块化设计(以及由其产生的程序)
7、是开发工作更易于规划,可以定义和交付软件增量,更容易实施变更,能够更有效地开展测试和调试,可以长期维护而没有严重的副作用。独立性可以通过两条定性的标准进行评估:内聚性和耦合性。内聚性显示了某个模块相关功能的强度。耦合性显示了模块间的相互依赖性。为什么我们总是努力构造独立模块?(翻译)具有有效模块化(也就是独立模块)的软件更容易开发,这是因为功能被分隔而且接口被简化。独立模块更容易维护和测试,因为修改设计或修改代码所引起的副作用被限制,减少了错误扩散,而且模块复用也成为可能。概括的说,功能独立是良好设计的关键,而设计又是软件质量的关键。第八章体系风格的分类:以数据为中心的体系结构数据流体系结构调
8、用和返回体系结构面向对象体系结构层次体结构结构设计是一种映射技术,常被作为面向数据流的方法,因为它提供了从数据流图到软件体系结构的便捷的转化变换的七个步骤:1评审基本系统模型 2评审和精化软件的数据流图 3确定DFD是否含有变换流或事物流特征 4通过确定输入和输出流的边界,分隔出变换中心 5完成“第一级分解” 6完成“第二级分解” 7使用提高软件质量的设计启发式方式,精化第一次迭代得到的体系结构数据流图(DFD)一般可分为“变换流”,“事物流”两种。变换流(transform flow):由输入、输出、变换三部分组成,是一顺序结构。事物流:它的某个加工,分离成许多发散的数据流,形成许多加工路径
9、,并且根据输入值选择其中一个路径来执行。第九章构件(Component):系统中模块化的、可部署的和可替换的部件,该部件封装了实现并暴露一组接口。内聚性(Cohesion):内聚性指一个模块内部各个元素彼此结合的紧密程度的度量。耦合性(Coupling):耦合性是指模块间互相连接的紧密程度的度量。结构化程序设计的特征是程序模块只有一个入口和一个出口、程序中只包含顺序、条件和循环三种控制结构。决策表(应用题)十四章软件测试的总体策略过程:单元测试、编码、集成测试、设计、确认测试、需求、系统测试、系统工程单元测试的目的:验证代码能否达到详细设计的预期要求。发现代码中不符合编码规范的地方。准确定位发
10、现的错误,以便排除错误。集成测试的优缺点(自顶向下集成):优点:能尽早地对程序的主要控制和决策机制进行检验,因此较早地发现错误。缺点:在测试较高层模块时低层处理采用桩模块替代不能反映真实情况,重要数据不能及时回送到上层模块,因此测试并不充分。回归测试(regression testing):是指在发生修改之后重新测试先前的测试以保证修改的正确性。alpha测试是在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误。Beta测试是用户公司组织各方面的典型终端用户在日常工作中实际使用beta版本,并要求
11、用户报告异常情况,提出批评意见。区别:两者的主要区别是测试的场所不同。Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测试。Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。而beta测试的环境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数量相对比较多,时间不集中。一般地,alpha测试先于beta测试执行。通用的软件产品需要较大规模的beta测试,测试周期比较长。如果产品通过了beta测试,那么就可以正式发行了测试和调试的区别1。测试的目的是找出存在的错误;而调试的目的是定位错误并修改程序以修改错误。2。调试是测试之
12、后的活动,测试和调试在目标,方法和思路上都有所不同3。测试从一个已知的条件开始,使用预先定义的过程,有预知的结果;调试从一个未知的条件开始,结束的过程不可预计4。测试过程可以实现设计,进度可实现确定;调试不能描述过程或者持续时间。5。测试是在软件生命周期的全过程中,而调试只在软件生命周期的编码阶段中6。测试主要由测试人员进行,而编码主要由开发人员进行。软件测试:软件测试是为了度量和提高被测试软件的质量,对测试条件进行工程设计,实施和维护的整个生命周期过程。白盒测试(White-box testing):有时也称为玻璃盒测试,是一种测试用例设计方法,它利用作为构件层设计的一部分所描述的控制结构来
13、生成测试用例。黑盒测试(Black-box testing):也称行为测试,侧重于软件的功能需求。即黑盒测试使软件工程师能设计出将测试程序所有功能需求的输入条件集。基本路径测试(应用题)黑盒测试和百合测试的区别:前者基于功能,后者基于结构。黑盒测试常用技术:边界值、等价类、因果图、错误推测法等白盒测试常用技术:静态结构分析法、逻辑覆盖法、基本路径测试法、域测试。复杂性(yclomatic):是一种软件度量,它为程序的逻辑复杂性提供一个量化的测度;导出测试用例:1 以设计或源代码为基础,画出相应的流图。 2 确定所得流图的环复杂性。 3 确定线性独立路径的基本集合。 4 准备测试用例,强制执行基
14、本集合中的每条路径。(课本396-398)等价类划分的基本思路:先从程序的规格说明书中找出各个输入条件,再为每个输入条件划分两个或多个等价类,形成若干的互不相交的子集。等价类划分步骤:(1)先考虑输入数据的类型(合法型和非法型)(2)再考虑数据范围(合法型中的合法区间和非法区间)(3)画出示意图,区分等价类(4)为每一个等价类编号。需求分析的方法:结构化分析(传统建模方法)、面向对象分析。一、结构化分析方法1、结构化分析方法(Structure Analysis-SA)(1) 定义是面向数据流进行需求分析的方法,采用自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系
15、统的逻辑模型。(2)结构化分析的主要步骤通过对用户的调查,以软件的需求为线索,获取当前系统的具体模型;去掉具体模型中非本质因素,抽象出当前系统的逻辑模型;根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型;完善目标系统并补充细节,写出目标系统的软件需求规格说明。2、结构化分析方法使用的常用工具(1)数据流图(DFDData Flow Diagram ) 作用从数据传递和加工的角度,在需求分析阶段以图形的方式描述数据流从输入到输出的移动变换过程,为系统建立逻辑模型。 注意:数据流图中的箭头表示的是数据流。程序流程图中的箭头表示的是控制流。 数据流图中的基本图形符号意义 数据流图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安徽 工程 大学 软件工程 复习资料 14
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内