2023年系统架构设计时案例分析.pdf
《2023年系统架构设计时案例分析.pdf》由会员分享,可在线阅读,更多相关《2023年系统架构设计时案例分析.pdf(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、论文一公司人事信息系统的应用广东延国庆中国系统分析师网站【摘要】本文讨论 公司人事信息系统项目的需求分析方法与工具的选用。该系统的建设目的是帮助该公司管理好公司内部的人员和人员的活动,人事信息管理指的是公司员工从招聘面试到离职退休的全过程,涉及的重要活动涉及面试、报到、培训、升职、离职或其他的人事变动,也涉及电子化考勤、工资性收入的计算与分发、使用其他公司资源的有关记录(如宿舍、保险、证件办理等等)。此外,本系统也涉及到公司在全国各地的人事信息管理,公司的组织架构的设立,级别与职务管理,人力申请直至人力需求报表,从而形成一个对公司真正有用的人事信息管理应用系统。在本文中一方面讨论了选用面向对象
2、方法与工具的重要理由与策略,进一步通过一个简例说明该方法与工具使用的效果,也讨论了使用多种工具与方法在需求分析中的必要性,最后简要小结了选用对的工具与方法的意义和作用。在项目开展期间,我担任了系统分析、系统设计与数据库管理等大量工作。【正文】人事信息管理系统是一个有着广泛应用面的实用性系统,但是,我国各个公司有着自身的体制、机制、特点与不同的规定;在开发这类系统时,系统需求分析是极为重要的一环。在整个分析过程中,我们都采用了面向对象的分析方法,这是由于我们在近几年的实践中已坚信这种方法可以更加有效地表达和描述现实世界。软件要具有合用性和扩展性,就必须更接近于现实世界自身的发展规律。以一个简朴的
3、例子来看,假设规定设计关于引进人才评估的一个系统,按我们过去的做法,先会规定提供应我们一份相关的引进人才评估表,然后依葫芦画瓢地设计相应的表单与界面。在短期来说,这样做是简便而实用的,但并不可以符合现实世界的长远目的,这套设计方法不具有扩展性,由于任何一份评估表的结构都会有也许发生许多改变的。采用面向对象的方法,可以从中提取出表类型、表结构、评分方法以及能考虑继承等各方面的要素,这样就可以保证软件的通用性,可配置性与可维护性。在工具的选择过程中,我们选择了现在已十分流行的Rational系列,涉及Rational R ose、R U P、SoDA等,为什么选取这个系列工具呢?这是基于我们对软件
4、需求分析目的的见解,我们认为需求分析应当能对的地回答如下的几个关键性问题:(1)用户的需求是否已详尽地被考虑到了?(2)用户能理解或明白我们所描述的内容吗?(3)分析是否会和设计相脱节,(4)程序员能明白我们的分析与设计规定吗?等等。以下对上述几个问题逐个简要地加以说明:(1)详尽地获取用户的需求。用户的需求可分为显式的需求与隐性的需求,用户的倾向往往只顾及到当前的与明显的需求。要达成对需求理解的全面性,不仅仅只是依靠有效的用户谈话和调查,由于我们所面对的用户需求往往会有些片面的,采用Rational Rose(基于UML)提供的用例,以及多种图的联合使用,可以使我们发现其中的漏掉。(2)使用
5、户能充足地理解我们的表达方法,可以真正明白我们描述的内容。软件需求分析规格说明书通常会是冗长而枯燥的,一般的用户不容易进一步理解,这样就削弱了分析的对的性。通过支持面向对象及UM L语言的Rational Rose可以更好地和用户交流,让用户了解系统的运作方式甚至细节的操作。(3)使分析和设计两个阶段互相联系与贯通。这是我们选择面向对象的方法及Rational R ose工具的重要因素,系统分析要向用户描述的不仅仅是用户的需求,并且涉及解决方法,解决方法当然应涉及设计(程序)、数据库与系统配置,我们当然不希望用户得到的是一个与需求规格说明不相同的软件,也不也许规定程序员完毕一个不可胜任的任务。
6、然而我们在以前的多项工作中经常发现这类情节,由于系统分析与设计互相脱节,导致一头扎在分析中不顾设计有关的事宜。分析与设计的脱节,还不利于设计现格说明的评估,由于分析往往会脱离现实,导致缺少评估的依据。由于不也许成功地完毕设计而使分析需要重来,就会导致巨大的浪费与损失。一个好的工具可以使分析与设计更紧密地连结起来,甚至于一一相应。面向对象的分析方法使对象之间相对而言有独立性,减少了任何影响到全局的改动,能避免因需求变化而导致全盘皆动的被动局面。(4)使程序员明白我们的设计。一个好的设计应当让程序员感到清楚明白,更少疑问。一个疑问很多的设计加上沟通不畅,绝对会出现在应用环境下所不需要的另一个软件,
7、所以设计规格说明书务必清楚、形象与明确,当然,Rational R ose具有足够的图形与其他形式,能使程序员更加明确,甚至能细微到每一个语句(事实上假如使用V B,程序架构都有也许直接生成了)。(5)选择U M L也许会有更多的理由。比如用户文档的编写、数据库设计,我们都需要做到有延续性,有自动化支持和具有质量上的保证。所以,我们选用了以上的方法和工具。在分析中,面对考勤班次的问题时,由于过去一直使用纸卡方式考勤,使用户对班次形成了固定的概念,而现在的许多考勤软件也采用多次刷卡的方法来形成一天的记录。通过面向对象的分析可以发现,事实上天天的上班记录是由多个时段所形成的,时段的多少在各个公司,
8、各个工种与部门都不尽相同,每个时段也许有不同的属性,时段与时段组合可形成为班次,这更适合于现实的情况,使之能更加灵活与更有扩展性。其实,在天与天之间也都有互相之间的关系。在这一点上,我们又发现必须在考勤与薪金工资中加入与M R P中相似的期段(Periods)的基本概念,比如可以称之为考勤期段,允许为用户更加方便地设立考勤期段,也许使之不一定与自然年月日相同等等。Rational R ose使我们更方便地把上面的想法在类上去实现,更进一步地设计好我们的高效率的数据库。当然,使用单一的一个工具去完毕一个中大型的应用系统的需求分析,是不也许成功的。由于社会在发展,用户的需求也在改变,如何把握住用户
9、的需求是需要时间的,面向对象的方法有时也会忽略外在的与表层的规定,不仅仅是要获得关键的需求,其他更多的需求往往要等到用户在使用后才知道,然而等到用户使用是不现实的,作为原型开发模型中的原型也是收集用户需求,描述与解释需求的一类相称有效的方法与工具。在我们的开发过程中,为了更好地让用户了解我们的系统和我们的设计方案,让用户在见面会上更有方向性与针对性,我们一方面用A c c e s s 开发出原型,让用户先试用。这样,我们在真正的分析与设计时就能更加符合用户的规定。总之,软件需求分析方法和工具的使用,对我们软件开发过程影响是很深远的,选用高效能的对的的方法与工具,可以使我们的软件更加对的地反映现
10、实需求,更加具有可用性、可扩展性和可维护性;减少了软件项目的风险。【评注】(1)写得有些特色,观点鲜明。(2)摘要写得不错,既反映了项目内容,也小结了本文的写作要点。(3)文中所举的例子虽然简朴,但很实际。(4)多种方法与工具的使用,叙述得简明扼要。(5)内容可更丰富一些,更进一步的例子也可再增多一些,则会更有说服力。(6)对需求分析的全过程的描述太少。论文二公司集团的信息管理系统应用广东刘小波中国系统分析师网站【摘要】本文以某个I T 产品销售公司的信息系统项目的开发为背景,讨论了一个信息系统需求分析的整个过程,其重要特性是:所涉及的项目是原有系统的一个升级替换版本。因此,需求分析过程不同于
11、建立一个全新的系统,大体上可分为三个阶段:(1)实行逆向工程获得对系统的初步了解;(2)在 第 1步的基础上写出基本需求,交由客户评审补充;(3)在第2步的基础上开发原型,运用原型与客户交流,最终获得基线需求。针对上述三个阶段,本文论述了所使用的分析方法与工具以及所碰到过的一些典型问题和措施,最后对需求分析中使用的工具,谈一些自己的初步体会。【正文】我 于 1 9 9 8 年 8月至2 0 2 3 年 7月参与了某个大型集团的公司信息系统的开发工作,该大型集团的业务重要涉及到I T 类产品的进销存。本人在项目中负责系统分析的工作,该集团公司原先已委托某个电脑公司开发过一套I T 类产品管理系统
12、,但是该老系统存在两个重要的问题:(一)系统运营速度非常慢,如商品销售开单时,从拟定开单到开单完毕有时需要1 2 分钟左右的响应时间,让客户无法忍受。(二)系统数据不准确,经常出现实物库存与电脑库存严重不相匹配的情况,使销售数据的记录产生一些混乱,有关财务的数据因此无法有效使用,只能采用人工录入方式补充进行。在这种情况下,该集团的总经理决定参考原有系统重新开发一个系统,以便解决原系统所存在的上述两个难以克服的难题。注;原系统采用PB6.5开发,数据库采用SYBASE,服务器采用Windows2023Server,客户端采用Windows9 8,程序架构采用的是传统的C/S 结构。鉴于该集团业务
13、操作复杂,流程多,涉及人员多等特点,以及项目完毕时间短,经费有限,人员有限等限制约束条件,再考虑到必须避免前一系统出现过的结构混乱与难于维护等问题,我们决定要对原系统的需求做一个比较彻底的和切实可行的分析,由于原有系统已经开发了近两年,并且客户也有了一定的使用经验,业务基本流程自身也并没有太大的变化,因此,我们把需求分析的过程分为三步:(1)分析原有系统的结构,重要是数据库结构和程序结构,(2)在获得第(1)步结果的基础上写出基本需求,交由客户评审补充,(3)在 第(2)步的基础上开发原型,运用此原型与客户交流,从而获得最终可用的需求结果。下面按上述三步分别加以论述。第一步是实行逆向工程,获取
14、原有系统的基本需求。由于原有系统在功能上大体上能基本满足客户的需求,并且在两年多的开发中也积累了不少经验,因此,从中可以获得一些有益的参考,也可以避免多走弯路。在这一阶段,我们采用的重要工具是P B 自带的Power Designer和 PB Documents;前者重要用来分析数据库结构,后者重要用来分析程序结构,便于开发人员与高级用户理解程序。采用这两个工具的因素是:原系统过于庞大,模块多,数据库模式多,表格量很大,仅靠人工的方法很难从中获得一个比较完整的、明确的系统结构以及整体构成,并且原有系统未能提供一套对的完整有效的设计文档,于是我们只能依靠工具辅助来进行。在使用Power Desi
15、gner分析数据库,并且用PB Documents分析原程序中的P B L 以后,我们对原系统的结构有了一个初步的了解,再结合对原系统的使用,基本明确了功能与流程的需求,并在此基础上用人工录入方式,产生了初步需求的自然语言文档。这里指出,使 用 Power Designer的一个局限性之处是:假如一个表中的字段过多,并且又同时依赖多个表时.,输出的表格相关图形很复杂,有很多交叉,且难于调整,不方便阅读及打印。第二步是在第一步的基础上进行的,即写出系统基本需求,交由客户评审和补充。通过第一步的逆向工程,我们获得了系统的基本需求。为了充足记录需求的变化及需求之间的依赖关系,我们决定选用Ration
16、al公 司 的 Requisite PR O 作为我们的需求管理工具,Rational公司有一整套用于需求管理的工具,功能非常强大,涉及Requisite Pro Clear Quest等等,这些需求分析工具可以对需求进行全面的管理,涉及记录需求的变化情况,需求之间的依赖关系等等。但是,我们考虑到Rational的一套工具全面实行会非常昂贵与复杂,需要非常强的项目管理能力才干全面实行,因此,我们只采用了其中最简朴的一部分功能,那就是记录需求变更,记录需求之间的依赖关系,其他跟RU P有关的功能都给略去了。之所以这样做,重要是考虑到项目的经费、人力以及国内软件开发的实际情况。正如前面所说,我们根
17、据自己的理解并写出基本需求后,交由客户做评审井做适当补充,我们将通过补充整理后的需求作为正式需求记录入Requisite P ro 所维护的数据库中,并对各个需求进行分类,设定优先级等,这些工作完毕后,就可以从数据库中直观地了解客户到现在为止提出了哪些需求,哪些需求是必须优先考虑的,哪些是难度较大的等等。在这个过程中,我们碰到了一些问题,譬如:用户对我们用自然语言书写的需求文档有许多地方不理解,往往在花了较长时间阅读之后,仍不明白我们所描写的需求过程与他们所完毕的业务之间的相应关系;此外是由于初次采用Requisite P ro 进行需求管理,在类型划分,属性值的拟定上,部分开发人员没有经验,
18、导致了不少反复,对于前者,我们的方法是想办法增长一些示意图,将大的流程分解为小流程,再与客户反复交流与沟通,最终达成双方理解一致的目的。对第二个问题,则参考了一些例子,再结合实际中属性的使用情况,给予取舍或者选择,通过这一阶段的工作,我们建立了基本的需求库,定出了基本需求规格说明。第三步则是在第二步的基础上建立起原型,运用原型与客户进行更进一步的交流,通过交流修改相应的需求。在这一阶段的工作是在对第二步任务进行报告交流的基础上进行的。我们用P B 开发了一个原型系统,就具体的业务流程与客户进行交流与沟通,通过原型,客户发现了许多我们与他们的理解互相不协调的地方,我们在修改需求的同时,也 在 R
19、equisite P ro 需求数据库中记录下修改的历史。事实证明,这种记录历史的作用是很有效的,如曾经有客户在两个不同的时间对同一需求提了相反的需求,我们根据历史记录不久证实了该客户的提法有错误,在事实面前无需再作争论,同时运用Requisite P ro,我们还发现了一些需求互相之间有矛盾。通过这一阶段工作,我们终于获得了通过用户认可的需求基线,即是可用于下一步进行具体设计的基线需求。在这个项目中,我们运用了 Power Designer PB Documents等逆向工程分析工具和RequisiteP ro 需求管理工具,这些工具的使用,使我们提高了工作效率,起到了一定的辅助作用。但是,
20、就需求分析工具方面而言。我们觉得国内应用得还是太少了,这一方面是由于对需求分析不够重视,另一方面是由于管理水平还达不到相应的层次。Rational公司的一整套需求分析工具,其功能是非常强大的,国外已在普遍地使用,在国内也逐渐开始普及,特别是那些通 过 CM M 二级以上评审的单位,都必须使用工具对需求进行管理。在本项目中,我们仅仅运用了 Requisite P ro 功能的一些小方面,已经体会到该工具对于项目管理的诸多好处.假如一个有实力的公司可以全面实行R U P,那么需求管理这个老大难的问题会变得不再那么棘手了,项目的质量也会得到相应的提高。目前国内由于CMM热潮的兴起,已经逐渐重视需求分
21、析,也逐渐使用需求分析工具,这是非常可喜的,当然,更希望在不久的将来,能用上国产的需求分析工具,那时我们的软件产业也许会真正地腾飞了。【评注】采用逆向工具进行再工程的应用很多,本文给出了一个实际的例子。写作有条理,也很实际。合理地界定了需求分析的现实水平。所采用的需求分析的方法与工具相对较合理科学。能在对项目讨论的同时抒发议论、使用体会、爱国心和事业心。深度还可以提高,例子宜更加丰富一些。论文三通信行业的应用广东魏福建中国系统分析师网站【摘要】本文以某通信公司的业务报表系统开发为例,讨论了软件需求分析工具与方法的选用。我们认为,软件需求分析是软件工程中重要的一步,直接关系到后继工程的进行以及最
22、终的产品能否满足用户的需求,因此在整个工程中起着关键性的作用。采用适当的工具,有也许显著减少需求阶段的错误,也可大幅度提高需求分析的质量和工作效率。当然工具的选用应当与实际的项目相结合,充足地发挥工具的作用。本文结合我们工作的实际经历,简要讨论了开发系统时所选用的工具及其应用,选用时所考虑的原则以及所碰到的问题。在文中也结合多种开发方法(即传统的瀑布法、信息工程法、面向对象的方法)的比较,指出各种方法的局限性之处,说明我们所采用的工具对软件需求分析所起的作用,以及相应产生的效果。【正文】我在某市一家通信公司工作,作为一名技术骨于,受领导委托,参与了开发本公司的业务报表系统,我担任系统的需求分析
23、、总体设计和部分代码的编写工作。我所在的公司作为一家通信运营公司,分为总部、省级公司和地市级分公司三级,各级公司之间都有数据报表的规定。但是,每一个地市分公司因所处的地方不同,经营环境不同,所面临的问题也不同样,因此形成了各具特色的数据报表(除地市分公司向省公司报告的之外)。公司又分设了许多部门,这些部门也都会需要数据,作为分析决策的依据。因此,了解各个部门的需求就成了业务报表系统的关键。在调研的过程中,我选用了一种工具叫Play C A SE,可以从网上免费下载,有很强的功能。下面就介绍一下,在需求分析阶段,我是如何使用这一工具的。第一步,了解业务组织结构。公司内部的数据事实上是在部门之间流
24、动的。业务部门需要知道在本地覆盖区内各基站的话务量、当天的话务量(即话务量的时空分布)。财务部门需要知道本月各类用户的话费收入、预交款收入、与其他电信运营商的网间结算等。计划部门需要各部门的分析数据。计费部门需要提供本月的账革记录数据、话单记录数据分布(比如分别按照基站分布、时段分布以及按用户类别分布)、预交款记录数据、当前的欠费总额分布、催缴情况等等。这些部门时常为了数据而产生了大量无谓的争议。在使用Play CA SE工具时,先要将这些部门录入到Play CASE的 业务部门”中.构成了一个信息源的接受点(或发送点);而 Play CASE通过图示表达了这些部门的关系,并转换成了相应的软件
25、结构。事实上,这是一种系统建模的方法,即把业务系统中的各个组织转变为软件功能中的各个结构。这样,在需求分析阶段,明确哪些部门需要数据,从而保证了需求分析对整个公司的全面性,而不会忽略掉某一个部门,导致需求分析的不完整。第二步,了解各个业务部门中的业务流程,使之通过Play CASE转换成软件的运营过程,这是一种动态建模的方法。在上一步的基础上,追踪各个部门的行为,录入到Play CASE中,并以形式化的语言描述各过程。对于复杂的过程,该工具还提供了进一步细化的方法,并且形成了业务流程图和业务状态图。根据这些流程图、状态图与实际业务部门的业务相结合比较,还是较为吻合的。在此步的实行过程中,运用了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 系统 架构 计时 案例 分析
限制150内