熬夜冠军小队需求分析心得
一、团队项目信息
项目名称:纸云记单词微信小程序
指导老师:陈浩
开发小组:熬夜冠军小队
小组成员:黎欣宇、程开龙、李梦珠、彭李轶哲、唐思琳
二、需求分析:
需求分析是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。
需求分析包括功能性需求、非功能性需求。
三、理解需求:
本篇需求分析心得是对“纸云记单词微信小程序”项目的需求分析总结的心得体会。
“纸云记单词微信小程序”项目的描述为:
项目目的:
本项目的开发目的旨在为用户提供一个良好的词汇学习环境,能为用户提供听写单词并智能评分的主要服务,同时还能帮助用户管理学习计划,使得英语词汇的学习更加便捷、系统与全面。
项目目标:
项目的目标是开发纸云记单词微信小程序。基于点阵智能书写技术,将书写内容进行数字化处理,然后通过蓝牙将词汇练习册上的书写内容上传到云端,并进行智能评分。要求实现:用户注册,用户登录,制定计划,听写单词,查看听写结果,参与对战,查看积分商城等功能。
四、心得体会:
黎欣宇:
这学期才初次接触到需求分析这一术语,起初完全不知道要怎么做,好在老师给了模板,按照模板的样式开始了需求分析文档的撰写。需求分析师在软件项目中一个很重要的部分,是后序工作的依据,因此对于需求的讨论需要谨慎,明确。
第一次与项目负责的学长讨论的时候知道我们了要做的项目是什么,已经有了什么功能,我们需要做的就是开拓思维再添加一些新功能并且确定开发人员。我们组的伙伴经过了讨论和交流最终提供了几个功能,在第二次和学长会面时,汇报了我们期望的功能,学长也提出了修改意见和可行性以及难度。比如最核心的功能就是听写功能,我们还增加了听写对战功能,学长提出可以设置段位,如果对战胜利将会有一定的积分奖励,而取得一定的积分可以兑换商城中的一些奖品。再有就是新增了一些辅助的功能,例如卡通语音包,分享朋友圈,提升一些用户体验和趣味性。
在撰写需求分析报告的时候也遇到了一些问题,对于功能的描述是以文字的形式,需要把每个功能都描述清楚,其中每个功能都包括了用例图、基本流程、分支流程、数据需求,用例图是之前没有接触到过的,但通过课上的学习和自己的练习,也都渐渐掌握了。在与学长和组员们之间的交流下,顺利完成了需求文档的撰写,小组成员之间通力合作,每个人完成自己负责的部分。1.0版本的需求分析是完成了,但是后序在代码编写阶段如果出现了需求的变化,也需要对需求分析文档做出相应的改动,所以要求设计有一定的灵活性。
程开龙:
需求分析在我们项目中可谓是重中之重,我们从理解需求分析,直到终于清楚我们项目的需求,可是费了不少功夫,一直在不断调整权衡我们的需求和实现难度,就是在这样的过程中,我们对需求分析的重要性有了更深层次的认识。
首先,在我看来,需求分析的意义在于准确无歧义地表达项目最终需要交付的成品,是需要得到客户的完全认同的,我们工程的最终目的就是要做出满足客户的产品。并且,想指望需求不发生变化是不可能的,不管是开发的人还是客户,都有可能在工程的进展过程中提出变化的需求,所以我们定的不是一个恒定的需求,而是不断与客户保持认知一致的变化的需求。
因为我们的项目要与老师不断沟通需求,所以在硬性上没有实践中那么严格,有很多可以迂回调整的地方让我们自己决定。跟老师讨论的时候,我们只知道我们是要做出一个跟英语词汇听写的微信小程序。
我们在课后去查找了一些类似的APP,比较之后才知道最终成品大概是个什么样子。之后随着一次一次的找老师沟通,和组员私下讨论,不断的完善我们的需求,以及大致的分模块以及对应分工。我们讨论的起始点就是核心的听写功能,然后其他的都是围绕着这个核心展开的,一步步地分析一个完整的系统所需要的界面、功能,由此扩展了两个较为重要的功能——玩家匹配功能、积分商城功能,在讨论的过程中我们也舍弃过一些在我们能力之外或者是时间不足够去完成的功能,整体需求一直都是有着些微的调整的。
需求分析一般都会伴随着我们整个工程,只是不同时间段关注的多少会有所变化,所以需要我们认真、仔细、严谨地去对待,设计阶段的同时要考虑需求的变化性,设计的更加灵活才能够在以后需求发生变化时方便地去修改。
彭李轶哲:
现在我们接触的项目开发和大一时的程序编写最大的区别就在于项目开发需要进行详细的需求分析,大一时我们编写的程序都是针对老师为我们出的题目,题目中已经详细列出了我们需要实现的需求,而项目开发是针对一个课题或者一个方向去挖掘详细的需求,从而使得该项目能实现某些预期的功能。
我们组的项目题目是“纸云互动微信小程序”,它是一款能听写单词的小程序。该小程序已经实现的功能是基于点阵智能书写技术,将书写内容进行数字化处理,然后通过蓝牙将词汇练习册上的书写内容上传到云端,并进行智能评分。而指导老师给我们的任务就是挖掘隐藏的需求,使小程序不只有单一的单词听写功能,要使该小程序的功能更加丰富,满足用户的多样化需求,使之能成为一个上市的产品。我们组的成员基于平时使用其它APP的经验,站在用户的角度上提出了一些需求,例如单词听写对战、分享听写结果至朋友圈、听写奖励积分并使用积分兑换商品、使用卡通语音包鼓励用户。先提出这些大致需求作为功能模块,然后再仔细思考和设计每个功能模块里的具体功能。例如积分商城里应该可以查看商品的介绍、价值,然后选择兑换之后用户需要填写收货信息以便工作人员将商品寄到用户手中。设计人员一定要站在小程序用户的角度上为用户的使用提供便利,所有的需求分析都是为了满足客户的需求,这是我们应该重视的地方。在需求分析的过程中可以借助UML图来帮助我们理清思路,UML图也可以帮助我们更顺利地从需求分析走向代码实现。
总的来说,需求分析是软件计划阶段的重要活动,也是软件生存周期中的一个重要环节,该阶段是分析系统在功能上需要“实现什么”,而不是考虑如何去“实现”。需求分析的目标是把用户对待开发软件提出的“要求”或“需要”进行分析与整理,确认后形成描述完整、清晰与规范的文档,确定软件需要实现哪些功能,完成哪些工作。
李梦珠:
一. 深入理解项目
我们在进行项目的需求分析时,要了解该项目的应用行业,该行业当前的背景与项目的行业前景,要深入了解该行业的业务知识,熟悉项目在行业中的运转。每个需求都是基于场景,基于用户存在的。要了解项目的用户群体,多站在用户的角度考虑问题,得到更好的、更贴切的解决方法。
二. 与甲方进行有效沟通
多与指导老师、指导助教联系,与甲方充分沟通,反复推敲确定需求细节,综合各方的意见,确定项目需求。
三. 组员之间多沟通交流,增强团队合作能力
组员之间多沟通、多交流,增强团队合作能力,对于小组项目及时准确的表达自己的想法和建议。
四. 对需求文档的撰写有一定的经验
需求文档的撰写,要遵循规范、准确,不能出现表述不清楚,格式混乱等对于理解造成影响的错误,需求一定需要是合理的可实现的,了解每个需求对应的实现途径、难度、和大致工作量,并且能够把它以一种业务和技术人员都能无歧义理解的严谨表达方式进行描述,在需求设计的过程同时需要考虑数据库表的设计。
唐思琳:
需求分析目的在于和合作方确认需求和在确定开发过程中的过程。这样的话就能明确过程目的使得在开发过程中能保持一致性。在本次开发项目中,首先得确定有多少角色参与其中,其次就是功能分析,然后就是各种类图等的绘制。
在这个过程中,我参与了需求文档的分析和类图用例图,数据库等的设计。先说需求文档分析,在分析完角色,确定功能的情况下,才会发现各种功能的细致。光是需求确定就确定了一个多星期,项目动工之前的需求确认确实是十分重要的。其次是UML的绘制,目的在于将关系明确化。UML的绘制的话是学习了powerdesigner之后慢慢找的。在这种绘制过程中得到的过程的明确。总的来说需求文档的确定是对于开发过程明确的帮助。在确定了用例图,类图之后,对于其他图的绘制都是要看着类图中的属性和功能来确定,保证属性命名的一致性。
而对于数据库的开发,也在确定了需求和类之后变得容易起来。在绘制了类图之后,有着明确的流程,在确保各个部分的数据库一致性之后,就比较顺利的设计了出来。
总的来说在开发过程中的需求分析是明确开发目的的最重要的一点。保证了开发了过程的一致性,也远远提高了开发效率,同时让我再次熟悉了整个开发流程,意义重大。

浙公网安备 33010602011771号