课程注册系统

软件体系结构文档
版本 1.0

修订历史记录

日期

版本

描述

作者

1999 年 3 月 21 日 1.0 软件体系结构文档是使用 Rational SoDA 模板和 Rational Rose 模型生成的。 S. Johnson
 
 
 
 
 
 
 
 
 
 
 
 

 

 

目录至页面顶部。

1.  简介

2.   体系结构说明

3.   体系结构目标和约束

4.   用例视图

5.   逻辑视图

6.   流程视图

7.   部署视图

8.   大小和性能

9.   质量

软件体系结构文档

简介至页面顶部。

1.1 目的

    本文档使用许多不同的体系结构视图来描述系统的多个方面,对系统进行了全面的体系结构概述。其目的是捕获和传达对系统作出的重要体系结构决策。

1.2 范围

    本软件体系结构文档概述了课程注册系统的体系结构。课程注册系统是由 Wylie College 开发的,用来支持在线课程注册。

    根据在 Rose 中实施的课程注册分析与设计模型,直接生成本文档。已经从使用 SoDA 的 Rose 模型和软件体系结构文档模板抽取出大多章节。

1.3 定义、首字母缩写词和缩写

    请参阅词汇表 [4]。

1.4 参考资料

    适用的参考资料有:

      1. Course Billing Interface Specification, WC93332, 1985, Wylie College Press.
      2. Course Catalog Database Specification, WC93422, 1985, Wylie College Press.
      3. Course Registration System Vision Document, WyIT387, V1.0, 1998, Wylie College IT.
      4. Course Registration System Glossary, WyIT406, V2.0, 1999, Wylie College IT.
      5. Course Registration System Use Case Spec - Close Registration, WyIT403, V2.0, 1999, Wylie College IT.
      6. Course Registration System Use Case Spec - Login, WyIT401, V2.0, 1999, Wylie College IT.
      7. Course Registration System Use Case Spec - Maintain Professor Info, WyIT407, V2.0, 1999, Wylie College IT.
      8. Course Registration System Use Case Spec - Register for Courses, WyIT402, V2.0, 1999, Wylie College IT.
      9. Course Registration System Use Case Spec - Select Courses to Teach, WyIT405, V2.0, 1999, Wylie College IT.
      10. Course Registration System Use Case Spec - Maintain Student Info, WyIT408, V2.0, 1999, Wylie College IT.
      11. Course Registration System Use Case Spec - Submit Grades, WyIT409, V2.0, 1999, Wylie College IT.
      12. Course Registration System Use Case Spec - View Report Card, WyIT410, V2.0, 1999, Wylie College IT.
      13. Course Registration System Software Development Plan, WyIT418, V1.0, 1999, Wylie College IT.
      14. Course Registration System Iteration Plan, Elaboration Iteration #E1, WyIT420, V1.0, 1999, Wylie College IT.
      15. Course Registration System Supplementary Specification, WyIT400, V1.0, 1999, Wylie College, IT.
2.  体系结构说明至页面顶部。
    本文档将体系结构表示成一组视图:用例视图、逻辑视图、流程视图和部署视图。 但不描述单独的实施视图。这些视图是使用 Rational Rose 开发的底层统一建模语言(UML)模型上的视图。
3.  体系结构目标和约束至页面顶部。

有些关键需求和系统约束对体系结构有着重要的限制。它们是:

    1. 必须访问 Wylie College 的现有旧课程目录系统才能查找到当前学期的所有课程信息。 课程注册系统必须支持旧课程目录系统 [2] 的数据格式和 DBMS。
    2. 必须与 Wylie College 的现有旧财务系统相连才能支持向学生开具帐单。此接口在“课程记帐接口规范”[1] 中定义。
    3. 必须通过因特网拨号连接在本地校园 PC 和远程 PC 才能使用所有学生、教授和登记人员功能。
    4. 课程注册系统必须全面保护数据以防止未经授权的访问。所有远程访问都要服从用户标识和密码控制。
    5. 将课程注册系统作为客户机/服务器系统来实施。 客户端部分将驻留在 PC 上,而服务器部分必须在 Wylie College UNIX 服务器上运作。[3]
    6. 由于正在开发体系结构,所以必须考虑到所有的性能和装入需求(如在远景文档 [3] 和补充规范 [15] 中规定的)。

4.  用例视图至页面顶部。

描述了软件体系结构的用例视图。用例视图是选择一组场景和/用例(迭代重点)的重要输入。它描述了代表某一重要的中心功能的一组场景和/或用例。它还描述了一组具有实际体系结构覆盖(用到许多体系结构元素)或者强调或说明特定、微妙的体系结构点的场景和/或用例。

课程注册用例为:

- 登录

- 注册课程

- 维护学生信息

- 维护教授信息

- 选择要教授的课程

- 提交学生评分

- 查看报告卡

- 结束注册。

这些用例是由学生、教授或登记员启动的。此外,还有与外部参与者、课程目录和记帐系统的交互。

4.1  对体系结构重要的用例

内容下加标题

      图名称:对体系结构重要的用例

