宇宙最帅叉叉 第二周博客

需求规格说明书

系统描述

聊天软件主要由服务器和客户端两个部分组成。服务器端主要是实现客户端消息的接受、处理以及转发。还有对客户端状态的检测和核实。需要网络编程、字符串处理、数据库的使用等技术需求。客户端是面向客户的软件系统,集成了图形化界面,数据接受和传输功能。

在数据传输过程中采用序列化方法,将信息结构体转换成字符串再进行传输。服务器根据结构体内容获取转发信息,进行下一步的操作。

预期用户数量

预期用户数量在200作用。

系统性能

首先系统的模型是“客户端—服务器”模型,这个模型具有很高的适用度,已经经过了无数软件的应用与检验。而聊天软件采用这个“客户端—服务器”模型已经有很多前车之鉴。这个系统模型不仅在实用性方面得到了保证,而且对于团队合作的分工有很大的帮助,所以说这个系统是很有价值的。

GitHub连接

https://github.com/little-petrol/ChattingSotfware

团队计划

项目时间安排

原有项目的时间安排是按照队员自己的想法自行安排。

校正后的安排:

周一、二:实现UDP 的接收与转发,信息结构体的序列化,登录窗口,聊天窗口以及好友列表。并且在周二晚开展交流活动。

周三到周四:数据库的信息查询与更新。登录方法的实现。图形化界面的优化。

周五:开展交流会,灵活安排周末时间。

团队分工

服务器:夏翔、郭旭

客户端:何卓仟、韦智锋

图形化界面:王锴、邵伟源

完成情况及感想

郭旭:

完成了前期各种必要模块的学习,并尝试着对其进行使用。实现了一些粗糙的功能,强行的流量转发以及数据库的使用等等。感觉开发经验还是很重要的,不然很容易重构。

王锴:

感想:使用pyqt5做出了一个简单的登陆界面,由于开始的时间比较晚没有涉及到事件的处理,会在后续对一些组件进行改动,例如密码输入框对密码的的保密和屏蔽右键菜单的复制,在实现过程中遇到一些困难:比如在查找文档时面对大量的的资料难以理解并吸收,网上可供参考的代码较少,会在之后试着处理好这些困难。

邵伟源:

完成情况:实现了聊天室的大致用户界面感想:第一次学着用QT,感觉想实现一些简单的界面并不是很难,但要做美化一点点都觉得挺复杂的,但这样更能让我学到东西,能不能做出来就另说了

韦智峰:

目前完成了最基本的消息的发送和接收问题,到还没有跟服务器做到正常的规范化的交互,还有其他的部分功能比如退出等还未完成 感想:不在项目中学习,就在项目中灭亡

夏翔:

我和队长主要是写服务端的,经过查询资料,提出了怎么去实现这个聊天室功能的设想,也拿出来团队讨论商议,最后拟出了初步的方案和分工,这一周感觉学到挺多东西的,从啥都没有到分工合作,加在一起好像有点希望哦,实现了最基本两个用户之间服务端接收并转发。学到了些实实在在的东西,感觉做开发有点意思啊,当然代码重构也是非常难受的,报错也是常有的今晚就在debug了,一边学一边做今晚郭旭也萌生出了新的实现方法,从零到有是需要过程的,痛并快乐着~~还是那句话 ALL growth is aleap in the dark

原文地址:https://www.cnblogs.com/nxnx/p/9819929.html

时间: 2024-11-02 12:13:08

宇宙最帅叉叉 第二周博客的相关文章

第二周博客记录 11月27日

11月27日.周一 例会记录: 今天进行项目任务分配和初始讨论. 首先由雷毅同学进行web项目介绍,项目来源于之前参与高级软件开发工具课程设计,所设计的是一个学生信息管理系统.(有学校logo,下面是主功能导航条,左侧是某个选定功能和其子功能的列表,右侧是主窗口).系统的主功能分类,每个功能的子功能自定义,数据库表自定义). 其次进行了项目任务预估,预估项目点有8点,依据最后提交文档内容进行划分,包括5份文档,2份工程源码和可执行文件,1份视频制作. 最后进行了项目分工,分工内容以及理由如下:

