软件学院课程设计报告书课程名称面向对象程序分析与设计设计题目网上论坛系统专业班级学号姓名指导教师2013年6月1目录1设计时间...........................................................................................................22设计目的...........................................................................................................23设计任务............................................................................................................24设计内容...........................................................................................................34.1系统需求分析................................................................................................34.1.1系统的功能需求.........................................................................................34.1.2前台基本业务模块.....................................................................................34.1.3后台管理模块.............................................................................................34.2系统UML建模.............................................................................................44.2.1系统的用例图.............................................................................................44.2.2系统的类图.................................................................................................64.2.3系统的顺序图.............................................................................................74.2.4系统的活动图...........................................................................................104.2.5系统的状态图...........................................................................................114.2.6系统的组件图...........................................................................................124.2.7系统的部署图............................................................................................135总结与展望.....................................................................................................13参考文献.............................................................................................................15成绩评定.............................................................................................................1521设计时间2013年6月8日至2013年6月14日2设计目的本课程设计是学生学习完《面向对象程序分析与设计》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握UML建模原理及实现方法,加深对UML建模基础理论的理解,加强学生的动手能力。3设计任务完成一个网上论坛系统的设计。要求本系统为一个支持用户注册的电子论坛系统,通过论坛系统,用户可以自由发表自己的言论,其他用户则可以对留言进行回复或发表更多的评论,实现一个多人充分交流的网络平台。要求系统基本需求包括:(1)用户注册:用户可以注册为该系统的成员,在发表主题时,将记录其登录信息。(2)用户登陆:对于注册用户,可以通过输入其注册名及密码进入系统;另外,系统还支持“游客”用户,即用户可以无需注册也可进入系统。(3)用户账户管理:查看自身的基本信息(如:等级,积分,发布过的言论等);修改部分信息(如个性签名,头像等);管理自身发布的信息(修改,删除)。(4)发布信息:用户发表一个讨论主题。(5)回复主题:回复已经发布过的主题。(6)管理员:管理普通用户(禁止用户发言,解禁用户发言权,删除用户等);管理信息(屏蔽一条信息,删除一条信息,置顶一条信息)。(7)系统管理员:增加/删除一个管理员。34设计内容4.1系统需求分析4.1.1系统的功能需求(1)用户注册:用户可以注册成为该系统的成员,在发表主题时,将记录其登陆信息。(2)用户登陆:对于注册用户,可以通过输入器注册名及密码进入系统;另外,系统刚还支持“游客”用户,即用户可以无需注册也可进入系统。(3)会员管理:设置管理员,能够对用户及其信息、所发主题等等进行管理。(4)管理员管理:设置系统管理员,能够对管理员进行管理。(5)发表主题:用户登陆后,可以发表主题。(6)回复主题:用户在所浏览的主题下方可以对主题进行回复,或是对他人的回复进行回复。(7)管理主题:用户能够对自己发出的所有主题进行管理。4.1.2前台基本业务模块(1)注册会员(2)系统登陆(3)发表主题(4)浏览主题(5)回复主题4.1.3后台管理模块(1)用户管理(2)管理员管理(3)主题管理44.2系统UML建模4.2.1系统的用例图图1论坛管理系统整体用例图分析系统描述可知,无论系统管理员、管理员、普通用户、游客等都是该论坛管理系统的用户,所以,系统管理员、管理员、普通用户、游客与用户都是泛化的关系。系统管理员主要是对管理严进行管理,可以增添、删除管理员;管理员主要有两个任务,一个是对普通用户的管理,另一个是对消息的管理;普通用户则可以注册、登陆、发布消息、回复主题以及进行用户账户管理;未注册或未登陆的用户进入系统后被确认为游客,只能够浏览主题。图中所有用例的脚本如下:用例1:增添管理员当发现某一模块需要一个管理员时,系统管理员会添加一个管理员去管理该模块中的相关事物。5用例2:删除管理员当系统管理员发现管理员不需要存在或是有重复的时候,系统管理员会选择删除该管理员。用例3:管理普通用户(1)管理员有管理普通用户的权力(2)当管理员发现某用户发表的言论不合乎规定时,可以禁止其发言(3)被禁止的用户,在一段时间后,管理员可以将其解禁(4)管理员可以删除用户,比如某用户长期未登陆等用例4:管理消息(1)管理员除了管理用户之外还需要对消息进行管理(2)当管理员发现某一条消息不合乎规定时,可以屏蔽该消息(3)当管理员发现某一条消息不合乎规定时,可以删除该消息(4)当有需要的时候,管理员可以将某一条消息置顶用例5:注册(1)用户第一次进入该系统时,可以选择进行注册(2)用户未注册则以后浏览时会以“游客”的身份使用系统(3)注册需要用户时需要提供用户名和密码(4)用户提交用户名和密码之后,由系统以及管理员判断,若不合法则不允许注册或要求其重新注册用例6:登陆(1)注册用户进入系统时需要先登陆(2)登陆时需要填写用户名和密码,并由系统判断是否正确。若正确,则允许进入,否则,要求其重新登陆(3)若用户不登陆,则只能以“游客”的身份使用系统6用例7:发布消息(1)注册用户登陆成功(2)用户可以发布消息用例8:回复主题(1)注册用户登陆成功(2)在网页上选择浏览主题(3)对该主题进行回复或是对其中的消息进行回复用例9:用户账户管理(1)用户注册时可以填写个人信息,如个性签名,头像等(2)用户登陆成功后,可以选择查看自己的个人信息(3)用户查看自己的个人信息时,可以选择对其中的部分信息进行修改、删除等用例10:浏览主题(1)未注册用户进入系统被确认为游客(2)游客可以选择主题进行浏览4.2.2系统的类图图2论坛管理系统整体类图7分析可知,整个系统中包含五个类,分别是User(用户),Administrator(系统管理员),Manager(管理员),PubUser(普通用户)以及Visitor(游客)。其中,User为其他几个类的基类,Administrator(系统管理员),Manager(管理员),PubUser(普通用户)以及Visitor(游客)等四个类均可由User类泛化而来;所以,User被设置成为abstract类型,没有任何属性和方法。Administrator类中包含name(用户名)、password(用户密码)两个属性,addManager(添加管理员)和delManager(删除管理员)两个方法。Manager类中包含id(编号)、name(用户名)和password(用户密码)三个属性,banSpeak(禁止发言)、allowSpeak(允许发言)、delUser(删除用户)、shieldMessage(屏蔽消息)、delManager(删除消息)以及topManager(置顶消息)等六个方法。PubUser类中包含id(编号)、name(用户名)、password(用户密码)、picture(头像)、sign(签名)等五个属性,assign(注册)、login(登陆)、speak(发表主题)、lookInfo(查看个人信息)、updateInfo人信息)、alterMessage(修改消息)、delMessage(删除消息)以及update(升级)九个方法。4.2.3系统的顺序图图3用户注册顺序图8图3显示的是用户初次进入系统时进行的注册流程。首先,用户在注册页面提交自己拟好的用户名及密码(消息1),注册页面会将其提交给管理员(消息2),管理员进行审核(消息3),若该用户名以及密码都时合法的,那么管理员会返回合法消息到网页(消息4)。网页若接收到管理员传送来的合法消息,会先将该用户的信息(包括其用户名及密码)保存到数据库(消息5),同时,将注册成功的消息返回给用户以通知其注册成功并提醒用户可以进行下一步操作。图4用户发表消息顺序图图4显示的是用户发表消息的流程。首先,注册用户需要在登陆页面提供用户名和密码进行登陆(消息1),网页将用户密功能和密码传送到数据库要求其审核是否合法(消息2),数据库进行查询,若该