这次是学校的实训,每学期在期末之后会安排各种各样的实训,比如以前有电工实训,嵌入式实训,单片机实训等等。
这次的实训是一个前后端分离的项目,我在组里担任需求分析,测试,半开发的一个定位。
额外讲解:
这个需求分析的目的,业务需求,用户需求其实都是一段话,大家可以看到相似度很高。实际上会有很大的区别的,因为用户需求的话,需要调研,用户调查问卷等等,考虑到用户的基本需求,建议,社会需求,自我实现,安全需求,其他需求等。作为一个小组实现项目,不管是目的还是业务需求,用户需求,这些本质上都是小组自己人员的需求,因为我们不仅是开发人员,也是用户。
具体功能需求这里其实可以进行细化,比如注册功能,姓名,电子邮箱,密码,确认密码,验证码,注册按钮等等,然后每个可以细化出长度,类型,备注等。
比如姓名:6-15,字符型,考虑到都是中文,数据库需要utf8m64等等。
密码需要和确认密码完全一致,6-16位,字符型,特殊符号考量等等
提交问题请求帮助的模块,提交的分类具体到报修,建议,争执处理等等。
缴费模块,支付方式具体到微信,支付宝,银行卡,信息可以看到是什么需要缴费,有存款功能的话考虑到余额显示,余额不足提示等等。
这里就不再展开了,因为需求分析在前,对于小组项目来说细化的太过于具体,反而会导致小组人员难以实现,或者是局限住了整体的一个结构,前期做出的需求分析比起实际业务肯定差距很大,这里不提及细节更多的是为了方便系统的开发灵活性,毕竟同学们和实际开发人员还是存在一定差距的,我可以畅想,但是不可能都实现。
非功能需求这里
兼容性可以加上操作系统,各个浏览器具体是什么,比如直接提几个,edge,chrome,360,火狐等等,然后每个浏览器的版本号,是否满足多个版本。这里也没有太过细化,毕竟一直换版本,甚至说换mac,ios,android,linux等系统,这些不仅麻烦,而且容易出问题,同时对于实训的项目来说太过苛刻了。
可靠性,容错性,安全性,可移植性,易用性,性能等等方面,也没有提到。
因为对于这个项目来说,服务器都是本地或者云服务器,访问人数也有限,性能问题不大,并发性需求不高,可靠性需求也不高。并且没有安装卸载,一断电断网用户都没了,容错性也只能提到而无法实现。同时对于信息安全方面也很难去进行防备,简单的XSS和SQL注入,SYN Flood什么的可以防止,但是我们能力有限,也考虑不到太多,安全方面也没有过多提到。
总体来说,是在校上课实训期间遇到的一个和我本身想从事的行业有关的实训,所以担任了相关职责之后,发一篇博客记录一下。
以下是我的需求分析xmind,也比较简单,内容比较少,因为需要考虑到短时间极少人具体实现的难度等等,所以留了很多可选,比如:车位,政务,医疗,维修人员单独出来,加上编号,订单号,租户单独出来等等。