软件测试工程师管理系统详细设计01.docx

上传人:b****4 文档编号:5045964 上传时间:2022-12-12 格式:DOCX 页数:16 大小:265.08KB
下载 相关 举报
软件测试工程师管理系统详细设计01.docx_第1页
第1页 / 共16页
软件测试工程师管理系统详细设计01.docx_第2页
第2页 / 共16页
软件测试工程师管理系统详细设计01.docx_第3页
第3页 / 共16页
软件测试工程师管理系统详细设计01.docx_第4页
第4页 / 共16页
软件测试工程师管理系统详细设计01.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

软件测试工程师管理系统详细设计01.docx

《软件测试工程师管理系统详细设计01.docx》由会员分享,可在线阅读,更多相关《软件测试工程师管理系统详细设计01.docx(16页珍藏版)》请在冰豆网上搜索。

软件测试工程师管理系统详细设计01.docx

软件测试工程师管理系统详细设计01

版本说明

日期

版本号

发布说明

作者

批准人

签字

岗位

目录

1引言4

1.1编写目的4

1.2项目背景4

1.3定义4

1.4参考资料4

2程序系统的组织结构4

2.1程序关系4

2.2程序运行过程4

2.3系统菜单界面4

2.4系统处理流程5

2.5接口设计5

3总体设计5

3.1输入项目5

3.2输出项目6

3.3功能要求6

3.4性能要求6

3.5系统数据结构设计6

3.6系统数据处理流程7

3.7各函数调用关系7

4各功能函数设计7

4.1主函数7

4.1.1程序描述7

4.1.2功能7

4.1.3性能7

4.1.4输入项目7

4.1.5输出项目8

4.1.6算法8

4.1.7程序逻辑8

4.1.8接口9

4.1.9存储分配9

4.1.10限制条件9

4.1.11测试要点9

4.2输入工程师信息函数9

4.2.1程序描述9

4.2.2功能9

4.2.3性能9

4.2.4输入项目10

4.2.5输出项目10

4.2.6算法10

4.2.7程序逻辑10

4.2.8接口14

4.2.9存储分配14

4.2.10限制条件14

4.2.11测试要点14

5程序与数据结构14

5.1全局变量14

5.2数据结构使用14

6系统出错处理设计15

7安全保密计划15

1引言

1.1编写目的

尽可能详细地描述程序各成份的设计思路,以利于编制程序。

1.2项目背景

该项目的实施主要是为提高北京梅梅公司的人事管理效率而编制的。

1.3定义

1.4参考资料

2程序系统的组织结构

2.1程序关系

本系统的每一项功能由一个或几个函数来实现。

每一个菜单对应一个功能函数。

2.2程序运行过程

1.系统在运行后,首先从文件中得到被保存的软件测试工程师信息,来初始化系统与工程师信息有关的数据结构;

2.用户选择在系统功能菜单中选择要进行的操作,选择后调用对应的函数;

3.完成必要的相应的功能模块;

4.系统完成该项功能后,显示结果信息给用户;

5.系统可返回第2步,供用户继续选择要进行的操作;

6.用户选择菜单中的0系统结束,在系统结束时如果用户修改的数据,则提示用户是否把数据保存到文件。

2.3系统菜单界面

系统运行中提供用户选择的主菜单如下:

图一:

系统主菜单

2.4系统处理流程

图二:

系统处理流程

2.5接口设计

系统使用DOS环境和windows下的虚拟DOS环境。

与用户的接口是通过控制台交互,系统提供用户菜单,系统接收用户键盘输入,输入和输出均等均在显示器上显示。

3总体设计

3.1输入项目

系统的输入项目主要是用户的输入和选择。

在提示用户选择时,提示用户选择菜单的编号,编号以数字的输入。

在提示排序时也是以提示用户选择排序方式,排序方式也是以数字编号的形式输入。

用户在输入软件测试工程师信息时,输入用户的输入有可能是数字(包括实型),也可能是字符或字符串。

输入限制在函数功能设计中进行说明。

3.2输出项目

系统的输出主要是工程师信息资料,各项信息以要求的形式输出。

输出格式在函数功能设计中说明。

输出也包括计算出的工程师当月薪水。

3.3功能要求

要求系统能够接收用户输入的工程师信息。

3.4性能要求

要求本系统在完成各项功能的同时,要求系统处理迅速,处理事务需要长时间时,提示用户等待且等待时间在用户可接收的范围之内。

精度要求:

输出实型数据时只保留两位小数。

3.5系统数据结构设计

软件测试工程师的数据结构如下:

structEngineerStruct//声明存储工程师信息的结构体

{

unsignedintEngineerNo;//工程师编号

charEngineerName[20];//工程师姓名

unsignedintEngineerSex;//工程师性别

structDateStructEngineerBirth;//工程师生日

charEngineerHometown[10];//工程师籍贯

unsignedintEngineerEducation;//工程师学历

charEngineerAddress[30];//工程师地址

charEngineerPhone[15];//工程师电话

unsignedintEngineerWorkYears;//工程师工龄

floatEngineerBaseSalary;//工程师基本薪水

};

工程师的生日用数据结构表示如下:

structDateStruct//日期结构,用于存储工程师的出生生日

{

intyear;

intmonth;

intday;

};

声明枚举类型:

enumStatus{FALSE,TRUE};//控制输入情况的两种状态

enumSex{male,female};//性别分类,默认0为男、1为女

enumEducation{high,bachelor,master,docter,other};//学历分类,默认0开始

存储软件测试工程师的的当月工资天数和当月薪水的数据结构如下:

doubleSalary[10]={0.0};//工程师薪水

unsignedintEngineerMonthWorkDays[10]={0};//工程师工作天数

3.6各函数调用关系

图三:

