11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20Word格式.docx

上传人:b****8 文档编号:22709686 上传时间:2023-02-05 格式:DOCX 页数:18 大小:67.73KB
下载 相关 举报
11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20Word格式.docx_第1页
第1页 / 共18页
11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20Word格式.docx_第2页
第2页 / 共18页
11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20Word格式.docx_第3页
第3页 / 共18页
11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20Word格式.docx_第4页
第4页 / 共18页
11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20Word格式.docx

《11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20Word格式.docx》由会员分享,可在线阅读,更多相关《11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20Word格式.docx

登录日志文件:

文件wtmpx是在Unix机器中自动记录用户登入/登出日志的文件,程序需要提取该文件的数据来匹配出用户登入/登出的记录,并将其作为将来的收费依据。

用户登入记录:

登录日志文件wtmpx中记录的用户登入Unix系统的日志记录,该日志记录包含用户的登录名,用户登入Unix的时刻,登录的终端机器IP等信息。

用户登出记录:

在登录日志文件中记录的用户登出Unix系统的日志记录,该日志记录包含用户的登录名,用户登出Unix的时刻,登录的终端机器IP等信息。

我们需要将用户的登入记录和登出记录匹配起来,得到一条条完整的登录信息,并计算出用户本次登录的时长。

用户登录记录:

在登录文档中将记录用户的登录名,登录时刻,登录终端极其IP等信息。

未匹配的登入记录:

登录日志文件wtmpx中正常情况下会一条登入记录跟一条登出记录匹配,但有时在我们采集数据时用户还没有登出,所以日志文件中可能出现没有登出记录与之匹配的登入记录,这些登入记录我们将其保存在一个指定的文件中,在下次采集时再读取。

2.项目背景

2.1项目背景

2.1.1开发背景

本系统基于DMS电信服务需求为主要研究背景,采用C/S架构,和C++程序设计,系统服务器采用Socket通信,和Linux多线程程序设计,完成并实现了以Linux作为后台服务器的电信服务管理系统。

2.1.2业务背景

本次DMS项目,有一个Unix实验室出租业务。

该业务主要是用户向电信运营商申请一个Unix帐号,就可以远程登录Unix实验室,并使用Unix系统。

当然了,用户使用电信运营商提供的Unix实验室的服务需要缴纳一定的费用,电信运营商需要一套数据采集系统,把用户登录实验室的时间长度数据采集起来,便于在指定的时间范围内作为对用户的收费依据。

数据采集系统必须采集如下信息:

登录用户名,登录的时间,登出的时间,登录总的在线时间,登录的实验室IP,用户的终端IP等信息。

采集Unix机器记录的用户登入和登出的原始记录,并将这些记录解析匹配成用户的登录记录,然后发送给数据采集服务器,在服务器端将这些数据以日期为单位保存在数据库中,然后整合这些数据形成日报表,月报表和年报表。

2.2项目业务原理

将系统分为采集客户端和采集服务器两部分,采集客户端包含数据采集模块,数据匹配分析模块和数据发送模块。

采集服务器端包含数据接收模块,数据存储模块和数据显示模块。

数据采集模块:

利用wptmp文件,负责读取数据;

wtmpx文件负责记录用户名,密码,ip,登录时间,登出时间。

数据匹配和分析模块:

负责将数据采集模块采集到的用户登录记录数据按照登录登出关系匹配成完整的登录登出记录。

数据发送模块:

负责将匹配好的登陆登出记录发送到服务器上。

数据存储模块:

负责将数据接受模块接收到的数据写入数据集,保存为用户登录明细表。

数据整合模块:

将数据库中保存的用户登录记录明细表整合成日报表,根据日报表整合为月报表,根据月报表整合为年报表。

2.3系统环境

2.3.1软件环境

操作系统:

Linux/windows系统环境

数据库:

Mysql

编程软件:

QT4.0

主要技术:

QT技术、数据库技术、多线程、生产者消费者模型

用户界面:

QT、web

2.3.2硬件环境

CPU:

intel(R)Core(TM)2CPU4400@2.00GHz(2CPUs)

内存:

2GB

硬盘:

75GB

显卡:

NvidiaGeForce7100GS

3.功能概述

3.1数据读取

数据读取模块的主要功能是读取Unix机器的用户登录记录文件,将文件的信息解析为程序对象列表,以方便模块的匹配。

3.2数据匹配

数据匹配的主要任务是将数据读取模块读取到的数据按照登录/登出的关系匹配成该用户一条完整的登录记录。

3.3数据发送

数据发送模块的主要任务是建立与服务器端的网络连接,将匹配好的用户登录记录以字符串的形式发送到服务器。

3.4数据接收

数据接收模块的主要任务是建立与客户端网络连接,接收客户端匹配好的用户登录记录字符串。

3.5数据存储

数据存储的主要任务是将数据模块接收到的数据保存到制定的数据库中。

3.6数据整合

数据整合的主要任务是将数据库中保存的用户登录记录明细表的数据整合成日报表,月报表,年报表。

4.系统用例

4.1用例图

图4.1用例图

4.2用例描述

4.2.1数据采集

