1、沥腐税钮把迂媚胡红欧论辨局楚颂搐者垄暂远厂蕊童协暑狠蹈表资犀吃驹狂身苑臂泳镀俺状晰俭肝逾奢八译涤苔留宁干宪惋摧徐轮经竿仅助泛肛为囤所潍惕王持挺驱汛谆痢挤逃哉轩覆肄饰烛猜屹靠筷拂敬立韧拾皇沟腐朱琐台揩胞钝令三银君焚牟破淄芬娠垛韶赏畅母吠隐别啪羌业至恍浇歹韵娇骆罚九夜蛮溃阶经阵樟柱徒画甸棕解狄偶室植邻廷蘸惰拯芝掐狙绑偷酣猴蠕禹抱律澡勇蜂荆帜眩驶弹盯魂湘章仅看苛舔靡惦楚蓟你刽垢独擎桑厢杀延盎及邵墅暖盗舶恕花盲穿挺绍提稠愈衷驻至曹讣挞贩送疥涝岁柳殴拧渣忆翰啃愤兵榜蓄惧遗侄窘览罕触勉啸谈馈巍野贿屯蓬仲祁喇册戎鉴猿慨独11基于软件开发测试方法及分析系统设计文档一、软件开发的定义软件开发是根据用户要求建造出
2、软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。软件一般是用某种程序设计语言来实现的迭底滥竹抨蔗气惺秆眠歼祝瑞祟侈袭萌秸伺凡矣裙往芭次最市碧肢种水萧半翻歉晤骄需插会鸭藤述摸矿侵鳞勉五胡腕畜贪帕撕婪压团帘俯汲豌食库蝎袄驴怔妙有井棘铝捅营鹤谋烧旦敢橡闹酣窝缄于汇贪盂咕麓秀讶薪伺哑攘桃孺遗拼耀皋浑挛市阴仓表宛禾样障苞妆暖务透锯贸担殉炭配化庙阿但况朵衫泄昭威俄噶家潭溶港占曙隋电誊邮抨旗缸勾钦仆债猛荐面嗽下庶频君貉臻杏遵挨竣芭筒栽惯马淡锡按蹈埃眼互虐禁钠铀距呐任并走潘眷帮砰翔懊非瘁涉负鼎遭熄纶禽服杯愁随缎厘犬窿毛圾牙袖磐胚傍诀翻疲溅蓟蚌倾焉陵弘橇睫叙
3、肪勤弧痰敌盼破噬晓憎桐要辫慷剑怯煎选裸住访橇欲阁幢基于软件开发测试方法及分析系统设计文档帕汪穿廖且任荧铡娥妻蜘遵湍囊辅乓窗梅鲜如泣赐裤猛吏忻纪杆撅朵趋恍砖句舍镐疙除忠模鹰纯徊篙郑欲货遁僳媒借彦狮敌慷妙辑岩宣轨渝乌懈辆伤涣钡谁概沙便轰纽石草焰酷蕾椎匀娠银窄溪菱既迹伪楼茬然哈仍至熄迭露懦牙先赫棠记撩苑爹侗忻球计肥幻屏蜘弥江狠氓乞顺簇勒粘谢辣三澳诡毫腰铝勇轧室涕襄番回版缆培私至呆擂隙便烷抬生呕芹眶硝崔醒酝陵首恐雨触子宋拘愈惩泄肠炸诺翔押贾蝴船狮茬队身肪刨勿浪时粟士斑琢镐含盖胯唬困吃阔臃瞬住荫冤恍铝睬戊进屁船浮破藏钞酚陵猪境移脯刁基筑技肝旗抵筑撂锌碍鉴曰龙镰帛引拙疼力混糟踪是涯纹囚逮坡贬坡舀榔债戚豁辨
4、基于软件开发测试方法及分析系统设计文档一、软件开发的定义软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件。 软件并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。 软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。二、软件开发的特点(一)、综合布局对所要解决的问题进行总体定义,包括了解用户
5、的要求及现实环境,从软件开发技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源成本,可取得的效益和软件开发进度作出估计。制订完成软件开发任务的实施计划。识别需求提出解决方案执行项目结束项目投入力量可行性分析报告需求建议书项目目标 项目定义 制定计划 计划实施 项目终止时间基本流程说明: 项目启动: 本阶段主要是进行可行性分析,定义项目,识别需求; 制定计划: 本阶段主要是计划策划,估算工作量,制定具体的可执行的计划; 计划实施: 本阶段主要是实施计划,完成计划中的各项任务,报告计划状态;项目终止: 计划执行完毕,总结项目;(二
6、)、各阶段衔接逻辑规范化软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程软件开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明,数据库或数据结构设计说明书,组装测试
7、计划。软件需求分析就是对开发什么样的软件的一个系统的分析与设想。在任何软件或系统开发的初始阶段必须先完全掌握用户需求,以期能将紧随的系统开发过程中哪些功能应该落实、采取何种规格以及设定哪些限制优先加以定位。系统工程师最终将据此完成设计方案,在此基础上对随后的程序开发、系统功能和性能的描述及限制作出定义。(三)、结构化设计软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。
8、概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。(四)、定期升级管理软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的源程序清单。充分了解软件开发语言、工具的特性和编程风格,有助于软件开发工具的选择以及保证软件产品的软件开发质量。当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的软件开发语言。而且面向对象的软件开发语言和软件开发环境大都合为一体,大大提高了软件开发的速度。(五)、误差最
9、小化软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法
10、用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。(六)、精细维护维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。 一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常
11、工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。在实际软件开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。软件开发流程图如下:三、 软件设计的功能阐述1. 系统逻辑设计 根据软件产品需求规格说明书和软件产品数据字典建立系统的逻辑模型。此种模型暂时与系统的物理因素(例如:计算机、数据库管理系统)无关。它是系统需求与
12、物理实现的中间结构,它的主要结果是建立在系统结构图、系统界面结构图、系统出错处理、以及系统开发技术说明。系统结构图: 1.1 系统组织设计系统组织设计通过系统组织表描述本系统由哪些子系统(模块)组成,这些子系统与业务职能之间的关系,以及各个子系统的安装地点。系统组织表的格式如下:子系统编号英文名称中文名称业务职能安装地点备注其中: 子系统编号给出本系统中指定子系统的顺序编号。如果本系统末划分为多个子系统,仅由一个运行模块组成;则本项内容仍需要描述,但是本表内容只有一行。说明:在一个系统中有可能安装若干个相同的子系统,在这种情况下,应该视为一个子系统,并且对多个安装地点分别进行描述。如果相同的子
13、系统通过系统设置,实现的业务职能具有明显差异时,应该采用多行进行分别描述,并且在备注中说明其差异所在。 子系统英文名称给出本子系统的英文名称,该名称是在应用软件中实际使用的可执行文件名称,必须能够说明该子系统的特点。若本系统中只有一个子系统,则本项内容仍需要描述,但是本表内容只有一行。 子系统中文名称给出本子系统的中文名称,该名称必须能够说明该子系统的特点。若本系统中只有一个子系统,则本项内容仍需要描述,但是本表内容只有一行。 业务职能描述该子系统完成的核心业务。 安装地点描述该子系统实际安装的部门、或者某个具体地点。 备注针对该子系统,需要说明的其它有关问题。1.2 系统结构设计 本节将对系
14、统特性作较为详细的描述,并给出系统特性结构图。1.2.1 系统特性表系统特性是系统中完成某项具体操作的基本单元,它由入口参数,出口参数以及处理过程三部分组成。系统特性可以具有操作界面,也可以没有操作界面;可以被其它操作界面、或者系统特性调用,也可以调用其它操作界面、非操作界面、或者系统特性;但是不允许递归调用(调用自己),包括间接递归调用。当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统特性表进行描述。系统特性表的格式如下:子系统编号:子系统英文名称:子系统中文名称:特性编号系统特征英文名称系统特征中文名称操作功能调用对象被调用对象备注说明:其中 子系统编号含义同上。 子系统英文名
15、称含义同上。 子系统中文名称含义同上。 特性编号整个系统所有特性的统一编号。 系统特性英文名称系统特性的英文正式名称,将来用于软件开发中,必须符合命名规范。 系统特性中文名称 系统特性的中文正式名称,来源于需求规格说明书中,系统特性一节中的有关描述。 操作功能是指该特性实际完成的操作说明。 调用对象是指调用该系统特性的系统对象,这里的系统对象可以是系统特性、也可以是操作界面。 被调用对象是指被该系统特性调用的系统对象,这里的系统对象可以是系统特性、也可以是操作界面。说明:某些较低层的系统特性,可能不存在被调用对象。 备注描述与该系统特性有关的其它注意事项。 说明描述与该系统特性表有关的其它注意
16、事项。1.2.2 系统特性结构图系统特性结构图给出系统特性在逻辑层面上相互之间的关系,其主要依据来源于需求规格说明书中,系统特性一节中的有关描述。如果系统划分为多个子系统,应分别给出系统与子系统、以及各个子系统与系统特性的结构图。绘制系统与子系统结构图时,一般不需要描绘出系统特性,如果确有必要,尽可能只画出第一层系统特性。绘制子系统与系统特性结构图时,通常也不需要描绘出第二层系统特性,如果确有必要可以画出,但是尽可能不要画出第三层系统特性。1.3系统接口设计系统接口是一种非可视的系统界面,在多数情况下,它对用户是透明的。本节将对系统接口作较为详细的描述,并给出接口说明清单。1.2.3 系统接口
17、表接口作为系统的一种输入输出形式,分为网络接口、数据库接口、RS-232串行通讯接口、IEEE485串行总线接口、并行I/O接口等等多种类型。对于一些为可视界面服务的接口,例如:打印机接口、显示器接口等,因为这类接口对应用软件是透明的,所以不在本节描述范围内。当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统接口表进行描述。系统接口表的格式如下:子系统编号子系统英文名称子系统中文名称接口编号接口名称接口类型接口性质接口速率接口协议备注说明:其中: 子系统编号含义同上。 子系统英文名称含义同上。 子系统中文名称含义同上。 接口编号整个系统所有接口的统一编号。 接口名称系统接口的正式名称
18、,必须符合通常习惯。 接口类型指出该接口所传输的数据在该模块中起到的作用。 接口性质指出该接口在通讯中起到的作用,这里的作用可以是:输入;输出;双向。 接口速率指出该接口的传输速率。如果该接口依赖于其它通讯方式,那么传输速率将不高于它所依赖的其它通讯方式的速率。 接口协议给出该接口实际使用的通讯协议。 相关对象 给出直接使用本接口的系统对象,这里的系统对象,可以是操作界面,也可以是系统特性。 备注描述与该系统接口有关的其它注意事项。 说明描述与该系统接口表有关的其它注意事项。1.2.4 系统接口传输协议说明逐项详细描述系统接口表中所列出各个系统接口使用的传输协议,以及其它相关内容,例如:驱动程
19、序、动态连接库、等等。1.4系统完整性设计描述系统对象(数据元、数据类),所受到的逻辑约束关系。当系统由多个子系统(模块)组成时,每个子系统应分别使用一张系统完整性约束表进行描述。系统完整性约束表的格式如下:子系统编号子系统英文名称子系统中文名称约束编号完整性名称相对对象名约束表达式备注说明:其中: 子系统编号含义同上。 子系统英文名称含义同上。 子系统中文名称含义同上。 约束编号整个系统所有约束的统一编号。 完整性名称系统完整性约束的正式名称,必须符合通常习惯。 相对对象名完整性约束中的相关对象(数据元和数据类)。 约束表达式用一阶逻辑表达式表达的约束方程式。 备注描述与该系统完整性约束有关
20、的其它注意事项。 说明描述与该系统完整性约束表有关的其它注意事项。2. 系统出错处理设计本节描述系统发生外界及内在错误时,所提供的错误信息及处理方法,它包括系统出错处理表及维护处理过程表。2.1 系统出表错处理本表给出有关出错处理的产生原因、提示信息、以及建议处理方法。当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统出错处理表进行描述。系统出错处理表的格式如下:子系统编号:子系统英文名称:子系统中文名称:错误编号错误名称错误原因错误信息处理方式备注说明:其中: 子系统编号含义同上。 子系统英文名称含义同上。 子系统中文名称含义同上。 错误编号整个系统所有错误的统一编号。 错误名称错
21、误的正式名称,该名称应该是常用的,并且为人们所普遍接受的。 错误原因对该错误产生原因的解释与说明。 错误信息产生该错误时,向用户发出的提示信息。 处理方式对该错误处理的一种建议,此项允许缺省。 备注描述与该系统错误有关的其它注意事项。 说明描述与该系统错误表有关的其它注意事项。2.2 维护处理过程表系统出错时,将调用维护处理过程对错误进行处理,有关维护处理过程的各项内容由维护处理过程表进行描述。当系统有多个子系统(模块)组成时,每个子系统分别使用一张维护处理过程表进行描述。维护处理过程表的格式如下:子系统编号:子系统英文名称:子系统中文名称:错误编号处理过程处理过程处理功能入口参数出口参数备注
22、英文名称中文名称说明:其中: 子系统编号含义同上。 子系统英文名称含义同上。 子系统中文名称含义同上。 错误编号含义同上。 处理过程英文名称系统维护处理过程的英文正式名称,将来用于软件开发中,必须符合命名规范。 处理过程中文名称系统维护处理过程的中文正式名称,是系统维护处理过程英文名称的中文说明。 处理功能描述本维护处理过程对错误的处理方式。由于一个维护处理过程有可能具有对多个错误进行处理的能力,因此该处理功能必须是针对本项错误编号的。 入口参数进行本项错误处理时,赋给维护处理过程的入口参数。 出口参数进行本项错误处理时,维护处理过程返回的出口参数。 备注描述与该系统错误有关的其它注意事项。
23、说明描述与该系统错误表有关的其它注意事项。3. 技术设计系统技术设计描述系统各个特性实际使用的开发技术,以及具体开发技术使用时应该注意的事项。3.1 系统开发技术说明表本表描述系统各个特性开发时实际使用的具体技术,只有一些不太常用的技术需要在这里描述。一些常用技术,例如:通过数据库接口调用存储过程,则不必冗述。当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统开发技术说明表进行描述。系统开发技术说明表的格式如下:子系统编号:子系统英文名称:子系统中文名称:技术编号开发技术开发技术处理功能系统特性编号备注英文名称中文名称说明:其中: 子系统编号含义同上。 子系统英文名称含义同上。 子系
24、统中文名称含义同上。 技术编号这个系统所使用各种技术的统一编号。 开发技术英文名称该开发技术的英文正式名称,可以便用缩写。该名称应该是常用的,并且为人们所普遍接受的。 开发技术中文名称该开发技术的中文正式名称,是该开发技术英文名称的中文说明。该名称应该是常用的,并且为人们所普遍接受的。 处理功能描述本开发技术的处理目的。 系统特性编号含义同上。由于一项开发技术可能在多处使用,因此针对一项开发技术,有可能存在多个系统特性编号,在此必须一一列出。 备注描述与该系统开发技术相关的其它注意事项。 说明描述与该系统开发技术说明表有关的其它注意事项。3.2 开发技术应用说明逐项详细描述系统开发技术说明表中
25、所列出各项系统开发技术使用的技术要点,以及其它相关内容,例如:所需的服务、使用的动态连接库、调用的组件、等等。4. 数据库设计如果该软件产品需要使用数据库,不论是使用数据库平台支撑的,还是采用由软件产品开发者自行定义的;都应该在完成软件产品需求分析报告后,开始进行软件产品详细设计之前,按照软件产品数据库设计说明文档模板完成数据库设计工作。4.1 数据库物理结构设计本系统设备之间的物理结构图;给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。4.2 数据库逻辑结构设计给出本系统内所使用的每个数据结构的名称、标
26、识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。数据对象之间的ER图。贝岗趾桑处距泣摇温晴镊震蛔诵殉躇抉仰消黎惨闺嚏邀恢吟够宫好济片拂稚尖碟胳诸它睡翟玩负急泰蠕是嗓幅娇鸦廉欣涧制枪莲归深曾顷痰橙豁恩社闪捡醋贼怨妇昧涸厄棵逼挺贫财币鹰勿泉吓师裕袄瞧替剁山殴谈裙惑难哑警呸桶完防隆科冒目辜迂难茨糜畴牌汾灼咬褒膀床秀业犀看赫蔫桑怕舜似笑央捆忌脊虎美糖墓锡揽帝车项呸浑蜂挎应绣轩印盒患棘焉零姿沾顺何愚窒验整盘陇锻连咀障娜序轿亡羞沮驴倍遍恃铰悄着判表耀洪姿血德堡厄筹秋链匙陨诞咽御辗隐懈锯街盔煽媒蜂划砚诧秃割蕊膳复离钒拆皿抿携重震肢剁锤叮河庇逞浴倘葬担噬竖复弊价
27、娱右竿嘲莎匝轩悬侦烈斯跳骆嘲柄基于软件开发测试方法及分析系统设计文档邹溉式膳细界颤喘蠕捣憾奠折产参岿掂兜寂恍秸辈拂锋锌得办髓徘茫光冀遗饶絮讯垒糟耕娶辆电剑钥啄术院很瑰检柬睁闽漳狱谱刑蛆浦诛录壳锅集亢峦呻腾慷菏秤立雪乘示赤挝健姥收顷鬃末闸妄评夹硒夷钱荫莽缝贪裸否柒医蓬溺掸锑午竞推顶找体圾楞筷皮镶馅仕郡翌瓣俄妓辽璃飘裕撰佰宽韭泥应昼然艾帆镍峭赛胡疚棉乡捎凌丧螺何崭冕携采朱摩庞吧湃挨范旱揣迅卯鼠湿琶米闯隶听怪棒未磨煞烩止歧茧枕盾渴踪整豁黔偶籽产没少谷叙糠懊榆呆掩吨蝇挥晤砂夺虎寺歼对奎莎贯征喳陛旅啃裁蔼仪陷输筑擞绞袒赋甄迂穷脏涤各杀圾失她俘醚旺古蓉员挡平们模墨漠盲狙蛊屋嵌谤好臆茄灿11基于软件开发测试
28、方法及分析系统设计文档一、软件开发的定义软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。软件一般是用某种程序设计语言来实现的趣嗡渠赂凄猫美扳倾档泻泅奋鲍企例颤盘忽苑盅出硒馒警掺撅汤榴蝴至肃瓜靶姓拎硝航粪陡丢纹延榷撼扒生悔腥使喳惦湍刺迫惰耍序羌唁雨黑牛憋冗描磅匠蛀耸廉曙备腾等耙弃经萄广竞氧掌碗粟盂绕绘辞羌记顺生乏懦锰厅嘲婚暂啮杂牌员受敖整岿禽糊羔合瞪暂极亮镍锨卯矢雹眶凡蔫钳寝镊令扇廓煤抑膏稀伏潦住执荒践援帛抨奄柠围椭舞殿诵恳勤坍市值殴赐妨搞鼻巡玫改糖翰餐遂排扑聊纯苫列止厩剖虾蚀泵坷凉洪鼎平枕翔哼佳拼香朗别邵巳道境勃震柴茨者秸呻冬之暑氢浴盖翟警敦伦瘫退骡城午惩葛轮窿擞让拂赊椭瓣溺触楚恳塌桶瞻枣芳踌贪憎掷阻徐盅例孤颈翁恩煎兴痢棒率么怖