当前位置:文档之家› 毕业实习报告

毕业实习报告

毕业实习报告
毕业实习报告

电气与信息工程学院计算机系

毕业实习报告

姓名:刘拓

学号: 201106080223

班级:计112

专业:计算机科学与技术

2014 年 9 月 1日

目录

1项目背景 (2)

2定义 (3)

3条件与限制 (3)

4开发、运行环境规定 (3)

4.1开发环境说明 (4)

4.2运行环境说明 (4)

5 实施计划 (4)

5.1任务分解 (4)

5.2进度 (5)

5.3预算 (7)

5.4关键问题 (7)

5.5人员组织及分工 (7)

5.6交付期限 (7)

6 任务概述 (7)

6.1目标 (7)

6.2系统(或用户)的特点 (8)

7 需求规定 (9)

7.1软件功能说明 (9)

7.2对功能的一般性规定 (9)

7.3对性能的一般性规定 (9)

7.4其他专门要求 (9)

7.5对安全性的要求 (9)

8总体设计 (10)

8.1软件结构 (10)

8.2技术路线 (10)

9数据库设计 (11)

9.1数据表设计 (11)

9.2安全保密设计 (11)

10程序描述 (11)

10.1功能 (11)

10.2性能 (11)

10.3程序逻辑 (11)

10.4测试要点 (11)

11参考资料 (13)

1项目背景

为了增强我们的动手能力和社会实践经验,学校与达内科技西安分公司合作,为我们安排了为期六周的校企联合试训,由达内科技项目经理和学院老师共同辅导。具体的实习时间是由2014年7月2日到8月2日,团队合作完成一项聊天软件.

以QQ为例,只要你有一台终端设备并且能连接上Internet ,QQ可以随时随地使用。但这使资料泄露的危险性大大增加,安全性能低.为了实现局域网聊天功能,我们合作开发飞秋的聊天工具.

飞秋(FeiQ)是一款局域网聊天传送文件的绿色软件,它支持语音,远程协助群聊天(不需要服务器),它参考了飞鸽传书(FreeEIM)和QQ, 完全兼容飞鸽传书(FreeEIM)协议,具有局域网传送方便,速度快,操作简单的优点,同时具有QQ中的一些功能。

2定义

飞秋:本局域网通信软件的名称。

用户:即局域网内使用该软件的所有用户,可以自由修改用户名头像等,并且通过此系统进行聊天和文件的传输,还可以玩小游戏。

终端机器:联通局域网的每一台个人PC机。

物理结构:描述系统各个功能模块分别与物理设备之间的联系,是整个局域网通信系统运行的物理基础,保证了后续功能的实现。

系统模块:描述系统的各个功能模块,阐述每个功能模块所使用的类,具体的方法使用和实现的基本逻辑。

接口设计:设计出系统与用户,系统与外部,系统各功能模块之间的依赖关系,通过接口来实现系统各部分的共同协作,提供动力运行整个系统。

用户接口:描述系统与用户交互的依赖关系,是通过用户接口来进行用户与系统之间的交互,也保证了系统所提供的服务。

外部接口:描述系统与外部其他系统间的依赖关系,通过外部接口使系统与外界环境有个良好的交互方式。

内部接口:描述系统内部各功能模块间的依赖关系,通过内部接口使系统与内部环境有基础的交流方式,保证系统的正常运行和维护。

3条件与限制

具有开发Qt程序设计的相关技术,熟悉界面编程。

4开发、运行环境规定

4.1开发环境说明

1)硬件需求

P3处理器以上,内存:256M以上,硬盘:50M以上空余空间。

2)软件需求

支持WINDOWS2000及以上版本的操作系统,Qt creator

4.2运行环境说明

1)CPU: 英特尔酷睿2 双核 T9400

2)内存:尔必达 DDR2 800MHz

3)硬盘:希捷 ST9160411ASG

4)操作系统:win7旗舰版 SP1

5)VGA:无要求

6)网卡:无要求

7)其他:无要求

5实施计划

5.1任务分解

组长:王嘉宇

程序基本框架

文件发送

组员:

1.田鹏飞

淡入淡出

窗口抖动

聊天记录

个人资料设置

城市天气预报

2.邵绪宝

备忘录

应用中心

好友搜索

3.黄明波

上下线广播

获取好友列表

文件共享

4.刘拓

聊天功能

5.唐作兴

系统托盘

聊天字体设置

6.向洋

关于成员

后期测试

5.2进度

5.3预算

因为这次学校组织,预算暂时不统计.

5.4关键问题

消息的类型判别以及处理:根据不同的消息类型来执行不同的方法。

5.5人员组织及分工

组长王嘉宇负责项目的总体设计和功能分配.

组员们完成飞秋的功能设计和测试.

5.6交付期限

项目8月2号前交付.

6任务概述

6.1目标

飞秋局域网聊天系统,需要使用户与在同一局域网内的其他用户,首先,能够实现互传文字、图片聊天,语音聊天、发送文件进行单对单的交流的功能;同时,能建立群进行群聊,并能共享文档,群里的其他用户都能够下载文档;用户能实现对自己个人的信息资料进行管理,如:用户名,个性签名,分组等,头像,手机号码,状态改变等;系统还应有附加的功能有,有好友查询,交际空间,应用中心等。

6.2系统(或用户)的特点

-共享文件功能

- 自定义表情功能、支持截屏、支持GIF动画

- 垃圾信息屏蔽功能

- 用户上下线进行通知功能

