团队项目:个人博客系统——需求分析心得


在软件开发过程中,需求分析是很重要又充满风险的过程,就像一支将要远航的船队,要在指定时间内到达目录地,他们需要一条正确的航线,才能到达目的地,如果航线有误,他们将会误时到达,或是不回到原位将永远到达不了。再比如,需求是软件项目和产品的根源,如果一条河流的源头被污染了,那么整条河流也就被污染了。在一开始很有可能会误会甲方的意思,曲解需求,故而做出与甲方需求不符的产品,而且软件项目的需求充满变数,所以需要做好需求变更的处理。

总之,需求分析极为重要,要不断跟指导老师确定需求是否符合要求。为了了解系统需求,先可以从概要式的需求着手,再细化需求,需求分析必须拟定文档,总结为以下几点:

1、要做一个什么样的系统

明确要做这个系统的全称是什么。从名称中你至少会获得接下来所要做的主要功能,有时候客户会说不出叫什么名称。拟定这个后,一切才可以扩展开,比如我们做的是个人独立博客系统,我们会参考博客园、CSDN等已有的网站,分析系统构架,系统功能等。

2、需求的获取和分析---------罗列出功能性需求和非功能性需求

通过非正式访谈、采访等方法诱导客户,避免需求的模糊性和隐蔽性。我们是通过和老师交流确定面向的用户,再根据每个角色进行功能分析。比如博客系统涉及到游客、注册用户、管理员,并分析每个角色的功能和系统非功能性需求。

3、需求验证

一般需求验证的方法有:需求评审、原型法 、编写测试用例、编写用户手册、自动的一致性分析。我们组首先把需求文档1.0版本给指导老师检查,老师建议增加一个根据用户喜好自动推送博客的功能,其他功能都符合老师需要的。其次,通过墨刀APP做系统原型,发现了一些没必要的功能、界面美观和风格统一等问题并进行修改。并跟老师对需求分析不断沟通完善的过程和过程产生的结果SRS确认。

 

 

4、编写需求文档

高效的编写需求文档是尤为重要的。一般性方法是套用模板,把握三个层次SRS之间的内部逻辑关系。我们组通过原型评审之后对需求文档进行改善,使用套用模板法,用边老师提供的模板撰写需求文档2.0。在过程首先要满足SRS的一般性要求、描述语言包括自然语言、结构化的自然语言、图形化的建模语言UML当中的用例图。

另外,在课上学到的另两个个重要概念就是敏捷开发和迭代开发。

敏捷开发是多种软件开发项目管理方法的集合,是一种开发方法,紧紧围绕用户需求,以用户为导向,以快速开发,快速验证,快速修正的迭代式开发打造大量精品。敏捷开发注重点是人和人之间的交互,根据项目情况做好及时沟通和协调,针对有争议的点达成共识。体现是随时可调整开发计划,随时应对需求变更,看起来是一种无计划性和纪律性的方法,实际上是为了解决非预见性的变更做到快速的适应并给出解决方案。

迭代式开发也被称作迭代增量式开发或迭代进化式开发,是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,被称为一系列的迭代。每一次迭代都包括了定义、需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。再通过客户的反馈来细化需求,并开始新一轮的迭代。

二者区别:对需求要求不同:敏捷开发是紧紧围绕用户需求,以用户为导向,以快速开发,快速验证,快速修正的迭代式开发打造大量精品;而迭代式开发适合那些需求信息不明确的项目。

总结:

在软件开发过程中,需求分析可以说是核心任务之一,需求分析是业务和技术之间的桥梁,需求文档是一种对用户的承诺,因此需求分析人员要与客户进行有效的沟通和交流,获取准确的无二异性的需求并对此进行细化,要灵活懂得变通,需求并不是不变的。此外,PM把每项工作安排到每个成员,加强团队成员的协调管理,各成员之间也要多沟通和交流。

 

作者:姑丽加娜提

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM