• 沒有找到結果。

第三章、 應用系統程式產生器之設計

3.1 系統設計原則

實作支援所有的程式語言並不是本篇論文的主要目的,本論文最主要是提 出彈性的設計架構,藉由產生良好的程式碼快速完成資訊系統建置。因此建議可 選擇網路應用程式中最常用的三種語言:JSP、PHP、ASP 之一來進行設計,系 統設計原則需符合以下功能系統特性:

A. 以開放式網路環境為基礎架構,可使得多人同時進行設計工程 B. 採用 MVC 概念為架構發展 CASE Tool

C. 以 XML[13]為資料儲存方式,可彈性設計語言格式 D. 以設計樣板[2]的方式,藉以應用在不同領域之快速轉換 E. 將分析階段之 meta-data 直接按照正式規格輸出發展手冊 F. 定義綱要資料可以使得多語言的程式設計環境,快速達成

目前大多數的程式語言所提供的圖形使用者介面都將 View 與 Controller 合 併,若是將 View 與 Controller 合併則稱之為 Delegate 元件[10][11],由 Delegate 負責 View 與 Controller 的責任,即接收使用者發出的請求,並與 Model 溝通,

在 Model 狀態改變時,Delegate 就會向 Model 取得最新的資料來更新自己的狀

態。本論文的設計架構中,MVC 的部份將以 Model-Delegate 設計架構來實現,

如圖 3-1 所示,在 3-2 節中說明產稱器運作操作的流程,如何利用 MVC 設計模 式支援應用程式產生器於 3-3 節中描述系統架構與系統模組的設計。

Model

圖 3- 1 Model-Delegate 的架構圖(取自[26]) 3.2 系統流程

圖 3- 2 系統使用個案圖

圖 3-2 為利用 UML 繪製之系統使用個案圖,說明了設計人員在建構系統 View Controller

Delegate

程的轉變與控制權的轉移則依照各個子系統功能的需求來設定執行的先後順 序。樣版的格式可以由檔案或資料庫中讀入,搭配使用者自行定義的標記,可以 將部份 Script language 輸出至外部版面控制頁面;資料庫連線控制的程式碼則輸 出到中心邏輯控制檔案中;系統中 meta-data 則是包括負責儲存所要產生的應用 系統相關的資料表與功能函式,該資料表可經由使用者介面將應用系統之需求塑 模建立至產生器中,功能函式則是將系統常使用到的程式模組化,將其儲存於資 料庫中,做為輸出時的系統 include file 或是 library。

圖 3- 3 以 MVC 設計模式應用系統產生流程圖

Global.CSS

Web Page

Word、pdf Excel

利用 Controller 輸出

是 結束

整個系統產生可以分成三個階段,分別是所需要的應用系統資訊輸入階 段,包括建立 Model 與 View Page,以及最終的應用系統產生階段,產生流程如 圖 3- 3 所示,運用 Code Generator 產生 Application 可產生完整程式碼,資料庫 是資料的來源;輸入與產生階段的步驟則分別如下所列:

階段一:建立 Model

步驟1. 關聯式檔案資料輸入 步驟2. 函數與副程式碼建立 階段二:建立 View Page

步驟1. 使用者頁面建立 步驟2. 圖檔與其他資料 步驟3. 環境資料設定 階段三:利用 Controller 產生程式

步驟1. 產生系統目錄 步驟2. 產生環境設定檔 步驟3. 產生函數檔案 步驟4. 產生使用者頁面

步驟5. 產生處理頁面(Process Engine or EJB) 步驟6. 產生報表(System Report)

以圖 3-4 來說明使用者與系統的互動關係,使用者透過 Delegate 將資料輸 入到資料庫中,是建立 Domain Entity,儲存在資料庫中的 meta-data 是產生器 model 的資料來源,等待資料建立完成後,就可以進行資料與程式的產生,使用 者可以直接瀏覽或下載產生的結果,進一步的修改核心 model,以符合功能需求。

