Counter v60详细设计说明书.docx
- 文档编号:10251550
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:32
- 大小:29.38KB
Counter v60详细设计说明书.docx
《Counter v60详细设计说明书.docx》由会员分享,可在线阅读,更多相关《Counter v60详细设计说明书.docx(32页珍藏版)》请在冰豆网上搜索。
Counterv60详细设计说明书
CounterV1.0详细设计说明书
拟制
TProject项目组
日期
2003-06-08
评审人
日期
yyyy-mm-dd
修订记录
日期
修订
版本
修改
章节
修改描述
作者
2001-06-08
1.00
初稿完成
TProject项目组
2008-05-08
6.00
文档细化
企业培训部
目录
1简介6
1.1目的6
1.2范围6
2详细设计6
2.1用户界面模块详细设计6
2.1.1数据描述6
2.1.2函数描述6
2.2参数检查模块详细设计10
2.2.1数据描述10
2.2.2函数描述10
2.3统计空行模块详细设计13
2.3.1数据描述13
2.3.2函数描述13
2.4统计代码行模块详细设计14
2.4.1数据描述14
2.4.2函数描述15
2.5统计注释行数模块详细设计17
2.5.1数据描述17
2.5.2函数描述18
2.6统计总行数模块详细设计19
2.6.1数据描述19
2.6.2函数描述20
2.7统计结果输出模块详细设计21
2.7.1数据描述21
2.7.2函数描述21
表目录
Table1**表错误!
未定义书签。
表1**表错误!
未定义书签。
图目录
图1参数检查模块函数调用关系10
CounterV1.0详细设计说明书
关键词:
摘要:
缩略语清单:
缩略语
英文全名
中文解释
1
简介
1.1目的
本文档是对《CounterV1.0软件概要设计说明书》的细化。
用以指导CounterV1.0的编码工作。
1.2范围
本文档给出CounterV1.0的具体函数实现。
2详细设计
2.1用户界面模块详细设计
2.1.1数据描述
简单数据描述
无
数据结构定义
无
2.1.2函数描述
标识:
用户界面模块
功能概述:
该模块相应用户通过界面的输入。
包括如下几个功能:
选择被统计的文件、选择
统计空行、选择统计代码行、选择统计注释行、选择统计总行、退出Counter、开
始统计几大功能。
每个功能对外提供独立的接口,彼此独立,没有逻辑关系。
1.函数-选择被统计的文件
Function:
VOIDSelectStatFile()
Description:
该函数相应用户选择被统计文件的操作,得到被统计文件的全路径名
Calls:
无
Input:
无
Output:
g_szStatFileName-全局变量,被统计的文件全路径
Return:
无
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
VOIDSelectStatFile()
BEGIN
弹出文件对话框,文件对话框列出当前目录后缀名为.c的所有文件
用户按下“确定”按钮后,得到用户选择的文件全路径
g_szStatFileName=被统计文件的全路径
END
2.函数-选择统计空行项
Function:
VOIDSetStatBlankLineFlag()
Description:
相应用户单击“统计空行”复选框
Calls:
无
Input:
无
Output:
g_bStatBlankLineFlag-全局变量,统计空行标志位
Return:
无
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
VOIDSetStatBlankLineFlag()
BEGIN
If(STAT==g_bStatBlankLineFlag)
g_bStatBlankLineFlag=NOT_STAT
Else
g_bStatBlankLineFlag=STAT
END
3.函数-选择统计代码行项
Function:
VOIDSetStatCodeLineFlag()
Description:
相应用户单击“统计代码行”复选框
Calls:
无
Input:
无
Output:
g_bStatCodeLineFlag-全局变量,统计代码行标志位
Return:
无
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
VOIDSetStatCodeLineFlag()
BEGIN
If(STAT==g_bStatCodeLineFlag)
g_bStatCodeLineFlag=NOT_STAT
Else
g_bStatCodeLineFlag=STAT
END
4.函数-选择统计注释行项
Function:
VOIDSetStatCommLineFlag()
Description:
相应用户单击“统计注释行”复选框
Calls:
无
Input:
无
Output:
g_bStatCommLineFlag-全局变量,统计注释行标志位
Return:
无
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
VOIDSetStatCommLineFlag()
BEGIN
If(STAT==g_bStatCommLineFlag)
g_bStatCommLineFlag=NOT_STAT
Else
g_bStatCommLineFlag=STAT
END
5.函数-选择统计总行数项目
Function:
VOIDSetStatTotalLineFlag()
Description:
相应用户单击“统计总行数”复选框
Calls:
无
Input:
无
Output:
g_bStatTotalLineFlag-全局变量,统计总行数标志位
Return:
无
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
VOIDSetStatTotalLineFlag()
BEGIN
If(STAT==g_bStatTotalLineFlag)
g_bStatTotalLineFlag=NOT_STAT
Else
g_bStatTotalLineFlag=STAT
END
6.函数-退出Counter应用程序
Function:
VOIDExitCounter()
Description:
退出应用程序Counter
Calls:
无
Input:
无
Output:
无
Return:
无
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
VOIDExitCounter()
BEGIN
退出应用程序Counter
END
7.函数-开始统计功能
Function:
VOIDMainStatFun()
Description:
该函数在用户通过界面单击“开始统计”按钮后,开始运行。
该主控函数具有调度功能,分别调用参数检查模块、代码统计模块和统计结果输出模块,完成一次统计执行过程
Calls:
无
Input:
无
Output:
无
Return:
无
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
VOIDMainStatFun()
BEGIN
//为全局变量赋值,记录统计行数的变量均初始化为0
g_iCodeLineNum=0;
g_iBlankLineNum=0;
g_iCommLineNum=0;
g_iTotalLineNum=0;
//定义调用函数的返回值变量
BOOLiRetVal;
iRetVal=CheckParameters(g_szStatFileName,
g_bStatBlankLineFlag,
g_bStatCodeLineFlag,
g_bStatCommLineFlag,
g_bStatTotalLineFlag);
If(RET_FAIL==iRetVal)
{
return;
}
//统计文件中空行数目
MainStatBlankLine(g_szStatFileName,g_bStatBlankLineFlag);
//统计文件中代码行数
MainStatCodeLine(g_szStatFileName,g_bStatCodeLineFlag);
//统计文件中的注释行数
MainStatCommLine(g_szStatFileName,g_bStatCommLineFlag);
//统计文件中的总行数
MainStatTotalLine(g_szStatFileName,
g_bStatBlankLineFlag,
g_bStatCodeLineFlag,
g_bStatCommLineFlag,
g_bStatTotalLineFlag);
//输出空行统计数目
StatResultOutput(STAT_BLANK,g_iBlankLineNum);
//输出代码行统计数目
StatResultOutput(STAT_CODE,g_iCodeLineNum);
//输出注释行统计数目
StatResultOutput(STAT_COMM,g_iCommLineNum);
//输出总行统计数目
StatResultOutput(STAT_TOTAL,g_iTotalLineNum);
END
2.2参数检查模块详细设计
2.2.1数据描述
简单数据描述
无
数据结构定义
无
2.2.2函数描述
标识:
参数检查模块
功能概述:
该模块实现对用户输入参数,包括被统计文件名、统计项目的合法性检查
函数调用关系:
参数检查模块函数调用关系
“参数检查主函数”分别调用“被统计文件合法性检查函数”和“统计标志位合法性检查函数”,如果参数不合法,给用户提示信息。
1.函数-参数检查主函数
Function:
BOOLCheckParameters(CStringszStatFileName,
BOOLbStatBlankLineFlag,
BOOLbStatCodeLineFlag,
BOOLbStatCommLineFlag,
BOOLbStatTotalLineFlag)
Description:
参数检查主函数
Calls:
CheckStatFile();CheckStatItem()
Input:
szStatFileName-被统计的文件全路径
bStatBlankLineFlag-统计空行标志位
bStatCodeLineFlag-统计代码行标志位
bStatCommLineFlag-统计注释行标志位
bStatTotalLineFlag-统计总行标志位
Output:
无
Return:
RET_OK-参数检查合法,RET_FAIL-参数检查不合法
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
BOOLCheckParameters(CStringszStatFileName,
BOOLbStatBlankLineFlag,
BOOLbStatCodeLineFlag,
BOOLbStatCommLineFlag,
BOOLbStatTotalLineFlag)
BEGIN
CStringszErrorMsg;//给用户的提示信息
BooliRetVal;//调用函数的返回值
//开始检查被统计文件的合法性
iRetVal=CheckStatFile(szStatFileName);
If(RET_FAIL==iRetVal)
{
szErrorMsg=“被统计文件”+szStatFileName+
“不存在,或者正在被其他程序使用,或者后缀名不为.c,请检查!
”;
弹出警告对话框,对话框上的文字为szErrorMsg中的值;
ReturnRET_FAIL;
}
//开始检查统计项目的合法性
iRetVal=CheckStatItem(bStatBlankLineFlag,bStatCodeLineFlag,
bStatCommLineFlag,bStatTotalLineFlag);
If(RET_FAIL==iRetVal)
{
szErrorMsg=“至少需要选择一个统计项目,否则无法统计”;
弹出警告对话框,对话框上的文字为szErrorMsg中的值;
ReturnRET_FAIL;
}
ReturnRET_OK;
END
2.函数-被统计文件检查函数
Function:
BOOLCheckStatFile(CStringszStatFileName)
Description:
检查被统计文件的合法性
Calls:
无
Input:
szStatFileName-被统计的文件全路径
Output:
无
Return:
RET_OK-参数检查合法,RET_FAIL-参数检查不合法
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
BOOLCheckStatFile(CStringszStatFileName)
BEGIN
IF{文件szStatFileName的后缀名不为.c}
{
ReturnRET_FAIL;
}
ElseIf(文件szStatFileName不可读)
{
ReturnRET_FAIL;
}
ReturnRET_TRUE;
END
3.函数-统计项目检查函数
Function:
BOOLCheckStatItem(BOOLbStatBlankLineFlag,
BOOLbStatCodeLineFlag,
BOOLbStatCommLineFlag,
BOOLbStatTotalLineFlag)
Description:
统计项目检查函数
Calls:
无
Input:
无
Output:
bStatBlankLineFlag-统计空行标志位
bStatCodeLineFlag-统计代码行标志位
bStatCommLineFlag-统计注释行标志位
bStatTotalLineFlag-统计总行标志位
Return:
RET_OK-参数检查合法,RET_FAIL-参数检查不合法
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
BOOLCheckStatItem(BOOLbStatBlankLineFlag,
BOOLbStatCodeLineFlag,
BOOLbStatCommLineFlag,
BOOLbStatTotalLineFlag)
BEGIN
//如果四个统计项目都没有被选中,则返回失败
If((NOT_STAT==bStatBlankLineFlag)
AND(NOT_STAT==bStatCodeLineFlag)
AND(NOT_STAT==bStatCommLineFlag)
AND(NOT_STAT==bStatTotalLineFlag))
{
returnRET_FAIL;
}
ReturnRET_OK;
END
2.3统计空行模块详细设计
2.3.1数据描述
简单数据描述
无
数据结构定义
无
2.3.2函数描述
标识:
统计空行模块
功能概述:
统计文件中的空行数目
函数调用关系:
MainStatBlankLine检查是否需要统计空行数目,如果需要,则调用
StatBlankLine开始具体的统计操作
1.函数-统计空行数主函数
Function:
VOIDMainStatBlankLine(CStringszStatFileName,
BOOLbStatBlankLineFlag)
Description:
调用StatBlankLine统计文件中空行数目
Calls:
StatBlankLine(CStringszStatFileName)
Input:
g_szStatFileName-全局变量,被统计的文件全路径
g_bStatBlankLineFlag-全局变量,统计空行标志位
Output:
无
Return:
无
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
VOIDMainStatBlankLine(CStringszStatFileName,
BOOLbStatBlankLineFlag)
BEGIN
//判断是否需要统计空行数
If(STAT==bStatBlankLineFlag)
{
StatBlankLine(szStatFileName);
}
END
2.函数-统计空行数函数
Function:
VOIDStatBlankLine(CStringszStatFileName)
Description:
统计文件中空行数目
Calls:
无
Input:
g_szStatFileName-全局变量,被统计的文件全路径
Output:
g_iBlankLineNum-全局变量,统计得到的空行数目
Return:
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
VOIDStatBlankLine(CStringszStatFileName)
BEGIN
//定义被统计文件的句柄
CStdioFileStatFilehandle;
//定义保存文件中当前行字符串的变量
CStringszStatFileLine;
打开文件szStatFileName,并使文件句柄StatFilehandle指向打开的文件
szStatFileName;
WHILE(没有读取到文件szStatFileName尾部)
{
szStatFileLine=文件szStatFileName的当前行中的文本;
删除szStatFileLine中的TAB字符;
删除szStatFileLine中的空格符;
删除szStatFileLine中的回车符;
删除szStatFileLine中的换行符号;
If(0==szStatFileLine的字符串长度)
(
g_iBlankNum++;
)
}
关闭文件szStatFileName;
END
2.4统计代码行模块详细设计
2.4.1数据描述
简单数据描述
无
数据结构定义
无
2.4.2函数描述
标识:
统计代码行模块
功能概述:
该模块实现对文件中代码行的统计功能
函数调用关系:
MainStatCodeLine检查是否需要统计代码行数目,如果需要,则调用
StatCodeLine开始具体的统计操作
1.函数-统计代码行数主函数
Function:
VOIDMainStatCodeLine(CStringszStatFileName,
BOOLbStatCodeLineFlag)
Description:
调用StatCodeLine统计文件中空行数目
Calls:
StatCodeLine(CStringszStatFileName)
Input:
g_szStatFileName-全局变量,被统计的文件全路径
g_bStatCodeLineFlag-全局变量,统计空行标志位
Output:
无
Return:
Others:
无
----------------------------------------------------------------------------------------------------
函数实现:
VOIDMainStatCodeLine(CStringszStatFileName,
BOOLbStatCodeLineFlag)
BEGIN
//判断是否需要统计空行数
If(STAT==bStatCodeLineFlag)
{
StatCodeLine(szStatFileName);
}
END
2.函数-统计代码行函数
Function:
VOIDStatCodeLine(CStringszStatFileName)
Description:
统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Counter v60详细设计说明书 v60 详细 设计 说明书