要的、基本功能
工作流程:
1)、选择音乐文件
2)、获取当前选择的音乐文件的信息
3)、播放器播放当前音乐
4)、根据用户的操作,实现音乐播放、停止、切换等的控制
异常流程:未能正常播放,弹出异常信息。
入口条件:检测到用户有播放音乐的操作
质量要求:能根据用户的操作进行音乐文件的播放、暂停、切换等等
2、管理音乐用例描述
用例名:管理音乐
Actor:音乐文件管理器。
目的: 管理用户本地和网络音乐文件、对
列表进行音乐的添加、删除、清空等等操作,对较喜欢的音乐进行标注。
类型:主要的、基本功能
工作流程:
1)、读取音乐列表并显示
2)、根据用户的操作添加、删除音乐
3)、......
质量要求:能方便的管理用户的音乐文件
2.3 系统用例图
1. 系统用例图
2.
登陆用例图
3. 分享音乐用例图
4.
注册用例图
5. 管理音乐列表用例图
6. 管理播放用例图
3设计内容
3.1 内容分析
客户端主要设计内容:
1、 设计客户端主程序,管理客户端各模块之间的交互,管理各模块的工作。要求模块调用尽可能的简洁、逻辑尽可能的清晰。
2、 设计图形用户界面管理人机之间的直接交互,界面操作尽可能的简介,外观尽可能地美观大方。
3、 设计播放管理模块,该模块是专门用来管理音乐播放的后台程序。主要
工作有管理当前音乐的播放、暂停、停止、音乐切换等等。
4、 设计聊天模块,实现客户端的聊天功能,管理客户端的聊天。
5、 设计记录管理模块,该模块主要管理程序各参数的文件保存和文件读取等等工作。
服务器端主要设计内容:
服务器端的设计内容比较少,只需管理客户端之间的聊天,负责转发客户之间的消息具体内容有:
1、 设计服务器端主程序,负责管理整个服务器端的工作。
2、 设计聊天管理模块,主要就负责管理客户端之间的聊天,以及数据的转发等等。
3.2 可行性分析
播放器模块:
1、 播放器界面主要采用Swing技术实现,利用Swing中的组件构成程序的主要界面,提供人机交互的接口。
2、 时间处理主要是运用AWT包中的类,实现了界面上各组件的事件处理,完成了人机交互功能。
3、 音乐播放是采用jmf包中提供的player接口。该接口提供了音乐的播放停止功能等等。
4、 利用I/O流技术,处理播放器相关参数的文件写入和读取。
网络功能模块:
网络聊天功能主要采用TCP网络通信协议,利用Java里面封装好的ServerSocket和Socket类实现基本的TCP
通信。还利用了
Java中的I/O流进行输入输出处理,下图是Java语言基于TCP通信的原理图:
3.3 功能分析
服务器端主要功能有:
1、 服务器端程序,可将消息发送到客户端和接受客户端发送来的信息,对客户之间的消息进行转发处理;
2、 服务端的功能要求对用户的上下线进行管理,列表显示用户上下线状态。
客户端主要功能有:
1、 具有音乐的播放、暂停、停止、快进、快退功能;
2、 具有音乐调节、静音、恢复声音等功能;
3、 具有添加音乐文件删除音乐文件等功能;
4、 具有查看音乐文件标签功能;
5、 具有音乐播放模式的选择功能,可根据用户的意向进行不同模式的播放;
6、 客户端还具有局域网内用户之间的聊天功能。
4课程设计实现过程
4.1 系统设计图
4.1.1 系统类图
服务器端类图:
客户端类图:
4.1.2 系统顺序图
1. 发送消息顺序图
2. 分享顺序图
3. 获取消息顺序图
4. 音乐播放顺序图
5. 用户登录顺序图
4.1.3 系统活动图
活动图1
活动图2
4.1.4 系统状态图
歌曲对象状态图:
系统状态图:
4.2 代码实现
4.2.1 代码结构图
4.2.2 代码具体实现
1、客户端主程序:(MusicPlayerClient.java)
package Main;
import java.util.Random;
import Gui.MainFrame;
import Net.ChatManager;
import Player.PlayerManager;
public class Mus