1、 软件工程课程设计报告软件工程课程设计报告 题目:题目: 文本聊天室文本聊天室 TalkRoom TalkRoom 班级:班级: 学号:学号: 姓名:姓名: 20122012 年年 7 7 月月 6 6 日日 目 录 1 绪论 1.1 1.1 选题目的及意义选题目的及意义 1.2 1.2 系统概述系统概述 2 可行性研究报告 3 需求规格说明书 4 总体设计说明书 5 详细设计说明书 6 系统实现 6.1 6.1 开发环境开发环境 6.2 6.2 关键技术关键技术 6.3 6.3 运行结果运行结果 7 测试分析报告 参考文献 1 绪论 1.11.1 选题目的及意义选题目的及意义 随着计算机网络
2、的发展,网络服务的完善,聊天室成为比较广泛的网络服务之 一,给网民的沟通带来了极大的方便,在线聊天室也成为很多网民上网的活动 之一。按照功能划分,聊天室可以分为音视频聊天室、语音聊天室、文本聊天 室等。本实验报告将介绍多人在线文本聊天室的开发流程及聊天室开发过程中 所涉及的知识和技巧。 1.21.2 系统概述系统概述 该系统采用传统的 Client/Server 结构。其功能类似于 Web 聊天室,用户可以 在聊天室中公开发言,也可以发送给某个用户,实现两人间的私聊,不过这个 程序有自己的聊天服务器和客户端程序。架设好服务器,用客户端软件登陆上 服务器就可以聊天了。 客户端软件提供用户登录服务
3、器, 发送聊天信息的功能。 服务器程序则负责接收用户的登录请求,转发用户的聊天信息,并提供了一个 界面程序来对服务器进行管理。 2 可行性研究报告 2.12.1 技术可行性分析技术可行性分析 本程序是 java 平台下的 windows 应用程序, 利用网络编程进行两台计算机之间的通信, 交换数据, Java SDK 提供一些相对简单的 API 来完成这些工作, Socket 就是其中之一。 本应用程序的开发还应用了 Java 提供的集合框架,主要有以 Collection 为接口的元 素集合类型,以 Map 为接口的映射集合类型。最后,本程序的运行还应用了 Java 的多 线程技术。 2.2
4、2.2 操作可行性分析操作可行性分析 我们在本学期学习了软件工程的相关课程,对软件开发过程中应用文档的书写有一定 的了解,很好地掌握了软件的开发流程。另外,我们还学习了 Java 语言的网络编程, 这为本程序的开发提供了很好的语言工具。 2.32.3 经济可行性分析经济可行性分析 本程序的开发只需一台电脑和相关的软件,在经济上并无太多花费,对于我们学生来 说是可以承受的。 3 需求规格说明书 3.13.1 目标目标 文本聊天室 TalkRoom 软件主要是为了实现局域网中多人在线文本聊天的功能, 促进信 息的沟通与交流,不涉及音频和视频的聊天。 3.23.2 功能需求功能需求 (1)用户可以选
5、择聊天的服务器进行登录; (2)用户使用登录名登陆到聊天室,这个登录名就是用户在聊天室中的昵称,要确保 无重复; (3)可以选择与大家群聊,广播信息,使得所有用户都能看到聊天内容; (4)可以选择与某个用户私下聊天,其他用户无法得知聊天内容; (5)聊天信息要时时反映到聊天记录中; (6)用户登录或退出时,要给其他用户发出通知。 3.33.3 性能需求性能需求 该聊天室主要设计为局域网传递信息,沟通交流的作用,无需对聊天内容加密传送,可 以直接传送源文本信息,对安全策略不作要求,但要求聊天过程中无异常发生,用户可 以正常交流, 软件稳定性是首要任务, 保证普通用户在使用过程中不会因错误不知所措
6、。 为了后期可以增加更多更强的功能模块,聊天室软件在开发过程中要考虑可扩展性和可 维护性,保证软件二次开发的可行性。 聊天室的运行界面要简洁、易用,方便操作,即使没有计算机基础的用户也可以很快熟 练使用。 4 总体设计说明书 4.14.1 系统设计系统设计 根据 TalkRoom 的需求分析,在设计开发过程中,可以采用基于 C/S 的体系结构,即分 别开发客户端程序 Client 和服务器端程序 Server。 用户使用客户端程序输入聊天信息 和阅读聊天记录,服务器端程序处理聊天的信息。 TalkRoom聊天室采用C/S模式, 客户端启动后, 主动向服务器发出连接请求, 建立Socket 连接。服务器启动后,监听固定端口 9000,当有客户端请求时,便响应此连接,将此 连接交给线程 Talking 类处理。整体流程图如下图所示 图 4-1 TalkRoom 整体流程图 4.24.2 结构设计结构设计 在结构设计阶段主要是确定系统的