日志系统用概要设计项目计划书.docx
《日志系统用概要设计项目计划书.docx》由会员分享,可在线阅读,更多相关《日志系统用概要设计项目计划书.docx(23页珍藏版)》请在冰点文库上搜索。
日志系统用概要设计项目计划书
日志系统用概要设计计划书
1引言
1.1编写目的
本文档系统描述了日志系统的设计,主要阅读对象为日志系统的项目经理及软件开发人员,测试日志系统的测试人员,需求分析师等。
项目经理:
阅读本文档的全部描述信息,
开发人员:
重点阅读是外部接口和部接口部分。
需求分析师以及测试人员:
重点阅读是需求概述部分。
1.2围
软件系统名称:
日志系统
1.3定义
列出本文件中用到的专门术语的定义和缩写词的原词组。
1.4参考资料
2总体设计
2.1需求规定
2.1.1基本功能
日志系统无论是作为一个独立的系统还是作为其他系统的子系统都应具备2个基本的功能
2.1.1.1日志来源
日志来源可以是使用日志系统的用户自己或者其他调用日志系统的人,又或是其他需要记录软件日志的使用者。
2.1.1.2日志输出
作为一个日志系统,需要有提供日志显示的功能。
当日志系统记录了日志时就应当提供日志显示的功能给使用者查看这些日志,这样才能提现这些日志的价值。
当然日志系统还可以根据用户的需要增加一些自定义的功能:
比如:
日志的导出和日志的打印,以便用户在需要对有价值的信息进行特定格式的保存或者打印成文档的时候使用。
2.1.2基本需求
2.1.2.1记录日志功能
日志系统提供记录日志的功能,记录的日志可以有软件的运行、用户的操作行为。
软件的运行包括:
软件的运行状态,用户的操作行为包括:
用户使用软件提供的功能时的行为。
记录的日志信息包括:
操作类型、操作结果、操作时间、操作者、操作目标、操作者的IP地址。
2.1.2.2查询日志功能
日志系统提供用户日志、物流配送日志、员工信息日志、教务管理系统日志供用户查询,使用者可以根据日志系统提供的查询条件自行指定的条件进行查询。
用户日志可以根据:
用户ID、IP地址、用户级别、开始时间、结束时间5个条件来查询需要的日志;
物流配送日志可以依据:
子系统、操作类型、操作结果、用户ID、源文件、目的文件、开始时间、结束时间等9个条件来查询;
员工信息管理系统日志可以根据:
子系统、操作类型、操作结果、用户ID、预置点编号、目标地址、开始时间、结束时间等9个条件来查询;
教务管理系统日志则可以根据:
子系统、用户ID、操作类型、操作目标、操作结果、开始时间、结束时间等6个条件查询。
使用者可以自行决定搜索条件来查询所需要的日志,日志系统将符合搜索条件的日志显示到界面供用户查看。
2.1.2.3日志的导出功能
当使用者通过日志查询查询出日志后,可以选中某些需要保存的日志使用日志导出功能将这些日志保存为TXT或是WORD格式的文件。
如果要保存为WORD格式的文件,必须保证使用者的电脑已经安装了OFFICE软件,否则会导出失败。
2.1.2.4日志的打印功能
当使用者通过日志查询查询出日志时,可以将对选中的日志信息进行打印操作。
使用打印操作之前必须保证电脑已经连接上了打印机,否则将无法打印。
2.2运行环境
1硬件环境
处理器:
Pentium3或性能更好的处理器。
存:
512MB或以上。
硬盘空间:
500MB或以上的剩余空间。
本系统对于硬件的要求不算太高,选择计算机主要是本着经济、运行稳定的原则。
目前主流的PC机就可以满足本系统的运行要求。
2软件环境
系统环境:
只支持Microsoft(微软)操作系统。
版本代号为XPSP2或者比次版本更高的系统,如:
Windows2003,WindowsVista,Windows7。
数据库:
MYSQL5.5数据库或更高版本的MYSQL。
Windows操作系统以其友好的图形界面,以及简单的操作要求,深受用户的青睐,另外他对使用者要求相对其他系统简单,所以一般用户都能直接上手。
基于上述的考虑,选择Windows系统作为软件的运行环境,方便使用者的操作。
2.3基本设计概念和处理流程
2.3.1业务流程设计
2.3.1.1初始化用户界面流程
2.3.1.2写入软件运行日志流程
2.3.1.3读出软件运行日志流程
2.3.1.4搜索日志流程
2.3.1.5子流程或分支处理流程设计
2.3.1.5.1数据库操作模块流程图处理设计
2.3.1.5.2日志系统用户界面模块流程图处理设计
2.3.2数据流程设计
2.3.2.1写入日志信息
2.3.2.2读出日志信息
2.3.2.3搜索用户日志
2.4结构
用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。
2.5功能需求与程序的关系
数据库操作模块
日志系统用户界面模块
外部接口
连接数据库
√
执行SQL语句
√
获取行
√
获取值
√
获取字段长度
√
释放数据指针
√
关闭数据库
√
初始化界面
√
选择日志类型
√
读取日志
√
写入日志
√
√
搜索日志
√
退出客户端
√
2.6人工处理过程
说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。
2.7尚未解决的问题
说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。
3接口设计
3.1外部接口
接口数据类型说明:
Char*字符指针
Const常量
BOOL布尔型
VOID空
返回值
函数
功能
需求对应
1
BOOL
WriteLog(
char*pLogInfo,
intnLogType
)
根据nLogtype的类型写入对应的日志
1.1
1.2
1.3
1.4
2
VOID
ShowLogSysDlg()
显示日志系统用户界面,便于用户查询日志和导出、打印日志
2.1
2.2
2.3
2.4
3
4
BOOLWriteLog(char*pLogInfo,intnLogType)
功能:
写入日志,根据nLogType的值写入对应的日志。
nLogType的取值详见参数说明
参数:
第一个参数以结构体字符串常量形式传入,
第二个为一个整形变量,可选值为其下面其中之一:
USERLOG:
用户日志;
LogisticsLog:
物流配送日志
EmployeeLog:
员工信息日志
EducationalLog:
教务系统日志;
返回值:
若写入成功,返回TRUE,否则返回FALSE。
无返回值ShowLogSysDlg()
功能:
显示日志系统用户界面。
参数:
无。
返回值:
无。
3.2部接口
接口列表如下:
返回值
函数
功能
1
BOOL
InitAccessDB()
初始化数据库
2
BOOL
CloseAccessDB()
关闭数据库
3
BOOL
StoreIPAddr()
将登录过主系统的用户的IP写入下拉列表
4
BOOL
StoreUserID()
将登录过主系统的用户的ID写入下拉列表
5
BOOL
GetSoftwareLogChoices()
当用户对软件运行日志进行搜索时,获取用户选择的筛选条件
6
BOOL
GetUserLogChoices()
当用户对用户日志进行搜索时,获取用户选择的筛选条件
7
BOOL
InitComboBox()
对除用户ID及用户IP以外的下拉列表框进行初始化
8
BOOL
InitColumn()
对列表控件进行初始化
9
BOOL
ReadSoftwareLogFromDB(
constchar*szSql
)
将软件运行日志从数据库中读出
10
BOOL
ReadUserLogFromDB()
将用户日志从数据库中读出
11
BOOL
InitImageList()
初始化图标列表
12
BOOL
GetLastUser()
取得数据库中最后一个用户记录,作为当前系统的使用者
13
BOOL
OnSoftwareLogSearch()
搜索软件运行日志
14
BOOL
OnUserLogSearch()
搜索用户日志
BOOLInitAccessDB()
功能:
初始化数据库。
参数:
无。
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLCloseAccessDB()
功能:
关闭数据库。
参数:
无。
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLStoreIPAddr()
功能:
将登录过主系统的用户的IP写入下拉列表。
参数:
无。
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLStoreUserID()
功能:
将登录过主系统的用户的ID写入下拉列表。
参数:
无。
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLGetSoftwareLogChoices()
功能:
当用户对软件运行日志进行搜索时,获取用户选择的筛选条件。
参数:
无。
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLGetUserLogChoices()
功能:
当用户对用户日志进行搜索时,获取用户选择的筛选条件。
参数:
无。
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLInitComboBox()
功能:
对除用户ID及用户IP以外的下拉列表框进行初始化。
参数:
无。
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLInitColumn()
功能:
对列表控件进行初始化。
参数:
无。
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLReadSoftwareLogFromDB(constchar*)
功能:
将软件运行日志从数据库中读出。
参数:
若需要读取存储系统,传入”StoreLog”,若需要读取云台系统,传入”CloudLog”,大小写不透明。
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLReadUserLogFromDB()
功能:
将用户日志从数据库中读出。
参数:
无。
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLInitImageList()
功能:
初始化图标列表。
参数:
无。
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLGetLastUser()
功能:
取得数据库中最后一个用户记录,作为当前系统的使用者。
参数:
无。
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLOnSoftwareLogSearch()
功能:
搜索软件运行日志。
参数:
无
返回值:
若成功返回TRUE,否则返回FALSE。
BOOLOnUserLogSearch()
功能:
搜索用户日志。
参数:
无
返回值:
若成功返回TRUE,否则返回FALSE。
4运行设计
4.1运行模块组合
说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的部模块和支持软件。
4.2运行控制
第一阶段实例化对象并初始化。
m_DB=newCDBAccess();实例化数据库对象:
m_DB。
调用函数
布尔值Init(),初始化数据库m_DB对象。
布尔值Connect(constTCHAR*Host,constTCHAR*User,constTCHAR*Password,constTCHAR*Database,DWORDPort),连接数据库。
如果成功,第二阶段。
布尔值initComboBox(),初始化下拉列表
字符串GetChoices(),获取用户在筛选区中说要获取日志信息的条件。
布尔值ReadUserLog(CStringstrSQL),从数据库中获取用户所需要的用户日志
布尔值ReadLogisticsLog(CStringstrSQL),从数据库中获取用户所需要的物流配送日志
布尔值ReadEmployeeLog(CStringstrSQL),从数据库中获取用户所需要的员工信息日志
布尔值ReadEducationalLog(CStringstrSQL),从数据库中获取用户所需要的教务系统信息日志
布尔值Close(),关闭数据库
第三阶段:
当整个系统退出时,调用布尔值ReleaseDB()释放资源,退出系统。
读取日志程序调用流程如图所示:
读取日志程序调用流程图
写入日志程序调用流程如图
4.3运行时间
日志系统可以作为一个系统独立运行,也可以作为其他项目的子系统。
当作为其他系统的子系统时,其生命周期从日志系统被初始化开始到其他子系统停止工作时结束。
本系统主要是作为整个软件的一部分,并为其他的子系统提供服务的,所以他的运行时间主要取决于其他几个子系统的运行时间,如果其他子系统(物流配送,员工信息,教务管理系统等)一直没有退出或是关闭的话,本系统将一直运行下去,直至所有的子系统关闭。
5系统数据结构设计
5.1逻辑结构设计要点
给出本系统所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
5.2物理结构设计要点
给出本系统所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。
5.3数据结构与程序的关系
说明各个数据结构与访问这些数据结构的各个程序之间的对应关系,可采用如下的矩阵图的形式:
程序1
程序2
......
程序m
数据结构1
√
数据结构2
√
......
数据结构n
√
√
6系统出错处理设计
6.1出错信息
用一览表的方式说明每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
6.2补救措施
说明故障出现后可能采取的变通措施,包括:
a.后备技术:
说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
b.降效技术:
说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;
c.恢复及再启动技术:
说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
6.3系统维护设计
说明为了系统维护的方便而在程序部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。