项目第一次迭代已经进入了尾声,在我们小组刚确定这个项目的时候,花了两个周的时间来确定项目的需求。以下是我们在进行需求分析的一些心得。
需求分析过程:
(1) 小组内部进行讨论:在进行团队项目开发之初,我们在需求分析还有数据库设计上花了很多时间,首先是进行多次需求分析的团队会议,小组人员各抒己见,最终得出了需求设计的第一个版本。我们所做的项目是基于深度学习来预测时间序列系统,我们首先分析了我们项目所服务的用户,用户可以来自各个领域,现阶段社会人工智能的蓬勃发展,许多AI网站也脱颖而出,而我们所做的只是其他网站能实现的一小部分。可能使用我们系统的用户可能是预测股市涨跌情况的股民,也可能是用来预测某一房地产企业价格的买房用户,也有可能是食堂阿姨用来预测明天所做包子的数量。我们考虑了很多种情形,也为不同情形的用户制定了不同的系统使用方案,对于普通的用户,可能只需要上传数据集进行训练,我们给出预测的数据。而对于一个程序员,我们也可以提供一个接口,让其能在自己的程序中使用到我们的模型进行训练。并且对于不同的访问网站的用户也制定了不同的使用功能的权限,如游客只能使用我们首页上所拥有的部分功能,而注册了的用户拥有开发者中心中的所有功能。对于所有可能存在的用户,我们也制定了所有用户所可能使用的功能。
(2) 项目导师的指导:我们在设计完需求文档之后,找老师进行了讨论,老师也对于我们所做的需求分析进行了指导,给我们提出了许多宝贵的建议,如我们可以主要确定我们时间预测所服务的主要对象,然后可以在实现这个主要用户需求之后进行衍生,导师提出的主要是对股市涨跌情况进行预测,并且也给了我们许多渠道去学习金融方面的知识。
(3) 小组再次讨论:在获取了老师的一些宝贵意见下,我们小组又进行了一次会议的讨论,用于改进需求文档以及新的分析,最终确定了我们项目的需求分析。
需求分析心得:
通过此次的项目需求分析,我们小组在对于一个新项目的需求分析过程有了更加深入的了解,在进行需求分析时,我们不仅要站在程序员的角度去考虑软件质量,也要站在用户的角度进行考虑,用户需要什么,用户可能会怎样去做,软件怎么做才能使得用户方便快捷,我们所做出来的东西和市场上已经存在的相似的东西的可比性在哪儿,用户怎样才能摒弃其他相似软件而使用我们的系统,这些都是我们小组在讨论时所想到的内容。并且此次需求分析,也让我们明白了拿到一个新项目,程序员应当从哪些方面进行系统的分析。并且,团队的力量是巨大的,此次需求分析,小组人员各抒己见,团结合作,勇于提出自己的看法,激烈讨论,这些都是我们从此次项目需求分析所收获到的。希望再接再厉,在接下来的项目实现中做到更好。