软 件 学 院
课程设计报告书
课程名称     面向对象分析与设计课程设计简短走心的情感句子       
设计题目 孟瑶的胸        多用户聊天系统             
专业班级          软件工程xxxxx班           
学    号            xxxxxxxxxxx             
姓    名            xxxxxxxx                 
指导教师            xxxxxxxx                 
20126
1 设计时间
2012.5.28-2012.6.1
2 设计目的
    本课程设计是学生学习完《面向对象分析与设计》课程后,进行的一次全面的综合训练,通过课程设计,让学生动手学会使用UML进行面向对象的建模方法,加深对UML建模基础理论的理解,加强学生解决实际软件工程问题的能力,利用所学的知识开发一个多人聊天系统。
3 设计任务
3.1任务说明
  (一)必备功能说明
    1)、用户管理:实现用户的注册,登录以及验证功能。
2)、用户账户管理:用户管理自身基本信息,例如:上一次登录时间,积分等。
3)、用户显示管理:显示所有的用户,在线用户以红字体显示其名字,离线用户以灰字体显示其名字。
4)、用户发言:用户发言时,可以选择发言的表情(插入表情图片)以及文字的字体属性(字体大小,字体颜等);用户也可以选择具体的某一聊友进行单独留言,进行文件传送等;用户发言时,可插入外来图片,设置超级链接等功能。
5)、显示发言信息:根据用户选择的字体属性显示发言信息。
6)、管理员:删除某用户的发言信息,删除用户等。
3.2系统目标
聊天室使用数据库汇集每个人的发言,然后将数据库中的发言信息显示在页面上,使每一位用户都能看到。
3.3功能要求
    1给未注册得用户提供注册的功能
2给注册的用户提供登陆的功能
3系统提供用户登陆验证的功能
4系统提供用户发言的功能
    5系统提供用户添加表情的功能
