软件开发质量管理提升系统SDIMS咨询与通讯子系统的设计样本_第1页
软件开发质量管理提升系统SDIMS咨询与通讯子系统的设计样本_第2页
软件开发质量管理提升系统SDIMS咨询与通讯子系统的设计样本_第3页
软件开发质量管理提升系统SDIMS咨询与通讯子系统的设计样本_第4页
软件开发质量管理提升系统SDIMS咨询与通讯子系统的设计样本_第5页
已阅读5页,还剩65页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)

设计论文题目:

学生姓名:.com

学生学号:计算机毕业设计

专业班级:征询QQ:

学院名称:

指引教师:

学院院长:

20XX年XX月XX0

软件开发质量管理提高系统SDIMS

征询与通讯子系统设计与实现

摘要

软件开发质量管理是为了使软件项目可以按照预定成本、进度、质量顺利完毕,从

而对成本、人员、进度、质量、风险等进行分析和管理活动。为了对软件开发进行有效

管理,新太软件开发质量管理提高系统,如下简称Suntek-SDIMS,正是基于当前软件

开发公司现状,结合了新太软件项目管理经验(SPMS)而设计开发一套管理平台,来协

助公司提高软件开发管理质量。

Suntek-SDIMS以软件开发生命周期为中心,基于软件工程过程和项目管理过程两

个方面来构建软件开发管理工具,为项目组、高档管理者提供以便有效项目筹划、任务

跟踪、问题解决、需求管理、缺陷管理、配备管理、质量管理、培训等工具,

征询模块结合系统知识库,通过知识库解答和记录关于软件开发过程中任何问题。征询模块负责解

答顾客在项目开发过程中遇到问题,除了普告知识解答,征询模块尚有各种功能,一是回答项目有

关问题,如顾客想懂得项目进度如何时,可以直接使用征询系统向助手询问“项目进度怎么样了”,

系统会详细回答顾客问题,并告诉你有多少任务已经完毕,多少任务未完毕,有什么重要任务需要

优先解决。二是记录数据、顾客可以直接向征询系统询问记录数据,例如“项目有多少测试人员”这

样问题,系统给出回答同步,提供链接让顾客懂得这些测试人员姓名。三是执行功能,顾客向系统输

入“打开我任务列表”,系统自动转到任务管理,顾客便可以进行任务管理操作。

通讯模块是系统重要一部份,功能有即时通讯,历史记录,文献传送,图片传送,屏幕截图,远程桌

面。异地开发人员在开发过程使用即时通讯来联系.懂得项目进展状况。而客户使用通讯模块可以

向软件开发人员进行远程桌面连接,开发人员通过远程桌面协助客户解决软件产品使用中问题。同

步通讯模块是SDMIS系统各个模块连接点,系统有关功能贯穿整个系统.通过此功能主管可以查看

各开发人员任务.可以向开发人员分派任务,某个重要任务系统会自动进行任务提示。

核心词:软件质量提高;即时通讯;中文分词

Suntek-SDMISconsultationandcommunicationssubsystemdesign

andimplementation

Abstract

Tplel.

withi.th.cost,schedule,quality,the.a.th.sam.tim.analysi.an.managemen.th.cost,schedule,

