1、1.2.2 开发模式采用MVC架构模式,在此模式中通过JSP来表现页面。通过service层来完成大量的事务处理。 Action层充当一个控制者的角色,并负责向客户发送请求。业务逻辑层创建JSP所需要的Bean和对象,然后根据用户的请求行为,决定将哪个JSP页面发送给客户。分为表现层、中间层、业务逻辑层和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。1.2.3 开发工具采用Tomcat 6.0 + MyEclipse 9+ Dreamweaver+ MySQL1.2.4 数据库选择数据库
2、是数据的结构化集合。它可以是任何东西,从简单的购物清单到画展,或企业网络中的海量信息。要想将数据添加到数据库,或访问、处理计算机数据库中保存的数据,需要使用数据库管理系统,如MySQL服务器。计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。2.需求模型2.1用例图2.2用例模型(Use Case Model)内容表1.注册 1.1简介 1.2事件流 1.2.1基本事件流 1.2.2可选择事件流 1.3特殊要求 1.4前置条件 1.5后置条件 1.6拓展点2.登录 2.1简介 2.2事件流 2.2.1基本
3、事件流 2.2.2可选择事件流 2.3特殊要求 2.4前置条件 2.5后置条件 2.6拓展点3.发起活动 3.1简介 3.2事件流 3.2.1基本事件流 3.2.2可选择事件流 3.3特殊要求 3.4前置条件 3.5后置条件 3.6拓展点4.取消发布活动 4.1简介 4.2事件流 4.2.1基本事件流 4.2.2可选择事件流 4.3特殊要求 4.4前置条件 4.5后置条件 4.6拓展点5. 参加/取消参加活动 5.1简介 5.2事件流 5.2.1基本事件流 5.2.2可选择事件流 5.3特殊要求 5.4前置条件 5.5后置条件 5.6拓展点6.添加好友 6.1简介 6.2事件流 6.2.1基本
4、事件流 6.2.2可选择事件流 6.3特殊要求 6.4前置条件 6.5后置条件 6.6拓展点7.发送/接收消息 7.1简介7.2事件流 7.2.1基本事件流 7.2.2可选择事件流 7.3特殊要求 7.4前置条件 7.5后置条件 7.6拓展点8.修改个人资料 8.1简介 8.2事件流 8.2.1基本事件流 8.2.2可选择事件流 8.3特殊要求 8.4前置条件 8.5后置条件 8.6拓展点用例说明书( Use Case specifications)1.注册1.1.简介该用例描述浏览该网页的人如何注册成为普通用户1.2事件流1.2.1基本事件流 该用例开始于浏览网页的人希望注册成为大学生社交网
5、站的通用户1.游客向系统发出注册请求2.系统提供一张注册表单3.游客填写注册的个人邮箱,用户名以及相关个人信息提交系统审核1.2.2可选择事件流:.1.若邮箱地址有效且没有在数据库系统中注册过用户则数据库系统新增加一个用户项并将所有信息存入;2.若邮箱地址无效或已注册过则提示注册失败并返回对应消息,游客可以选择重新注册或者退出注册1.3.特殊要求无1.4前置条件1.5后置条件注册成功自动登录网站,可以进行其他活动1.6拓展点 无2.登录 该用例描述普通用户如何登陆该网站2.2事件流2.2.1基本事件流 该用例始于普通用户请求登陆该网站或者用户要实现网站的其他功能,如发布活动1.用户发出登录请求
6、2.用户输入邮箱ID和密码3.系统进行审核用户提交的用户名和密码是否正确,若正确则显示登录后的页面 2.2.2.1若果用户输入的用户名不存在或者密码错误则系统返回错误信息兵返回登陆页面2.3特殊条件2.4前置条件用户已经成功注册过2.5后置条件登陆成功后可以进行网站内的其他活动,如发布活动和参加活动2.6拓展点3.发起活动3.1.简介该用例描述普通用户如何新发布一项活动3.2.事件流3.2.1基本事件流该用例始于普通用户已经登陆该网站并希望发布新的活动1.用户发出发布活动请求2.系统提供活动发布表格,表格内容包括标题,地点,开始时间和具体描述3.用户填写发布活动表格提交系统4.系统自动显示新发
7、布的活动信息 3.3特殊要求3.4前置条件活动发起人必须已经成功登陆该网站3.5后置条件其他用户以及活动发起人的好友会在网站中看到新发布的活动内容并可以参加该活动3.6拓展点4.删除已发起的活动该用例允许用户取消自己发布的活动4.2事件流4.2.1基本事件流该用例始于用户希望取消自己发布的活动1.用户查看自己发布的活动列表2.用户选择删除活动3.系统判断该活动是否可以删除,如果可以则删除活动4.2.2可选择事件流 1.如果系统判断该活动不可以删除则返回4.2 特殊要求4.4前置条件用户已发布过此活动4.5后置条件活动修改、删除操作都会对其他用户参加该活动产生一定的影响4.6拓展点5.参加/取消
8、参加活动该用例允许用户报名参加其他用户发布的活动,也可以取消参加已经报名参加的活动5.2事件流 5.2.1.1参加活动该用例始于普通用户浏览其他用户发布的活动并请求参加 1.用户浏览其他用户发布的活动信息 2.用户发出参加活动的请求 3.发布的活动的数据库中增加参加活动报名人项 5.2.1.2取消参加活动该用例始于普通用户浏览自己已经报名参加的活动并且希望取消报名参加某项活动 1.用户浏览自己报名参加的活动列表 2.用户发出取消参加的请求 3.系统确认请求5.3特殊要求5.4前置条件 用户需要成功登陆网站5.5后置条件用户参加活动和取消参加活动会对活动开展产生影响 5.6拓展点6.添加好友用户
9、可以搜索并添加其他用户为好友和管理自己的好友6.2事件流6.2.1基本事件流 1.用户输入要添加的好友姓名并发出搜索请求 2.系统提交要搜索姓名并显示数据库中所有改姓名的用户列表 3.用户发出添加好友邀请 4.系统将添加好友邀请发送至对方用户等待确认 5.另一用户确认后双方即成为好友,会在各自的好友列表中显示对方的姓名1.用户在添加好友请求前可以查看搜索结果列表中其他用户的信息2.对方用户可以选择忽略其他用户的添加请求6.3特殊要求6.4前置条件1.用户需登录该系统2.添加好友时用户ID不在好友列表中6.5后置条件用户添加好友后可以查看其发布的活动6.6拓展点7.收发消息 该用例描述好友之间如
10、何发送消息取得联系7.2.1基本事件流该用例始于用户希望像好友发送消息或者接收消息7.2.1.1发送消息 1.用户查看自己的好友列表 2.用户选择要发送消息的好友请求发送消息 3.系统请求输入消息内容 4.用户输入消息并发送 5.系统提交消息给发送的另一方 7.2.1.2接收消息1.用户登录自己的主页并选择查看消息2.系统显示好友发送的消息 7.2.2可选择事件流 用户在接收消息后可以选择快捷回复7.3特殊要求7.4前置条件发送消息的对象必须是自己的好友7.5后置条件7.6拓展点8.修改个人信息 用户登录个人主页后可以选择修改自己的个人资料8.2事件流8.2.1基本事件 该用例始于用户请求修改
11、自己的个人资料1.用户进入自己的个人中心发出修改资料请求 2.系统请求输入修改后的资料 3.用户输入修改后的内容并确认修改8.2.2可选择事件流1.用户在修改资料的过程中可以选择取消修改个人资料8.3特殊要求 用户只能修改自己的资料8.4前置条件 用户需登录并进入个人中心8.5后置条件8.6扩展点2.3词汇表(Glossary)1.活动用户登陆后可以发布、浏览和参加,主要是在线上发布,报名参加的人员在线下举办;发布人可以随时对活动信息进行修改或者取消已发布的活动。2.用户具有浏览,参加和发布活动,添加好友等权限。3.好友普通用户之间建立的较密切的联系,一个用户添加另一个用户为好友后各自会在对方
12、的好友列表中显示,好友之间可以查看其发布参加活动信息,可以进入好友的个人中心。4.消息即小纸条,好友之间的交流均通过发消息的方式实现。5.个人中心用户登录后可以查看自己的个人中心,内容包括个人资料,发布的活动和报名参加的活动等,用户也可以进入好友的个人中心。2.4补充说明书2.4.1该系统在功能上应达到如下需求:1.操作简单、界面友好,布局设计美丽大方,使得信息显示模块、操作模块显而易见,许多选项包括好友管理操作,查询好友操作,好友关注操作等只需要点击鼠标就可以完成。另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见的类似网站的管理的各个方面,基本信息录入、浏览、删除、修改、搜索等
13、方面都大体实现。2.即时可见:对于好友的“微博信息”的处理将立即在个人主页的对应栏目显示出来。对于个人的“留言”的信息的将立即在自己主页的对应栏目显示出来。对于个人的空间的“访问记录”的信息的将立即在自己主页的对应栏目显示出来。达到“即时发布、即时见效”的功能。 3. 系统运行应该快速、稳定、高效和可靠。4. 在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。2.4.2可行性分析 可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,必须记住 可行性研究的目的不是解决问题,而是确定问题是否值得去解。同时必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否能
14、实现,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究的实质是要进行一次大大压缩简化了的系统分析和设计的过程。首先需要进一步分析和澄清问题定义。在问题定义阶段初步确定设计的规模和目标,如果是正确的就进一步加以肯定,如果有错误就应该及时改正,如果对目标系统有任何约束和限制,也必须把他们清楚的一一列举出来。在澄清了问题定义之后,分析员应该导出系统的逻辑模型。然后从系统逻辑模型出发,探索若干种可供选择的主要方法(即系统实现方案)。对每种解法都应该仔细研究它的可行性2.4.3 系统设计原则 1.开放性、可扩充性、可靠性原则 开放系统是生产各种计算机产品普遍遵循的原则,遵循这
15、种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。从而适应广大用户需求的多变性和产品的更新换代。2、良好的用户操作界面 用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。3、实用性原则 任何系统的设计都要考虑其实用性,系统开发的目的是为了提供众多的途径给用户交友,提供一个平台让用户在里面互相认识沟通,提高人们交友的交友质量,减轻用户的生活压力,给用户带来更多的乐趣。4、工作平台设计原则能适应不同的操作平台、不同的网络。二.大学生社交网站OOA设计Sequence diagramCollab
16、oration diagram4.取消发布活动5.参加活动6.发送/接收消息7.修改个人资料三.大学生社交网站OOD设计1.框架(framework)本网站采用了MVC 的架构设计,将系统的业务控制、页面显示、数据库访问三大功能模块进行了分离,从而使得系统结构清晰,代码更容易维护。以下是MVC 的工作原理图示:MVC 框架组成部分有模型层模型对象是应用程序的一部分,它实现了应用程序的数据定义的逻辑。通常,模型对象检索和储了在数据库中的模型状态。模型层负责数据的查询与组织。视图层视图层是显示应用程序的用户界面(UI)的部分。通常,用户界面UI 是由模型数据所创建的。在一个MVC 应用程序中,视图
17、层view 只显示信息。控制层控制层是处理用户交互,对模型层起作用,并最终选择一个视图view 来呈现那个显示的用户界面的部分。控制层controller 处理并响应用户的输入和交互。2.包(package)3.类-接口(class-interface)2.1登录功能的类图:DBUser类中的方法(含方法名、参数和返回值): boolean createUser(User user); String getPw(String mail); User getUser(String mail); boolean changeUser(User user); User searchUser(Stri
18、ng name); void insertContent(String name1,String name2,String con); List getContents(String getter); void updateIsGet(String sender,String getter);2.2注册功能的类图:2.3发起新活动功能的类图:DBActivity类中的方法(含方法名、参数和返回值): boolean saveActivity(Activity act); Activity getActivity(long ano); boolean deleteActivity(long an
19、o); Activity getAllActivity(String mail); boolean activityExist(long ano); Activity getMyActivity(String mail); Activity getFriendsActivity(String mail); Activity getSelectedActivity(String mail); boolean isJoin(String mail,long ano); public boolean isJoined(long ano);2.4参加活动功能的类图:DBActivityJoin类中的方
20、法(含方法名、参数和返回值):Activity get3Activity(String mail);String getJoiner(long ano);boolean addJoiner(long ano, String mail);boolean deleteJoiner(long ano, String mail);User getAllJoiner(long ano);User getAllJoiner(long ano,String email);2.5好友功能相关类图DBfriend类中的方法(含方法名、参数和返回值): boolean addFriend(String mail1
21、, String mail2);boolean deleteFriend(String mail1, String mail2);User getFriend(String mail);User getRecommendFriend(String mail);User subtract(User a, User b);boolean isFriends(String mail1, String mail2);boolean isInvite(String mail1, String mail2);DBnewfriend类中的方法(含方法名、参数和返回值): boolean addNewFrie
22、nd(String mail1, String mail2);String getNewFriend(String mail);boolean deleteNewFriend(String mail1, String mail2);User getInvitedFriend(String mail);2.6消息功能类图1.部分功能代码示例1.1发起活动package service;import java.io.IOException;import java.io.PrintWriter;import java.text.ParseException;import java.text.Simp
23、leDateFormat;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import dao.DBActivityInter;import dao.impl.DBActivity;import
24、 domain.Activity;import domain.User;public class PublishActivity extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(gb2312); String title=request.getParameter(title String detail=request.getParameter(detail String location=request.getParameter(place int totalnum = Integer.parseInt(request.getParameter(limit); StringBuffer time=new StringBuffer(request.getParameter(year time.append(/ time.append(request.getParameter(month time.append(request.getPara
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1