温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
csai200301
中国系统分析员 2003 年第 1 期 主办单位 主办单位 中国系统分析员协会 出版单位 出版单位 中国系统分析员编辑部 创刊年份 创刊年份 2002 年 主编 主编 张友生 副主编 副主编 马映冰 王 巍 王锦东田俊国 刘 兴 编委 编委 马 荣 王瑛珑 陈建忠 郑泽胜 胡志华 编辑 编辑 何玉云 张啸杰 本期责任编辑 本期责任编辑 何玉云 编辑部 编辑部 地址 地址 湖南省长沙市湖南师范大学信息技术研究所 邮政编码 邮政编码 410081 电话 电话 0731-8872579 传真 传真 0731-8872579 主页 主页 http:/www.CSAI 电子投稿 电子投稿 版权声明 版权声明 中国系统分析员电子杂志内所有文章的版权归中国系统分析员杂志社所有,未经允许,杜绝一切转载行为。如需转载者,请直接与编辑部联系。中国系统分析员协会会刊 2003 年 2 月版 第 2 卷第 1 期(总第 5 5 期)目目 录录 协会动态协会动态 主编随笔 王 巍 3中国系统分析员协会网站CSAI 正式开通 CSAI 4 解决方案解决方案 如何编写项目可行性分析报告 曹 伟 6 系统分析系统分析 电子门票系统的设计与实现 黄立宏 17 软件测试软件测试 SQA 小组应用程序测试指南 王东刚 23软件测试计划编写指南 贺 炘 28基于 Web 的系统测试方法张友生 41 CASE 工具工具 Visual SourceSafe 如何支持并行开发 王和全 47 编读往来编读往来 投稿指南 编辑部 54CSAI 提供全面的 IT 项目监理 CSAI 56 中国系统分析员协会(http:/www.CSAI)第 2 页 中国系统分析员 2003 年第 1 期 主编随笔主编随笔 做一位合格的系统分析员近来,随着 2002 年度系统分析员考试成绩的陆续公布,关于系统分析员和系统分析员考试的各种评论也随之多了起来,其中有些听起来比较尖锐,但又是值得大家深思的看法。比如:“稀缺的是能干的软件设计师,不是证书。”,“感觉做得一团糟,居然过了。”,“感觉和高程相比,系分难就难在下午 I”。实际上,从根本上来讲,就是要回答一个问题:“怎样才算是一个合格的系统分析员?”作为一个合格的系统分析员,我个人觉得首先应该对系统分析这项工作的整个流程要在丰富的实践经验基础之上有较深刻的理解和体会,对于项目的各个实现环节的技术特点和实现障碍和难点要了如指掌。这点实际上是对系统分析员的技术要求。但作为一个合格的系统分析员,仅仅符合其应具有的技术要求是相当不够的,他还必须了解和熟悉企业的业务流程和管理流程,并具有与服务对象(客户)沟通与协调的能力。这就需要系统分析员具有一定的管理学知识、心理学知识、财务管理学、统计学等相关知识。遗憾的是,不知出于什么原因和考虑,从一九九六年起对系统分析员考试的知识要求不再包含这些内容,可以说这点实在是系统分析员考试的一大败笔。另外,最近我做了一项小调查,得悉我们的系统分析员队伍中有一定数量成员的所学专业不是计算机或与计算机相关领域的,有的是学国际贸易的,也有的是学汽车专业、中药学等专业的。很高兴看到这一现象,只是似乎比例还比较低。我个人认为最优秀的系统分析员最有可能出现在这一批成员中。因为他们具有扎实的业务专业知识,并掌握了相关的计算机必备知识,从系统分析这项工作的本质来看,他们是具有相当优势的。我曾通过电子邮件与美国的同行交流过,在美国干系统分析工作的,大量的人都是非计算机专业的,有相当数量的是财务、统计、管理出身,及一部分是具有理工科背景的,而在最出色的那些高级系统分析员(在美国没有专门的系统分析员考试,系统分析员、高级系统分析员、高级软件工程师等称呼的人干的都是系统分析工作,这些称呼都是企业或政府部门中设置的职位名称)中,这一比例更高。这从另一个侧面印证,一个合格的系统分析员仅有计算机知识是相当不够的。希望我们的系统分析员队伍中有更多的非计算机专业背景的人才加入,而计算机专业人才则应更多地关注于对非计算机方面知识的获取,努力提高系统分析员的自身素质。通过系统分析员考试,并不意味着可以飘飘然而不思进取,自以为是。还需不断修炼,获取经验和知识,跟上时代发展的步伐和技术的进步,才能保证自己不会被社会淘汰。最近很高兴看到一则消息,我们系统分析员协会的理事长张友生先生又一次参加并再次通过了系统分析员考试。这里我不是要鼓动各位再去考一次,只是想说明一个问题,知识需要不断更新和积累,这也是作为一个合格的系统分析员所应具备的基本要求。在这方面,我相信我们的这本系统分析员协会会刊中国系统分析员杂志可以助各位一臂之力。2003 年 2 月 18 日 中国系统分析员协会(http:/www.CSAI)第 3 页 中国系统分析员 2003 年第 1 期 中国系统分析员协会网站正式开通 中国系统分析员协会网站正式开通 CSAI 2003年02月01日,中国系统分析员协会网站(http:/www.CSAI)正式开通。CSAI网站关注的主要领域有:IT新技术、软件工程、项目管理、解决方案、行业信息化、软件水平考试等。CSAI 提供的服务提供的服务 IT 项目(网络工程/软件工程/系统集成)监理 IT 项目(网络工程/软件工程/系统集成)监理 CSAI按工程项目的规律、参照工程监理模式,结合信息化建设项目特点,形成一套适合信息化建设项目的监理方法去实施监理。IT 项目(网络工程/软件工程/系统集成)顾问 IT 项目(网络工程/软件工程/系统集成)顾问 CSAI为各软件企业提供IT项目(网络工程/软件工程/系统集成)顾问服务,内容包括企业发展方向顾问、软件产品研发顾问、CMM实施和评估顾问;提供产品(系统)解决方案;定制软件企业管理规范、软件过程规范等。软件工程培训 CSAI广泛开展软件工程的离线培训,培训课程有软件工程;软件项目管理;CMMI 总论;软件开发文档;软件过程改进;软件质量保证;软件配置管理;软件测试技术;软件工程标准等。会员企业产品宣传 会员企业产品宣传 所有IT企业和与IT行业有关的信息咨询和顾问公司都可以成为CSAI的会员企业。CSAI网站为会员企业提供以下服务:(1)铜牌会员:企业介绍、企业动态、软件产品(服务)介绍。(2)银牌会员:企业介绍、企业动态、软件产品(服务)介绍、常年人才招聘。(3)金牌会员:企业介绍;企业动态;软件产品(服务)介绍、常年人才招聘、常年广告服务。广告服务 广告服务 CSAI网站还为各类企业和网站提供广告服务,主要的广告形式有:(1)横幅广告:可选择不同页面的显著位置上放置广告横幅。其访问人群众多,受众范围广泛。(2)首页文字连接:在www.CSAI的首页,放置文字链接,是最廉价的大范围宣传方式。(3)热点栏目冠名:热点栏目由客户买断,栏目持续时间长,企业可经常更换不同的中国系统分析员协会(http:/www.CSAI)第 4 页 中国系统分析员 2003 年第 1 期 广告内容,品牌效应更好,点击率更高。(4)商家宣传活动:内容可包括有奖调查,网上发布,网上评选等,吸引大家的兴趣从而达到宣传的效果。技术论坛 技术论坛 技术论坛是CSAI网站为网友提供的交流和讨论的空间,主要栏目有系统分析、系统设计、程序编码、系统测试、项目管理、水平考试和系分协会等。中国系统分析员协会(http:/www.CSAI)第 5 页 中国系统分析员 2003 年第 1 期 如何编写项目可行性分析报告 如何编写项目可行性分析报告-如何编写中小企业 ERP 项目的解决方案书-如何编写中小企业 ERP 项目的解决方案书 中国系统分析员协会(CSAI)曹伟 作者声明作者声明 软件开发过程系列文章仅仅授权 www.CSAI 网站或 中国系统分析员 杂志刊登,本文作者保留其他版权。最近在项目整体架构上有新的认识,从整体解决方案的提出到项目验收实施,关于项目管理的在实际应用过程中必须注意的问题、如何解决这些问题、这些问题的一些理论基础。为此,我这里写了该系列文章来和大家交流交流(Mail:)。项目的可行性分析报告,一般人说是“可行性研究报告”,对于我来说,我是工程人员,对“研究”这个词敏感,我比较喜欢“分析”这个词,这个也是我喜欢数学的缘由,所有这个根据个人的习惯可以使用不同的名称。此处需要说明的是项目是软件开发项目,软件开发项目不同于硬件投运项目和交通土建的项目。但是考虑的对象还是项目的实现在技术、经济和社会条件方面的可行性;同时,还必须评述为了合理地达到开发目标而可能选择的各种方案,这个方案我们在 软件开发过程之一:如何编写项目的解决方案(见中国系统分析员2002 年第 4 期)中已经做了说明;但对于中小型企业本身来说,他们需要从几个供应商选择一个最佳的方案。在这里,我们又回到该文章的开头,我说了我喜欢“分析”这个词,而对“研究”这个词没有感觉,原因在于企业的经理们喜欢把我们的报告拿去做比较,最后经过“研究”出来一个较好的解决方案,并且说明、论证所选定的方案。我们回到软件开发文件编制指南,是中华人民共和国国家标准局 1988 年出台的一部软件行业标准,该标准在 2000 年做了一些修改,我记得当初想知道修改那些,化了一天的时间也没有发现有什么本质的不同。说明这里存在两个问题:一,该行业标准已经非常成熟,无须修改;二,这十年来软件开发的过程没有发生变化。一、从标准谈起一、从标准谈起 我还是喜欢标准的,不妨先把标准的要求陈述如下:1引言 1引言 实质问题前的废话,该栏目含有以下内容:实质问题前的废话,该栏目含有以下内容:编写目的、项目背景。2 可行性研究的前提 2 可行性研究的前提 一项计算机软件的筹划、研制及实现,构成一个软件开发项目。一个软件开发项目的进中国系统分析员协会(http:/www.CSAI)第 6 页 中国系统分析员 2003 年第 1 期 行,一般需要在人力和自动化资源等方面作重大的投资。那么我们为了达到一定的经济目的,而对项目那些核定,以确定该项目的目标、条件;该项目条件的假定和限制;核定项目可行性研究的方法、评价尺度。33对现有系统的分析 对目前(现有)的系统的比较,其参考对象都是手工操作,把手工操作和计算操作的比较,在某些时候这种比法我认为没有什么可比性,数据流程和处理流程是不一致的;工作负荷和系统(计算机或人工)能承受的压力完全有别。当然还要考虑费用开支、人员、设备、项目本身的局限性。4建议的系统 建议的系统 所谓建议的系统就是我们在解决方案里说明的系统。在解决方案中我已经详细地叙述了数据流程和处理流程;而在可行性分析报告中,我们还必须说清楚以下问题:以上叙述的业务流程改进之处;系统投入运行以后产生的影响,对设备的影响、对用户单位机构的影响、对其他系统运行的影响、对地点和设施的影响、对经费开支的影响;项目的局限性,有什么样的问题无法解决;技术条件方面的可行性 5可选择的其他系统方案 5可选择的其他系统方案 我(们)的方案和我(们)竞争对手的方案。6.投资及收益分析 6.投资及收益分析 这个问题是最主要的问题,但此处有一个“难言之隐”,作为系统分析员,尤其是国内的系统分析员,我们经济学的基础相当的薄弱,而且会计的知识也相当的匮乏。但系统立案最基本的依据还是经济效益的依据,再好的项目、再先进的技术、再完美的解决方案,但若不能给企业带来利益,企业是不会购买的。题外话:我觉得系统分析设计人员应该至少是个经济学者,我现在正在夜以继日地学习经济学,同时也在复习数学。项目的需要分析经济指标:支出:基本建设投资;其他一次性支出;非一次性支出;收益:一次性收益;非一次性收益;不可定量的收益;收益投资比:投资回收周期;敏感性分析 7社会条件方面的可行性 7社会条件方面的可行性 经济方面、技术方面的问题都解决了,余下的就是:法律方面的可行性和使用方面的可行性。其实还有一个问题比较重要,就是用户使用该软件时心理,这个问题将在后软件设计时中国系统分析员协会(http:/www.CSAI)第 7 页 中国系统分析员 2003 年第 1 期 讨论到,针对不同类型用户设计什么样的 GUI,这样采用什么样的程序语言来设计、开发程序,这个关于设计问题在后面再讨论,但在这里必须指出,项目在分析的如何将导致设计、开发。哑,我在提一个问题,在该系列文章中,我仅仅对软件开发过程中的技术进行详细的描述,主要软件实现-在应用方面的实现,所以我在该可行性分析报告编写中分析中也仅仅在技术方面进行说明,经济方面、法律方面仅仅简单提及,这个问题将其他方面的文章进行详细的分析。二、技术方面的可行性二、技术方面的可行性 在解决方案的提出上,我们的参考依据是什么?这个问题的回答在技术的实现上,针对一些公司的为了拿下某些市场,不惜一切的代价来把技术的实现提高一个理想化的空间,但是在实际的操作过程中,又是没有办法来弥补在签定合同之前的“夸下的海口”。在 WEB 平台上开发软件正是未来软件的开发趋向,但是低层平台的选择对于一个公司在技术领域的发展是至关重要。目前只有两家能够提供这方面的平台级服务,一者 Microsoft,一者 IBM。但从去年 Microsoft 推出 Biztalk 后,我个人认为 Microsoft 已经从提供个人服务向中小型企业提供解决方案级的服务。.NET 是融合很好的平台,我们可以借助 Microsoft个人平台的优势来推动中小企业的发展。但最近 IBM 的 Lotus 的应用引进了 Demlio 这个也是中小企业的选择,如果不从和个人服务结合来看问题,采用 IBM 的服务无疑是最好的,但是桌面平台在 Microsoft 手里,以后的竞争就好看了,但是遗憾的是我们仅仅当当观众。1问题说明(需求阶段)1问题说明(需求阶段)以下来考察一下 WEB 信息平台开发的问题根源:(如果写分析报告时,以下这些信息需要组织一下)(1)服务器提供服务的问题:授权问题、认证问题,具体可参见微软的 Backoffice的设计模式,a.接口定义:每增加一台机器,在 COM 的接口上增加一个线程,但应该考虑服务器在一般情况下的停用的问题,这个是设计 COM 服务器的关键因素;b.许可证协议,谈及问题所在是对文件格式的识别,在算法上解决如是的问题,但该问题的解决在应用程序上,而非在本信息管理的平台上。(2)须考虑消息的群发的机制,对于消息本身是对某类特定的用户进行发送,因为计算机系统本身并不考虑人的因素,只有人才考虑人的因素,在具有相同特征的用户,他们需要收到这些信号。这些消息包括本服务发送的 UDP 信息包、同时也还包括其他方式的MESSAGE,比如 ICQ 的 MESSAGE,MSN 的 MESSAGE 等等,这些消息接入机制简化了信息的在不同系统、平台的通讯。(3)如何连接触发器(与数据库的连接),数据库的触发器是数据库的应用管理系统发出的数据库被操作的信息,而消息机制本身的数据的写入写出就是在某些约束条件满足的情况下进行的,固然对于触发器的本身有信息沟通的单工模式,这个信息可以在管理平台进行数据的操作(消息的传送)。(4)连接 MSMQ 采用数据库 nText()模式进行实时写入,这个模式仅仅是解决在机器(服务器突然死机或重新启动的情况下信息数据不保存和 MSMQ 本身不提供对消息进行查找,仅提供对消息队列进行查找)。写入数据库的模式保证了查询的实时性、存在性。同时也可以连接到其他消息机制,如(2)所说明的问题。中国系统分析员协会(http:/www.CSAI)第 8 页 中国系统分析员 2003 年第 1 期(5)连接时间的限定,对于连接时间,客观上应该没有限制,因为对于特定用户没有必要对其限定,若限定了,就可能在操作上带来不便,但若不提供时间设置可能在安全上存在隐患。对这个问题应该折中考虑。(6)信息的转化,在下一代网络模式中,应该大部分文件模式都是可以相互转化的,不然并不适合升级(因为升级的过程伴随着将数据进行转化)。.xml 将是下一代文件格式转化的中间站,固然需要将文件格式与.xml 等标准格式连接上。以上的六个 Case 仅仅是我举例,当然在 WEB Service 上开发软件几个重要的问题在那里,这些地方有没有什么解决方法。如果没有,如何来处理该问题,写明处理方法,比如Case 4 就是对 MSMQ 队列服务向数据写数据的解决方法;倘若没有方法,如 Case 5 需要说明对该问题提及和相关的考虑。有些问题需要是说明性如 Case 1 是问题的提出;Case2 是从操作角度的考虑;Case3 是从技术实现角度的考虑。如上是技术实现角度的考虑,该部分可以不提供给客户,而是通过问题的询问和客户相关的技术参数,而这些参数是我们作为系统分析员或系统架构师必须知道的。一个系统在什么样的环境下运行有两方面的原因,一是客户现有的资源的影响和客户投资的影响,二是我们解决方案是基于什么样的平台的影响。固然我们提供给客户一个不合理的解决方案的话,那么客户的投资是将很“合理”。2相关协议的确定 2相关协议的确定 我们在解决方案提到,该数据等交互、交换采用 EDI 方式,采用 XML 的格式文件作为平面文件,采用 XML 映射文件作为格式互换文件模板。(EDI 方式交互数据参见如下的描述)另外如何解决数据的传送,数据在网络上传送,期间的距离是不定的,大家在这个问题上比我清楚,因为数据包 A 和数据包 B 走的“路由表”不一致。下面我们来分析一下网络接口协议,以网络接口协议来分析在可行性分析报告中协议的商定:关于网络协议接口目前采用 Socket 2.0 模式,进行客户机器和服务器间的通讯,因为Socket 2.0 在 UDP 协议上没有 Socket 3.0 等较为整合方式的支持,应该分离模块,在保证 Socket 3.0 完备的基础上支持 Socket 3.0 协议。Socket 3.0 的好处在于对网络消息的支持,这个问题采用 UDP 方式来解决,但对于代理接入、拨号接入的用户其 IP 地址特性和操作系统的差异,应该在操作底层将信息进行转化。为此,设计如下的连接模式(简单)。Server(中间层)进程/线程(接口定义)发布信息 升级检测 Client 对于 Client 端问题存在的描述,对于操作系统应用层面本身.dll 文件是在内核中启动运行的,有没有一个模块可以监视它,并在适当的时候将它停止,没有,因为不是不可以做到,而是这个程序的设计本身已经对用户进行侵权了,做为应用程序本身你可以停止一个.dll 文件你就可以停止其他的.dll 文件,这个就变成病毒了。所以在对客户端软件的设计时,不能考虑采用连接任何的静态的或非静态的.dll 文件,当然这些文件由操作系统本身提供也可以采用,但应该考虑到操作的不同版本(若不采中国系统分析员协会(http:/www.CSAI)第 9 页 中国系统分析员 2003 年第 1 期 用解释程序就无须考虑跨平台的问题,在这里我们所参照的都是 Microsoft 公司的操作系统,以下将不在声明)。该协议的声明了,该接口程序的编制(当时我写了这段话,发现在技术上写深了,其实在可行性分析报告中没有这个必要写这么深。)。基本上描述网络数据接口的内容,交互数据的方式,需要考虑的那些问题,关于用户操作的问题,带来的不良影响。3设计模式和系统的架构 3设计模式和系统的架构 用 windows DNA 的设计模式 对于 Microsoft 公司提供的关于 DNA 的模式构架如下:Windows DNA Tools DNA COM/COM+Vc 6.0 XML C+DHTML 安全性 EditPlus(自定义)用户界面和导航 负载平衡 VB 6.0 接口互操作性 (C#)WEB MSMQ MTS 内存操作 事务机制 协同操作(自定义)Filesystem Database Mail 集成存储 微软提供的 DNA 的系统构架模式就是 Web 信息企业化应用的基础,在目前的开发方式下采用的方式是文本编辑器来编制 ASP 脚本程序,在 DNA 的结构上采用的是 DHTML 的模式,在 COM/COM+没有任何的考虑。(题外声明:在采用 ASP 设计 WEB Service 的程序的之初,很有些人对此大为不满,认为该东西是个十足的简单的东西,而且很简单。我对新技术的认识基于它的简单性、易用性和可靠性,ASP 虽然存在问题但它很简单、便于维护,对于中小软件采用之很好,尤其对于小软件更为之好。)如何来设计这个 WEB 信息的管理平台,以便在设计模式上有较大的改观,主要的问题在于对服务器应用程序进行合理化的管理,这个一定需要采用 COM/COM+的系统构架。下面来考察一下在 COM/COM+的上构建的应用程序结构:COM/COM+Database 管理平台 Management数据连接data access实体entity接口 interface用户视图 user view 如上,是我需要设计的应用程序框架,而 WEB 信息管理平台仅仅是其中的一个部分,中国系统分析员协会(http:/www.CSAI)第 10 页 中国系统分析员 2003 年第 1 期 但这部分将是应用 COM/COM+技术的核心,若采用的两层以上的结构模式无疑给系统带来的巨大的可扩展的空间。UML 是设计系统框架的最好的标准,采用 Rose 来做这个最好,(在后面的系统设计中我将采用 Rose 工具和大家一起做一次系统设计,如果读者对 UML 有兴趣,参见 或参见 www.omg.org。)同样采用 Microsoft Visio,该工具也是非常好的工具,BizTalk 就是基于该工具提供流程图形化。4类定义与设计 4类定义与设计 类定义和设计不再直属于可行性分析报告,但我在这里提及的不是程序编码的类设计,而关于用户 GUI 类的设计。用户视图(GUI)设计是一个在需求分析阶段很重要的一个环节。下面分析采用 Microsof 公司的 MMC 设计用户视图:多窗口模式的标准格式(采用 Microsof 公司的 MMC 设计)。功能模块按目录树形式。树模块按列表排列,点击时弹出属性、内容呀等,修改实施,比例显示进程属性。C+的数据库存储过程与连接,将执行 SQL 中的存储过程。连接包与计划任务。数据的形式转换(谁来做?S_SQL 已有部分功能)具体的实施方式:可参见 SDK 的安装的方式或操作,对 web 内容或 HTML 的内容进行管理,操作方式就是,但如此对象并非是 MMC 的接口或 SANP IN 接口(这两个接口都用于 MMC 的管理平台的创建)。(注:SDK 安装 Windows2000 RC1 Platfrom SDK)MMC 是采用的 COM 接口,是否在使用 ATL 的服务性程序进行封装,另提供控制台的接口。MMC 模块的由 ATL 对象封装,若采用 VB 等,是直接采用 COM 的接口,而无须在接口上考虑太多,但效率性就无法保证。MMC 中有简单的例子的 UML 的表示法:(主要是说明 COM对象被创建的过程和接口调用机制,关于 MSMQ 调用可以参见 Microsoft 公司出品的 MSDN Library)。5连接方式 5连接方式 连接的方式是网络协议的延伸,我们在协议中已经介绍了网络的协议,固然我们这里好理解了,在 Microsoft 的操作平台,进程间连接一般采用 COM/DCOM,COM 或 COM+中提供远程激活的方式。采用远程激活的方式,在客户端的程序运行是无须人为设定许可证,而本许可证的签发是在服务器端。但存在如下问题:能否 SCM(Service Control Management)与 CMM 接口,可否采用 MMC 做一个自己的 SCM。如何考虑多加一个用户端,在进程源的消耗,同时也避免了并发性问题,资源共享问题等。客户的运行模式,如对客户端进行许可证协议的签发、认定等,其客户端认证关系的系统运行的环境,如 CPU、硬盘、主板、BOIS 的人证(若采用 Java 做客户端还可以解决平台性问题,但此程序暂不考虑多平台的情况)。是否需要做一个专用的 CA,该 CA 是否需要自定义一个规范,这个规范的算法是否由自己提供。中国系统分析员协会(http:/www.CSAI)第 11 页 中国系统分析员 2003 年第 1 期 一段经验:以上的问题是可行性方案的技术问题,这些问题仅仅帮助我们在实现该软件项目时存在多大的风险。在实施 ERP 项目时,为什么这么多的失败,原因就在这里,对自己能做什么不了解,对用户的需求不了解,对现实的技术也不了解。固然会存在风险,当所有的问题都存在未知时,风险是巨大,导致项目不可以控制,问题的根源在那里,就在需求分析阶段,这个问题是每个“系统分析员”都知道的,但是为什么结果?这个问题需要大家仔细思量我在这里为什么把技术上存在与各个方面交接的问题都放在可行性分析报告里,我这里的分析报告是双方的,客户必须详细地阐述自己的需求,而不是所有的事情都我们软件提供商们一手包办。6对采用技术的描述 6对采用技术的描述 对解决方案的提出技术实现,我们针对主要的技术点进行分析,我们在方案中采用的有以下的技术点,如 XML、EDI、MSMQ 等等。在这里,我仅仅拿 EDI 来说明问题,关于 XML 和其他的技术点的说明从略。分析技术的过程中采用蜂星系统体系结构。现描述问题如下:实现 EDI 有两个层次的问题,一个是通信层次问题(包括传输和信箱),另一个是 EDI文件标准等问题。信箱和通信网络解决第一个层次的问题。而在通信网络问题解决之后,其它大量的工作是第二个层次的问题,包括协调用户之间 EDI 文件格式标准,确定 EDI 业务种类、开发周期和 EDI 标准(还有解决文件传送的法律效力问题),管理入网用户,开发用户终端软件等。这些工作是大量的和经常性的,因此必须有一个 EDI 服务中心来承担这些工作。信箱(MSQM 队列)网络中心 翻译软件 翻译软件 应用 系统 映射平面文件XML格转换EDI EDI 标准格式的电子资料?公司内部电脑资料 EDI转换平面文件XML格映射 应用 系统 公司内部电脑资料?EDI 标准格式的电子资料 (这里,EDI 的信箱中心与服务中心可以合二为一,也可以分离。这就要取决于信箱系统的提供者。)针对信箱和通信网络解决方案,也就是 EDI 的第一层,我们采用的是基于 Windows 平台的 MSMQ 的消息通讯机制。这种模式提供了信息传送的松散式连接,采用直接将信息投递到对方的“信箱”,不过我们这里使用的是 MSMQ 的消息队列。针对 EDI 的文件格式标准等,也就是 EDI 的第二层,我们采用的是 XML 文件格式标准,中国系统分析员协会(http:/www.CSAI)第 12 页 中国系统分析员 2003 年第 1 期 关于 XML 的具体格式请参见。在这里并非直接采用 XML 文件格式作为 EDI 的标准格式文件,而是将 XML 格式文件作为一个平面格式文件(数据库、office 文件、文本等)的中间文件(XML 文件),并采用“翻译程序”将该文件翻译成标准文件。EDI 系统的主流程是对文件的格式进行转化,将数据从数据库读出后采用 XML 文件的格式传送出去(此时需要一个翻译软件将其转化 EDI 标准格式文件),此信息将传到 EDI 报文传送系统,然后,在将信息传送到各个需要到达的地点。针对系统的内部机制并不同其他的企业间的 EDI 信息的传送,故分公司和总公司间采用 VPN 的专用通道,进行 MSMQ 的信息传送,其设计思想是在构建一个 EDI 的信息交互的平台,便于以后的扩展(主要是和供应商、生产厂家、运输公司、银行等金融部门等的接口)。作为分公司如何考虑和 EDI 系统的接口:首先看一下 EDI 系统的结构:MSMQ 程序/服务器处理单元 EDI 系统 EDI 系统 EDI 通 讯网 内部接口模块本企业的其他系统与数据库 通讯模块 格式转换模块报文 生成 及处 理模 块 用户 接口 模块 用户 EDI 系统的结构图 从结构上可以看出,EDI 系统是个大的概念,其实也是虚拟的概念,作为用户本身的我们来说,我们仅仅是一个接点。7问题的落实 7问题的落实 以上讨论这样多问题的一个问题(大问题本身),是否为每个问题量体裁衣做一个接口或考虑在接口之内。不需要!为什么不需要。这些模块虽然在这里同时讨论,但在实际的应用上并在一起,就是他们可以合作,但没有合作的机会。作为基本的基于 Web 信息管理平台的需要解决的问题有那些呢?比如首先是消息问题的本身,采用 Socket 2.0 去开发的基于 UDP 通讯协议的消息传送机制,在管理平台上需要知道每台机器的登陆操作情况,和登陆时间,以及每台机器的许可证记录。其次是消息和数据库之间的操作。针对 MSMQ 的解决方案是采用对于收到的消息,立即写入数据库,应用程序所需要的数据从数据库中读出来。若采用 MAIL 方式,需要考虑 POP3的协议。中国系统分析员协会(http:/www.CSAI)第 13 页 中国系统分析员 2003 年第 1 期 最后是 Web 程序和数据库间的操作。如上的三个基本问题解决后,在本文之首提出的六个问题,我们解决了第一个问题。其中的问题四提出关于 MSMQ 的数据库存储机制问题,需要针对 MSMQ 传来的消息本身进行分析,以便合理化解决存入数据库问题(主要是效率和存储空间)。商业服务是我们最终需要解决问题,比如和银行系统的接口、和运输公司的接口、和供应商接口,若需要和他们接口就必须把好的标准制定出来(标准已不需要制定,该标准就是 EDI 标准),即提供标准的接口就可以了。商业服务组件将会得到数据并且根据规则来安排格式,然后建构成 XML 或 HTML 文件传送给使用者。如果采用 EDI 的系统信息的传递,必须采用基于 XML 文件格式的文件信息(或采用其他的 flat file)。三、经济方面的可行性三、经济方面的可行性 1硬件方面的开销的考虑 1硬件方面的开销的考虑 对于分公司(以上系统提及系统中总公司和分公司)的内部程序处理是在方框中的一系列的步骤,当然这个模块是个标准的模块,使得各个分公司可以使用这个处理过程和总公司进行通讯。而所谓的企业间的 EDI 系统的通讯机制本身被 MSMQ 的消息队列和 VPN 的专用通道来代替。但采用 XML作为中间的平面文件是是个标准可扩展之举,当然EDI 规范本身应该和XML文件格式间可以相互转化。而这个转化将被微软公司的 SQL_SERVER2000 数据库和操作平台所支持。微软将采用什么样的方式来支持这种企业间的通讯?微软公司定义和设计 DNA 的结构将是最好的基于 WINDOWS 平台的跨网通讯。当然,EDI 的标准在被贯彻的过程中,将在一定时间内有大的工作量,对于系统体系本身来说,这个负担是额外的,当然为了和其他实施 EDI 标准的企业的接口,在信息流上将有一个新的起点。采用 DDN 网络来构建 EDI 网络,对于分公司来说是不实现的,主要的原因是投入太大,如何解决这个环节,可以拿“绝对”安全来换开销,可以 MSMQ 的消息直接从公网上走。就目前的调试结果,采用 VPN 的连接也是不很现实的,因为这样还必须有额外的开销来维持一个 Public Ip。固然,在系统设计的时候,系统的什么可以使用的范围内被接受,而这种接受在程度上对系统的投入成本是多大,设计方案是直接关联系统投入的硬件成本。2软件方面的开销 2软件方面的开销 软件方面的开销是直接的,是在解决方案直接提出来的。(参见编写解决方案的供应链解决方案中的软件部分。)四、使用方面的可行性四、使用方面的可行性 实体的三层式模型中包含了元素将被放置的实体计算机。我们将这些计算机分成三类:client tier(客户层)、middle tier(中间层)与 database tier(数据库层)中国系统分析员协会(http:/www.CSAI)第 14 页 中国系统分析员 2003 年第 1 期 目前的体系结构如下:VPN 专用网 数据库(分公司)虚拟 EDI 通讯网,存取服务器/仅采用标准(信箱服务)MSMQ 信息队列 信息处理及监控程序 ASP 应用程序总公司系统(MSMQ 服务器)面前存在两种情况,一是当 MSMQ 队列服务器充当 EDI 通讯存储信息服务器时,MSMQ的队列服务的消息体就应该为 XML 格式文件,在 MSMQ 的服务程序(或 MSMQ 的服务器)上进行格式转化。这个转化将采用的是 EDI 系统结构的处理方式,参见图“EDI 系统结构图”。系统在使用上的考虑是系统从可是使用到好用的一个发展,对于计算机系统主要的目的就是让人力劳动提交效率,如果该系统是可以用的,但是没有达到提交效率的目的,我们不可以说我们的系统是成功的。一个不成功系统对用户几乎是灾难的,这个情况就是目前果内 ERP 系统的现状。对这个问题我做下面简单的说明,具体问题是在项目的设施中让用户来要求的。以下是在系统设计时一个考虑的记录:当然对于信息处理和监控是我当初的设想,其中有三个问题:一是:当机器死掉后,系统会自动重启,这个时候所有的消息都将丢失(当初实验结果如此)。故改为另一种方式,将其到达的信息直接写到数据中保存;二是:由于消息本身没有什么可以查询的机制,但消息的队列有,对于有些消息是在查询完就需要删去的,而有的需要保留,这样操作十分麻烦,但写入数据库中查询方便;三是对于 ASP 等脚本或其他的什么应用程序调用,直接操作数据库,方便快捷。五、总结五、总结 在本篇文章中,我分析的问题集中在实施项目初,在计划分析该项目时,对项目在技术的要求、解决以及技术本身的实现上进行详尽的描述,而基本忽略项目现有存在的局限性、项目实施的其他条件,如领导的支持程度、项目负责人对该项目的认识程度、项目经费的到位、人员素质等等很多因数。同时在经济方面分析、在使用方面的分析我都是一带而过,一是我在这里的论述不好,不能解决读者疑问。故在以后在单独做论述。中国系统分析员协会(http:/www.CSAI)第 15 页 中国系统分析员 2003 年第 1 期 作者简介 作者简介 曹伟,中国系统分析员协会会员,南京易点网络软件公司技术总监。从 ERP 的系统开发,对整体系统有较强的认识欲望,现正在实施企业级软件系统构架,实施一个国际化企业电子化的解决方案。曹先生对数学知识情有独重,在大学及工作期间,孜孜不倦学习数学,希望对问题了解到一个新而深的层次,目前也迷恋上经济类的学科,觉其是解决问题之根本。曹先生在业余期间写写散文和小说,仅以自娱,但总体字数接近百万。中国系统分析员协会(http:/www.CSAI)第 16 页 中国系统分析员 2003 年第 1 期 电子门票系统设计及实现电子门票系统设计及实现 黄立宏 一、前言一、前言 传统的门票一般使用纸质门票、条码卡或磁条卡。纸质门票是一种最原始的门票形式,其成本相当低。但它的缺点是十分容易被复制、仿造,没有收藏和纪念价值。条码卡采用在纸质(塑料)卡片打印特定的条纹,通过条纹上不同的条和空格对光反射的不同反射率来代表不同的信息。特点是成本低廉、复制生产简单,被广泛应用商场的商品识别标签等无须安全性保障的场合。但是,在科技发达的今天,通过普通的复印机或扫描仪和打印机进行复制变得非常简单、方便,对于有价证券,使用这样毫无安全保障的技术,结果是不堪想象的。磁条卡通过涂覆在纸质(塑料)卡片上的磁条来记录数据,就象普通的盒带式录音机上用的磁带一样,成本低廉。因为磁卡上的数据是不可见的,显然数据安全性比条码卡要好,不能随意通过一般的简易手段被复制。但是,因为磁卡数据是开放的,只要有磁卡读写器,复制磁卡也非难事,因此必须依赖于网络来保证使用时的唯一性。对于移动应用是不现实的,同时磁卡上记录的磁信息容易受外界磁干扰的影响而被破坏,如手提电话、音响等。随着计算机网络和智能卡技术的发展,智能 IC 卡因存储容量大;体积小而轻,非常便于携带;保密性强;网络要求不高;防磁、防静电、抗干扰性强;使用寿命长等特点应用越来越多,广泛应用于金融财务、零售服务、社会安全、交通旅游、医疗、通信、政府行政、教育、娱乐等各行各业。本文讨论了智能