課程登錄系統

軟體架構文件
1.0 版

修訂歷程

日期

版本

說明

作者

1999 年 3 月 21 日 1.0 使用 Rational SoDA 範本和 Rational Rose 模型產生了「軟體架構文件」。 S. Johnson
 
 
 
 
 
 
 
 
 
 
 
 

 

 

目錄Go to the top of the page.

1、  簡介

2、架構表示

3、架構的目標和限制

4、使用案例觀點

5、邏輯觀點

6、流程觀點

7、部署觀點

8、大小和效能

9、品質

軟體架構文件

簡介Go to the top of the page.

1.1 用途

    本文件利用若干個不同的架構觀點來描述系統的不同層面,提供了系統的綜合性架構概觀。它的目的是為了擷取及傳達已對系統作出的重大架構決策。

1.2 範圍

    本「軟體架構文件」提供「課程登錄系統」的架構概觀。Wylie College 開發了「課程登錄系統」來支援線上課程登錄。

    本文件直接從在 Rose 中實作的「課程登陸分析 & 設計模型」中產生。大部分的章節是從 Rose Model 中擷取,並使用 SoDA 和「軟體架構文件」範本。

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, Version 2.0, 1999, Wylie College IT.
      8. Course Registration System Use Case Spec - Register for Courses, WyIT402, Version 2.0, 1999, Wylie College IT.
      9. Course Registration System Use Case Spec - Select Courses to Teach, WyIT405, Version 2.0, 1999, Wylie College IT.
      10. Course Registration System Use Case Spec - Maintain Student Info, WyIT408, Version 2.0, 1999, Wylie College IT.
      11. Course Registration System Use Case Spec - Submit Grades, WyIT409, Version 2.0, 1999, Wylie College IT.
      12. Course Registration System Use Case Spec - View Report Card, WyIT410, Version 2.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、 架構表示Go to the top of the page.
    本文件以一系列的觀點呈現架構;使用案例觀點、邏輯觀點、流程觀點,以及部署觀點。本文件中沒有說明各別的實作觀點。這些是在使用 Rational Rose 所開發的基礎「統一建模語言 (UML)」模型上的觀點。
3.  架構的目標和限制Go to the top of the page.

有一些重要需求和系統限制,對於架構具有重大的意義。它們有:

    1. 必須存取位於 Wylie College 的現有舊版「課程型錄系統」,才能擷取本學期的所有課程資訊。「課程登錄系統」必須支援舊版課程型錄系統 [2] 的資料格式和 DBMS。
    2. 必須連結位於 Wylie College 的現有舊版「財務系統」,才能支援學生的帳單結算。這個介面定義於課程帳單結算介面規格 [1]。
    3. 本端校園 PC 及具備網際網路撥接連線的遠端 PC 必須都可以使用所有的學生、 教授和登錄人員的功能。
    4. 「課程登錄系統」必須確定可以完全保護資料,不受未獲授權的存取。所有的遠端存取都必須受使用者 ID 和密碼控制。
    5. 「課程登錄系統」將會作為主從架構系統來實作。 位於 PC 上的用戶端部分以及伺服器部分必須在 Wylie College UNIX Server 上運作。[3]
    6. 在開發架構時,必須將願景文件 [3] 及增補規格 [15] 中規定的所有效能和負載需求納入考量。

4、  使用案例觀點Go to the top of the page.

軟體架構之使用案例觀點的說明。對於選擇反覆之焦點的實務和(或)使用案例集上,「使用案例觀點」是重要的輸入。它說明實務和(或)使用案例集,它們代表一些重要的、核心的功能。它並說明具有廣大的架構涵蓋面(演練許多架構元素)或是強調或說明特定的、 專用的架構點之實務和(或)使用案例集。

「課程登錄」使用案例有:

- 登入

- 課程登錄

- 維護學生資訊

- 維護教授資訊

- 選取執教課程

- 送出成績

- 檢視學期成績單

- 關閉登錄。

這些使用案例由學生、教授或登錄人員參與者起始。此外,還與外部參與者互動;發生「課程型錄」和「帳單結算系統」。

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、  邏輯觀點Go to the top of the page.

    架構之邏輯觀點的說明。說明最重要的類別、 它們在服務套件和子系統中的編排,以及這些子系統如何編排到階層中。另說明最重要的使用案例實現化,例如,架構的動態方面。可以併入類別圖來說明在架構上重要的類別、子系統、套件和階層之間的關係。

    課程登錄系統的邏輯觀點由 3 個主要套件所組成: 「使用者介面」、「企業服務」和「企業物件」。

    「使用者介面套件」包含參與者用來與系統通訊的每一份表單的類別。存在界限類別以支援登入、排程維護、教授資訊維護、 選取課程、送出成績、維護學生資訊、關閉登錄,以及檢視學期成績單。

    「企業服務套件」包含用於連結財務系統、控制學生登錄,以及管理學生評估的控制類別。

    「商業物件套件」包含大學構件的實體類別(亦即,課程教材、排程),以及與「課程型錄系統」連結的界限類別。

5.1  架構概觀 - 套件和子系統的階層化

標題上方為標頭

5.1.1 應用程式

        階層

        這個應用程式層具有所有的界限類別,這些類別代表使用者看到的應用程式畫面。這一層取決於「流程物件」層;其將用戶端與中層分隔成兩邊。

5.1.2 企業服務

        階層

        「企業服務」流程層具有所有的控制者類別,這些類別代表推動應用程式行為的使用案例管理人員。這一層代表用戶端到中層邊界。「企業服務」層取決於「流程物件」層;其將用戶端與中層分隔成兩邊。

