软考资料 - 系统架构设计师论文范文(二)
  h9htfs4cnhmS 2023年11月02日 27 0

论信息系统的安全体系

摘要

2005年2月,我参加了某水库管理信息系统项目的实施。通过系统的实施和运行,实现防汛、供水、发电、闸门监控、水文等各种数据的采集、分析、存储,并通过网络及时地向有关部门汇报,以便相关领导进行调度指挥,为领导决策提供大力支持,为业务人员办公提供服务。系统的应用将有效提高某市政府水库管理所的工作效率我作为该项目的项目负责人,主要负责项目管理,同时负责项目的需求分析、系统集成、系统测试和系统验收的工作,并负责系统投用后的运行维护。为了确保项目顺利的实施和安全的投入运行,我从软件、硬件、运行环境、用户四个角度对系统的脆弱性进行了分析,从实体安全、操作系统平台的安全、数据安全、访问控制的安全性、管理制度的安全保护五个方面对水库管理信息系统的安全体系进行了分析,最后探讨了安全体系设计中的方法和原则,参照现行信息系统安全架构体系,分析了本系统中安全体系的不足之处

正文

2005年 2月,我参加了某水库管理信息系统项目的实施,以某市政府某水库管理所为核心建立中心管理局域网,通过水库管理信息系统全面地进行雨水情等信息的收集、输入修改、查询,并实时动态显示有关信息,通过人机交互进行洪水预报、水库安全运行分析调度方案制订、调度方案评价与优选、调度成果管理、防洪、发电、灌溉工程信息管理、调度控制、系统管理等。根据实时和定期水、雨、工情准确分析防洪、水库安全及兴利形势,形成调度预案,供各级调度指挥人员参考,并通过专家经验加以修正,最终形成调度方案,供水库管理机构决策,供执行人员实施。上级主管部门可通过 internet 实现与水库管理所的信息共享和信息传输,其他单位(在授权许可下)以同样的方式实现对水库管理所的信息访问。系统的应用将有效提高水库管理所的工作效率。我作为该项目的项目负责人,主要负责项目管理,同时负责项目的需求分析、系统集成、系统测试和系统验收的工作,并负责系统投用后的运行维护

系统采用 C/S 和 B/S 混合架构,其中 C/S 部分实现各部门管理功能子系统,以数据采集和数据处理为主,B/S 部分则实现存在交叉业务的部门管理子系统、部分共享数据的网上发布和数据的网上查询、浏览。所有的数据都存放在后台的 0racle 数据库服务器上进行统一管理和维护。

水库管理信息系统采集和处理数据的过程均在局域网内,内部用户可以查询中间结果和发布审核过的信息,经过授权的外部用户只能通过 inernet 查询已经发布的信息。所以本系统是一个相对独立的、封闭的专用信息系统,绝大多数的恶意攻 击是来自内部的,水库管理的工作性质决定了本系统信息的机密性显得尤其重要,因此,除了防止来自internet外部的攻 击外,如何制定内部安全防范体系的问题也必须解决。

信息安全是指防止信息被故意的或偶然的非法授权泄露、更改、破坏或使信息被非法辨识、控制。信息安全包括操作系统安全、数据库安全、网络安全、病毒防护、访问控制、加密与鉴别等七个方面。如果采集的水库管理数据不正确,或者在上传和发布的过程中被篡改、破坏,将影响到防汛、供水、发电等多项决策,信息安全工作做不好,信息系统将无法正常实施和应用。如果系统分析时不充分考虑信息安全因素,将为系统将来的运行留下隐患。

一个完整的安全体系包含的内容有:风险管理,行为管理,信息管理,安全边界,系统安全,身份认证与授权,应用安全,数据库安全,链路安全,桌面系统安全,病毒防治灾难恢复与备份,集中安全管理等。作为一个政府部门的信息系统,水库管理信息系统应建立一个以内部控制机制为核心的安全防护体系,以降低其带来的风险。从系统的开发到运行和完善,在各个不同阶段,都应把安全问题作为重中之重,并贯穿于整个过程之中。要确保水库管理信息系统的安全可靠,离不开信息安全技术的应用,我对系统的脆弱性和安全体系进行了如下分析。

一、系统的脆弱性分析

水库管理信息系统是一个包括计算机软硬件、通信设施并与监控设施和组织高度集成的人机系统,不可避免面临着来自各方面的潜在威胁。软件、硬件、运行环境、用户各方面都可以形成系统的脆弱性。

软件方面:水库管理信息系统软件的开发人员的专业背景、业务能力、对水库管理信息系统的理解深度等都会对系统开发的成败产生重大的影响,系统开发过程主要以手工为主,没有成熟的软件产品,是造成水库信息软件缺乏可靠性和安全性的重要因素。

硬件方面:除了计算机设备和网络设备,系统用到的水位探测仪、监控设备、数据采集设备,均由大童的电子元件和芯片组成,而芯片和电子元件的老化和一些安插件之间的接触不良都会造成系统的失灵,系统的采样点和监控点分布在野外,受自然环境的影响很大。

运行环境方面:水库管理信息系统中使用传感器技术和数据采集技术,将野外遥测站点的数据传到 10多个数据接收工作站,数据经过处理后再进入调度室,要经过多个部门和多个环节。即便环境能完全达到信息系统的安全技术要求,但因整个系统分散在各个部门,也就很难避免因为环境因素而导致意外事件的发生。

用户方面:系统的用户数量多,层次也多,能否充分发挥信息系统的作用,并能安全正常的运行系统,这与使用人员对计算机的基本知识了解程度、在系统开发过程中与开发人员配合程度、投入使用后是否按规章操作、对系统运行所需的数据收集是否及时和充分,是否有假的、错误的数据采集输入都密切相关。系统在为水库管理所的上级和各部门提供数据共享时,也可能为入侵者、信息偷窥者提供了方便之门。

二、系统安全体系分析

设计安全体系时要根据实际情况,综合考虑各种因素。

