Counter v60详细设计说明书.docx

上传人:b****7 文档编号:10251550 上传时间:2023-02-09 格式:DOCX 页数:32 大小:29.38KB
下载 相关 举报
Counter v60详细设计说明书.docx_第1页
第1页 / 共32页
Counter v60详细设计说明书.docx_第2页
第2页 / 共32页
Counter v60详细设计说明书.docx_第3页
第3页 / 共32页
Counter v60详细设计说明书.docx_第4页
第4页 / 共32页
Counter v60详细设计说明书.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

Counter v60详细设计说明书.docx

《Counter v60详细设计说明书.docx》由会员分享,可在线阅读,更多相关《Counter v60详细设计说明书.docx(32页珍藏版)》请在冰豆网上搜索。

Counter v60详细设计说明书.docx

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:

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

当前位置:首页 > 高等教育 > 军事

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

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