软件课程设计总结报告

2023-03-24

总结是一次反思过程,是一种记录工作情况、回顾工作不足的重要方式,在总结写作的过程中,我们需要全面化的分析工作情况,这有利于我们的工作成长。怎么写出有效的总结呢?下面是小编为大家整理的《软件课程设计总结报告》,欢迎大家借鉴与参考,希望对大家有所帮助!

第一篇:软件课程设计总结报告

软件工程课程设计报告 之 详细设计报告

山东科技大学 王昌帅 wangchangshuai0010.iteye.com

详细设计说明书

1、 引言:

1、1编写目的:

在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。

在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的 程序语言书写的程序。主要的工作有:根据在《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依照《概要设计说明书》所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等)

在以下的各个阶段中,《用户操作手册》将与本阶段的工作紧密结合,努力作到 让用户易懂易学。《测试报告》和《维护报告》也将参考本说明书,检验本系统的各项性能指标,及时发现纰漏及时修补,一定要把功能强大、稳定可靠、便于维护的机票预定系统交到用户手中。

1、2项目背景:

在本即时聊天工具项目的前一阶段,也就是需求分析阶段,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对不同用户所提出的不同功能,实现的各种效果做了调研工作,并在需求规格说明书中得到详尽得叙述及阐明。

本 飞Q即时聊天系统项目主要由两部分形成:

1、客户端;

2、数据库服务器端;

1 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

2

1、3文中特殊的定义和缩写:

1.3.1定义

SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的语言

事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。

外部主键:数据库表中与其他表主键关联的域。 ROLLBACK: 数据库的错误恢复机制。

1.3.2 缩写

系统:若未特别指出,统指本机票预定系统。

SQL: Structured Query Language(结构化查询语言)。 ATM: Asynchronous Transfer Mode (异步传输模式)。

1、4参考资料:

1. 以下列出在概要设计过程中所使用到的有关资料: 2. 需求规格说明书

飞Q软件开发小组

3. 概要设计说明书 飞Q软件开发小组

4. 用户操作手册(初稿)

飞Q软件开发小组 5. 软件工程及其应用 周苏、王文等 天津科学技术出版社 6. 软件工程

张海藩 清华大学出版社

7. Computer Network A.S.Tanenbaun Prentice Hall

8.网络上的资料

文档所采用的标准是参照《软件工程导论》沈美明著 的“计算机软件开发文档编写指南”。

2 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

3 2.总体设计:

2、1需求概要:

应广大用户的要求,要求做一个性能更高更人性化的即使聊天工具,我飞Q软件设计小组努力为大家写一个更好的即时聊天工具。

飞Q2012聊天系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的飞Q2012聊天系统,实现添加好友,删除好友,相互聊天系统,为人们聊天提供准确、精细、迅速的信息。

根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将飞Q2012聊天系统划分为两个子系统:客户端子系统,服务器端子系统。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要单明了,易于操作,服务器程序利于维护。

2、2 软件结构:

各模块之间的关系已由概要设计给出

下面介绍详细的设计

1 登陆模块

3 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

登录找回密码输入错误输入飞Q帐号和密码申请帐号输入格式是否正确正确进入找回密码界面点击登录进入申请界面密码正确?密码正确进入飞Q聊天主界面密码错误登录失败结束

2 申请模块

4 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

开始输入基本信息N点击新用户注册信息是否完整Y显示已申请的QQ帐号,密码点击登录QQ进入QQ登陆界面结束

3 安全模块

山东科技大学 王昌帅 wangchangshuai0010.iteye.com

开始点击安全概述点击修改密码点击常见欺骗点击修改密保常见欺诈立即完成是否设置密保Y判断安全状况隐患危险N密保是否正确Y提交输入验证密保设置密保N密保问题是否正确提交Y提交N是否设置密保Y输入原密保问题输入密保问题N修改密码修改密保输入新密保提交良好结束

6 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

4 聊天模块聊天窗口1聊天窗口2窗口1窗口2发送发送窗口2信息转换站窗口1信息转换站

服务器端:

1、申请模块

7 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

启动线程将可申请帐号预读到内存中等待用户申请。。。返回继续监听客户端返回申请到的QQ用户请求启动线程调用子线程次数过多此ip是否申请次数过多取出一个可申请的qq返回申请到的QQ在数据库中建立此人的基本信息档案结束c

2、登录模块

8 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

9

启动线程将密码预读到内存中等待用户申请。。。返回继续监听该帐号另一客户端客户端返回申请到的QQ用户请求启动线程调用子线程重复则发送终止命令判断是否是重复登录不重复密码错误判断密码是否正确给其他好友发送登录信息、读取系统消息读取系统消息所以在线好友返回申请到的QQ返回用户的好友列表读取好友列表数据库结束

3、添加好友模块

9 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

启动接收添加好友同意与否信息线程10

等待用户。。。返回继续监听客户端发送同意与否信息启动子线程调用子线程读取同意与否信息不同意同意否?同意写入数据库数据库客户端同意信息子线程结束 10 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

启动接收添加好友请求线程11

等待用户申请。。。返回继续监听客户端用户请求启动子线程调用子线程不允许任何人加入判断要添加的用户的添加权限允许任何人加入数据库需要验证结束 11 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

启动接收添加好友验证线程12

等待用户申请。。。返回继续监听客户端用户请求启动子线程调用子线程读取验证信息判断要添加的用户是否在线发送同意与否不在线数据库在线子线程结束要添加的用户同意的同时数据库相应添加

4、删除好友模块

12 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

启动删除好友请求线程13

等待用户请求。。。返回继续监听客户端用户请求启动子线程调用子线程删除成功读取要删除的人在双方数据库中删除对方数据库发送刷新界面命令另一客户端结束

5修改好友昵称模块

13 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

启动修改好友昵称请求线程等待用户请求。。。返回继续监听客户端用户请求启动子线程调用子线程读取要修改的人在数据库中修改数据数据库结束

6、查找用户模块

14 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

启动查找用户请求线程15

等待用户请求。。。返回继续监听客户端用户请求启动子线程调用子线程读取要删除的人判断是精确查找还是按条件按条件精确构造SQL语句构造SQL语句返回结果列表数据库构造搜索结果列表返回结果结束

7、安全模块

7.1、设置密保模块

15 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

16

启动监听用户设置密保请求线程等待用户请求。。。返回继续监听客户端用户请求启动子线程调用子线程读取此用户的信息,及密保设置信息返回成功信息构造SQL语句写入数据库数据库写入数据库完成后结束

