logo资料库

系统分析师论文范文.doc

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
2011年全国计算机软考系统分析师论文范文
论Java技术在因特网平台上的应用——论文2:ERP开发的应用
系分论文3企业人事信息系统的应用【摘要】
2011 年全国计算机软考系统分析师论文范文 论 Java 技术在因特网平台上的应用—— 论文 1: 通信服务平台的应用数据通讯是当前十分活跃与热门的计算机与信息技术的应用领域。 某大型通信公司开发了其业务的主要支撑平台,在这里,我们简称之为“通信信息服务平台”, 用于在全国与全球开展数据业务的需要。该平台是一个典型的 Java 技术应用于 Internet 的项 目。 作为信息技术公司中的一名技术骨干,我有幸参加了该系统的分析与设计工作,承担了相当 多的 Java 应用开发任务。此系统中的软件部分大多由 Java 来实现,在全系统中我们是这样 来用 Java 构架系统的: (1)本系统可分为 4 层,分别是 Browser、表示层、中间件层和数据层。(2)表示层用 Java 中的 JavaScript 来实现页面输出。 (3)中间件层用 Java 来实现 CORBA,即实现 Component(构件),主要实现业务逻辑的封 装与复用。 (4)数据层主要是数据库和存储过程的实现。 我们在应用 Java 技术时,所采用的技术和策略可大致上归纳为以下 5 个方面: (1)使 JavaScript 尽量简单,因为 JavaScript 在我们系统中是放在服务器端执行的,该语言 是通过一个解释器解释执行的,相对速度很慢,我们采用了两台 HP 前置机来运行 JavaScript, 但是其运行速度还是不理想,所以我们在设计中把 JavaScript 仅用来显示从中间件层所得到 的数据,生成动态页面。在最初的设计中表示层(JavaScript)曾承担了一些业务逻辑处理操 作,导致效率不理想,因此,我们不得不尽量地减少 JavaScript 的程序量。 (2)用 Java 实现 CORBA 时,应尽量考虑共享和复用。在本系统中,最初的设计是让 Java 在实现 Component 时,只是执行一些数据库表的操作,导致表示层的负载较大。后来,我 们重新设计时,总结归纳了所有的 UseCase,找出了其中可供共享和复用的接口,把相同的 业务逻辑操作封装到一个接口中去。因为 Java 的执行效率比 JavaScript 要高,因此提高了系 统效率。(3)在别的项目中,我们曾大量地使用过 Java 中的 JSP 技术和 Servlet 技术,一般 人可能不能区分这两种 Java 技术的区别。为了得到系统的一些执行速率的数据,我们采用 了一个著名的压力测试软件——LoadRunner 来测试这两种技术的差别。测试表明:用 JSP 和 Servlet 完成同样的一个操作,并且保证是在相同的测试环境中(相同服务器、压力测试 工作站与数据库环境),得到的测试数据却有着很大差别,JSP 完成一个操作的平均执行时间 大致会是 Servlet 程序的两倍。在一个企业级应用项目中,这可能是一个很关键的瓶颈。因 此,我们得出的结论是:在可能的条件下,尽量地多使用 Servlet。当然,与 Servlet 相比, JSP 编程快速,修改方便,在访问量不是很大的应用场合下也是可以接受的。 (4)使用 Java 作为整体解决方案时,应尽量使用相同版本的 JDK。在用 Java 作为编程语言 的项目中,几乎大多要遇到“汉字”问题,即 Java 在没有经过转换的情况下,在输出汉字 时,很可能会出现乱码。采用不同版本的 JDK,解决的方案是不一样的,比如 V1.2.2 版本的 JDK 和 V1.3 版本的 JDK 解决方法就会有一些不一样,把 V1.2.2 的 Java 程序放在 V1.3 的 JDK 中,就不能顺利输出汉字了。其根本原因在于 Java 使用了 Unicode 编码,和我们中国的国 标编码不一样。所以在这个意义上一些人竭力鼓吹的“一次编写,到处运行”似乎不一定能 在所有的场合都行得通。
(5)使用 Java 时,应尽量遵从软件规范。在 Java 中有一个 JVM 的概念,即在 Java 虚拟机 中使用了一个垃圾收集器,专门用来回收内存。但是该垃圾收集器在给编程人员带来方便的 同时,也隐埋下了隐患。在程序设计中,并不能强制执行垃圾收集器,所以,开发人员不能 确定某对象是否已释放,常常让编程人员养成依赖自动收集的坏习惯,因此我们要求:在 Try,Catch 之后必须明确要求回收内存(当然,也只能是通知垃圾收集器来回收垃圾),这 样可以有效地提高系统稳定性。以上这些实用性的技术与策略,是我们在实践中的一些实际 体会,仅供各位开发人员根据实际情况参考。当然,在使用 Java 作为解决方案时,也会遇 到很多让我们头疼的问题,这些问题导致同时执行的并发性比较差,系统速度慢等等。归纳 起来看,我们曾遇到过的主要具体的问题有:(1)用 Java 来实现 CORBA 中的 Component, 有时效率会比较低。(2)用 Java 来建立数据库连接往往会比较慢。 (3)用 JSP 编程时容易导致系统信息的扩散。比如,如果有黑客攻击一台运行 JSP 程序的 服务器,他可以故意地输入一些非法字符或异常信息给 JSP 程序,于是程序执行将出现异常。 这时,就会在页面上打印出相应的错误信息。很不幸的是,这些信息极有可能暴露出这台服 务器的 JDK 的版本号与路径信息等内容。这往往容易让黑客们有机可乘,有可能去抓住系统 的漏洞。在发现了这些问题后,我们经过仔细研究,找出了一些解决办法。比如: (1)既然用 Java 实现 Component 比较慢,我们就尽量减少 Component 所执行的业务逻辑 量。争取把能够放在存储过程中实现的操作,尽可能在存储过程中加以实现。众所周知,数 据库的存储过程操作,比起在 Java 程序中执行数据库操作要快得多。 (2 ) 既 然 用 Java 建 立 数 据 库 连 接 比 较 慢 , 我 们 就 可 以 把 数 据 库 连 接 封 装 成 连 接 池 (ConnectPool),从而能非常有效地提高系统效率。我们也曾经用“LoadRunner”作过压力 测试,使用连接池比不使用连接池的速度要快上 3~5 倍。 (3)为了对付 JSP 程序与 Servlet 程序会打印出异常系统信息的问题。我们曾查阅了很多 JSP 或 Servlet 的资料,最终是毫无头绪。但是我们可以换另一种思路,即是不从程序下手,而 从 WebServer 着手,我们可以把 Apache 配置成为使这类异常信息不再打印出来,而是使之 仅出现一个通用的异常说明的页面,这样,就能十分有效地解决这个问题。 在我们使用 Java 作为编程语言的这么多项目中,绝大多数是比较成功的。Java 语言作为一 种快捷、稳定的计算机语言,开发基于因特网应用的项目大多是相当稳定和比较适用的。在 我个人看来,Java 的应用前景十分光明,大体上可以着眼于以下方面:(1)在因特网上将会 有更加广泛的应用。 (2)在嵌入式设备中,Java 也大有用武之地。比如,在最新推出的 Java 技术中,Java 已经 进入了手机领域。 (3)Java 程序大多以线程运行,占用资源少,会逐步代替 ASP 与 CGI 程序。根据第三方测 试表明:JSP 程序比 ASP 程序要快 2 倍以上。用 JSP 代替 ASP 应是大势所趋。 (4)Java 在无线互联网中的应用将会更加广泛。Java 支持 WAP,可以方便地用 Java 开发 WAP 程序,实现 WAP 应用。 (5)Java 与 XML 的无缝连接使 Java 在数据传输和异构网络通信方面有着很大的优势。就我 个人而言,我将会在相当长一段时期内致力于 Java 在无线互联中的应用,为我国的移动通 信事业开发出更多的优秀实用的项目。 评注;参与了一个较大的项目后有实践体会。全文都采用 1、2、3、4 方式,文章的风格显 得单调,不大吸引人。但是本文的优点是;(1)写得很有条理。(2)内容的选择合适。(3) 所列举的策略、注意事项与发现的问题都很现实可信。(本文主要参考了广州王海波等人论 文)
论 Java 技术在因特网平台上的应用——论文 2:ERP 开发的应用 【摘要】 根据某类企业的迫切需要,我所在的信息技术公司组织了一个企业资源计划(ERP)项目的 开发,希望推进我国 ERP 应用的发展,也希望更深入有效地运用 Java 技术。该项目的内容 涉及到某类行业的企业生产经营的全过程,其基本目标是为了提高企业的劳动生产率,增加 企业的利润,优化配置企业的资源,使企业的整体运营水平能上一个台阶。这是一个基于 Java 技术的 Intranet 典型应用项目。 在该项目中,我承担项目负责人的重要职责,比如在项目的准备阶段,我曾组织了对项目组 的成员进行该类企业业务流程方面的培训;在项目需求分析和设计阶段,我着重考虑了架构 好系统的框架和原型,为项目组及其他分析员进行下一步的细化分析奠定了坚实的基础。同 时我还组织好项目总体组,把握住各模块之间的接日分析,保持各个分析员之间实现密切的 沟通。在系统的开发阶段,做好开发、测试方面的协调和同步工作,保证系统的可靠性,在 系统的实施阶段能够顺利地推进项目,此项目开发后的应用已得到了用户们的一致好评。 【正文】 与国际上 ERP 项目的广泛应用相比,我国的 ERP 应用水平尚有相当大的差距。根据某类企 业的实际迫切需求,我公司组织了对一类 ERP 产品的开发,我有幸参与了该项目的分析与设 计,开发的成果是一个典型的 Java 技术应用于 Intranet 的实际项目。 在选择具体的技术方案时,我们曾经进行了认真的思考和研究。对于选择普遍采用的微软模 式的平台方案,还是跨平台式的 Java 方案,我们曾举棋未定,这是因为微软的 VB+ASP 已成 为大家在较长时间工作后认可而熟悉了的方案。而 Java 由于其环境要求高与执行效率低的 老大难问题,成为我们担心害怕的重要因素。但是 Java 的跨平台特性越来越成为人们的关 注点,尤其是许多大中型的企业,他们现有的网络系统都是基于多种平台的,对跨平台的要 求和呼声极为强烈,而对软件公司来说,软件的跨平台特性有可能会节约开发成本,降低维 护量,也能获得更多客户的认可。综合考虑了诸多市场行情与行业发展因素,最终决定一定 要用 Java。所幸的是现在 Java 用于因特网的开发也已经越来越便利了。 目前 Java 在因特网上的开发技术已呈白花齐放之势态,有最初的 JavaServlet,有与数据库联 系在一起的 SQL-J,还有可与 ASP 和 PHP 相媲美的 JSP。尤其是 JSP 技术的迅速发展,使得 Java 的网络应用不再是少数人的专利,JSP 以其执行的高效性和使用的方便性,已成为近年来大 家首选的因特网开发技术,JSP 是一种页面开发技术,它以 Java 为其服务器端语言,结合 JavaScript 作为其客户端语言,能方便地实现页面的表示。 选择好了后端的 Java 和前端的 JSP,还有一项重要的任务,那就是前后的联接。由于 JSP 主 要用于页面表现,需要表现的内容要封装起来,这样,为了保证主要商务逻辑的安全性,我 们采用了 JavaBean 作为桥梁,即客户端 JSP 通过其中 JavaBean 的使用,完成主要的商务逻 辑功能。在后台,将 Bean 构造好,形成一个强大的 Bean 库,再由前台 JSP 进行使用。 在进行 JavaBean 的规划时,我们下决心作出很大的投入,因为这些不仅是我们当前项目中 所需急用的,而且还应成为公司长期积累使用的一个强大的资源库,能实现一定程度的资源 共享和软件复用,为其他项目开发打好基础。因此,此次规划的目标是形成公司 Java 技术 的 JavaBean 的平台库。 我们根据 JavaBean 所体现的类的用途,将这些类分成几个层次。最底部的一层就是参数化 类的构造,这一层的类所实现的主要功能包括通用访问机制,对数据库等其他层次的访问接 口和公共处理系统等。中间一层是实体类的构造,这些实体类包括与数据信息相关的结构及 其处理方法,其中的重点是包含了一些重要的商务逻辑的处理。这一层类与系统各部分相关,
并且其安全性要求很高,直接影响到系统主要功能的体现,因为系统的主体是对一些逻辑进 行处理,这就要求这层实体类的规划需要十分认真,做到细节准确。最上面的一层可以称为 接口类,这一层类主要用于实现底层的类与前台之间的关系。也只有这层类才能由前台 JSP 进行 JavaBean 调用而加以使用,只有这层具有开放性,这一层类除了上述的接口功能外, 还应当有一项重要的实用内容,即包括用于实现前台 JSP 的页面自动构造程序。 这里所说的页面自动构造程序可以认为是本系统的一个重要特点,目的是为了让用户可以方 便地自定义界面,而不需要由程序员修改程序,这样能够极大地满足了用户的要求。页面自 动构成程序的主要内容包括对界面元素的定制与修改、位置的修改、动作的触发、行为的控 制以及报表设计和计算汇总等功能。页面自动构成程序的设计主要采用上述的接口类与 JSP 相结合的方式,用类实现元素的定制、控制及关联,并将重要信息加以保存,以利于用户的 多次反复修改。该自动构造程序提供了强大功能,已成为我们的一个独立产品。能应用于各 个项目的界面制作,实现了我们原先制定的共享资源的目标。 在前台 JSP 的应用中,做到了尽可能最简化的程度,这样可以提高系统的安全性。当然在我 们的系统中,还存在一些客户端控制比较复杂的情况,为保护这段比较复杂的控制脚本,我 们采取了用 Servlet 的方法,保护这段脚本,从而保证了一定程度的安全性。 在系统的登录过程中,我们采取了相当严格的登录键检查操作,用户没有供应商提供的相应 的键,就无法通过验证而进入系统。对于试用版的用户则提供了一种有效期限约束。这些加 密或安全措施,通过在 JavaBean 中封装了严格而有强大功能的加密算法,在客户端申请验 证后才能准予通过。 在使用这套技术方案的过程中,我们曾经遇到过许多的困难。比如;前面曾提到过要求 JSP 中代码能够尽量简化,以提高安全性。由于 JSP 中仍有一些容易让人可能猜测到处理方法的 语句及处理的过程,为进一步提高安全性,我们通过查阅大量的网上资料,才形成了一套较 好的措施,比如制作 JSP 的标记库,将有可能被猜测的处理进一步加以规划,对应地生成一 套行之有效的实用标记库,这样就又增加了一道很有效的防护墙,大幅度地提高了安全保密 性,并且使页面结构的分离达到了一定的水准。又如:在对数据的处理上,刚开始时也总是 遇到系统运行会变得越来越慢的情况,最后追查其原因,发现原来是数据的连接过多,我们 及时地采用了数据连接池等技术解决了此类问题。 该系统采用 Java 平台,提供了深入地使用 JavaBean 和 JSP 的方案,其效果是相当显著的, 在用户真实使用环境中受到了一致好评,运行也较为稳定。由于采用了统一而方便的页面自 动构造程序,用户的界面非常友善,并且可以按用户需求进行定制,满足了用户的适应性需 求。而在我们公司的内部,也开始建立了一套基于此平台的资源库,成为公司的今后开发使 用的宝贵财富。必须指出的是,在此系统中,还存在着很多的不足,比如实体类的组装程度 尚不尽如人意,根据多种商务逻辑的一些共同点,可以进一步加以抽象封装,使这部分内容 能满足多种系统对类似逻辑的处理过程。我将会在今后的工作中进一步加强各方面的分析能 力,带领团队不断地超越现在的层次与水准,加强我们的队伍建设,希望有更多优秀的软件 产品上写着 MadeInChina。(本文主要参考了上海陈莉莉等人的论文) 系分论文 3 企业人事信息系统的应用【摘要】 本文讨论《企业人事信息系统》项目的需求分析方法与工具的选用。该系统的建设目标是帮 助该企业管理好企业内部的人员和人员的活动,人事信息管理指的是企业员工从招聘面试到 离职退休的全过程,涉及的主要活动包括面试、报到、培训、升职、离职或其他的人事变动, 也包括电子化考勤、工资性收入的计算与分发、使用其他公司资源的有关记录(如宿舍、保
险、证件办理等等)。此外,本系统也涉及到企业在全国各地的人事信息管理,企业的组织 架构的设置,级别与职务管理,人力申请直至人力需求报表,从而形成一个对企业真正有用 的人事信息管理应用系统。在本文中首先讨论了选用面向对象方法与工具的主要理由与策 略,进一步通过一个简例说明该方法与工具使用的效果,也讨论了使用多种工具与方法在需 求分析中的必要性,最后简要小结了选用正确工具与方法的意义和作用。 在项目开展期间,我担任了系统分析、系统设计与数据库管理等大量工作。【正文】 人事信息管理系统是一个有着广泛应用面的实用性系统,但是,我国各个企业有着自身的体 制、机制、特点与不同的要求;在开发这类系统时,系统需求分析是极为重要的一环。在整 个分析过程中,我们都采用了面向对象的分析方法,这是因为我们在近几年的实践中已坚信 这种方法能够更加有效地表达和描述现实世界。软件要具有适用性和扩展性,就必须更接近 于现实世界本身的发展规律。 以一个简单的例子来看,假设要求设计关于引进人才评估的一个系统,按我们过去的做法, 先会要求提供给我们一份相关的引进人才评估表,然后依葫芦画瓢地设计相应的表单与界 面。在短期来说,这样做是简便而实用的,但并不能够符合现实世界的长远目标,这套设计 方法不具有扩展性,因为任何一份评估表的结构都会有可能发生许多改变的。采用面向对象 的方法,可以从中提取出表类型、表结构、评分方法以及能考虑继承等各方面的要素,这样 就可以保证软件的通用性,可配置性与可维护性。 在工具的选择过程中,我们选择了现在已十分流行的 Rational 系列,包括 RationalRose、RUP、 SoDA 等,为什么选取这个系列工具呢?这是基于我们对软件需求分析目标的看法,我们认 为需求分析应当能正确地回答如下的几个关键性问题: (1)用户的需求是否已详尽地被考虑到了? (2)用户能理解或明白我们所描述的内容吗? (3)分析是否会和设计相脱节, (4)程序员能明白我们的分析与设计要求吗?等等。以下对上述几个问题逐一简要地加以 说明:(1)详尽地获取用户的需求。 用户的需求可分为显式的需求与隐性的需求,用户的倾向往往只顾及到当前的与明显的需 求。要达到对需求理解的全面性,不仅仅只是依靠有效的用户谈话和调查,因为我们所面对 的用户需求往往会有些片面的,采用 RationalRose(基于 UML)提供的用例,以及多种图的 联合使用,可以使我们发现其中的遗漏。 (2)使用户能充分地理解我们的表示方法,能够真正明白我们描述的内容。 软件需求分析规格说明书通常会是冗长而枯燥的,一般的用户不容易深入理解,这样就削弱 了分析的正确性。通过支持面向对象及 UML 语言的 RationalRose 可以更好地和用户交流, 让用户了解系统的运作方式甚至细节的操作。 (3)使分析和设计两个阶段互相联系与贯通。 这是我们选择面向对象的方法及 RationalRose 工具的重要原因,系统分析要向用户描述的不 仅仅是用户的需求,而且包括解决方法,解决方法当然应包括设计(程序)、数据库与系统 配置,我们当然不希望用户得到的是一个与需求规格说明不相同的软件,也不可能要求程序 员完成一个不可胜任的任务。然而我们在以前的多项工作中经常发现这类情节,因为系统分 析与设计相互脱节,导致一头扎在分析中不顾设计有关的事宜。 分析与设计的脱节,还不利于设计现格说明的评估,因为分析往往会脱离现实,导致缺乏评 估的依据。 因为不可能成功地完成设计而使分析需要重来,就会造成巨大的浪费与损失。一个好的工具 可以使分析与设计更紧密地连结起来,甚至于一一对应。面向对象的分析方法使对象之间相 对而言有独立性,减少了任何影响到全局的改动,能避免因需求变化而导致全盘皆动的被动
局面。(4)使程序员明白我们的设计。 一个好的设计应该让程序员感到清晰明白,更少疑问。一个疑问很多的设计加上沟通不畅, 绝对会出现在应用环境下所不需要的另一个软件,所以设计规格说明书务必清楚、形象与明 确,当然,RationalRose 具有足够的图形与其他形式,能使程序员更加明确,甚至能细微到 每一个语句(事实上如果使用 VB,程序架构都有可能直接生成了)。(5)选择 UML 可能会 有更多的理由。 比如用户文档的编写、数据库设计,我们都需要做到有延续性,有自动化支持和具有质量上 的保证。 所以,我们选用了以上的方法和工具。 在分析中,面对考勤班次的问题时,由于过去一直使用纸卡方式考勤,使用户对班次形成了 固定的概念,而现在的许多考勤软件也采用多次刷卡的方法来形成一天的记录。经过面向对 象的分析可以发现,事实上每天的上班记录是由多个时段所形成的,时段的多少在各个公司, 各个工种与部门都不尽相同,每个时段可能有不同的属性,时段与时段组合可形成为班次, 这更适合于现实的情况,使之能更加灵活与更有扩展性。其实,在天与天之间也都有相互之 间的关系。在这一点上,我们又发现必须在考勤与薪金工资中加入与 MRP 中相似的期段 (Periods)的基本概念,比如可以称之为考勤期段,允许为用户更加方便地设置考勤期段, 可能使之不一定与自然年月日相同等等。RationalRose 使我们更方便地把上面的想法在类上 去实现,更进一步地设计好我们的高效率的数据库。 当然,使用单一的一个工具去完成一个中大型的应用系统的需求分析,是不可能成功的。因 为社会在发展,用户的需求也在改变,如何把握住用户的需求是需要时间的,面向对象的方 法有时也会忽略外在的与表层的要求,不仅仅是要获得关键的需求,其他更多的需求往往要 等到用户在使用后才知道,然而等到用户使用是不现实的,作为原型开发模型中的原型也是 收集用户需求,描述与解释需求的一类相当有效的方法与工具。 在我们的开发过程中,为了更好地让用户了解我们的系统和我们的设计方案,让用户在见面 会上更有方向性与针对性,我们首先用 Access 开发出原型,让用户先试用。这样,我们在 真正的分析与设计时就能更加符合用户的要求。 总之,软件需求分析方法和工具的使用,对我们软件开发过程影响是很深远的,选用高效能 的正确的方法与工具,可以使我们的软件更加正确地反映现实需求,更加具有可用性、可扩 展性和可维护性;降低了软件项目的风险。 评注:(1)写得有些特色,观点鲜明。(2)摘要写得不错,既反映了项目内容,也小结了本 文的写作要点。(3)文中所举的例子虽然简单,但很实际。(4)多种方法与工具的使用,叙 述得简明扼要。(5)内容可更丰富一些,更深入的例子也可再增多一些,则会更有说服力。 (6)对需求分析的全过程的描述太少。(本文主要参考了广东延国庆等人的论文) 论软件需求分析方法和工具的选用——论文 4:通信行业的应用【摘要】 本文以某通信公司的业务报表系统开发为例,讨论了软件需求分析工具与方法的选用。我们 认为,软件需求分析是软件工程中重要的一步,直接关系到后继工程的进行以及最终的产品 能否满足用户的需求,因此在整个工程中起着关键性的作用。采用适当的工具,有可能显著 减少需求阶段的错误,也可大幅度提高需求分析的质量和工作效率。当然工具的选用应当与 实际的项目相结合,充分地发挥工具的作用。本文结合我们工作的实际经历,简要讨论了开 发系统时所选用的工具及其应用,选用时所考虑的原则以及所碰到的问题。在文中也结合多 种开发方法(即传统的瀑布法、信息工程法、面向对象的方法)的比较,指出各种方法的不 足之处,说明我们所采用的工具对软件需求分析所起的作用,以及相应产生的效果。【正文】 我在某市一家通信公司工作,作为一名技术骨于,受领导委托,参与了开发本公司的业务报 表系统,我担任系统的需求分析、总体设计和部分代码的编写工作。
我所在的企业作为一家通信运营公司,分为总部、省级公司和地市级分公司三级,各级公司 之间都有数据报表的要求。但是,每一个地市分公司因所处的地方不同,经营环境不同,所 面临的问题也不一样,因此形成了各具特色的数据报表(除地市分公司向省公司汇报的之 外)。公司又分设了许多部门,这些部门也都会需要数据,作为分析决策的依据。因此,了 解各个部门的需求就成了业务报表系统的关键。在调研的过程中,我选用了一种工具叫 PlayCASE,可以从网上免费下载,有很强的功能。下面就介绍一下,在需求分析阶段,我是 如何使用这一工具的。 第一步,了解业务组织结构。公司内部的数据实际上是在部门之间流动的。业务部门需要知 道在本地覆盖区内各基站的话务量、当天的话务量(即话务量的时空分布)。财务部门需要 知道本月各类用户的话费收入、预交款收入、与其他电信运营商的网间结算等。计划部门需 要各部门的分析数据。计费部门需要提供本月的账革统计数据、话单统计数据分布(比如分 别按照基站分布、时段分布以及按用户类别分布)、预交款统计数据、当前的欠费总额分布、 催缴情况等等。这些部门时常为了数据而产生了大量无谓的争议。在使用 PlayCASE 工具时, 先要将这些部门录入到 PlayCASE 的“业务部门”中。构成了一个信息源的接收点(或发送 点);而 PlayCASE 通过图示表示了这些部门的关系,并转换成了相应的软件结构。实际上, 这是一种系统建模的方法,即把业务系统中的各个组织转变为软件功能中的各个结构。这样, 在需求分析阶段,明确哪些部门需要数据,从而保证了需求分析对整个公司的全面性,而不 会忽略掉某一个部门,导致需求分析的不完整。第二步,了解各个业务部门中的业务流程, 使之通过 PlayCASE 转换成软件的运行过程,这是一种动态建模的方法。在上一步的基础上, 追踪各个部门的行为,录入到 PlayCASE 中,并以形式化的语言描述各过程。对于复杂的过 程,该工具还提供了进一步细化的方法,并且形成了业务流程图和业务状态图。根据这些流 程图、状态图与实际业务部门的业务相结合比较,还是较为吻合的。在此步的实施过程中, 运用了动态建模技术,使各部门业务流程的情况在软件的运行过程反映出来,从而保证了需 求分析阶段中运行过程的描述能真实地反映实际情况,防止在后继的程序编写过程中,可能 会经常发生的一类情况:程序员因为没有理解业务流程而出现“闭门造车”的现象,从软件 的功能角度上保证了软件的正确性。 第三步,将业务数据转变为软件数据,这一步工作实际上就是收集各部门所需要的数据。分 析各部门需要的数据都有哪些;以及数据是如何转换的,这可以归入“功能建模”的范畴。 将这些相应数据录入到 PlayCASE 中,选定所属的部门。这时就自动地建立了 DFD 图(数据 流程图),数据字典,省去了人工建立时的很大麻烦。 第四步,将业务上的数据关系转变成软件中的数据关系。这里采用了面向对象的方法,把业 务部门所需要的数据看作一个实体,部门间的数据关系就是实体之间的关系。比如:经营部 门所需要的用户资料、用户话费,实际上就是用户这一实体与账单这一实体间的关系。 PlayCASE 提供了构件(不过我觉得是部件更为合适一些),来表示对应的数据,并提供了三 种构件的表示关系即组装关系、分类关系与相连关系。这三类关系基本上反映出了现实世界 中的业务数据之间的关系。例如现实世界中的用户资料与用户话费,在 PlayCASE 中,可将 用户构件与账单构件用相连关系表示。这种方法,实际上是借鉴了 OOA 面向对象的分析方 法中的类、聚集、继承、封装等概念,能较好地反映出现实中的业务;同时,这一步的工作 也为总体设计中数据库的概念模式设计奠定了很好的基础。 经历了上述四个步骤以后,利用 PlayCASE 工具自动生成了软件需求规格说明书、初步的 DFD 图和业务流程图,为下一步的总体设计打好了基础。 使用 PlayCASE 工具,使需求分析既能继承传统的结构化分析方法,又能吸收面向对象设计 方法的优点。比如能把业务流程转变成为运行过程,业务组织转变成了软件的结构等都体现 了这一点。而在运行过程中,对复杂过程的细分以及追踪则反映了传统方法中的自上到下分
解的分析思想,这对于解决复杂系统的分析是很有帮助的。 通过使用,我觉得这个工具还是很不错的。因为它实际将以下四个方面的问题结合起来了: 软件、业务、开发人员和用户。对于用户而言,PlayCASE 用图形化的方式显示出业务流程, 使用户了解业务在软件中的运行过程,提供了将来验收软件时的依据。对于开发人员来说, 使开发人员能更清楚地了解业务流程,不会再发生“因为不理解用户的需求而出现的闭门造 车情况,从而导致开发出来的产品不符合用户需要”的现象。因此,PlayCASE 所自动提供的 需求说明书能够很好地沟通用户与开发人员之间的理解,使他们都能对需求有共同的理解。 使用 PlayCASE 工具后,使我们的需求分析取得了很好的效果,不但能自动地提供许多结果, 如需求说明书等;还使需求的质量有了很大的提高,受到领导的赞扬(领导不是学计算机的, 但对公司的业务十分熟悉);在后继的设计与维护工作中,我们感到工作似乎轻松了很多。 当然,该软件工具也有不足之处,一个突出问题是灵活性不够,一县公司的部门或者组织机 构发生变化时,整个设计都要重新来过。因此,在改进的过程中,我们在第一步过程预留了 好多个虚拟的部门,以备将来进一步的扩充或者变动。 评注:(1)具体项目有些体会,完成情况似乎不错。(2)条理较清晰,比较系统地描述了使 用 PlayCASE 的过程和体会。(3)偏重于工具的讨论,对需求分析的方法分析还嫌不够。(4) 项目相对较小,仅涉及报表系统,对更为复杂的业务流程应举例分析,才能更充分地体现方 法与工具的作用。(本文主要参考了广东魏福建等人的论文) 企业集团的信息管理系统应用【摘要】 本文以某个 IT 产品销售公司的信息系统项目的开发为背景,讨论了一个信息系统需求分析 的整个过程,其重要特征是:所涉及的项目是原有系统的一个升级替换版本。因此,需求分 析过程不同于建立一个全新的系统,大体上可分为三个阶段:()实施逆向工程获得对系统 的初步了解;(2)在第 1 步的基础上写出基本需求,交由客户评审补充;(3)在第 2 步的基 础上开发原型,利用原型与客户交流,最终获得基线需求。针对上述三个阶段,本文论述了 所使用的分析方法与工具以及所遇到过的一些典型问题和措施,最后对需求分析中使用的工 具,谈一些自己的初步体会。【正文】 我于 1998 年 8 月至 2000 年 7 月参加了某个大型集团的企业信息系统的开发工作,该大型 集团的业务主要涉及到 IT 类产品的进销存。本人在项目中负责系统分析的工作,该集团企 业原先已委托某个电脑公司开发过一套 IT 类产品管理系统,但是该老系统存在两个主要的 问题:(一)系统运行速度非常慢,如商品销售开单时,从确定开单到开单完成有时需要 1~ 2 分钟左右的响应时间,让客户无法忍受。(二)系统数据不准确,经常出现实物库存与电 脑库存严重不相匹配的情况,使销售数据的统计产生一些混乱,有关财务的数据因此无法有 效使用,只能采用人工录入方式补充进行。在这种情况下,该集团的总经理决定参考原有系 统重新开发一个系统,以便解决原系统所存在的上述两个难以克服的难题。注;原系统采用 PB6.5 开发,数据库采用 SYBASE,服务器采用 Windows2000Server,客户端采用 Windows98, 程序架构采用的是传统的 C/S 结构。 鉴于该集团业务操作复杂,流程多,涉及人员多等特点,以及项目完成时间短,经费有限, 人员有限等限制约束条件,再考虑到必须避免前一系统出现过的结构混乱与难于维护等问 题,我们决定要对原系统的需求做一个比较彻底的和切实可行的分析,由于原有系统已经开 发了近两年,并且客户也有了一定的使用经验,业务基本流程本身也并没有太大的变化,因 此,我们把需求分析的过程分为三步:()分析原有系统的结构,主要是数据库结构和程序 结构,(2)在获得第(1)步结果的基础上写出基本需求,交由客户评审补充,(3)在第(2) 步的基础上开发原型,利用此原型与客户交流,从而获得最终可用的需求结果。下面按上述 三步分别加以论述。第一步是实施逆向工程,获取原有系统的基本需求。 由于原有系统在功能上大体上能基本满足客户的需求,并且在两年多的开发中也积累了不少
分享到:
收藏