- 限制传送文件速度功能

-日程安排与记事功能

- 日程提醒功能;它可以实现年、月、周、日、小时、分、秒的提醒,提醒同时可以执行动作(提示窗口、播放音乐、执行指定程序、关机等)。甚至每年的第几个月提醒、第几月的星期几提醒等特殊的提醒。

天气预报功能.

7需求规定

7.1软件功能说明

飞秋局域网聊天系统,需要使用户与在同一局域网内的其他用户,首先,能够实现互传文字、图片聊天,语音聊天、发送文件进行单对单的交流的功能;同时,能建立群进行群聊,并能共享文档,群里的其他用户都能够下载文档;用户能实现对自己个人的信息资料进行管理,如:用户名,个性签名,分组等,头像,手机号码,状态改变等;系统还应有附加的功能有,有好友查询,交际空间,应用中心等。

7.2对功能的一般性规定

1)尽量保持一致性:界面规范应遵循Winows软件界面的规范

2)设计完整的对话过程:系统的每一次对话都应该有明确的次序:开始、中间处理过程、

结束。

3)提供简洁的好友列表。

4).提供信息反馈:用多种信息提示用户当前软件运行状态,软件界面元件的功能。

5)操作性:其动作可以是单个的操作,或者是一个相对独立的操作序列。

6)设计良好的联机帮助。

7)显示启动画面:画面简洁明快,富有现代气息。

7.3对性能的一般性规定

数据精度:小数点后两位,整数部分最高位8位,字符串最大为22.

反应时间:反应时间在1s以内.

7.4其他专门要求

软件使用平台:windows环境下.

7.5对安全性的要求

飞秋局域网和广域网差不多,只不过范围不一样而已。两者的原理是应该一样的,qq功能多,所以就复杂点,而飞q简单,飞q是一款局域网聊天传送文件的绿色软件,它参考了

飞鸽传书和QQ, 完全兼容飞鸽传书协议,具有局域网传送方便,速度快,操作简单的优点,同时具有QQ中的一些功能,是飞鸽的完善代替者。qq发信息是要先经过服务器,而飞q不用。但是两者的信息传递都是输出输入流之间的相互转换!比如你输一句话它会先转化为输入流,输入到程序中,再有相应的方法转化为输入流,显示到对方那里!

8总体设计

8.1软件结构

在基于以上基础上,我们采用规范的软件开发流程,从用例分析到详细设计,使其真正符合一个可以动态调整的方案并且严格按照标准进行项目开发。在以上方法的基础上,我们严格按照项目管理的方法,对我们的开发过程进行管理。

8.2技术路线

9数据库设计

9.1数据表设计

9.2安全保密设计

10程序描述

10.1功能

字体设置:

设置聊天字体

托盘:

托盘图标、菜单快速操作显示窗口隐藏窗口

好友上下线、发送消息、发送文件右下角消息提醒

10.2性能

稳定性和健壮性

10.3程序逻辑

字体设置:

聊天字体设置

属性:

操作:

3)on_fontsizecomboBox_currentIndexChanged(QString size);

聊天

发送消息

void ChatWindow::on_send_clicked()

{

if(type==Message)

{

qDebug()<<"发送消息"<

QString send_text=ui->send_text->toPlainText();

QByteArray send_data;

QDataStream stream(&send_data,QIODevice::ReadWrite);

stream<

sender->writeDatagram(send_data.data(),send_data.length(),QHostAddres s(other.ipAddress),port);

ui->send_text->clear();

ui->chat_text->append(https://www.doczj.com/doc/869692577.html,erName+""+getTime());

ui->chat_text->append(""+send_text);

}

else if(type==File)

{

qDebug()<<"发送文件"<

/*file_sender.bytesWritten=0;

file_sender.tcpClient

->connectToHost(QHostAddress(other.ipAddress),(quint16)8890);//8890为文件收发端口

connect(file_sender.tcpClient,SIGNAL(connected()),this,SLOT(startTran sfer()));*/

}

QByteArray nts;

QDataStream message(&nts,QIODevice::ReadWrite);

message<

udp->writeDatagram(nts.data(),nts.length(),QHostAddress(other.ipAddre ss),(quint16)8888);//向主窗口发送数据

}

2.3.4

接收文本

void ChatWindow::recv_text()

{

qDebug()<<"recv_text:"<

while(sender->hasPendingDatagrams())

{

QByteArray recv_data;

recv_data.resize(sender->pendingDatagramSize());

sender->readDatagram(recv_data.data(),recv_data.length());

QDataStream stream(&recv_data,QIODevice::ReadWrite);

QString recv_text;

stream>>recv_text;

qDebug()<

ui->chat_text->append(https://www.doczj.com/doc/869692577.html,erName+""+getTime());

ui->chat_text->append(""+recv_text);

}

}

10.4测试要点

\

12、系统托盘

11参考资料

(1)张海藩、牟永敏主编:《软件工程导论》.清华大学出版社2013年版

(2)(加拿大)布兰切特、(英)萨默菲尔德译者:闫锋欣、曾泉人、张志强主编:《C++ GUI Qt 4编程(第2版)》电子工业出版社

(3)霍亚飞主编:《Qt Creator快速入门》北航大学出版社2012年版

(4)霍亚飞主编:《Qt及Qt Quick开发实战精解》北航大学出版社2012年版

(5)陆文周《Qt5开发及实例》电子工业出版社

相关主题
文本预览
相关文档 最新文档