7.2、判断是否设置密保模块

16 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

启动监听用户请求线程等待用户请求。。。返回继续监听客户端用户请求没有设置密保启动子线程调用子线程判断是否设置密保读取密保问题返回密保问题信息数据库得到该用户密保问题结束

17 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

18 7.3、判断密保答案是否正确模块

启动接收用户密保答案线程等待用户请求。。。返回继续监听客户端用户请求启动子线程错误调用子线程获得密保答案读取密保问题及答案数据库返回数据判断密保答案是否正确返回正确信息子线程结束

18 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

19 7.4、修改密保模块

启动接收用户密保答案线程等待用户请求。。。返回继续监听客户端用户请求启动子线程错误调用子线程获得密保答案读取密保问题及答案数据库返回数据判断密保答案是否正确返回正确信息子线程结束

7.5、修改密码模块

19 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

启动接收用户重设密码线程等待用户请求。。。返回继续监听客户端用户请求调用子线程启动子线程读取密码信息返回成功信息重设密码在数据库中重写此用户密码数据库子线程结束

7.6、找回密码

20 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

21

启动监听用户请求线程等待用户请求。。。返回继续监听客户端用户请求没有设置密保启动子线程调用子线程读取密保问题判断是否设置密保旧密码不正确判断旧密码是否正确返回重设成功信息数据库重设密码写入数据库子线程结束

8、移动好友模块

21 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

22

启动移动好友昵称请求线程等待用户请求。。。返回继续监听客户端用户请求启动子线程调用子线程读取基本信息在数据库中修改数据数据库结束

9、组操作模块

22 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

启动组操作请求线程23

等待用户请求。。。返回继续监听客户端用户请求启动子线程调用子线程读取基本信息判断是对组的什么操作赠加组删除组修改组的名称生成SQL语句在数据库中修改数据数据库结束

10、发送系统消息模块

23 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

24

开始服务器线程产生的不通的发送消息要求判断是发哪种类型的系统消息用户1用户3用户2用户4给相应的用户发送相应的系统消息。。。结束

11、更新个人信息模块

启动修改个人信息请求线程等待用户请求。。。返回继续监听客户端用户请求启动子线程调用子线程读取信息生成SQL语句在数据库中修改数据数据库结束

24 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

25

12、请求ipPort 模块

启动修改个人信息请求线程等待用户请求。。。返回继续监听客户端用户请求启动子线程调用子线程读取信息读取ip和port读取另一用户ip和portHashmap返回此人ip和chatport判断ipport是否为空返回不在线信息结束

13 、心跳模块

13.1、用户心跳接收处理模块

25 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

启动修改个人信息请求线程26

等待用户请求。。。返回继续监听客户端用户请求启动子线程调用子线程读取信息读取ip和port读取另一用户ip和portHashmap返回此人ip和chatport判断ipport是否为空返回不在线信息结束

13.2、服务器定时检测超时模块

26 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

27

启动循环检测用户是否在线的线程得到hashmap中的一个用户是否超时?是推拉检测模块否得到hashmap中的下一个用户

13.3、服务器推拉检测在线模块

27 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

28

启动循环检测用户是否在线的线程客户端是否在线我在线向用户询问是否在限定时间得到用户客户端响应是更新记录接收用户心跳时刻的hashmap否在数据库中相应修改从记录接收用户状态的hashmap删除此用户从记录接收用户在线信息的hashmap删除此用户从记录接收用户心跳时刻的hashmap删除此用户数据库此线程结束

14、添加可利用飞Q号

28 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

开始否读取数据库中可申请的帐号数Sleep 一小时判断数量是否过少否是添加一些可利用的帐号添加到内存中的可申请帐号arraylist中

3、程序描述:

客户端总模块:

29

29

山东科技大学 王昌帅 wangchangshuai0010.iteye.com 30

1 登陆模块

1 登录过程

对在飞Q登录信息界面中输入的各项信息进行初步检验。若发现错误,输入数据全部清空,以让用户重新输入一次。若未发现错误,转入主界面。其中的错误种类有:

输入数据不匹配

帐号 数据库没有该帐号

密码 与对应账号的密码不匹配 2 输入数据不能为空 if (账号为空) { 请输入账号再登陆 } else if (账号长度小于6或对于20) { 请输入正确的账号,账号可以位数字或Email地址。

} else if (密码为空) { 请输入密码后再登陆 } else { 通知服务器 账号为:xxx 密码为:xxx的请求登陆 } 2申请过程

对之前没有申请飞Q的用户,不能登录飞Q,而必须点击申请,成为飞Q大家庭点击之后转入申请界面

3 寻找忘记密码过程

对之前申请飞Q的用户,如果忘记密码,请不要担心,点击界面上的“忘记密码”,

点击之后转入寻找密码界面

30 1. 的一员。

山东科技大学 王昌帅 wangchangshuai0010.iteye.com

31 2申请模块

对在飞Q申请信息界面中输入的各项信息进行账号申请。若发现错误,输入数据全部清空,以让用户重新输入一次。若未发现错误,转入账号申请成功界面。

if (昵称为空) { 请输入昵称 } else if (密码格式错误(小于6或大于20)) { 密码必须6-20个字符!

密码框清空,重新输入 } else if (两次密码输入不匹配) { 两次密码输入不一致

密码框清空,重新输入 } else { 获取注册信息

点击新用户注册,向服务器传输注册信息 }

31 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

32 3 增删改查模块

3.1 查找好友模块

对在飞Q查找好友界面中选择查找类型(精确查找或条件查找),输入各项查找信息进行好友查找。若发现错误,输入数据全部清空,以让用户重新输入一次。若未发现错误,转入查找结果界面。在查找结果界面中选择要添加的好友,双击,查看该好友的详细资料,点击添加,转入好友信息验证界面。在好友信息界面,输入验证信息,完成好友的添加。

Search类

