您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 第13组-SEProject-SDD-team13-ver1.0
清华大学软件设计说明Version1.0SoftwareDesignDescriptions版本:1.0软件设计说明日期:2010.4.29SEProject_SDD.pdfConfidentialTsinghuaUniversity,2007Page1RevisionDateVersionDescriptionAuthor2010.4.250.1PnP项目设计文档初稿梁蕴锋杨昊杨易高思宇宋才富2010.4.291.0完成各部分内容;文档排版梁蕴锋杨昊杨易高思宇宋才富SoftwareDesignDescriptions版本:1.0软件设计说明日期:2010.4.29SEProject_SDD.pdfConfidentialTsinghuaUniversity,2007Page2目录1.引言11.1目的11.2范围11.3定义和缩写12.参考文献13.分解说明23.1模块分解23.2并发进程23.3数据分解24.依赖关系说明34.1模块间的依赖关系34.2进程间的依赖关系34.3数据依赖关系45.接口说明45.1模块接口45.2进程接口76.详细设计86.1模块详细设计8SoftwareDesignDescriptions版本:1.0软件设计说明日期:2010.4.29SEProject_SDD.pdfConfidentialTsinghuaUniversity,2007Page11.引言1.1目的本文档为PnP项目设计文档,目的在于对项目进行功能划分并进行子系统接口设计,对每个子系统进行详细设计。为项目组提供项目开发的整体指导,有利于开发过程中的分工、协调以及功能明晰,从而提高整体开发效率。本文档供软件设计人员和开发人员、测试人员参考和使用。1.2范围本项目开发一个在线游戏“ProblemsandProgrammers”的多人游戏平台。软件产品控制整个游戏过程,对多个客户端的输入事件进行监听,在服务器端完成业务逻辑计算并返回客户端相应的结果。具体设计包括系统设计和详细设计两部分。3~5为系统设计,详细描述了系统的模块分解,模块间的依赖关系和接口定义,第六部分对系统的各个模块进行详细设计。1.3定义和缩写本文档中特有的定义与缩写词列表如下,部分定义和缩写词由于在之前的文档[2]已有出现,此处不再赘述。定义/缩写说明SDD(SoftwareDesignDiscriptions)软件设计描述文档Database,ConfigurationFileStorage,Administration,AdministrationView,User,HallManage,GameManage,UserView系统的模块划分,详见3.1模块分解部分以及4、5、6部分BlazeDS一款开源的Flex通信处理模块,在本项目中用于处理Flex和Java之间的通信,由Adobe公司提供RPCServiceBlazeDS提供的通信机制之一,它支持Flex端对Java函数的直接调用MessagingServiceBlazeDS提供的通信机制之一,它支持Flex端对端的直接通信,也支持服务器向客户端的消息推送AMFBlazeDS支持的一种二进制消息格式,具有较高的传输效率Channel(频道/通道)BlazeDS中用于规范消息交互方式。本项目用到的Channel类型包括AMFChannel和StreamingAMFChannelServletJava中一种处理消息应答的接口,在Tomcat中被支持并使用。本项目中用作相应Flex消息的Java端类。Tomcat一种开源的服务器管理程序,本项目中是服务器端的程序平台2.参考文献[1]《SoftwareDesignDescriptionIEEE1016-1998》SoftwareDesignDescriptions版本:1.0软件设计说明日期:2010.4.29SEProject_SDD.pdfConfidentialTsinghuaUniversity,2007Page2[2]《ProblemandProgrammers游戏软件软件需求规格说明》Version1.1[3]《ProblemandProgrammers游戏软件软件项目管理计划》Version1.1[4]《问题描述:ProblemandProgrammers游戏软件》赖剑冰Version1.0[5]《软件工程——理论、方法和实践》刘强编著高等教育出版社,20103.分解说明3.1模块分解将系统分为9个模块,模块名称和对应说明如下:模块名称说明Database系统的数据库,存放一切需要永久保存的平台数据,包括:用户基本信息、管理员基本信息、游戏信息、聊天信息、系统日志ConfigurationFile系统配置文件,是服务器系统的外存文件,存放与游戏密切相关的游戏参数和卡牌类型、效果信息Storage存储模块,依赖Database和ConfigurationFile,为上层提供访问数据库和配置文件的接口。Administration管理员模块,提供管理员管理系统的逻辑实现AdministrationView管理员界面模块,提供客户端管理员界面实现User用户模块,提供管理用户信息、聊天功能、加入游戏功能的逻辑实现HallManage游戏大厅模块,实现系统公告、在线玩家显示等服务GameManage游戏控制模块,实现一局游戏的控制功能UserView用户界面模块,提供客户端用户界面的实现3.2并发进程3.2.1服务器端进程服务器端进程,分为定期推送消息线程和游戏线程两部分。前者负责定时更新玩家信息、玩家列表、公告,后者对应某一牌局,进行牌局控制。3.2.2客户端进程客户端进程,运行在浏览器中的flex程序。3.3数据分解3.3.1用户基本信息用户基本信息,保存用户账号、密码、积分、在线时间、注册时间信息。3.3.2游戏记录游戏记录,保存游戏开始时间、结束时间、胜者、参与的玩家信息。3.3.3聊天记录聊天记录,保存用户在大厅中的群聊信息和在游戏中的群聊信息。玩家之间一对一的聊天不做保存。SoftwareDesignDescriptions版本:1.0软件设计说明日期:2010.4.29SEProject_SDD.pdfConfidentialTsinghuaUniversity,2007Page33.3.4公告信息公告信息,保存公告内容、公告时间和公告发布者(系统自动或管理员)。3.3.5系统日志系统日志,保存管理员操作内容。4.依赖关系说明4.1模块间的依赖关系我们将系统分解为九个模块,分别是:Database模块、ConfigurationFile模块、Storage模块、Administration模块、AdministrationView模块、User模块、HallManage模块、GameManage模块和UserView模块,其相互间的依赖关系如下图所示:下面具体说明模块间的依赖关系:4.1.1Database模块本模块不依赖其他任何模块。SoftwareDesignDescriptions版本:1.0软件设计说明日期:2010.4.29SEProject_SDD.pdfConfidentialTsinghuaUniversity,2007Page44.1.2ConfigurationFile模块本模块不依赖其他任何模块。4.1.3Storage模块本模块依赖Database模块和ConfigurationFile模块,需要这两个模块提供基本数据和系统配置信息。4.1.4Administration模块本模块依赖Storage模块,需要通过该模块获取基本数据及系统配置信息。4.1.5AdministrationView模块本模块依赖Administration模块,需要通过该模块提供管理员操作的相关接口。4.1.6User模块本模块依赖Storage模块,需要通过该模块获取基本数据。4.1.7HallManage模块本模块依赖Storage模块和User模块,需要通过Storage模块获取基本数据,需要User模块提供获取基本用户信息的接口。4.1.8GameManage模块本模块依赖Storage模块和HallManage模块,需要通过Storage模块获取基本数据和系统配置信息,需要HallManage模块提供获取游戏大厅信息的接口。4.1.9UserView模块本模块依赖User模块、HallManage模块和GameManage模块,需要这三个模块分别提供获取用户信息、游戏大厅信息和游戏进行的接口。4.2进程间的依赖关系客户端与服务器端使用Blazeds的RPC和Messaging两种机制相互通信。客户端进程向服务器进程提交RPC调用请求;客户端监听服务器端推送的消息。服务器端则向客户端提供可调用的函数;服务器端使用Servlet在StreamAMFChannel通道向客户端推送消息。4.3数据依赖关系各数据项之间无依赖关系。5.接口说明5.1模块接口5.1.1Database模块接口接口方法名接口方法描述SaveRegiste()用户注册CheckPassword()验证用户登陆信息SaveUserChanges()保存用户个人信息SaveAnnouncement()保存发布的公告DeleteAnnouncement()删除公告SoftwareDesignDescriptions版本:1.0软件设计说明日期:2010.4.29SEProject_SDD.pdfConfidentialTsinghuaUniversity,2007Page5DestroyAccount()销毁账号CheckComplain()查看用户投诉CheckGameRecord()查看游戏记录CheckChatRecord()查看聊天记录SaveChatRecord()保存聊天记录SaveComplain()保存用户投诉SearchUser()查找用户5.1.2ConfigurationFile模块接口5.1.3Storage模块接口5.1.4Administration模块接口接口方法名接口方法描述AdminLogin()管理员登陆ChangeConfiguration()管理员修改配置文件ChangePassword()管理员修改密码CheckGameRecord()管理员查询游戏记录CheckUserMessage()管理员查询用户留言信息DestroyAccount()管理员销毁账号GiveAnnouncement()管理员发布管理员公告ViewSystemLog()管理员查看系统日志5.1.5AdministrationView模块接口5.1.6User模块接口SoftwareDesignDescriptions版本:1.0软件设计说明日期:2010.4.29SEProject_SDD.pdfConfidentialTsinghuaUniversity,2007Page6接口方法名接口方法描述ChangePersonalInformation()用户修改基本用户信息CreatePlayer()用户开始游戏,成为一名玩家FastJoinGame()用户快速加入游戏JoinGame()用户加入游戏LeaveMessageToAdmin()用户向管理员投诉TakeAObserverSeat()用户进入游戏观看位,成为游戏观察者TalkToEveryone()用户向所有人留言TalkToSomeone()用户向某一指定用户留言UserLogin()用户登陆UserLogout()用户注销UserRegister()用户注册5.1.1HallManage模块接口接口方法名接口方法描述FindUser()在大厅中寻找某一指定用户GetAnnouncement()获取管理员公告和系统公告GetAvailableDesk()获取大厅中可加入游戏的游戏桌GetDeskCount()获取大厅中的游戏桌数GetDeskInformation()获
本文标题:第13组-SEProject-SDD-team13-ver1.0
链接地址:https://www.777doc.com/doc-4748861 .html