qiiali(.an.risk.I.orde.(.develo.softwar.effectively.Siinte.softwar.deveiopmen.qualit.improv.mana

gemen.system,hereinafte.referre.Suntek-SDIMS,i.base.o.curren.statu.o.softwar.enterprises,

hel.enlerprise.improv.th.qualit.o.managemen.i.softwar.development,

jec.managemen.experienc.(SPMS.an.th.desig.o.softwar.managemen.platform.

Suntek-SDIMS,base.o.soflwar.developmen.lif.cycle,conslruct.lw.sides,

jec.management,

jec.tea.an.Senio.managers.I.jects.I.co

ntain.task.tracking,bu.management,defec.management,configuratio.management,

qualil.management,Irainin.an.olhe.tools.

Cbin.knowledg.database,

blem.i.softwar.developme.thoug.knowledg.database.Consultatio.modul

.ject,

i.additio.t.gcnera.knowlcdg.answering,ther.ar.severa.function.i.consultatio.module,

jec.relate.issues,ject,

h.ca.direc.acces.th.HeLSyste.an.ask,"gress",th.syste.wiLrepl.t.user.i.detail,

pleted,ho.man.o.unfinishe.tasks,

wha.ar.th.imporlan.lask.o.priority.Second,stalistica.data,

user.ca.aske.directLt.th.Consultatio.Syste.t.statistica.data,fo.example,

*'jecl",.o.th.testin.engineer.Third,

th.implcmcntatio.o.functions,use.inpu.t.th.system,"opcne.m.tas.listn,

th.syste.automaticall.ope.th.tas.management,User.wilstar.th.tas.managemen.operation.

Communication.modul.i.a.importan.par.o.SDMIS,

munications,th.historica.rccord*fil.transfer,pictur.transmission,

screenshots,

Remot.Dcsktop.Rmunication,

ject.Amunication.modul.t.ge.hel.fro.soft

war.developer.thoug.remot.desktop,

munication.modul.i.lin.poin.o.SDMLsystem,

system-relate.function.throughou.th.system,

thi.functio.ca.chec.th.task.o.staf.i.developmen.o.th.mandate,an.

allocat.task.t.th.staff.Th.certai.importan.tas.syste.wiLautomaticall.reminded.

Keywords:softwarequalityimprovement;intenetmessage;theChinesephrase

Separation

目录

1.绪论.....................................................

1.1选题背景及目...........................................

1.1.1选题背景.............................................

1.1.2选题目..............................................

1.2国内外研究状况.........................................

1.2.1MsnMessage聊天机落人小布...........................

1.2.2集成工具Firefly与SDMIS比较........................

1.3课题研究办法...........................................

1.4系统及开发环境.........................................

1.5论文构成及研究内容.....................................

2模块需求分析..............................................

2.1征询模块需求分析.......................................

2.2通讯模块需求分析.......................................

3模块设计.................................................

3.1征询模块总体设计.......................................

3.1.1中文分词原理........................................

3.1.2中文分词和征询系统.................................

3.1.2词语匹配............................................

3.2通讯模块总体设计.......................................

3.2.1界面................................................

3.2.2功能................................................

3.3征询模块详细设计.......................................

3.3.1自动回答...........................................

3.3.2记录数据...........................................

3.3.3执行功能...........................................

3.4通讯模块详细设计.......................................

3.4,1界面................................................

3.4.2功能................................................

3.5数据库..................................................

3.5.1语句库.............................................

3.5.2回答句库............................................

3.5.3词库................................................

3.5.4消息信息数据库......................................

3.5.5消息本体数据库......................................

4模块实现..................................................

4.1征询模块实现...........................................

4.1.1客户端..............................................

4.1.2服务端..............................................

4.1.3成果过多解决办法...................................

4.1.4最后界面............................................

4.2通讯模块实现...........................................

4.2.1消息通讯............................................

4.2.2文献传送............................................

4.2.3图片传送............................................

4.2.4屏幕截图............................................

4.2.5远程桌面.............................................

4.2.6系统结合功能.........................................

5结论......................................................

道谢........................................................

参照文献....................................................

附录........................................................

1征询模块客户端代码........................................

1.1征询模块执行功能......................................

1.2客户端发送代码........................................

1.3客户端执行解析后功能..................................

2通讯模块某些代码..........................................

2.1显示即时消息...........................................

2.2远程桌面...............................................

2.3发送本地屏幕...........................................

2.4模仿键盘操作远程桌面..................................

1.绪论

1.1选题背景及目

1.1.1选题背景

随着信息技术飞速发展,软件产品规模也越来越庞大,个人单打独斗作坊式开发方

式已经越来越不适应发展需要。各软件公司都在积极将软件开发质量管理引入开发活动

中,对开发实行有效管理。从概念上讲,软件开发质量管理是为了使软件项目可以按照

预定成本、进度、质量顺利完毕,从而对成本、人员、进度、质量、风险等进行分析和

管理活动。

新太软件开发质量管理提高系统,如下简称Suntck-SDIMS,正是基于当前软件开发

公司现状,结合了新太软件项目管理经验(SPMS)而设计开发一套管理平台,来协助公

司提高软件开发管理质量。

Suntek-SDIMS以软件开发生命周期为中心,基于软件工程过程和项目管理过程两个

方面来构建软件开发管理工具,为项目组、高档管理者提供以便有效项目筹划、任务跟

踪、问题解决、需求管理、缺陷管理、配备管理、质量管理、培训等工具。

Suntek-SDIMS内部集成了网络协同办公OA及即时通讯功能,通过灵活二次开发设

计工具,并结合项目管理工具,协助公司顺利实行项目各类管理流程。

SDIMS是集征询、培训、工具为一体全套IT公司质量管理提高方案。

对于项目任务发送接受以及中间解决过程,系统提供即时告

知功能,迅速告知有关人员解决有关任务及项目流程,大大减轻

人力跟踪监督工作。

1.1.2选题目

在系统已经成型基本上,我完毕了结合系统平台各种功能征询与通讯模块,以此可以作为本论

文选题。

:Q;统一份作工R合

软作工程过程工作流项目臂理过程工作流

1■一———/I——

M集成支持工具

统

知识库骸纯侬程管理)

tt护

皆

理

八工作流引皋ir*s

如及

安母开发工

全搜索丽g11匚专对i*〕nr知识管理

、

*

W馀

)

图1.1SDMIS构架图

SDMIS构架图如上,本系统得征询与通讯模块在应用服务层,与

系统需求过程,任务管理过程紧密相连接。从设计到完毕和完善

总共用了近2个月时间。2个模块客户端用同一窗口,因而先完毕

是通讯模块,再完毕征询模块。2个模块使系统在以便性方面提高

很大,开发使用是Delphi?,和DatabaseUnity数据库,征询模块

用到了最大匹配算法,解决了顾客输入辨认问题。通讯模块中,为

了做出专业界面,在PS上也下足了功夫,最后完毕了各种功能,

消息通讯,历史纪录,文献传送,远程控制,系统功能结合。

1.2国内外研究状况

1.2.1MsnMessage聊天机器人小布

打开MSN并登录,然后在主窗口中点击“添加联系人”,将电子邮件地址为机

器人小布添加进来,稍等半晌,就会浮现机器人小布将你添加到她联系人中对话框,“拟

定”之后就可以与机器人小布聊天了。小布是智能机器人,会依照人提问“聪颖”给出

答案(如图1-1机器人小布)。

文件(日编辑操作(以工具(D帮助(由

图1.2机器人小布

Msn机器人比较先进,回答时候并不单一,有时候会给人诸多随机应变答案,什么状况下都给人

和谐感觉,但是它也有诸多局限性问题,需要顾客“教”.我开发目的是一种结合项目知识库,能和

谐应变顾客机器人。

1.2.2集成工具Firefly与SDMIS比较

集成工具Firefly软件工程和SDMIS同样是集成工具,也有即时通讯功能,与系统各个功能结合紧

表1.1Firefly与SDMIS比较

FireflySDMIS

即时通讯功能简朴,能与系统结合紧即时通讯基本功能齐全,与系统结合

密紧密

扩展性能支持大规模开发灵活,适合小中大规模开发

1.3课题研究办法

本课题安全按照软件工程思想来实行。

明确需求,设计系统。当需求得到确认后,进入到设计阶段。进行概要设计、数据库

设计等,并确认设计方案可行性。

根据设计,开发系统。按照设计阶段设计过程.开发在线工作日记管理系统。

测试系统,修改BUG。除了在编码时候采用单元测试方式来测试。在系统完毕后还

对系统进行一次完整测试,找出系统存在各种问题并修改。

整个开发过程采用迭代式开发。每一次迭代均由需求分析、设计、编码、测试等阶

段构成,为整个系统增长一种可定义、可管理子集.每一种迭代过程都会进一步完善系

统功能,满足顾客需求。

像QQ,MSM人们都比较熟悉即时通讯软件,她们可以几乎实时传送消息给接受人,

她们有各自合同,可以实现显示图片,发送文献,远程控制,语音视频这样重要功能,我

模块就必要有这些重要基本功能,并且要和合同管理,需求管理,筹划管理,提示模块

紧密结合。固然我没有*QQ源代码,我必要依照自己技能和找到资料,来完毕这个模块。

我本来有做过即时通讯软件,当前就要加上上述几种重要功能。

及时通讯模块较难之处在于与各个模块结合合同制定,并且但愿可以结合到将来新

加入新模块。

信息智能征询模块可觉得各个小型数据领域通用,,这个模块是使用中文分词算法得

到顾客词语,再在核心字数据库中找到匹配各种核心字,通过这些核心字能模糊得到顾

客想查询功能,然后就可以通过这些功能回答顾客提出问题了。

1.4系统及开发环境

系统使用WindowsXP//开发环境Delphi71)

1.5论文构成及研究内容

本文主体某些由五大某些构成:

1.绪论某些重要简介选题背景及日,以及国内外研究状况和课题研究办法。

2.征询模块,通讯模块需求分析。

3.征询模块,通讯模块总体设计,涉及硬件和软件环境,征询模块词语匹配算法和原理。

4.征询模块,通讯模块详细设计及实现,,总体构造流程,功能分派,数据库设计以及系统界面设计。

5.结论、道谢及参照文献。

2模块需求分析

2.1征询模块需求分析

征询模块重要在“征询”上,顾客通过向系统提问来得到答案。本模块重点是通过

对顾客问题分析,得到顾客需要哪些问题,重点想懂得是什么。本模块就是让系统明白

顾客意思,至少可以从顾客提问中找到有用信息,作出接近顾客意思回答。

通过词库,使用最大匹配算法得到核心词,从这些核心词和语句库中句子相比较,

可以找到最符合句子,再通过回答句库返回回答语句给客户端,客户端解决各种异常后

就可以呈现给顾客了。

词库.语句库-回答句库也并不一定很智能,只要数据库录入时语句精准,词语没有

漏掉,使用起来还是很能达到指顾客语义限度。

征询模块除了回答项目方面问题,还可以做诸多事情,例如查询电话号码,航班号,还可以执行

功能,如让程序打开百度网页,打开于•某顾客聊天窗口。

在网上发现类似机器人有天气预报,星座征询,节气常识,比赛得分查询等等功能。机器人小布

尚有许多不错功能,如查询天气预报、今日星运、万年历、大都市公交车站、区号邮编、成语等等。

你只要在对话框中输入“?”,机器人小布就会告诉你关于她具备功能及查询格式所有信息(见图

2.1)。

图2.1机器人小布

2.2通讯模块需求分析

由于通讯模块通用行,基本需求就有个,一是发送短消息,二是文献传送、三要窗口

能显示图片,四是历史记录。在项目开发和客户验证过程中,也许需要向顾客演示软件

功能,因而需要有远程桌面和语音视频功能。

如下是功能阐明发送短消息:规定发送内容带表情符号,发送后字体保持不变。文献传送:从安全

面考虑,发送需通过双方确认,否则不能发送文献。显示图片:能直接在聊天窗口显示图片。屏幕截

图:截取屏幕一某些发送给对方。远程控制:发起方可操作接受方桌面。

由于开发时间比较短,筹划实现如下功能,消息通讯,文献传送,图片传送,屏幕截图.远程桌面。

3模块设计

3.1征询模块总体设计

系统设计为CS构造

服务器普通采用高性能PC.工作站或小型机,并采用大型数据库系统,如Oracle.

Sybase>Informix或SQLServer,典型CS构造倒是可以配备成瘦服务器端胖客户端模式,

客户端需要安装专用客户端软件。

CS长处是能充分发挥客户端PC解决能力,诸多工作可以在客户端解决后再提交给

服务器。相应长处就是客户端响应速度快。

图3.1征询模块构造

图中服务端比较复杂,负责了分词,匹配,查询,输出等工作。

3.1.1中文分词原理

3.1.1.1中文分词概论

众所周知,英文是以词为单位,词和词之间是靠空格隔开,而中文是以字为单位,句

子中所有字连起来才干描述一种意思。例如,英文句子Iamastudent,用中文则为:“我

是一种学生二计算机可以很简朴通过空格懂得sludent是一种单词,但是不能很容易明

白“学”、“生”两个字合起来才表达一种词。把中文中文序列切提成故意义词,就是中

文分词,有人也称为切词。我是一种学生,分词成果是:我/是/一种学生。[m]

分词就是将持续字序列按照一定规范重新组合成词序列过程。

3.1.2中文分词和征询系统

中文分词对征询系统来说,最重要是找到至少核心字,通过核心字来判断顾客征询

是什么意思。

中文分词是中文信息分析中一大难题,和英文分词不同,中文分词无法直接拟定分

词。

3.2.2.1英文分词

英文词语按空格分开,词态也很有规律

1)数字:123,456.78190.7%3/8

2)缩略(包括不同状况):

.字母一点号一字母一点号构成序列,例如:U.S,i.e.等等;

.字母开头,最后以点号结束,例如.Mr.eds.

3)包括非字母字符.例如:AT&TMicrosoft

4)带词串,例如:three-years-old,one-third,so-called

5)带“撇”词串.例如:I'mcan'tdog'slet's