if (查找联系人) { if (精确查找) {

if (查询条件为空)

{

请至少填一个查询条件

}

else { 获取查找信息

点击查找把查找信息传递给服务器 } }

else if (条件查找)

{ 获取查找信息

点击查找把查找信息传递给服务器

} Search_rasult类 if(点击添加好友) { if(添加好友选择的是自己)

32 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

33 {

对不起,自己不能加自己为好友!

重新选择

} else { 把选择的好友发送给服务器

} } else if(关闭) { 放弃添加为好友

} Addfriends类

if (确定添加为好友) { 把选择的好友信息发送给服务器 } else if (取消) { 放弃添加为好友 } 3.2 删除好友模块

找到你要删除的对象所在的用户组,展开,找到该用户,右击,点击好友删除,然后刷新好友列表;

3.3.3 修改个人资料模块

点击自己头像,转入个人资料界面,更新你所需要的信息选项;确定更新点击确定,如果不想更新,点击取消即可;

更改头像:点击更换头像,即可转入更换头像界面,界面中陈列了各种头像,点击你想要的头像,即可显示该头像的不同样式,一供你参考。思考之后确实想更换,点击确定,立刻刷新所有界面,确保头像更换。如果不想更换,点击取消即可。

3.4 好友移动模块

33 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

34 找到你要移动的对象所在的用户组,展开,找到该用户,右击,点击移动,在弹出框中选择移动的组对象,向服务器发送相应的数据,然后刷新好友列表;

3.5 组操作模块 <1> 修改

找到你要修改的用户组,右击点击重命名,向服务器发送该账号的修改组信息,刷新好友列表,即可看见修改成果. <2> 删除

找到你要删除用户组,展开,右击,点击删除分组,向服务器发送该账号的删除组信息,然后刷新好友列表;

如果,要删除的是默认分组“我的好友”,系统不提供删除权限。 <3> 添加

在好友列表中右击,点击添加分组,输入分组名,点击确定,向服务器发送该账号的组信息,不想添加,点击取消。

4 安全模块

对在飞Q安全界面中,分为“安全概述”,“常见欺诈”,“修改密码”,“修改密保”; <1> 安全概述

安全概述 概述了你当前飞Q的安全状况 if (设置密保并且密码等级为良好以上) {

安全状况良好请继续保持良好的习惯

可立即完成设置密码 } else if (设置密保并且密码等级为中等以下) { 安全状况存在隐患请定期修改密码

立即完成设置密码 } else { 安全状况危险请立刻设置密保问题

立即完成设置密保 } <2> 常见欺诈

常见的集中欺诈方式:钓鱼网址,视频欺诈,中奖欺诈,冒充好友欺诈;

34 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

35 <3> 修改密码

修改密码之前请确保设置密保;

如果没有设置密保问题,请先设置密保问题,以确保该账户的安全性。如果设置了密保问题,请先输入原密保问题,核对用户身份。密保正确才可以修改,如果错误,对不起,不能修改密码。

if(三个密保问题有空) { 对不起,密保问题回答不能为空!

没填写的须不完整

} else { 向服务器获取对应密保问题的答案

If(回答错误) { 提示:对不起,密保问题回答不能正确

全部清空,重新输入 }

else { 修改密码

输入旧密码

if (输入的旧密码正确) {

if (新密码为空)

{

提示:密码不能为空

}

else if (两次密码输入不一致)

{

提示:两次密码输入不一致

}

else if (两次密码输入一致并且不空) { 向服务器发送该账号的新密码

} }

else

35 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

36 { 提示:密码有误,请重新输入

} } } <4> 修改密保

如果没有设置密保问题,设置密保问题。

如果设置了密保问题,请先输入原密保问题,核对用户身份。密保正确才可以修改,如果错误,对不起,不能修改密保。

if(没有设置密保) { 选择密保问题回答

If(选择的密保问题重复) { 提示:选择的密保问题重复

重新选择密保问题 }

Else if(修改密保时验证密保问题为空) { 提示:修改密保时验证密保问题为空 } Else { 服务器发送该账号的新密保问题和新密保问题对应的答案 }

} else { 已经设置设置密保

向服务器获取对应密保问题的答案

输入密保问题答案(用户) If(回答错误) { 提示:对不起,密保问题回答不能正确

全部清空,重新输入 }

else { 修改密保

选择密保问题回答

36

山东科技大学 王昌帅 wangchangshuai0010.iteye.com

37 If(选择的密保问题重复) { 提示:选择的密保问题重复

重新选择密保问题 }

Else if(修改密保时验证密保问题为空) { 提示:修改密保时验证密保问题为空 } Else { 服务器发送该账号的新密保问题和新密保问题对应的答案 } } }

5 聊天模块

所有的聊天窗口的即时聊天信息 只要点击发送,聊天信息会发送到服务器中信息中转站中;在信息中转站中判断该发送的对象,再由服务器发送给对。

服务器模块:

1、申请模块

将用户发送过来的申请信息写入临时变量对象中并存入数据库中 在数据库中建立如下信息

在main数据库的各表中插入申请的号码

在users 数据库中建立该帐号的档案,包括好友列表、添加好友验证表、历史记录表等等

2、登录模块

接收数据并存入loginpot中

37 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

38

判断接收的密码和服务器中的密码是否相同,相同则返回登录成功,并发送一系列信息(见下),不相同则返回登录失败,

3、添加好友模块

1、发送添加好友请求:

用户发送添加好友请求包,服务器解析出要添加的好友,然后从数据库中查找出该用户的添加好友权限jugde 然后进行一下判断: switch (judge) { case 1://假如统一任何人加入

在双方数据库中分别添加对方,并且向被添加的的用户发送的界面刷新命令

break;

case 2: 对方需要验证信息,通知客户端

break;

case 0: 对方不允许任何人加入,通知客户端

break;

}

2、发送验证信息:

用户发送验证信息包,服务器解析出数据,判断要发送验证信息的用户是否在线

If(在线) {

在线的话,就把验证信息发送到该用户客户端上并显示 } Else {

不在线的话,就把验证信息存入要发送的用户的数据库中,等到该用户下次登录时候并会提示该用户有添加好友验证信息 }

3、发送同意以否信息

38 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

39

用户发送同意与否信息包,服务器解析出数据,判断要发送同意与否信息的用户是否在线,判断同意与否信息是否

If(同意) {

写入数据库相应 的信息。 } Else {

不对数据库进行操作。 }

If(在线) {

在线的话,就把同意与否信息发送到该用户客户端,同时把此人的基本信息发送到客户端 } Else {

不在线的话,就把同意与否信息存入要发送的用户的数据库中,等到该用户下次登录时候并会提示该用户有添加好友成功与否信息 }

4、删除好友模块

删除好友模块设计思路比较简单,如下

用户发送删除好友信息包,服务器解析出基本数据,删除发送请求用户的数据库中要删除的好友的信息,同时在对方的数据库中也相应的删除此人信息,并且将删除成功与否信息发送回去,同时给要删除的用户发送刷新界面命令,当然得先判断该用户是否在线

If(在线) {

在线的话,给要删除的用户发送刷新界面命令,删除点发送请求的用户的信息 } Else {

不在线的话,不用再进行任何操作 }

39 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

40

5修改好友昵称模块

同样,修改好友昵称模块,也很简单明了,不需要进行复杂的逻辑判断,详细过程如下:

用户发送修改好友昵称信息包,服务器解析成基本数据,在数据库中找到该好友的好友列表,修改该用户要修改的好友的昵称,然后子线程就可以终止了

6、查找用户模块

用户发送修改好友昵称信息包,服务器解析成基本数据,首先判断该用户用的是什么搜索模式,

If(搜索模式是精确查找模式) {

根据内容构造出SQL语句,在数据库中查找出相应的用户,构造出列表发回客户端 }

Else if(搜索模式是按条件查找模式) {

根据内容构造出SQL语句,在数据库中查找出相应的用户,构造出列表发回客户端 }

7.1、设置密保模块

用户发送修改好友昵称信息包,服务器解析成基本数据,在数据库中找到该用户的的信息,将密保问题和答案写入该用户的数据库中,假如已有密保问题则转到重设密保模块

7.2、判断是否设置密保模块

用户发送请求后,服务器解析出数据,在数据库中找到该好友,查看该好友是否设置密保,

If(设置了密保) {

返回密保问题

40 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

41 }

Else if(没有设置密保) {

发送回去没有设置密保的标识 }

7.3、判断密保答案是否正确模块

用户发送给服务器密保答案信息,服务器解析出相应的数据,从数据库中查找该用户的信息,得到密保问题和答案,进行判断三个问题是否全部回答对

If(三个密保问题全回答对)

{

向该用户客户端发送验证成功的消息 }

Else(三个问题不全对或全不对) {

向该用户客户端发送验证失败信息 }

7.4、修改密保模块

这里说明一下,修改密保的模块是在验证密保答案正确的前提下才能进入的,所以此模块仅仅是覆盖掉该用户的,特此声明,呵呵,声明有点晚了。。

没有复杂逻辑判断,思路如下:

用户发送给服务器新密保信息,服务器解析出相应的数据,从数据库中查找该用户,在数据库中重写此人的密保问题和答案,然后子线程接收。

7.5、修改密码模块

声明如7.4所示,不再重复 思路如下:

用户发送给服务器新密码信息,服务器解析出相应的数据,从数据库中查找该用户,在数据库中重写此人的密码,同时将新设置的密码加入内存中用户密码hashmap中,然后子线程接收。

7.6、找回密码

41 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

42

找回密码其实和重设密保有什么相识的地方,都是先验证信息密保信息是否正确,然后根据正确与否做出相应的处理

用户发送请求后,服务器解析出数据,在数据库中找到该好友,查看该好友是否设置密保,

If(设置了密保) {

返回密保问题

。。。

判断接受的密保答案是否正确

If(三个问题都回答正确) {

返回验证成功信息,通知客户端转入重设密码模块

} Else {

返回验证失败信息

} }

Else if(没有设置密保) {

发送回去没有设置密保的标识,通知该用户由于没有设置密码,通过此方法不能找回密码。

8、移动好友模块

移动好友模块设计思路比较简单,如下

用户发送移动好友信息包,服务器解析出基本数据,在数据库中查到该用户的用户列表信息,更新列表信息,在数据库中做相应的修改

9、组操作模块

由于基本的几个组操作有很多相似之处,所以将几个组操作划为一个模块,设计思路如下:

42 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

43 用户发送组操作 信息包,服务器解析出基本数据和命令,判断要进行的组操作是什么操作,然后进行相应的操作,具体设计思路如下:

If(组操作命令为增加组) { 在users数据库中找到此用户的groupsList表,在此表中添加相应的组 } Else if(组操作为删除组) {

1、在users数据库中找到此用户的friendsList表,把相应组的

好友的组属性改为 我的好友 ,即将要删除组中的好友放到我的好友 中,而不是直接将他们删除,

2、在users数据库中找到此用户的groupsList表,在此表中删 除相应的组

} Else if(组操作为修改组的名称) {

1、在users数据库中找到此用户的friendsList表,把相应组的

好友的组属性改为 要修改的组名

2、在users数据库中找到此用户的groupsList表,在此表中删 找到相应的组,修改此组的名称为要修改的名称

}

10、发送系统消息模块

发送系统消息模块是由服务器直接调用的,来完成一些必须的用户响应,此模块发送消息的不同是由器构造函数决定的,其构造函数共有7种,如下:

//

public sendSystemMessageThread(String qq, int status) throws SQLException {

1、发送改变状态

}

public sendSystemMessageThread(String text) throws SQLException { 43 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

44

2、发送系统消息(全部人)

}

public sendSystemMessageThread(String qq, int sign, String ip_od, String t) throws SQLException {

3、发送上次登录信息(登陆者)

}

public sendSystemMessageThread(String qq, String text) throws SQLException {

4、发送系统消息(对登录者)

}

public sendSystemMessageThread(String qq, systemMessage sys) throws SQLException {

5、发送添加好友请求信息

}

public sendSystemMessageThread(int sign, String qq) throws SQLException {

6、当在其他地方登录时给另一个QQ发送下线通知

}

public sendSystemMessageThread(String qq, systemMessage sys, int agree) {

7、给该用户发送好友状态改变

}

由服务器根据不同的需要构造不同 的发送系统消息线程,实现相应的响应

11、更新个人信息模块

用户发送给服务器新个人信息信息,服务器解析出相应的数据,从数据库中查找该用户,在数据库中重写已经更改了的此人的信息

44 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

45

12、请求ipPort 模块

此模块是服务器中唯一和聊天相关的监听线程,此种设计方法极大的降低了服务器的压力,获取ip 和聊天port 是聊天中很重要的一个环节,设计思路如下:

用户发送给服务器请求另一个人的port的信息包,服务器解析出相应的数据,从内存中查找另一个用户的ip 和聊天 port ,判断是否得到此人信息

If(查询到此人的在线信息) {

给客户端返回找到的在线信息 } Else {

给客户端返回没有找到此人信息,也就是此人不在线,客户端

然后做出相应地相应

}

13、心跳模块

心跳相互协作的工作组及即时聊天领域发挥着详单重要的角色,通过发送心跳报,来判断各个部分工作是否正常,以防某个部分运作异常发现不了,造成严重错误。

心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。

用来判断对方(设备,进程或其它网元)是否正常运行,采用定时发送简单的通讯包,如果在指定时间段内未收到对方响应,则判断对方已经离线。用于检测TCP的异常断开。基本原因是服务器端不能有效的判断客户端是否在线,也就是说,服务器无法区分客户端是长时间在空闲,还是已经掉线的情况。所谓的心跳包就是客户端定时发送简单的信息给服务器端告诉它我还在而已。代码就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息如果服务端几分钟内没有收到客户端信息则视客户端断开。

比如有些通信软件长时间不使用,要想知道它的状态是在线还是离线就需要心跳包,定时发包收包。发包方:可以是客户也可以是服务端,看哪边实现方便合理,一般是客户端。服务器也可以定时发心跳下去。一般来说,出于效率的考虑,是由客户端主动向服务器端发包,而不是服务器向客户端发。客户端每隔一段时间发一个包,使用TCP的,用send发,使用UDP的,用sendto发,服务器收到后,就知道当前客户端还处于“活着”的状态,否则,如果隔一定时间未收到这样的包,则服务器认为客户端已经断开,进行相应的客户端断开逻辑处理。

45 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

46 13.1、用户心跳接收处理模块

客户端发送心跳包,服务器心跳接收模块解析出此用户的状态,判断此人的状态与上一次心跳的状态是否相同

If(状态相同) { 将系统此时的时间写入内存中此用户的hashmap节点 } Else if(状态不同) {

将系统此时的时间写入内存中此用户的hashmap节点

If(是下线信息) {

删除此人的在线信息

} 给其好友发送状态改变信息

}

13.2、服务器定时检测超时模块

此模块用于定时检测用户心跳超时与否,设计详细如下:

While(true) { 从内存中的hashmap 中的第一个用户到最后一个用户,进行如下操作:

If(此用户心跳超时) {

超时意味着此用户极有可能已经掉线了,但是不确定,所以此时要调用推拉检测用户在线模块,来确认此人到底在不在线

} Else {

不执行操作

} 休眠5秒后,继续 }

46 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

47 13.3、服务器推拉检测在线模块

此模块是服务器中很特殊的模块,是主动联系客户端 的模块,在次模块中,服务器会主动询问客户端是否在线,形象的描述如下:

服务器问:******你在线吗? 客户端答:我在线。 或者客户端没反应

这里就要判断在规定的时间内客户端是否返回响应 If(在规定的时间能收到相应) { 证明此用户是活着的,将系统此时的时间写入内存中此用户的 hashmap节点

} Else { 此用户已经意外掉线,所以应删除此人的所有在线信息 }

14、添加可利用飞Q号

添加可利用的帐号就是,假如可申请的号码低于规定的个数时,服务器添加帐号现在立即自动添加适当的帐号,保持适当数量的可利用的帐号,描述如下

While(ture ) {

If(数据库中的可申请的帐号数量小于某个值) {

向数据库中添加适当数量的帐号,同时向内存中的可申请帐号

hashmap表中添加这些帐号

} Else {

不执行操作

} 线程休眠1小时

}

47 山东科技大学 王昌帅 wangchangshuai0010.iteye.com

48

48

第二篇:软件工程课程设计报告(个人)

课程设计题目:研究生教务管理系统

专业:信息与计算科学班级:

报告人姓名:学号课程教师:实验指导教师:

实验地点:

完成起止日期:

[正文]

一、课程设计概述(目的、任务、参考资料)

1.项目的目的

根据研究生管理部门的要求,面向针对研究生和导师这一特殊的群体,针对教务信息数据混乱的情况,利用电脑信息化的优势,为理学院研究生系统建立研究生教务管理系统,使研究生管理中的各项实际业务工作切实的映射在系统内部,为学院提供一个方便的、快捷的、一体化的集成信息化环境。

2. 项目的任务

根据研究生教务管理中的具体需求,该项目的任务可分为7个模块进行

设计划分,每个模块都要完成具体的任务

 任务一:基础平台

任务:建立导航登陆界面,使用户能用密码登陆页面,了解信息,下载表格文件,获得具体操作权限。

 任务二:学籍管理

任务:研究生登路后,可进行基本信息查询、成绩查询、修改密码的功能操作;管理员则可进行修改用户信息、创建账户、数据上传或下载的操作

 任务三:智能排课:

任务:包括完成自动排课、手动调整、选课管理、课表查询及打印等更能

 任务四:导师管理

任务:建业数据库,使研究生和导师、管理员可以查询导师的基本信息,并且管理员可以对数据等做出修改和调整。

 任务五:教学教务管理

任务:该部分主要针对管理员展开建设。管理员的职责是以管理、统计、修改数据信息为主。建议以基本信息维护、入学、毕业信息管理、任课安排和考试安排为主要功能的模块。

 任务六:科研管理

任务:主要完成的任务是,研究生能够顺利提交科研项目,管理员能无误的将项目挂在网页上

 任务七:评优管理

任务:管理员能将通过审核的名单公示在网页上。

3. 项目的参考资料

[1] 《LoadRunner使用手册》

北京长江软件有限公司编制

[2] 《软件测试:第二版》

Paul C.Jorgensen著/机械工业出版社

[3]《ASP.NET网站开发》(丁昊凯、许静雯、谢黎文编著 出版社:电子工业出版社)

[4]《数据库系统概论(第四版)》(作者:萨师煊王珊出版社:高等教育出版社)

[5]《软件工程导论(第五版)》(作者:张海藩出版社:清华大学出版社)

二、采用的主要技术与方法

1. 项目采用的主要技术:

 技术路线:

基于微软ASP.NET框架及应用环境,遵循Web Service和XML技术、 B/S模式,采用三层结构开发

 系统平台:

Windows 2003 Server SP1(以上包括SP1)

MS Sql Server 2005

IIS 6.0及以上

 开发工具:

Microsoft Visual Studio .NET 2005

PhotoShop 7.0

CorelDraw 12

Dream Weaver 8.0

 开发语言

C# 2.0

ASP.NET 2.0(3.0)

XML/XSL

JavaScript

 测试软件

LoadRunner

三、实现步骤与在实现项目中我获得的主要成果

1. 项目的实现步骤

1) 首先,小组成员根据研究生管理部门提供的资料,针对研究生的具

体要求,讨论研究后编写需求分析文档,将项目软件分为7个模块,并完成初步的界面设计;

2) 之后,在需求文档的基础上,针对研究生、导师以及管理员的不同

