`
kennyluo
  • 浏览: 81902 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

{转载}论软件需求分析方法和工具的选用

阅读更多
【摘要】
  本文以某个IT产品销售公司的信息系统项目的开发为背景,讨论了一个信息系统需求分析的整个过程,其重要特征是:所涉及的项目是原有系统的一个升级替换版本。因此,需求分析过程不同于建立一个全新的系统,大体上可分为三个阶段:()实施逆向工程获得对系统的初步了解;(2)在第1步的基础上写出基本需求,交由客户评审补充;(3)在第2步的基础上开发原型,利用原型与客户交流,最终获得基线需求。针对上述三个阶段,本文论述了所使用的分析方法与工具以及所遇到过的一些典型问题和措施,最后对需求分析中使用的工具,谈一些自己的初步体会。

【正文】
  我于1998年8月至2000年7月参加了某个大型集团的企业信息系统的开发工作,该大型集团的业务主要涉及到IT类产品的进销存。本人在项目中负责系统分析的工作,该集团企业原先已委托某个电脑公司开发过一套IT类产品管理系统,但是该老系统存在两个主要的问题:(一)系统运行速度非常慢,如商品销售开单时,从确定开单到开单完成有时需要1~2分钟左右的响应时间,让客户无法忍受。(二)系统数据不准确,经常出现实物库存与电脑库存严重不相匹配的情况,使销售数据的统计产生一些混乱,有关财务的数据因此无法有效使用,只能采用人工录入方式补充进行。在这种情况下,该集团的总经理决定参考原有系统重新开发一个系统,以便解决原系统所存在的上述两个难以克服的难题。注;原系统采用PB6.5开发,数据库采用SYBASE,服务器采用Windows2000Server,客户端采用Windows 98,程序架构采用的是传统的C/S结构。

  鉴于该集团业务操作复杂,流程多,涉及人员多等特点,以及项目完成时间短,经费有限,人员有限等限制约束条件,再考虑到必须避免前一系统出现过的结构混乱与难于维护等问题,我们决定要对原系统的需求做一个比较彻底的和切实可行的分析,由于原有系统已经开发了近两年,并且客户也有了一定的使用经验,业务基本流程本身也并没有太大的变化,因此,我们把需求分析的过程分为三步:()分析原有系统的结构,主要是数据库结构和程序结构,(2)在获得第(1)步结果的基础上写出基本需求,交由客户评审补充,(3)在第(2)步的基础上开发原型,利用此原型与客户交流,从而获得最终可用的需求结果。下面按上述三步分别加以论述。

  第一步是实施逆向工程,获取原有系统的基本需求

  由于原有系统在功能上大体上能基本满足客户的需求,并且在两年多的开发中也积累了不少经验,因此,从中可以获得一些有益的参考,也可以避免多走弯路。在这一阶段,我们采用的主要工具是PB自带的Power Designer和PB Documents;前者主要用来分析数据库结构,后者主要用来分析程序结构,便于开发人员与高级用户理解程序。采用这两个工具的原因是:原系统过于庞大,模块多,数据库模式多,表格量很大,仅靠人工的方法很难从中获得一个比较完整的、明确的系统结构以及整体构成,而且原有系统未能提供一套正确完整有效的设计文档,于是我们只能依靠工具辅助来进行。在使用Power Designer分析数据库,并且用PB Documents分析原程序中的PBL以后,我们对原系统的结构有了一个初步的了解,再结合对原系统的使用,基本明确了功能与流程的需求,并在此基础上用人工录入方式,产生了初步需求的自然语言文档。这里指出,使用Power Designer的一个不足之处是:如果一个表中的字段过多,而且又同时依赖多个表时,输出的表格相关图形很复杂,有很多交叉,且难于调整,不方便阅读及打印。

  第二步是在第一步的基础上进行的,即写出系统基本需求,交由客户评审和补充

  通过第一步的逆向工程,我们获得了系统的基本需求。为了充分记录需求的变化及需求之间的依赖关系,我们决定选用Rational公司的Requisite PRO作为我们的需求管理工具,Rational公司有一整套用于需求管理的工具,功能非常强大,包括Requisite Pro、Clear Quest等等,这些需求分析工具可以对需求进行全面的管理,包括记录需求的变化情况,需求之间的依赖关系等等。但是,我们考虑到Rational的一套工具全面实施会非常昂贵与复杂,需要非常强的项目管理能力才能全面实施,因此,我们只采用了其中最简单的一部分功能,那就是记录需求变更,记录需求之间的依赖关系,其他跟RUP有关的功能都给略去了。之所以这样做,主要是考虑到项目的经费、人力以及国内软件开发的实际情况。正如前面所说,我们根据自己的理解并写出基本需求后,交由客户做评审井做适当补充,我们将经过补充整理后的需求作为正式需求记录入Requisite Pro所维护的数据库中,并对各个需求进行分类,设定优先级等,这些工作完成后,就可以从数据库中直观地了解客户到现在为止提出了哪些需求,哪些需求是必须优先考虑的,哪些是难度较大的等等。在这个过程中,我们遇到了一些问题,譬如:用户对我们用自然语言书写的需求文档有许多地方不理解,往往在花了较长时间阅读之后,仍不明白我们所描写的需求过程与他们所完成的业务之间的对应关系;另外是由于首次采用Requisite Pro进行需求管理,在类型划分,属性值的确定上,部分开发人员没有经验,造成了不少反复,对于前者,我们的方法是想办法增加一些示意图,将大的流程分解为小流程,再与客户反复交流与沟通,最终达到双方理解一致的目的。对第二个问题,则参考了一些例子,再结合实际中属性的使用情况,给予取舍或者选择,经过这一阶段的工作,我们建立了基本的需求库,定出了基本需求规格说明。

  第三步则是在第二步的基础上建立起原型,利用原型与客户进行更深入的交流,通过交流修改相应的需求

  在这一阶段的工作是在对第二步任务进行报告交流的基础上进行的。我们用PB开发了一个原型系统,就具体的业务流程与客户进行交流与沟通,通过原型,客户发现了许多我们与他们的理解相互不协调的地方,我们在修改需求的同时,也在Requisite Pro需求数据库中记录下修改的历史。事实证明,这种记录历史的作用是很有效的,如曾经有客户在两个不同的时间对同一需求提了相反的需求,我们根据历史记录很快证实了该客户的提法有错误,在事实面前无需再作争论,同时利用Requisite Pro,我们还发现了一些需求相互之间有矛盾。经过这一阶段工作,我们终于获得了经过用户认可的需求基线,即是可用于下一步进行详细设计的基线需求。

  在这个项目中,我们利用了Power Designer、PB Documents等逆向工程分析工具和Requisite Pro需求管理工具,这些工具的使用,使我们提高了工作效率,起到了一定的辅助作用。但是,就需求分析工具方面而言。我们觉得国内应用得还是太少了,这一方面是因为对需求分析不够重视,另一方面是因为管理水平还达不到相应的层次。Rational公司的一整套需求分析工具,其功能是非常强大的,国外已在普遍地使用,在国内也逐渐开始普及,特别是那些通过CMM二级以上评审的单位,都必须使用工具对需求进行管理。在本项目中,我们仅仅利用了Requisite Pro功能的一些小方面,已经体会到该工具对于项目管理的诸多好处。如果一个有实力的公司能够全面实施RUP,那么需求管理这个老大难的问题会变得不再那么棘手了,项目的质量也会得到相应的提高。目前国内由于CMM热潮的兴起,已经逐渐重视需求分析,也逐渐使用需求分析工具,这是非常可喜的,当然,更希望在不久的将来,能用上国产的需求分析工具,那时我们的软件产业也许会真正地腾飞了。

  评注;采用逆向工具进行再工程的应用很多,本文给出了一个实际的例子。写作有条理,也很实际。合理地界定了需求分析的现实水平。所采用的需求分析的方法与工具相对较合理科学。能在对项目讨论的同时抒发议论、使用体会、爱国心和事业心。深度还可以提高,例子宜更加丰富一些。
分享到:
评论

相关推荐

    论软件需求分析方法和工具的选用

    《论软件需求分析方法和工具的选用》这篇文章探讨了在一个IT产品销售公司的信息系统项目开发过程中,如何有效地进行需求分析。由于项目是对已有系统的升级替换,因此需求分析过程不同于从零开始构建新系统,而是分为...

    03 论软件需求分析方法和工具的选用——通信行业的应用.doc

    《03 论软件需求分析方法和工具的选用——通信行业的应用》 本文主要探讨了在通信行业背景下,如何选择和应用软件需求分析方法和工具,以确保开发出的业务报表系统能够满足用户需求。软件需求分析是软件工程的关键...

    04 论软件需求分析方法和工具的选用——IC行业内部的CAD应用.doc

    ### 软件需求分析方法和工具的选用——IC行业内部的CAD应用 #### 概述 本文聚焦于集成电路(IC)设计领域的软件项目,探讨了软件需求分析的方法与工具选用,特别是在计算机辅助设计(CAD)应用背景下的实践。文章...

    系统分析师论文

    ESB架构之企业实施案例.doc RUP 4+1.doc SOA实例:基于SOA的OA与ERP的整合...论软件需求分析方法和工具的选用.doc 论软件需求分析方法和工具的选用档.doc 企业集团的信息管理系统应用.doc 我们应当如何做需求分析.doc

    系统分析员历年考试-14篇经典系分论文

    论软件需求分析方法和工具的选用——企业人事信息系统的应用;论软件需求分析方法和工具的选用--企业集团的信息管理系统应用;论软件需求分析方法和工具的选用--通信行业的应用;论软件需求分析方法和工具的选用--IC...

    系统分析员论文12篇

    3、论软件需求分析方法和工具的选用——通信行业的应用 6 4、论软件需求分析方法和工具的选用——IC行业内部的CAD应用 8 5、论Java技术在因特网平台上的应用——ERP开发的应用 12 6、论Java技术在因特网平台上的应用...

    历年系统分析师论文考试主题

    年份 内容 92 面向对象的需求分析与设计、软件项目进度管理 ...2001 软件需求分析方法和工具选用 2002 软件质量保证 2003 自由软件的合理使用、软件开发的风险控制 2004 用例的获取方法、软件开发成本估算

    系统分析师-经典论文5篇

    本文以“企业人事信息系统”为例,探讨了系统分析师如何选用合适的软件需求分析方法和工具,以实现高效且适应性强的系统构建。 在分析过程中,面向对象方法被推崇为一种更有效的方法,因为它能更好地模拟现实世界,...

    系统分析师论开发方法及应用

    系统分析师论文参考,论开发方法及应用。 2017年1月,我作为项目负责人,参加了XX市××集团公司ERP财务管控项目,该项目合同金额500万元,合同工期为1年,该项目的主要目标是搭建ERP财务管控平台,实现客户内部从...

    系统分析员论文14篇

    【系统分析员论文14篇】之“论软件需求分析方法和工具的选用——企业人事信息系统的应用”探讨了在构建企业人事信息系统时如何选择合适的需求分析方法和工具。这篇论文强调了需求分析的重要性,特别是在我国企业环境...

    系分论文样例

    文章中提到了几种类型的论文样例,每种样例都有具体的题目,例如“论软件需求分析方法和工具的选用”、“论Java技术在因特网平台上的应用”等。 #### 三、论文样例的编写原则 文章提到,在编写论文样例时遵循了几项...

    面向组件对象的软件需求分析

    本文探讨了一种新型的软件需求分析方法——面向组件对象的软件需求分析方法。该方法旨在解决传统软件需求分析过程中存在的问题,例如需求分析阶段与后续设计阶段难以顺利过渡、需求分析模型与现代软件组件设计原则...

    全国计算机软件资格水平考试-2001年度系统分析员级下午试题II论文样例与评注.doc

    这四个专题涵盖了软件需求分析方法和工具的选用、Java技术在互联网平台的应用、Web服务器性能改进的技术以及实时控制系统与企业信息系统的集成。每个专题都有多个样例论文,以展示不同风格和应用领域的处理方式。 ...

    系统分析师论文word版

    在【论软件需求分析方法和工具的选用】部分,作者强调了面向对象方法在企业人事信息系统项目中的应用,指出这种方法能更好地反映现实世界的复杂性和变化性,提高系统的适应性和扩展性。通过引入人才评估系统的设计...

    计算机软件资格与水平考试系分考试论文实例12篇

    本文主要讨论了企业人事信息系统的需求分析方法与工具的选用,讨论了面向对象方法与 Rational 系列工具的应用,以确保软件的通用性、可配置性与可维护性。 本文首先讨论了企业人事信息系统的需求分析,涉及到企业...

    系分考试论文实例12篇

    4. **通信行业应用**:论文《论软件需求分析方法和工具的选用——论文3:通信行业的应用》可能讨论了通信行业特有的需求,如网络管理、客户关系管理(CRM)、服务质量监控等,并分析了适合该行业的分析工具和技术。...

    教育教学(2022-2023年收集)点名软件需求分析报告.docx

    点名软件需求分析报告主要关注的是为高等教育机构设计一个高效、准确且便利的考勤管理系统。以下是基于报告内容的关键知识点: 1. **考勤管理需求**:传统的点名方式效率低,数据不准确,因此需要一个软件解决方案...

    软件开发模版(需求分析、概要设计、详细设计等)

    "软件开发模版(需求分析、概要设计、详细设计等)"是针对这些关键阶段的标准化工具,它们通常包括一系列文档和指南,用于规范项目的各个步骤。下面将详细解析这些模板的重要性和内容: 1. 需求分析模板: 需求...

Global site tag (gtag.js) - Google Analytics