实体安全方面:水库所处的地理位置在夏季会受到雷电灾害的影响,在野外的雨水情遥测设备,如摄像头、云台、信号采集器必须有防雷设施,办公楼内外的网络设备(交换机、HUB 等)也要有防雷功能,对信息系统实体的破坏,不仅可以造成巨大的经济损失,也会导致系统中的机密信息数据丢失和破坏

操作系统平台的安全方面:作为水库管理信息系统的支撑部分,操作系统安全的内容包括保密性、可靠性和抗干扰性等几方面内容。在选择操作系统时,既要考虑操作系统的实用性与可靠性,又要考虑到操作系统的安全性。操作系统还应该安装防火墙及病毒查杀程序,以提高整个信息系统的可靠性与安全性。

数据安全方面:水库管理信息系统的数据安全性,除了一般由存和取的控制来保证外,还要加强对数据库的管理和对数据采取必要的加密等手段,以防止信息泄漏。

访问控制的安全性方面:通过对用户进行系统功能授权,即系统每一功能,只有被授权的用户才能使用,未被授权的用户无法使用。系统中的每一个用户在完成其工作时,只应拥有最小的必要的系统功能,使出错或蓄意破坏造成的危害的概率降到最低。水库信息系统的功能只对授权用户是可视的,对非授权用户是不可视的,这样可预防蓄意破坏的发生

管理制度的安全保护方面:在开发人员和使用人员中建立完善的安全制度,并使其充分认识计算机系统安全的重要性,自觉执行安全制度,从而形成对水库管理信息系统的一个管理保护层。

水库管理信息系统安全体系的分析应贯穿系统的开发、实施、运行各个阶段。作为一个政府部门的信息系统,安全性永远是第一位的。水库管理信息系统在 2006年3 月正式投入使用后,安全平稳的运行了1年多,在政府部门的水库管理工作发挥着作用,这与安全体系设计时充分的分析是分不开的。安全体系的质量直接决定着安全工程的质量,我们在安全体系设计之后,聘请了第三方专家对体系的质量进行评审,对评审结果进行论证,对发现的不妥之处及时修正,做好安全体系的评估工作,保证安全体系的质量,从而保证信息系统开发和运行的各阶段的质量。

安全体系的设计和实施要有一定的灵活性、适应性,还要遵循风险和成本的平衡性,安全体系服务于信息系统的应用,当安全体系的代价大于信息系统应用的价值时,就不再具有可行性。安全体系的分析要具有前瞻性,在系统分析时就要考虑系统运行、维护时的各种安全因素,如果系统投用后才发现安全体系不能保障系统的正常运行,会造成维护成本的剧增甚至信息系统的失败。在系统建设之初就考虑系统安全对策,比等系统建设好后再考虑,不但容易,而且花费也少得多

现行信息系统安全架构体系以信息安全程度从低到高可分为: MIS+S,S-MIS,S2-MIS。水库管理信息系统的安全体系属于 MIS+S,是一个低级的信息安全保障系统,没有对水库信息系统作任何改变,为防止自然灾害、病毒、黑客等增加一些安全措施和安全防范设备,提高了水库信息系统的安全强度,基本满足了安全需要,实施成本较低,但并没有从根本上解决信息系统的安全问题,这也是目前受安全成本和应用效益约束的实际情况,当以后水库信息系统二期工程开展时,我们会考虑往较高层次的安全体系上发展

论行业应用软件系统的开发规划

[摘要]

本人在一所高校信息技术中心工作,2005年应多个学校和校领导的要求,对以前开发的较独立的十多个学校信息化软件系统进行升级改造,使得各系统之间能够相互进行数据共享,配合工作。所进行的软件项目,与高等院校的学生招生、收费、教学、管理和服务密切相关,具有很强的行业特征,需要使用系统的师生员工(用户单位)、高校管理专家和项目开发人员间良好的分工协作,与常规的通用应用软件开发过程相比,具有明显的差异,主要表现在系统的分析、设计、实现、测试和维护均带有明显的行业特点,行业应用软件的成功开发必须遵循行业规范,正确使用专业术语,及时与专家和用户进行交流

本人在项目中主要负责需求分析和软件系统设计,本文主要从资源互补、角色定位相互协作的角度讨论行业软件系统的开发规划工作,我在实践中发现,行业应用软件系统的成功开发是从其规划到诞生起就应从行业中汲取各种营养,具有行业特征、行业味道,才能满足行业应用的需求

[正文]

作为一所高校信息技术中心的技术骨干和技术负责人,高校内部信息化建设受到我们时常的关注。十多年来,我们与兄弟院校、知名软件企业合作进行了多项与高校信息化建设相关的软件系统开发工作,有学生收费管理系统、学生学籍管理系统、学生成绩管理系统、学生选课系统、学校图书借阅系统、学生奖惩管理系统、学生应聘就业管理系统、学校后勤服务系统、教材管理系统、教师业绩考核系统、学校办公自动化系统等十多个软件项目,覆盖了学校招生、入学收费、教学管理、学生管理、后勤服务和学生毕业的整个过程,这些项目,是我们与不同兄弟院校技术部门、不同企业合作的结果,被省内 30 余家高校使用,它有力地促进了我们与兄弟院校的信息化建设,提高办学的效益和办事效率但随着系统的增多,也暴露出了一些矛盾问题,制约了相关学校的发展和信息化进程:

1、这些软件项目是我们与不同兄弟院校、不同企业合作开发的,也有些是独立开发的,信息难于相互共享。

2、这些软件项目开发于不同时期,期间技术中心人员变更较大,不同阶段、不同时期采用的技术不同,各个系统形式多样,有单机的、C/S 网络结构的、B/S 网络结构的和混合结构的。使用极不方便。

3、经过近年来的高校大发展进程,各校在管理上有了较大变化,原来的一些软件已经不适应学校的发展。

