需求分析:

软件的最终目的是用来解决用户的某些问题,需求分析就是要理解要解决的问题,真正明确用户需求。下面是我们初步的需求分析:

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.代码复审:各成员之间进行相互的代码交换复审,并相互提出意见进行改进。

作业2——需求分析&原型设计的更多相关文章

  1. 【集美大学1411_助教博客】团队作业2——需求分析&原型设计 成绩

    首先要向各位同学道歉,最近助教的工作较多,并且伴随着频繁的出差,评论博客和评分都不及时,以致于同学们都没有得到反馈,在此我要表示歉意.其次,对于第二次团队作业,有两个团队没有提交到班级博客中但按时完成 ...

  2. 【1414软工助教】团队作业2——需求分析&原型设计 得分榜

    题目 团队作业2--需求分析&原型设计 作业提交情况情况 本次作业所有团队都按时提交作业. 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2:单元测试 ...

  3. 团队作业2——需求分析&原型设计

    Deadline: 2017-4-14 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目包括后文的三个方面 需求分析 原型设计 编码规范 晚交 - 0分 迟交两周以上 - ...

  4. 集美大学1414-团队作业2:需求分析&原型设计分数发布

    1.评分标准 检查项 分数 编号 调研文档或截图 1 1 软件需求分析说明书 2 2  NABCD 2 3  描述每个成员具体分工 1 4  原型设计 2 5  编码规范 1 6  推广视频 1 7  ...

  5. 团队作业2:需求分析&原型设计

    Deadline: 2017-11-5  22:00PM,以博客发表日期为准.   评分基准: 按时交 - 有分,检查的项目包括后文的三个方面 需求分析 原型设计 编码规范 晚交 - 0分 迟交两周以 ...

  6. 需求分析&原型设计

    需求分析&原型设计 需求分析 访问软件项目真实用户 首先本项目的用户是这个需要做简单四则运算的用户(我们团队通过对家里有三四年级小学生(需要做简单四则运算)的简单采访):反映了几个主要的问题: ...

  7. 第七组团队项目——专业课程资源共享平台——需求分析&原型设计

    一.项目目标.定位需求: (1)目标:在教师.学生之间建立一个综合的.全面的.快捷的.高效的免费课程和学习资源共享.交流与推荐的开放性平台,实现多维和动态的推荐与分类检索服务. (2)定位:学生与教师 ...

  8. 【2017下集美大学软工1412班_助教博客】团队编程2-需求分析&原型设计团队成绩公示

    作业要求 团队作业2:需求分析&原型设计 团队评分结果 团队名称 作业标题 Total DY SM NABCD FG YX GF SP PHILOSOPHER 团队作业2--需求分析 5.5 ...

  9. 团队作业2 <嗨,你的快递!>需求分析与原型设计

    哦,不,是你的快速(*_*) 第一部分 需求分析 1.1 用户调研 1.1.1调研对象:由于我们的系统是校园快递代取业务,面向的是大学生活,所以本次调研范围都是在校大学生(除了师大学生,也包括了外校的 ...

随机推荐

  1. HDU 3682 To Be an Dream Architect:查重【三维坐标系中点在实数上的映射】

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3682 题意: 有一个n*n*n的立方体,左下角坐标为(1,1,1),接下来进行m次操作. 每个操作形如 ...

  2. AWK求和、平均值、最值

    --AWK求和.平均值.最值------------------------2014/02/14  打包当前目录下的所有文件 ls | awk '{ print "tar zcvf &quo ...

  3. Java并发工具类 - CountDownLatch

    Java并发工具类 - CountDownLatch 1.简介 CountDownLatch是Java1.5之后引入的Java并发工具类,放在java.util.concurrent包下面 http: ...

  4. MySql 使用 EF Core 2.0 CodeFirst、DbFirst、数据库迁移(Migration)介绍及示例

    dotnet core 2.0 发布已经好几天了,期间也把原来 dotnet core 1.1 的 MVC 项目升级到了 2.0,升级过程还是比较顺利的,变动也不是太多.升级的过程中也少不了 Enti ...

  5. noip提高组1999 导弹拦截

    导弹拦截 背景 实中编程者联盟为了培养技术精湛的后备人才,必须从基础题开始训练. 描述 某国为了防御敌国的导弹袭击,研发出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任 ...

  6. async简单使用

    node的异步io虽然好用,但是控制异步流程确实一个比较麻烦的事情,比如在爬虫中控制并发数量,避免并发过大导致网站宕机或被加入黑名单.因此需要一个工具来控制并发,这个工具可以自己写或者使用async( ...

  7. 【转载】由浅入深分析mybatis通过动态代理实现拦截器(插件)的原理

    转自:http://zhangbo-peipei-163-com.iteye.com/blog/2033832?utm_source=tuicool&utm_medium=referral 我 ...

  8. Python下的OpenCV学习 02 —— 图像的读取与保存

    OpenCV提供了众多对图片操作的函数,其中最基本的就是图片的读取与输出了. 一.读取图片 利用OpenCV读取一张图片是非常容易的,只需要用到 imread() 函数,打开shell或者cmd,进入 ...

  9. Akka(20): Stream:压力缓冲-Batching backpressure and buffering

    akka-stream原则上是一种推式(push-model)的数据流.push-model和pull-model的区别在于它们解决问题倾向性:push模式面向高效的数据流下游(fast-downst ...

  10. Http2改造实践:statusText丢失问题

    背景: 1.项目中的nginx由http1.1改造为http2, 2.代码中采用axios的interceptors做统一返回处理,对于系统逻辑性错误弹窗(例如:表单字段唯一性校验弹窗提示) 现象: ...