细谈软件需求分析过程

软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,管理软件需求分析尤其如此。

软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理问题。

按照软件工程对软件开发过程的描述,需求阶段我们可以细分为需求调研和需求分析两个小阶段,需求调研需要充分细致的了解客户目标,用户业务内容、流程等,这是一个对需求的采集过程,是进行需求分析的基础准备。当我们已经了解、理解了用户的业务,于是可以开始分析需求了。软件系统的需求分析可以由产品工程师或系统分析员或两者分阶段合作完成全部的需求分析工作。

一、 提取出核心、主要、急迫的业务,明晰业务流程

通过需求调研,我们会发现用户各方面的业务很多,从大处着眼,包括用户的各种业务项目、业务流程,再明细到业务过程的每一个单据,每一条记录,如生产过程中每一个环节的记录,办公中的每一个通知,甚至包括文件报刊的收发,计划生育指标统计等等。如此繁杂的各类业务,我们从何下手?这时需要我们回头去查看软件的项目规格说明书,再次温故客户对软件项目或产品的最初提出的需求目标和范围,我们的软件主要是为用户解决什么样的问题。从众多的业务中提取出用户核心的、主要的、急需的业务,这些是我们软件需求主要关心所在。写一篇文章需要重点突出,主次分明,我以为规划一个软件产品也是同理。

从用户繁杂的业务中进行业务、业务流程的提取,把那些分布在各个部门的同一种业务提取出来。比如物资的管理,涉及到生产部门的需用计划,汇总到物资部门的采购计划,计划的审批,采购合同,物资采购,物资部门的收发存业务,生产部门的物资领用消耗等等,我门需要分析用户的这个业务流程中哪些是系统能帮助管理的,哪些是要在系统外处理的,充分分析了用户现有的业务和业务流程,我们进入下一步骤。

二、 运用管理思想,优化业务流程

我们提供的是管理软件产品,要帮助用户解决的是管理问题,那么用户是这样的业务流程,就需要我们分析这样的流程合理吗,还有缺陷吗,怎样做能提高效率、解决问题,可以运用更先进的管理思想吗……。一般情况下,我们需要从两个方面考虑业务流程的优化。一是我们采用了网络计算机这些新的技术手段,较之原先手工、电话等方式在信息的传递、信息的共享、数据的处理等方面将会带来新的方式,必将改变原有的业务流程。另一方面就是我们根据对用户业务的理解,考虑是否可以运用先进的管理思想,比如MRPII、ERP、SCM、CRM、JIT、EIA、E-Business等等管理模型,进行现有业务流程的重组或优化。当然一旦牵涉到业务流程的修改一定要与客户的中高层管理者进行充分的沟通,只有客户认同方可确定,因为这一定会在软件实施时需要相应的管理制度配套执行。

三、 进行业务分类,规划系统蓝图

以上都明确了以后,我们可以描绘系统蓝图了。系统有几个子系统,每个子系统有哪些模块,各个模块处理哪些业务,很重要的一点还有各子系统模块之间的数据接口关系,基础数据从哪里进入,通过哪些处理生成哪些结果等等。这个过程需要整理、抽象用户业务,规划软件实现,规划软件系统模块间的逻辑关系。因为系统的页面实现是按照系统模块的规划,所以应尽量采用用户易理解、熟悉的方式、词语进行模块的描述。