6)带空格词串,例如:r,andsoon","adhoc"

对数字辨认算法如下:

digit

digit=0|1|2|3|4|5|6|7|8|9

图3.2数字辨认状态图

对于英文辨认,使用Tokenization算法:

Tokenization算法普通过程

(1)对一种待分析字符串(S),从左到右进行扫描,读入当前字符(char)到候选

词数组(W[i]),并将指针(poinler)前移,i=i+l;

(2)看char与否为词分隔符(事先可以预定义空格以及普通标点均为词分隔符);

(3)如果char是词分隔符,并且W不是空格,将W中从起始位置到i-1位置字符

作为一种词汇单位输出,同步将S中W某些删去,然后清空W,转入(1),如果char

是词分隔符,且W是空格,将S中W某些删去,清空W,转入(1);

(4)如果不是词分隔符,看指针与否己经指到宇符流尾部;

(5)如果指针已经指到字符流尾部,将当前W从起始位置到i-1位置字符作为一种

词汇单位输出,结束。

(6)如果不是字符流尾部.转入(1);

3.2.2.2中文分词不拟定性

中文分词不象英文分词那么简朴,中文词语不拟定性注定了中文信息难以辨认解次,

从语句到词串,是一种减少不拟定性过程。

如,中文简繁转换:

彳爰相应后

