1、 课程设计报告 设计名称:设计名称: 面向对象课程设计 选题名称:选题名称: 局域网聊天程序的设计与实现 姓姓 名:名: 学学 号:号: 专业班级:专业班级: 系系 (院) :院) : 设计时间:设计时间: 设计地点:设计地点: 指导教师评语: 签名: 年 月 日 成绩:成绩: 面向对象课程设计报告 第 2 页,共 14 页 1课程设计目的 面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习 完该课程后进行的一次较全面的综合练习。 其目的在于通过实践加深学生对面向对象程 序设计的理论、方法和基础知识的理解,掌握使用 Java 语言进行面向对象设计的基本 方法,提高运用面向对象
2、知识分析实际问题、解决实际问题的能力。 2课程设计任务与要求: 选题:局域网聊天程序的设计与实现 该程序实现局域网内的聊天功能,包括服务器端程序和客户端程序两部分。 客户端程序: 可连接到服务器, 并将消息发送到服务器端和接受服务器端发送来的信息。 课程设计可选用 NetBeans、Eclipse、JBuilder 等作为开发平台以提高开发效率,尽可 能熟练掌握其中一种集成开发环境。建议采用 UML 建模技术进行系统的分析设计,在 Visio 中画出系统用例图和类图,并将画出系统用例图和类图,并将 UMLUML 图复制到设计报告中图复制到设计报告中。 通过这次设计,要求掌握以下内容: 1)面向
3、对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用 2)类、包、接口的定义与使用 3)常用工具类与算法的实现(数组、向量、字符串、链表) 4)Java 常用标准 GUI 组件及其事件处理 5)Java 的异常处理机制 3课程设计说明书 面向对象课程设计报告 第 3 页,共 14 页 (1).需求分析: 该程序实现局域网内的聊天功能,包括服务器端程序和客户端程序两部分。 客户端程序:包括登陆界面和聊天界面,可连接到服务器,并将消息发送到服务器端和 接受服务器端发送来的信息。 服务器端程序:负责发送用户列表和转发客户端发送来的信息 功能如下: 连接:登陆界面输入完整之后将用户的信息发送到服
4、务器端,服务器端创建相应 的连接,并将更新后的用户列表发送给所有用户。 刷新列表:使客户端发送一段指令到服务器端,然后由服务器端广播新的用户列 表到所有的客户端。 发送:根据发送者、发送对象、发送的话创建一个字段发送到服务器端 接收:根据从服务器端接收到的信息判断发送者、接受者、以及要听的话,选择 显示在公共聊天区还是私人聊天区。 颜色:设置字体颜色。 字体:设置字体,在楷体和宋体之间切换。 主题:设置背景图片。 快捷键:设置是否开启 shift+enter 发送快捷键。 (2).概要设计: 本程序根据功能设置了两个界面:登陆界面以及聊天界面。 服务器端后台运行监听, 没有设置界面。 用例图如
5、下: 面向对象课程设计报告 第 4 页,共 14 页 连接 client 放弃 开启服务 刷新列表 发送 server Chat System 颜色 界面 快捷键 本程序可以有多个用户, 只需在一台服务器上运行服务端程序, 所有的用户连接上了之后就 可以正常通信。 面向对象课程设计报告 第 5 页,共 14 页 (3).详细设计: 类图如下: SocketSocket +cf() : ChatFrame +link() : void -client : LogIn -hostName : string -port : int -sex : string -in : BufferReader -
6、out : PrintWriter -app : ChatServer LogInLogIn BufferReaderBufferReaderPrintWriterPrintWriter +sendAll() : void +addConnection() : void +deleteConnection() : void +getClients() : Vector +cp() : ClientProc -DEFAULT_PORT : int = 6000 -connections : Vector -clients : Vector ChatServerChatServer ServerSocketServerSocketVectorVector +ClientProc() +getName() : string +getSex() : stri