例如ERP系统中的物资管理子系统,首先明确这个子系统是ERP系统中进行物资相关的业务处理系统,同时它为主生产系统、成本管理子系统提供生产物资供应、领用消耗核算等的数据支持。因此在规划子系统模块时,按照业务过程模型,应包含物资需用计划、物资采购计划、出入库管理、库存管理等主要业务模块,再考虑软件运行必须的初始数据设置,增加一个基础信息维护模块(包括物资大类、物资编码等信息维护),还有考虑到不同用户对此系统的不同需求,如更多的生产人员、管理人员的需求,再单独增加一个综合查询和分析模块。另外还有与物资采购相关的业务如采购合同,可以放到合同管理子系统统一考虑,这里只做查询。这样规划出了软件系统对物资管理业务的处理,检查一下是否包含了物资管理中所有核心、主要的业务,这时我们发现还有比如物资采购、验收、盘库等业务还是需要物资管理业务人员来完成,系统可以做到的就是记录结果。软件系统是管理的辅助系统,不能完全代替人的所有工作。管理软件再加上管理制度、业务人员的操作才构成一套完整的管理体系。

四、 详细描述软件功能点

规划出了软件的功能模块,只是软件的功能框架结构,下一步就需要明确描述每个模块的具体内容了。包含什么内容、能做什么操作,每一个功能点的说明、优先级、业务规则、详细功能描述等等。这些也是软件需求规格必须描述的内容。

需求分析的表现方式,我们现在采用需求规格文档,UML语言描述的用例图、类图、活动图,还有实体关系图、界面原型等等,从不同角度、不同需求描述规划出的软件全貌。

五、 需求分析的质量控制

软件需求分析直接关系到软件产品的方向,所以需求分析的质量至关重要。对于这个关键点的质量控制,则可以通过内部评审和同行评审的方式,然后是客户方的评审。项目组内部评审或同行评审主要是根据公司规范和评审人员本身的经验对需求分析中不明确、不合理、不符合逻辑、不符合规范的地方予以指正。而客户的评审主要是对描述的软件实现是否真正符合他们的需求,能否帮助他们解决问题等方面作出评定。

软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,管理软件需求分析尤其如此。

时间: 2024-09-17 04:22:38

细谈软件需求分析过程的相关文章

《挖掘管理价值:企业软件项目管理实战》一2.3 需求分析过程

2.3 需求分析过程 挖掘管理价值:企业软件项目管理实战 需求是软件的重要部分,好比是发动机离开了汽油不能运行一样.没有需求就没有软件存在的价值,没有需求就不可能让计算机完成人所需要做的事情.可以说需求是软件的基石或土壤,就算是一样的需求,因为对其不同的理解和解释,也会开发出迥异的软件.这就好比,相同的种子在不同的气候和种植方法下,长出来的果实也是有差异的. 2.3.1 需求的特点 普遍的需求都会符合以下的特点,有些比较明显,有些则比较模糊. 目的性.有明显的要求,希望得到什么,不是模棱两可的.

从一个圈套For循环来谈软件设计[原创]

设计|循环|原创 从一个圈套For循环来谈软件设计 武汉华中师范大学信管系 谢刚 摘要:就自己的一次实际经历来谈谈软件设计过程中应该注意的一些细节 关键字:软件设计 需求分析      前段时间,跟外面公司设计一个MIS系统(使用工具是PB8.0+MSSQL),是一个关于安全生产的.为了体现我们设计人员的高质量服务,我在<需求说明>之外又帮他们设计了一个功能,就是:在每次这个功能窗口打开时,到数据库中去自动检测看看有没有冲突数据:也就是说,两个一模一样的器材是否被安装了到了两个不同的机器上.这

浅谈软件项目管理环境下的质量管理

浅谈软件项目管理环境下的质量管理 摘要:软件项目管理是为了使软件项目能够按照预定的成本.进度.质量顺利完成,而对成本.人员.进度.质量.风险等进行分析和管理的活动.软件项目的质量管理就是产出的软件,满足客户明确需求.隐含需求的能力的所有特性.在现实生活中,监控所有对质量有影响的关键点,采用有效的测量手段来管理软件的质量,从而实现软件项目的"高"质量.使软件项目管理较之其他项目管理而言有其特殊性.采用CMM标准可以确保软件项目的质量,CMM是美国卡纳基梅隆大学软件工程研究所提出的软件研发

热门不可怕:细谈热门关键词的四种优势