文本校对(改错别字):

抛妻别字相应抛妻别子(字音编码输入)

一种句子也许由于算法不同而得到不同成果:

利益让公司不看重大项目风险

利益让公司不看重大项目风险

利益让公司不看重大项目风险

又如:

这小巷车很伤心

3.1.2词语匹配

3.1.2,1词语匹配

仅仅会分词还不够,如果真要让机器人理解人说话,必定需要某些人工智能算法。咱

们就是做个机器人玩玩、没必要研究那么深。人工智能走到当前.太聪颖聊天机器人也

少之又少。并且,让专业研究人员去研究就好了,咱们仅仅就是玩玩。因此咱们就用一

种最简朴办法。咱们办法是,让机器人找这一句话核心词,这句话大概词性搭配,再去语

料库里面找到符合这样规则回答话。

例如对方说:

“谁是项目经理”

咱们先用分词算法,把这句话提成

“谁/是/项目经理”,

然后找出核心词“项目经理”。同步把这句话词性搭配也记录下来。这样,当找到

核心词“项目经理”在话语库中时候,咱们再来找与否有类似这这句话词性搭配回答,如

果有,随机回答出一句:”这个项目项目经理是某某人”,这样,可以给聊天者比较好感

觉。

那么问题来了,如何找出核心词呢?