4.1.1 结束注册

        简短描述:此用例允许登记员结束注册过程。报名学生不够的课程将被取消。提供课程中必须至少有三名学生。 会通知记帐系统未取消的每门课程安排中的每名学生,这样学生可支付课程费用。此用例的主要参与者是登记员。 记帐系统是此用例中涉及到的参与者。

4.1.2 登录

        简短描述:此用例描述了用户如何登录到课程注册系统中。启动此用例的参与者是学生、教授和登记员。

4.1.3 维护教授信息

        简短描述:此用例允许登记员维护注册系统中的教授信息。包括添加和修改教授,以及从系统删除教授。此用例的参与者是注册员。

4.1.4 选择要教授的课程

        简短描述:此用例允许教授针对有资格教授并想在下个学期教授的课程,根据课程目录选择要教授的课程(将给出特定于日期和时间的课程)。 启动此用例的参与者是教授。 课程目录系统是用例中的参与者。

4.1.5 注册课程

        简短描述:此用例允许学生注册当前学期要学习的课程。如果是在学期开始时的添加/删除阶段,学生还可修改或删除选择的课程。 会向记帐系统通知所有的注册更新。 课程目录提供当前学期所有课程安排的列表。此用例的主要参与者是学生。课程目录系统是用例中的参与者。

4.1.6 查看报告卡

        简短描述:此用例允许学生查看之前结束的学期的报告卡。学生是此用例的参与者。

4.1.7 提交学生评分

        简短描述:此用例允许教授提交学生在前一学期完成的一门或多门课程的分数。此用例的参与者是教授。

4.1.8 维护学生信息

    简短描述:此用例允许登记员维护注册系统中的学生信息。包括添加和修改学生信息,以及从系统删除学生。此用例的参与者是注册员。

5.  逻辑视图至页面顶部。

    描述体系结构的逻辑视图。描述最重要的类、服务包和子系统中的类组织,以及各层中这些子系统的组织。 还描述最重要的用例实现,例如,体系结构的动态方面。必须包含类图以阐明对体系结构重要的类、子系统、包和层之间的关系。

    课程注册系统的逻辑视图由三个主要包组成:用户界面、业务服务和业务对象。

    用户界面包包含参与者用来与系统通信的所有表单的类。边界类用于支持登录、维护进度安排、维护教授信息、选择课程、提交评分、维护学生信息、结束注册和查看报告卡。

    业务服务包包含用于连接财务系统、控制学生注册和管理学生评估的控制类。

    业务对象包包含用于大学工件(即课程安排和进度安排)的实体类和用于连接课程目录系统的边界类。

5.1  体系结构概述 - 包和子系统分层

以上说明作为标题

5.1.1 应用程序

        此应用层包含表示用户看得到的应用程序屏幕的所有边界类。该层依赖于“进程对象”层,它连接中间层到客户端。

5.1.2 业务服务

        “业务服务”流程层包含表示驱动应用程序行为的用例管理器的所有控制器类。该层表示客户端到中间层的边界。 “业务服务”层依赖于“进程对象”层,它连接中间层到客户端。

5.1.3 中间件

        “中间件”层支持访问 Relational DBMS 和 OODBMS。

5.1.4 基本用例复用

    “基本用例复用”包包含的类支持列表功能和模式。

     

6.  流程视图至页面顶部。

    描述体系结构的流程视图。描述系统执行中涉及的任务(进程和线程)以及任务的交互和配置。 还描述向任务分配的对象和类。

    “流程模式”说明按可执行流程组织的课程注册类。流程可支持学生注册、教授功能、结束注册以及访问外部财务系统和课程目录系统。

6.1 流程

内容下加标题

 

      图名称:流程

6.1.1 CourseCatalogSystemAccess

        此流程管理对旧课程目录系统的访问。多个用户在注册课程时可共享该流程。 可以高速缓存最近检索到的课程和安排情况以提高性能。

        CourseCatalog 流程、CourseCache 和 OfferingCache 中的独立线程用于从旧系统异步检索项。

        分析机制:

        - 旧接口

        需求可跟踪性:

        - 设计约束:系统应该与现有旧系统(课程目录数据库)集成。

         

6.1.2 CourseCatalog

        包含大学提供的所有课程和课程安排的完整目录(包含以前学期提供的课程)。

        此类充当适配器(请参阅 Gamma 模式)。它的作用是确保可以通过子系统的 ICourseCatalog 接口访问 CourseCatalogSystem。

         

6.1.3 CourseRegistrationProcess

        对于每个当前正在注册课程的学生,提供一个此流程的实例。

         

6.1.4 RegistrationController

        它支持允许学生注册当前学期课程的用例。如果是在学期开始时的添加/删除阶段,学生还可修改或删除选择的课程。

        分析机制:

        - 分发

         

6.1.5 StudentApplication

        管理学生功能,包括用户界面处理和与业务流程协调。

        对于每个当前正在注册课程的学生,提供一个此流程的实例。

         

6.1.6 MainStudentForm

        控制学生应用程序的接口。控制学生使用的系列表单。

         

6.1.7 BillingSystemAccess

        此流程与外部财务(记帐)系统通信,从而启动学生记帐。

         