在做SEO的过程中,看到很多朋友越来越倾向长尾关键词,越来越意识到了长尾关键词的力量,我本人也是如此,但是这并不代表做站需要丢弃热门关键词.热门关键词作为流量的主要入口,依旧有非常重要的意义.今天和大家谈谈我的体会,细谈热门关键词的四种优势. 热门关键词总体的特点是检索量高.优化难度大.转化率低并需较多资源.所以摆在个人站长面前,热门关键词显得有些棘手.很多索性放弃热门词,主攻长尾和利基市场.但从另外一个方面来说,这些看似是劣势的特点也正是它们的优势所在.本文就从几个方面一一细谈,如有不对,请多

软件工程之需求分析过程介绍

软件需求工程过程(SREP),本文简要地列举并说明了在整个软件需求工程的过程中的工作职责要点. 一. 开始 1. 项目经理根据项目特点,指定对过程表格的具体要求: 2. 项目经理制订项目的标准,包括:DTS(缺陷类型).TRA(风险类型).TRS(需求类型)等,在过程表格中按标准引用. 二. 计划 1. 计划经理估算需求开发时间: 2. 计划经理完成:SPT(进度计划).TPT(任务计划),将计划数据录入PDS(项目计划摘要). 三. 需求获取 1. 软件需求工程师搜集系统概要信息,填写REQ(

细谈 oracle备份的方法

细谈 oracle备份的方法 [内容导航] 第1页:了解ORACLE的运行方式 第2页:ORACLE备份的分类 第3页:定制恰当的备份策略 [IT168 服务器学院]一.了解备份的重要性  可以说,从计算机系统出世的那天起,就有了备份这个概念,计算机以其强大的速度处理能力,取代了很多人为的工作,但是,往往很多时候,它又是那么弱不禁风,主板上的芯片.主板电路.内存.电源等任何一项不能正常工作,都会导致计算机系统不能正常工作.当然,这些损坏可以修复,不会导致应用和数据的损坏.但是,如果计算机的硬盘损

浅谈软件验收测试

随着信息化的全面实施,软件业正迅速发展,软件的应用已渗透到各行各业,软件质量也越来越受到关注,本文将结合全面质量管理思想,谈谈软件质量保障交付阶段的安全锁-软件验收测试. 如同任何产品离不开质量检验一样,软件验收测试是在软件投入运行前,对软件需求分析.设计规格说明和编码实现的最终审定,在软件生存期中占据着非常突出的重要位置.正如山东省软件评测中心韩庆良主任所说:"验收测试,让软件隐形质量可视化." 软件验收测试概念:软件验收测试,让系统用户决定是否接收系统,是一项确定产品是否能够满足合

浅谈软件项目管理之测试

笔者从事软件行业相关工作将近十年,其中与测试相关时间有7年之久,现浅谈软件项目管理中测试的必要性,供大家参考. 一.测试的必要性 为什么需要测试,那是因为由于分工的精细化,软件开发必须经历客户.需求.设计.开发多个环节.为了保证最终的结果符合要求,上下游是需要确认的. 用户告诉我们:我需要什么?软件企业需要在理解正确.表达正确的情况下完成需求规则说明书,把客户的原始需求转变为IT需求,表达出能够提供什么 需求的下一环节是设计,设计主要是要要说清楚:我要让软件做什么.需要与前一环节确认理解正确了.

站长总结:八个方面细谈网站易用性(二)

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 通过上篇文章<站长总结:八个方面细谈网站易用性(一) >,分别和大家从网页容易阅读.网站兼容性.无效链接.清晰导航等四个方面和大家分享易用性网站需要注意的事项,今天把剩余的几点给大家分享完. 第五.页面常见问题:页面常见问题看似可有可无,但对于访问者而言却是很重要的一环.虽然产品都有各种文字说明和文案,但总有些问题会困扰用户.所以