系统功能性需求分析
校园微博系统应实现的界面包括“我的首页”、“我的微博”、“提到的我的”、好友、搜索、登陆、注册、个人信息设置等。
“我的首页”部分所具有的功能:微博的发布,显示用户部分信息,显示用户及其所关注对象的最新微博列表,用户能够对已发布的微博进行适当的操作,提供搜索接口;“我的微博”部分所具有的功能: 显示用户自身所发布最新发布微博的列表,显示用户的详细信息;“提到我的”部分所具有的功能:显示所提到的用户的微博,显示用户信息;好友页面所具有的功能:分别显示用户所关注的对象列表和用户的粉丝列表,能对用户关注的对象进行取消关注操作,能对用户的粉丝进行加关注和移除粉丝操作;搜索页面功能:根据用户所输入的关键字,搜索用户名中含有此关键字的用户、显示其基本信息,可进行加关注操作。
2.2.1 发布微博模块
用户可发布新微博,与好友们分享当前所拥有的信息。用户发布的微博可分为仅含纯文本,包含图片的,分享链接的伙食共享文本档的,图1,1给出了该发布微博用例图。
当学生分享图片时,应能实现学升上传图片的预览。要求在微博的文字中,学生能
够通过输入@字符加上学生名(如@某某)来提到某个特定的学生,使被提到的学生更加关注该微博。此外微博文本中,用户也能通过在两个#号间输入(如#此处输入话题#)新话题。微博文本信息中,话题的优先级高于提到的某人,即当学生输入的文本中含有话题,且话题中又有@提到的某人时,只对话题进行添加链接操作。
每条微博的发布,都需推送给用户的所有粉丝。若微博中提到某人,则需额外推送给被提到的用户。要求用户点击发布按钮后,系统能以较快的速度将新发布的微博呈现给用户,且页面不跳转。
2.2,2 用户操作已发布的微博模块
该模块中,用户可对已发布的微博进行查看、转发、评论等操作
对于单条已发布的微博(包括用户的和所关注对象的微博),若含有图片,当用户点击图片时,图片能够实现放大或缩小,供用户查看;若含有链接,用户点击链接,则浏览器新窗口打开此链接;若含有文档,则当用户点击文字时,能够下载该文档。
用户可对已发布的微博进行转发操作,转发操作中,若被转发的微博a本身也转发了他人的微博b,则用户转发的内容为微博b,且需将微博a文字内容提取到用户的文本输入框中,供用户操作,若被转发的微博a本身未转发他人微博,则用户转发的内容极为微博a,用户的文本输入框只须等待用户输入即可。
微博的评论子模块中,用户能够对已发布的微博进行那简单的评论,并能查看该微博已具有的评论。
2,2,3 新微博推送模块
新微博推送模块包括两个子功能,一是用户所关注对象发布的微博需要推送给用户;二是当他人发布的微博中点名提到的用户(使用@功能)时,也需要推送给用户。
用户成功登录后,在用户的首页中应能显示用户所关注好友以及用户的最新微博列表(新微博在旧微博之前),并提醒用户是否有新的提到用户的微博。首页中,系统应该实现间隔固定时间轮询判断是否有新的微博或新的提到的用户的微博,并提醒用户“有新的微博,点击查看”或“有新微博提到我,查看@我”。
用户点击前者时,新微博将异步插入到微博列表的最上层。当用户点击后者时,将跳到“提到我的”页面,用户即可查看提到用户的微博。在“提到我的”的页面中,需要间隔固定时间轮询判断是否有新的提到用户的微博。若存在新的用户的微博,则页面需出现提示信息。用户点击信息时,将显示提到用户的新微博。
2.2.4 搜索模块
用户可输入关键字,以查找名字中含有此关键字的用户。查找结果页面中,显示所有符合条件的用户列表,此列表显示用户的基本信息。模块需显示搜索结果中的用户是否已被关注,若被关注,则显示“已关注”;反之,页面需为用户提供“加关注”的按钮,以使用户能关注该对象。
2.2.5 我的微博模块
该模块需显示用户的基本信息,显示用户所发布的最新的微博的集合。模块中需要提供设置用户个人信息的超链接,用户通过此链接能跳往设置个人信息模块。
2.2.6 用户信息模块
用户信息模块,包括用户信息的显示子模块和用户信息的设置子模块。
(1)用户信息显示模块需要将用户部分信息直接在界面上显示,包括用户名、微博数等。
显示用户的头像以及用户名,显示用户所关注的好友数、用户的粉丝数和用户所发微数。当用户点击头像时,转到用户的设置信息模块;点击用户名时,跳转到“我的微博”页面:点击关注数时,跳转到用户所关注的好友列表页面:点击粉丝数时,跳转到用户的粉丝列表页面:点击微博数时,跳转到用户的“我的微博”页面,查看用户所发的微博列表。
(2)个人设置子模块中,由于用户名具有唯一性,因此需禁止用户修改其用户名。在此模块中,用户可修改其他个人信息,包括用户的账户密码、所在的学校、所在的专业或部门、年级、学号。在用户修改的过程中,前台页面应能过滤用户的输入的错误(中英文、大小写)信息,并提示用户。同时,当用户修改成功后,能提示用户操作成功。
2.2.7 用户注册模块
注册模块需达到良好的用户交互效果,当用户输入用户名时,需要异步判断该用户名是否可用。当用户输入用户名已被他人注册时,则需提醒用户该用户名已注册过,无法使用。此外,在其他输入框中,都需判断用户的输入是否符合格式,若不符合格式,则需要立即提醒用户输入错误。
要求用户的注册模块尽量简洁,已使用户能够在短时间内完成注册。同时,为考虑一定的安全性,注册模块需要用户输入验证码。
2.2.8好友模块
好友模块包括用户关注的好友和用户的粉丝两个部分
在用户关注的好友子模块中,需要显示用户关注好友数,并逐条显示用户关注的好友基本信息。模块应能提示用户其所关注的好友是否也关注了用户,若有则显示“互相光注中”。此外,该子模块需提供用户“取消关注”的按钮,以便用户能取消对某个好友的关注。
用户的粉丝子模块中,需显示用户的粉丝数,逐条显示用户的粉丝基本信息。同用户关注的好友模块类似,粉丝子模块中,也需要提示是否也关注了该粉丝,若有则显示“互相关注中”,若无则提供用户“加关注”的按钮,以便用户能关注该粉丝。该模块,应能为用户提供移除粉丝的功能。
2.2.8 用户注册模块
注册模块需达到良好的用户交互效果,当用户输入用户名时,需要异步判断该用户名是否可用。当用户输入用户名已被他人注册时,则需提醒用户该用户名已注册过,无法使用。此外,在其他输入框中,都需判断用户的输入是否符合格式,若不符合格式,则需要立即提醒用户输入错误。
要求用户的注册模块尽量简洁,已使用户能够在短时间内完成注册。同时,为考虑一定的安全性,注册模块需要用户输入验证码。