因此,在 2005年我校领导参加省教育厅关于学校信息化建设工作会时,省内 20 余家高校提出让我们牵头进行系统的升级改造工作,并承诺在资金和人力方面给予支持,引起了省教育厅领导高度重视。我校领导将这一艰巨任务以政治任务的形式布置到我们信息技术中心,限时完成。

项目于 2005 年5月启动,成立了由七个人组成的项目组,作为信息技术中心的技术骨干和技术负责人,我参与了该项目的总体架构组,主要负责需求分析和软件系统设计,并完全负责该项目的管理。虽然我们团队的大部分人长期工作在高校技术部门,但对于高校教学、管理和服务中的专业知识掌握并不多,高等教育行业的专业性特强,由开发人员现学领域知识是不现实的,这就需要用户和行业专家的协助。从相关部门聘请行业专家是明智之举。

作为行业性很强的应用软件,它和通用应用软件系统开发有很多不同,我觉得主要有以下几个方面:

一是需求分析阶段专业业务难把握、难摸透,管理目标和专业目标难一致。

二是设计阶段,设计规范难统一,难细化。

三是开发阶段,开发阶段的测试往往由于专业背景各系统联系紧密,难确认测试。

四是实施阶段,实施阶段的业务人员对系统认同差,沟通复杂。

五是整个过程涉及到过多的行业习惯,许多方面不和其他开发雷同。

聘请行业专家做项目组的顾问是应用软件开发过程中较好的策略。行业专家主要是作为领域知识源,提供技术文件和已有应用。在高校信息化改造建设这个项目中,我们从有关部门和其他高校聘请了各分系统的资深专家作为项目的顾间,获取到《高等学校数据规范标准》等技术文件和部分以前编写的源代码,该源代码是多个独立运行的、凌乱的、较小的系统,经过整理后可以用到新系统中,这为领域模型和设计模型的建立打下了良好的基础。

用户是应用软件目前和未来的需求提供者,其对项目成败的重要性是显而易见的。00A过程是从对系统将被使用的方式的理解开始的,在需求诱导时需要从用户的观点对系统建模,需要项目组和用户共同确定使用场景和定义系统的功能和运行需求,需要用户提供清楚而无二义性的终端用户和系统如何相互交互的描述,需要用户提供确认测试的基础。在这外项目中,我们与用户充分合作,请用户给我们讲解高等学校有关数学、管理和服务的常识、过程、功能等,将用户作为项目组成员,作为每个阶段的技术评审的主要成员。

开发者是应用软件系统的建设者,需要从用户方进行需求诱导,建立领域分析模型,需要将分析模型变换为设计模型,建立软件的构造蓝图,需要完成编码和测试。由于应用软件具有行业背景,在建立分析模型是需要从各种渠道了解行业知识,在建立设计模型是需要使用逆向工程技术从现有的系统中得到关键的算法。在进行测试时需要使用用户提供的具有行业特点的真实的测试数据。开发人员需要随时在涉及到行业知识时向用户或行业专家请数,必须克服在开发一般应用软件时的问题讨论在相对封闭的范围内进行的特点。

与常规的通用应用软件开发进行比较,专业背景的应用软件开发过程及各个环节的主要差异有:

(1)在计划阶段,具有行业背景的应用软件系统与普遍应用软件的目标与动机一般是不同的,普遍应用软件以给本公司或部门带来经济上的收益为目的,而行业应用软件以更好的完成某项职能为目的。高等教育行业的应用系统开发目的是为了对高校内教育教学、管理和后勤服务进行有效管理,使师生方便、快捷、充分地享受高校资源,提高办学水平和能力。这就要求系统方案的制定必须符合行业的特征。基于高等教育行业的信息化建设改造项目,因其牵扯高校内部教务、人事、财务、学生管理、招生、就业、团委、后勤等众多部门,针对不同院校,所管理学生的学历层次、学习类型、办学形式等五花八门,管理方式也有差别,这就增加了应用软件开发的复杂性。

(2)在需求分析阶段,行业背景的应用软件与普通应用软件相比一般需求比较明确、相对固定和有章可寻。必须获得行业的各种技术规范、数据共享资料及现行系统的运行数据。在此基础上划出应用软件的作用范围和与周围环境进行数据交换的接口,在类的划分协作者模型和对象-关系模型。

(3)在设计阶段,行业背景的应用软件系统与普通应用软件相比,从用户界面设计数据管理、任务管理到控制机制均要表现出行业特征。我们在该项目开发时,邀请有专业知识的用户参加到项目组实施的关键环节中,将设计模型在该行业专家作用户中进行解释。确保设计模型与领域模型保持一致。数据和任务管理的设计策略需要参考与《高等学校数据规范标准》相类似的行业标准,通过创建每个操作的过程表示类属性的数据结构而完成对象设计,数据结构和算法必须符合行业需要,使用对象间的协作和对象关系完成消息设计。在评审设计模型时需要行业专家和用户的参与,从行业的角度提出修改意见。

(4)在集成测试阶段,行业背景的应用软件系统与应用软件相比,一般更强调进行日测试和进行新旧系统对比,需要使用行业的数据作为测试数据,测试案例需要由用户和专家参与制订,行业数据需要由用户和专家提供,测试结果需要由用户和专家确认和解释由于针对高校信息化系统建设牵扯到众多的部门、管理方式和类别多、数据共享关系复杂数据量非常大,因此系统测试需要在真实的数据环境中进行。我们在测试高校信息化系统建设(改造)应用软件时使用的是真实的数据,从数据的采集、传输、储存、处理和显示等的各个环节均使用的是高校各子系统的真实数据,根据测试结果和用户意见进行修改。

从上面的几个主要差别可以看出,具有行业背景的应用软件的开发需要行业中的各类标准、专业知识、现有相关系统合人员参与到开发过程中,要使行业特点与信息技术有机结合,在项目管理上还需要包含行业内的相关的人和物。

