- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4、软件工程的目标和与原则 (1)软件工程目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、 可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。 (2)软件工程需要达到的基本目标应是:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发,及时交付使用。 3.1 软件工程基本概念 * 结构化分析的常用工具:1)数据流图(DFD);2)数据字典(DD); 3)判定树;4)判定表。 数据流图 上图是数据流图的基本图形元素:数据字典 *数据字典的作用是对数据流图中出现的被命名的图形元素的确切解释。*数据字典是结构化分析方法的核心。 在结构化分析使用的数据流图(DFD)中,利用 数据字典 对其中的图形元素进行确切解释。 3.2 结构化分析方法 * 1、软件设计的基础 *需求分析主要解决“做什么”的问题,而软件设计主要解决“怎么做”的问题。 从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。 从工程角度来看,软件设计分两步完成,即概要设计和详细设计。 软件设计的基本原理包括:抽象、模块化、信息隐蔽和模块独立性。 2、总体设计(概要设计)和详细设计 (1)总体设计(概要设计) 常用的软件结构设计工具是结构图,也称程序结构图。程序结构图的基本图符: 模块用一个矩形表示,箭头表示模块间的调用关系。在结构图中还可以用带注释的箭头表示模块调用过程中来回传递的信息。还可用带实心圆的箭头表示传递的是控制信息,空心圆箭心表示传递的是数据 3.3 结构化设计方法 * 经常使用的结构图有四种模块类型:传入模块、传出模块、变换模块和协调模块。其表示形式如下图: 它们的含义分别是: 传入模块:从下属模块取得数据,经处理再将其传送给上级模块。 传出模块:从上级模块取得数据,经处理再将其传送给下属模块。 变换模块:从上级模块取得数据,进行特定的处理,转换成其他形式,再传送给上级模块。 协调模块:对所有下属模块进行协调和管理的模块。 数据流的类型:大体可以分为两种类型,变换型和事务型。 3.3 结构化设计方法 * (2)详细设计 *详细设计的任务是确定实现算法和局部数据结构,不同于编码或编程。常用的过程设计(即详细设计)工具有以下几种: 图形工具:程序流程图、N-S(方盒图)、PAD(问题分析图)和HIPO(层次图+输入/处理/输出图)。 程序流程图中主要元素:1)方框:表示一个处理步骤2)菱形框:表示一个逻辑条件3)箭头:表示控制流向 08年4月选择题第1题 程序流程图中带有箭头的线段表示的是C A)图元关系 B)数据流 C)控制流 D)调用关系 表格工具:判定表。 语言工具:PDL(伪码) 3.3 结构化设计方法 * 1、软件测试 *软件测试的目的:尽可能地多发现程序中的错误,不能也不可能证明程序没有错误。 07年4月选择题第3题 下列叙述中正确的是 AA) 软件测试的主要目的是发现程序中的错误B) 软件测试的主要目的是确定程序中错误的位置C) 为了提高软件测试的效率,最好由程序编制者自己来完成软件的测试工作D) 软件测试是证明软件没有错误 2、软件测试方法:静态测试和动态测试。 动态测试:主要包括白盒测试方法和黑盒测试方法。 3.4 软件测试 * (1)白盒测试 白盒测试的基本原则:保证所测模块中每一独立路径至少执行一次;保证所测模块所有判断的每一分支至少执行一次;保证所测模块每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。 语句覆盖:选择足够的测试用例,使得程序中每一个语句至少都能被执行一次。 路径覆盖:执行足够的测试用例,使程序中所有的可能的路径都至少经历一次。 判定覆盖:使设计的测试用例保证程序中每个判断的每个取值分支(T或F)至少经历一次。 条件覆盖:设计的测试用例保证程序中每个判断的每个条件的可能取值至少执行一次。 判断-条件覆盖:设计足够的测试用例,使判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能取值分支至少执行一次。 *覆盖的强度依次是:语句覆盖路径覆盖判定覆盖条件覆盖判断-条件覆盖。 07年9月填空题第2题 在两种基本测试方法中,路径覆盖测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。 3.4 软件测试 * (2)黑盒测试 黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例,主要方法有等价类划分法、边界值分析法、错误推测法等,主要用软件的确认测试。 07年4月填空题第2题 软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于 黑盒
原创力文档


文档评论(0)