logo资料库

系统分析师考试论文范例(10篇).doc

第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
资料共20页,剩余部分请下载后查看
系统分析师考试论文范例 系分论文 1 企业人事信息系统的应用 【摘要】 本文讨论《企业人事信息系统》项目的需求分析方法与工具的选用。该系统的建设目标是 帮助该企业管理好企业内部的人员和人员的活动,人事信息管理指的是企业员工从招聘面试 到离职退休的全过程,涉及的主要活动包括面试、报到、培训、升职、离职或其他的人事变 动,也包括电子化考勤、工资性收入的计算与分发、使用其他公司资源的有关记录(如宿舍、 保险、证件办理等等)。此外,本系统也涉及到企业在全国各地的人事信息管理,企业的组 织架构的设置,级别与职务管理,人力申请直至人力需求报表,从而形成一个对企业真正有 用的人事信息管理应用系统。在本文中首先讨论了选用面向对象方法与工具的主要理由与策 略,进一步通过一个简例说明该方法与工具使用的效果,也讨论了使用多种工具与方法在需 求分析中的必要性,最后简要小结了选用正确工具与方法的意义和作用。 在项目开展期间,我担任了系统分析、系统设计与数据库管理等大量工作。 【正文】 人事信息管理系统是一个有着广泛应用面的实用性系统,但是,我国各个企业有着自身的 体制、机制、特点与不同的要求;在开发这类系统时,系统需求分析是极为重要的一环。在 整个分析过程中,我们都采用了面向对象的分析方法,这是因为我们在近几年的实践中已坚 信这种方法能够更加有效地表达和描述现实世界。软件要具有适用性和扩展性,就必须更接 近于现实世界本身的发展规律。 以一个简单的例子来看,假设要求设计关于引进人才评估的一个系统,按我们过去的做法, 先会要求提供给我们一份相关的引进人才评估表,然后依葫芦画瓢地设计相应的表单与界 面。在短期来说,这样做是简便而实用的,但并不能够符合现实世界的长远目标,这套设计 方法不具有扩展性,因为任何一份评估表的结构都会有可能发生许多改变的。采用面向对象 的方法,可以从中提取出表类型、表结构、评分方法以及能考虑继承等各方面的要素,这样 就可以保证软件的通用性,可配置性与可维护性。 在工具的选择过程中,我们选择了现在已十分流行的 Rational 系列,包括 Rational Rose、 RUP、SoDA 等,为什么选取这个系列工具呢?这是基于我们对软件需求分析目标的看法, 我们认为需求分析应当能正确地回答如下的几个关键性问题: (1)用户的需求是否已详尽地被考虑到了? (2)用户能理解或明白我们所描述的内容吗? (3)分析是否会和设计相脱节, (4)程序员能明白我们的分析与设计要求吗?等等。 以下对上述几个问题逐一简要地加以说明: (1)详尽地获取用户的需求。 用户的需求可分为显式的需求与隐性的需求,用户的倾向往往只顾及到当前的与明显的需 求。要达到对需求理解的全面性,不仅仅只是依靠有效的用户谈话和调查,因为我们所面对 的用户需求往往会有些片面的,采用 Rational Rose(基于 UML)提供的用例,以及多种 图的联合使用,可以使我们发现其中的遗漏。 (2)使用户能充分地理解我们的表示方法,能够真正明白我们描述的内容。 软件需求分析规格说明书通常会是冗长而枯燥的,一般的用户不容易深入理解,这样就削 弱了分析的正确性。通过支持面向对象及 UML 语言的 Rational Rose 可以更好地和用户交
流,让用户了解系统的运作方式甚至细节的操作。 (3)使分析和设计两个阶段互相联系与贯通。 这是我们选择面向对象的方法及 Rational Rose 工具的重要原因,系统分析要向用户描述 的不仅仅是用户的需求,而且包括解决方法,解决方法当然应包括设计(程序)、数据库与 系统配置,我们当然不希望用户得到的是一个与需求规格说明不相同的软件,也不可能要求 程序员完成一个不可胜任的任务。然而我们在以前的多项工作中经常发现这类情节,因为系 统分析与设计相互脱节,导致一头扎在分析中不顾设计有关的事宜。 分析与设计的脱节,还不利于设计现格说明的评估,因为分析往往会脱离现实,导致缺乏 评估的依据。 因为不可能成功地完成设计而使分析需要重来,就会造成巨大的浪费与损失。一个好的工 具可以使分析与设计更紧密地连结起来,甚至于—一对应。面向对象的分析方法使对象之间 相对而言有独立性,减少了任何影响到全局的改动,能避免因需求变化而导致全盘皆动的被 动局面。 (4)使程序员明白我们的设计。 一个好的设计应该让程序员感到清晰明白,更少疑问。一个疑问很多的设计加上沟通不畅, 绝对会出现在应用环境下所不需要的另一个软件,所以设计规格说明书务必清楚、形象与明 确,当然,Rational Rose 具有足够的图形与其他形式,能使程序员更加明确,甚至能细微 到每一个语句(事实上如果使用 VB,程序架构都有可能直接生成了)。 (5)选择 UML 可能会有更多的理由。 比如用户文档的编写、数据库设计,我们都需要做到有延续性,有自动化支持和具有质量 上的保证。 所以,我们选用了以上的方法和工具。 在分析中,面对考勤班次的问题时,由于过去一直使用纸卡方式考勤,使用户对班次形成 了固定的概念,而现在的许多考勤软件也采用多次刷卡的方法来形成一天的记录。经过面向 对象的分析可以发现,事实上每天的上班记录是由多个时段所形成的,时段的多少在各个公 司,各个工种与部门都不尽相同,每个时段可能有不同的属性,时段与时段组合可形成为班 次,这更适合于现实的情况,使之能更加灵活与更有扩展性。其实,在天与天之间也都有相 互之间的关系。在这一点上,我们又发现必须在考勤与薪金工资中加入与 MRP 中相似的期 段(Periods)的基本概念,比如可以称之为考勤期段,允许为用户更加方便地设置考勤期 段,可能使之不一定与自然年月日相同等等。 Rational Rose 使我们更方便地把上面的想法在类上去实现,更进一步地设计好我们的高 效率的数据库。 当然,使用单一的一个工具去完成一个中大型的应用系统的需求分析,是不可能成功的。 因为社会在发展,用户的需求也在改变,如何把握住用户的需求是需要时间的,面向对象的 方法有时也会忽略外在的与表层的要求,不仅仅是要获得关键的需求,其他更多的需求往往 要等到用户在使用后才知道,然而等到用户使用是不现实的,作为原型开发模型中的原型也 是收集用户需求,描述与解释需求的一类相当有效的方法与工具。 在我们的开发过程中,为了更好地让用户了解我们的系统和我们的设计方案,让用户在见 面会上更有方向性与针对性,我们首先用 Access 开发出原型,让用户先试用。这样,我们 在真正的分析与设计时就能更加符合用户的要求。 总之,软件需求分析方法和工具的使用,对我们软件开发过程影响是很深远的,选用高效 能的正确的方法与工具,可以使我们的软件更加正确地反映现实需求,更加具有可用性、可 扩展性和可维护性;降低了软件项目的风险。 评注:(1)写得有些特色,观点鲜明。(2)摘要写得不错,既反映了项目内容,也小结了
本文的写作要点。(3)文中所举的例子虽然简单,但很实际。(4)多种方法与工具的使用, 叙述得简明扼要。(5)内容可更丰富一些,更深入的例子也可再增多一些,则会更有说服力。 (6)对需求分析的全过程的描述太少。(本文主要参考了广东延国庆等人的论文) 系分论文 2 企业集团的信息管理系统应用 【摘要】 本文以某个 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 热潮的兴起,已经 逐渐重视需求分析,也逐渐使用需求分析工具,这是非常可喜的,当然,更希望在不久的将
来,能用上国产的需求分析工具,那时我们的软件产业也许会真正地腾飞了。 评注;采用逆向工具进行再工程的应用很多,本文给出了一个实际的例子。写作有条理,也 很实际。合理地界定了需求分析的现实水平。所采用的需求分析的方法与工具相对较合理科 学。能在对项目讨论的同时抒发议论、使用体会、爱国心和事业心。深度还可以提高,例子 宜更加丰富一些。(本文主要参考了广东刘小波等人的论文) 论软件需求分析方法和工具的选用——论文 3:通信行业的应用 系分论文 3 【摘要】 本文以某通信公司的业务报表系统开发为例,讨论了软件需求分析工具与方法的选用。我 们认为,软件需求分析是软件工程中重要的一步,直接关系到后继工程的进行以及最终的产 品能否满足用户的需求,因此在整个工程中起着关键性的作用。采用适当的工具,有可能显 著减少需求阶段的错误,也可大幅度提高需求分析的质量和工作效率。当然工具的选用应当 与实际的项目相结合,充分地发挥工具的作用。本文结合我们工作的实际经历,简要讨论了 开发系统时所选用的工具及其应用,选用时所考虑的原则以及所碰到的问题。在文中也结合 多种开发方法(即传统的瀑布法、信息工程法、面向对象的方法)的比较,指出各种方法的 不足之处,说明我们所采用的工具对软件需求分析所起的作用,以及相应产生的效果。 【正文】 我在某市一家通信公司工作,作为一名技术骨于,受领导委托,参与了开发本公司的业务 报表系统,我担任系统的需求分析、总体设计和部分代码的编写工作。 我所在的企业作为一家通信运营公司,分为总部、省级公司和地市级分公司三级,各级公 司之间都有数据报表的要求。但是,每一个地市分公司因所处的地方不同,经营环境不同, 所面临的问题也不一样,因此形成了各具特色的数据报表(除地市分公司向省公司汇报的之 外)。公司又分设了许多部门,这些部门也都会需要数据,作为分析决策的依据。因此,了 解各个部门的需求就成了业务报表系统的关键。 在调研的过程中,我选用了一种工具叫 Play CASE,可以从网上免费下载,有很强的功能。 下面就介绍一下,在需求分析阶段,我是如何使用这一工具的。 第一步,了解业务组织结构。公司内部的数据实际上是在部门之间流动的。业务部门需要 知道在本地覆盖区内各基站的话务量、当天的话务量(即话务量的时空分布)。财务部门需 要知道本月各类用户的话费收入、预交款收入、与其他电信运营商的网间结算等。计划部门 需要各部门的分析数据。计费部门需要提供本月的账革统计数据、话单统计数据分布(比如 分别按照基站分布、时段分布以及按用户类别分布)、预交款统计数据、当前的欠费总额分 布、催缴情况等等。这些部门时常为了数据而产生了大量无谓的争议。在使用 Play CASE 工具时,先要将这些部门录入到 Play CASE 的“业务部门”中.构成了一个信息源的接收点 (或发送点);而 Play CASE 通过图示表示了这些部门的关系,并转换成了相应的软件结构。 实际上,这是一种系统建模的方法,即把业务系统中的各个组织转变为软件功能中的各个结 构。这样,在需求分析阶段,明确哪些部门需要数据,从而保证了需求分析对整个公司的全 面性,而不会忽略掉某一个部门,导致需求分析的不完整。 第二步,了解各个业务部门中的业务流程,使之通过 Play CASE 转换成软件的运行过程, 这是一种动态建模的方法。在上一步的基础上,追踪各个部门的行为,录入到 Play CASE 中,并以形式化的语言描述各过程。对于复杂的过程,该工具还提供了进一步细化的方法, 并且形成了业务流程图和业务状态图。根据这些流程图、状态图与实际业务部门的业务相结
合比较,还是较为吻合的。在此步的实施过程中,运用了动态建模技术,使各部门业务流程 的情况在软件的运行过程反映出来,从而保证了需求分析阶段中运行过程的描述能真实地反 映实际情况,防止在后继的程序编写过程中,可能会经常发生的一类情况:程序员因为没有 理解业务流程而出现“闭门造车”的现象,从软件的功能角度上保证了软件的正确性。 第三步,将业务数据转变为软件数据,这一步工作实际上就是收集各部门所需要的数据。 分析各部门需要的数据都有哪些;以及数据是如何转换的,这可以归入“功能建模”的范畴。 将这些相应数据录入到 Play CASE 中,选定所属的部门。这时就自动地建立了 DFD 图(数 据流程图),数据字典,省去了人工建立时的很大麻烦。 第四步,将业务上的数据关系转变成软件中的数据关系。这里采用了面向对象的方法,把 业务部门所需要的数据看作一个实体,部门间的数据关系就是实体之间的关系。比如:经营 部门所需要的用户资料、用户话费,实际上就是用户这一实体与账单这一实体间的关系。Play CASE 提供了构件(不过我觉得是部件更为合适一些),来表示对应的数据,并提供了三种 构件的表示关系即组装关系、分类关系与相连关系。这三类关系基本上反映出了现实世界中 的业务数据之间的关系。例如现实世界中的用户资料与用户话费,在 Play CASE 中,可将 用户构件与账单构件用相连关系表示。这种方法,实际上是借鉴了 OOA 面向对象的分析方 法中的类、聚集、继承、封装等概念,能较好地反映出现实中的业务;同时,这一步的工作 也为总体设计中数据库的概念模式设计奠定了很好的基础。 经历了上述四个步骤以后,利用 Play CASE 工具自动生成了软件需求规格说明书、初步 的 DFD 图和业务流程图,为下一步的总体设计打好了基础。 使用 Play CASE 工具,使需求分析既能继承传统的结构化分析方法,又能吸收面向对象 设计方法的优点。比如能把业务流程转变成为运行过程,业务组织转变成了软件的结构等都 体现了这一点。而在运行过程中,对复杂过程的细分以及追踪则反映了传统方法中的自上到 下分解的分析思想,这对于解决复杂系统的分析是很有帮助的。 通过使用,我觉得这个工具还是很不错的。因为它实际将以下四个方面的问题结合起来了: 软件、业务、开发人员和用户。对于用户而言,Play CASE 用图形化的方式显示出业务流 程,使用户了解业务在软件中的运行过程,提供了将来验收软件时的依据。对于开发人员来 说,使开发人员能更清楚地了解业务流程,不会再发生“因为不理解用户的需求而出现的闭 门造车情况,从而导致开发出来的产品不符合用户需要”的现象。因此,Play CASE 所自动 提供的需求说明书能够很好地沟通用户与开发人员之间的理解,使他们都能对需求有共同的 理解。 使用 Play CASE 工具后,使我们的需求分析取得了很好的效果,不但能自动地提供许多 结果,如需求说明书等;还使需求的质量有了很大的提高,受到领导的赞扬(领导不是学计 算机的,但对公司的业务十分熟悉);在后继的设计与维护工作中,我们感到工作似乎轻松 了很多。 当然,该软件工具也有不足之处,一个突出问题是灵活性不够,一县公司的部门或者组织 机构发生变化时,整个设计都要重新来过。因此,在改进的过程中,我们在第一步过程预留 了好多个虚拟的部门,以备将来进一步的扩充或者变动。 评注:(1)具体项目有些体会,完成情况似乎不错。(2)条理较清晰,比较系统地描述了 使用 Play CASE 的过程和体会。(3)偏重于工具的讨论,对需求分析的方法分析还嫌不够。 (4)项目相对较小,仅涉及报表系统,对更为复杂的业务流程应举例分析,才能更充分地 体现方法与工具的作用。
论软件需求分析方法和工具的选用——论文 4:IC 行业内部的 CAD 应用 系分论文 4 【摘要】 本文通过一个集成电路设计有关的软件项目,讨论了该项目的主要特点和本人所担任的工 作,着重讨论了在项目需求分析过程中采用的具体方法和工具以及选用的理由。 由于项目的专业领域的特殊性,分两类不同的需求讨论了需求分析中遇到的问题及解决方 法;在这个过程中给出了对选用的具体工具和方法的效果的描述。接着本文讨论了对使用方 法的改进的一些想法以及具体的实现过程。最后提出了我对需求分析的某些看法,强调了与 客户沟通的重要性。 【正文】 近年,我一直从事某企业中有关 IT 项目的开发,有一个系统是用于计算机辅助电路设计 的,包括了从上流设计到下流设计的所有流程,如用于可设计百万门数量级的逻辑门电路。 有关方面把电路中路径的提取、过滤以及表示的某软件开发任务交给我公司,我有幸担任了 该部分的需求分析以及设计。 我所设计部分为一单独可启动的软件,主要是解析文件中的连线路径,以列表视图和用直 方图等把它们显示出来,还可以执行诸如查找与过滤等功能。 委托方对此提供了很初步的需求说明,把一些基本功能及性能要求描述了一下。我在需求 分析时的工作主要有两点:第一,对该软件的界面等详细需求要自己重新进行分析提取。第 二,对于已提供的功能要求需要深化和细化,以形成真正完整的需求分析文档。 在接到需求分析任务后,我分析了一下所要完成的工作。发现由于是专用领域的软件,对 专业领域要求相当高,所以准备把此项目分成两部分: (1)界面所受专业领域影响几乎没有,但由于全部没有任何要求,反而会感到风险和改 动可能是最大的。 (2)功能方面由于委托方的许多功能都可以调用相应模块来得到,并且已有了相应的书 面的简单需求,相应来说只是完成深化。对界面,我采用了部分 RUP 的思想迭代与渐进。 而对功能需求采取了分层细化,每细化一层就要求委托方确认、修改和补充。 首先把风险较大的部分完成,这是现代软件开发的基本常识。我选择先进行界面的需求分 析。第一步是根据功能描述抽取出逻辑模型,并使逻辑模型与界面元素及功能一一对应,大 体上决定了界面应有的功能,然后根据该界面功能描述,确定具体的控件,这时,我参考了 委托方已初步完成的主窗口的界面布局及控件的使用规律,然后根据需要完成的功能从 Qt (由于要支持 Windows 和 Unix 双平台,所以控件库采用 Qt)的类库中选择相应的控件。 在提取和抽象逻辑模型时,我采用了 Rose 2000 中的用例图,即以 USE-CASE 图来描述 与外部的关系。之所以采用 Rose,我是基于以下的原因:第一,在已开发的部分中,委托 方统一要求我们使用 Rose 进行类和顺序图等的设计和代码生成。第二,Rose 提供了标准 的图来描述系统与外部的关系,在全球范围已是一种标准结构。第三,使用上的方便性。我 用 Rose 的 USE-CASE 图,理清了我们的软件窗口与委托方主窗口以及外部角色(操作者) 之间的相互关系。 在确定了界面元素后,考虑到文档的可理解性不是很强,我采用 Visio 2000 把界面的外 观绘制出来,写上了基本的控件作用,随后送给委托方评审,幸运的是除了几个小功能的修 改,委托方基本批准了我的方案。 下面的工作是为控件的行为及状态变化制定相应的状态迁移图,我选用的工具仍是 Rose, 我用了状态图和时序图,把重要的控件状态变化及相应顺序进行了描述,随后的几天把相应
的 DOC 文档建好写明,基本上界面设计就完成了。 下面的需求是针对功能需求的。虽然委托方技术部门有初步的需求文档,但由于领域的专 门化不对,我不清楚其中复杂的路径提取关系及较深入的专业术语,一直有一种举步维艰的 感觉。只能采用分层细化的原则,从最初的几条深入一层变成十几条。这样的话,不会一下 子碰到太深的专业问题,可以循序渐进从委托方与文献的解答中不断学习,深化自己对专业 领域的了解,这样在设计中自己始终是层层推进的,不至于一于碰到无法逾越的专业障碍。 在这一阶段的开发中,由于一直是与自己不熟悉的专业领域打交道,所以我觉得一些辅助 设计工具似乎无法发挥应有的功能。在这期间,对我帮助最大的应是公司的 E-Mail 系统, 所有不清楚的问题的提出,以及对问题的解答都通过它进行周转。换句话说,在需求分析阶 段,它起到了一个与客户的交流沟通和客户需求的提取作用。所以,我认为在这一阶段, E-Mail 系统是对我帮助最大的工具,其次是 Excel,我用它建立了问题跟踪图表,对每一个 提出的问题,均需要记录上去,把问题结果(可分为已清楚、仍不太清楚、不清楚、尚未回 答)均记录下来,根据这些表,我可以很好地了解自己工作中的核心问题,并有了解决它的 方向,提高了工作效率。 每进行一层的细化,我都把结果交付委托方审核,由他们进行提出何时能终止细化,大约 在八层细化后,对方认为已达到了效果,确认可以结束。至此,分析工作全部完成,项目的 需求分析基本成功了。 在这次需求分析中,我认为取得成功的原因主要是方法和工具选择得正确。在界面设计中 采用了流行的辅助工具,对需求及逻辑模型的建立提供很大的帮助,可以更方便帮助自己理 清思路。选用了迭代法,把一些错误的影响在功能分析和界面分析的不断迭代过程中加以改 正。在后期,以功能需求为主时,我主要依赖的是沟通工具和表格工具,这也说明辅助工具 不是万能的,需求分析的关键之关键,应是与客户的交流与沟通。 通过这次案例,我认为在软件的需求分析工作中,方法的重要性应远超过工具的使用,应 当首先确定分析中的风险,把风险分类,用不同的方法去解决各类风险,而工具的选择不仅 是要看影响力和名气,而是要真正为我所用,应把握其精髓,即是此工具到底可以对开发有 什么帮助,而不是仅限于如何使用。我认为在需求分析中工具的作用不外乎两个:一是实际 系统与环境模型等的抽象工具,二是需求表达工具。第一类的代表是 Rose,第二类的代表 是 Word,WPS,Visio 等,在这次项目中由于地理上的限制还用到了沟通工具,Web 浏览 与 E-Mail 服务系统。 最后我还是总结一下,在需求分析中工具方法都只是辅助项目成功的因素,真正的决定因 素还是—一“与客户的沟通”。 评注; (1)较实际地讨论了方法与工具。(2)两类需求的讨论有点特色,解决需求问题的方法 较成功,有说服力。(3)能发表自己的观点和意见,体会较实在。(4)本例似乎有些特殊 性,还是要鼓励对自己熟悉的业务领域做项目,否则的话,有时会事倍功半。(5)最好再列 举更多的项目或例子,使方法与工具的讨论更全面一些。(本文主要参考了上海解亮等人的 论文) 论 Java 技术在因特网平台上的应用——论文 1:ERP 开发的应用 系分论文 5 【摘要】 根据某类企业的迫切需要,我所在的信息技术公司组织了一个企业资源计划(ERP)项目
分享到:
收藏