找出这句话中长度最长词作为核心词。没有为什么,由于这样速度会快些。如果一句话中所有词

都被扫描成为核心词,再去查库,会浮现些匹配上问题。

可以这样解决:把与核心字匹配成果都列出来.提问者问题不会太长,我想提问者问题也不会有

十几种核心字把。在少量核心字下,就可以找到比较符合顾客意思问题语句。

3.1.2.2最大匹配算法

图3.3最大匹配算法流程图

顾客提出这样问题“项目开发人员总共有多少人二

最后成果应当为表3・1中例子所示。

分词过程如下所示:

(1)S2=',H;S1不为空,从S1左边取出候选子串W二”项目开发人员”;

(2)查词表,“计算语言学”在词表中,将W加入到S2中,S2:”项目开发人员/”,

并将W从S1中去掉,此时S1二”总共有多少人”;

(3)S1不为空,于是从S1左边取出候选子串W二”总共有多少人”;

(4)查词表,W不在词表中,将W最右边一种字去掉,得到W二”总共有多少”;

(5)查词表,W不在词表中,将W最右边一种字去掉,得到W二”总共有多”;

(6)查词表,W不在词表中,将W最右边一种字去掉,得到W="总共”

(7)查词表,W在词表中,将W加入到S2中,S2二“项目开发人员/总共/",并

将W从S1中去掉,此时Sl=”有多少人”;

(8)S1不为空,于是从S1左边取出候选子串W=”有多少人”;

(9)查词表,W不在词表中,将W最右边一种字去掉,得到W二”有多少、

(10)查词表,W不在词表中,将W最右边一种字去掉,得到W二“有多”;

(11)查词表,W不在词表中,将W最右边一种字去掉,得到W:“有”,这时

W是单字,将W加入到S2中,S2="项目开发人员/总共/有”,并将W从S1中去

