最新版软件工程课程设计报告4373612.docx

上传人:b****8 文档编号:9298816 上传时间:2023-02-04 格式:DOCX 页数:37 大小:207.66KB
下载 相关 举报
最新版软件工程课程设计报告4373612.docx_第1页
第1页 / 共37页
最新版软件工程课程设计报告4373612.docx_第2页
第2页 / 共37页
最新版软件工程课程设计报告4373612.docx_第3页
第3页 / 共37页
最新版软件工程课程设计报告4373612.docx_第4页
第4页 / 共37页
最新版软件工程课程设计报告4373612.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

最新版软件工程课程设计报告4373612.docx

《最新版软件工程课程设计报告4373612.docx》由会员分享,可在线阅读,更多相关《最新版软件工程课程设计报告4373612.docx(37页珍藏版)》请在冰豆网上搜索。

最新版软件工程课程设计报告4373612.docx

最新版软件工程课程设计报告4373612

 

软件工程课程设计

 

大学生社交网站

 

班级

学号

姓名

指导老师

 

华东理工大学信息学院计算机系

 

一.大学生社交网站需求模型2

1.问题陈述

1.1设计背景及意义

1.2技术方案的选取

2.需求模型

2.1用例图

2.2用例模型

2.3词汇表

2.4补充说明书

二.大学生社交网站OOA设计5

三.大学生社交网站OOD设计2

1.框架(framework)

2.包(package)

3.类-接口(class-interface)

四.大学生社交网站的系统实现

五.小组成员总结----32

 

一.大学生社交网站需求模型

1.问题陈述

1.1课题研究背景及意义

互联网在全世界迅速发展,以WEB为核心的各种应用系统层出不穷,诸如各种商业型网站,互动交流网站,BBS论坛等都是十分典型的应用。

社交网站SNS(SocialNetworkSite)专指旨在帮助人们建立社会性网络的互联网应用服务。

所谓社会性网络(SocialNetworkServices),也被称为人际关系网,这种模式的局限性是个体与个体之间必须有一定的关系基础,仅仅在熟识的人群之间进行交流。

为了拓展个体的社会性网络即社交范围,使得原本不相识但又有意愿彼此结识的人群之间通过有效的途径建立起某种联系,因此诞生了SNS网站。

社交网站一经推出就取得了迅猛的发展,此类型网站一般是通过某种方式进行社会拓展,比如根据相同话题进行凝聚等都被纳入了SNS的范畴。

社交网站的出现在某种程度上丰富了当今社会中个体交际的范围,把原本狭小的交友圈拓展为通过网络服务与身处世界各地的拥有不同背景的个体进行交流。

在信息化建设高速发展的今天,这种社会性网络显然更符合当代人的自身需求。

沟通人们不得不在信息化的大潮中学会适应以求得生存与发展。

在开发过程中,采用B/S(Browser/Server)结构,这种结构使得数据只有结果集合在浏览器中显示,数据的处理在服务器进行,用户只需要一个浏览器就可以遨游于社交网站了。

数据库方面,采用具有常用的数据库关系管理系统MySQL,是系统安全性更高。

同时选择了HTML+CSS+JavaScript+Servlet+JSP开发模式,实现了应用系统逻辑和页面显示分离,界面设计精简。

1.2技术方案的选取

1.2.1开发语言

java无疑可以轻松地实现这类功能,JSP技术是一种服务器端的HTML页面中嵌入JAVA代码的脚本语言,它比一般脚本语言的执行速度更快,由于JSP是基于JAVA语言的,所以它可以运行在UNIX/LINUX和WINDOWS平台上,是一种难得的动态网页开发语言。

1.2.2开发模式

采用MVC架构模式,在此模式中通过JSP来表现页面。

通过service层来完成大量的事务处理。

Action层充当一个控制者的角色,并负责向客户发送请求。

业务逻辑层创建JSP所需要的Bean和对象,然后根据用户的请求行为,决定将哪个JSP页面发送给客户。

分为表现层、中间层、业务逻辑层和数据服务层。

三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。

客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。

1.2.3开发工具

采用Tomcat6.0+MyEclipse9+Dreamweaver+MySQL

1.2.4数据库选择

数据库是数据的结构化集合。

