分析与设计工具
本系统将采用面向对象的方法来进行分析与设计,目前这方面的CASE工具首选的是Rational 公司的Rose 。它是一种强大的面向对象的可视化分析、设计与建模工具。 Rational Rose支持各类可视化建模,诸如系统需求、事务进程、企业商务对象、及软件组件、软件结构、软件对象的 可视化建模等。Rational Rose 支持统一建模语言(UML),UML是对软件组件及其交互作用进行可视化建模的工业标准,已经得到了Microsoft,Oracle,Hewlett-Packard,Texas Instruments和MCI Systemhouse等众多公司的正式认可。Rational Rose可以和任何一种面向对象应用程序结构组合使用,进行循环迭代开发,包括源代码生成的正向工程和已存在代码返回到图形对象模型的逆向工程,另外还可以通过Rational Rose系列产品得到各类主要编程语言和快速应用开发工具的直接支持。
Rational Rose 具有以下优点:
提高沟通能力:团队所有人员使用同一语言,避免了在术语及需求上的混乱。由于设计人员和实施人员的准确沟通,使得计划和编程的过渡时间缩短,减少了错误的发生。
可管理的复杂性:有着大量变数的复杂系统可以很容易的被理解。设计人员可以集中进行大图的设计,而不是更小的细节。这样的结果是开发的时间缩短了,所建的系统是逻辑型和流线型的。
详细的软件结构:能创建出软件设计的蓝图,需求及变量被清楚的定义。这样的结果是在设计过程中有更少的错误发生,所创造的系统更强大更具弹性。
重用:创建应用设计的可控单元,只需改变模型或部分模型,无需改变整个应用,就可以改变或更新项目。这样既省时又提高了生产率。
获取商务进程:系统的需求在Use Case中抓取,从用户的角度来定义商务进程。定义进程是用文本格式来,而不是用计算机术语。这样,一个流畅的开发进程就创建出来了,因为从一开始所有的需求就十分明确,所以最终产品也能满足最终用户的需求。
数据库建模工具z
数据库建模工具可以采用PLATNUM公司的ERwin。由Platinum公司提供的数据库模型构造器ERwin是基于一种典型数据库建模技术E-R图,提供一套设计逻辑模型的编辑器,其中包括实体属性编辑器、实体定义编辑器、实体注解/查询/样本编辑器和属性定义编辑器。ERwin完全支持系统开发过程数据建模的工作,可以提供最终的详细文档。并且Rational Rose内嵌有将面向对象分析与设计的结果转入ERwin的功能,可以使系统分析与设计、数据库设计和实现一体化完成。
WWW开发工具
一般网页的制作采用微软公司的Visual InterDev 6.0结合Frontpage 98;用Macromedia的Flash 4.0来制作网面互动动画, Visual InterDev 6.0 是Internet/Intranet开发工具,用于创建基于HTML、Script脚本语言的动态Web应用程序,支持团队开发Web应用,普通的页面制作采用Frontpage。
二、系统体系结构
系统体系结构的选择不仅影响着系统硬、软件平台和网络结构的选择,更重要的是与决策环境有关、与数据集成和应用集成方式有关,同时也影响着整个信息系统的开发策略。所以,系统体系结构的选择是一个非常重要的问题。
在信息管理与应用的发展过程中,先后出现了多种体系结构,随着工作站的能力不断提高,以及数据从分散走向集中再走向分散的趋势,客户/服务器、浏览器/服务器和三层架构这三种模式成为主流的体系模式。根据网站的建设要求,我们打算采用传统的浏览器/服务器结构,图形用户界面(GUI)与大部分应用逻辑都是运行在浏览器中,数据库则放在服务器上。
当WEB服务器接收到浏览器发过的请求后,WEB服务就与数据层连接并取得回数据,再返到浏览器端进行显示。以下将浏览器和WEB服务器统称为接入层。
浏览器/服务器结构是将应用功能分成接入层、数据层两部分。其解决方案是:对这两层进行明确分割,并在逻辑上使其独立。原来的数据层作为DBMS已经独立出来,所以关键是要将接入层分离成各自独立的程序,并且还要使这两层间的接口简洁明了。将接入层和数据层放在同一服务器中(如下图所示),则加快WEB服务器和数据库服务器之间的数据传送。由于在这种形态中二层是放在同一硬件系统上的,所以维护起来非常方便。
系统架构各层的功能如下所示:
接入层:接入层是应用的用户接口部分,它担负着用户与应用间的对话功能。它用于检查用户从键盘等输入的数据, 将具体的业务处理逻辑地编入程序中,显示应用输出的数据。在这层的程序开发中主要是使用可视化编程工具。
数据层:数据层就是DBMS,负责管理对数据库数据的读写。DBMS必须能迅速执行大量数据的更新和检索。现在的主流是关系数据库管理系统(RDBMS)。因此,一般从事务处理层传送到数据层的要求大都使用SQL语言。
两层B/S结构的优点如下:
具有灵活的硬件系统构成。例如,最初用一台PC服务器作为服务器,将接入层和数据层都配置在这台服务器上。随着业务的发展,用户数和数据量逐渐增加,这时就可以将PC服务器作为接入层的专用服务器,另外追加一台专用于数据层的服务器。
提高程序的可维护性。
利于变更和维护应用技术规范:因为是按层分割功能,所以各个程序的处理逻辑变得十分简单。
进行严密的安全管理 :越关键的应用,用户的识别和存取权限设定愈重要。在B/S结构中,识别用户的机构是按层来构筑的,对应用和数据的存取权限也可以按层进行设定。例如,即使外部的入侵者突破了接入层的安全防线,若在数据层中备有另外的安全机构,系统也可以阻止入侵者进入其他部分。
此外,系统管理简单,可支持异种数据库,有很高的可用性。
综上所述,二层的B/S结构使数据层与接入层的分离,解决了网络运行速度慢、网络冲突、死机、数据峰值高等问题,提供真正的网络解决方案。
三、系统安全策略
本系统的安全管理是考虑了网络系统安全、应用系统安全和数据库系统安全三个层次的。
1、网络系统的安全
根据网络各个部分对安全性的不同要求,将网络划分为 4个逻辑层次,对安全性的要求由高到低依次为:核心层、信息交换层、内部用户层、公众服务层。内部网络中使用保留的Internet IP地址,防止外来者入侵。使用独立的域名系统进行子网划分,必要时可以禁止一些子网间的互访使用防火墙技术,防止外部黑客入侵内部网使用用户名及口令进行网络用户身份认证,数据加密。保障网络系统的安全。
数据加密技术
与防火墙配合使用的安全技术还有数据加密技术是为提高信息系统及数据的安全性和保密性, 防止秘密数据被外部破析所采用的主要技术手段之一。随着信息技术的发展, 网络安全与信息保密日益引起人们的关注。目前各国除了从法律上、管理上加强数据的安全保护外, 从技术上分别在软件和硬件两方面采取措施,推动着数据加密技术和物理防范技术的不断发展。按作用不同, 数据加密技术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术四种:
数据传输加密技术。
目的是对传输中的数据流加密, 常用的方针有线路加密和端—端加密两种。前者侧重在线路上而不考虑信源与信宿, 是对保密信息通过各线路采用不同的加密密钥提供安全保护。后者则指信息由发送者端自动加密, 并进入TCP/IP数据包回封, 然后作为不可阅读和不可识别的数据穿过互联网, 当这些信息一旦到达目的地, 被将自动重组、解密, 成为可读数据。
数据存储加密技术。
目是防止在存储环节上的数据失密, 可分为密文存储和存取控制两种。前者一般是通过加密算法转换、附加密码、加密模块等方法实现; 后者则是对用户资格、格限加以审查和限制, 防止非法用户存取数据或合法用户越权存取数据。
数据完整性鉴别技术。
目的是对介入信息的传送、存取、处理的人的身份和相关数据内容进行验证, 达到保密的要求, 一般包括口令、密钥、身份、数据等项的鉴别, 系统通过对比验证对象输入的特征值是否符合预先设定的参数, 实现对数据的安全保护。
密钥管理技术。
为了数据使用的方便, 数据加密在许多场合集中表现为密钥的应用, 因此密钥往往是保密与窃密的主要对象。密钥的媒体有: 磁卡、磁带、磁盘、半导体存储器等。密钥的管理技术包括密钥的产生、分配保存、更换与销毁等各环节。
2、数据库系统的安全
Microsoft MS SQL Server7.0符合美国国家计算机安全委员会的C2级安全性的要求。Microsoft MS SQL Server7.0使用一个安全控制层来提供统一验证、消息完整性和信息加密。这种先进的基于角色的安全系统支持工业安全服务,此外,代理授权机制为多层应用系统提供了改良的安全性和审计。MS SQL数据库服务器的每一个数据库的每一个数据对象针对每一个用户都可以允许或禁止其访问权限,包括建表、建索引、数据的增删改、数据的删除和调用存储过程。
服务器上所有的文件和目录对外界的可见性和可访问性都加以严格的定义与分配,防止了对文件的非法使用。
服务器本身建议放置在受到严密防范的计算中心主机房内,并由专人负责维护管理,从而防止了外界的物理入侵。
3、应用系统安全
在用户正确登录网络后,用户可以访问服务器,与其他网络用户通信等。应用系统安全将在用户使用系统中的(功能)模块时,核审用户权限,确认用户是否能够使用应用系统,具有何种操作权限。数据库系统提供用户访问数据库系统的安全控制。
基于ANSI SQL标准的大型数据库系统都具有很好的数据库级安全,通常能达到C2级标准。但是,结构再好的数据库,倘若没有确保其中数据安全可靠的体制和措施,即使只有一两个数据不真实,用户也有理由认为整个数据库不可信。因为一般用户不会直接关心数据库是如何优化的,特别是经过信息隐蔽处理,把应用程序中的某些静态数据(包括与它们封装在一起的服务器端处理程序)也放在服务器数据库中以后,数据库安全性问题还将影响到客户端应用程序是否正常运行。
目前,以DBMS为统领的各种数据库管理系统一般都有支持安全性功能。但是,这些功能大多需要在DBMS使用者的提示下工作。也就是说它需要数据库设计者进行安全性体系设计,然后把这个设计中DBMS可以完成的部分通知它,由DBMS去执行。在做安全性设计之前,有必要弄清以下一些问题:哪些功能是DBMS无条件为用户做的?哪些功能是DBMS在用户的指示下做的?哪些功能需要用户与DBMS合作完成?哪些功能需要用户独立去完成?s
因此,数据安全不仅要在系统级进行控制,更重要的是要在应用程序级加以控制。在应用程序级安全中,我们设计一套基于双重角色的安全系统,即基于DBMS和应用系统的安全体系。
有关的设计包括:
在数据库中定义系统专用的用户管理表体系,包括用户基本表、角色基本表及其他关系表(如图B所示)
图B 系统用户管理表体系
依据系统专用的用户管理表进行用户资格审查。如果用户管理表上记录有权访问,而DBMS用户管理表上记录为无权,则DBMS会报错并拒绝访问;反之则由系统报错并拒绝访问。只有两者都记录有效,用户才能访问数据库。
系统用户管理表优先于DBMS系统用户管理表,由于服务器上的DBMS支持多个系统,可能造成对系统用户管理表误操作的因素较多,所以我们对从服务器端输入的用户管理信息,采取一律不予承认的设计方针。也就是当系统用户管理表与DBMS系统用户管理表出现不一致时,依据前者去修正后者,以保持数据一致性,保证用户管理的唯一权威性。在功能结构上,应用安全系统包括应用系统的安全权限分配与管理、用户登录与撤离、用户操作权限管理、用户操作审计与监督,以及某些特殊功能的口令检查,等等,以保证整个应用系统的正确、安全运行,有效地防止信息的泄密和抵御外界对系统的破坏与干扰。图C表示出了安全系统逻辑结构关系。
图C 安全系统逻辑结构示意图
四、开发方法及技术
为使开发出来的系统成为一个高效、稳定、维护方便、可扩展性好的系统,拟采用以下各项技术:
面向对象的分析与设计技术
自软件工程的概念提出以来至今,产生了多种软件开发方法和技术,最主要的设计技术有:结构化分析和设计技术、面向数据结构的设计技术、快速原型设计技术和面向对象的分析与设计技术。
面向对象设计起源于面向对象的编程语言(OOPL)。80年代大批OOPL的出现和不断提高标志着OO技术开始走向繁荣和实用。80年代后期到90年代相继出现了一大批关于面向对象的分析与设计的论文和专著。进入90年代以来,在学术界,面向对象的方法与技术已成为最受关注的研究热点,越来越多的学术会议和学术期刊把面向对象列为主要议题之一,并且每年都有许多关于面向对象的专著出版。在产业界,越来越多的公司从传统的软件开发技术转向面向对象技术,并以此作为提高公司形象和产品信誉的标志。特别是在一些发达国家,几乎所有的新软件开发,都全面或部分地采用面向对象技术。这一切都向人们表明,90年代的面向对象方法已在计算机科学技术领域占据了无可争议的主流地位。