在该项目的开发过程中,人员、设备、资料等的方方面面的资源均是由项目组与高校信息化系统共享的,在知识和思想上充分融合,经过双方的共同努力不仅开发出了满足高等教育行业需要的应用软件,还丰富了双方的知识面,拓展了眼界。在实践中我发现,行业应用软件的开发必须遵循行业规范,正确使用专业术语,及时与专家和用户进行交流,要从其规划到诞生起就从行业中汲取各种营养,使其具有行业特征、行业味道。只有这样,行业应用软件的开发才能取得成功,才能被该行业人员认可应用,才能满足行业应用的需求。


论基于UML的需求分析

摘要

UML是集多种面向对象方法的优点于一身的统一建模语言,通过UML可以解决开发过程中存在的一些问题。包括解决人员交流的障碍,响应需求的变化,利于构件的复用,保证软件项目开发周期等。采用 UML进行需求分析,主要是通过用例模型来捕获和组织用户的需求,通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。

2006年5月,我参与了某区贸工局的电子政务系统的开发,在需求分析过程中采用了基于用例的需求分析方法,取得了良好的效果。在用例建模过程中,通过识别系统参与者合并需求获得用例并绘制用例图,进行用例分解及细化用例描述等步骤,及各步骤间的循环反复,成功完成了需求分析,需求描述也得到用户的认可。当然,由于使用该方法还不很成熟,各种方法及工具的集成度还不高,未能充分发挥其作用。在项目中,我担任系统分析员,主要负责系统分析和系统设计工作。

正文

2006年5月,我参与了某区贸工局的电子政务系统的开发,项目历时七个月,于 2007年 1月正式上线。项目组成员共7人,在项目中,我担任系统分析员,主要负责系统分析和系统设计工作。

区贸工局已有近十年的信息系统使用经验,在本系统开发时,该局除一套采用 VB+SQLServer2000开发的二层c/s 结构的核心业务管理系统外还有多套业务系统和数据交换系统,主要有:外资审批管理系统、加工贸易电子数据交换平台、加工贸易联网监管电子数据交换系统以及电子公文交换等。上述各系统基本是相互独立的,只在数据库端实现初步的数据共享,但应用的集成性很差。

区贸工局的电子政务系统是一个基于知识管理的全新的集成的管理系统,其应用范围涉及办公自动化、审批业务管理、档案管理、数据交换、互联网站等各个方面。该系统由门户网站、办公自动化和业务管理三个子系统构成。与原有的业务系统相比,区别主要体现在三个方面:一是全新的体系结构,二是集成性,全面集成原有的各业务系统及数据交换系统,三是以知识管理为主要特征的应用层次上的全面提升,对业务审批的全过程进行监督管理,引入审批要点对相关业务进行智能辅助审批。

在核心的业务管理子系统的开发过程中,考虑到传统结构化开发方法的局限性和软件本身的易复用性、易扩展性和可维护性,以及可能面对的需求变化,我们在开发时采用了面向对象的方法。UML是集多种面向对象方法的优点于一身的统一建模语言,它使用统一的表示法,呈现一致的风格,通过  UML可以解决开发过程中存在的一些问题。首先,UML解决了人员交流的障碍。它提供了一套通用的思维方式和交流的语言,既有助于分析人员与用户的交流,又有助于分析人员与设计人员的交流。其次,利于响应变化。分析人员可以将对象作为构筑系统的基本单位,将容易发生变化的属性和操作封装在对象之内,对象之间通过接口联系,使得需求变化的影响尽可能限制在对象的内部。其次,便于构件的复用。集成UML思想构建的系统模型能很好地支持软件复用,类可以派生子类,类又可以产生实例对象,而对象具有封装性和信息隐蔽性,这就实现了对象类的数据结构和操作代码的软构件的复用。最后,因开发人员的方法、工具及经验的差异,往往造成较大型或是较复杂的软件项目开发周期得不到保证。

若运用 UML 进行系统的分析设计,利用规范化的表达方式及优秀的 CASE 工具,问题可以得到较好的解决。采用UML 进行需求分析,主要是通过用例模型来捕获和组织用户的需求,通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。在用例建模过程中,首先是识别系统参与者,然后合并需求获得用例,并绘制用例图,最后进行用例分解及细化用例描述。

1.识别参与者。我们从三个方面分析系统的参与者,一是系统的直接使用者,二是系统的管理维护人员,三是外部相关的软硬件系统或人员。

系统直接使用者即是使用业务系统的相关业务人员。根据业务岗位,分别有收文、录入、打印、窗口(一级)审批、科长(二级)审批、局长(三级)审批等角色,另外还有派单(针对个别不由系统自动分派任务的情况)、审批检查、查询统计和科室管理(执行科室内人中角色的分派、业务智能审批定义等)角色。

系统管理维护人员,主要进行科室管理员的角色分派以及系统相关初始数据的设定等工作。

外部相关的软硬件系统,即与业务系统进行交互的一些外部系统。包括了外资审批管理系统、加工贸易电子数据交换平台、加工贸易联网监管电子数据交换系统、电子监察系统、门户网站、办公自动化系统以及系统时钟等,其中门户网站和办公自动化系统虽是整个电子政务系统的一部分,但相对于业务子系统来说属于外部系统。外部相关人员即申办各类业务的企业办事人员

2.合并需求获得用例,绘制用例图。

在确定了参与者后,分析每一个参与者希望系统提供什么样的功能,为参与者确定用例。之后画出用例图,通过用例图描述系统包含的参与者、用例以及两者之间的对应关系。

3.用例分解及细化用例描述。

绘制初步的用例图后,还需对用例予以细化,编写用例规约,或是根据情况进行用例分解。用例规约规定了系统需要完成哪些步骤才能实现用例的功能,主要包括前置条件、后置条件和事件流。前置条件指明了执行用例之前系统须处于的状态,后置条件指明用例执行完毕后系统可能处于的一组状态。事件流描述用例执行的步骤,它又包括基流、分支流和替代流。基流描述用例执行的基本步骤,没有分支和选择,分支流描述用例在执行中根据不同条件或不同选择而可能执行的步骤,替代流描述用例在执行中因异常或偶尔发生的一些情况而执行的相应替代步骤。其中基流是必需的,分支流和替代流是可选的。

