11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20.docx
- 文档编号:9573654
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:18
- 大小:67.73KB
11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20.docx
《11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20.docx》由会员分享,可在线阅读,更多相关《11达内 第十二组第一小组DMS数据挖掘项目需求说明书V20.docx(18页珍藏版)》请在冰豆网上搜索。
11达内第十二组第一小组DMS数据挖掘项目需求说明书V20
数据挖掘系统
DataMiningSystem
项
目
需
求
说
明
书
组号:
第十二组
组长:
组员:
指导老师:
完成日期:
1.引言
1.1编写目的
DMS(数据挖掘系统)项目需要开发一个通用的数据挖掘系统程序,在明确系统需求的基础上划分系统的功能模块,进行系统开发的分工,明确各模块间的接口,为进行后面的详细设计和实现做准备。
1.2名词解释
DMS:
数据挖掘系统。
业务流程:
描述系统工作的总体过程。
物理结构:
描述系统各功能模块与物理设备之间的联系。
系统模块:
描述系统的功能模块。
接口设计:
设计出系统与用户,系统与外部,系统各功能模块之间的关系。
登录日志文件:
文件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程序读取上次未匹配的登入记录,形成用户登入记录列表。
前置条件
DMS客户端程序启动
基本流程
1.根据系统配置信息确定上次未匹配的登入记录文件的位置。
2.读取文件内容,将数据解析成用户登入记录。
3.创建内存列表,保存读取到的登入记录数据。
4.清空未匹配的登入记录文件。
分支与异常
第2步,若上次未匹配的登入记录文件不存在,则跳过此用例。
第2步,若读取文件失败,则报告异常。
第4步,若清空文件失败,则报告异常。
4.2.4读取用户登录数据文件
表4.4读取登陆数据文件
用例名称
读取用户登录数据文件
功能简述
DMS程序读取用户登录数据文件,形成用户登录记录列表。
前置条件
DMS客户端程序启动
基本流程
1.根据系统配置信息确定数据文件位置。
2.根据系统配置信息确定上次未匹配的登入记录文件的位置。
3.读取上次未匹配的登入记录,形成用户登录记录列表。
4.读取数据文件,将文件内容解析成用户登录记录。
5.将上一步中解析得到的用户登录记录添加到列表中。
6.返回用户登录记录列表。
分支与异常
第3步,若上次未匹配的登入记录文件不存在,则跳过到第3步。
第4步,若指定的写出目录不存在,则创建目录。
第4步,若创建目录或写文件失败,则报告异常。
第5步,若指定的写出目录不存在,则创建目录。
第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整合出月报表
用例名称
整合出月报表
功能简述
根据用户登录信息日报表整合出月报表
前置条件
已经得到前一天所有用户登录信息日报表
一天执行一次
基本流程
1.与数据库建立连接。
2.按用户登录名和实验室IP为条件分组,访问用户登录信息的日报表,计算出每个用户登录每个实验室机器的月登录用时,将其存入月表中若是第一次存入对应的月表则插入操作,不是第一次就是更新操作。
3.关闭数据库连接。
分支与异常
第1步,若建立连接失败,则报告异常。
第2步,若访问表失败,则报告异常。
第3步,若关闭连接失败,则报告异常。
4.2.14整合出年报表
表4.14整合车年报表
用例名称
整合出年报表
功能简述
根据用户登录信息月报表整合出年报表
前置条件
已经得到前一月所有用户登录记录日报表
一个月执行一次
基本流程
1.与数据库建立连接。
2.按用户登录名和实验室IP为条件分组,通过访问用户登录信息的月报表,计算出每个用户登录每个实验室的年登录用时,将其存入年表中若是第一次存入对应的年表则插入操作,不是第一次就是更新操作。
3.关闭数据库连接。
分支与异常
第1步,若建立连接失败,则报告异常。
第2步,若访问表失败,则报告异常。
第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文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11达内 第十二组第一小组 DMS数据挖掘项目需求说明书V20 11 第十二 第一 小组 DMS 数据 挖掘 项目 需求 说明书 V20