需求分析:

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

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. 从入门到放弃,.net构建博客系统(一):系统构建篇

    demo:http://tonyblogs.top/ Git源码:https://github.com/Halifa/TonyBlogs 项目采用的技术有:asp.net mvc4 + autofac ...

  2. 化工厂装箱员 洛谷 p2530

    题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须 ...

  3. oracle 表空间 表权限 用户

    启动数据库命令分为三个阶段: 1.查看所有用户:select * from dba_user;select * from all_users;select * from user_users;2.查看 ...

  4. 在 Android 中如何优雅地配置私密信息

    在实际的项目开发中,经常会用到一些第三方的 SDK ,而使用这些 SDK 基本上都是需要配置 APPKEY 或 APPSECRET 等信息.此外 APP 打包时需要 KEYSTORE , STOREP ...

  5. [js高手之路]构造函数的基本特性与优缺点

    上文,通过基本的对象创建问题了解了构造函数,本文,我们接着上文继续了解构造函数的基本特性,以及优缺点. 每个对象上面都有一个constructor属性( 严格意义上来说,是原型上的,对象是通过查找到原 ...

  6. MySQL 内建函数

    日期相关 mysql> select curdate(),curtime(),now(),unix_timestamp(),week('2017-07-24'),year('2017-07-24 ...

  7. Redis入门 (CentOS7 + Redis-3.2.1)

    1. 编译安装1.1 下载redis # cd /tmp/# wget http://download.redis.io/releases/redis-3.2.1.tar.gz# tar zxvf r ...

  8. 安装zsh后出现命令行无法识别已安装的node

    安装zsh之后,在命令行输入 node -v,会出现 command not found: node. 出现原因是:使用bash输入终端指令识别得是~/.bash_profile,而安装zsh则无法识 ...

  9. malloc/free 的使用要点

    函数malloc的原型如下: void * malloc(size_t size); 用malloc申请一块长度为length的整数类型的内存,程序如下: int   *p = (int *)mall ...

  10. Java基础二

    1 关键字 定义:被java语言赋予了特殊含义的单词. 特点:关键字中的所有字母都为小写. 用于定义数据类型的关键字 class.interface.byte.short.int.long.float ...