整个用例的分析及用例图的绘制,需循环执行上述各步。通过参与者及其需求识别用例,通过用例(图)反过来印证识别出的参与者,对用例进行细化描述,如该描述较复杂则对用例进行分解。这样识别参与者和识别用例交替进行,并结合用例的细化与分解,直到识别出的用例能够涵盖用户需求,且用例的细化粒度以在用户较容易理解的范围。下面以较典型的“外商投资企业设立”模块的用例图加以说明。

首先根据参与者及相关业务需求,识别出“业务收文”“业务审批”“业务指派”“信息录入”“查询”“数据写监察系统”“外资审批管理系统数据读写”等七个用例接着又对照系统参与者检查每一个用例,我们发现在“业务收文”漏了与门户网站子系统的交互,即企业先在网站预录入资料的收文受理没有考虑,因此加入了“门户网站子系统”这一参与者,并添加相关事件(分支)流。然后,根据用户需求,对部分用例进行细化与分解,从“业务收文”中又进一步分出“补交资料受理”(即首次收文时资料不全或不全要求时企业补交资料的受理),“信息录入”中进一步分出“企业资料存档”(即企业负责人签名等若干重要原始资料的扫描存档)“业务审批”细分为“一级审批”“二级审批”“三级审批”,“一级审批”当中再分解出“补交告知”“数据写监察系统”用例的事件流则最复杂,分别与“业务收文”(发送“受理”状态及可选的“补交受理”状态)“一级审批”(发送“承办”状态及可选的“补交告知”状态)“外资审批管理系统数据读写”(在外资系统打印批文后,发送“审核”“批准”“办结”状态)等三个用例相关。

我们使用基于UML的需求分析方法,取得了比较好的效果,特别是相对于传统的需求分析与描述方法其优点是明显的。但由于我们使用该开发方法还不很成熟,在开发过程中也出现了一些问题。一是 UML 各图形的组合使用问题。用例分析的方法和用例图无疑是需求分析的有力工具,但光是进行用例分析还不足够,如能很好地结合类图和活动图等图形,则会对需求的分析和描述起到很好的辅助作用。另外就是UML与相关工具及开发方法的结合使用问题。UML 并不是一套独立的方法或工具,要充分发挥 UML 的效用,还须结合统一开发过程以及 ROSE 等相关CASE 工具,而在此方面我们还有明显的不足。由于开发大型项目较少,因此还很少使用统一开发过程,CASE 工具的使用也还未达到系统化,这都限制了UML方法的效果。另外,由于传统的结构化开发方法的思维习惯,我们在用例识别过程中

有时还会按照DFD图的思维进行思考。针对在项目开发过程中暴露出的问题,我们以渐进的方式改进我们的开发过程,向统一开发过程靠拢,改善开发环境,逐步购置、逐步消化使用 CASE 工具,提高个人的开发水平,深入学习掌握面向对象思想和方法及 UML等各类相关CASE 工具。我们不能指望通过一两个项目就完全掌握相关工具和方法,不论组织还是开发者个人,使用先进方法和工具的过程都是一个循序渐进的过程

论信息系统架构的设计

摘要

我在一个软件企业从事软件系统架构设计工作,2005年4月,我公司承担了某高校的应用集成项目,该校领导决定投资建立一个可扩展的统一集成平台,以解决学校信息系统中复杂、分散、异构的数据信息之间的交换、相互转换、共享等问题。

为了集成已有的系统,保护用户投资,同时,又要使已有的系统之间能够通信,使已有的系统与新开发系统之间也能够通信。在该项目中,我们采用中心辐射型消息代理技术将中心辐射型集成模型引入到高校应用集成,结合相关标准,建立了一个适应于 IT 技术发展的教育应用的可扩展集成架构。

在中心辐射集成架构中,消息系统具有高度可扩展性,容易与其他系统进行集成,对于异构系统的集成效果显著。该项目完成至今已接近1年,从运行的效果来看,达到了项目的预期目标。项目验收时,得到了同行专家和该大学领导及有关人员的好评。

正文

经过20年的信息化建设,我国高校的信息化工作取得了很大的发展,一些高校建立了多个应用系统。例如学籍管理系统、档案管理系统、办公自动化系统、财务管理系统、设备物资管理系统、劳资管理系统、图书馆管理系统等。由于这些系统在不同的时期开发运行于不同的系统平台,采用了不同的技术和不同的标准规范,导致这些系统都是一些“信息孤岛”,系统之间的数据共享和交换存在问题。同时,高校对信息化的需求又是不断扩展和发生变化的,这决定了任何一家厂商都不可能提供一所高校所需要的所有产品,高校需要采购不同厂商的软件产品。因此,在同一高校环境下,集成不同厂商的应用软件是高校信息化实施过程中必然要面临和解决的问题。

我在一个软件企业工作,2005 年 4 月,我所在的公司承担了某高校的应用集成项目该校领导决定投资建立一个可扩展的统一集成平台,以解决学校信息系统中复杂、分散、异构的数据信息之间的交换、相互转换、共享等问题。该校已有的系统主要有办公自动化系统、财务管理系统、设备物资管理系统、图书馆管理系统和教务管理系统,要求新开发招生管理系统、就业管理系统、劳资管理系统、人事管理系统和科研管理系统。我有幸参加了该项目的开发,并担任架构师职务,主要负责系统架构设计工作。通过系统分析,我们发现该高校信息化建设存在以下几方面的问题

(1)目前,各系统厂商各自为政,致使学校缺乏一套通用的数据标准

(2)现有各系统之间主要依靠数据的直接共享达到集成的目的。在系统之间进行信息交换的过程中,被交换信息的安全性没有保障。

(3)部分系统之间已经进行了紧密集成,增加了扩展教育信息系统的难度,某一个系统的调整或维护会影响整个学校其它系统的正常工作。