4 . 更

C o n tr o lle r 3

. 更

m et a- d at a

MVC

2 . 輸入

d at a m o d el

Domain entities Delegate

1.建立 Model

Page + Code Generator Controller

5.產生資料

6.展示結果

圖 3- 4 使用者與系統的互動關係圖 3.3 系統設計

本小節是針對本論文提出的應用系統產生器設計內容做詳細的設計描述,

3.3.1 節則是針對應用系統產生器的架構與元件做說明,3.3.2 則是說明系統的模 組,並解釋各個模組如何達成 MVC 設計樣式之支援。

3.3.1 系統架構

本應用程式產生器系統的設計主要是以 Web-based 環境為基礎,使用者可 以透過 HTTP 協定連線至產生器的引擎中心,透過此一引擎進行整個應用系統的 產生;而產生的程式碼,則是儲存在主機端的檔案庫。

當使用者端(即設計人員)透過網路連線後,將想要產生的應用系統相關資料 鍵入後,產生器的引擎便會根據已經設計好的樣版資料,包括 Presentation Tier 的使用者介面端程式、Model Tier 的商業邏輯與 Control Tier 的程式流程控制等 三個部分,產生輸出至檔案系統中儲存,整體運作架構則如圖 3- 5 所示:

圖 3- 5 系統運作架構

系統組成元件則包括使用者介面頁面(View Page)、功能函式庫(Deployment and function)、檔案物件庫(Other Files)、meta-system(Database Schema)、應用系 統功能(xSP)等部份。其中使用者介面部份為系統與使用者互動的操作介面;功 能函式庫提供應用系統運算或處理的功能函式,將常用的功能函式儲存於資料庫 中,例如:西元日期與民國日期轉換運算、匯率轉換等常用運算功能;而 meta-system 為記錄應用系統架構與運作流程的資料庫,meta-system 可視為整 個應用系統運作的驅動中心,利用此一 Table driven 的方式將系統環境設定、檔 案物件、系統報表等資訊以資料表格(Table)的方式儲存,系統於建置時,就可以 依據 Table 中的資料產生該系統的環境設定檔,如 Config.xml 或 Config.CSS 等檔 案,系統組元件則如圖 3-6 所示。

Application

Internet (TCP/IP)

Web-page

HTTP

Presentation Tier

Model Tier

Information Depository

Control Tier

User Tier Generator engine

View Page HTML

xSP ASP JSP

Other Files Image file HTML Application

Generator

System Deployment

Descriptor Config.xml Config.CSS Database

Schema

Table and Relation

Module and meta-data 圖 3- 6 應用程式產生器系統組成元件

Controller View Model

1. 檔案物件模組

function webtime()' 抓取現用時間(包括時分秒)

webtime = date & " " & hour(time) & ":" & minute(time) & ":" & second(time) end function

%>

3. 流程物件模組

流程物件模組則是設定頁面間轉移的先後順序,可以透過系統分析文件 中有關於環境圖、流程圖(Flow Chart)、處理描述與藍圖(Drawing)等資訊進行 設定。

4. 樣版定義模組

透過樣版定義模組設定,顯示於使用者介面的 View 的呈現畫面,每一 個物件都能夠設定其屬性,並可以與檔案物件相互搭配。

表 10 「使用者介面」CSS 設定檔案範例

a:active {

FONT-FAMILY: 新細明體;

FONT-SIZE: 11pt;

TEXT-DECORATION: none;

} a:hover {

FONT-FAMILY: 新細明體;

FONT-SIZE: 11pt;

TEXT-DECORATION: none;

}

表 11 CSS 檔資料庫表格

資料元素名稱 欄位名稱 欄位型態 欄位長度 主鍵 外鍵

id id numeric 9 NOT

NULL,PK

形態 形態 varchar 50

5. 結果輸出模組