6系统提供用户选择字体的功能
7系统提供用户私聊的功能
8系统提供用户插入超链接的功能
9系统提供管理员删除发言的功能
10系统提供管理员删除用户的功能
11系统提供记录用户信息的功能
12系统提供显示用户状态功能
13系统提供显示用户发言的功能
14系统记录用户登陆状态
4 设计内容
4.1界面构建
    1、为了便于各种操作,软件采用单界面使用的模式。用户可在相同的界面进行相应操作(发言、选择表情、选择字体、私聊、插入超链接、,管理员则相应增加删除发言和用户的功能
    2、主界面(显示所有信息页面)是用户进行各种操作的平台,具体操作在用户的使用过程中通过和后台系统的信息交互中实现
3、主页面的主要功能显示用户的发言、私聊信息、选择操作
4、当用户在进行登陆或其它的错误输入操作时,会弹出相应对话框提示用户。如当登陆成功或是其它的操作成功,弹出成功以及相应的简明信息提示。
    5、界面的布局尽量合理,各组件位置分布均匀美观。
4.2用例图
4.2.1用例图
               
                  4-1 系统用例图
4.2.2用例描述
1、用例名称:
        登陆
2、简要说明:
        用户通过登陆界面进入即时聊天系统,进入后获得发言聊天权限
3、事件流:
        用户打开登陆界面,填写帐号和登陆密码
        提交登陆信息给后台系统
        系统利用本地数据库中所存的登陆帐号和密码进行验证
        系统判断本次登陆是否有效,若正确则判断用户的类型,若错误则提示登陆
         
4、非功能需求:
          界面设计要简洁合理,增加3次登陆失败24小时内禁止登陆功能
5、前置条件:
      确保即时聊天系统已在后台启动
      确保登陆前已注册有效的帐号和密码
6、后置条件:
      用户在通过系统认证后将会进入即时聊天系统的交互界面,获得操作权限,可
      以进行聊天发言的操作   
7、扩展点:
      包含验证
      扩展注册
8、优先级:1(优先级为:1-5级  1级为最高)
1、用例名称:
        注册
2、简要说明:
        用户通过注册功能获得合法的用户帐号和密码,继而获得使用软件的权限
3、事件流:
        没有合法帐号密码的用户进入注册页面
        按提示规范填入账号和密码
        向系统提交申请信息
        系统查本地数据库检测账号是否已存在
        若不存在则将信息记录到本地数据库的用户列表
        提示用户注册成功
        若用户账号已存在则不存入信息提示注册失败,重新注册
4、非功能需求:
          提示用户按规定填入信息
          提示用户注册结果
          若成功转到登陆界面
          若失败则重新注册
5、前置条件:
          即时聊天系统在后台打开
6、后置条件:
          若成功跳转到登陆界面i
          若失败继续保留在注册页面
7、扩展点:
          由登陆用例扩展而来
8、优先级:1
1、用例名称:
        验证
2、简要说明:
        由即时聊体系统的验证部分对用户提交的信息进行验证,检测信息是否正确
3、事件流:
        用户进入登陆界面填写登陆信息
        提交登陆信息
        系统对用户所提交的信息进行验证
        若信息正确则进入交互界面
        若失败则不能进入交互界面
4、非功能需求:
          无
5、前置条件:
        聊天系统已在后台运行
        用户提交登陆信息
6、后置条件:
        若成功进入交互界面
        若失败进入登陆界面
        提示错误
7、扩展点:
        是登陆用例的包含用例
8、优先级:1
1、用例名称:
        发言
2、简要说明:
        为用户提供在界面显示信息的功能
3、事件流:
        用户成功进入交互界面
        在界面的文字输入文本框中输入想要发言的信息
        点击发言按钮提交信息
        信息显示至显示信息界面
4、非功能需求:
          无
5、前置条件:
          用户输入合法的文本信息并提交
6、后置条件:
          由后台系统将信息提交的显示界面
7、扩展点:
          无
8、优先级:2
1、用例名称:
        选择插入表情
2、简要说明:
        用户选择由系统提供的表情图片插入到发言中并显示
3、事件流:
        用户从表情选项的下拉菜单中选择表情
        将表情插入到当前光标位置
        用户编辑完发言后选择提交
        系统显示信息
4、非功能需求:
          可以自由的对表情库进行增加和删除操作
5、前置条件:
          用户选择表情
6、后置条件:
          将表情插入到合适的位置
7、扩展点:
        无
8、优先级:
      3
1、用例名称:
        选择字体
2、简要说明:
        用户选择由系统提供的字体格式
3、事件流:
          用户从字体下拉菜单中选择字体
            体统按要求显示文本
4、非功能需求:
          无
5、前置条件:
          用户选择字体
6、后置条件:
          系统按要求显示字体
7、扩展点:
      无
8、优先级:
      3
1、用例名称:
        私聊
2、简要说明:
        为用户提供一对一形式的聊天
3、事件流:
        用户从聊天类型下拉菜单中选择私聊
        系统根据请求将信息定向发送
4、非功能需求:
          无
5、前置条件:
用户选择私聊
6、后置条件:
        显示私聊界面
7、扩展点:
        无
8、优先级:  2
1、用例名称:
        超链接
2、简要说明:
        在聊天文本中插入超链接
3、事件流:
金融市场的分类        用户进入界面开始发言
        在文本中插入超链接
       
4、非功能需求:
          无
5、前置条件:
        用户编辑文件插入超链接
6、后置条件:
        其他用户可以使用超链接
7、扩展点:
        无
8、优先级:
      3
1、用例名称:
        删除发言
2、简要说明:
        管理员登陆后可以对用户的发言文本进行删除
3、事件流:
        管理员登陆系统
        删除用户的发言文本
4、非功能需求:
徐冬冬演员          无
5、前置条件:
        管理员登陆系统
6、后置条件:
        用户文本被删除
7、扩展点:
        无
8、优先级:
        2
1、用例名称:
        删除用户
2、简要说明:
        管理员登陆后可以对用户进行删除
3、事件流:
        管理员登陆执行删除操作
4、非功能需求:
            无
5、前置条件:
        管理员登陆执行删除操作
6、后置条件:
        用户信息被删除
7、扩展点:
        无
8、优先级:
        无
1、用例名称:
        管理自身信息
2、简要说明:
        用户负责管理自己的信息
3、事件流:
        无
4、非功能需求:
          无
5、前置条件:
        用户注册
6、后置条件:
        无
7、扩展点:
        无
8、优先级:
        3
1、用例名称:
          系统验证
2、简要说明:
          对用户提交的信息进行核对
3、事件流:
          用户提交有关信息
          系统进行相关验证
4、非功能需求:
          无
5、前置条件:
          用户提交信息
6、后置条件:
          系统进行操作
7、扩展点:
        无
8、优先级:
        1
1、用例名称:
        记录用户信息
2、简要说明:凌潇肃个人资料
        记录用户的相关信息
3、事件流:
      用户提交信息
      系统进行核对
      得出结果
4、非功能需求:
        无
5、前置条件:
        用户提交信息
6、后置条件:
        数据库进行操作
7、扩展点:
        无
8、优先级:
1
1、用例名称:
          记录用户登录信息
2、简要说明:
          对进行登陆和退出的用户进行记录
3、事件流:
          用户登录
          系统将用户记录下来
          用户退出
          系统将用户记录删除
4、非功能需求:
          无
5、前置条件:
          用户进行登陆或退出操作
6、后置条件:
          系统对用户进行进入删除操作
7、扩展点:
      无
8、优先级:
      无
1、用例名称:
        显示用户
2、简要说明:
        根据用户所在的状态显示用户的头像颜
3、事件流:
        查看用户的状态
        若是登陆状态则显示彩头像
        若是退出状态则显示黑白头像
4、非功能需求:
          无
5、前置条件:
          无
6、后置条件:
          无
7、扩展点:无
8、优先级:无
5包图
       
                              5-1包图
    本次开发的聊天系统从软件的总体结构上来看可以共分为三个层次:界面层、数据层、业务处理层。
从需求功能上分为 :客户、服务、网络通信三个层次。依据其功能将其分为三个包如上如上图所示。
5-2 Util包中包括的基本公共类和工具类图
   
5-3client包中的基本类图
                        5-4 sever包中的基本类图
6系统的时序图
  用户在客户端按规定格式填入必要的信息后,向聊题系统提交自己的信息。聊天系统将按照一定的规则给用户生成一个可用的用户帐号,来和网络上的其它本系统的用户进行及时的收发信息聊天。在以后的每一次登陆中系统都将对用户进行身份验证,以确定该用户是否为合法的用户。
6-1系统时序图
7活动图
   
                            7-1系统活动图
    说明:用户首先按提示输入帐号和密码,系统自动对输入的信息进行验证,若信息正确则登陆成功 ,进入聊天界面,否则登陆失败自动调转到登陆界面,重新登陆。
8总结与展望
     
学校为了加强我们的实际操作和编程能力组织了这次程序设计活动,经过这几天的活动,完全打破了我之前认为这是个很枯燥乏味的过程的那种想法,让原本不感兴趣的我,渐渐对任务充满浓厚的兴趣,软件开发作为一个新兴行业,我个认为最主要的是,它是一个具有挑战性、完善自我的的行业,而且与生活紧密相连在这几天的活动中我还学到了,软件开发的流程高级语言在开发时需要注意的一些问题,及各种流行框架的使用,让我更加的了解软件行业是需要细心强和责任心强的员工。如果在工作中我们失去了细心,那么在开发中就不能很好的发挥自身的作用,开发的软件也将达不到理想的效果,失去应有的价值;另外系统功能需求我们了解:怎样才能理解好需求,从而创造出有市场价值的软件时很重要的;然而我们常常忽略需求而只是注重编码学校的这一次活动有意义的,老学校人员都为我们做了很多准备,让我们在学习过程中拥有良好的环境和氛围,让我们融为一体,我们在未来的工作中端正心态,更加努力!更加自信!
 
参考文献
[1]李钟尉,马文强,陈丹丹Java从入门到精通[M] 1 清华大学出版社 2008.9
[2]刘万军,梁清华,王松波,宋强Java程序设计实践教程[M] 1 清华大学出版社2006.9
[3] 王少峰. 面向对象技术UML教程. 清华大学出版社,2004.2
成绩评定
成绩                        教师签字