函数调用关系图

4各功能函数设计

4.1主函数

intmain(void);

4.1.1程序描述

主函数是完成系统各个功能模块的调用。

同时定义系统使用的变量数据以及一些控制系统运行状态的变量。

4.1.2功能

主函数的功能主要是完成各个功能函数的调用,处理各个函数之间的接口关系。

控制系统的运行状态等。

只能选择功能菜单中提示的功能,如果用户选择错误,则显示菜单供用户重新选择。

4.1.3性能

主函数性能要求相应用户选择菜单迅速及时,同时在用户输入错误时能够及时提示用户输入错误,并提示用户重新输入。

4.1.4输入项目

用户输入的的功能菜单编号。

为无符号整型数据,定义变量为unsignedintselect;

4.1.5输出项目

主函数在运行结束后返回到操作系统。

正常退出返回0。

异常退出返回1。

4.1.6算法

显示供用户选择的菜单,提示用户选择,接收用户选择,根据用户选择调用相应的功能函数。

4.1.7程序逻辑

图四:

主函数流程图

4.1.8接口

调用初始化数据函数InitData(engineer);调用menu()函数显示系统功能菜单。

4.1.9存储分配

由操作系统分配该系统的内存使用。

4.1.10限制条件

无。

4.1.11测试要点

用户选择输入错误时是否具有错误提示功能以及重新显示菜单功能。

4.2输入工程师信息函数

voidInputEngineerInformation(structEngineerStruct*Engineer);

参数:

structEngineerStruct*Engineer,工程师数据结构指针。

返回值:

4.2.1程序描述

该函数的主要是完成系统软件测试工程师信息的输入。

4.2.2功能

主函数的功能主要是完成软件测试工程师信息的输入。

在提示用户输入信息中,提示用户输入的数值或字符串。

同时对用户的输入进行合法性值域判断,如果用户输入错误则提示用户重新输入。

最多存储10个软件测试工程师的信息。

4.2.3性能

接收用户输入及时,错误提示信息明确。

4.2.4输入项目

用户输入软件测试工程师的信息如下:

unsignedintEngineerNo;//工程师编号

charEngineerName[20];//工程师姓名

unsignedintEngineerSex;//工程师性别

structDateStructEngineerBirth;//工程师生日

charEngineerHometown[10];//工程师籍贯

unsignedintEngineerEducation;//工程师学历

charEngineerAddress[30];//工程师地址

charEngineerPhone[15];//工程师电话

unsignedintEngineerWorkYears;//工程师工龄

floatEngineerBaseSalary;//工程师基本薪水

要求:

编号为数字,编号使用4为位数字,格式为0001、0002….,不能重复。

姓名:

为字符,最长不超过20个字符。

不能为空。

性别:

用数字表示0表示女,1表示男。

不能为其它数值。

生日:

用数字分别表示年、月、日。

格式例如:

年使用四位数字表示,月使用1-12表示,日使用1-31表示。

范围是(1900,2004)

籍贯:

使用字符表示,最长不超过10个字符。

不能为空。

学历:

使用数字表示高中0、学士1、硕士2、博士3、其它为4。

不能为其它数字。

地址:

使用字符表示,最长不超过30个字符。

不能为空。

电话:

使用字符表示,最长不超过15个字符。

不能为空。

工龄:

使用数字表示,工龄范围是(0,50]。

基本薪水:

为实型,不能为0。

4.2.5输出项目

函数调用后设置工程师数据已经修改标志,IfModfiy=TRUE;表示工程师的信息有变化,以供在退出系统前,提示用户是否要保存。

4.2.6算法

算法使用下面的流程图来表示。

4.2.7程序逻辑

图五:

输入工程师信息流程图

4.2.8接口

调用后通过参数修改了主函数中的工程师数据结构。

4.2.9存储分配

由操作系统分配该系统的内存使用。

4.2.10限制条件

无。

4.2.11测试要点

用户选择输入错误时是否具有错误提示功能以及重新提示输入功能。

其它函数需要学员自己填充。

5程序与数据结构

5.1全局变量

程序中定义的全局变量可如下:

#defineMAXNUM10//宏定义,最多存储的工程师人数

FILE*fp;//保存文件的指针

char*FileName="engineer.txt";//保存工程师信息

char*ReportName="report.txt";//生成报表文件

unsignedintActualNum=0;//实际存储的工程师人数

unsignedint*pNumber=&ActualNum;//指向实际存储人数的变量

enumStatusIfModfiy=FALSE;//是否对工程师信息数据进行修改的状态,TRUE是已修改

5.2数据结构使用

各函数模块与所用到的数据结构如下表所示:

模块标识

操作数据

InitData

EngineerStruct

menu

WhichChoose

EngineerStruct

SystemOver

EngineerStruct

InputEngineerInformation

EngineerStruct、Status

DeleteEngineerInformation

EngineerStruct

SearchEngineerInformation

EngineerStruct

ModifyEngineerInformation

EngineerStruct、Status

CalculateEngineerSalary

EngineerStruct、Salary、EngineerMonthWorkDays

EngineerInfomationSave

EngineerStruct

EngineerInformationNoSort

EngineerStruct

EngineerInformationNameSort

EngineerStruct

EngineerInformationWorkYearSort

EngineerStruct

OutputEngineerInfomation

EngineerStruct、Salary、EngineerMonthWorkDays

DeleteEngineer

EngineerStruct

EngineerInfomationReport

EngineerStruct

PrintEngineerInfomation

EngineerStruct

EngineerInformationReload

EngineerStruct

6系统出错处理设计

当系统运行出错时,用户可以重新启动本系统,重新执行,且能够恢复用户的数据。

7安全保密计划

存储软件测试工程师资料的文件可使用加密的形式存储。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1