第二周博客之二-OA环境搭建

首先安装jdk 选择我接受,点击下一步 路径不需要改,装在C盘就好,点击下一步 点击完成 接下来需要配置环境变量,右击我的电脑 点击环境变量 点击系统变量的新建,变量名输入JAVA_HOME,打开我的电脑,将安装jdk的路径中的JAVA复制路径输入变量值中,点击确定. 继续点击新建,变量名输入CLASSPATH,变量值输入jdk中JAVA中lib的路径C:\Program Files\Java\jdk1.5.0_08\lib\dt.jar;C:\Program Files\Java\jdk1.5

第三周博客问题总结

1.学会了```的用法 一开始并没有成功,后来发现是因为输入法没有切换成英文,今后这样的问题要避免出现.--20145106 2.问题:教材86页,Guess的代码,猜数字,不知道原先没有设定好一个数字,为什么可以在0-9之间猜中一个数 解答:百度了(Math.random()10)这行代码的意思,知道了(Math.random())的意思是在[0,1)之间随机产生一个数字,10,所以变成了[0,10)之间随机产生一个数字,所以可以进行猜数字 --20145123 3.IntegerCache.

第二版博客首页安装代码

css: #profile_block{text-align:center;position:absolute; top:60px; right:10px;} #blog-calendar{border-radius: 7px;background:#fff;} #p_b_follow{padding-top:10px;} #p_b_follow a{display:block;width:70px;height:35px; line-height:35px;mrgin-top:10px; te

JAVA学习第一周博客

20145333 <Java程序设计>第一周学习总结 教材学习内容总结 第一章 Java平台概论 Java三大平台:Java SE.Java EE与Java ME Java SE的四个组成部分:JVM.JRE.JDK与Java语言 JRE包括Java SE API和JVM,JDK包括Java程序设计语言.JRE和开发工具. 如果要运行Java程序,必须安装JRE:如果要开发Java程序,必须要取得JDK. 第二章 从JDK到IDE JVM是Java程序唯一识别的操作系统,对JVM来说,可执行文

第十周博客总结

这个作业属于哪个课程 C语言程序设计ll 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/3162 我在这个课程的目标是 复习之前学过的内容 这个作业在哪个具体方面帮助我实现目标 网上课程 参考文献 C语言第三版第九章 一.刘未鹏的博客:怎样花两年时间面试一个人 http://mindhacks.cn/2011/11/04/how-to-interview-a-per

第一周博客--计算机操作系统及Linux基础介绍

1.描述计算机的组成及其功能 2.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别 3.描述Linux的哲学思想,并按照自己的理解对其进行解释性描述 4.说明Linux系统上命令的使用格式:详细介绍ifconfig.echo.tty.startx.export.pwd.history.shutdown.powrof.reboot.hwclock.date命令的使用,并配合相应的示例来阐述 5.如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的

20145306 信息安全系统设计基础 第五周博客总结

20145306<信息安全系统设计基础>第5周学习总结 教材学习中的问题和解决过程 栈和栈帧 栈: 栈底指针和栈顶指针,栈底指针位于高地址端,栈顶指针位于低地址端. 栈是一种特殊的数据结构,是一种只能在一端进行插入和删除操作的特殊线性表. 存储原则是先进后出. 对栈的插入与删除操作中,不需要改变栈底指针. 栈是由高地址向低地址延伸的. 栈帧--则是相对某个函数而言,调用栈就是正在使用的栈空间,由多个嵌套调用函数所使用的栈帧组成. 栈帧表示程序的函数调用记录,而栈帧又是记录在栈上面.(为单个过程

OO第二次博客

oo5_7 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,c