它可以是任何东西,从简单的购物清单到画展,或企业网络中的海量信息。

要想将数据添加到数据库,或访问、处理计算机数据库中保存的数据,需要使用数据库管理系统,如MySQL服务器。

计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。

2.需求模型

2.1用例图

2.2用例模型(UseCaseModel)

内容表

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基本事件流

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基本事件流

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拓展点

用例说明书(UseCasespecifications)

1.注册

1.1.简介

该用例描述浏览该网页的人如何注册成为普通用户

1.2事件流

1.2.1基本事件流

该用例开始于浏览网页的人希望注册成为大学生社交网站的通用户

1.游客向系统发出注册请求

2.系统提供一张注册表单

3.游客填写注册的个人邮箱,用户名以及相关个人信息提交系统审核

1.2.2可选择事件流:

.

1.若邮箱地址有效且没有在数据库系统中注册过用户则数据库系统新增加一个用户项并将所有信息存入;

2.若邮箱地址无效或已注册过则提示注册失败并返回对应消息,游客可以选择重新注册或者退出注册

1.3.特殊要求

1.4前置条件

1.5后置条件

注册成功自动登录网站,可以进行其他活动

1.6拓展点

2.登录

2.1简介

该用例描述普通用户如何登陆该网站

2.2事件流

2.2.1基本事件流

该用例始于普通用户请求登陆该网站或者用户要实现网站的其他功能,如发布活动

1.用户发出登录请求

2.用户输入邮箱ID和密码

3.系统进行审核用户提交的用户名和密码是否正确,若正确则显示登录后的页面

2.2.2可选择事件流

2.2.2.1若果用户输入的用户名不存在或者密码错误则系统返回错误信息兵返回登陆页面

2.3特殊条件

2.4前置条件

用户已经成功注册过

2.5后置条件

登陆成功后可以进行网站内的其他活动,如发布活动和参加活动

2.6拓展点

3.发起活动

3.1.简介

该用例描述普通用户如何新发布一项活动

3.2.事件流

3.2.1基本事件流

该用例始于普通用户已经登陆该网站并希望发布新的活动

1.用户发出发布活动请求

2.系统提供活动发布表格,表格内容包括标题,地点,开始时间和具体描述

3.用户填写发布活动表格提交系统

4.系统自动显示新发布的活动信息

3.2.2可选择事件流

3.3特殊要求

3.4前置条件

活动发起人必须已经成功登陆该网站

3.5后置条件

其他用户以及活动发起人的好友会在网站中看到新发布的活动内容并可以参加该活动

3.6拓展点

4.删除已发起的活动

4.1简介

该用例允许用户取消自己发布的活动

4.2事件流

4.2.1基本事件流

该用例始于用户希望取消自己发布的活动

1.用户查看自己发布的活动列表

2.用户选择删除活动

3.系统判断该活动是否可以删除,如果可以则删除活动

4.2.2可选择事件流

1.如果系统判断该活动不可以删除则返回

4.2特殊要求

4.4前置条件

用户已发布过此活动

4.5后置条件

活动修改、删除操作都会对其他用户参加该活动产生一定的影响

4.6拓展点

5.参加/取消参加活动

5.1简介

该用例允许用户报名参加其他用户发布的活动,也可以取消参加已经报名参加的活动

5.2事件流

5.2.1基本事件流

5.2.1.1参加活动

该用例始于普通用户浏览其他用户发布的活动并请求参加

1.用户浏览其他用户发布的活动信息

2.用户发出参加活动的请求

3.发布的活动的数据库中增加参加活动报名人项

5.2.1.2取消参加活动

该用例始于普通用户浏览自己已经报名参加的活动并且希望取消报名参加某项活动

1.用户浏览自己报名参加的活动列表

2.用户发出取消参加的请求

3.系统确认请求

5.2.2可选择事件流

5.3特殊要求

5.4前置条件

用户需要成功登陆网站

5.5后置条件

用户参加活动和取消参加活动会对活动开展产生影响

5.6拓展点

6.添加好友

6.1简介

用户可以搜索并添加其他用户为好友和管理自己的好友

6.2事件流

6.2.1基本事件流

1.用户输入要添加的好友姓名并发出搜索请求

2.系统提交要搜索姓名并显示数据库中所有改姓名的用户列表