結果輸出模組最後將會輸出包括:外部環境組態檔(XML file)、外部版 面(Web Page)、共用函數(include file)與商業邏輯程式碼(Servlet or Bean/

Engine)。結果輸出模組最後將會輸出包括:外部環境組態檔(XML file)、外部 版面(Web Page)、共用函數(include file)與商業邏輯程式碼(Servlet or Bean/

Engine)。

6. 環境設定模組

環境設定模組則是提供了對於系統模組設定、系統版面設定、使用者帳 號管理等環境資訊設定,在 Web 互動式應用程式的操作環境,本模組負責整 個 MVC 設計模式中 View 的展現,使用介面可以自由更改顯示的樣式,但不 會影響系統其他的功能。其中系統模組是依照系統分析規格描述所產生,系 統版面設定則與使用者帳戶管理相互搭配。

表 12 模組檔資料庫表格

資料元素名稱 欄位名稱 欄位型態 欄位長度 主鍵 外鍵

id id decimal 9 *

模組 模組 nvarchar 255

排序 排序 decimal 9

形態 形態 smallint 2

預設 預設 smallint 2

連結 連結 nvarchar 255

顏色 顏色 nvarchar 50

底色 底色 nvarchar 50

7. 報表產生模組

應用系統多半需要具備報表產生功能,而報表產生模組則是設計用來產 生與應用系統相關資料,提供使用者儲存為一般文件或是試算表型態文件,

報表的內容則依據使用者需求塑模階段產生規格,結構化塑模主要的工具可 以利用事件、環境圖、流程圖(Flow Chart)、處理描述、藍圖(Drawing)、資料 詞彙(Data Glossary)、實體關係圖、關聯表、正規化關聯表、資料流程圖(Data Flow Diagram)、結構圖、HIPO 與處理規格描述等工具,詳細討論可見[23]。

第四章、系統實作與評估

本章節將以一個行政事務管理系統為實際個案,利用本論文提出的系統完 成實際個案的實驗,透過 meta-data 輸入的建立與分析的結果實作該應用系統,

並產生該系統的文件、程式頁面等資料,輸出的結果均能在很短的時間立即產 生。第一節為本研究所採用的實際個案之介紹,說明該案例的內容與需求;第二 節則是利用第三章中所描述的方法建構個案之應用系統,透過建構的過程能夠更 了解與驗證本論文所設計的產生器;第三節為評估與結論。

4.1 研究個案說明

本個案主要是以提供竹福企業日常行政庶務管理的電腦系統為例,其管理 內容包括了:人員的每日出缺勤管理,能夠將出缺勤的資料予以電腦化,並且處 理人員請假的核定與申請等作業,以了解人員的出缺勤狀況,可做為考績與獎懲 的參考資料來源。物品採購與庫存管理則是以企業日常性的庶務性用品為主,若 是有任何需要的文具、紙張等用品,提供採購與庫存電腦化的作業,讓物品的使 用資料更透明,申請的手續與管理也更為簡便,而物品採購則是提供總務人員管 理聯絡廠商資料、採買記錄。而車輛派遣管理則是讓竹福企業的公務車輛的使 用,預約與登記電腦化,各單位人員若是需要使用公務車或派遣等,都可向總務 單位登記與預約。而會議室使用管理則是預約登記未來某時間想要使用的會議 室,透過在網路上提前登記與申請,可以將申請的流程透明且簡便,讓管理者在 管理會議室時,也省下若干溝通與協調的時間,增進管理與作業上的效率。

該行政事務管理系統的系統目標為:

1. 建構企業內部線上申請作業與管理的資訊系統,有助於日常營運的作業。

2. 資訊系統能夠產生相關報表,以利管理作業以及相關決策的制定。

3. 系統能夠方便擴充,讓維護作業簡易節省經費。

該行政事務管理系統所提供的功能為:

1. 系統管理

提供系統管理者針對系統經常性需要管理之功能,包括使用者帳號管理、

組織管理、系統權限設定、資料異動管理以及系統版面設定…等功能。

2. 出勤管理

2. 出勤管理

相關文件