团队作业--需求分析
需求分析前
首先,要做需求分析,这听起来是一个有些抽象的概念,在此,我们把对项目的需求按不同角度进行划分:
①信息需求
②对产品功能的需求
③对产品开发过程的需求
④安全性与完整性分析
⑤非功能需求
⑥综合需求
这样看起来还是有些笼统,进一步,从使用者、开发者的层面分析,一个项目必定有其利益相关者,我们进行了如下的提取:
①用户
②项目相关领域的监管机构
③软件工程师(软件工程师的需求体现于本篇文章的各个模块,即在平台不断运营过程中,软件工程师应得到哪些方面的技能提升?)
④竞争对手(放在竞争性分析中。)
我们下面所进行的需求分析以此来展开,通过对上面所进行的划分进行有机的结合,从不同角度来进行需求分析。
一、Why do we do this ?(信息需求)
本平台是一个以学习行为分析为核心的平台,主要是针对教育者和学者,为其提供一个集数据分析、沟通交流、数据可视化于一体的综合性多功能平台。当前时代是万众创新、大众创业的时代,目前,最炙手可热的技术不外乎人工智能和大数据技术了,本平台的实现包含了大数据技术。大多数人想去了解、学习大数据技术,但总觉得这是一个“高端、遥不可及的东西”,事实则不然,在科学面前没有什么是神秘的,当前国内的数据分析平台,如百度云计算、阿里云,一打开就是眼花缭乱的功能、满屏都贴着“购买”、“支付”字样的页面,自然使初学者望而却步。而学者、教育者呢?由于这些平台主要面向开发者,那么这类只针对某个领域的数据分析根本找不到平台去使用,这也是目前国内平台建设的弊端,绝大部分平台都只以营利为最终目标,对学术性功能不重视,而国外则不然,从codeforces、Topcoder到GitHub,各个领域都有专门针对的平台,并有各领域通用的交流平台。虽然国内也有CSDN、博客园等开放交流平台,但针对专业平台的建设不多。本平台旨在针对学生学习行为探究,来提供一个供学者、教育者通过数据分析来得到结论的平台,并实现一个通用的交流平台,以促进教育领域的发展。同时,本平台以不断改善数据的可视化效果为主要前进目标之一,致力于平台建设、平台功能扩充与完善,以真正成为一个独立的、开放的、功能卓越的数据分析平台。
二、What we need——产品功能性的需求分析(针对不同的用户类型)
目前我们的平台所考虑的用户包括两种,第一种是使用平台的普通用户,第二种是对平台进行日常维护与管理的平台运作者。
展开来说,分别分析它们对平台的不同功能需求,如下:
普通用户:
①数据分析功能(输入数据得到分析结果)
普通用户又可细分为2种:
其一,教育学者,如教师、教授等,在当前国内教育模式下,对于水平中等的学生,教师很难对他们进行区分与评价,特别是当管理的学生量增大时,更加难以对学生进行管理和关照,通过收集学生的日常数据,在本平台进行分析,可对每个同学的近期学习情况进行评价与总结,使教育者能够及时把“正在误入歧途的学生”“拉一把”。同时可以对教育方式、教育方法具有极大的参考价值,基于数据分析规律的精准治理,预测新时代教育方式应往哪些方面转变,新时代学生的学习方法存在哪些亟待解决的问题,存在哪些值得推行的方式。
其二,对于学者,可以通过总结自己最近的学习情况,通过本平台来进行分析,对自己的近期情况进行评价,来判断自己最近的状态是否正常,在不正常时可及时调整,从而避免水平下滑等。
此外,本平台输出的数据包含数据的可视化,对用户而言更加直观。
②注册 ,登录。
基本功能,在此不再赘述。
③论坛/讨论区
本平台独特的功能之一,以博客园、CSDN为灵感,致力于聚集全国各地的教育学家、学者,让他们在本平台的讨论区就分析结果进行交流、沟通,可以就教育方式、教育方法的改进进行交流与思想碰撞,并针对新时代教育方式提供自己的想法与灵感,总结分析新时代学生的学习方法存在哪些亟待解决的问题,并交流得出解决方案,以此促进国内教学方式与教育水平。
④上传数据/保存数据以及保存用户的数据分析记录
平台后期需要考虑的功能,用户可以把自己的数据保存到“云端”,以此实现数据存储和共享。
⑥意见反馈
在用户对自己的数据分析结果存在疑问时,以及对本平台的功能具有某些创新性建议时,可通过该模块发送消息给管理员,管理员在阅读后给予积极回应,对有价值的建议可与用户积极讨论,以实现平台运作的良性循环。
平台运作者:
①接收用户的反馈、及时作出回应。
主要是为了平台的良好运作以及发展考虑,通过实际用户的反馈,更能了解当前用户对本平台的体验效果如何,并且从不同的用户口中可以获取到许多有价值的意见,毕竟墨守成规、故步自封的运营者是注定失败的,作为运营者,与用户积极沟通是维持用户黏性的关键。
②平台日常维护。
主要是平台基本功能的维护,在发生一些未知异常时及时处理,尽可能提高平台的容错率,定期进行平台的“软件测试”等。
③管理用户的信息与用户权限。
主要目的是平台的安全性管理。
④论坛管理(删帖之类)
当用户多了以后难免出现一些不怀好意的使用者,比如往平台发布虚假广告、垃圾消息的不法分子,而一个良好的交流环境是应该杜绝这种现象的,因此就需要专门的管理员对论坛进行管理。
⑤控制广告接口(可以承接一些广告放置于平台的某个固定区域,可作为平台的额外收入)
这是平台在基本成长起来后考虑的功能,盈利的目的主要是由于平台的扩大,需要聘请更多的管理员,并且在计算机行业的发展过程中,技术水平与开销从来都是正相关的,要引入新的技术就意味着需要投入更多的研究经费,因此,适当的考虑平台的盈利也是必要的。
总结:
对于普通用户来说,是教育学者也好,是教师也好。他们的需求是根据分析的结果得到已有教育方式、教育方法对学生学习的影响,评估学习者的学习进展,预测未来表现,并发现潜在问题。基于数据分析规律的精准治理,来预测新时代教育方式应往哪些方面转变,新时代学生的学习方法存在哪些亟待解决的问题,以及存在哪些值得推行的方法。
独特的是我们在平台里加入一个讨论区,可供学者、教师之间进行交流,交流是非常重要的,不仅能从其他学者身上发现一些独特的教育方式,也能发现自己的教育方式存在哪些隐患。
对于管理者来说,他们的需求是保证平台能正常运作,不会出现普通用户的越权操作,当然也不能在论坛发放大量垃圾信息,此外,对于用户的意见反馈当然不能置之不理,最后,平台可以通过承接一些广告来盈利,这是我们想到的额外功能。
平台功能结构化设计图(Hipo图)
三、How to achieve——对产品开发过程的需求
在确定了我们要以网站的形式来实现对该产品的开发之后,我们认为一个高效率的小组一定具有明确的分工,按照每个组员的兴趣与特长,我们进行了如下分工:
前端 |
纪芳 & 廖文静 HTML + CSS5 + JAVASCRIPT |
后台 |
林光涵(主要部分) & 林瑞溶(辅助) PYTHON + MYSQL |
数据库 |
张泽政 & 林瑞溶 MYSQL |
算法接口 |
刘涛(主要部分) & 张泽政 (辅助) |
之后就是对这整个项目实现的过程做一个时间上的规划,我们希望这些步骤只会提前完成,而不会推迟完成。
第10周 |
刘涛、张泽政 |
完成对项目的配置,以及对spark的初步学习,数据库的初步分析 |
林光涵、林瑞溶 |
对python的学习 |
|
纪芳、廖文静 |
对网站页面的初步设计 |
|
第11-13周 |
刘涛、张泽政 |
深入学习神经网络算法以及其应用,数据库的搭建 |
林光涵、林瑞溶 |
开始用python对后台进行搭建 |
|
纪芳、廖文静 |
页面的设计 |
|
第14-周 |
刘涛、张泽政 |
实现前后台的对接,以及整合数据分析模型 |
林光涵、林瑞溶 |
||
纪芳、廖文静 |
对数据的采集,网页安全测试 |
除此之外,在开发前自然需要先确定各个模块的内部联系,以及数据流的流向,由此就需要使用到数据流图,针对平台的各个模块,绘制数据流图如下所示:
①平台顶层数据流图
在绘制完平台顶层数据流图以后,针对平台各个模块绘制1级数据流图如下:
② 论坛模块
③平台基本功能模块
④ 数据分析模块
四、安全性与完整性分析
对任何一个需要对用户身份进行验证的平台或软件,考虑平台的安全性与完整性是绝对必要的,一般来说,我们在上学期学习《计算机信息安全》时,学到了维护平台安全性和完整性的一个原则,即尽量让恶意者窃取、破坏你的安全系统所付出的代价高于或近似于他在破解成功后能得到的收获。
对于本平台来说,需要保护的安全核心就是用户信息以及用户所保存的数据信息,对此,根据信息安全方面的知识,我们知道无论从前端页面还是后台系统,都是黑客可以进行破解的主要途径,这就要求我们在编写前端页面以及后台系统时需要仔细考虑安全性,不使用存在安全隐患的代码,这个监管功能可以由我们平台的RASCI模型中的R(Responsible)角色来完成。
除此之外,数据库注入攻击也是当前的主流非法攻击手段,而我们的用户信息本身就是存放于数据库中的,因此至关重要的一点就是数据库内容的保护,而虽然我们本次使用的MY SQL轻量级数据库的安全管理功能不如MS SQL SERVER那么强大,但是也可以通过用户、角色、视图等安全对象来实现数据的保密性,初步构想是在用户注册后插入数据库的同时根据权限为其建立相应的数据库用户,并加入到已经封装好安全权限的角色中,最后为其生成一张视图,这个视图只包含用户应该能够访问的信息,以此杜绝用户的非法操作,确保数据库的安全性。
最后,系统安全从来都是一个需要不断改进甚至重构的模块,因此,每当平台取得重大突破或者发展时,就应该考虑重构和改进系统安全防护模块,保证平台始终运转于一个可靠、安全的环境下,除此之外,用户当然也更愿意去使用安全的平台,因此,通过安全系统的改进,也能进一步提升用户黏性。
五、Extra——综合需求 + 监管机构需求 + 非功能需求
把它们集成在一起,原因是我们认为这部分是对我们项目的小结与补充,是我们要考虑的东西,但不是主要考虑的东西。
综合需求:通过分析学习行为,使得大学的管理更加精准高效。数据分析结果符合事实,有较强的实际意义。
监管机构需求:获得的数据需经本人同意,不非法使用数据来源者的数据。保护用户的隐私权。
非功能性需求:学习分析软件在分析数据时必须在一定时间内返回用户查询结果。数据结果分析应以可视化方式(饼状图、折线图)反馈给学习者或教师并且系统能够通过文字方式对学习者提出适当建议。软件操作简单明了,界面简洁大方。
六、Extra Plus —— 辅助需求
为什么不把它放在“三”中呢,因为这部分是我们在对平台进行优化的时候想要去考虑的东西,很有可能无法实现,但是如果实现,将会很大程度上增加我们平台的竞争力。
1.人脸识别登录
2.限制用户输入不符合实际、“错误”的数据
3.对一些典型的异常行为进行统计并得出报表,来反馈出额外的信息给数据分析者。
七、Description——用例图
首先是用户的用例图,包含了用户使用的主要功能:
其次是平台管理员的用例图,包含了管理员使用的主要功能:
使用泳道图来描述用户的使用过程:
八、竞争性分析
关于这部分,我们在第一次团队作业中就已经写好,观看请移步:
http://www.cnblogs.com/ylemfei-7797110/p/7758044.html