1、摘 要教务与教学管理信息系统(以下简称JWXT)是高校管理信息系统中复杂程度较高、开发难度较大的MIS软件之一,开发能够满足教务与教学管理需求,适应需求变化,同时具有很强的可扩充性、可重用性、可靠性和可维护性的网上教务与教学管理信息系统一直是困扰开发者的一个难题。本文根据高校教务与教学管理工作的实际情况,从组件技术、系统体系结构、开发方法等方面综合考虑,设计了一个行之有效的开发方案,开发了基于Microsoft.Net Framework的JWXT。在开发过程中,做了以下工作:1. 采用Microsoft.Net Framework体系结构,把组件化与面向对象开发方法相结合,以组件化程序开发方
2、法构造系统的体系结构,使用面向对象的方法进行组件的开发。2. 借助Rose工具将UML语言和.Net Framework应用开发结合起来,进行可视化建模,定义系统需求,描述系统设计。将Web页面、客户端界面、组件对象、数据表和数据库都作为类或对象,按照真实世界的观点进行建模。3. 依据软件工程学的观点来制定设计开发步骤。将数据库设计和组件规划做为这一开发方案的关键环节,设计了数据层,规划了各层次组件。4. 设计了系统的安全策略。不仅对不同类型的用户授予不同权限,而且采用中间业务逻辑层组件作为登录组件,实现对系统登录的检测。经实际运用,该方案一方面可以在系统建立的早期暴露和减少风险,实现分析设计
3、和程序实现的平滑过渡,控制系统的复杂牲,使系统结构更为合理和更易扩展,降低系统的维护费用,提高开发效率;另一方面,对Internet应用系统的可扩充性、可重用性、可靠性和可维护性起到了非常重要的作用,进一步拓展了Internet应用的领域和范围。该方案不仅具有较强的实用价值,而且具有一定的理论意义,同时这种方法还适合于其他应用系统的开发。关键词:教务与教学管理信息系统,面向对象,组件, Microsoft.Net Framework, UML,建模,Web Service. AbstractEducational administration & Teaching Management Sys
4、tem (Abbreviated to JWXT) is one of the most difficult and complicated MIS software in university management information systems. It is a great challenge to develop a web educational administration & teaching management system that satisfies the demand of educational administration & teaching and is
5、 of great extensibility, reusability, dependability and maintainability. According to the actuality of educational administration & Teaching management in universities, this paper designs an efficient scheme, and develops a JWXT based on Microsoft .Net Framework considering component technology, sys
6、tem architecture and develop methods. My main work is as follows:1. Combines component technology with OOT using the Microsoft.Net Framework architecture. Uses the component programming method to construct the systems architecture, and applies OOT to the components development.2. Combines UML with .
7、Net Framework using ROSE to implement visualized modeling. Defines system requirement and describes system design. Takes web pages, client UI, component object, table and database as objects or classes to do modeling from the viewpoint of real world.3. Decides the development procedure according to
8、the viewpoint of software engineering. Takes database design and components layout as the key points. Designs the data layer and arranges the components on each layer.4. Designs the security strategy of the system. The strategy not only assigns different rights to different users, but also uses the
9、business logic middleware as the login component to realize the detection of system logins. This scheme is of many advantages such as: first, making use of this scheme, we can expose and reduce risks in the earlier time, realize smooth transition from analysis & design to implementation, control the
10、 complexity of the system, obtain more reasonable and extendable system structure, reduce system maintaining cost and improve development efficiency. On the other hand, great improvement can be made to the extensibility, reusability, dependability and maintainability of Internet applications and the
11、 scope of Internet applications is further extended. The scheme is of great value not only in practice but also in theory, meanwhile, the method can be used to other application development.Keywords: Educational administration & Teaching Management System, Object-Oriented, Component, .Net Framework,
12、 UML, Modeling, Web Service.目 录第一章 绪论 11.1 JWXT现状分析11.2 研究目的、内容和成果 21.3 论文的组织3第二章 Microsoft .Net Framework技术架构和应用解决方案42.1 Microsoft .Net Framework技术架构42.2 Microsoft .NET Framework的编程语言和开发工具62.3 Microsoft .NET Framework的三层应用解决方案8第三章JWXT的总体方案133.1 开发方法 133.2 系统整体架构 143.3 系统开发过程 173.4 系统的建模 193.4.1 面向对
13、象建模方法 193.4.2统一建模语言UML203.4.3建模工具Rational Rose 213.5 系统开发环境和运行环境 22第四章JWXT的分析、设计 244.1系统需求分析244.2 细化分析与设计 304.2.1系统的细化用例图 314.2.2交互图 344.2.3类图 36第五章 JWXT的详细设计与实现 425.1 数据库设计 425.2 设计中注意的问题 465.3 组件的规划 475.3.1 组件规划中要注意的问题 475.3.2 业务层 485.3.3 表示层 505.4可重用的组件和类以及工具组件 525.5系统的部署 545.6组件的实现 555.7 安全措施 57
14、第六章 结束语 606.1系统特点 606.2 系统的不足 616.3 展望 61参考文献 63第一章 绪 论1.1 JWXT现状分析JWXT(教务与教学管理信息系统)牵涉到学校教务与教学管理方方面面的工作,建设高水平的大学,JWXT的建设是重要的一环。高校开发具有涉及教务与教学管理各环节、面向学校各部门以及各层次用户的多功能网上JWXT是十分必要的。它是实现信息资源的共享和综合利用、提高办公自动化程度和办公效率的基本前提。目前高校JWXT的发展很不平衡,主要表现在以下几个方面:1. 许多高校的教务与教学管理采用分散管理的办法,各个科室拥有各自的小型数据库,没有真正实现电子化和网络化。这样的管
15、理模式造成管理零乱而低效,不利于事务的公开。另一方面,这些小型数据库之间存在大量的数据冗余,若有数据变动(如增加、删除、修改等),必须依靠手工逐个更改多个库,不仅增加不必要的工作量、而且容易造成数据不一致,资源利用率不高。2. 有的高校构建了自己的校园网,引进这种软件用于本校的教务与教学管理,但是因为各个高校的实际情况不同,生源、考核制度和管理方式有很大的差异,引进的软件往往不能直接投入使用,必须经过二次开发。进行二次开发所需的人力、时间和费用,可能还要高于自己开发的费用。不但如此,从系统的数据结构看,引进系统的数据库的结构不可能和本校原有数据库的结构相同,甚至有很大的差异,进行数据移植所需的
16、代价也相当大。3. 还有的高校开发了网上JWXT,但由于高校处于不断的改革发展中,管理制度和管理模式不可能不变,加之JWXT的复杂庞大,开发的周期不但长,而且不能够满足用户不断变化的需求和新的计算环境。由于在开发JWXT的过程中,没有充分考虑系统将来的可扩充性、可重用性、可靠性和可维护性,随着学校规模的扩大,管理业务的变动和对工作效率要求的提高,弊端日益显露出来。如: 跨平台性差,不同开发工具开发的应用程序一般不能到其它客户平台上运行。 维护、升级非常不便。 对客户端软硬件要求较高,尤其是软件的不断升级,对硬件要求不断提高,增加了整个系统的成本。缺乏开放性,难以方便地与Internet接轨,系
17、统之外的用户难以访问系统资源,系统内的客户机也不便访问系统外资源。可以说目前大部分高校没有能够为用户提供网络环境下的综合性集成办公的管理系统,从而使得各级办公和管理人员方便、灵活地在系统应用环境下处理事务、充分利用各种资源信息。这种情况影响了学校管理工作的效率,甚至影响正常的教学进程。随着Internet的普及和发展,计算机应用不断扩展,应用系统越来越复杂,从而软件的复杂度不断增大,特别是管理信息系统(MIS),由原来的单一事务处理型已向提供事务处理、分析处理和决策支持功能的综合性方向发展,这就使MIS软件系统渐趋庞大和复杂,因此迫切需要一个行之有效的方法来开发MIS系统,以降低系统开发的复杂
18、性,加快系统的开发。从长远的发展来看,高校根据本校的实际情况和发展目标开发自己的JWXT,不但可以直接和学校的管理制度接轨,不必被迫改变原有的管理体系,更重要的是便于以后系统的维护和扩充。1.2 研究目的、内容和成果本文通过采用组件化和面向对象开发相结合的方法,以通用的面向对象建模语言UML为辅助工具,旨在于构架一个基于.Net Framework的JWXT,以适应高校实现信息资源的共享和综合利用、提高办公自动化程度和办公效率的需要。探索能够降低问题复杂度、提高系统的可扩充性、可重用性、可靠性和可维护性的基于.Net Framework的Internet应用系统的开发模式。 在研究与开发的过程
19、中,取得了以下几方面成果: 1. 为开发复杂、庞大的JWXT,本文综合考虑组件技术、体系结构和开发方法,以组件化程序开发方法构造系统的体系结构层次,使用面向对象的方法进行组件的开发,构建了基于.Net Framework 的JWXT。实践证明,这种方法是可行的,并且是有效的。 2. 利用面向对象方法,分析和设计了JWXT的各个功能模块。在建模过程中,重点对JWXT中用例图、时序图、合作图与类图的创建进行了探讨。3. 依据软件工程学的观点来制定设计开发步骤。将数据库设计和组件规划做为这一开发方案的关键环节,设计了数据层,规划了各层次组件。4. 在安全性方面,仔细分析了安全性需求,设计了系统的安全
20、策略。一方面,根据用户的职能,把系统用户分成四个方面的角色学生、教师、领导(系级领导、部门领导、校级领导)和管理者(系级管理员和校级管理员)。由校级系统管理员分配和授予角色,每个角色根据各自的职能拥有不同的权限。另一方面, 与传统的信息系统的用户登录方式不同,采用通过登录组件进行登录的方式,实现三层结构中的中间业务逻辑层对系统登录的检测。 5. 由于JWXT的复杂庞大,主要做了整个系统的分析、规划和设计的工作,并完成了JWXT中的选课管理、考务管理、招生管理、成绩管理、基本信息管理、系统管理六个子模块和排课管理中的公共课排课的功能,基本能够满足用户选课、考务、招生、成绩管理等方面的要求,达到了
21、原定目标。1.3论文的组织本文由六个章节组成。在第一章中,主要对高校JWXT的现状进行了分析,介绍了本文的研究目的、内容和成果。第二章,主要介绍了Microsoft.Net Framework的技术架构、编程语言、开发工具和Microsoft .NET Framework的三层应用解决方案。在第三章中,设计了JWXT的总体方案,探讨了JWXT的开发模式,根据软件工程学,制定了系统的开发实现步骤。在第四章中,对系统利用UML建模语言和Rose建模工具合理地建模,定义了系统需求,描述了系统设计。第五章是JWXT的详细设计与实现,对系统数据库进行了详细设计,规划了系统中的组件,阐述了系统的实现并设计
22、了安全措施。最后一章对开发工作进行总结,描述了系统特点,说明了系统的不足,展望了JWXT未来的发展。第二章 Microsoft.Net Framework技术架构和应用解决方案2.1 Microsoft .Net Framework技术架构Microsoft.NET Framework是Microsoft为简化在第三代因特网的分布式环境下的应用程序开发,基于开放互联网标准和协议之上,实现异质语言和平台高度交互性,而构建的新一代基于XML Web services的计算和通信平台。16Microsoft.NET Framework的技术架构如图21所示:图21 Microsoft .Net Fr
23、amework技术架构Microsoft.NET Framework技术架构主要包括以下几个主要组成部分:首先是整个开发框架的基础,即通用语言运行时以及它所提供的一组基础类库;在开发技术方面,.NET提供了全新的数据库访问技术ADO.NET,以及网络应用开发技术ASP.NET和Windows编程技术Win Forms;在开发语言方面,.NET提供了VB,VC+,C#,Jscript等多种语言支持;而Visual Studio.NET则是全面支持.NET的开发工具。1. 通用语言运行时和基础类库通用语言运行时,即Common Language Runtime。Microsoft.NET 给开发人
24、员带来了一种全新的开发框架,而通用语言运行时则处于这个框架的最低层,是这个框架的基础。通用语言运行时为多种语言提供了一种统一的运行环境。另外它还提供了更多的功能和特性,如统一和简化的编程模型,用户不必迷惑于Win32 API和COM;避免了DLL的版本和更新问题(常称为DLL Hell),从而大大简化了应用程序的发布和升级;多种语言之间的交互,例如我们甚至可以在VB中使用C+编写的类;自动的内存和资源管理等等。通用语言运行时提供了很多新特性,它通过基础类库(Base Class Library)给开发者提供了一个统一的面向对象的、层次化的、可扩展的编程接口。这组基础类库包括了从输入、输出到数据
25、访问等各个方面。它使用一种点号分隔的方法,使得查找和使用类库非常容易。例如基础类库中的根,它的命名空间是System,提供数据访问的类库的命名空间是System.Data。在使用时,开发者只需在自己的应用中添加所需的基础类库的引用,然后就可以使用这个类库中的所有方法、属性等等。跟传统的Windows编程相比,使用和扩展基础类库都非常容易,这使得开发者能够高效、快速地构建基于下一代互联网的网络应用。 2. ADO.NET几乎所有的应用程序都需要访问从简单的文本文件到大型的关系型数据库等各种不同类型的数据。在Microsoft.NET中访问数据库的技术是ADO.NET。ADO.NET提供了一组用来
26、连接到数据库,运行命令,返回记录集的类库,与从前的ADO(ActiveX Data Object)相比,Connection和Command对象很类似,而ADO.NET的革新主要体现在如下几个方面: 首先,ADO.NET被设计成基于XML的非连接式与分布式数据存取技术。提供了对XML的强大支持。为XML成为Microsoft.NET中数据交换的统一格式提供了基础。 其次,ADO.NET引入了DataSet类的概念,这是一个驻于内存的数据缓冲区,它提供了数据的关系型视图。不管数据来源于一个关系型的数据库,还是来源于一个XML文档,我们都可以用一个统一的编程模型来创建和使用它。它替代了原有的Rec
27、ordset的对象,提高了程序的交互性和可扩展性,尤其适合于分布式的应用场合。 另外,ADO .NET中还引入了一些新的对象,例如DataReader可以用来高效率地读取数据,产生一个只读的记录集等等。简而言之,ADO.NET通过一系列新的对象和编程模型,并与XML紧密结合,使得在Microsoft.NET中的数据操作十分方便和高效。 3. ASP.NET和Win FormsASP.NET是Microsoft.NET中的网络编程结构,它使得建造、运行和发布网络应用非常方便和高效。ASP.NET应用不再是解释脚本,而是编译运行,再加上灵活的缓冲技术,从根本上提高了性能;由于ASP.NET的应用框
28、架基于通用语言运行时,发布一个网络应用,仅仅是一个拷贝文件的过程,即使是组件的发布也是如此,更新和删除网络应用,可以直接替换/删除文件;开发者可以将应用的配置信息存放XML格式的文件中,管理员和开发者对应用程序的管理可以分开进行;提供了更多样的认证和安全管理方式;在可靠性等多方面都有很大提高。 在ASP.NET中可以支持多种语言,不仅仅支持脚本语言,通用语言运行时支持的所有语言在ASP.NET中都可以使用;代码和内容分开,在现在的ASP(Active Server Pages)开发中,内容和脚本交错,维护和升级很困难,将他们分开可以使得开发人员和设计人员能够更好的分工合作,提高开发效率;另外在
29、ASP.NET中通过引入服务器端控件,将类似VB的快速开发应用到了网络开发中来,这样大大提高了构建网络表单效率,并且服务器端控件是可扩展的,开发者可以建造自己需要的服务器端控件。 传统的基于Windows的应用(Win Forms),它仍然是Microsoft.NET战略中不可或缺的一部分。在Microsoft.NET中开发传统的基于Windows的应用程序时,除了可以利用现有的技术如ActiveX控件以及丰富的Windows接口外,还可以基于通用语言运行时开发,可以使用ADO .NET、网络服务等,这样也可以实现诸如避免DLL Hell、多语言支持等.NET的新特性。20 2.2 Micro
30、soft.NET Framework的编程语言和开发工具 1. 编程语言Microsoft.NET Framework技术架构支持多种语言,支持 VB,C+,C#和Jscript四种语言以及它们之间的深层次交互。而且微软支持第三方生产针对Microsoft.NET的编译器和开发工具。 需要特别指出的是,微软在Microsoft.NET中推出了全新的C#语言,这种全新的面向对象的语言使得开发者可以快速地构建从底层系统级到高层商业组件的不同应用。C#在保证了强大的功能和灵活性的同时,给C和C+带来了类似于VB的快速开发,并且它还针对.NET作了特别设计,比如C#允许XML数据直接映射为它的数据类型
31、等等,这些特性结合起来使得C#成为优秀的下一代网络编程语言。 与此同时Microsoft.NET对原有的VB和C+也做了很大的改进,使得它们更加适应Microsoft.NET开发框架的需求。例如在Visual Basic.NET中增加了继承等面向对象的特性,结构化的出错处理等等;可管理的C+扩展,大大提高了利用C+来开发Microsoft.NET应用的效率等。2. 开发工具Microsoft Visual Studio.NET作为微软的下一代开发工具,它和.NET 开发框架紧密结合,是构建下一代互联网应用的优秀工具。Visual Studio.NET通过提供一个统一的集成开发环境及工具,大大提
32、高了开发者的效率;集成了多种语言支持;简化了服务器端的开发;提供了高效地创建和使用网络服务的方法等等。 Microsoft Visual Studio.NET通过包括企业开发小组用来创建面向任何 Internet设备并与任何平台集成的关键任务应用程序的其他功能,利用 Visual Studio.NET开发人员可安全地控制版本并共享他们的源代码、共享最佳做法、面向可缩放的.NET Enterprise 服务器、从大量的第三方工具和技术中选择、通过 Visual Studio .NET 中大量的性能测试工具方便地调整 Web 应用程序和 Web 服务的性能。Microsoft Visual Stu
33、dio.Net具有如下技术特点:1) 为 Windows 和 Web 实现有效的小组开发。2) 使用功能强大的工具和技术创建可缩放的、可靠的企业应用程序。3) 基于综合的企业生命周期平台而创建。4) 开发迅速快捷。5) 代码效率高,执行速度快。6) 是目前使用最广泛的开发工具。7) 对XML、Web Service标准提供强有力的支持。总之,Microsoft.NET开发框架在通用语言运行时的基础上,给开发者提供了完善的基础类库、新一代的数据库访问技术ADO.NET、网络开发技术ASP.NET,开发者可以使用多种语言及Visual Studio.NET来快速构建下一代的网络应用。2.3 Mic
34、rosoft.NET Framework的三层应用解决方案按照分布式结构的思想,整个应用系统由表示层、业务逻辑层和数据服务层构成。如图22所示20。 图22 .NET Framework的三层应用解决方案2.3.1表示层大多数业务应用程序都使用窗体来构造表示层,由一系列用户与之交互的窗体(页面)组成应用程序。每个窗体都包含许多用于显示较低层的输出以及收集用户输入的字段。 实现基于窗体的用户界面的两类组件是: 1. 用户界面组件 对于胖客户端应用程序,此模式使用.NET Framework 的 System.Windows.Forms 命名空间中的 UI 组件。对于 Web 应用程序,此模式使用
35、ASP.NET组件。如果标准.NET组件不能满足用户的需要,.NET还支持标准UI组件的子分类,并支持将自己的自定义组件插入到框架中。 2. 用户界面处理组件复杂的用户界面通常需要许多非常复杂的窗体。要增加可重用性、可维护性和可扩展性,可以创建单独的用户界面处理 (UIP) 组件,以便封装窗体之间的依赖性以及与窗体之间的导航关联的逻辑。其中的部分概念适用于一个窗体的组件之间的依赖性、验证和导航。这些UIP组件通常是基于Front Controller、Application Controller和 Mediator等设计模式的自定义组件。UI和UIP组件之间的交互通常遵循 Model-View
36、-Controller或 Presentation-Abstraction-Controller模式。 2.3.2业务层大型应用程序通常是围绕业务流程和业务组件的概念构造的。这些概念是通过业务层中的大量组件、实体、代理和界面来处理的。 1. 业务组件在 Business Component Factory 中,Peter Herzum 和 Oliver Sims 对业务组件的定义如下:自治业务概念或业务流程的软件实现。它包含将指定的业务概念作为较大型分布式信息系统的自治、可重用元素来表示、实现和部署所必需的所有软件制品。业务组件是业务概念的软件实现。在业务应用程序的生命周期中,它们是设计、实现
37、、部署、维护和管理的主要单元。业务组件封装业务逻辑(也称业务规则)。这些规则约束业务概念的行为以匹配特定的需要。2. 业务工作流业务流程反映了业务执行的宏观级别的活动,可以使用任何.NET语言来开发自定义的业务工作流组件。或者,也可以使用 BizTalk Server 来定义业务流程,并自动编排业务组件。3. 业务实体业务实体是数据容器。它们封装并隐藏特定数据表示格式的细节。业务和业务工作流组件可以与独立的业务实体组件交互,或者使用业务实体以便设置它们自己的状态,然后丢弃该业务实体。业务实体通常用作 Data Transfer Objects。数据访问组件通常返回业务实体,而不是数据库特有的结
38、构。这非常有助于将数据库特有的细节隔绝于数据层中。 4. 服务接口应用程序可以将它的部分功能作为其他应用程序可以使用的服务进行公开。服务接口将该服务呈现给外部世界。理想情况下,它隐藏实现细节,并只公开粗粒度的业务接口。服务接口通常使用 XML Web Service实现。如果使用域模型,那么域模型中的类通常由一个或多个域层组件实现。 2.3.3数据层大多数业务应用程序必须访问存储在数据库(最常见的是关系数据库)中的数据。此数据层中的数据访问组件负责将存储在这些数据库中的数据公开给业务层。1. 数据访问组件数据访问组件将业务层与特定数据存储解决方案的细节隔离开来。这种隔离具有下列优点:1) 尽量
39、减少数据库提供方的更改所造成的影响。 2) 尽量减少数据表示的更改(例如,数据库架构的更改)所造成的影响。 3) 封装操作单个位置的特定数据项的所有代码。这极大地简化了测试和维护过程。 ADO.NET可以直接用作简单应用程序的数据访问组件。通过ADO.NET开发一组用于管理对象-关系映射复杂性的类,对于更复杂的应用程序很有益处。 2. 服务网关业务组件通常必须访问内部和外部服务或应用程序。服务网关是封装使用此类服务所必需的接口、协议和代码的组件。2.3.4基础服务除了三个标准层,Three-Layered Services Application 还定义所有层都可以使用的一组基础服务。这些服务
40、分为三个基本类别:1) 安全性。这些服务维护应用程序安全性。 2) 运行管理。这些服务管理组件以及关联的资源,并满足可伸缩性和容错等运行要求。 3) 通信。这些是提供组件之间的通信的服务,如 .NET Remoting、SOAP 以及异步消息传递。20 2.3.5三层应用解决方案的特点与二层结构相比,使用 Three-Layered Services Application 模式具有下列特点:1) 可伸缩性。由于使用组件技术,当应用的规模增大时,通过系统结构的配置而不必修改代码就可以适应新的应用需求。并且,利用这种可伸缩特性,可以实现复杂的分布式应用系统。2) 灵活性。业务逻辑的改变可以不影响
41、客户应用和数据层;并且局部的业务逻辑变化可以不影响其他的业务组件;可以对单个组件进行调试和测试;实现组件或者客户应用时对语言的选择有很大的灵活性,只要编程语言支持组件应用开发即可。3) 可靠性。因为三层结构把一个复杂的应用拆分成一些小的组件或者依赖于系统提供的支持,所以应用系统的可靠性易于得到保证。4) 跨平台性。由于采用了组件技术,并合理分层,提高了系统的跨平台特性。5) 充分体现了软件集成的思想。在三层结构中,不仅要设计和开发一些组件,同时还可以大量使用已经进入市场的组件产品,或者使用以前积累下来的组件库中的组件,从而缩短应用系统的开发周期,避免重复劳动,提高组件的重用率。与三层以上的多层
42、结构相比,三层应用结构能够尽量减少必须跨越过多层所造成的负面影响。但是, Three-Layered Services Application 模式也有缺点,表现在:对于复杂的解决方案,可能有必要进一步划分域层,尤其是在重用性具有很高的优先级,或者要基于常用的一组组件设计一系列解决方案时,更是如此。另外,单一用户界面层对于提供复杂用户界面的解决方案可能不够。例如,数据验证、命令处理、打印和撤消/重复等功能可能需要其他层。20 JWXT是一个随高校管理模式不断改进而改进的系统,并且高校的规模越来越大,生源结构、办学层次也将越来越复杂, JWXT只有具备了可伸缩性、灵活性、可靠性、跨平台性,才能适
43、应高校教务与教学管理发展的需要,所以开发具备很强的可扩充性、可重用性、可靠性和可维护性的JWXT,Microsoft的三层应用解决方案是一个很好的选择。第三章 JWXT的总体方案3.1 开发方法组件化程序设计显著的优点是可实现软件重用,便于控制软件的复杂性,便于维护,测试方便等等。组件化程序设计在开发MIS系统时,能够有效利用以往开发过程中的经验,避免低效重复劳动,在开发高效、可靠、维护简单、应变能力强的MIS应用系统的过程中起到了重要的作用。但对于一个规模很小的应用软件,无论使用什么样的系统结构都可能达到预期的要求。对于规模较大的应用系统,情况就不是这样了,系统结构可以起到关键的作用,它不仅
44、会影响系统设计和开发的进度,还可能直接影响到系统的后续发展潜力,甚至会决定系统的成败。如果没有合适的体系结构,组件之间的互操作性就不强,组件的质量和可重用性就难以保证。所以,组件化程序设计和软件体系结构是紧密相关的。在系统开发方法上,传统的结构化方法的着眼点在于一个信息系统需要什么样的方法和处理过程。22以过程抽象来对待系统的需求,其主要思想就是对问题进行功能分解,如果分解后得到的功能过大,那么再对这些功能进行分解,直到最后分解得到的功能能比较方便地处理和理解为止。所以结构化方法也称作功能分解法。与传统的结构化软件开发方法相比,面向对象软件开发方法在描述和理解问题域时采用截然不同的方法。面向对
45、象方法对问题域进行自然分割,以接近人类思维的方式建立问题域模型,使设计出的软件尽可能直接地描述现实世界,开发的系统比较稳定,较小的需求变化不会导致大的系统结构的改变,具有很好的可维护性和适应性,能更好地适应用户需求的变化。另外,在面向对象方法中,现实世界中的实体及其相互关系被映射为对象及对象间的关系,实体之间的相互作用被映射为对象间的消息发送,以及其他类似的各种映射关系。因此,面向对象的模型对现实世界的映射更直观、更有对应关系。容易理解、易于测试和调试。而且一个设计良好的面向对象系统是易于扩充和修改的,因此能够适应不断增加的新需求。面向对象方法支持软件开发中从分析到设计以至实现的各个阶段,且各个阶段均采用一套概念和表达手段,它们之间没有“鸿沟”的存在,几乎不需要什么转化。面向对象方法还支持和鼓励复用,不仅包括实现的复用,还包括分析、设计等建模成果的复用。但是,在JWXT的开发中,如果用纯面向对象的开发方法,也有一些缺点,首先,在处理这种大型软件系统时,它的粒