6.1.8 CloseRegistrationProcess

        “结束注册”流程是在注册阶段结束时启动的。此流程与控制财务系统访问的流程通信。

         

6.1.9 BillingSystem

        财务系统支持针对学生在当前学期注册的课程,提交学生帐单。

        分析机制:

        - 旧接口

         

6.1.10 CloseRegistrationController

      “结束注册控制器”控制对财务系统的访问。

      分析机制:

      - 分发

       

6.2 设计元素的流程

内容下加标题

 

      图名称:设计元素的流程

6.2.1 CourseCache

“课程高速缓存”线程用于从旧课程目录系统异步检索项。

6.2.2 OfferingCache

OfferingCashe 线程用于从旧课程目录系统异步检索项。

         

6.2.3 Course

大学所提供的课程。

分析机制:

- 持久性

- 旧接口

 

6.2.4 CourseOffering

      课程的特定安排,包括一周的天数和次数。

      分析机制:

      - 持久性

      - 旧接口

       

6.3 流程模型与设计模型的依赖关系

内容下加标题

图名称:流程模型与设计模型的依赖关系

 

6.4 实施的流程

内容下加标题

图名称:实施的流程

6.4.1 远程

        * “远程”接口用于识别所有远程对象。远程对象都必须直接或间接的实施此接口。 只有在远程接口中指定的方法才可以远程使用。

        * 实施类可以实施任意个远程接口,并且可以扩展其他远程实施类。

6.4.2 可运行

        * 可运行接口应该由通过线程执行实例的任何类来实施。类定义的方法中不能有名为 run 参数。

        * 此接口旨在为要执行代码的活动对象提供公用协议。例如,可运行是由类线程实施的。

        * 处于活动状态仅表示线程已启动且还未停止。

6.4.3 Thread

        * thread 是程序中执行的线程。Java 虚拟机允许应用程序同时执行多个线程。

        * 每个线程都有优先级。优先级较高的线程比优先级较低的线程先执行。也可以将每个线程标记或不标记为守护程序。当在某个线程中运行的代码新建线程对象时,新线程的初始优先级与创建线程的优先级相同,并且仅当创建线程是守护程序时新线程才为守护程序线程。

         

7.  部署视图至页面顶部。

    体系结构的部署视图描述大多数典型平台配置的各种物理节点。还描述(从流程视图)为实际节点分配的任务。

    这部分是由物理网络配置组织的,每个此类配置都是由一个部署图说明,后跟每个处理器的流程映射。

    用以上内容描述

    图名称:部署视图

7.1 外部台式 PC

      学生使用外部台式 PC(通过因特网拨号连接到 College 服务器)注册课程。

7.2 台式 PC

      学生通过本地台式 PC(通过 LAN 直接连接到 College 服务器)注册课程。教授还会使用这些本地 PC 选择课程并提交学生评分。登记员使用这些本地 PC 维护学生信息和教授信息。

7.3 注册服务器

      注册服务器是主要的校园 UNIX 服务器。所有教员和学生都可以通过校园 LAN 访问服务器。

7.4 课程目录

      课程目录系统是一个旧系统,它包含完整的课程目录。可以通过 College 服务器和 LAN 访问该系统。

7.5 记帐系统

    记帐系统(也称为“财务系统”)是一个旧系统,生成学生在每个学期的帐单。

     

8.  大小和性能至页面顶部。

    选定的软件体系结构支持关键的大小调整和计时需求(在“补充规范”[15] 中规定):

      1. 在任意给定时间,系统支持最多有 2000 个用户同时访问中心数据库并支持最多有 500 个用户同时访问本地服务器。
      2. 系统应允许访问旧课程目录数据库,等待时间不超过 10 秒钟。
      3. 系统必须在 2 分钟内完成 80% 的事务。
      4. 客户端部分需要 20 MB 以下的磁盘空间和 32 MB RAM。

    所选体系结构通过实施客户机/服务器体系结构支持大小调整和计时需求。客户端部分是在本地校园 PC 或远程拨号 PC 上实施的。已经设计了一些组件来确保 PC 客户端部分的磁盘和内存需求降到最低。

9.  质量至页面顶部。

    软件体系结构支持质量需求(在“补充规范”[15] 中规定):

      1. 桌面用户界面应使用 Windows 95/98。
      2. “课程注册系统”的用户界面应该易于使用,并适用于可操作计算机但未受过该系统培训的用户群。
      3. “课程注册系统”的每种功能都应具有提供给用户的内置联机帮助。“联机帮助”应包含有关系统使用的逐步指示信息。 “联机帮助”应包含术语和首字母缩写词的定义。
      4. 可全天候使用“课程注册系统”。中断时间不超过 4%。
      5. 平均故障间隔时间应超过 300 小时。
      6. 可通过因特网从 UNIX 服务器下载升级课程注册的 PC 客户端部分。此功能使学生易于访问系统升级。



        

 
Copyright  (c) IBM Corp. 1987, 2004, 2005. All Rights Reserved. 

课程注册项目 Web 示例
V2001.03