软件工程基础知识点.docx
《软件工程基础知识点.docx》由会员分享,可在线阅读,更多相关《软件工程基础知识点.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程基础学问点整理1109070211 朱染晅 土建 112一.软件工程基本概念:1 .软件定义:是计算机系统中及硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。(1)程序是软件开发人员依据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。(2)数据是使程序能够正常操作信息的数据结构。(3)文档是及程序开发、维护和运用有关的图文资料。注:国标()计算机软件的定义:及计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。2 .软件特点:(1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分;(2)软件的生产及硬件不同
2、,它没有明显的制作过程;(3)软件在运行、运用期间不存在磨损、老化问题;(4)软件的开发、运行对计算机系统具有依靠性,受计算机系统的限制,这导致了软件移植的问题;(5)软件困难性高,成本昂贵;(6)软件开发涉及诸多的社会因素3 .软件分类:依据功能可以分为:应用软件、系统软件、支撑软件(或工具软件)来而不考虑其他细微环节。2)模块化。解决一个困难问题时自顶向下逐步把软件系统划分成一个个较小的、相对独立但又不相互关联的模块的过程。注:模块是在程序中数据说明、可执行语句等程序对象的集合。3)信息隐藏。每个模块的实施细微环节对于其他模块来说是隐藏的。4)模块独立性。软件系统中每个模块只涉及软件要求的
3、具体的子功能,而和软件系统中其他的模块的接口是简洁的a.模块的耦合性和内聚性是衡量软件的模块独立性的两个定性指标。.内聚性:是对模块功能强度的度量,即对一个模块内部各个元素(语 句之间、程序段)间彼此结合的紧密程度的度量。b.耦合性:是模块间相互连接的紧密程度的度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。注:一个设计良好的软件系统应具有高内聚、低耦合的特征。在结构化程序设计中,模块划分的原则是:模块内具有高内聚度,模 块间具有低耦合度。软件设计有两个步骤:概要设计(总体设计)和具体设计(过程设计)O(1)概要设计(又称结构设计)是将软件需求转化为软件体系结构、确定系统级接口、
4、全局数据结构或数据库模式;(2)具体设计是确定每个模块的实现算法和局部数据结构,通过对结构表示进行细化,得到软件的具体数据结构和算法。11 .软件概要设计的基本任务是: 1)设计软件系统结构;2)数据结构及数据库设计;3)编写概要设计文档; 4)概要设计文档评审。概要设计的图形工具:层次图、图和结构图12 .结构图是常用的软件结构设计工具,相关术语如下: 1深度:表示限制的层数。2上级模块、从属模块:上、下两层模块a和b,且有a调用b,则a是上级模块,b是从属模块。3宽度:整体限制跨度(最大模块数的层)的表示。4扇入:调用一个给定模块的模块个数。5扇出:一个模块干脆调用的其他模块数。6原子模块
5、:树中位于叶子结点的模块。13 .具体设计的常用工具:1 .程序流程图(程序框图)2图,也称盒图3问题分析图4、过程设计语言六.了里软件测试的目的和准则1 .软件测试就是保证软件质量的重要手段,其主要过程涵盖了整个软件生命周期的过程,包括需求定义阶段的需求测试、编码阶段 的单元测试、集成测试以及后期的确认测试、系统测试、验证软件是否合格、能否交付给用户运用。软件测试就是运用人工或自动手段来运行或测定某个系统的过 程,其目的在于检验它是否满足规定的需求或是弄清预期结果及实际 结果之间的差别。2 .软件测试的原则: 1)全部测试都应追溯到需求3)2)严格执行测试安排,解除测试的随意性避开由软件开发
6、人员测试自己的程序,充分留意测试中的群集性 现象4)除了很小的程序外,“彻底”的穷举测试是不行能的 5)妥当保存测试安排、测试用例、出错统计和最终的分析报告,为维护供应便利 软件测试的每一次测试都须要打算好一些测试数据,及被测程序一起 输入到计算机中执行;一般把程序执行一次须要的一组测试数据和该组测试数据可以得出 怎样的输出结果(期望结果)称为一个“测试用例”,每一个测试用例 产生一个相应的“测试结果”,假如它及“期望结果”不相符合,说 明程序中存在错误,须要改正错误。测试是对软件规格说明、设计和编码的最终的复审,所以软件测试贯 穿在整个软件开发期的全过程。七.软件测试的方法和实施对于软件测试
7、方法和技术,可以从不同的角度加以分类。从是否须要执行被测软件的角度,软件测试分为静态分析和动态测试 依据功能划分,动态测试又分为白盒测试和黑盒测试 静态测试一般是指人工评审软件文档或程序,借以发觉其中的错误, 由于被评审的文档或程序不必运行,所以称为静态的。静态测试包括代码检查、静态结构分析、代码质量度量等。动态测试是指通过运行软件来检查软件中的动态行为和运行结果的 正确性,也就是常说的上机测试。动态测试一般包括两个基本要素:被测程序和测试数据 测试能否发觉错误取决于测试用例的设计。动态测试的设计测试用例的方法一般分为黑盒测试和白盒测试。白盒测试也称结构测试,它及程序内部结构相关,要利用程序结
8、构的 实现细微环节设计测试用例,它涉及程序风格、限制方法、源程序、 数据库设计和编码细微环节。黑盒测试 是测试者已经知道被测程序的功能,而对程序内部的逻辑结构和处理 过程完全不用考虑,只是对它的每一个功能进行测试,将测试后的结 果及期望的结果进行分析比较,检查程序的功能是否符合规格说明书 的要求。黑盒测试是在程序接口进行的测试 测试用例设计测试用例是由测试数据和期望结果组成。设计测试用例的目的就是用完可能少的测试数据,达到尽可能大的程序覆盖面,发觉尽可能多的 软件错误和问题 用白盒法设计测试用例常用以下几种技术:语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖 用黑盒法设计测试用例常
9、用以下几种技术: 等价类划分法 边界值分析法错误推想法因果图法 软件测试的实施单元测试:是对每一个编制好的模块进行测试,其目的在于发觉 和解除各模块内部可能存在的差错及具体设计中产生的错误。进行单 元测试时,依据程序的内部结构设计测试用例,主要采纳白盒测试法 软件测试的实施集成测试。是在单元测试的基础上,将全部模块依据设计要求组 装成为系统而进行的测试,它的任务是检查模块间的接口和通信、各 子功能的组合能否达到预期要求的功能、全程数据结构是否有问题等。集成测试主要发觉设计阶段产生的错误,通常采纳黑盒测试法 软件测试的实施 集成测试时,将各个模块组装成系统的方法有: 非增量组装方式是先分别对每个
10、模块进行单元测试,再把全部模块按 设计要求组装在一起进行测试,最终得到所要求的软件 增量组装方式是把下一个要测试的模块同已经测试好的那些模块结 合起来进行测试,测试完以后再把下一个应当测试的模块结合进来测软件测试的实施 确认测试。确认测试是在集成测试通过后,在用户的参及下进行 确认测试。这时通常运用实际数据进行测试,以验证系统是否能满足 用户的实际须要。它的任务就是以需求规格说明书作为依据来验证软 件的性能、功能及其他特征是否及用户的要求一样,通常采纳黑盒测软件测试的实施 系统测试。系统测试是在更大范围内进行的测试。系统测试是把 通过确认测试后的软件及计算机硬件、外设、某些支持软件、数据和 人
11、员等结合在一起,在实际运行环境下,对计算机系统进行的一系列 集成测试和确认测试调试也称排错或纠错。八.程序的调试程序调试的任务:诊断和改正程序中错误。软件测试贯穿整个生命周期,调试主要在开发阶段。程序调试的基本步骤:(1)错误定位;(2)订正错误;(3)回来测试。对软件主要的调试方法可以采纳:1)强行排错法。2)回溯法。3)缘由解除法。软件调试可分为静态调试和动态调试。1 .静态调试就是指对源程序进行分析,然后确定可能出错的地方并进 行排错。2 .动态调试是指对程序的运行进行跟踪并视察其出错点,然后进行排TH o(1)应用软件是为解决特定领域的应用而开发的软件。如:教务管 理系统、财务管理系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 基础 知识点
限制150内