掉,此时Sl="多少人”:

(12)S1不为空,从S1左边取出候选子串W="多少人”;

(13)查词表,W不在词表中,将W最右边一种字去掉,得到W=“多少”,这时

W是单字,将W加入到S2中,S2二”项目开发人员/总共/有/多少/”,并将W从

S1中去掉,此时Sl="人”;

(14)S1不为空,从S1左边取出候选子串W二“人”;

(15)查词表,w不在词表中,将w最右边一种字去抻,得到w="人",这时w是单字,将w加

入到S2中,S2="项目开发人员/总共/有/

多少/人/”,并将W从S1中去掉,此时

(16)S1为空,输出S2作为分词成果,分词过程结束。

算法缺陷

一是不能解决有歧义话语.像“路很伤心”这样句子,“伤心”和“难”,“过”这样单字词无

法判断,当前解决办法是加入词语组合概率因子,通过多层概率表来判断是单字还是词语一种单字。

但是这样查询起来会比较慢。

二是匹配算法从左到右提取子串和从右到左提取子串得到词语也许不符。如“我不看重大笔钱”

这样句子,就会浮现问题,若从左到右分词则成果是“我不看重大笔钱”,而从右到做成果是“我

不看重大笔钱”,当前解决办法与否定词要作为单字,遇到带否定词词语就要多判断了。

3.1.2.4拟定成果

拟定成果就是得到分出词语,词语用TStrings来保存。

在dclphi中Tstrings可以保存词语数组,保存了成果,就可以与待符合语句进行匹配

了。

3.2通讯模块总体设计

3.2.1界面

以淡蓝色为主体,带输入框,信息显示框,辅助按钮框(用于系统结合)

3.2.2功能

消息通讯:发送文字消息,可以显示表情。

文献传送:可以发送文献。文献传送在寻常工作比较重要,速度和精确度高。

图片传送:发送图片文献时候可以直接显示在信息显示框中。

屏幕截图:在软件开发中,屏幕截图经常使用到。可截取屏幕一区域存为图片。

远程桌面:在协助客户解决问题时有时会用到。可以远程控制对方桌面。

系统功能:结合了任务管理模块。

3.3征询模块详细设计

3.3.1自动回答

图3.4自动回答数据库关系

以顾客提问“谁是本项目项目经理?”为例

1.去标点符号,如果有各种标点则分句,每句重复第2步。

2.对顾客提问进行分词。用到最大匹配算法,找到数据库保存核心字,核心字有“谁

/是/本项目/项目经理”

3.按每对核心字在回答语句库中查询,很也许得到各种匹配成果

4.下面要判断最符合提问回答语句,有2个小技巧可以提高精确度,1个是最长词语

往往是顾客重耍意思,若以评分方式评最符合语句,3分最高,这个词语可以评3分。第

2个技巧是可以判断词语浮现顺序。

5.以这样方式计算符合度,普通词匹配2分,顺序1分,3字以上词3分(也许依照

详细规定不同可修改)

6.得分最高符合语句“谁是这个项目[本项目]项目经理”评分是

2I2I3I3IHiml=14o

7.为了提高效率,可以让得分高于8分就以为匹配。

8.得到匹配语句后,拟定回答语句

9.通过回答语句SQL,通过数据库查询成果

10.显示成果。成果为回答语句+SQL查询成果。

3.3.2记录数据

图3.5记录数据数据库关系

以顾客提问“本项目有多少开发人员?”为例

1.去标点符号,如果有各种标点则分句,每句重复第2步。

2.对顾客提问进行分词。用到最大匹配算法,找到数据库保存核心字,核心字有“本

项目/有/多少/开发人员”

3-7.与字回答相似

8.得到匹配语句后:拟定回答语句

9.通过回答语句SQL,通过数据库查询成果,求总和(SUM)o

10.显小成果。成果为回答语句十SQL查询成果。

3.3.3执行功能

客户端收到解析功能若为“执行功能”类型

则可直接执行功能。

例如顾客输入“打开项目需求管理”

1.去标点符号,如果有各种标点则分句,每句重复第2步。

2.对顾客提问进行分词。用到最大匹配算法,找到数据库保存核心字,核心字有“打

开/项目/需求管理”

3-7.与字回答相似,数据库中符合语句为“打开[执行/运营/open]需求管理”

8.得到匹配语句,她类型为执行功能F3,F3表达打开需求管理窗口。

9.通过代码执行功能。