(4)现有系统的集成接口数量众多,难以维护。随着系统数量的增加,接口数量成比例增加。多家厂商所开发的系统之间的协调,异构平台之间的信息共享比较困难。

基于该校信息化存在的上述问题,在我的组织下,我们召开了架构设计会议,会议由我公司核心技术人员和该高校有关计算机专家参加。在这次会议上,确定了一些基本原则。会议认为,应用集成的架构必须体现遵循以下原则:

(1)可扩展性,使得高校应用集成可以快速进行,有较强的通用性,各系统之间属于松散耦合,保证教育信息系统的可持续性发展。

(2)标准化采用教育行业的信息交换标准进行信息集成

(3)安全性:充分考虑高校应用集成过程面临的安全问题,各应用系统之间不直接进行数据共享或交换,采用基于消息的方式进行集成。

(4)保护现有投资:高校应用集成必须考虑已有系统,充分发挥现有系统的作用保护现有投资。

为了实现可扩展性强、安全性高的应用集成,经过研究和实践,我们设计了一个基于国家教育部标准的中心辐射型 (hub-and-spoke)集成架构,该架构既包括数据集成,也包括应用集成。

我们采用中心辐射型消息代理技术,将中心辐射型集成模型引入到高校应用集成,结合相关标准,建立一个适应于 IT 技术发展的教育应用的可扩展集成架构。该架构使各异构系统之间的信息交换采用消息传递的方式,系统之间的通信只取决于消息发布和消息订阅,并不需要知道系统的位置,以及具体做什么和怎么做。每个系统只关心各自订阅的消息和需要发布的消息。中心辐射型集成架构如图 1所示

软考资料 - 系统架构设计师论文范文(二)_UML

模型中各辐射与中心服务器之间的消息传递直接采用标准的消息格式,任何需要接入的应用产品(一个辐射)只要将自己的接口充分暴露给中心服务器即可。消息在中心服务器内既可以采用消息队列方式进行调度,也可以采用消息代理的方式进行调度。各应用系统之间基于发布与订阅方式进行消息交互,各应用系统以广播的方式发布标准消息,消息进入中心服务器,中心服务器再根据相应的业务流程组织,将消息发送给订阅该消息的应用系统,被请求系统进而做出回应。

该集成架具有以下优势:

(1)在中心辐射型集成架构中,消息系统具有高度可扩展性,容易与其他系统进行集成

(2)中心辐射型集成架构为建立动态、可靠和灵活的系统提供了基础。在中心辐射型集成架构中,消息的生产者和使用者之间是一种松散耦合的关系,这种关系基于对消息的异步处理。对于使用者来说,它并不在乎是谁产生了消息、产生者是否仍在网络上,以及消息是什么时候产生的。对于生产者来说,它也并不在乎谁将接收这个消息。生产者和使用者只需将接收消息的格式达成一致,就可以达到目的。这样,一个子系统的修改不会影响其他子系统的正常运行。

(3)消息系统具有高度的可靠性,消息服务为消息传递提供保证,可以指定给消息不同的优先级别,从而保证关键任务消息比常规消息的传送有更高的吞吐量

在选择集成服务器平台时,我们对 Microsoft 的 BizTalk Server、IB的 WBI、BEA的Weblogic Integration和 Oracle的HTB进行比较,这些产品的设计思想基本相同,仅仅是实现方法有所区别。由于该大学的基础数据库建立在 Oracle 数据库上,因此,我们选用了 oracle的 HTB 作为集成服务器平台。该项目完成至今已接近 1年,从运行的效果来看,达到了项目的预期目标。项目验收时,得到了同行专家和该大学领导及有关人员的好评


论虚拟现实技术的应用与发展

[摘要]

本文介绍了虚拟现实技术的主要技术和应用,并结合作者本人参加的国家重点实验室的自然科学基金项目,重点讨论了基于图像的建模与绘制在虚拟现实中的重要地位与应用,详细分析了近15年来国际上基于图像的建模与绘制技术的发展状况与当今世界上最先进的研究热点,并详细阐述了作者在国家重点实验室精心基于图像绘制技术科研工作中所参与的系统开发。文章最后,说明了作者所参加的科研项目的开发成果,并简单介绍了作者在试验项目中所发表的论文,对未来几年中虚拟现实技术的发展趋势作出了较为科学的预测并提出了作者本人独到的见解。

[正文]

虚拟现实技术是当前科学研究的热点,同时也是国家大力支持发展的核心技术之一。所谓虚拟现实,就是通过计算机等虚拟手段来构造一个非常接近真实世界的虚拟环境,它主要体现在视觉、触觉、嗅觉等方面的逼真模拟来达到高度的沉浸性,也就是如我们通常所说的“身临其境”。它涉及的领域非常广泛,包括仿真技术、多媒体技术、传感器技术以及计算机图形学等多个科学领域。同时,随着科技的发展特别是网络、计算机硬件等领域技术的完善,虚拟现实也得到了越来越多的应用。包括军事、医疗、航空航天、旅游业、建筑业、娱乐业等众多行业中,虚拟现实技术都具有广阔的应用前景。

我作为浙江大学CADLCG国家重点实验室的一名科研人员,有幸参加了多个关于虚拟现实方面的科研项目,其中国家自然科学基金项目《虚拟现实中的基于图形的建模与绘制技术》中,我投入了大量的精力,进行了广泛的学习与探索,参读了国外很多相关领域的文献,特别是近15年来SIGGRAPH大会中的精采论文,并与实验室的其他人员进行了大量的讨论,和国内外领域中的专家学者进行了多方面的交流,取得了很多实质性的进展。