需求,根据模块进行设计文档的编写,并着手进行软件的设计以及

完善界面设计。

3) 在完善需求文档和设计文档之后,小组成员制作PPT,并通过审核。

4) 在完成项目前期工作之后,小组中的软件编写成员依据软件工程的

原则开始进行具体的软件编程,另外的部分成员则进行测试计划文

档及测试设计文档的编写。并在之后的几天中对其进行整理修改以

完善文档。

5) 在软件基本完成之后,小组成员分工进行软件的测试,完成测试结

果。针对测试中发现的问题,讨论并对软件进行修改。

6) 最后,对项目进行总结,编写总结报告。

2. 我获得的主要成果:

由于我在软件编程方面比较薄弱,在完成项目的过程中,我主要负责的是文档的编写以及项目的测试方面的工作。包括如下部分:

 研究生教务管理系统需求分析书中,第四部分需求规格以及第五部分项

目具体的功能规格;

 研究生教务管理系统软件设计文档的大体框架以及其中的第一部分引言

以及第二部分系统设计概述;

 研究生教务管理系统客户端测试计划(全部);

 研究生教务管理系统客户端测试设计的大体框架以及第一部分引言、第

二部分测试设计;

 研究生教务管理系统用户使用手册(除第三部分运行环境)

四、个人小结