3.4通讯模块详细设计

3.4.1界面

见附件UnilPersonalChat.dfm(需要有Delphi7环境)。

3.4.2功能

消息通讯:使用系统内部函数sendmidmessage,实现点对点消息发送,用转义实现

表情传送。

文献传送:使用Tsockel组件实现文献传送

图片传送:使用TiceRichEdit组件实现能显示图片RichEdit组件。

屏幕截图:属于简朴图像操作功能

远程桌面:运用模仿鼠标键盘可以操作远程桌面

系统功能:结合了任务管理模块。

3.5数据库

3.5.1语句库

语句库保存是也许被顾客提问中使用到句子,句子求简朴,通用性强,范畴广,各种

批准词语前可以用特殊符号([,])表达。例如项目经抱负懂得项目有多少缺陷,她会有

各种问法,例如,本项目有多少bug,项目有多少缺陷。入库时句子就可以写成:本项目

[项目]有多少bug[缺陷/缺陷]。

入库时句子中词语保持顺序,词语间按空格为单位隔开。

考虑到会有英文存在入库时英文都转为小写。

相应回答自然是对本问题答问答句库回答编号。

语句所属类别表达一种合用范畴,例如对项目关于询问可以与需求关于询问分为2

种功能。

表3.2语句库

名称表作用

语句编号SentencelD

语句功能Type语句类别分为查询,

记录,执行功能

语句Sentence

相应功能编号FunctionlD

相应回答编号ReplylD

语句所属类别Sort区别查电话,问候这

样功能

3.5.2回答句库

回答语句自然是对语句库回答,当语句库中匹配到句子,便从本库提出回答语句,

返回给顾客。

SQL用于查询成果,如顾客提问列出本项目客户,即可用sql里表名和条件找出符合

规定客户。

语句所属类别,对不同类别句子区别。

表3.3回答句库

名称表作用

回答编号ReplylD

回答功能Dpe语句类别分为查询,记录,

执行功能

回答语句Sentence

SQLSql查询表名+条件,用于记录

语句所属类别Sort区别查电话,问候这样功能

3.5.3词库

词语重复率高,不同类别词语可以通用一种sori。

表3.4词库

名称表作用

词语编号WordID

名称表作用

词语Word

词语所属类别Sort不同类别来区别同一词语

3.5.4消息信息数据库

如下是储存消息数据库,ChatlnfoDB,不保存消息本体,节约了空间:

表3.5CharInfoDB

名称表名作用

编号InfoID

发送者Sender

接受者Receiver

消息IDMessagelD相应ChatMessageDB消

息ID

时间Time

附加功能1Additionl可以完毕文献传送等功

能

附加功能2Addition!也许用到各种

3.5.5消息本体数据库

如下是储存消息数据库,ChatMessageDB,保存消息本体。

表3.6ChatMessageDB

名称表名作用

编号InfoID

消息IDMessagelD

消息本体Message消息内容

字体名FonlName

字体大小FontSize

字体类型FontType

字体颜色FontColor

字体有效范畴Scale涉及开始位置和结束位置

4模块实现

4.1征询模块实现

4.1.1客户端

4.1.1.1自动回答

如下代码可以参见附件

自动回答需要由客户端发送顾客输入问句到服务端,用特殊标记告诉服务器,问句

是询问状态。由服务端坐做分词解决,查找符合回答语句和SQL某些,由SQL中表和条

件得出答案,再由客户端上显示出。

界面如6.3中图6-1。

4.1.1.2记录数据

详细代码见附件。

记录数据回答语句与自动回答不同,是回答语句1+记录成果+回答语句2这样形势,

例如“本项目共有7个bug”,其中7是记录成果,前面背面句子分别是回答语句1和

回答语句2o

4.1.1.3执行功能

详细代码见附件

客户端需要解决大量细节上问题,其中执行功能某些已经在附录中给出。客户端代

码定义了F1到F2323个功能。

4.1.2服务端

4.1.2.1自动回答

服务端接到顾客问句后,对问句分词,与语句库中语句匹配到句子,判断是到句子

是自动回答,从回答句库中SQL中查得回答成果,然后把回答语句和成果合并后返回回

给客户端。

若找不到成果,可以用数据库保存专门用于出错或者没有成果语句。

4.1.2.2记录数据

服务端接到顾客问句后,对问句分词,与语句库中语句匹配到句子,发现句子属于

