Java程序设计-模块设计报告_第1页
Java程序设计-模块设计报告_第2页
Java程序设计-模块设计报告_第3页
Java程序设计-模块设计报告_第4页
Java程序设计-模块设计报告_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、:机构图标项目名称模块设计报告文件状态:文件标识:Company-Project-SD-MODULEV草稿当前版本:X.Y正式发布作者:正在修改完成日期:Year-Month-Day机构公开信息项目名称,模块设计报告机构名称,2002Page of20版本历史目录TOC o 1-5 h z HYPERLINK l bookmark4 o Current Document 0.文档介绍4 HYPERLINK l bookmark6 o Current Document 0.1文档目的4 HYPERLINK l bookmark8 o Current Document 0.2文档范围4 HYPER

2、LINK l bookmark10 o Current Document 0.3读者对象4 HYPERLINK l bookmark12 o Current Document 0.4参考文献4 HYPERLINK l bookmark14 o Current Document 0.5术语与缩写解释4 HYPERLINK l bookmark16 o Current Document 模块命名规则6 HYPERLINK l bookmark24 o Current Document 模块汇总6 HYPERLINK l bookmark26 o Current Document 模块汇总表6 HY

3、PERLINK l bookmark28 o Current Document 模块关系图6子系统A的模块设计N模块A-N子系统B的模块设计N模块B-N错误!未定义书签错误!未定义书签错误!未定义书签错误!未定义书签5.其他200.文档介绍0.1文档目的作为企业即时通软件设计文档的重要组成部分,本文档主要对该软件各个模块以及模块与模块之间的关系进行了详细描述,并对相关内容做出了统一的规定。0.2文档范围本文档包含以下几个部分:0.文档介绍模块命名规则模块汇总其它0.3读者对象本文档的主要读者包括:本系统的设计人员:包括模块设计人员本系统的系统开发人员:编码人员。本系统的测试人员0.4参考文献提

4、示:列出本文档的所有参考文献(可以是非正式出版物),格式如下:标识符作者,文献名称,出版单位(或归属单位),日期例如:AAA作者,立项建议书,机构名称,日期SPP-PROC-SDSEPG,系统设计规范,机构名称,日期0.5术语与缩写解释缩写、术语解释SPP精简并行过程,SimplifiedParallelProcessSD系统设计,SystemDesign模块命名规则1.1类和接口1)类和接口名均采用名词,首字母大写,其他单词首字母大写。例如:BufferedStreamReader,缩写词必须全部大写。例如:TargetURL。1.2包1)所有包名只能用小写字母。尽量别使包名长度超过8个字符

5、,避免使用多个词作为包名;2)顶级包名采用开发者所在机构的域名的逆序,若没有域名,可采用公司英文名称例如:com.sun.jdbc、org.jboss3)非顶级包名采用名词,或名词的缩写。模块汇总2.1模块汇总表用户界面(客户端)模块名称功能简述LoginJFrameLoginJFrame类为用户提供登录界面。MainJFrameMainJFrame类为客户端主窗体界面。ChatJFrameChatJFrame类为用户提供发送、显示聊天消息的操作界面。ChatRecordJFrameChatRecordJFrame类为用户提供导出聊天记录、清除聊天记录的操作界面。UpdatelnfoJFram

6、eUpdateInfoJFrame类为用户提供更新用户信息的操作界面。UserlnfoJFrameUserInfoJFrame类为用户提供查看在线用户信息的界面。ClientReceiveThreadClientReceiveThread类负责接收服务器端转发的消息。表1-1表示层(客户端)模块汇总表用户界面(服务器端)模块名称功能简述MainJFrameMainJFrame类为用户提供服务器端的主窗体界面。CorperationJFrameCorperationJFrame类为用户提供更新公司信息的操作界面。DepartmentJFrameDepartmentJFrame类为用户提供增加、删

7、除、修改、显示部门信息的操作界面。UserInfoJFrameUserInfoJFrame类为用户提供增加、删除、修改、显示用户的操作界面。DepartmentAddFrmDepartmentAddJFrame类为用户提供增加部门的操作界面。UserlnfoAddJFrameUserInfoAddJFrame类为用户提供增加用户的操作界面。ServerListenThreadServerListenThread类负责侦听客户端的连接请求ServerReceiveThreadServerReceiveThread类负责接收、转发客户端的消息。表1-2表示层(服务器端)模块汇总表自定义界面模块名称