3.用户发出添加好友邀请

4.系统将添加好友邀请发送至对方用户等待确认

5.另一用户确认后双方即成为好友,会在各自的好友列表中显示对方的姓名

7.2.2可选择事件流

1.用户在添加好友请求前可以查看搜索结果列表中其他用户的信息

2.对方用户可以选择忽略其他用户的添加请求

6.3特殊要求

6.4前置条件

1.用户需登录该系统

2.添加好友时用户ID不在好友列表中

6.5后置条件

用户添加好友后可以查看其发布的活动

6.6拓展点

7.收发消息

7.1简介

该用例描述好友之间如何发送消息取得联系

7.2事件流

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.1简介

用户登录个人主页后可以选择修改自己的个人资料

8.2事件流

8.2.1基本事件

该用例始于用户请求修改自己的个人资料

1.用户进入自己的个人中心发出修改资料请求

2.系统请求输入修改后的资料

3.用户输入修改后的内容并确认修改

8.2.2可选择事件流

1.用户在修改资料的过程中可以选择取消修改个人资料

8.3特殊要求

用户只能修改自己的资料

8.4前置条件

用户需登录并进入个人中心

8.5后置条件

8.6扩展点

2.3词汇表(Glossary)

1.活动

用户登陆后可以发布、浏览和参加,主要是在线上发布,报名参加的人员在线下举办;发布人可以随时对活动信息进行修改或者取消已发布的活动。

2.用户

具有浏览,参加和发布活动,添加好友等权限。

3.好友

普通用户之间建立的较密切的联系,一个用户添加另一个用户为好友后各自会在对方的好友列表中显示,好友之间可以查看其发布参加活动信息,可以进入好友的个人中心。

4.消息

即小纸条,好友之间的交流均通过发消息的方式实现。

5.个人中心

用户登录后可以查看自己的个人中心,内容包括个人资料,发布的活动和报名参加的活动等,用户也可以进入好友的个人中心。

2.4补充说明书

2.4.1该系统在功能上应达到如下需求:

1.操作简单、界面友好,布局设计美丽大方,使得信息显示模块、操作模块显而易见,许多选项包括好友管理操作,查询好友操作,好友关注操作等只需要点击鼠标就可以完成。

另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。

对常见的类似网站的管理的各个方面,基本信息录入、浏览、删除、修改、搜索等方面都大体实现。

2.即时可见:

对于好友的“微博信息”的处理将立即在个人主页的对应栏目显示出来。

对于个人的“留言”的信息的将立即在自己主页的对应栏目显示出来。

对于个人的空间的“访问记录”的信息的将立即在自己主页的对应栏目显示出来。

达到“即时发布、即时见效”的功能。

3.系统运行应该快速、稳定、高效和可靠。

4.在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。

2.4.2可行性分析

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,必须记住可行性研究的目的不是解决问题,而是确定问题是否值得去解。

同时必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否能实现,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。

因此,可行性研究的实质是要进行一次大大压缩简化了的系统分析和设计的过程。

首先需要进一步分析和澄清问题定义。

在问题定义阶段初步确定设计的规模和目标,如果是正确的就进一步加以肯定,如果有错误就应该及时改正,如果对目标系统有任何约束和限制,也必须把他们清楚的一一列举出来。

在澄清了问题定义之后,分析员应该导出系统的逻辑模型。

然后从系统逻辑模型出发,探索若干种可供选择的主要方法(即系统实现方案)。

对每种解法都应该仔细研究它的可行性

2.4.3系统设计原则

1.开放性、可扩充性、可靠性原则

开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。

开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。

从而适应广大用户需求的多变性和产品的更新换代。

2、良好的用户操作界面

用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。

3、实用性原则

任何系统的设计都要考虑其实用性,系统开发的目的是为了提供众多的途径给用户交友,提供一个平台让用户在里面互相认识沟通,提高人们交友的交友质量,减轻用户的生活压力,给用户带来更多的乐趣。

4、工作平台设计原则

能适应不同的操作平台、不同的网络。

二.大学生社交网站OOA设计

1.注册

Sequencediagram

Collaborationdiagram

2.登录

Sequencediagram

Collaborationdiagram

3.发起活动

Sequencediagram