主要困难:

 在项目进行的初期,虽然我们对用户的需求有大致的了解,并有参照模版,

但由于本科生教务管理系统和研究生教务管理系统的具体项目上有着某些差异,这要求我们要注重了解其中的区别,并对模版进行分析及修改。在对需求文档进行编写时,文字表述不足的弱点很轻易的就显示出来,这要求我们对网络教学上给出的资料及范例进行详细的阅读,才能写好需求文档;在接下来的文档编写时也有同样的问题。

 在项目进行的中期,即软件的设计阶段。在了解具体需求之后,编写设计

文档困难不大,但是由于编程能力的强弱问题,小组成员不可能完全都进行编程,虽然这是小组分工后可以解决盖的问题,但是由于软件编程能力的缺乏,会造成在小组讨论和文档书写上出现代沟,所以个人认为,小组成员拥有对程序编成有一定的了解是有必要的。

 在项目的测试后面阶段,即软件的测试阶段。初次接触具体测试的我们,

对新的软件不了解,导致产生一定的困难,这要求我们对LoadRunner软件自主的进行学习并掌握如何运用该软件进行项目的测试。

五、附录(个人完成的文档)

第三篇:软件工程课程设计总结

我们所选择的图书管理系统的课程设计对我们是新的挑战和尝试的过程,利用所学习的软件设计知识并制作一个关于图书管理系统,在具体的设计与实施中,我们看到并感受到了一个管理系统的具体分析,对具体的设计步骤。思路、方法有了进一步的提高,并感触深刻。