8、功能简述AboutPanelAboutPanel类定义了“关于”面板上图像的布局方式InfoPanelInfoPanel类定义了“信息”面板上图像与程序信息的布局方式HelpDailogHelpDailog类为自定义对话框,作为AboutPane和InfoPanel的容器PicPanelPicPanel类为自定义图像框,作为图像显示的容器表1-3自定义界面模块汇总表业务规则类模块名称功能简述CorperationBLCorperationBL类用于处理与公司相关的业务操作,例如查询或更新公司信息。继承自DbUtils类DepartmentBLDepartment类负责处理与部门相关的业务操作,

9、例如部门信息的增、删、改。继承自DbUtils类UserInfoBLUserInfoBL类负责处理与用户相关的业务操作,例如用户信息的增、删、改。继承自DbUtils类DeptsUsersBLDeptssUsersBL类负责处理与部门用户信息相关的业务规则。表1-4业务规则模块汇总表数据实体类模块名称功能简述CorperationCorperation类定义公司对象,包含了访问公司属性的方法。DepartmentDepartment类定义部门对象,包括部门的编号、名称、描述等属性,其中包括访问这些属性的方法。UserInfoUserInfo类定义用户对象,包括用户的基本属性和访问这些信息的方法

10、。OnlineUserOnLineUser类定义在线用户对象,该类继承自UserInfo,它不仅包括用户的基本属性,而且加入了一些与网络通信相关的属性。它也包含访问这些属性的方法。表1-5数据实体汇总表工具类模块名称功能简述ConstantValuesConstantValues类中定义了程序中常用的符号与数字常量。DbUtils类DbUtils类定义了访问数据库的常用方法。CommonUtils类CommonUtils类定义了和字符串、日期、文件、Swing界面开发相关的常用方法。PropConfig类PropConfig类定义了与资源文件操作相关的属性与方法。表1-6工具类汇总表2.2模块

11、关系图2.2.1包关系1.表示层(客户端)如下图(图2-3)所示:图2-3客户端表示层表示层(服务器端)如下图(图2-4)所示:3AAMainJFrameJFrameThread图2-4服务器端表示层DepartmentAddJFrameServerReceiveThreadSeruerListenThreadOnlineWatchJFrameCorperationJFrame成DepartmentJFrame-用户界面十一谢-Abaseformk-UserlnfoAddFrameUserlnfoJFrame3.自定义界面(图2-5)所示:AboutPanelInfoPanel图2-5自定义界

12、面类自定文界面HelpDialogPicPanelJPanelJDialog4.业务规则类如下图(图2-6)所示:5.图2-7)所示:数据实体类如下图图2-7数据实体类1OnlinellserJ6.工具类如下图(图2-8)所示:图2-8工具类7.图像资源和资源文件图像资源主要包含程序中用到的图像文件,本项目中使用的图像文件格式均为gif格式。2.2.2表示层模块设计2.2.2.1客户端表示层模块1:LoginJFrame如下表:模块名称LoginJFrame功能描述LoginJFrame为用户提供登录界面,用户输入帐号、密码、服务器IP和服务器端口号进行登录。接口与属性函数名访问性返回值参数功

13、能verifiedInput私有有无客户端验证数据结构无补充说明无表2-10LoginJFrame类模块2:MainJFrame模块名称MainJFrame功能描述MainJFrame为用户提供基本客户端操作界面,用户登录成功后显示该窗体,该窗体侦听服务器发送的信息,并做相应处理。接口与属性函数名访问性返回值参数功能refreshinterface私有无无刷新界面addChildTree公有无有添加子结点openNewChatJFrame公有无有打开聊天窗体checkAccount私有布尔值有检查有效用户数据结构无补充说明无表2-11MainJFrame类2.2.2.2服务器端表示层模块1:M