Collaborationdiagram

4.取消发布活动

Sequencediagram

Collaborationdiagram

5.参加活动

Sequencediagram

Collaborationdiagram

6.发送/接收消息

Sequencediagram

Collaborationdiagram

7.修改个人资料

Sequencediagram

Collaborationdiagram

三.大学生社交网站OOD设计

1.框架(framework)

本网站采用了MVC的架构设计,将系统的业务控制、页面显示、数据库访问三大功能模

块进行了分离,从而使得系统结构清晰,代码更容易维护。

以下是MVC的工作原理图示:

MVC框架组成部分有——

模型层

模型对象是应用程序的一部分,它实现了应用程序的数据定义的逻辑。

通常,模型对象检索和储了在数据库中的模型状态。

模型层负责数据的查询与组织。

视图层

视图层是显示应用程序的用户界面(UI)的部分。

通常,用户界面UI是由模型数据所创建的。

在一个MVC应用程序中,视图层view只显示信息。

控制层

控制层是处理用户交互,对模型层起作用,并最终选择一个视图view来呈现那个显示的用户界面的部

分。

控制层controller处理并响应用户的输入和交互。

2.包(package)

3.类-接口(class-interface)

2.1登录功能的类图:

DBUser类中的方法(含方法名、参数和返回值):

booleancreateUser(Useruser);

StringgetPw(Stringmail);

UsergetUser(Stringmail);

booleanchangeUser(Useruser);

User[]searchUser(Stringname);

voidinsertContent(Stringname1,Stringname2,Stringcon);

ListgetContents(Stringgetter);

voidupdateIsGet(Stringsender,Stringgetter);

2.2注册功能的类图:

2.3发起新活动功能的类图:

DBActivity类中的方法(含方法名、参数和返回值):

booleansaveActivity(Activityact);

ActivitygetActivity(longano);

booleandeleteActivity(longano);

Activity[]getAllActivity(Stringmail);

booleanactivityExist(longano);

Activity[]getMyActivity(Stringmail);

Activity[]getFriendsActivity(Stringmail);

Activity[]getSelectedActivity(Stringmail);

booleanisJoin(Stringmail,longano);

publicbooleanisJoined(longano);

2.4参加活动功能的类图:

DBActivityJoin类中的方法(含方法名、参数和返回值):

Activity[]get3Activity(Stringmail);

String[]getJoiner(longano);

booleanaddJoiner(longano,Stringmail);

booleandeleteJoiner(longano,Stringmail);

User[]getAllJoiner(longano);

User[]getAllJoiner(longano,Stringemail);

2.5好友功能相关类图

DBfriend类中的方法(含方法名、参数和返回值):

booleanaddFriend(Stringmail1,Stringmail2);

booleandeleteFriend(Stringmail1,Stringmail2);

User[]getFriend(Stringmail);

User[]getRecommendFriend(Stringmail);

User[]subtract(User[]a,User[]b);

booleanisFriends(Stringmail1,Stringmail2);

booleanisInvite(Stringmail1,Stringmail2);

DBnewfriend类中的方法(含方法名、参数和返回值):

booleanaddNewFriend(Stringmail1,Stringmail2);

String[]getNewFriend(Stringmail);

booleandeleteNewFriend(Stringmail1,Stringmail2);

User[]getInvitedFriend(Stringmail);

2.6消息功能类图

四.大学生社交网站的系统实现

1.部分功能代码示例

1.1发起活动

packageservice;

importjava.io.IOException;

importjava.io.PrintWriter;

importjava.text.ParseException;

importjava.text.SimpleDateFormat;

importjava.util.Date;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importjavax.servlet.http.HttpSession;

importdao.DBActivityInter;

importdao.impl.DBActivity;

importdomain.Activity;

importdomain.User;

publicclassPublishActivityextendsHttpServlet{

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

request.setCharacterEncoding("gb2312");

Stringtitle=request.getParameter("title");

Stringdetail=request.getParameter("detail");

Stringlocation=request.getParameter("place");

inttotalnum=Integer.parseInt(request.getParameter("limit"));

StringBuffertime=newStringBuffer(request.getParameter("year"));

time.append('/');

time.append(request.getParameter("month"));

time.append('/');

time.append(request.getPara

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1