我在本次课程设计中写的内容目录、系统设计和系统功能实现。在图书管理系统的设计目录过程中碰到很多问题,刚开始设计的时候不知道从哪下手,但通过不断地摸索和在课本上查找,让我学到的知识的融会贯通性,在这次次的设计中我也发现了自己很多不足之处,对书本上所学的理解不够深刻,掌握不够牢固。通过这个实训后,我也把知识和实践结合起来。系统数据库设计的任务是确定怎样实现所用的图书管理系统,由于在选择项目的时候是本着有实际应用价值的角度考虑的,所以其中也涉及到一些数据库的设计。数据库设计是指对于给定的应用环境,构造最优的数据库模式,建立数据库及应用系统,使之能够有效地存储数据,数据库设计经过不断地发展与完善,已经越来越成熟。基于E-R模型的数据库设计方法,用E-R图构造一个反应世界实体之间联系的模式,将此系统模式转换成基于某一特定的DBMS的概念模式。软件系统设计是一项复杂而又重要的工作,它在软件工程中承接了需求分析与编码开发。一个好的系统设计是一个软件系统运营的基础。让我们多多重视软件系统的设计工作,以开发出更具健壮性、可扩展性、安全性、易用的软件系统。数据库设计过程是准备了解与分析用户需求,整个设计过程的基础,是最困难、最好时间的一步。结构设计是整个数据库设计的关键,通过对图书管理系统的综合、分析形成一个独立于具体DBMS的概念模型。

在这次课程设计中,我们被分配以小组为单位去完成图书管理系统的设计与制作,所以小组内的分工和相互协调很重要,大家可以在分工中扬长避短,及所长,这样可以很好的提高大家的积极性,和合作意识,但我们在这方面做的还不够,可以说是不足之处,且迫切的需要思考和改进,这一点必须指明。这在以后的工作与学习中将会非常重要。在今后的学习中注意多读书、多思考、多练习、多讨论,不断熟悉书本的基础,并依此为基础将其扩散开来,应用于今后的实践。不断锻炼自己。

作为项目经理应该从项目成员的角度出发,结合实际的角度确定项目的功能,动之以情,晓之以情,尽量使项目成员投入设计的项目中,及时和他们沟通交流,进行项目决策和项目协调,也是项目管理的基本内容。作为设计者的系统分析阶段,必须对不同模块的联系,工作量有正确的认识才能合理的分配任务,管理者要时刻保持清醒,要有合理的系统分析,如果分析出错就会导致整个团队走向错误。所以要严格要求自己,保持与团队沟通。通过项目实训我体会最深的是团队合作的重要性,我们所做的工作都不是独立的,不能只想到自己。当遇到问题不能解决,通过大家一起完成时,那份快乐也是加倍的。在实训过程中我明白了我们不应该只想着如何避免难题而应学着解决它。更重要的是平时就应该积累知识。

第四篇:软件课程设计小结

在我们整个软件工程过程中,我体会到了许多,也学到了许多。

我们班由16名同学组成,在相互商量后我们确定了我们班的项目,是做一个计算器程序。在老师的指导下我们的项目也正式开始了。

在整个项目开发过程中,我们也同时遇到了许多程序代码问题,页面和功能相结合的问题,这些问题都是源于我们对程序的认识不足、以及没有将老师所讲的知识点融会贯通。我深刻认识到,在项目开发时,老师的指导以及同学之间的交流非常重要的。如果我们要在功能方面作出修改,那么有些代码以及复制的区间都不能有误差,这需要老师的帮助、指导,以及同学之间交流研究共同对整个程序作出相应的设计,这样才能避免最终整合时出现问题。

