版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Web第六章软件工程基础主要内容需求分析的方法概要设计的目标及方法详细设计的原则软件测试的方法CMM与项目管理需求分析方法—
结构化分析方法SA结构化分析(StructuredAnalysis,SA)是由DouglasRoss提出的,由DeMarco进行推广的。采用自顶向下、逐层进行功能分解的系统分析方法来定义系统的需求。适用于分析大型的数据处理系统。方法的特点:利用数据流图(DataFlowDiagram,DFD)来帮助理解问题,对问题进行分析。一般工具:DFD、数据字典、结构化英语、判定表、判定树等。需求分析的方法数据流图:描述数据处理过程的工具。数据字典:关于数据的信息集合,对数据流程图中的各个元素做出完整的定义和说明,是数据流图的补充。内容:数据流数据项数据结构数据存储处理逻辑外部实体需求分析的步骤调查分析分析与综合书写文档需求分析评审文档说明书:引言、任务概述、数据描述、功能要求、性能需求、运行需求、其他要求、附录。Jackson图
Jackson图由方框、连线及有特殊含义的一些标记组成。由于尽管数据结构种类繁多,但其数据元素之间的联系只有顺序、选择和循环三种,因此逻辑数据结构的类型也只有这三种。此外,结构化的程序中也只含有这三种基本结构。因此,使用Jackson图无论表达数据结构或程序结构,都是由这三种基本结构组合而成的。这三种基本结构在Jackson图中的表示符号如图所示。Jackson图
图
三种基本结构在Jackson图中的表示符号(a)顺序结构;(b)选择结构;(c);循环结构Jackson图
在图中,(a)图表示A由B、C和D三部分顺序组成;(b)图表示A根据分支条件由B、C、D三个部分中选择一个,注意A、B和C上均标有“°”标记表示选择;(c)图表示A由B重复若干次组成,注意B上标有“*”标记表示重复。由于Jackson图可直观、清晰地描述系统中的数据结构,成为了一种在需求分析和设计阶段均可采用的通用图形表达手段。
(1)分析问题,确定输入、输出数据的逻辑结构,并用Jackson图将其描述出来。如上面例子中的输入数据为职工档案文件和职工工资文件,输出数据为职工工资档案文件,用Jackson图表示的输入和输出数据结构如图1所示。图1输入和输出数据结构(a)输入数据的数据结构;(b)输出数据的数据结构
(2)找出输入数据结构和输出数据结构中有对应关系的单元,并按下列规则导出描述程序结构的Jackson图。所谓对应单元,是指在程序中具有因果关系,可以同时处理的数据单元。若这些单元在结构图中重复出现,则它们在输入结构和输出结构中重复出现的次数都相同时才算作是对应单元。●为每对输入结构与输出结构中有对应关系的数据单元在程序结构图的相应层次画一个处理框。●为输入数据结构中剩余的每一个数据单元在程序结构图的相应层次画一个处理框。●为输出数据结构中剩余的每一个数据单元在程序结构图的相应层次画一个处理框。
(3)列出完成结构图中各处理框功能的所有操作、分支及循环条件,并把它们放到程序结构图上的适当位置。在导出程序结构图的过程中,当顺序结构中混杂有循环或选择结构时,应通过增加中间层次对其进行改进,保证结构的清晰性。例子中所涉及的基本操作和条件如下:A.打开输入文件;B.新建工资档案文件;C.读取输入文件中的一条记录;D.关闭文件;E.合并生成工资档案记录;F.将工资档案记录写入文件;G.终止;I(1).输入文件未结束。将这些操作及条件分配到程序结构图的适当位置之后,结果如图5.26(a)所示。可以看到,在图5.26(a)中的产生工资档案文件顺序结构中,混有产生工资档案记录这个循环结构。为了防止混淆,应将其改进为图5.26(b)所示的程序结构图。图3加入基本操作和条件后的程序结构图(a)改进前的程序结构图;(b)改进后的程序结构图
(4)用Jackson伪代码写出程序的处理过程。Jackson方法中使用的伪代码和Jackson图完全对应,以下是与图5.23所示的Jackson图中三种基本结构对应的伪代码表示。
详细设计的原则为了能够使模块的逻辑描述清晰准确,在详细设计阶段应遵循下列原则。
(1)将保证程序的清晰度放在首位。(2)设计过程中应采用逐步细化的实现方法。(3)选择适当的表达工具。详细设计可采用的工具
1.程序流程图程序流程图是最早出现且使用较为广泛的算法表达工具之一,能够有效地描述问题求解过程中的程序逻辑结构。程序流程图中经常使用的基本符号如图所示:程序流程图中的基本符号(a)一般处理框;(b)输入/输出框;(c)判断框;(d)流程线;(e)起止框三种基本控制结构的流程图(a)顺序结构;(b)选择结构;(c)DO-WHILE循环结构N-S图中基本控制结构的表示符号顺序结构;(b)分支结构;(c)多分支CASE结构;(d)while-do结构;(e)do-until结构;(f)调用模块APAD中基本符号顺序结构;(b)分支结构;(c)多分支CASE结构;(d)当型循环;(e);直到型循环;(f)对s的细化图6.2程序流程图及导出的程序图(a)程序流程图;(b)程序图软件测试技术
软件测试基础
白盒测试技术
黑盒测试技术
软件测试计划和测试分析报告软件测试策略1.软件测试的概念软件测试是在软件投入运行前对软件需求分析、软件设计规格说明和软件编码进行查错和纠错(包括代码执行活动与人工活动)。找错的活动称测试,纠错的活动称调试。软件测试是为了发现错误而执行程序的过程。软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。2.软件测试的目的
(1)测试是一个为了寻找错误而运行程序的过程。(2)一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。(3)一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试的过程软件测试的方法
1.静态分析技术静态分析技术不执行被测试软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程图分析、符号执行等来找出软件错误。可以人工进行分析,也可以用测试工具静态分析程序来进行,被测试程序的正文作为输入,经静态分析程序分析得出分析结果。
(1)结构检查是手工分析技术,由一组人员对程序设计、需求分析、编码测试工作进行评议,虚拟执行程序,并在评议中作错误检验。此方法能找出典型程序30%~70%有关逻辑设计与编码的错误。
(2)流程图分析是通过分析程序流程图的代码结构,来检查程序的语法错误信息、语句中标识符引用状况、子程序和函数调用状况及无法执行到的代码段。此方法便于分析编码实现与测试结果分析。
(3)符号执行是一种符号化定义数据,并为程序每条路径给出符号表达式,对特定路径输入符号,经处理输出符号,从而判断程序行为是否错误,达到分析错误目的的方法。这种方法比数值计算复杂得多,易出错,又不适于非数值计算,故使用较少。2.动态测试技术动态分析是执行被测程序,由执行结果分析程序可能出现的错误。可以人工设计程序测试用例,也可以由测试工具动态分析程序来做检查与分析。动态测试包括功能测试和结构测试。它把程序看作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则描述了输入的定义域与输出值域的关系。这样动态测试的算法可归纳为:函数
输入的全体输出的全体函数的定义域函数的值域动态测试的算法(1)选取定义域中的有效值,或定义域外无效值。(2)对已选取值决定预期的结果。(3)用选取值执行程序。(4)观察程序行为,记录执行结果。(5)将(4)的结果与(2)的结果相比较,不吻合则程序有错。动态测试既可以采用白盒法对模块进行逻辑结构的测试,又可以用黑盒法做功能结构的测试和接口的测试,都是以执行程序并分析执行结果来查错。白盒测试技术
白盒测试概念如果已知产品的内部活动方式,就可以测试它的内部活动是否都符合设计要求。这种方法称白盒测试(White-boxTesting),它是对软件的过程性细节做细致的检查。白盒测试又称为结构测试或逻辑驱动测试,此方法是将测试对象比作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构和相关信息来设计或选择测试用例,对穿过软件的逻辑路径进行测试,可以在不同点检查程序的状态,以确定实际状态与预期状态是否一致。软件人员使用白盒方法测试程序模块的检查点主要包括:①对程序模块的所有独立的执行路径应至少测试一次;②对所有的逻辑判定,取“真”与取“假”两种情况都能至少测试一次;③在循环的边界和运行界限内执行循环体;④测试内部数据结构的有效性等。表面看来,白盒测试是可以进行完全的测试的,从理论上讲也应该如此。只要能确定测试模块的所有逻辑路径,并为每一条逻辑路径设计测试用例,并评价所得到的结果,就可得到100%正确的程序。但实际测试中,这种穷举法是无法实现的,因为即使是很小的程序,也可能会出现数目惊人的逻辑路径。如图所示是一个小程序的流程图。图中,一个圆圈代表一行源程序代码(或一个语句块)。其中有五条通路,左边曲线箭头表示执行次数不超过20次循环。这样的执行路径就有520个,近似为1014个可能的路径。如果1ms完成一个测试,由此测试程序需3170年。由此看出,即使精确地实现了白盒测试,也不能断言测试过的程序全正确,因为实行穷举测试,由于工作量过大,需用时间过长,实施起来是不现实的。这就是程序测试的经济学问题。既然在测试阶段穷举法测试是不可行的,那么为了节省时间和资源,提高测试效率,就必须精心设计测试用例。需从大量的可用测试用例中精选出少量的测试数据,使得采用这些测试数据能够达到最佳的测试效果,即能高效地、尽可能多地发现隐藏的错误。测试只能发现错误,并不能保证程序没有错误。白盒测试中的穷举测试黑盒测试技术黑盒测试概念黑盒测试方法是在已知产品应该具有的功能的情况下,通过测试来检验是否每个功能都能正常使用的测试方法。对于软件测试而言,黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试又称功能测试。使用黑盒测试法,为了做到穷举测试,至少必须对所有输入数据的各种可能值的排列组合都进行测试。与白盒法相似,由此得到的应测试的情况数往往大到实际上根本无法测试的程度,即黑盒测试使用所有有效和无效的输入数据来测试程序是不现实的。所以,黑盒测试同样不能做到穷尽测试,只能选取少量最有代表性的输入数据,以期用较少的代价暴露出较多的程序错误。黑盒测试技术其他测试方法条件测试:是检查程序模块中所包含逻辑条件的测试用例设计方法。数据流测试:按照程序中的变量定义和使用的位置来选择程序的测试路径。循环测试:是一种白盒测试技术.包括简单循环、串接循环、嵌套循环、不规则循环。CMM与项目管理CMM(CapabilityMaturityModel)软件过程能力成熟度模型。五个等级:
初始级→可重复级→已定义级→已定量管理级→优先级项目管理项目管理:项目资源项目目标项目需求项目管理的原则和方法:全目标管理过程管理:启动、计划、执行、控制、结束整合管理:目标整合、方案整合、过程整合ASP由微软创建的Web应用开发标准,ASP服务器已经包含在IIS服务器中,ASP服务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电商服务平台开发合同
- 《公共管理专业导论》教学大纲
- 2024年矿山开采土石方清运合同3篇
- 专用个人焊接服务协议2024版范本
- 12《总也倒不了的老屋》说课稿-2024-2025学年统编版语文三年级上册
- 2025版25MW柴油发电机电站智能化管理系统技术服务协议3篇
- 2024年食品企业员工固定期限劳动协议范本版B版
- 2025版出轨离婚协议书范本及财产分配及子女赡养费协议3篇
- 14穷人 说课稿-2024-2025学年六年级上册语文统编版
- 2024服装厂工人劳动合同
- 厂房租赁合同标准版(通用10篇)
- 《教育心理学》教材
- 易制毒化学品安全管理制度(3篇)
- 建设单位业主方工程项目管理流程图
- 断裂力学——2Griffith理论(1)
- 风电场岗位任职资格考试题库大全-下(填空题2-2)
- 安全施工专项方案报审表
- 学习解读2022年新制定的《市场主体登记管理条例实施细则》PPT汇报演示
- 制冷与空调作业实操考核标准
- 好氧废水系统调试、验收、运行、维护手册
- 火灾直接财产损失申报表
评论
0/150
提交评论