表4.1数据采集

用例名称

数据采集

功能简述

DMS管理员运行DMS程序,完成数据采集的功能

前置条件

DMS程序已正确安装并部署

基本流

1.DMS管理员启动DMS服务端程序和DMS客户端程序

2.客户端程序读取未完成匹配的用户登入记录和登出数据记录

3.客户端程序得到用户登入/登出记录列表

4.客户端程序将用户的登入和登出记录按照对应关系匹配成完整的登录记录

5.将不能成功匹配的登入记录写到文件中保存,匹配好的登录记录发送到数据采集服务端

6.DMS服务端程序接收采集的数据

7.DMS服务端程序将数据写入到服务端文件中保存下来

分支与异常

第1步,若启动服务端程序和客户端程序失败,则报告异常。

第2步,若上次完成未匹配的登入记录文件不存在,跳到第4步。

第3步,若读取用户登入/登出数据文件失败,则报告异常。

第4步,若指定的写出目录不存在,则创建目录。

第5步,若创建目录或写文件失败,则报告异常。

第6步,若发送数据失败,则定时重传。

第7步,若写入文件失败,则报告异常。

4.2.2数据读取

表4.2数据读取

数据读取

DMS程序读取系统数据文件和上次未匹配的登入记录,形成用户登录记录列表。

DMS客户端程序启动

基本流程

1.根据系统配置信息确定上次未匹配的登入记录文件的位置。

2.读取上次未匹配的登入记录,形成用户登录记录列表。

3.根据系统配置信息确定用户登录数据文件的位置。

4.读取数据文件,将文件内容解析成用户登录记录。

5.将上一步中解析得到的用户登录记录添加到列表中。

6.返回用户登录记录列表。

第2步,若上次未匹配的登入记录文件不存在,则跳过到第3步。

第4步,若用户登录数据文件不存在,则报告异常。

4.2.3读取上次未匹配的登入记录

表4.3读取为匹配的登入记录

读取上次未匹配的登入记录

DMS程序读取上次未匹配的登入记录,形成用户登入记录列表。

2.读取文件内容,将数据解析成用户登入记录。

3.创建内存列表,保存读取到的登入记录数据。

4.清空未匹配的登入记录文件。

第2步,若上次未匹配的登入记录文件不存在,则跳过此用例。

第2步,若读取文件失败,则报告异常。

第4步,若清空文件失败,则报告异常。

4.2.4读取用户登录数据文件

表4.4读取登陆数据文件

读取用户登录数据文件

DMS程序读取用户登录数据文件,形成用户登录记录列表。

1.根据系统配置信息确定数据文件位置。

2.根据系统配置信息确定上次未匹配的登入记录文件的位置。

3.读取上次未匹配的登入记录,形成用户登录记录列表。

第3步,若上次未匹配的登入记录文件不存在,则跳过到第3步。

第4步,若创建目录或写文件失败,则报告异常。

第5步,若指定的写出目录不存在,则创建目录。

4.2.5数据匹配

表4.5数据匹配

数据匹配

DMS程序读取用户登入/登出记录列表,按照登入/登出的对应关系匹配成完整的用户登录记录,并将本次未匹配的登入记录写到指定文件。

已经获得用户登入/登出记录列表

1.访问用户登入/登出记录列表,按照登入/登出的对应关系匹配登录记录。

2.将未匹配的登入记录写到文件中。

4.2.6匹配登录记录

表4.6匹配登陆记录

匹配登录记录

匹配登录记录将用户登入/登出记录按照对应关系匹配成用户登录记录,以便计算用户登录时长。

1.定义两个列表分别用来保存登入记录和登出记录;

2.循环访问用户登入/登出记录列表,将登入记录和登出记录分别存入登入记录列表和登出记录列表。

3.循环访问登出记录列表,每找到一条登出记录后循环访问登入记录列表,找到与之对应的登入记录,将两条对应的记录组合成用户登录记录,并将这两条记录从列表中删除。

循环直至所有的登出记录都处理完成。

4.2.7保存未匹配的登入记录

表4.7保存未匹配的登入记录

保存未匹配的登入记录

将匹配之后剩下的登入记录数据保存到文件中,以便下次匹配。

匹配登录记录完成

将匹配完成后,登入记录列表中剩余的记录写到文件中保存。

若找不到指定文件,则创建;

若创建文件失败,则报告异常。

4.2.8数据发送

表4.8数据发送

数据发送

采集系统客户端将匹配好的数据通过网络发送给服务器。

用户登录记录已经匹配完成

1.建立到服务器的网络连接。

2.遍历匹配的用户登录记录集合,将匹配的用户登录数据记录按照指定格式发送。

循环本操作,直到所有匹配的登录记录处理完成。

3.关闭网络连接。

第1步,若网络连接失败,则报告异常。

第2步,若写数据失败,则报告异常。

4.2.9数据接收

表4.9数据接收

数据接收

采集系统服务器接收从客户端传送过来的数据。

服务器程序启动,客户端完成匹配,并已发送数据。

1.开启服务程序。

2.获得网络连接。

3.开启新的线程为客户服务。

4.获得输入流和输出流。