记录数据,可以从回答句库中把回答语句和成果返回给客户端。

若记录成果是0,可以用数据库保存专门用于出错或者没有成果语句。

4.1.2.3执行功能

服务端接到顾客问句后,对问句分词,与语句库中语句匹配到句子,回答句库发现

句子属于执行功能,就可以返回给客户端功能代号。由客户端解决或执行功能。

4.1.3成果过多解决办法

当符合语句有各种时,可以由客户端把符合语句列出,数据库中语句是以空格隔开词语,可以把

这些词语组合为句子,去掉口内容一一列出,可以代表顾客意思。以选项方式提供应顾客选取。

type

PLinkTask=ATLinkTask;

TLinkTask=record

LinkID:Integer;

Pointer:TIPPLinkObject;

end;

在ICErichedit中使用链接形式列出,当顾客点击链接,可以再由服

务器提供PI答。

4.1.4最后界面

最后界面如下所示:

锄;〃财也。力反,陞程」当

项目设置项目群.秘书计划管理需求管理版本管理项目消息质量管理沟通管理客户星务发布统计

基本高级1d

P-----------------------------—A您正在与群组交谈

@公告磔0

项目:计划管理测试项目秘书:2007-04-1914:23:55

权隈:参与者何修改自己①现在您的聊天群组已经改为事务状态

您好,我可以为您办以下事情

发布日期:07-03-05项目查询(执行明墟,自动回答,境计勤弱海间)

研明盥料旬:打开呆境设宣

9点钟完成??任务艰臣啊

,兄弟们!目切酸蝌旬:诋是腐目经理

统计数盘谕向例例*毂人贸有多少

03功能列表

口翱聊天

0项目㈱旧符务您向项目助手询问:2007-04-1914:23:58

n项目好域目文档,本项目所有成员的名字

q项目成员U/3)&

①项目助手2007-04-1914:23:58

会■黄先财[项目经理:

项目所有成员名单:Me[黄先财-2800215],zy[邹昱-2270221],hwq[黄万青T270245].

当邹昱[程序管理]

二黄万春【测试人员:________________9

辘⑤)

图4.1界面效果I

锄;〃咐也。富目3当

项目设置项目群.秘书计划管理需求管理版本管理项目消息质量管理沟通管理客户星务发布统计

基本高级

A您正在与群组交谈

磔公告00

项目:计划管理测试项目秘书:2007-04-1914:20:16

权隈:参与者何修改自己①现在您的聊天群组已经改为事务状态

您好,我可以为您办以下事情

发布日期:07-03-05

————————————————————项目查询(执行班嫌,自动回答,境计数弱询同)

9点钟完成??任务艰臣啊质疗减料旬:打开系境设寰

,兄弟们!白切酸蝌旬:诋是腐目经理

级计数醐同例例*毂人贸有多少

03功能列表

口翱聊天

0项目批旧符务您向项目助手询问:2007-04-1914:20:29

a项目睇域目文档,本项目的项目经理是?

q项目成员U/3)&

①项目助手2007-04-1914:20:29

会■黄先财[项目经理:

这个项目的项目经理是:hxc[黄先财-26QQ215]

当邹昱[程序管理]

二黄万春【测试人员:3

辘⑤)

图4.2界面效果2

4.2通讯模块实现

4.2.1消息通讯

4.2.1.1Sendmidmessage函数

消息通讯使用Sendmidmessage函数来传递消息。Sendmidmessage是原系统底层函

数,能对指定顾客发送消息。消息通讯重要靠这个函数完毕,系统要作就是转化下消息

格式。

一方面,判断要发送内容与否为空和不能超过规定字数。

由于征询模块需要通过数据库,需要字符转义,转化掉’,",%,〈,〉等特殊符号。

发送格式必要涉及消息本题,发送者,接受者,时间日期,和4个字体属性(font,

fontsizc,fontstyle,color),及字体范畴,可以加上发送者义像代号,尚有与系统有关功

能。加入字体属性和字体范畴,可以保持发送者字体,接受者收到消息可以显示为原有

消息和字体。

4.2.1.2实现发送表情

在QQ等即时聊天工具中输入/sun会显示一种太阳动画。消息通讯表情可以带来轻

松沟通过程.

Delphi中第3方组件TICErichEdit可以较好显示图片和连接功能,可以使用此组件

完毕系统。

一方面完毕表情选取框,表情框界面可以用做好图片,图片上有所有表情,

运用Canvas

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论