文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
基于软件开发测试方法及分析系统设计文档 一、软件开发的定义
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件。 软件并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。 软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。 二、软件开发的特点 (一)、综合布局
对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从软件开发技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源成本,可取得的效益和软件开发进度作出估计。制订完成软件开发任务的实施计划。 基本流程说明:
项目启动: 本阶段主要是进行可行性分析,定义项目,识别需求;
制定计划: 本阶段主要是计划策划,估算工作量,制定具体的可执行的计划; 计划实施: 本阶段主要是实施计划,完成计划中的各项任务,报告计划状态; 项目终止: 计划执行完毕,总结项目; (二)、各阶段衔接逻辑规范化
软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程软件开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明,数据库或数据结构设计说明书,组装测试计划。
软件需求分析就是对开发什么样的软件的一个系统的分析与设想。在任何软件或系统开发的初始阶段必须先完全掌握用户需求,以期能将紧随的系统开发过程中哪些功能应该落实、采取何种规格以及设定哪些限制优先加以定位。系统工程师最终将据此完成设计方案,在此基础上对随后的程序开发、系统功能和性能的描述及限制作出定义。 (三)、结构化设计
软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。 (四)、定期升级管理
软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的\源程序清单\。充分了解软件开发语言、工具的特性和编程风格,有助于软件开发工具的选择以及保证软件产品的软件开发质量。
当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的
1文档来源为:从网络收集整理.word版本可编辑.
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
是面向对象的软件开发语言。而且面向对象的软件开发语言和软件开发环境大都合为一体,大大提高了软件开发的速度。 (五)、误差最小化
软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。 (六)、精细维护
维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。
一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。
在实际软件开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。 软件开发流程图如下: 软件设计的功能阐述 系统逻辑设计
根据软件产品需求规格说明书和软件产品数据字典建立系统的逻辑模型。此种模型暂时与系统的物理因素(例如:计算机、数据库管理系统)无关。它是系统需求与物理实现的中间结构,它的主要结果是建立在系统结构图、系统界面结构图、系统出错处理、以及系统开发技术说明。 系统结构图: 系统组织设计
系统组织设计通过系统组织表描述本系统由哪些子系统(模块)组成,这些子系统与业务职能之间的关系,以及各个子系统的安装地点。系统组织表的格式如下: 子系统编号 英文名称 中文名称 业务职能 安装地点 备注 其中:
2文档来源为:从网络收集整理.word版本可编辑.
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
子系统编号
给出本系统中指定子系统的顺序编号。如果本系统末划分为多个子系统,仅由一个运行模块组成;则本项内容仍需要描述,但是本表内容只有一行。 说明:在一个系统中有可能安装若干个相同的子系统,在这种情况下,应该视为一个子系统,并且对多个安装地点分别进行描述。如果相同的子系统通过系统设置,实现的业务职能具有明显差异时,应该采用多行进行分别描述,并且在备注中说明其差异所在。 子系统英文名称
给出本子系统的英文名称,该名称是在应用软件中实际使用的可执行文件名称,必须能够说明该子系统的特点。
若本系统中只有一个子系统,则本项内容仍需要描述,但是本表内容只有一行。 子系统中文名称
给出本子系统的中文名称,该名称必须能够说明该子系统的特点。
若本系统中只有一个子系统,则本项内容仍需要描述,但是本表内容只有一行。 业务职能
描述该子系统完成的核心业务。 安装地点
描述该子系统实际安装的部门、或者某个具体地点。 备注
针对该子系统,需要说明的其它有关问题。 系统结构设计
本节将对系统特性作较为详细的描述,并给出系统特性结构图。 系统特性表
系统特性是系统中完成某项具体操作的基本单元,它由入口参数,出口参数以及处理过程三部分组成。
系统特性可以具有操作界面,也可以没有操作界面;可以被其它操作界面、或者系统特性调用,也可以调用其它操作界面、非操作界面、或者系统特性;但是不允许递归调用(调用自己),包括间接递归调用。
当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统特性表进行描述。系统特性表的格式如下: 子系统编号: 子系统英文名称: 子系统中文名称: 特性编号 系统特征 英文名称 系统特征 中文名称 操作功能 调用对象 被调用 对象 备注 说明: 其中
3文档来源为:从网络收集整理.word版本可编辑.
基于软件开发测试方法及分析系统设计文档



