作业2——需求分析&原型设计
需求分析:
软件的最终目的是用来解决用户的某些问题,需求分析就是要理解要解决的问题,真正明确用户需求。下面是我们初步的需求分析:
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——需求分析&原型设计的更多相关文章
- 【集美大学1411_助教博客】团队作业2——需求分析&原型设计 成绩
首先要向各位同学道歉,最近助教的工作较多,并且伴随着频繁的出差,评论博客和评分都不及时,以致于同学们都没有得到反馈,在此我要表示歉意.其次,对于第二次团队作业,有两个团队没有提交到班级博客中但按时完成 ...
- 【1414软工助教】团队作业2——需求分析&原型设计 得分榜
题目 团队作业2--需求分析&原型设计 作业提交情况情况 本次作业所有团队都按时提交作业. 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2:单元测试 ...
- 团队作业2——需求分析&原型设计
Deadline: 2017-4-14 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目包括后文的三个方面 需求分析 原型设计 编码规范 晚交 - 0分 迟交两周以上 - ...
- 集美大学1414-团队作业2:需求分析&原型设计分数发布
1.评分标准 检查项 分数 编号 调研文档或截图 1 1 软件需求分析说明书 2 2 NABCD 2 3 描述每个成员具体分工 1 4 原型设计 2 5 编码规范 1 6 推广视频 1 7 ...
- 团队作业2:需求分析&原型设计
Deadline: 2017-11-5 22:00PM,以博客发表日期为准. 评分基准: 按时交 - 有分,检查的项目包括后文的三个方面 需求分析 原型设计 编码规范 晚交 - 0分 迟交两周以 ...
- 需求分析&原型设计
需求分析&原型设计 需求分析 访问软件项目真实用户 首先本项目的用户是这个需要做简单四则运算的用户(我们团队通过对家里有三四年级小学生(需要做简单四则运算)的简单采访):反映了几个主要的问题: ...
- 第七组团队项目——专业课程资源共享平台——需求分析&原型设计
一.项目目标.定位需求: (1)目标:在教师.学生之间建立一个综合的.全面的.快捷的.高效的免费课程和学习资源共享.交流与推荐的开放性平台,实现多维和动态的推荐与分类检索服务. (2)定位:学生与教师 ...
- 【2017下集美大学软工1412班_助教博客】团队编程2-需求分析&原型设计团队成绩公示
作业要求 团队作业2:需求分析&原型设计 团队评分结果 团队名称 作业标题 Total DY SM NABCD FG YX GF SP PHILOSOPHER 团队作业2--需求分析 5.5 ...
- 团队作业2 <嗨,你的快递!>需求分析与原型设计
哦,不,是你的快速(*_*) 第一部分 需求分析 1.1 用户调研 1.1.1调研对象:由于我们的系统是校园快递代取业务,面向的是大学生活,所以本次调研范围都是在校大学生(除了师大学生,也包括了外校的 ...
随机推荐
- python_求相邻数
什么是相邻数? 比如5,相邻数为4和6,和5相差1的数,连续相差为1的一组数 需求: 遍历inputList 所有数字,取出所有数字,判断是否有相邻数, 不相邻数字 和 相邻数字 都以 “数组”形式 ...
- shell编程之数组
bash 编程只支持一维数组,不支持多维,类似c语言,数组下标从0开始,下标可以是整数,也可以是表达式 数组的定义 在shell中用括号来表示数组,中间用空格来隔开 主要有两种种定义形式: arr=( ...
- 一步一步学J2SE-ConcurrentHashMap原理
ConcurrentHshMap的数据结构是由一个Segment数组和多个HashEntry数组组成,在Segement数组中包含了HashEntry数组.数据结构如下图所示: Segement数组的 ...
- 谈谈php依赖注入和控制反转
要想理解php依赖注入和控制反转两个概念,就必须搞清楚如下的问题: DI--Dependency Injection 依赖注入 IoC--Inversion of Control 控制反转 1. ...
- CentOS下安装JDK7
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html 1. 安 ...
- jenkins 邮件添加附件
背景 当CI执行失败的时候,想获取到失败的用例,然后在本地调试,testNG是自带一个testng-failed.xml来记录的: 想法:尝试使用git 来push这个文件到远程仓库,然后本地pull ...
- 使用 Gitbook 打造你的电子书
本文详细讲解了 Gitbook 生成电子书的完整过程,内容包括:安装.命令.配置.文档结构.生成电子书.部署. 限于篇幅,本文不介绍任何 Gitbook 定制化页面的内容. 想看看 Gitbook 在 ...
- 高效使用 Python 可视化工具 Matplotlib
Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型的2D图表和一些基本的3D图表.本文主要介绍了在学习Matplotlib时面临的一些挑战,为什么要使用Matplo ...
- Form表单提交,Ajax请求,$http请求的区别
做过前端同学想必都避免不了要和后台server打交道.而以下这三种与后台交互的方式想必大家都不陌生. Form表单提交,Ajax请求,Angular的$http请求 以前一直搞不清楚什么时候应该用哪种 ...
- python+selenium自动化软件测试(第4章):场景判断与封装
4.1 显示等待WebDriverWait 前言:在脚本中加入太多的sleep后会影响脚本的执行速度,虽然implicitly_wait()这种隐式等待在一定程度上节省了很多时间.但是一旦页面上某些j ...