在这段时间的学习里,我还对软件工程有了新的理解。在我以前的理解当中,软件工程,无非就是一个人或者几个人或一个团队集中在一起进行编写代码的工作,以实现开发出所用的软件。但现在我明白了,软件工程的作用,就是告诉人们怎样去开发软件和管理软件。具体地讲,它表现在与软件开发和管理有关的人员和过程上。所以,软件工程就不仅仅是单一的编程过程了。它包括了系统分析->建模->概要设计->详细设计->编码->测试->维护。编码可以理解为编程,这个只占总时间的20%左右。编程只是其中的一小部分。

在这次项目里我完成了许多工作,在界面设计上我完成了“页面设计、读代码、记代码、代码编辑”等制作,在后期项目整合过程中修改了功能和界面结合时出现的bug,还有程序外观设计、美观度。这些工作我都顺利完成了,虽然并不能算是非常的出色,但也算是尽力了。现在看到自己辛劳的成果,我感到很欣慰。

当然,在这次项目过程中我也发现了自己的一些问题。如现在的软件制作技术还不够强,在和小组成员相互沟通上还不够积极、出现问题没有及时寻求老师的帮助等。我希望以此为契机,在将来的项目开发中能做得更好。

Xxx

2013/1/7

第五篇:组态软件课程设计

《组态软件及应用》课程设计报告

基于组态软件的变频器状态监控状态设计

系 部: 专 业: 班 级: 姓 名: 学 号: 指导老师: 成 绩:

二零一五年十二月二十五日

目录

1.序言....................................................1 2.力控组态软件介绍........................................1 2.1 力控组态软件简介...........................................1 2.2力控组态软件特点............................................1 2.3软件基本组件................................................3 3.变频器应用的现状........................................3 4.变频器监控系统的硬件组成................................4 5.变频器监控系统要求......................................5 5.1监控系统技术要求............................................5 5.2监控系统具体要求............................................6 6.变频系统监控功能的实现及效果............................5 7.人机界面的特点功能与画面设计............................6 7.1人机界面的特点..............................................6 7.2人机界面的主要功能..........................................7 7.3人机界面的画面设计..........................................7 7.4监控系统软件组态............................................8 8.心得体会...............................................13 附录 参考文献..........................................13

1.序言

随着现代电力电子技术和微电子技术的迅猛发展,自动化、智能化程度的不断提高,高压大功率变频调速装置的应用已经非常普遍,同时由于高压变频器几乎都是工矿企业的关键设备,在工厂自动化中占有举足轻重的地位,因此对其控制功能、控制水平的要求也越来越高,尤其对于那些工艺过程较复杂,控制参数较多的工控系统来说,具备交互式操作界面、数据列表、报警记录和打印等功能已成为整个控制系统中重要的内容。而新一代工业人机界面的出现,对于在构建高压变频器监控系统时,实现上述功能,提供了一种简便可行的途径。工业人机界面,是一种智能化操作控制显示装置。工业人机界面由特殊设计的计算机系统32位芯片为核心,在液晶显示屏上罩盖有透明的电阻网络式触摸屏,触动屏幕时,电阻网络上的电阻和电压发生变化并由软件计算出触摸位置。新一代工业人机界面还具有简单的编程、对输入的数据进行处理、数据登录及配方等智能化控制功能。

2.力控组态软件介绍

2.1 力控组态软件简介

力控组态软件是对现场生产数据进行采集与过程控制的专用软件,位于自动控制系统监控层一级。它提供了良好的用户开发界面和简捷的工程实现方法,只要将其预设置的各种软件模块进行简单的“组态”,便可以非常容易地实现和完成监控层的各项功能,缩短了自动化工程师的系统集成的时间,大大的提高了集成效率。它能同时和国内外各种工业控制厂家的设备进行网络通讯,它可以与高可靠的工控计算机和网络系统结合,便可以达到集中管理和监控的目的,同时还可以方便的向控制层和管理层提供软、硬件的全部接口,来实现与“第三方”的软、硬件系统来进行集成。

2.2力控组态软件特点

力控组态软件在数据处理性能、容错能力、界面容器、报表等方面产生了巨大飞跃,功能更强大,主要特点如下:

提供在Internet/Intranet上通过IE浏览器以“瘦”客户端方式来监控工业现场的解决方案;

支持通过PDA掌上终端在Internet实时监控现场的生产数据,支持通过移动GPRS、CDMA、GSM网络与控制设备或其它远程力控节点通讯;

面向国际化的设计,同步推出英文版和繁体版,保证对多国语言版的快速支持与服务;

力控软件内嵌分布式实时数据库,数据库具备良好的开放性和互连功能,可以与MES、SIS、PIMS等信息化系统进行基于XML 、OPC、ODBC、OLE DB等接口方式进行互连,保证生产数据实时地传送到以上系统内。

- 1

个分布式的数据库分别对连接自己的I/O Server进行采集数据和处理,如输入数据的量程变换、流量累积、报警检查,以及PID运算等,这种体系结构的优越性在于,各组件任务分配更合理,使您的系统实时性更好,稳定性更高。

在今天,企业管理者已经不再满足于在办公室内直接监控工业现场,基于网络浏览器的Web方式正在成为远程监控的主流,作为民族软件中国内最大规模SCADA系统的WWW网络应用的软件,力控R监控组态软件的分布式的结构保证了发挥系统最大的效率。力控®为满足企业的管控一体化需求提供了完整、可靠的解决方案。

图2.1 力控组态软件的应用结构

2.3软件基本组件

工程管理器、人机界面VIEW、实时数据库DB、I/O驱动程序、控制策略生成器以及各种网络服务组件等。

图2.2 力控组态软件框架图

3.变频器应用的现状

变频器的发展是世界生产力和经济高速发展的产物。近年来,交流变频调 速技术在我国有了突飞猛进的发展,变频调速在调速范围、调速精度、通讯功能、节约电能、工作效率等方面的优势是其他的交流调速方式无法比拟的。变频器就是基于交流电动机的变频调速而开发和应用的,它以体积小、重量轻、通用性强、使用范围广、保护功能完善、可靠性高、操作简便等优点,深受钢铁、冶金、矿山、石化、医药、食品、纺织、印染、机械、电力、建材、造纸 等行业的欢迎,使用变频器后经济效益和社会效益都非常显著。

PLC技术是一种以计算机技术为基础的新型工业控制装置。近几年来,PLC技术在各种工业过程控制、生产线自动控制及各类机电一体化设备控制中得到了广泛应用,成为工业控制领域的一项十分重要的应用技术。目前PLC已广泛应用于石油、化工、冶金、轻工、机械、电力等各行各业,实现了逻辑、步进、数字、机器人、模拟量等的自动控制。随着数字化时代的到来,软件领域将不断地向硬件渗透,不断地用软件来代替硬件,从而实现智能控制和生产自动化。PLC就是计算机技术向继电器等硬件领域渗透的产物,用软件来代替硬件,用软件程序代替硬件继电器,从而为系统的连接及改造提供了方便,可以节约成本提高工作效率。PLC可以说是专门为工业严酷的环境设计的小型计算机,已成为工业控制领域中占主导地位的基础自动化设备。