14、ainJFrame模块名称MainJFrame功能描述MainJFrame为用户提供基本操作界面,负责启动、停止服务、侦听客户端发送的消息并进行处理。接口与属性函数名访问性返回值参数功能startServer私有无无启动服务stopServer私有无无停止服务显示服务器配getConfiguration私有无无置initComponentsState私有无有初始化界面控件数据结构无补充说明无表2-12MainJFrame类模块2:OnlineWatchJFrame模块名称OnlineWatchJFrame功能描述OnlineWatchJFrame为用户提供了显示在线用户详细信息的功能接口与属性

15、函数名访问性返回值参数功能刷新在线人员界refreshOnlineTable私有无无面数据结构无补充说明表2-13OnlineWatchJFrame类2.2.3工具类模块设计模块1:DbUtils模块名称DbUtils功能描述DbUtils类提供了访问数据库数据的操作,该类被业务规则类继承。接口与属性函数名访问性返回值参数功能connOpen私有无无打开数据库连接connClose私有无无关闭数据库连接prepstmtClose私有无无关闭Sql执行对象resultsetClose私有无无关闭结果集对象getSqlStatement私有无无得到替换sql语句excuteQuery私有有有执行查

16、询excuteUpdate私有有有执行更新query受保护有有查询update受保护有有更新一、关闭所有数据库对closeALL受保护无有象closeALL受保护无无同上数据结构无补充说明无表2-14DbUtils类图2-9DbUtils类图模块2:PropConfig模块名称PropConfig功能描述PropConfig类提供了访问资源配置文件的常用操作。接口与属性函数名访问性返回值参数功能初始化Socket资源实initSocketConfig私有无无体初始化数据库资源实initDbConfig私有无无体initMsgConfig私有无无初始化消息资源实体initSqlConfig私有无

17、无初始化Sql资源实体getSocket_resource公有有无得到Socket资源实体getDb_resource公有有无得到Db资源实体getMsg_resource公有有无得到消息资源实体getSql_resource公有有无得到Sql资源实体getComplexMsg公有有有取得复合消息数据结构无补充说明无表2-15PropUtils模块PropConfig-cibregciuru已:尺已suuru亡Buntil已-mciuketremourue:尺egdurceBuncile-mwqrewnurce:FesnurueEiunclle-gqlr已sciuru亡:FegciurueBu

18、ncll亡constructor+PropConfigO-initSncketCcinafig:wnicJ-initDbCcinfiq门:vciicl-initblegmacieCcinficiCi:woici-initSqlCcinficil):wnicjuuciett亡rnn+qetDbregciuru已):尺egciuru已Bunclleuucietternn+qetSciuketremourue门:RemciurueBuncJleuucietternn+qetMwqresnurueCi:ResnurueEiuncllerEtterx+qetScilremciurue门:Rewciuru

19、eEiundleuuqett亡rnn+qetCcimulexMgqfr亡suurue:Regduru已BuncJle,k亡y:Strinq,:Strinql):String图2-10PropConfig类图模块3:CommonUtils模块名称CommonUtils功能描述CommonUtils类提供了一些公用方法,包括Swing开发相关方法、文件操作相关方法、日期操作相关方法、字符串操作相关方法、与网络操作相关方法,这里只列举一部分接口与属性参函数名访问性返回值込功能数getScreenHeight私有有无取得屏幕高度getScreeWidth私有有无取得屏幕宽度setScreenCente

20、r公有无有将组件位置设置在屏幕中心将组件位置设置在屏幕右上setScreenRight公有无有角getCurrentTime公有有无得到当前机器时间writeToFile公有无有写文件操作getContentFromFile公有有有从文件中读取内容检查字符串是否包含特殊字checkNumsLetters公有有有符checkNums公有有有检查字符串是否只包含数字checkLetters公有有有检查字符串是否只包含字母getServerIP公有有有取得服务器端IP地址getServerPort公有有有取得服务器端口号数据结构无补充说明无表2-16CommonUtils类CommonLils-di

21、mensicin:Dimenmicin=Toolkit.qetDefaultToolkitn.qetScreenSizef)-numsStrina:Strinq=0123456789-lettersStrinq:String=abcdefqhiiklmnopqrstuvwxYzABCDEFGHIJKLMNOPQRSTUVWKYZ-numslettersStrina:String=0123456789abcdefahiiklmnoDCirstuYWXVzABCDEFGHIJKLMNOPQRSTUVWXYZ11=:constructor+CommonUtils()qetter-qetScreenW

