需求分析:
软件的最终目的是用来解决用户的某些问题,需求分析就是要理解要解决的问题,真正明确用户需求。下面是我们初步的需求分析:
1、访问软件项目的真实用户(至少10个),确保软件真正体现用户的需求,为软件最终可用奠定基础。
做了如上图所示的线上采访,大部分人都认为微信点名的方式不错,可以方便老师,但是也存在缺点,比如同学手机没电或者二维码扫不到,甚至有人提出没有智能机该怎么办的问题,这样的问题只能直接和老师提出,我们认为就这个问题可以做一个手动添加的功能。
2、参考《软件需求规格说明书》国标规范文本,撰写对应项目的软件需求规格说明书。提供《需求规格说明书》的Git链接。
需求规格说明书地址:https://coding.net/s/69146190-b6ac-44af-ba80-646fdc4f1674
3、NABCD 写作,视频
NABCD如下:
(1)N(Need 需求)
1.传统纸质点名存在很多缺点,比如数据丢失、多人代点。
2、老师口头点名比较耗时。
3、微信点名能够使点名更便捷更完善,避免教师手动统计,减少工作量。
(2)A(Approach,做法)
1、我们的项目主要实现:
1.1.个人微信号可与学号或工号绑定
1.2后台可生成带时效性的二维码
1.3可利用地图定位确定人员所在地点
1.4在允许定位误差范围内通过扫描生成的二维码完成签到
2、系统的设计与实现
2.1 系统开发环境
采用 PHP 语言开发公众帐号服务器接口程序,使用MySQL作为数据存储系统。
2.2 系统架构
本系统的架构主要由三个部分组成:
(1)系统是基于微信APP建立的微信公众平台,通过微信公众平台接口的开发,代码实现自定义菜单,用户可通过在手机端上下载微信APP并关注微信公众号;然后选择加入群组或者创建群组。
(2)学生通过微信公众号绑定学号后,使用微信群组里面的签到功能,扫描给出的随机二维码,可以通过拍照上传假条。教师则可以通过添加群组管理签到和请假。
(3)将数据存放于数据库中,记录学生的课堂签到情况,最后传回微信,以网页形式显示给用户。
(3)B(Benefit,好处)
微信公众平台具有很大的优势: 微信(WeChat) 是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,支持跨通信运营商、跨操作系统平台通过网络快速发送免费语音短信、视频、图片和文字。2012 年 8 月微信推出了公众平台,通过打造微信公众账号可以实现和特定群体的沟通、互动,旨在为用户提供服务。其优势特点如下:
① 小众传播,传播有效性更高
微信公众平台是通过精确查找而进行关注的。用户是真实的,更有价值的。同时,微信公众平台是一对多的传播,开发者只需要建立一套完整的系统或者是编辑一个完整的信息,便可以直达成千上万的用户手中。
②不干扰用户,用户的认可度高
微信公众平台不会产生爆炸式的信息,信息的推送更为私密,用户对信息的抓取更为主动。
③用户规模庞大
微信公众平台的建立是以微信为基础的,微信在2014年的活跃用户数就已经超过4亿,用户规模遥遥领先。
④开发成本低廉,自定义功能丰富
微信公众平台的申请和使用门槛低,高级开发模式为开发者的自定义功能设计提供无限可能。
注:这一小段微信优势引用自:这篇文章
(4)C(Competitors,竞争)
目前我们所了解的还未有实现此需求的软件,虽然这样一来看似市场潜力大,前途光明,但竞争仍然很激烈。这款产品的竞争比较少,主要的就是教师点名方式和Android的APP。
(5)D(Delivery,推广)
1.我们的平台一开始可以在集大计算机学院普及,然后在集美大学推广,之后不断的完善。
2.最后可以向各大高校进发,做宣传。
3.推广后需做进一步的调研来不断改进。
4、团队协作,加强分工,需要描述每个成员的具体分工及占整个文档任务的工作量比例。
林燕,主要负责需求分析中的NABCD模块的撰写,战整个文档的15%
代泽旭,主要负责原型设计方面,占整个文档任务的20%
林至贤 ,主要负责分工、整合各成员的文档,代码规范设定以及最后进行博客的撰写和发表,占整个文档任务的15%
王李焕,主要负责需求分析中的用户采访部分,占整个文档任务的20%
原型设计:
微信作为我们日常使用频率最高的App产品,每天的启动次数与使用时长几乎占据了使用移动终端的一半时间。传统的点名方式有较多的弊端,对于人数较多的班级,老师的点名不仅耗时,耗力,耗神,而且代替签到等作弊行为也层出不穷,老师点名的效率低,记录繁琐。 针对以上问题,结合学生日常习惯,我们以手机为工具,以微信为平台,结合网页后台的教师点名系统,以方便老师的点名,大大提高了点名效率,且自动生成相应的考勤纪律,操作简单,可用性强。 资源包括项目源代码、数据库脚本、软件开发文档。
编码规范:
(一)代码风格规范:首先要坚持代码风格的原则:简明,易读,无二义性。
1.缩进: 四个空格,不要使用tab键
2.行宽:100字符。
3.括号:在复杂的条件表达式中,用括号清楚地表示逻辑优先级。
4.断行与空白的{ }行:每个“{”和“}”都独占一行。
5.分行:不把多行语句放在一行上。
6.命名:可以用匈牙利命名法来进行命名。
7.注释:每个重要的函数、算法或是他人可能较难理解的地方进行注释
(二)代码设计规范
1.函数:绝大部分功能都在函数中实现。
2.错误处理:考虑到多种情况,按实际编写错误处理代码。特别是在参数的处理上。
3.代码复审:各成员之间进行相互的代码交换复审,并相互提出意见进行改进。