- 4

5.2监控系统具体要求

1) 信号采集和数据处理: 对来自现场的非标准信号数据通过组态软件转换成标准信号。

2) 状态显示:将变频器启动、停止、就绪、合闸、接通、运转、旁通、告警、外控等状态通过组态软件动态的显示于监控画面上,具有实时、动态效果。

3) 监控操作: 对频率、温度、电流、电压、风压等进行自动实时监测。

4) 操作画面:在操作画面上可查询装置的电压、电流、功率、温度等实时和历史数据,还可查询实时、历史曲线和设备状态并可按要求设定和打印出实时报表和历史报表。

6.变频系统监控功能的实现及效果

进行编程后的监测、控制系统,针对变频系统的特点,集实时显示、流程控制、数据采集、数据传输、工程报表、历史曲线和实时曲线显示等功能于一身,并能保存和打印历史数据为系统分析使用。可以完成如下功能:

1) 实时监控设备工作状态,实现全生产过程实时管理。高压变频器运行状态十分重要,而监控系统的建立为管理部门提供的实时动态信息,能有效地帮助值班人员及时了解设备工作状态。

2) 提供灵活的实时曲线和历史曲线显示功能。通过比较当前和历史趋势数据,特别是结合装备安全运行的多参数模型,可以及早报告故障隐患。

3) 实时报表管理方便地解决了现场定时数据抄写、维护及繁琐的数据处理工作,记录员不必再每天花费大量的精力填写报表,提高了企业的办公能力和管理水平,取得了显著的经济效益和社会效益。

4) 数据化的管理提高了企业数据的透明度并消除了人为因素,将成本核算纳入更规范的管理体系。

5) 监控系统具有界面友好,易于操作,运行可靠,便于更改、扩充、升级等优点,同时,系统造价很低,具有较高的性价比。

7.人机界面的特点功能与画面设计

7.1人机界面的特点

人机界面是新一代高科技可编程终端,具备与各品牌PLC连线监控能力,适于在恶劣的工业环境中应用,可代替普通工控计算机。其主要特点有:

1) 画面容量大,画面规划简单;

2) 全中文操作软件,适用于Windows95/98/NT等环境,指令丰富,编程简单;

- 6

运行策略分别进行组态设置,如在用户策略中,利用策略工具箱添加脚本构件、存盘数据提取构件等,以实现所需的功能。

7.4监控系统软件组态

软件组态部分完成监控系统与操作人员间的交互界面,是实现对整个系统的监视、控制、调度和管理的核心。人机界面分为两部分,一部分是用于日常监视、系统参数设置的主界面,另一部分是用于指示、管理非日常监视信息,如各种报表、曲线及趋势图、历史记录等的子界面。 1) 帧发送

本设计的通信帧中有专门的广播帧用于此功能,如统一对所有变频器的输入运行命令和频率命令进行设定。广播帧格式与标准帧格式一样,区别在于其中的“站地址”位设定为:99号机。一般而言,大部分的变频器在PCAuto中都有驱动。如果系统采用的变频器在PCAuto中无驱动,则可以采取其他方式。这是因为PCAuto是基于ODBC标准的,能提供与第三方软件的通信方式,如采用DDE或OLE方式可以很方便地实现通信功能。

选用帧中选择要求(写入)帧格式如下(计算机<——>变频器):

图7.1 帧发送

2) 画面设计

图7.2为变频器的监控组态界面。其中包括电流、电压、频率的列表显示、动画显示及实时曲线显示,便于从直观上了解电动机的运行状态。一旦出现报警情况,则立即进入报警状 态,并根据报警内容做出相应的处理(如紧急停机等),可实现电动机的正/反转、加/减速、停机等控制,还可以获得一些历史数据(表、曲线、图)及故障报警 等,极大地方便了生产操作人员对一线现场的监督、控制、管理。

图7.2 主控界面

3) 建立实时数据库

在Draw的导航器中单击“实时数据库组态”,启动实时数据库组态程序。

图7.3 参数设置

- 9

5) I/O检查

可对各台变频器的通用输出/输入端子状态、用户选件输入状态等进行实时监视。通过对各台下位机的循环检测可知各台下位机与上位机的通信是否正常。 6) 维护信息

可显示各台变频器的机种、容量、ROM版本、累计运行时间、1小时变频器内最高温度及散热片最高温度、键盘面板、RS-48

5、选件卡的通信出错次数等信息,便于工程技术人员了解情况。 7) 报警信息

当出现故障时立刻进入报警子画面,显示报警的历史原因、报警时的输出电压、电流、频率、转矩及当时的设定值等、报警时输入/输出端子状态、最新报警发生次数及多重 报警等信息。通过查看报警信息及历史数据,极大地方便了现场技术人员的维护,使得维护更加准确、简捷,缩短故障处理时间,使生产更加稳定。

图7.7 故障界面

- 11

8.心得体会

通过这次课程设计,我翻阅了大量的相关书籍,从中学习领会了许多,这次课程设计主要是以力控组态软件为核心的监控系统,具有界面友好,易于操作,运行可靠,便于更改、扩充、升级等优点,同时,系统造价也远低于进口同类设备,具有较高的性价比。采用组态软件进行工业控制是现代化工业的一个发展方向。

本系统不仅实现了对高压变频器各参数的在线实时监测与控制,而且在实际使用过程中也取得了良好效果,加强了职能部门对高压变频器的监测,规范了职工行为。对高压变频器实现了系统化管理,提高了变频设备运转的可靠性,保证了现场的安全运行。

这次课程设计中也遇到了一些难题,虽然我的课程设计不是很成熟,还有很多不足之处,但还是感到欣慰,因为这里面的每一个页面,都有自己的劳动与同学的帮助。当看着自己的成果,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

最后还要感谢老师,老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。她无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢她耐心的辅导。

附录 参考文献

[1]赵良炳 现代电力电子技术基础 清华大学出版社 [2]田效伍 交流调速系统与变频器应用 机械工业出版社 [3]徐江海 单片机应用技术学程 机械工业出版社

- 13 -

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:热控检修专工工作标准下一篇:入井车辆管理考核办法