同时,我结合该课题在理论的探索中进行了大量的编程模拟实验,开发了一些虚拟现实系统我们知道,虚拟现实的一个最主要的方面就是视觉效果上的真实性,例如虚拟漫游系统。可以说,视觉上的问题解决了才能进行考虑触觉、嗅觉等方面,否则就是本末倒置,因而目前世界上大部分的科研工作都是基于视觉上的真实性进行研究的。同时,随着网络技术的发展,网络的带宽不断增加,其于web方式的虚拟现实系统越来越成为主流,而且在美国很多先进的企业中已经得到了广泛的应用。而网络上虚拟现实的一个关键性问题就是速度,因为网络带宽相对于本地运行来说速度还是很小的,那么如何解决虚拟现实中图形的绘制速度,以达到网络显示的实时性就是一个非常重要的课题。我们也了解到,传统的建模是基于几何的,这导致当场景较为复杂时计算量过大,特别是要处理物体表面材质时,几何贴图一来真实性不高,二来速度过慢,几乎没有达到网络实时性的可能。对于大部分 P C机客户,更是不能在网上欣赏到逼真的虚拟现实场景。因此,世界上一些科研人员就提出了使用基于图像的建模与绘制的方法。因为图像是真实世界的拷贝,逼真度高,而计算量又很小,可以满足普通 P C机的用户以及当今网络带宽的需要,很好地达到虚拟现实场景的实时绘制。

基于图像的绘制技术(image-based rendering,IBR)最早由Apple Company的Eric Chen提出,他早在80年代初就在SIGGRAPH上发表论文介绍了他的图像拼接理论,次年又基于该理论开发出了Apple著名的Quick Time V系统,并在当年的SIGGRAPH上发表论文详细地介绍了该系统,在当时的计算机领域引起了极大的轰动。该系统的主要手段是用多点拍摄的8张图片进行无缝拼接算法整合成一张360”的环视图像。我在实验室进行相关的科研时,参与了一个类似的系统开发,当然,时隔多年,我们又在原来的Eric Chen的理论基础上,结合最新的科研成果,使用更好的算法开发我们的系统。关于该系统的开发方法,本文后面将有详述。在EricChen之后,又有很多世界顶级的科研人员不断在SIGGRAPH上发表论文,以向世人告知他们的最新研究成果,现在IBR已经成为每年SIGGRAPH中一个重要议题,每年都有4~6篇论文发表例如基于特殊点之间进行转换的morphing技术,基于全光场理论的光场建模绘制技术,基于图像拼图的拼接技术,基于人机交互的辅助技术等,都在一段时间内取得了巨大的成功。特别是拼图技术和全光场理论带来的各种基于光场的技术,在最近的3年内主导了国际上IBR领域甚至虚拟现实领域的主要发展方向。

我在实验室从事相关领域的科研工作之时,主要是进行了大童的理论学习与研究,当然也开发了一些虚拟现实系统。例如本文前面提到的类似于Quick Time 的系统。在此系统的开发中,基础的理论已经比较成熟,而且已经有产品化的实物供我们参考。我们的主要工作就是结合理论,使用逆向工程的方法,导出软件系统的设计思路,并融合后来几年中国际上对Quick Time 系统提出的改进论,开发出一套自主知识产权的虚拟现实系统我们首先以理论为基础,结合逆向工程工具导出原始的设计模型,加以改进,采用合理的分层结构重新设计了系统。在讨论完系统高层模型后,我们的人员需要分成3个组来进行开发。一组开发算法,一组开发系统界面,一组开发底层控制部分。我被分在系统界面开发组。虽然不是核心算法组,我们在对待界面交互设计时仍然进行了大量的分析与策划。我们抛弃了传统的MVC模型来工作,而是采用了国际上最先进的Taskmaster模型来作为我们的界面部分的驱动模型。Taskaster模型是MVC模型的改进,它使用有限自动机来控制状态驱动,将原来的MVC模型作了更加彻底的分离,使得软件系统的各个模块之间独立性更强,增加了内聚,减少了耦合。它将系统界面对用户的响应分成多个Task,每一个Task使用一个有限自动机来驱动,有限自动机接收消息,执行Implementation,并完成状态转换。同时,TaskMaster模型不但结构清晰,还具有代码自动生成工具,使用该工具,可以快速自动地实现自动机模型。总之,使用Taskmaster模型,我们解决了传统MVC模型的不足,取代了MFC消息响应机制的不完善性,大大加速了系统的开发。后来的开发成果也证明了我们使用较少的人力物力开发出了优质、美观、高效、高可靠性及高移植性的系统(Taskmaster模型很容易移植到Linux系统下,并且Linux系统下也有TaskMaster自动代码生成工具。)

另外,在开发过程中,我们的测试文档也做得相当成功。坚持使用了单元测试、集成测试,确认测试每一个步骤都到位,特别是单元测试和集成测试,我们小组做了大量的工作。先是个人测试,然后进行组内交换测试,最后全组讨论,再进行集成测试。文档也和测试一样,是每一天都跟着来的。

在项目管理上,我采用了Microsoft Source Soft来进行控制。因为小组有6人,大家分别在不同的机器上开发,进度不同,加上我们小组内模块相关性高,传统分开开发最后集成的方法肯定不行,而使用了source Soft之后,管理开发就轻松许多,并且大大减少了最后进行模块集成的工作量。

总之,在本次科研活动中,我们不但顺利、高效地完成了模拟系统的开发任务,而且大量实践了软件工程方法,引进了国际最优先的TaskMaster模型等,得到了很好的效果。更重要的是,我们出色地完成了实验室的国家自然科学基金项目,为实验室争得荣誉,为国家填补了科技空白。我个人而言,不但在组织本小组进行系统开发的过程中,实践了项目管理、进度管理、质量管理、人员分配、合作能力、文档管理以及测试管理等软件工程方法,并引进了国际先进的开发模式,取得了良好的实践效果,同时,本人还有一篇关于基于图像的绘制技术的论文被第八届联合国际计算机大会录取。

当然,我在科研工作中以及相关系统开发中也遇到一定的困难,比如模型选择、人员分配等都走了一些弯路。而且TaskIlaster模型虽然清晰高效,但代码量比传统IVC要大得多,文件数也多,给管理造成了一定的困难。

