论需求分析方法及应用
需求分析是提炼、分析和仔细审查已经获取到的需求的过程。需求分析的目的是确保所有的项目干系.人(利益相关者)都理解需求的含义并找出其中的错误、遗漏或其它不足的地方。需求分析的关键在于对问题域的研究与理解。为了便于理解问题域,现代软件工程所推荐的需求分析方法是对问题域进行抽象,将其分解为若干个基本元素,然后对元素之间的关系进行建模。常见的需求分析方法包括面向对象的分析方法、面向问题域的分析方法、结构化分析方法等。而无论采用何种方法,需求分析的主要工作内容都基本相同。
请围绕“需求分析方法及应用” 论题,依次从以下三个方面进行论述。
1.简要叙述你参与管理和开发的软件系统开发项目以及你在其中所承担的主要工作。
2.概要论述需求分析工作过程所包含的主要工作内容。
3.结合你具体参与管理和开发的实际项目,说明采用了何种需求分析方法,并举例详细描述具体的需求分析过程。
摘要:
**年**月,我参与了**项目的研发,该系统主要**功能的整合。我在该项目中担任系统分析师角色,全程参与了系统整体的分析规划及设计工作。本文以该系统为例,主要论述了结构化分析方法在该系统的具体应用。通过采用数据流图描述系统的功能组成;采用状态转换图对用户的状态进行判断;采用数据字典对数据进行详细和准确的描述。通过以上技术的使用,使得需求分析的质量得到了保证,对后续项目的顺利实施提供了有力的支撑,最终项目于**年**月正式.上线,获得省移动通信公司各级领导的好评。
[注意:实际写作中相关项目情况应介绍清楚,摘要字数(包括标点符号) - -般写到300到320字]
正文:
近几年来****,随着***, ****最终决定将****,以解决****。[项目背景内容可分2段写,第1段简
要说明下项目来龙去脉]
**年**月,我所在的单位承接了**系统的研发,我在项目中担任系统分析师岗位,主要负责****。该系统****。[第2段对系统整体情况进行细致介绍,项目背景第1、2段内容可以写到400到450字]
要做好这个项目,需求分析非常关键。需求分析就是将杂乱无章的用户要求和期望转化为用户需求。那要怎么才能完成需求分析工作呢?可以通过绘制上下文范围关系图,定义系统与系统外部实体间的界限和接口,来确定需求范围;创建用户界面,帮助用户理解系统;分析需求的可行性,技术、经济、法律等;确定需求优先级,制定出系统研发的迭代计划;建立需求模型,帮助系统分析师理解系统,为软件设计提供系统的表示视图;创建数据字典以确保开发人员使用统- -的数据定义;并使用QFD将产品的特性、属性和对用户的重要性联系起来。
**项目前期,专家组会同现场运维人员对**系统做了一次性能评审,并由专家组提供性能评估报告。报告指出该省13年做过一次系统升级,现有的NG版本包括两个数据中心,各中心话单处理峰值是12亿话单量,均使用的是配置较好的小型机。通过这个报告项目团队对现场的情况有了更为详细的了解,经过项目团队主要负责人会议充分讨论后,决定在需求文档里尽量用图形来代替冗长枯燥的文字描述复杂的系统功能,最终通过评审,我们选择在需求分析时主要使用结构化分析方法,围绕数据字典建设、运用的数据流图、状态转换图来进行需求分析工作。
数据流图的运用。为了向客户清楚地描述系统的由哪些功能部分组成,我们利用DFD将离线计费系统的话单采集、预处理、话单分拣、话单查重、业务分析、批价、详单入库、分发、消费提醒几个功能模块的输入输出用一系列的处理连接起来,用图形符号准确地描述系统内各功能部件及数据在它们之间的传递情况,简明易懂。再利用DFD分别对采集、解码、话单分拣、话单查重、业务分析、批价、详单入库、分发、信控等功能模块进行分解,使得整个计费系统的复杂处理过程得以采用图形化的方式来描述,减少了大量篇幅的文字描述,使需求分析文档看.上去非常简洁。同样我们用数据流图将在线计费、内容计费、账务处理、产品管理、信控管理等系统进行了分解描述。使得整个需求文档看.上去更清晰,尽量避免让客户去看哪些枯燥冗长的文章,让即使是不懂技术的客户看完这些图,也能理解系统的数据处理过程。
状态转换图的运用。DFD仅仅描述了系统的功能组成部分及功能间了联系,而系统运行过程中需要对用户的状态做大量的判断,如用户的余额情况、用户的套餐情况、用户星级、停开机状态等。这些状态判断靠事件驱动,为将这些状态描述清楚,我们在需求分析过程中还使用了状态转换图。STD 描述了系统如何在各种状态之间移动,如用户订购了A套餐且产生了相应的话单,系统在分析时需要根据话单的属性将用户使用到的A套餐产品解析出来,批价的时候才能匹配到A套餐产品进行计费。而当用户订购的A套餐已经耗尽,系统分析时就会转到基础套餐产品。通过使用STD,能清楚地描述了用户的状态转换过程,选择合理的输出。计费系统的过程非常复杂,需要分析判断的用户状态非常多。
数据字典的运用。数据字典是结构化分析方法的核心,数据字典完成了DFD对数据详细内容无法具体、准确的描述,是对DFD的强力的补充。Veris Billing6.0项目数据结构的非常复杂,数据字典的设计要求非常高。包括系统域,产品域,资费域,控制域共涉及数据表670张。为了保障数据字典完整性和一致性,我安排了专门的数据库管理员对数据字典进行管理,项目团队任何人要调整数据字典都必须交由该专人进行调整,并且对所有的变更都必须有项目经理签字,变更记录必须邮件及时发送给其他团队负责人及本组成员。为保障后续的数据割接工作不出现问题,数据字典的设计必须考虑OpenBillingNG版系统的实际情况,为此,特地安排了2名现场维护人员参与数据数据字典设计并负责后期的数据割接工作;一方面方便交流,另一方面可以充分考虑现场的实际情况并为后期的数据割接做足准备。
通过使用结构化分析方法,使得需求分析工作完成得非常顺利,需求分析的质量得到了保证,对后续项目的顺利实施提供了有力的支撑。项目于**年**月完成割接上线,在生产环境运行了半年,各项性能指标达到客户要求,并经受住了五一节假日和国庆黄金周的检验,话单积压的问题得到解决,最终通过用户的验收,项目获得了该省移动通信公司领导的好评。
在项目结束后的讨论会上,大家也指出了项目中存在一-些不足,如云详单功能模块在性能上没有达到预期的目标,导致客户的详单查询效率低下,. 上线后又经过几轮的优化处理,才在性能上满足客户需求。另外,外围系统在抽取详单数据时需要研发专门的接口,维护难度增大。为此,我们不得不在项目后期又花费精力为现场运维人员开发了一款辅助产品,使现场运维人员能用图形化界面通过简单的配置即可生成相应的接口脚本。总的来说,这些问题主要还是需求分析时对云详单功能模块的考虑不够透彻,测试工作没有做彻底,埋下的隐患。所以,在以后的项目里,需求分析质量得到保障的情况,还要把控好测试质量,把握好系统实施的每个细节。