试题:论需求分析方法及应用

试题:论需求分析方法及应用

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

原文地址:https://www.cnblogs.com/chenwenyin/p/12361399.html

时间: 2024-11-07 11:28:17

试题:论需求分析方法及应用的相关文章

【转】软件需求分析方法

软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的.可验证的一个基本依据. 软件需求分析是一个项目的开端,也是项目实施最重要的关键点.据有关的机构分析结果表明,我们设计的软件产品存在不完整性.不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出.因此,一个项目的成功软件需求分析是关键的一步. 一. 软件需求分析理论 如果我们用数学方法来

软件需求分析方法

软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的.可验证的一个基本依据. 软件需求分析是一个项目的开端,也是项目实施最重要的关键点.据有关的机构分析结果表明,我们设计的软件产品存在不完整性.不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出.因此,一个项目的成功软件需求分析是关键的一步. 一. 软件需求分析理论 如果我们用数学方法来

转 十道海量数据处理面试题与十个方法大总结

作者:July.youwang.yanxionglu. 时间:二零一一年三月二十六日本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题.有任何问题,欢迎随时交流.指正.出处:http://blog.csdn.net/v_JULY_v. 第一部分.十道海量数据处理面试题 1.海量日志数据,提取出某日访问百度次数最多的那个IP. 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中.注意到IP是32位的,最多有个2^32个IP.同样可以采用映射的方法,比如模1000,把整

第二节课:功能测试需求分析方法

1.功能测试.测哪些内容 2.需求文档--测试需求 1.了解需求想要做什么 要完成哪些功能模块 2.明确用户,不同用户角色的权限等 3.要完成功能,用户需要哪些步骤 分析功能步骤方法: 用思维导图 网络环境(网络中断,网络切换,丢包延迟) 服务器资源(服务器无响应,响应慢,无法连接服务器) 系统环境(被测系统文件缺失,PC或手机系统缺失必要组件.权限不足) 异常中断(断电.通话中断) 例如网易云课堂参加课程的功能

JAVA面试题:equals()方法和== 区别

http://bbs.csdn.net/topics/390000725 总结: equals在没重写之前和==一样,重写之后,equals只要内容一样即为true equals跟==一般情况下是等价的,但是对于String类型,它重写了equals方法,比较的是内容.默认情况下两个都是比较的引用地址,除非你重写equals方法. equals源码: public boolean equals(Object anObject) { if (this == anObject) { return t

十道海量数据处理面试题与十个方法大总结

1. 给定a.b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a.b文件共同的url? 方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G.所以不可能将其完全加载到内存中处理.考虑采取分而治之的方法. s 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中.这样每个小文件的大约为300M. s 遍历文件b,采取和a相同的方式将url分别存储到1000各小文件(记为).这样处理后,所有可能相同

需求分析方法

软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,并指导他们表达对软件的需求.不同的项目需要不同的手段,这一步也被称为"需求捕获",来描述真正需要的瞬间,需要依靠眼睛和灵敏的技能才能找到并抓住它们.另外很多时候用户不了解他们的确切需求,还是不想表达完整的需求,软件团队需要为了用户而自己到位,引导需求.一些要求在实施之前,没有用户清楚地表达具体需要(例如:没有用户说"我想偷食物,我可以偷别人的食物"),但是团队的成功还是可以从"用户需要与朋友玩游

为什么我反对纯算法面试题(转载)

转自:http://coolshell.cn/articles/8138.html 算法面试可能是微软搞出来的面试方法,现在很多公司都在效仿,而且我们的程序员也乐于解算法题,我个人以为,这是应试教育的毒瘤!我在<再谈“我是怎么招程序员”>中比较保守地说过,“问难的算法题并没有错,错的很多面试官只是在肤浅甚至错误地理解着面试算法题的目的.”,今天,我想加强一下这个观点——我反对纯算法题面试!(注意,我说的是纯算法题) 我再次引用我以前的一个观点—— 能解算法题并不意味着这个人就有能力就能在工作中

方法的重载

方法的重载 (overload) 1.定义 : 在同一类中,相同的方法名,不同的参数列表之间,彼此构成重载! 举例:Arrays中的sort(Xxx[] xxx) / System.out.println(Xxx xxx) 总结:"两同一不同". 一不同:①参数个数不同 ② 参数类型不同 2.方法的重载与否与方法的形参的变量名没关系!与方法是否返回值也没关系! 3.如何确定调用的是一个类的具体的哪个方法?指明方法名--->指明参数的类型 面试题:区分方法的重载(overload)