资源描述
哈尔滨工业大学计算机科学与技术学院2011年秋季学期软件设计与开发实践II软件设计说明书班 号:0903101小组名称:快乐之星姓名学号完成本次作业的分工分数张剑1090310323系统设计宁浩然1090310319非功能需求设计庄亚欧1090310322对象设计牛姝媛1090310302用户界面设计哈工大计算机学院软件设计与开发实践II软件设计说明书目 录1 系统需求概述11.1 业务需求概述11.2 功能需求概述11.3 非功能需求概述11.4 外部接口需求概述11.5 设计与实现方面的约束条件概述12 系统设计12.1 体系结构设计12.2 设计元素识别与包设计12.3 系统物理架构22.4 系统实现技术23 对象设计23.1 领域类图23.2 类1替换为具体的名称33.3 类2替换为具体的名称33.4 类n替换为具体的名称34 用户界面设计34.1 界面类型与风格34.2 界面清单及之间的关系44.3 界面1设计44.4 界面2设计45 外部软硬件接口设计46 关系数据库/文件设计56.1 数据表/视图/文件清单56.2 IDEF1X/E-R模型56.3 数据表/视图/文件的详细设计57 非功能需求的设计57.1 非功能需求1的设计决策57.2 非功能需求2的设计决策57.3 非功能需求n的设计决策5421 系统需求概述1.1 业务需求概述系统用计算机实现学生信息及公告的储存管理,提高工作效率服务质量。系统可以让寝室管理员在网上发布信息,不用在使用写白板,同学直接相互转告之类麻烦的方法。本系统将以类似于微薄的形式提供给同学后勤人员一个开放式的、便捷的交流平台。1.2 功能需求概述学生:注册,登陆,修改个人资料,浏览发布帖子,查看消息服务板块,发送私信,报修管理员:使用管理员身份登陆,查看发布信息服务板块内容,查看报修列表超级管理员:使用超级管理员的身边登陆,维护底层数据库,增删板块,设置权限,审核信 息1.3 非功能需求概述1. 由于面向人群主要为学生和后勤人员,所以用户界面应尽量简洁、易于操作,达到可以令不常使用计算机的人员在经半小时以内的教学后能会使用软件的基本功能。2. 伸缩性,尽量避免因用户增多而导致的获取信息延迟、及系统繁忙影响用户使用的问题发生。3. 吞吐率,在单位时间内,可以能会有很多人在同一时间发送帖子,发送不同的请求,这样的就要求我们的系统在吞吐率方面有很高的要求,我们必须及时处理这些请求并返回正确的数据。4.保证可靠性,当用户访问系统,系统处于维修更新的的状态,那用户提交的请求该如何响应,就需要提高系统的可靠性。5.数据方面,我们这个寝室交流平台很重要的一块就是信息的发布和交流,无论是二手信息,保修信息,学生交流的帖子,都需要存储,并随着时间数据量也会一直增长,所以我们必须保证这些数据的存数、传输。6.并发性,众多的学生用户很有可能在同一时间发布信息或者请求,必须处理这些并发请求。1.4 外部接口需求概述1.5 设计与实现方面的约束条件概述 1、运行于 Win XP/7 等系统 2、数据库Microsoft Visual Studio 2005 3、内存要求512MB以上 4、实现语音 Python/Ruby2 系统设计2.1 体系结构设计层次名称作用界面层用来实现“用户界面”实体层表征实现的实体控制层负责在用户界面与后台逻辑层之间的连接与调度持久层建立上层(控制,数据,界面)和数据库之间的关联数据层采用关系型数据库进行数据存储2.2 设计元素识别与包设计类型类名作用描述边界类登陆页面类学生、管理员、超级管理员登陆网站的页面报修页面类显示现在的报修记录,可以增加二手信息页面类分类显示现在的二手资源信息发帖页面类显示现有的所有帖子,可以发起新的帖子发布信息显示现在所有的新闻信息,管理员可以发布新的信息超级管理员页面超级管理员管理系统的页面控制类板块控制类控制每个板块的修改数据控制类控制所有注册者的资料人员管理类管理注册学生的情况私信控制类控制私信的储存及发送权限控制类控制注册者的权限消息管理类管理发布的消息帖子管理类。管理发布的帖子实体类学生主要使用网站的用户管理员管理寝室的阿姨和大叔 高级管理员维护管理整个网站系统的专业人员数据库信息记录数据库信息日志记录更新数据的一些信息内容人物相关实体记录用户之间的关系信息帖子帖子信息板块板块信息包名所属层次作用描述所包含的设计类普通用户界面用户界面层普通用户的基本界面新鲜事,导航,个人信息私信,帖子管理员界面用户界面层报修信息,物理信息,公寓信息的管理和控制界面维护报修信息,公寓信息,查询物理信息,超级管理员公告界面相关包用户界面层超级管理员功能(数据库维护,用户信息维护,权限维护帖子审核维护,板块维护)界面数据库维护,用户信息维护,权限维护,帖子审核维护,板块维护登录界面用户界面层登录界面登录界面类信息浏览界面用户界面层相关权力信息浏览帖子,私信物理信息,报修信息,公寓信息,二手信息,信息编辑。返回信息界面用户界面层各种返回界面返回信息类权限控制业务控制层对所有人的权限控制权限控制类信息控制类业务控制层物理信息的控制用户控制类返回控制业务控制层对各种返回情况的控制返回信息控制类人员信息控制业务控制层人员信息控制层用户控制类板块控制类业务控制层对各板块的控制板块控制类发贴控制业务控制层对于发贴合法性的控制帖子控制类新鲜事控制业务控制层对新鲜事的控制新鲜事控制类数据控制业务控制层数据控制类数据库控制类角色包实体所有用户用户类数据库实体数据库数据库类日志实体日志日志类帖子实体帖子帖子类板块实体板块板块类持久信息数据库人员信息,板块设置等固定信息动态信息数据库状态等2.3 系统物理架构2.4 系统实现技术用户用户用户KestrelStarling静态服务器(lamp)http动态数据库静态数据库说明对各个节点设备的用途与要求。浏览者(用户)浏览网页,获得相应权限和消息。说明每个包需安装在哪些服务器上。表现层、控制层、业务逻辑层的所有包均部署在kestrel上持久化层,持久数据部署到静态数据服务器上动态数据部署到starling服务器上层次名称编程实现技术用户界面php ,html ,jsp控制层php ,html ,jsp实体层javascript数据层mysql ,kestrel , ruby ,js3 对象设计3.1 领域类图3.2 类1学生用户类3.2.1. 类描述3.2.2. 类属性定义属性名属性含义数据类型缺省值可见性ID登录IDint0publicName作为学生用户的昵称,在网站中使用stringNULLpublicState表示学生用户 是否在线bool0public3.2.3. 类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型getID获取学生用户的IDpublicIDintvoidsetID设置学生用户的IDpublicIDintvoidgetName获取学生用户的姓名publicNamestringvoidsetName设置学生用户的姓名publicNamestringvoidgetState获取学生用户的状态publicStateboolvoidsetState设置学生用户的状态publicStateboolvoid3.2.4. 伪代码 public class Student private Object _iD;private Object _name;private Object _state;public void getID() throw new UnsupportedOperationException();public void setID(Object aID) throw new UnsupportedOperationException();public void getName() throw new UnsupportedOperationException();public void setName(Object aName) throw new UnsupportedOperationException();public void getState() throw new UnsupportedOperationException();public void setState(Object aState) throw new UnsupportedOperationException();3.3 类2管理员类3.3.1 类描述3.3.2 类属性定义属性名(英文)属性含义数据类型缺省值可见性ID管理员用户的IDint0publicName管理员用户的名称stringNULLpublicState管理员用户的状态bool0publicPermissions管理员的权限int0private3.3.3 类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型getID获取管理员的IDpublicIDintvoidsetID设置管理员用户的IDpublicIDintvoidgetName获取管理员的名称publicNamestringvoidsetName设置管理员的名称publicNamestringvoidgetState获取管理员的状态publicStateboolvoidsetState设置管理员的状态publicStateboolvoidgetPermissions获取管理员的权限publicPermissionsIntvoidsetPermissions设置管理员的权限publicPermissionsIntvoid3.3.4 伪代码public class Admin private Object _iD;private Object _name;private Object _state;private Object _permissions;public void getID() throw new UnsupportedOperationException();public void setID(Object aID) throw new UnsupportedOperationException();public void getName() throw new UnsupportedOperationException();public void setName(Object aName) throw new UnsupportedOperationException();public void getState() throw new UnsupportedOperationException();public void setState(Object aState) throw new UnsupportedOperationException();public void getPermissions() throw new UnsupportedOperationException();public void setPermissions(Object aPermissions) throw new UnsupportedOperationException();3.4 类3人物相关类3.4.1 类描述3.4.1 类属性定义属性名(英文)属性含义数据类型缺省值可见性Relationlist用户的好友列表stringNULLpublic3.4.2类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型getRelationlist获取用户的好友列表publicIDRelationlistIntStringlistaddRelation增加一个好友publicIDRelationlistIntstringvoidsubRelation减少一个好友publicIDRelationlistIntstringvoid3.4.3 伪代码public class PersonRelation private Object _relationlist;public void getRelationlist() throw new UnsupportedOperationException();public void addRelation() throw new UnsupportedOperationException();public void subRelation() throw new UnsupportedOperationException();3.5 类3 帖子类3.5.1 类描述3.5.2 类属性定义属性名(英文)属性含义数据类型缺省值可见性PostID原帖子的IDint0publicreplayPostID回复帖子的IDint0publicPost原帖子的内容stringNULLpublicPostdata原帖子的发表时间data0publicReplyPost回复帖子的内容stringNULLpublicPosttitle原帖子的标题stringNULLpublicTiltlelist标题列表stringNULLpublic3.5.3操作名(英文)操作含义可见性参数列表返回值类型名称数据类型getPostID获取原帖子IDpublicPostIDintvoidsetPostID设置原帖子IDpublicPostIDintvoidgetRplyPostID获取回复帖子的IDpublicrplyPostIDInt VoidsetRplyPostID设置回复帖子的IDpublicrplyPostIDIntVoidgettitlelist获取帖子标题列表publicPlateIDTitlelisstIntstringVoid3.5.4 伪代码public class Post private Object _postID;private Object _replyPostID;private Object _post;private Object _postdate;private Object _replyPost;private Object _replyPostdate;private Object _posttitle;private Object _titlelist;public void getPostID() throw new UnsupportedOperationException();public void setPostID(Object aPostID) throw new UnsupportedOperationException();public void getReplyPostID() throw new UnsupportedOperationException();public void setReplyPostID(Object aReplyPostID) throw new UnsupportedOperationException();public void getPostdate() throw new UnsupportedOperationException();public void setPostdate(Object aPostdate) throw new UnsupportedOperationException();public void getReplyPostdate() throw new UnsupportedOperationException();public void setReplyPostdate(Object aReplyPostdate) throw new UnsupportedOperationException();public void getTitlelist() throw new UnsupportedOperationException();public void setTitlelist(Object aTitlelist) throw new UnsupportedOperationException();public void getPosttitle() throw new UnsupportedOperationException();public void setPosttitle(Object aPosttitle) throw new UnsupportedOperationException();3.6 类6板块类3.6.1类描述3.6.2 类属性定义属性名(英文)属性含义数据类型缺省值可见性PlateID每一个板块的IDint0publicPlatetitle每一个板块的名称stringNULLpublicPlateintroduction每一个板块都有自己的简介stringNULLpublic3.6.3类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型getPlateID获取板块的IDpublicPlateIDintvoidsetPlateID设置板块的IDpublicPlateIDintvoid3.6.4 伪代码public class Plate private Object _plateID;private Object _platetitle;private Object _plateintroduction;public void getPlateID() throw new UnsupportedOperationException();public void setPlateID(Object aPlateID) throw new UnsupportedOperationException();public void getPlatetitle() throw new UnsupportedOperationException();public void setPlatetitle(Object aPlatetitle) throw new UnsupportedOperationException();public void getPlateintroduction() throw new UnsupportedOperationException();public void setPlateintroduction(Object aPlateintroduction) throw new UnsupportedOperationException();3.7 类6权限控制类3.7.1类描述3.7.3 类属性定义属性名(英文)属性含义数据类型缺省值可见性control用户的权限int0private3.7.3 类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型getcontrol获取用户的权限privateIDintintsetcontrol设置用户的权限privateIDintvoidcontrolint3.7.4 伪代码public class Permissionscontorl private Object _control;public void getcontrol() throw new UnsupportedOperationException();public void setcontrol() throw new UnsupportedOperationException();3.8 类7私信类3.8.1类描述3.8.2 类属性定义属性名(英文)属性含义数据类型缺省值可见性PrivateletterID私信的IDint0privatePrivaterletter私信内容stringNULLprivatePrivatedate私信发送时间date0privateRepleyPrivateletterl私信回复内容stringNULLprivateRepleydate回复时间date0private3.8.3 类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型getPrivateletterID获取私信的IDprivateIDintintsetPrivateletterID设置私信的IDprivateIDintvoidPrivateletterIDint3.8.4 伪代码public class Private_letter private Object _privateletterID;private Object _privateletter;private Object _privatedate;private Object _repleyPrivateletter;private Object _repleydate;public void getPrivateletterID() throw new UnsupportedOperationException();public void setPrivateletterID(Object aPrivateletterID) throw new UnsupportedOperationException();public void getPrivateletter() throw new UnsupportedOperationException();public void setPrivateletter(Object aPrivateletter) throw new UnsupportedOperationException();public void getAttribute() throw new UnsupportedOperationException();public void setAttribute(Object aAttribute) throw new UnsupportedOperationException();public void getRepleyPrivateletter() throw new UnsupportedOperationException();public void setRepleyPrivateletter(Object aRepleyPrivateletter) throw new UnsupportedOperationException();public void getRepleydate() throw new UnsupportedOperationException();public void setRepleydate(Object aRepleydate) throw new UnsupportedOperationException();3.9类8信息类3.9.1类描述3.9.2类属性定义3.9.3类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型getsecondnews获取二手信息publicPlateIDintlistgetrepairnews获取报修信息publicPlateIDintlistgetprivatenews获取私信publiclistgetpostnews获取贴吧信息publicPlateintlist3.9.4 伪代码public class News public void getsecondnews() throw new UnsupportedOperationException();public void get_repairnews() throw new UnsupportedOperationException();public void getprivatenews() throw new UnsupportedOperationException();public void getpostnews() throw new UnsupportedOperationException();3.10类9日志类3.10.1类描述3.10.2类属性定义属性名(英文)属性含义数据类型缺省值可见性LogID更新日志的IDint0PublicLog更新日志的内容stringNULLPublicLogdate更新日志的时间data0Public3.10.3类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型update记录更新数据库产生的日志publicLogIDintvoidLogstringLogdatedata3.10.4 伪代码public class Log private Object _logID;private Object _log;private Object _logdate;public void update() throw new UnsupportedOperationException();3.11类10信息控制类3.11.1 类描述3.11.2 类属性定义属性名(英文)属性含义数据类型缺省值可见性3.11.3 类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型Edit编辑信息publicIDNameIntstringstringPrivateIDintPostIDintBroadcast转发信息publicIDNameIntstringvoidPrivateintPostIDintdelete删除信息publicIDPrivateIDPostIDIntIntintvoidpublish发表信息publicIDnamePrivateIDPostIDIntstringIntintvoid3.11.4 伪代码public class Information_contorl public void Edit() throw new UnsupportedOperationException();public void Broadcast() throw new UnsupportedOperationException();public void delete() throw new UnsupportedOperationException();public void publish() throw new UnsupportedOperationException();3.12类11数据库控制类3.12.1类描述3.12.2类属性定义属性名(英文)属性含义数据类型缺省值可见性listID数据库表单IDint0publiclisttitle数据库表单标题stringNULLpublic3.12.3类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型new新建一个数据库表单publiclistIDintvoidlisttitlestringupdate修改一个数据库表单publiclistIDintvoiddelete删除一个数据库表单publiclistIDintvoidcopy备份一个数据库表单publiclistIDintvoidselect根据条件进行选择表单中内容publiclistIDintvoid3.12.4 伪代码public class Datebase_contorl private Object _listID;private Object _listtitle;public void new_60() throw new UnsupportedOperationException();public void update() throw new UnsupportedOperationException();public void delete() throw new UnsupportedOperationException();public void copy() throw new UnsupportedOperationException();public void select() throw new UnsupportedOperationException();public void getListID() throw new UnsupportedOperationException();public void setListID(Object aListID) throw new UnsupportedOperationException();3.13类12返回控制类3.13.1类描述3.13.2类属性定义属性名(英文)属性含义数据类型缺省值可见性3.13.3类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型trycache测试跳转操作的状态publicvoiddeal如果是正常的状态就进行publicvoiderror如果出现错误,则提示网页错误,并给出应对publicvoidlate如果访问超时,则提示服务器正忙,并给出应对publicvoid3.13.4 伪代码public class Back_contorl public void trycache() throw new UnsupportedOperationException();public void deal() throw new UnsupportedOperationException();public void error() throw new UnsupportedOperationException();public void late() throw new UnsupportedOperationException();3.14类13人员信息控制类3.14.1类描述3.14.2类属性定义属性名(英文)属性含义数据类型缺省值可见性InformationID人员信息的IDint0publicPassward用户的密码Int 0privateBirthdate用户的生日date0publicAge用户的年龄Int 0publicSex用户的性别bool0publicHometown用户的家乡stringNULLpublicCollege用户的学院stringNULLpublicPhone number用户的联系号码Int 0publicHobby用户的兴趣爱好stringNULLpublic3.14.3类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型getInformationID获取人员信息的IDpublicIDintVoidInformationIDInt setInformationID设置人员信息的IDPublicIDintvoidInformationInt3.14.4 伪代码public class Person_contorl private Object _informationID;private Object _passward;private Object _birthdate;private Object _age;private Object _sex;private Object _hometown;private Object _college;private Object _phone_number;private Object _hobby;public void getInformationID() throw new UnsupportedOperationException();public void setInformationID(Object aInformationID) throw new UnsupportedOperationException();public void getPassward() throw new UnsupportedOperationException();public void setPassward(Object aPassward) throw new UnsupportedOperationException();public void getBirthdate() throw new UnsupportedOperationException();public void setBirthdate(Object aBirthdate) throw new UnsupportedOperationException();public void getAge() throw new UnsupportedOperationException();public void setAge(Object aAge) throw new UnsupportedOperationException();public void getSex() throw new UnsupportedOperationException();public void setSex(Object aSex) throw new UnsupportedOperationException();public void getHometown() throw new UnsupportedOperationException();public void setHometown(Object aHometown) throw new UnsupportedOperationException();public void getCollege() throw new UnsupportedOperationException();public void setCollege(Object aCollege) throw new UnsupportedOperationException();public void getPhone_number() throw new UnsupportedOperationException();public void setPhone_number(Object aPhone_number) throw new UnsupportedOperationException();public void getHobby() throw new UnsupportedOperationException();public void setHobby(Object aHobby) throw new UnsupportedOperationException();3.15类14板块控制类3.15.1类描述3.15.2类属性定义属性名(英文)属性含义数据类型缺省值可见性3.15.3类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型addPlate超级管理员增加一个板块publicPlateIDintvoidPlatetitlestringPlateintroductionstringsubPlate超级管理员减少一个板块publicPlateIDIntvoidPlatetitlestringPlateintroductionstringupdatePlate编辑一个板块publicPlateIDPlatetitlePlateintroductionIntStringStringvoid3.15.4 伪代码public class Plate_contorl public void addPlate() throw new UnsupportedOperationException();public void subPlate() throw new UnsupportedOperationException();public void updatePlate() throw new UnsupportedOperationException();3.16类15发帖控制类3.16.1类描述3.16.2类属性定义属性名(英文)属性含义数据类型缺省值可见性3.16.3类操作详细设计操作名(英文)操作含义可见性参数列表返回值类型名称数据类型testPost检测一个帖子publicPlatIDInt voidPostIDInt PosttitlePostPostdateStringStringDatedeletePost删除一个帖子pubicIDintPlatIDintPostIDinttestReplyTest检测一个回复贴publicPlatIDPostIDPostPosttitleInt Int StringStringdeletePost删除一个回复贴publicPlatIDPostIDIntInt3.16.4 伪代码public class Post_contorl public void testPost() throw new Unsuppor
展开阅读全文