日志系统概要设计说明书作者:曾琦,杨兴,龚锡寒完成日期:待定签收人:签收日期:修改情况记录:目录1 引言 (1)1.1 编写目的 (1)1.2 范围 (1)1.3 定义 (1)1.4 参考资料 (2)2 总体设计 (2)2.1 需求规定 (2)2.1.1 基本功能 (2)2.1.2 基本需求 (3)2.2 运行环境 (4)1 硬件环境 (4)2 软件环境 (4)2.3 基本设计概念和处理流程 (5)2.3.1业务流程设计 (5)2.3.2数据流程设计 (12)2.4 结构 (13)2.5 功能需求与程序的关系 (14)2.6 人工处理过程 (15)2.7 尚未解决的问题 (15)3 接口设计 (15)3.1 用户接口.................................................................................................... 错误!未定义书签。
3.2 外部接口 (15)3.3 内部接口 (16)4 运行设计 (16)4.1 运行模块组合 (19)4.2 运行控制 (20)4.3 运行时间 (24)5 系统数据结构设计 (24)5.1 逻辑结构设计要点 (24)5.2 物理结构设计要点 (24)5.3 数据结构与程序的关系 (24)6 系统出错处理设计 (25)6.1 出错信息 (25)6.2 补救措施 (25)6.3 系统维护设计 (25)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 硬件环境处理器:Pentium 3或性能更好的处理器。
内存:512MB或以上。
硬盘空间:500MB或以上的剩余空间。
本系统对于硬件的要求不算太高,选择计算机主要是本着经济、运行稳定的原则。
目前主流的PC机就可以满足本系统的运行要求。
2 软件环境系统环境:只支持Microsoft (微软) 操作系统。
版本代号为XP SP2 或者比次版本更高的系统,如:Windows 2003,Windows Vista,Windows 7。
数据库:MYSQL5.5数据库或更高版本的MYSQL。
Windows操作系统以其友好的图形界面,以及简单的操作要求,深受用户的青睐,另外他对使用者要求相对其他系统简单,所以一般用户都能直接上手。
基于上述的考虑,选择Windows系统作为软件的运行环境,方便使用者的操作。
2.3 基本设计概念和处理流程2.3.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 功能需求与程序的关系2.6 人工处理过程说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。
2.7 尚未解决的问题说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。
3 接口设计3.1 外部接口接口数据类型说明:Char* 字符指针Const 常量BOOL 布尔型VOID 空BOOL WriteLog(char *pLogInfo, int nLogType)功能:写入日志,根据nLogType的值写入对应的日志。
nLogType的取值详见参数说明参数:第一个参数以结构体字符串常量形式传入,第二个为一个整形变量,可选值为其下面其中之一: USERLOG:用户日志;LogisticsLog:物流配送日志EmployeeLog:员工信息日志EducationalLog:教务系统日志;返回值:若写入成功,返回TRUE,否则返回FALSE。
无返回值 ShowLogSysDlg()功能:显示日志系统用户界面。
参数:无。
返回值:无。
3.2 内部接口接口列表如下:BOOL InitAccessDB()功能:初始化数据库。
参数:无。
返回值:若成功返回TRUE,否则返回FALSE。
BOOL CloseAccessDB()功能:关闭数据库。
参数:无。
返回值:若成功返回TRUE,否则返回FALSE。
BOOL StoreIPAddr()功能:将登录过主系统的用户的IP写入下拉列表。
参数:无。
返回值:若成功返回TRUE,否则返回FALSE。
BOOL StoreUserID()功能:将登录过主系统的用户的ID写入下拉列表。
参数:无。
返回值:若成功返回TRUE,否则返回FALSE。
BOOL GetSoftwareLogChoices()功能:当用户对软件运行日志进行搜索时,获取用户选择的筛选条件。
参数:无。
返回值:若成功返回TRUE,否则返回FALSE。
BOOL GetUserLogChoices()功能:当用户对用户日志进行搜索时,获取用户选择的筛选条件。
参数:无。
返回值:若成功返回TRUE,否则返回FALSE。
BOOL InitComboBox()功能:对除用户ID及用户IP以外的下拉列表框进行初始化。
参数:无。
返回值:若成功返回TRUE,否则返回FALSE。
BOOL InitColumn()功能:对列表控件进行初始化。
参数:无。
返回值:若成功返回TRUE,否则返回FALSE。
BOOL ReadSoftwareLogFromDB(const char*)功能:将软件运行日志从数据库中读出。
参数:若需要读取存储系统,传入”StoreLog”,若需要读取云台系统,传入”CloudLog”,大小写不透明。
返回值:若成功返回TRUE,否则返回FALSE。
BOOL ReadUserLogFromDB()功能:将用户日志从数据库中读出。
参数:无。
返回值:若成功返回TRUE,否则返回FALSE。
BOOL InitImageList()功能:初始化图标列表。
参数:无。
返回值:若成功返回TRUE,否则返回FALSE。
BOOL GetLastUser()功能:取得数据库中最后一个用户记录,作为当前系统的使用者。
参数:无。
返回值:若成功返回TRUE,否则返回FALSE。
BOOL OnSoftwareLogSearch()功能:搜索软件运行日志。
参数:无返回值:若成功返回TRUE,否则返回FALSE。
BOOL OnUserLogSearch()功能:搜索用户日志。
参数:无返回值:若成功返回TRUE,否则返回FALSE。
4 运行设计4.1 运行模块组合说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。
4.2 运行控制第一阶段实例化对象并初始化。
m_DB= new CDBAccess();实例化数据库对象:m_DB。
调用函数布尔值 Init(),初始化数据库m_DB对象。
布尔值 Connect(const TCHAR*Host,const TCHAR* User,const TCHAR* Password,const TCHAR* Database,DWORD Port),连接数据库。
如果成功,第二阶段。
布尔值 initComboBox() ,初始化下拉列表字符串 GetChoices(),获取用户在筛选区中说要获取日志信息的条件。
布尔值 ReadUserLog(CString strSQL),从数据库中获取用户所需要的用户日志布尔值 ReadLogisticsLog(CString strSQL),从数据库中获取用户所需要的物流配送日志布尔值 ReadEmployeeLog(CString strSQL),从数据库中获取用户所需要的员工信息日志布尔值 ReadEducationalLog(CString strSQL),从数据库中获取用户所需要的教务系统信息日志布尔值 Close(),关闭数据库第三阶段:当整个系统退出时,调用布尔值ReleaseDB() 释放资源,退出系统。