群体针对性的手机社交应用Circle 智能手机程序设计需求规格说明书.docx
《群体针对性的手机社交应用Circle 智能手机程序设计需求规格说明书.docx》由会员分享,可在线阅读,更多相关《群体针对性的手机社交应用Circle 智能手机程序设计需求规格说明书.docx(12页珍藏版)》请在冰点文库上搜索。
群体针对性的手机社交应用Circle智能手机程序设计需求规格说明书
智能手机程序设计
需求规格说明书
题目:
群体针对性的手机社交应用“Circle”
参赛队伍:
团队成员:
开发单位:
项目负责人:
2013年9月22日
目录
目录后期制作,自动生成
第1章前言
1.1目标
本说明书目的在于明确说明系统需求,界定系统实现功能的范围,指导系统设计以及编码。
本说明书的预期读者为:
客户,软件工程专业网站项目经理,系统分析员,系统设计人员,开发工程师,测试经理以及测试设计人员等。
1.2研究现状和比较
社交网络从几年前开始就一直是程序开发者的开发热点,在过往的十几年里各种各样的社交应用如雨后春笋一般冒出,其中不乏像腾讯QQ,Facebook等获得巨大成功的社交工具。
在这些社交软件中存在着想前面多说的QQ,Facebook这种面向所有人群的的大型社交网络,也有像人人网,校友录这种针对制定人群的社交网络,我们自起的名字,群体针对性的手机社交应用“Circle”,Circle指的是圈子的意思,在我们的日常生活中我们接触到各种各样的圈子,比如校友圈子,班级圈子,亲友圈子,以及许多各种各样的兴趣圈子。
不同的圈子有不同的人,不同的事物。
我们在针对这一点的基础上开发本软件。
我们的宗旨是不限定每一个圈子的种类,针对不同的圈子,也就是不同的人群提供不同的特色的并且具有合理针对性的功能服务,在此之上不同的圈子也就是人群之间给予一定的交流方式。
限于时间,我们将主要的开发方向放在针对于大学班级的的“班级圈子”,社会上不同兴趣的人的聚集地“兴趣圈子”,以及客户端提供给单个用的具体的便捷服务三个方面,以此作为例子阐述我们的设计理念。
为实现我们的设计理念开发本软件,相对于现已经存在的以及传统的社交软件,我们存在如下几点优势:
1.这是一个新兴的软件,相对于已经成型的市场上的软件来说,我们具有强大的可塑性。
2.这是一个具有群体针对性的软件,但是它具有强的大融合力与自由度,能够将生活中所涉及到的诸多圈子融合进去。
3.这是一个具有广泛适用性的软件,针对不同的群体都能够提供不同的服务,也就是说不同的群体会有不同的需求,而一个人在社会的身份是多重化的,他必然属于不同的群体,这样我们针对不同群体的需求,提供相应的解决方案。
1.3背景
开发单位:
中国石油大学计算机与通信工程学院SkyHunter小组。
主管部门:
中国石油大学计算机与通信工程学院。
第2章大赛项目要求
第3章任务概述
3.1用户需求
在我们的日常生活中我们接触到各种各样的圈子,比如校友圈子,班级圈子,亲友圈子,以及许多各种各样的兴趣圈子。
不同的圈子有不同的人,不同的事物。
我们在针对这一点的基础上开发本软件。
不同的群体会有不同的需求,而一个人在社会的身份是多重化的,他必然属于不同的群体,这样我们针对不同群体的需求,提供相应的解决方案。
下面主要分析大学班级圈子的需求,并简要说明兴趣圈子的需求理念:
作为一个大学生我们经常会有下面几种情况的需求:
1.当班级同学在不同的地方的时候能够通过网络进行聊天
2.众所周知大学的课程具有一定的难度,在学习过程中我们会经常会遇到许多的难题,而对于大多数学生来说一般是一个或者三五个人上自习,往往这几个人够难以解决问题,而且一个班的同学宿舍往往不在一块,这种时候,大学生一般都会求助于被称为“学霸”的学习比较优秀的同学,为此我们设计了“提问”这一个模块,类似于一些问答网站,不过比现有的问答网站的模式更具有针对性,提问者能够根据需求邀请别人来回答,而这个班级圈子里面大家都是相互熟知的,并且我们考虑到问题空悬的问题,不会让提问者长时间收不到回应信息。
3.对于一个大学班级群体来说,经常性的会办一些活动,比如说郊游,聚餐,也会经常性的需要进行各种各样的职位,荣誉的选举。
大学里面,班级里的人往往是不住在一块的,遇到这样的时候,需要将大家聚集在一起开会,经常性的开会是很不方便的大学教室借用都有流程要走,需要耗费时间,并且统计起来费时费力,为此我们设计了“活动投票的模块”解决这一需求。
4.班级里面经常有一些重要的通告要发布,或者每天老师布置的作业信息,为此我们“公告动态”这一个版块。
5.大学的每门课程老师在学期末的时候都会留有专门的答疑时间,但是在平时的时候除了上课我们与一些课程的老师接触的比较少,为此我们设置了“答疑室”这一个模块,在答疑室中学生能够邀请指定的老师参与答疑室的讨论,老师则可以通过pc端或者其他用户端来回答问题。
6.大学班级离我们经常需要分享不同的资料给同学,比如某门课的复习资料,课上笔记,或者一些其他的娱乐性的东西,为此我们设置了资料共享这一个模块,讲共享的资料上传到服务器端,并做分门别类的整理。
兴趣圈子:
兴趣圈子是一个志同道合的人群的聚集地,在这个去圈子,里面大家可以发起不同的讨论话题,并且参与已经发起的讨论。
3.2任务概述
该项目最终将建立一个叫做“Circle”具有群体针对性的手机社交应用,
以良好的用户界面和用户体验向用户展示我们的具体功能。
软件在针对用户需求上下很多功夫,在对象是单个的用户的时候向用户提供,添加好友,创建圈子,等功能,在程序开始的主界面上,向用户挑选展示用户的状态信息,从不同圈子挑选出来的热门话题等等,对象是一个圈子群体的时候,根据圈子的不同提供不同的服务,列如班级圈子,我们提供聊天室,提问,活动投票,答疑室,资料共享等等模块的功能,这些功能将在功能需求模块做具体描述。
在本程序中全程与网络远程数据库相连,以及网络相连,限于条件,我们通过php来传输数据,网络数据库和服务器的处理功能也不够强大。
第4章功能需求
4.1功能划分
本模块旨在明确软件产品的基本功能以及相关的功能模块,为后续编码工作打好基础。
◆用户之间发送私信功能。
◆兴趣群组查询与申请加入
◆用户与群组打卡签到挣积分功能
◆多用户之间实时多媒体聊天功能。
◆用户创建兴趣交友圈,管理圈子功能。
◆用户信息编辑,绑定邮箱,上传头像等功能。
◆老师与学生之间互动:
多功能实时答疑室功能。
◆圈子内部信息实时交互:
下发电子通知,在线会议等功能。
◆客户端用户发送、查看相关好友资料、心情、多媒体动态等功能。
4.2功能描述
4.2.1用户个人信息编辑
该款软件是针对智能手机用户开发的应用程序,每个用户拥有自己独立的ID和用户名(昵称),用户取得登陆授权后可以通过信息修改界面对自己的个人签名、地址、兴趣爱好等功能,并且支持上传个性头像美化自己的界面。
同时,用户还可以选择将自己的邮箱与该软件进行绑定,这样进行登陆时可以通过认证的邮箱进行验证,时登陆更加快捷。
一般情况下,用户的个人信息都是以文本形式存储在数据库里的,但是对于图片以及视频文件,我们在广泛调研基础上决定采用文件与文件地址分离的形式,把图片或者视频文件单独存放,数据表单里面只存放相关的地址,这样简化了数据库设计难度,而且可以提高存取效率,减小服务器压力。
4.2.2群组签到功能
用户登录成功后可以看到当前所在群组名称以及签到活跃度排行榜,并且可以对喜欢的小组进行签到,支持小组的发展壮大。
同时用户可以在自己的主页标注自己的心情,让好友更好的了解该用户的状态。
4.2.3支持多媒体传输的兴趣小组实时聊天
在软件的应用中,一个很重要的功能就是实时聊天功能。
因为我们对这个软件的定位是多功能社交软件,必然需要具有实时聊天交互信息的功能。
当一个圈子内部同时存在两个以及两个以上成员时,就可以发起聊天,而且如果有必要,还可以通过该软件以短信形式通知某些不在线的成员,前提是该成员设置了可以被短信提醒。
在聊天室内部呈现的是当前聊天的内容以及发送时间等,如果有成员发送了表情图片,或者视频,驱动器将驱动相关模块实现对相关组件的显示。
比如发送一段视频,界面上出现的将是一个视频播放的图标,显示当前视频内容的截图,同时它也是一个链接。
直接与服务器的数据连接。
用户可以选择手动进行点击播放,这是程序调动独立的视频播放驱动器代码段驱动数据以连续的额视频形式进行播放。
侧拉列表提供组内成员,当前在线好友等的资料查询功能,用户可以方便的查询组内成员部分资料。
4.2.4发送私信功能
在群组资料查询界面或者聊天室内,软件用户可以根据需要针对某一个好友发送文本私信。
系统每隔一定的时间便会扫描是否有新的留言,并以提醒的形式显示出来供用户选择查看。
4.2.5兴趣群组的查询与申请加入
在软件首页,我们可以通过上方的搜索框搜索不同的兴趣圈子,并申请加入圈子。
在得到管理员同意后就可以成为该圈子一员并可以在圈子内部发起实时聊天,或者进行其他兴趣活动。
作为群组(圈子)的管理员,拥有对圈子进行管理的权限,可以对影响正常活动的圈子成员进行删除或者限制发言。
而且,管理员还有发布公告,对圈子类型、基本资料进行更改的权限。
4.2.6签到挣积分
在圈子外部,用户可以针对性的对不同的兴趣圈子进行支持。
直接选择圈子列表上显示的不同圈子的支持按钮就可以增加圈子的人气指数,这是用户参与系统运行,支持系统自动按照用户好评度进行排序的重要例子。
对于用户个人,也可以通过这种签到行为显示在线时间,活跃度等信息,提升自己在圈子内部的知名度与等级。
4.2.7多功能答疑室
现阶段大多数同学面临的问题就是去上自习遇到难题不知道怎么样解决,去问老师同学又不一定很方便,因此我们决定设计这个聊天室功能。
在答疑室,计划开发出与手机客户端相对应的windows应用软件,可以方便老师使用。
当同学遇到问题,不需要向老师预约,直接通过手机客户端的答疑室功能向老师发送请求,这样老师与同学之间的联系就建立了。
对于专业的题目,存在公式录入困难,耽误时间等弊端,为此,我们可以使聊天室支持图片上传功能,对难以进行输入的公式、图片等直接进行拍照。
与此同时,其他的同学也可以登录进行查看,已解决问题将直接呈现,这样实际上相当于老师在同一时刻可以对多名同学进行辅导,大大提高了办公效率。
第5章数据描述
3.1静态数据描述
作为一款成功的手机应用软件,我们的软件不可避免的在设计过程中需要许多静态数据,或者成为静态参数,支持它的运行。
在布局文件中进行静态数据部署主要是控制布局内容以及其显示方式。
通常情况下我们在处理不同的控件时充分考虑其特性,并利用自定义方式增加人机交互的美感。
例如:
android:
id="@+id/loading"
android:
layout_width="186dp"
android:
layout_height="86dp"
android:
layout_x="88dp"
android:
layout_y="181dp"
android:
background="@drawable/bg"
android:
text="正在初始化数据..."
android:
textColor="#fff"
android:
textSize="20sp"/>
其中对一个TextView的文字颜色、宽度,高度等数据都进行了单独的设计,以期达到最好的视觉效果,增加用户体验的舒适度。
.java文件中也存在许多的静态数据,它们的作用主要是控制程序的逻辑结构、固定参数等等。
例如:
privateString[]paths={"","
这其中包括了在进行资源链接时需要的资源地址链接,都是静态的数据。
3.2动态数据描述
在一个应用系统内部,动态数据是存在于它的生命周期始终的,它是由用户、外部设备、运行环境决定的。
文本、音频、视频等
在客户端与服务器之间的通信是动态数据存在的主要形态。
在这个过程中,服务器和客户端不停地交换数据,这些数据大部分是不确定的内容,因此可以认为是动态数据传输。
当然,对于一个独立于用户的客户端,用户对客户端的操作也是很不确定的。
为了提高效率,前期设计过程中我们充分整合各个模块,最大限度提高模块之间的内内聚性,减小耦合,提高代码复用率。
输入数据:
在用户使用过程中产生的数据,即各种输入文件,包括文本,图片,音频,视频等数据。
输出数据:
用户自定义的界面,提示声音,图标等。
主要格式也是文本,图片,音频,视频等数据。
3.3数据库描述
数据库是软件生命周期中很重要的一个环节,支撑着整个软件的数据读写进程,其中的数据结构设计不仅可以简化数据库操作流程,而且有很深远的科学价值。
经过论证,我们采用性能很好的MySQL数据库系统,取得了很好的效果。
3.4数据流图(DFD)
在设计初期阶段进行数据流图的设计与规划是很必要的。
鉴于时间问题,对数据流图的书面规划采用简单易行的方法进行描述。
初始数据
请求流
返回数据
回复流
读出
写入
回复流
请求流
文件
写入
文件
3.5数据采集
由于我们的软件产品是针对智能手机设计的,因此数据的采集主要是用户在客户端通过按键或者触屏输入的过程,其中包括纯文本的输入还有多媒体音频、视频等等。
多媒体数据的输入是本地文件,比如手机储存卡里的照片等。
数据的采集在整个程序运行过程中占据很大的份额,可以说一个手机应用的运行就是客户端与外部数据不断交互的过程。
第6章性能需求
5.1时间特性
响应时间是一个软件客户体验的重要部分。
我们将重点优化客户端与服务器的通信与处理数据方法,尽量降低系统响应时间。
5.2适应性
为了使我们的软件有更加普遍的适应性,android内核版本使用2.3.3这种通用版本,满足大部分智能手机用户的运行需求
界面比例采用传统的自动检测设计,在所有的手机屏幕上都全屏显示。