软件测试工程师管理系统详细设计01Word下载.docx
- 文档编号:18001684
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:16
- 大小:265.08KB
软件测试工程师管理系统详细设计01Word下载.docx
《软件测试工程师管理系统详细设计01Word下载.docx》由会员分享,可在线阅读,更多相关《软件测试工程师管理系统详细设计01Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
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
SystemOver
InputEngineerInformation
EngineerStruct、Status
DeleteEngineerInformation
SearchEngineerInformation
ModifyEngineerInformation
CalculateEngineerSalary
EngineerStruct、Salary、EngineerMonthWorkDays
EngineerInfomationSave
EngineerInformationNoSort
EngineerInformationNameSort
EngineerInformationWorkYearSort
OutputEngineerInfomation
DeleteEngineer
EngineerInfomationReport
PrintEngineerInfomation
EngineerInformationReload
6系统出错处理设计
当系统运行出错时,用户可以重新启动本系统,重新执行,且能够恢复用户的数据。
7安全保密计划
存储软件测试工程师资料的文件可使用加密的形式存储。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 工程师 管理 系统 详细 设计 01
![提示](https://static.bdocx.com/images/bang_tan.gif)