需求分析:

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

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. MySQL grant命令使用

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant sele ...

  2. 浅析MySQL中的Index Condition Pushdown (ICP 索引条件下推)和Multi-Range Read(MRR 索引多范围查找)查询优化

    本文出处:http://www.cnblogs.com/wy123/p/7374078.html(保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误 ...

  3. Hibernate(一)

    1.1Hibernate框架概述 1.1.1什么是Hibernate? Hibernate是轻量级JavaEE应用的持久层解决方案,是一个关系数据库ORM框架. ORM就是通过将Java对象映射到数据 ...

  4. 剑指OFFER——调整数组顺序使奇数位于偶数前面

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 剑指offer书里的版本, ...

  5. Matlab学习笔记(1)

    在帮助文档中查看学习视频的时候.出现以下对话框,不能查看 解决办法:   在系统环境变量中找到Path.添加“%SystemRoot%\system32;%SystemRoot%;%SystemRoo ...

  6. rtems在mini2440上的移植(ubuntu)

    第一步 建立编译环境,rtems的编译环境需要使用newlib的库,所以ubuntu自带的gcc是不可以的,我是参照下面的博客才编译成功的,之前走了好多弯路. http://blog.sina.com ...

  7. Linux学习总结(九)—— CentOS常用软件安装:中文输入法、Chrome

    中文输入法 切换到root用户,运行以下命令: yum install "@Chinese Support" 按照提示,一路Yes等待安装完成.安装完成后点击左上角System - ...

  8. WebClient 调用api

    使用: /// <summary> /// 获取用户信息 /// </summary> /// <param name="code"></ ...

  9. ReactiveSwift源码解析(十二) MutableProperty基本代码实现

    前两篇博客我们分别聊了ReactiveSwift框架中的负责标记对象的生命周期的类Lifetime以及负责原子性操作的Atomic类的具体代码实现.前两篇博客之所以聊Lifetime以及Atomic的 ...

  10. 利用GPU实现翻页效果

    0x00 前言 有一段时间没有更新博客了,在考虑写点什么的时候正好赶上了这个月我的书<Unity 3D脚本编程>又加印了.因此写篇小文聊聊利用shader来实现翻书的效果吧. 虽然本文是这 ...