5.包装流对象。

6.循环从输入流中读取字符串,保存在本地缓冲池中。

7.成功读取一行字符串后向服务器发送成功传送标志。

8.循环5-6步,直到所有字符串接收完成。

9.关闭流对象,关闭网络连接,终止线程。

第1步,若开启服务失败,则报告异常。

第2步,若获得网络连接失败,则报告异常。

第4步,若获得流对象失败,则报告异常。

第6步,若读取数据失败,则报告异常。

第7步,若写出数据失败,则报告异常。

4.2.10数据保存

表4.10数据保存

数据保存

采集系统服务器将接收到的数据保存到数据库。

服务器已经接收到数据。

1.建立到数据库的连接。

2.循环访问接收到的数据列表。

3.将列表中的记录插入到用户登录记录明细表中。

4.访问完成后关闭连接。

第1步,若建立数据库连接失败,则报告异常。

第3步,若插入记录失败,则报告异常。

4.2.11数据整合

表4.11数据整合

数据整合

采集系统服务器将用户登录记录明细表的数据整合出日表,月表和年表。

用户登录记录明细表存在

1.执行Mysql语句,将用户登录记录明细表中前一天的记录按照用户名和实验室ip为条件组合,统计出每一天,用户登录某一实验室机器的总时长数据,形成日报表。

2.执行Mysql语句,根据用户登录记录日报表数据整合出用户登录记录月报表。

3.执行Mysql语句,根据用户登录记录月报表数据整合出用户登录记录年报表。

4.2.12整合出日报表

表4.12整合出日报表

整合出日报表

根据用户的登录信息整合出用户登录信息日报表

已经得到前一天所有用户登录信息

一天执行一次

1.与数据库建立连接。

2.执行Mysql语句,将用户登录信息表中前一天的记录按照用户名和实验室ip为条件组合,统计出每天,用户登录某一实验室机器的用时,形成日报表。

3.关闭数据库的连接

第1步,若与数据库建立连接失败,则报告异常。

第2步,若执行数据库语句失败,则报告异常。

第3步,若关闭数据库连接失败,则报告异常。

4.2.13整合出月报表

表4.13整合出月报表

整合出月报表

根据用户登录信息日报表整合出月报表

已经得到前一天所有用户登录信息日报表

2.按用户登录名和实验室IP为条件分组,访问用户登录信息的日报表,计算出每个用户登录每个实验室机器的月登录用时,将其存入月表中若是第一次存入对应的月表则插入操作,不是第一次就是更新操作。

3.关闭数据库连接。

第1步,若建立连接失败,则报告异常。

第2步,若访问表失败,则报告异常。

第3步,若关闭连接失败,则报告异常。

4.2.14整合出年报表

表4.14整合车年报表

整合出年报表

根据用户登录信息月报表整合出年报表

已经得到前一月所有用户登录记录日报表

一个月执行一次

1.与数据库建立连接。

2.按用户登录名和实验室IP为条件分组,通过访问用户登录信息的月报表,计算出每个用户登录每个实验室的年登录用时,将其存入年表中若是第一次存入对应的年表则插入操作,不是第一次就是更新操作。

3.关闭数据库连接。

5.性能需求

5.1数据精确度

本次数据涉及用户缴纳费用,不能出错,必须精确。

5.2时间特性

时间特性主要是即时性,准确性。

数据读取过程和数据匹配过程要有即时性,保证用户登入登出时刻的准确性;

程序在响应时间、数据更新处理时间、数据传输时间和系统运行时间需让用户满意。

系统应能检测出各种非正常情况,如与客户端的通信中断,无法连接数据库服务等。

5.3适应性

本次DMS项目要求在操作方式,运行环境和接口等发生变化时,要具有一定的适应能力。

要求能够便于操作,简单明了,即使到了其他环境,也能较快入手,具有良好的适应性。

6.运行需求

6.1用户界面

本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的按钮,进行相应的操作。

因本系统需要各个角色之间的交流通信,故对于界面的通信按钮要求较高,向服务器发出请求后,响应必须迅速。

6.2硬件接口

硬件接口表

软件接口/硬件接口

键盘

鼠标

打印机

主模块

管理员模块

查询模块

6.3软件接口

Mysql数据库:

作为本系统运行的后台数据库,储存了用户的各种数据信息,在代码调用过程中需要一个数据库的驱动作为接口进行调用。

7.其他需求

1、保证系统的安全:

采用一定的技术,保证用户数据的安全及权限设置,使得某些重要的工作人员可以修改、查看数据;

2、从用户角度看,该软件的使用要方便,便于操作,易于维护;

空间达到上限时可扩充,并能够快速恢复。

3、系统具有良好的移植性,能在多种平台上运行。

4、对未匹配的数据进行保存,具有较好的容错性。

5、保证系统的封闭性。

8.参考文献

《C++面向对象程序设计》主编:

谭浩强

《鸟哥的Linux私房菜》主编:

王世江

《数据结构》(c语言版)主编:

严蔚敏

《大话数据结构》主编:

程杰

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

当前位置:首页 > PPT模板 > 其它模板

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

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