再回到虚拟现实领域,我觉得目前在视觉方面已经较为成熟,例如IBR领域,未来的扩展需要依靠硬件辅助计算、网络分布式、人工智能技术的结合。而整个虚拟现实领域将更多地开始从事触觉和嗅觉等方面的研究,而且为了达到更真实的效果和更高的实时性,我预计将会有更多的整合人机界面学、人工智能、分布式计算、数据库等技术,共同来创造一个完美的点拟现实世界。

论中间件在SIM卡应用开发中的作用

[摘要]

我曾于近期参与过一个基于SIM卡应用的开发项目,并在项目中担任系统分析的工作

在分析过程中,我们依据面向对象方法对系统进行了划分,其中许多的模块已有成熟的中间件产品可供使用。我们选择中间件产品的标准是:功能、性能、封闭性、独立性、可扩充性、是否标准化等(或是否是主流产品)、跨平台性、话语言性,以及中间件的大小和价位,并且面向对象的优于面向功能的。

由于复用了大批的中间件,使得项目工作量大大减少,开发周期明显缩短,并且在项目的编码部分,我们也尽量制作自己的中间件,以便在以后复用,或以恰当的形式销售,增加公司的利润

自己设计中间件,首先要做领域分析,以确定其价值,并依据上述原则开发。产品形成后,要由管理系统负责中间件产品的存储、描述、查询、发布以及动态维护、版本控制等。

[正文]

中间件技术是近几年随着软件工程技术的发展,网络应用的普及而迅速发展起来的,其在软件开发中最突出的贡献在于资源复用。随着分散的、作坊式的、独立的软件开发方式向集中地、大型的、协作式的软件开发方式的转换,软件的划分向着高内聚、低耦合的方向前进。类似的,重复性的、独立的软件部分被抽取出来,被做成模块、对象以及中间件。我们利用中间件拼装产品,共享着人力资源和时间资源,减少了重复劳动,减少浪费,增加了价值。由于中间件的出现,软件开发可以变得十分专业化。例如通信中间件、数据库中间件,.....他们屏蔽了许多繁琐的细节,使得应用程序开发人员质量与优化业务逻辑。各种不同的劳动量得以在自己熟悉的领域得到发展,不用分散精力,这就是分工带来的优势,专业化带来的好处。如今,在计算机软件科学中,这就是中间件带来的好处。

我曾经参与过的某个项目在这方面带给我深深地感触。这是一个关于SIM卡的应用,其功能要求是:在SIM卡上存储信息并与计算机内的信息同步,利用SIM卡的信息实现网络安全控制

我作为系统分析人员,采用面向对象方法进行分析,这里只作简要概述在该项目中,我抽象出的一个核心对象是“信息对象”。通过读取SIM卡/计算机内信息可构造出该对象实例,通过将该对象实例更新入计算机/SIM卡完成信息同步的功能。而实现网络安全控制的功能则通过验证对象属性来完成。

其中读出SIM卡、写入SIM卡的这部分,已经存在大量的中间件产品,我们选择了微软公司的系列产品,带给我们极大的便利。因为我们不再花费精力去考虑如何编写代码以及与SIM卡读写设备驱动程序进行通讯,如何将信号转换为二进制数,或转化为字符。它使我们摆脱了对设备物理细节的考虑。

此外,在读写计算机内数据时,利用了数据库中间件,此处选择的是微软的ODBC、ADO系列。在进行用户界面设计时,也应用了许许多多各具体特色的图形控件。而在实现SIM卡网络安全控制时,选择了Su公司的基于JAVA的SIM应用套件、SSL网络安全协议的辅助构造我们的项目。

在这样的选择之后,遗留给我们的仅是一些信息管理以及在各中间件进行协调、调度的工作,整个项目因此而显得异常轻松。

如果在没有中间件可供使用,一切需要从零开始的境遇中,这样一个小项目将会变得多么可怕!除了劳动力资源的严重消耗,还带来了许多隐患,例如与别人的产品的协作性问题。因为如果对硬件设备的处理不同,网络传输的各自构件的协议不同,根本不存在互通性

因此中间件在软件模块标准化、软件复用性、跨异构系统协作方面也功不可没!在我们选择中间件产品的时候,最先考虑的是功能性。因为只有项目缺少的功能,才有被使用的价值。而且中间件产品性能也是可以影响项目的因素。此外中间件是否采用标准和通用的接口形式,其封闭性、独立性、扩充性、跨平台跨语言的能力,也是影响我们项目的稳定性、可扩充性的关键因素。另外产品的大小、运行环境以及价位也是我们考虑的因素,这影响到项目的成本和效益。

如今的主流开发技术都支持面向对象和中间件(组件、控件、服务)。大家都意识到了复用的重要性。如果由我来决策,我会选择在开发项目同时开发中间件产品。虽然这样的开发模式在单个项目中所耗资源较大,因为要考虑中间件的各种特性,如独立性、通用性等。但就长远目光来看其复用带来的成本节约以及项目周期短、开发模式标准化、通用化等利益

将极大地提升企业利润。为了能够开发出有价值的中间件并同时进行高效地利用,我们注意以下方面:一、在决策开发中间件时,一定要做好领域分析。在相关领域内通用的中间件才有可复用性,才有价值。

二、对于中间件的策划,要注意其独立性,封闭性(接口清晰、标准),最好是以对象的形式开发,提供继承功能,可以提高中间件的可扩充性。

三、最好做到跨平台、跨语言,以增强通用性。除了这些原则,对于中间件产品有也应有相应的管理工具,应建立系统对中间件产品进行存储以及描述、查询、定位该产品,对于产品的升级也应用CUS等版本控制工具来管理。此

外,发布产品也应遵循业界的标准。当前的Web Service其实也是一种广义的中间件,公司应尽早投入到该领域,现有产品有微软的的NET,IBM的WebSphere等

这些方案的益处是能够提高产品的可复用性,应用Web Service技术则提供了更远大的网络应用发展空间。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

h9htfs4cnhmS