22、1dth():double=:qetter-qetScreenHeiahtC):double=:setter+setScreenCenterfc:Component:voidsetter+setScreenRiqhtCc:Component):void+checklPCipStrina:Strinq:boolean+writeToFileCfilename:Strinq,obis:Obiectn1:voidqetter+aetContentFromFileffilename:String:StrinqTlaetter+aetCurrentTime():String-checkNumsfstr:

23、Strinq:boolean-checkLettersfstr:Strinq:boolean-checkNumsLetterststr:Strinq:booleanqetter+cietServerlPCserverSocket:ServerSocket:Strinq=:qetter+qetServerPortfserverSocket:ServerSocket:Strinq图2-11CommonUtils类图限于篇幅,表2-16中只列出了大部分的方法,其它方法的使用请参照本案例的模块设计文档。2.2.4数据实体模块设计模块1:Corperation模块名称Corperation功能描述Cor

24、peration类用于保存公司信息。此类提供了访问公司属性的方法。接口与属性提供了访问公司属性的get/set方法数据结构无补充说明无表2-17Corperation类Corperation-corpName:String-corpAddr:String-corpDomain:String-corpEmail:String-corpPhon亡:String-corpFAX:Stringconstructor+Corperation()=:getter+getCorpName():String-=:setter+setCorpName(corpName:String):voidgetter+ge

25、tCorpAddr():String=:setter+setCorpAddr(corpAddr:String):void=:=:getter+getCorpDomainO:Stringsetter+setCorpDomain(corpDomain:String):voidgetter+getCorpEmail(;):String=:setter+setCorpEmail(corpEmail:String):void-=:getter+getCorpPhone():Stringsetter+setCorpPhone(corpPhone:String):void=:getter+getCorpFA

26、X():String+setDeptlD(deptID:int):voidgetter+getDeptName():Stringsetter+setDeptName(deptName:String):void-=:getter+getDeptDescrO:Stringsetter+setDeptDescr(deptDescr:String):void图2-13Department类图模块3:UserInfo模块名称UserInfo功能描述UserInfo类用于保存用户信息,此类提供了访问用户属性信息的方法。接口与属性提供了访问用户属性的get/set方法数据结构无补充说明无表2-19UserI

27、nfo类图2-14UserInfo类图模块4:OnlineUser模块名称OnlineUser功能描述OnLineUser类是用来保存在线用户信息的,此类继承UserInfo类,提供了访问在线用户属性的方法。接口与属性提供了访问在线用户属性的get/set方法数据结构无补充说明无表2-20OnlineUser类OnlineUser-socket:Socket-in:BufferedReader-out:PrintVWiter-onlineAvl:intconstructor+OnlineUser(;)constructor+OnliriELlgErfserverSocket:ServerSoc

28、ket)getter+getSocket():Socketsetter+setSocket(socket:Socket):void-=:getter+getln。:BufferedReadersetter+setln(in:BufferedReader):voidgetter+getOut():PrintWViter-=:setter+set0ut(out:PrintVWiter):voidsetter+setOnlineAvl(onlineAvl:int):voidgetter+getOnlineAvl():int图2-15OlineUser类图2.2.5业务逻辑模块设计模块1:Corper

29、ationBL模块名称CorperationBL功能描述CorperationBL类提供操纵公司信息数据的功能,此类继承了DbUtils类。接口与属性函数名访问性返回值参数功能取得公司信息实getCorperation公有有有体数据结构无补充说明无表2-21CorperationBL类CorperationBL=:constructor+CorperationBLQgetter+getOorperationO:Corperation图2-16CorperationBL类图模块2:DepartmentBL模块名称DepartmentBL功能描述DepartmentBL类提供了操纵部门信息数据的功能,此类继承了DbUtils类。接口与属性函数名访问性返回值参数功能取得所有部门信getALLDepartment公有有有丿息、数据结构无补充说明无表2-22DepartmentBL类DepartmentL+DepartmentBLj()getter+getALLDepa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论