5.1.3 中介軟體

        階層

        「中介軟體」層支援 Relational DBMS 和 OODBMS 的存取。

5.1.4 基本重複使用

    「基本重複使用」套件包含一些類別,以支援清單功能和型樣。

     

6、流程觀點Go to the top of the page.

    架構之流程觀點的說明。說明執行系統時所涉及的作業(流程和執行緒)、 它們的互動和配置。另說明將物件和類別配置給作業。

    「流程模型」說明編排為可執行程序的課程登錄類別。這些流程是為了支援學生登錄、教授功能、 登錄截止,以及對外部「財務系統」和「課程型錄系統」的存取。

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 課程

大學所提供的課程。

分析機制:

- 永久性

- 舊式介面

 

6.2.4 CourseOffering

      課程的特定教材,包括一週中的某幾日以及時間。

      分析機制:

      - 永久性

      - 舊式介面

       

6.3 流程模型對設計模型的相依關係

內容中的以下標題

圖型名稱:流程模型對設計模型的相依關係

 

6.4 流程到實作

內容中的以下標題

圖型名稱:流程到實作

6.4.1 遠端

        * 用於識別所有遠端物件的遠端介面。任何遠端物件都必須直接或間接實作這個介面。只有遠端介面中指定的那些方法可以在遠端使用。

        * 實作類別可以實作任何數目的遠端介面,並且可以延伸其他的遠端實作類別。

6.4.2 Runnable

        * Runnable 介面應由任何其實例是要由執行緒執行的類別來實作。此類別必須定義一個沒有引數的方法,稱為 run

        * 設計這個介面的目的,是為希望在它們作用中時執行程式碼的物件提供共同通訊協定。例如,Runnable 是由類別 Thread 實作。

        * 在作用中就是表示執行緒已啟動,但是尚未停止。

6.4.3 執行緒

        * 執行緒是程式中執行的調度單位。「Java 虛擬機器」容許一個應用程式有多個執行緒同時執行。

        * 每個執行緒都有優先順序。具有較高優先順序的執行緒會比具有較低優先順序的執行緒優先執行。每一個執行緒可能也會被標示為常駐程式。當在某個執行緒中執行的程式碼建立新的執行緒物件時,新執行緒的優先順序一開始會設為與建立方執行緒的優先順序相同,並且只有在建立方執行緒是常駐程式時,才會是常駐程式。

         

7、  部署觀點Go to the top of the page.

    架構之部署觀點的說明說明最典型的平台配置的不同實體節點。另說明對實體節點的作業配置(來自「流程」觀點)。

    本節是按實體網路配置來編排;每一種這類的配置都以部署圖來說明,後接流程到每一個處理器的對映。

    用上述內容來說明

    圖型名稱:部署觀點

7.1 外部桌面 PC

      學生使用外部桌面 PC(透過網際網路撥接連接至學校伺服器)登錄課程。

7.2 桌面 PC

      學生透過本端桌面 PC(透過 LAN 直接連接至學校伺服器)登錄課程。教授也使用這些本端 PC 來選取課程及送出學生成績。「登錄人員」使用這些本端 PC 來維護學生和教授的資訊。

7.3 登錄伺服器

      「登錄伺服器」是校園的主要 UNIX 伺服器。所有的教職員和學生透過校園 LAN 存取此伺服器。

7.4 課程型錄

      「課程型錄系統」是包含完整課程型錄的舊版系統。可以透過 College Server 和 LAN 存取它。

7.5 帳單結算系統

    「帳單結算系統」(又稱為「財務系統」)是一套舊版系統,它在每一個學期產生學生的帳單。

     

8、  大小和效能Go to the top of the page.

    所選擇的軟體架構支援增補規格 [15] 中規定的登錄機碼大小調整和時間安排需求:

      1. 系統應支援最多同時有 2000 位使用者在任何給定的時間存取中央資料庫,以及最多同時有 500 位使用者在任何時間存取本端伺服器。
      2. 系統應提供對舊版課程型錄資料庫的存取權,且延遲時間不超過 10 秒。
      3. 系統必須能夠在 2 分鐘內完成所有交易的 80%。
      4. 用戶端部分應需要小於 20 MB 的磁碟空間和 32 MB RAM。

    所選的架構透過主從架構的實作,支援大小調整和時間安排的需求。用戶端這部分是在本端校區 PC 或遠端撥接 PC 上實作。元件經設計,以確保 PC 用戶端部分所需的磁碟和記憶體需求是最少的。

9、品質Go to the top of the page.

    軟體架構支援增補規格 [15] 中規定的品質要求:

      1. 桌面使用者介面應與 Windows 95/98 相容。
      2. 「課程登錄系統」的使用者介面應設計為易於使用,並且應適用於具備電腦素養的使用者群組,而無需系統的額外訓練。
      3. 「課程登錄系統」的每一項特性都應備有供使用者使用的內建線上說明。「線上說明」應包含有關使用系統的逐步指示。「線上說明」應包含詞彙及字首語的定義。
      4. 「課程登錄系統」應 24 小時全年無休以提供服務。懸置時間應不超過 4%。
      5. 「平均失效時間」應超過 300 個小時。
      6. 「課程登錄」之 PC 用戶端部分的升級版本應可透過網際網路從 UNIX 伺服器下載。此特性可讓學生輕易存取系統升級版本。



        

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

課程登錄系統專案 Web 範例
2001.03 版