• 沒有找到結果。

人力資源管理平台雛形之建置: 以台東縣網為例

N/A
N/A
Protected

Academic year: 2022

Share "人力資源管理平台雛形之建置: 以台東縣網為例"

Copied!
71
0
0

加載中.... (立即查看全文)

全文

(1)

國立台東大學資訊管理學系環資碩專班 碩士論文

指導教授:謝昆霖 博士

人力資源管理平台雛形之建置:

以台東縣網為例

研 究 生: 陳偉庭 撰

中 華 民 國 九 十 八 年 七 月

(2)
(3)
(4)

謝 誌

本研究得以順利完成,首先要感謝指導教授謝昆霖博士在兩年的研究

所求學期間以其廣博的專業知識在學術研究的領域裡給予無私的指

導,及台東大學陣容堅強的教師群,莫不以精益求精的嚴謹學風,謙

虛謹慎的處世風範談笑於課堂之上,這段期間的求學經歴將使我受益

終生。感謝施能木博士及王昌斌博士於口試時針對本研究提出的真知

灼見,以縝密的思維及創新的想法,一針見血的點出研究將來可發展

的方向。感謝台東大學開啟這扇大門讓我在大學畢業 20 年後有幸再

度回到校園求學,結識了 23 為志同道合的好同學好朋友,兩年來的

相互協助,彼此分享交換專業知識及人生歷練,成就了一段美好的求

學經歷。最後要感謝全體家人的支持,長輩們也全力配合假日需到校

修習學分的我及內人,毫無怨言地協助照顧三位年幼之子女,才使得

兩年的求學階段得以順利完成。

(5)

人力資源管理平台雛形之建置 以台東縣網為例

陳偉庭

國立台東大學 資訊管理學系環資碩專班

摘要

隨著網路時代的到來,單位組織於所面對的環境將不同於過往,

更需要以網站來做好人力資源管理,以增加人力資源管理的靈活度,

本研究以台東縣網之研習課程資料建立出一人力資源管理平台之雛 型。然而使用開發框架(Framework)來發展網站是最近才興起的創新 技術,猶如鷹架之於建築物一般能協助開發人員快速的建立網站。

CakePHP(或簡稱 Cake)是一個開發框架,將一般的 PHP 程式切割成 Model、View 及 Controller(MVC)的組合,產生出模組化的系統架構,

有效降低程式的複雜度。

關鍵詞:人力資源、MVC、PHP 開發框架、CakePHP、網站開發。

(6)

Human resources management platform to build a prototype for Taitung County

Information Network

Weityng Chen

Abstract

With the advent of the Internet era, in the face of environment will be different from those of the past. Need to site to do a good job in human resources management in order to increase the flexibility of human

resources management degrees. In this study, take the learning courses of the Taitung County Information Network to establish a human resources management of a prototype platform. However, the use of development framework to develop web site is only recently emerging innovative technology, like the scaffolding on buildings in general can help developers build web site quickly. CakePHP (or, for short, Cake) is a development framework, will cut the general PHP program into Model, View and Controller (MVC) structure of sections, produce a modular system architecture, effectively reduce the complexity of the program.

Keywords:Human Resources、MVC、PHP Framework、CakePHP、Web Development。

(7)

目錄

第一章 緒論...1

第一節 研究動機...2

第二節 研究目的...2

第三節 研究流程...3

第四節 研究範圍與限制...4

一、就研究對象而言...4

二、就研究內容而言...4

三、就研究設備而言...4

第二章 文獻探討 ...5

第一節 媒合平台...6

一、人力資源自動化...7

二、人力資源的時代背景...7

三、人力資源的未來方向...9

第二節 系統開發...10

一、作業系統 Linux...11

二、網頁伺服器 Apache ...11

三、關聯式資料庫...12

四、資料庫的正規化分析...14

五、伺服器端 Script 語言 PHP...14

六、中文 UTF-8 編碼 ...15

第三節 物件導向...16

一、物件導向的優點...16

(8)

二、軟體開發框架〈Software Development Framework〉 ...18

三、Cakephp ...19

第三章 系統分析與設計...21

第一節 人力資源管理平台需求分析...21

一、使用者需求調查分析...21

二、台東縣網的需求...22

三、系統的需求...23

第二節 人力資源管理平台資料庫設計 ...23

一、資料表之匯總...23

二、資料表之間的關聯...24

三、資料表欄位及其用途說明...26

第三節 人力資源管理平台設計 ...29

一、一個典型的 PHP 程式架構...30

二、一個 MVC 架構的 PHP 程式碼 ...31

三、人力資源管理平台系統設計...32

第四章 系統建置 ...41

第一節 人力資源管理平台的開發環境 ...41

一、虛擬機器...41

二、作業系統...42

三、網頁伺服器...42

四、資料庫系統...43

五、程式語言...43

六、網頁瀏覽器...43

(9)

七、其他相關工具軟體...44

八、用戶端軟硬體需求...44

第二節 人力資源管理平台整體作業流程 ...45

一、研習課程的選擇與檢視...46

二、人力資源的搜索...47

第三節 人力資源管理平台功能展示...48

一、研習課程列表...49

二、人力資源搜尋...53

第五章 結論與建議 ...57

第一節 結論 ...57

第二節 建議與未來發展方向 ...57

第六章 參考文獻 ...58

一、中文部份...58

二、西文部份...59

(10)

圖目錄

圖 1-3-1 研究流程圖...3

圖 2-1-1 人類才能之基本特質示意圖...5

圖 3-2-1 資料表之間的關聯圖...24

圖 3-3-1 典型的 PHP 程式架構運作流程圖...30

圖 3-3-2 MVC 架構的 PHP 程式運作流程圖...31

圖 3-3-3 Model 子系統的設計...33

圖 3-3-4 Controller 子系統的設計...34

圖 3-3-5 View 子系統的設計...38

圖 3-3-6 系統整體設計架構圖...39

圖 4-2-1 研習課程之選擇與檢視流程圖...46

圖 4-2-2 人力資源搜索流程圖...47

圖 4-3-1 研習課程列表...49

圖 4-3-2 檢視研習課程詳細資料...50

圖 4-3-3 檢視研習課程詳細資料...51

圖 4-3-4 針對研習課程發表評論...52

圖 4-3-5 人力資源搜尋...53

圖 4-3-6 研習課程搜尋...54

圖 4-3-7 講師搜尋...55

圖 4-3-8 學員搜尋...56

(11)

表目錄

表 3-2-1 資料表之匯總...23

表 3-2-2 研習課程明細表...26

表 3-2-3 講師的簡易資料表...27

表 3-2-4 學員的簡易資料表...27

表 3-2-5 評論建議資料表...28

表 3-2-6 使用者帳號群組資料表...28

表 3-3-1 CoursesController 的功能列表...35

表 3-3-2 Controller 與 View 之檔案對照表...37

(12)

第一章 緒論

二十一世紀是知識經濟及終身學習的新時代,1998 年聯合國教科文組織

(UNESCO)呼籲各國政府要把高等教育延伸為「終身學習」。今日社會必須因 應這項時代需求與趨勢,尤其面對少子化與高齡化社會的來臨,「成人終身教育」

顯得格外地重要。而人力資源管理是屬於較為新興的管理概念,從此一概念被提 出開始到一直到被完全認同接受為止,大約歷經了近一個世紀的努力才在人們心 中獲得了肯定。本研究即嘗試將「學習活動」與「人力資源」這兩項看似不相關 的元素整合在一起,從匯集研習活動相關資訊與人力資源管理的概念做一個結合 出發,嘗試從「終生學習」的角度來尋求另一種人力資源的獲取途徑,找出更為 貼近現實面向的專業人才資源,主要的觀點是有持續的學習才是個人能力加速累 積的可靠保證。在知識爆炸的時代洪流中,專業能力也必須隨著時代腳步的變化 而演進,每個人於在學時期於學校等正規教育的組織中所習得的各種專業知識,

在經歷過一段時間的洗禮之後極有可能變成與現代環境的需求不相符合。如能在 專業人才的找尋過程中多出一個在時間點上更為貼近現實環境的參考資訊,這將 對找出最適當人來做最適當的事是極有助益的。面對知識經濟時代到來的同時,

有素質的人力資源將是組織最重要的資產,也是組織最重要的競爭優勢。

基於上述學習活動與個人專業素養有密切關聯的觀點,再加上網際網路擴張 的速度與涵蓋的版圖越來越驚人,且各種資訊科技的發展也越來越成熟,本研究 將嘗試利用網路通訊快速便捷的特性,建立一個低成本而高效能的系統雛型來應 用在人力資源的管理上。網路的發展從 WEB 1.0 演變到目前的 WEB 2.0,各種建 構系統相關的開發工具被大量的釋出,除了商用版本穩定的持續發展以外,開放 原始碼〈Open source〉的社群資源共享及技術支援也以更加自由靈活的精神一一 呈現在網際網路這個大家庭,任何人只要遵守自由軟體的規範均可以用免費或用 極低的成本取得龐大的資源,這對於系統開發者及線上使用者無疑是一大福音,

是以開放原始碼的資源將成為本研究系統雛型的基石,將以開放原始碼的資源創 造出一套專屬的人力資源網路資料庫系統雛型。也希望在將來電腦網路滲透率漸 漸的提高,網路頻寬成本越來越低,網路的使用已成為日常生活中不可或缺的一

(13)

部份的同時,創造出一個自由且靈活的數位人力資源反應系統,使得在電子平台 上尋人求才比在傳統媒體中尋尋覓覓擁有更大的優勢。

第一節 研究動機

學習是終身的歷程,是每個人一生中所享有的基本權利,不論任何年齡層的 個人都可以透過學習來自我提升。在傳統教育之中所著重的是兒童及青少年的教 育,一旦脫離了學校的體制進入職場之後學習的管道也隨之減少了。然而隨著終 身學習理念的提倡及高齡化社會的來臨,成人與較高年齡者的學習需求以及權益 漸漸受到重視。現實環境中可供個人學習的場所除了具備著濃厚商業氣息的補習 班以外,有著不同屬性特色的社會大學也在社會中紛紛地設立了起來,有些甚至 以社區大學的名義來建立一個自由活潑的學習環境。

其中研習活動的辦理在終身學習的理念中也是非常重要而不可或缺的一 環,研習課程的開辦目的上通常是針對某項特定的學習目標來設計,在學習的時 間上是屬於較為短期且機動性較高的課程,在學習的特質上則是具備明顯專業能 力的學習活動。由於具備時間短且機動性高的特質,有意願參加研習的人員遍佈 在社會的各個角落,是屬於一個鬆散的結構,並沒有一個專屬的管理機制來整理 這些資訊,我想這在全台各地皆是如此。如果能夠將這個散佈於四面八方的學習 與專業人才的相關資訊加以統整,建立一套專屬的網路資料庫系統來統籌管理這 些資訊,一但時間累積的夠久,資料建立的夠多,必定能成為一座等待發掘的人 力寶藏,如此的觀點可視為人力資源的再發現與再利用,就是此一簡單的理念即 形成了本研究之研究動機。

第二節 研究目的

以開放原始碼社群之資源為基礎,同時以台東縣網研習課程辦理的資料為來 源,由一開始研習課程的公告、講師的指定、學員的報名以及上課後學員對該研 習課程所發表的評論等資訊,建置出一套專屬的網路資料庫系統雛形,藉由此一 網路資料庫系統的運作進而達成台東區專業人才的資源整合以及專業人才的媒

(14)

合,將是本研究之研究目的。

第三節 研究流程

本研究之研究流程以下圖呈現:

圖 1-3-1 研究流程圖 研究動機與研究目的 使用者需求與研究主題之設定

研讀相關文獻探討出可行之計畫案 含資訊整合、媒合平台、系統開發

研究方法 系統分析與設計

人力資源管理平台雛型 之系統建置

結論與建議

(15)

第四節 研究範圍與限制

本研究主要是以研習課程相關之資料建置出一人力資源管理平台雛型,從人 員參與研習課程的角度切入做人力資源之再發現,有下列研究範圍與限制:

一、就研究對象而言

本研究主要以台東縣網參加研習課程人員之相關資料為主,以教育相關單位 內之人員為研究對象。

二、就研究內容而言

本研究主要以台東縣網參加研習課程人員之相關資料為主,研習課程之資料 格式則是依據全國教師在職進修資訊網。基於存取權限、時間、人力等因素,

並無擴及其它單位之研習課程資料。

三、就研究設備而言

本研究所開發之人力資源網路資料庫系統以TCP/IP通訊協定做為傳輸標準,

故本研究所使用之軟硬體通訊設備均需支援TCP/IP通訊協定。

(16)

第二章 文獻探討

在確立了研究目的最終是要產出一個專屬的人力資源管理平台雛型之後,接 下來將朝著系統分析設計與建構的目標邁進,但是在系統設計之前為求得系統將 來發展的完整性,茲針對人力資源及系統開發相關領域的文獻做一個統整性的探 討,以求在系統建構時之構思能更為縝密。根據Spencer(1993)的主張,人類的 才能可以區分成五種基本特質:動機(motives)、特質(traits)、自我概念

(self-concept)、知識(knowledge)、以及技巧(skill)等(如下圖所示),

圖 2-1-1 人類才能之基本特質示意圖

一、動機(motives):動機是指一個人的意向(thinks about)或想要(wants),

其最終可能會導致行為的發生,因此動機可以驅使個人去達成特定的行動 或目標;換言之,個人會因為意向而引發驅力,並督促自己產生行動加以 完成。

二、特質(traits):特質是指個人與生俱來、生理上的特質(physical characteristics)、 以及對一些情境與消息的一致性反應。

三、自我概念(self-concept):自我概念是指個人的態度、價值觀及對自己的想 技巧、知識

自我概念、態度、

價值觀

特質、

動機

(17)

法,如自我肯定或自信心即是一種自我概念。

四、知識(knowledge):知識是指一個人具備某方面特別領域的知識,而這些 知識是使某人具有「能做」某事的能力,此與「想做」某事是不盡相同的 層次。

五、技巧(skill):技巧是指完成生理或心智工作的能力(ability),其中包括分 析性思考、以及概念性思考等。

如圖2-1-1所示,動機 、特質、以及自我概念是屬於個人心理層面較為深層 且隱藏的人格特質,是比較不容易被訓練與發展的,因此,須以面談的方式方能 觀察出這些人格特質,比較不適用於本研究的管理平台;相對地,知識和技巧則 是屬於個人比較外顯的指標,透過本研究的管理平台可以較為精準的呈現出這些 個人的能力範疇,以資訊科技快速而有效的找出對的人來做對的事。「人才是組 織最重要的資產」,但是在大多數的組織中,耗費組織財力與資源最多的通常是 業務、研發等單位,而人力資源部門往往是一塊不被重視的園地。也因此,大多 數的組織,仍經常因為人事制度不夠健全,導致人員流動頻繁、組織成員個人的 能力無法充分發揮,而使得士氣低落、組織競爭力受損。所以建立台東縣網的虛 擬人力資源部門是有其需要的。要建立一套有效率的人力資源管理平台,靠人工 是絕對無法做到的,必須有大量的電腦自動化工具,才能讓台東縣網組織隨時掌 握組織的人力需求、人才專長供應趨勢等資訊。

第一節 媒合平台

隨著企業組織環境變遷程度加劇及資訊科技的大幅躍進等外在變數的投 入,人力資源管理的工作越來越受到組織的重視,所扮演的角色也相對的產生變 化,尤以對跨單一組織的結構體而言,人力資源的取得與人力資源的管理模式其 重要性不言可喻。然而科技腳步的急速發展,人事功能角色也亦步亦趨的跟著移 轉,人力資源管理工作大受組織重視的主要因素,經由國內外眾多學者研究後發 現主要可以區分為兩個面向:一是組織環境的急速變遷,其中包含市場競爭的全 球化、創新科技的蓬勃發展及政府管制項目的減少等等,並由此使工作的本質產

(18)

生變化,人們所擁有的技能隨著時間而迅速增加,傳統的人事功能再不隨著時代 調整進步,就無法滿足現代組織求新求變的需求。其二是人力資源價值觀的改 變,傳統人事功能角色從 1900 年代初期,人力資源的角色只止於人事的安置與 管理,當時的人力資源處理的是組織內任用、解雇、薪資與福利計畫等基本的管 理事務。由於早期企業環境較為穩定、規模較小,工作性質也較為單純,人力資 源為幕僚單位,執行人事行政、例行的工作業務,較不受到組織重視,員工只需 依照設計的動作就能完成工作,不必具備太多的知識與技術,只要能夠順從,按 照管理者的命令、有效行事即可。

一、人力資源自動化

以國內享有盛名的 104 人力銀行為例,自創立以來不斷地推出新的服 務,在 104 人力銀行的電腦架構中使用超過四百部中小型架構的伺服器主 機,24 小時提供不間斷的網路服務。每天在數十萬筆工作機會與上百萬筆 求職者資料之間進行媒合、主動通知、履歷管理等等工作,全面進入自動 化服務。如果 104 人力銀行能使用電腦系統解決人力資源管理的問題,成 功建立了完整的人力資源服務系統,這也意味著所有的組織都能複製 104 人力銀行的成功經驗,以較低成本的中小型電腦系統,建立自己專屬的人 力資源服務系統。而電腦系統是否具備高度的延伸性,往往也決定了組織 能否持續擴張經營規模與事業版圖。104 人力銀行從 1996 年創立以來,從 單純的工作機會媒合服務為基礎,不斷擴張服務版圖,從一般的全職工作、

兼職工作,一直延伸,進入高階人力、獵人頭服務、人力派遣等領域,成 為國內全方位求職求才服務的代名詞。如今,每天有數十萬人次進入 104 人力銀行網站,每天的網頁點選 (click) 流量,更是高達數千萬次。而在此 一迅速擴充的過程中,就是靠著電腦系統自動化服務的解決方案來提供可 靠的的資訊後援服務。

二、人力資源的時代背景

〈一〉知識經濟與人力資源

知識經濟時代不同於工業經濟時代的一個歷史性變化是知識工作者

(19)

成為主體管理物件。依照當代管理學大師彼得‧度拉克(Peter Drucker)

的定義得知,知識工作者是指掌握和運用符號及概念、利用知識或資訊進 行其工作的人。而管理理念的變革必先行於管理模式改變。在知識經濟時 代以知識工作者為主體的人力資源管理中,首先需要確立經營知識和人才 的發展理念。既然在知識經濟形態中知識取代了資本而成為核心生產要 素,知識創造財富的邏輯改變了資本產生利潤的生財之道,組織的經營理 念就應該由經營資本轉變到經營知識的思路上來。而知識的載體是知識工 作者尤其是擁有知識優勢的人才,從經營知識的理念推導出經營人才的理 念。正如企管大師彼得‧杜拉克(Peter Drucker)所說:「20 世紀的企業,

最有價值的資產是生產設備;21 世紀的組織,最有價值的資產,將是組 織內的知識工作者和他們的生產力。」人力資源運用得宜,將更加強化知 識管理,將對的人擺放在對的位置正是組織創造新價值的關鍵。

〈二〉網際網路與人力資源

網際網路是指建立在當代電腦技術和通信技術基礎上的相互連接的 全球電腦資訊網路系統。自上世紀 90 年代中期以來,網際網路在全世界 爆炸性的迅速發展開來,在人力資源管理領域中更加感受到這股網路巨浪 迎面而來的震撼,網際網路及資訊技術的演化正在引發人力資源管理模式 的歷史性變革。以往收集人力資源資料不但花費許多的人力及時間,更可 能因為要保存資料而浪費許多紙張及儲存空間,一但想要從中篩選出理想 的人才時,更需要消耗大量的時間以人工閱卷的方式來一一過濾,不但在 收集資料時曠日費時,後續的篩選人才時更突顯出傳統人力資源管理方式 的效能不彰,一定有更好的方式來做同樣的管理工作,求新求好求變正式 人類進步的基石。而現今網網相連的網際網路一肩挑起 24 小時均能為人 所用的重責大任,並讓管理者能隨時上網收集資料,加上電腦硬體設備高 速運算的特性,簡單的篩選動作已是彈指之間就可完成,更進而可以做智 慧性的列表、比較及建議,讓每一個管理者能隨心所欲的悠遊於資訊時代 的人力資源中,在豐沛的資訊人脈中遴選出自己心目中理想的人才。

(20)

三、人力資源的未來方向

〈一〉策略性人力資源管理

當策略性人力資源管理用於組織管理之上時,策略就變成一種組織 方向定位的最高指導原則,其目的在於追求組織永續競爭的優勢。一旦人 力資源管理採用「策略」的觀點之後,就會將整體的人力資源配置考量往 上提昇,一切以組織的競爭優勢及整體目標為大前提,不再僅僅是受限於 單純而狹隘的「人事管理」層面而已,每一位組織成員都將成為組織追求 競爭優勢時最寶貴的資源。每一個人在組織架構中均能扮演著與眾不同且 擁有特質的獨立角色。而「角色」是指個人在社會組織中或特定職位上被 期待的行為,但是當個人扮演其角色時就會受到組織與工作特性、個人特 質與外在環境等因素的影響,而同時扮演著多種的角色(張火燦, 1998)。

在變化多且演變快的時代背景中,為配合人力資源角色的多重演出,所以 本研究將架構出一專屬的且具備整合各單位人力資源的網路平台雛形,期 望能為台東縣網人力資源從策略性人力人力資源管理的角度出發略盡綿 薄之力。

〈二〉人力資本

從將人力視為投資的角度來看,人力資本代表組織的人力管理,將人 力資源的管理轉化成量化計算的模式,凡是與人力的運用管理與發展等有 關的決策,都必須要考慮到其「工作上的必要性」、「策略上的合理性」及

「產出上的效益性」。所謂必要性係指人員的進用,要以是否為組織推動 工作時必須具備者為第一考量,任何人其所具備的能力與組織工作的推動 無關之時,均不應作為人力投資的標的物。所謂合理性代表組織人力資源 的配置與運用,必須要與組織的策略及目標相互結合,也就是要將適當的 人力資源適當的運用在正確的工作之上,不讓人與事不能完美搭配的情形 產生。而所謂效益性代表對於人力資源的運用,僅在於當其單位產出高於 投入資本時,才能說此一人力資源決策具備了滿足合理性的條件。

隨著知識經濟時代的到來,組織所擁有的智慧資本逐漸地成為決定競 爭優勢的主要關鍵因素,而人力資本則是構成智慧資本的核心成份。是以

(21)

數位時代人力資源管理目標在於「人力資本價值的極大化」。因而突顯出 數位時代人力資源管理的另一個新面向,乃是對「人力資本」(human capital)的管理(李逸洋,2004)。再依照經濟學家 Theodore W. Schultz(1961)

指出,所謂人力資本包括技術、經驗及知識等各項要素融合的理念,更加 強化了人力資源投資的管理也可與一般財物資源產管理同樣的運用數字 符號來加以計算出一個客觀的數據,作為單位組織衡量的依據。

〈三〉人力資源招募管道

人力資源的管理與運作是組織爭取競爭優勢相當重要的課題。隨著網 際網的蓬勃發展,招募管道的增加,雇主對招募管道的選擇成為重要的研 究主題。Koch & McGrath〈1996〉則探討招募系統對組織的影響,其研究 發現公司採取越複雜的招募措施〈規劃、招募、甄選〉,組織的平均生產 力將越高。在以往傳統的人力資源招募管道,不外乎透過舉辦校園徵才、

徵才博覽會、利用人力仲介公司介紹或於平面媒體上刊登廣告等等,往往 得耗費大量的人力金錢時間等成本才得以完成此一人才招募的動作;然而 利用網際網路具備了低成本、主動性、互動性、即時性及多媒體功能等種 種功能,是傳統徵才管道所難以望其項背的,也使得人力資源網相關站儼 然已成為時下人才獵取尋找的主流管道。

第二節 系統開發

以現今科技進步的速度而言,可謂一日萬里,如何在此洪流中運用適當的知 識來建立出台東縣網的「虛擬人力資源部門」呢?。然而無論是在軟體或硬體方 面每分每秒都有新的技術在全世界各個角落誕生,這也使得在系統開發的過程中 可以擁有更多不同的選擇方案,挑出最適合的技術支援。當技術不再成為瓶頸的 時候,當技術可以複製的時候,系統的自動化就不再如神話般的遙不可及,任何 人都可以迅速複製新的成功經驗。在本研究中捨去高貴的大型主機系統,而採用 日常生活中一般人最容易接觸到的 x86 架構系列的硬體系統;而軟體方面則採用 社群發展日益蓬勃的開放原始碼系統來做為本研究架構的基石。在未來的日子裡

(22)

不但在規模上可以隨著組織的成長而擴充;在成本上,更可以維持在中小組織可 以負擔的價位,讓系統的財務成本負擔降至最低而能讓各組織單位能輕易的編列 預來執行本研究成果。透過簡單的維護而人力資源的價值將再提升。選擇開放而 正確的資訊架構,人力資源的價值又可再加以無限地延伸!以下就針對本研究於 系統開發時所需使用到的工具逐一做探討。

一、作業系統 Linux

誕生於 1991 年 10 月,至今已有十八年歷史。Linux 發展承襲的是開放 式原始碼的精神,所有 Linux Source Code 均可免費取得。是一套免費且功能 完整的 UNIX 軟體,運作穩定且有效率。創使者為芬蘭藉的 Linuz Torvalds,

加上許多 UNIX 程式設計師及 Internet 高手協助開發而成。Linux 核心不使用 專屬性的程式碼;主要軟體來至 MIT 免費軟體的 GNU 專案,支援完整的網 路軟體,包括 TCP/IP、Email、Emacs、X Window、NFS、NIS、News、WWW 等等。在 Linux 上建置網路伺服器,已是目前一個經濟且實惠的新選擇。是 一套免費的作業系統,沒有版權問題,軟體取得容易,且網路上應用程式 充足,可稱得上是作業系統的新寵兒。

二、網頁伺服器 Apache

由於 Internet 的盛行,在今日不論個人或企業都汲於爭食這塊大餅,而 其中最大的原因莫過於是它那無窮無盡的商機。因此,想要掌握這個時代 的脈動,首要的工作乃是取決於資源的傳播,而 WWW 伺服器便是最有效 的利器,因為透過它將使資源得以無遠弗界。Apache 是史上最多人使用的 Web 伺服器,不論在功能或穩定性上,均有優異的表現,再加上完全免費 的優勢,可大大節省伺服器的建置成本,因此是用來架設網站的極佳選擇。

Web 技術的獨特之處是採用超鏈接和多媒體信息。Web Server 使用超文本 標記語言(HTML-HyperText Marked Language)描述網絡的資源,創建網頁,

以供 Web 瀏覽器閱讀。HTML 文檔的特點是交互性。不管是一般文本還是 圖形,都能通過文檔中的鏈接連接到 Server 上的其他文檔,從而使客戶快 速地搜尋他們想要的資料。HTML 網頁還可提供表單供用戶填寫並通過服

(23)

務器應用程序提交給資料庫。這種資料庫一般是支持多媒體數據類型的。

在 1995 年之前就有蠻多的 Web 架設伺服器軟體的出現,不過,真正到了 1995 年之後,由國際超級電腦應用中心 ( National Center for Supercomputing Applications, NCSA ) 主導並克服了一些 Web 主機的 bug 之後,才讓這個 http 協定的 WWW 套件得到了更廣泛的應用!而因為這個釋出的版本是 來自於一些 bug 的克服,因此,這個 WWW 套件被戲稱為『 A patchy server 』,意思就是說,一個經過更新後的 Server 的意思!後來,因為要 將名字確定下來,乾脆就直接取其諧音,用『 Apache 』,這也是目前使 用最普遍的 web server 。

三、關聯式資料庫

資料庫系統是電腦化的資料儲存系統,使用者透過各種應用程式來存 取其中的資料。資料庫系統又可分為兩部分:資料庫〈DataBase〉與資料庫 管理系統〈DataBase Management System,DBMS〉。資料庫是儲存資料的地 方。一個資料庫系統中可以有多個資料庫,每個資料庫都是一組經過整理 好的資料集合。一般會將資料庫想像成是一個存放資料的容器,但資料庫 的真實型態其實是一個個的電子檔案〈file〉。資料庫管理系統則是指管理資 料庫的軟體,他們負責使用者與資料庫之間的溝通,如存取資料庫中的資 料、以及管理資料庫的各項事務等等。如微軟的 Access,還有許多用在大 型資料庫系統上的 Microsoft SQL Server、Oracle、Sybase、Informix、MySQL、

PostgreSQL 等皆是資料庫管理系統,在本研究中將使用 MySQL 作為人力資 源管理平台的資料庫管理系統。

資料庫依照其儲存架構的不同,可以分為許多種類,較為位常用的有 階層式、網狀式、關聯式、物件導向式等四種。其中關聯式資料庫是目前 最廣泛使用的種類。而 MySQL 是使用相當廣泛的一套資料庫管理系統,它 擁有穩定、可在常見作業系統上執行、可使用多種語言程式,以及可供人 免費下載使用,並可修改程式碼等優點〈梁仁楷、嚴楓琪,2006,網奕〉。 MySQL 是全球最多人使用的資料庫且它是免費的,由 MySQL AB 公司所開 發,可以連結 C、C++、Java、Perl、PHP 語言,而且可在許多平台上運作,

(24)

如:Linux、Windows、Sun Solaris ... 等(即正真的跨平台),且支援微軟的 ODBC 規格的資料庫整合。MySQL 也是一個開放原始碼,快速而穩定的關 聯式資料庫系統。MySQL 是一個真正的多用戶、多線程 SQL 數據庫服務器。

SQL(結構化查詢語言)是世界上最流行的和標準化的數據庫語言。 MySQL 主要目標是快速、穩固、功能強大而且容易使用。

關聯式資料庫是由眾多的資料表所組成,資料會分類儲存在各個資料 表中,除了儲存在資料表中行與列業會有所關聯,關聯式資料庫裡面的資 料表之間通常也會互有關聯。透過資料表的關聯,可以從一個資料表中的 欄位找到另一個資料表中相關的多筆資料。現實生活中一筆資料存入關聯 式資料庫的時候,可能會被分割放進多個資料表之中。雖然說將所有的資 料都放在同一個資料表內,資料庫系統一樣可以正常運作,不過如此就失 去了關聯式資料庫所具備的優點了。關聯式資料庫有下列三項優點:

〈一〉節省儲存空間

因為資料庫中有相當多的資料會產生重複的情況,如果每次都要輸 入相同的資料,則容易讓非磁碟儲存的空間,如果一個資料庫中有 數千筆獲上萬筆紀錄,這些重複輸入的資料所造成的磁碟空間浪費 就很可怕了。所以重複的資料只需要輸入一次就可以了,利用一次 的輸入產生相對應的關聯,再依照關聯找出相對應的紀錄,這對於 空間的接生不可謂之不大。

〈二〉減少輸入錯誤

同樣的資料經常重複輸入時,難免會漏打或是打錯字,使得原本應 該是相同的資料,卻變成 2 筆不同的資料。在將來用字串來查詢資 料的時候,輸入錯誤的這筆資料恐怕就查詢不到了,這也是一般人 經常犯的錯誤。

〈三〉方便資料修改

「方便資料修改」也是分割資料表的一個重要優點!當資料表在沒 有分割的狀況下,如果想要修改所有相關的資料,這時就需要一筆 一筆紀錄的去加以修改,相當耗費時間與精力。若有適當的分割資 料表,就只要將其上層的關聯紀錄修改完畢即可,便可利用到關聯

(25)

式資料庫的優點來維護資料庫裡的資料。

四、資料庫的正規化分析

關聯式資料庫不管設計的好壞,都可以儲存資料,但是存取效率上可 能會有很大的差別。想提升關聯式資料庫的效率,在設計資料庫的時候可 以利用正規化〈Normalization〉的方法來協助修改資料表的結構。正規化就 是要讓資料庫中的重複資料減到最少,降低系統的負擔,能夠快速的找到 所要的資料,藉以提高關聯式資料庫的效能。

依照關聯式資料庫理論之父 E.F. Codd 博士的正規化理論,他將正規化 的步驟歸納成幾個階段,有具體可循的方法來建立資料表的結構。資料庫 的正規化共可分為第一階正規化〈First Normal Form〉、第二階正規化〈Second Normal Form〉、第三階正規化〈Third Normal Form〉、第四階正規化〈Fourth Normal Form〉、第五階正規化〈Fifth Normal Form〉等多個不同的階段,不 過對於一般資料庫的設計來說,通常只要執行到第三階段正規化即可,其 他更高階的正規化只有在特殊的情況下才用的到。

正規化的過程是循序漸進的,資料表必須在滿足第一階段正規化的條 件之下,才能進行第二階段正規化。也就是說,第二階段正規化必須建立 在符合第一階段正規化的資料表示上,以此類推。因此,第一階段正規化 是所有正規化的基礎,通常在第一階段正規化之後,即可有效的節省許多 儲存空間,如果系統不是很大很複雜的話,做完第一階段、第二階段正規 化及第三階段正規化之後即可按照所規劃的資料表加以運用在系統之上。

五、伺服器端 Script 語言 PHP

PHP 是一種「內嵌式」的動態網頁設計方式,也就是說 PHP 的程式是 與網頁的 HTML 標籤混合於同一個檔案之中。其運作方式為 PHP 網頁在伺 服器上是經過 PHP 語法解析程式解譯並執行後,伺服器在將 PHP 輸出的 HTML 網頁傳給用戶端。PHP 屬於開放原始碼,具有完全免費、穩定、快 速、跨平台〈UNIX、Windows、Linux、Mac OS〉、容易學習、物件導向等優 點。雖然 PHP 4 就試圖支援物件導向但效率不彰,直到 PHP 5 重新建立物

(26)

件模式,才終於讓 PHP 擁有和 Java、C++ 等程式語言一樣有效率的物件導 向,包括封裝 〈encapsulation〉、繼承〈inheritance〉、介面〈interface〉、多型

〈polymorphism〉等。

PHP (PHP Hypertext Preprocessor,最初稱為"Personal Home Page Tools",

也稱為"Professional Homepages",或者"Pre-Hypertext Processor")這個種開放原 始碼的腳本編程語言,主要的用途在於 Web 伺服器的伺服器端應用程式,

用於動態網頁設計,尤其是以現代風行的 WEB 2.0 風格,需要與使用者作 親切的互動,讓使用者有賓至如歸的感覺,這時網頁的呈現就無法再以靜 態的一成不變的模式來滿足廣大的網路使用族群,好像網站是專為使用者 來量身訂做的。雖然不同的使用者造訪的是同一個網站,每個人仍可依據 自己是不同的喜好,設計自己專屬的風格,展現出自我的特色,以便吸引 使用者再次造訪網站,提升網站的價值。

PHP 可以用於替代微軟的 ASP/VBScript/JScript 體系、Sun 微系統公司的 JSP/Java 體系,以及 CGI/Perl 等。PHP 程式的原始碼是純文字,所以可以用 任何可處理純文字檔的文字編輯器,如:記事本、vi、emac 等,來撰寫 PHP 程式,不需要任何特別的編輯器即可很容易地寫出功能強大的程式,所以 特別適用於研究的領域,沒有商業版權的問題,使用者無須額外花費龐大 的金額購買商業版本的編輯器。本研究於系統開發時所使用的編輯器為 KOMODO EDIT 5〈 http://www.activestate.com/komodo_edit/ 〉,它也是一個 開放原始碼的編輯器,可以免費自由的下載、自由的使用,功能已足以媲 美商業版本的編輯器,藉由此編輯器的協助,讓本研究的構想得以變成真 實的系統。

六、中文 UTF-8 編碼

UTF-8(8 位元 Universal Character Set/Unicode Transformation Format)

是一個針對 Unicode 的可變長度字元編碼方式,可用來展現符合 Unicode 之標準中的任意字元,且其編碼中的第一個位元組仍與 ASCII 字元集相 容,這使得原來處理 ASCII 字元集的軟體無須做修改或只須做少部份修 改,即可以繼續使用。因此,它逐漸在電子郵件、網頁及其他儲存或傳送

(27)

文字的應用中成為主流,成為優先被採用的編碼方式。UTF-8 使用一至四 個位元組為每個字元編碼:

〈一〉、128 個 US-ASCII 字元只需一個位元組編碼(Unicode 範圍由 U+0000 至 U+007F)。

〈二〉、帶有附加符號的拉丁文、希臘文、西里爾字母、亞美尼亞語、希伯 來文、阿拉伯文、敘利亞文及它拿字母則需要二個位元組編碼(Unicode 範 圍由 U+0080 至 U+07FF)。

〈三〉、其他基本多文種平面(BMP)中的字元(這包含了大部分常用字)

使用三個位元組編碼。

〈四〉、其他極少使用的 Unicode 輔助平面的字元使用四位元組編碼。

對上述提及的第四種字元而言,UTF-8 使用四個位元組來編碼似乎太耗費 資源了。但 UTF-8 對所有常用的字元都可以用三個位元組表示,而且它的 另一種選擇,UTF-16 編碼,對前述的第四種字元同樣需要四個位元組來編 碼,所以要決定 UTF-8 或 UTF-16 哪種編碼比較有效率,還要視所使用的 字元的分佈範圍而定。

網際網路工程工作小組(IETF)亦要求所有網際網路協議都必須支援 UTF-8 編碼,是以本研究的編碼方式亦採用 UTF-8 的中文編碼,以期能更 加符合世界潮流,加入 Internet 的大家庭之中。

〈 http://tools.ietf.org/html/rfc3629 〉

第三節 物件導向

一、物件導向的優點

一般而言軟體系統最大的問題在於應變能力差,無法隨著環境的變化而立即 做出相對應的改變。而且系統的發展有一定的生命週期(lifecycle),系統需求和規 格的改變是傳統軟體發展最無法應變的,軟體的維護甚至比重新開發的難度還更 高。有哪些方法可以讓軟體系統更能承受外在的變動而隨之演化呢?系統如果可 以更小,就更容易去改變。

〈一〉經濟效益的提升

(28)

物件導向式的設計方法不僅是引進一種新的程式語言或是一種新的 設計方式,更是一種從思維邏輯上與傳統程式設計方式有著截然不同的哲 學思考。物件導向式的設計方法是向軟體產業宣告的一個革命性的軟體產 業新模型。一種可以促使軟體工業真正發展成具經濟效益的工業體系,以 求能有效化解軟體危機的整體解決方案。物件導向程式設計的觀念就是將 模組化(modularity)的原則發揮得更淋漓盡致,其最終的目的是以促成軟體 業界的專業分工為職志。

在物件導向式的程式設計方法中,如封裝與繼承的技巧就是透過將具 有可重複使用特質的軟體〈物件〉整合進軟體發展過程中,好比汽車的零 組件一般,只要是現成的物件,而且功能符合需求,就重複性地加以使用,

而不是一再的創造新的程式碼,藉以提升生產效率,這正是以往軟體工業 界我最欠缺的效率精神。如此的作法使得系統可以被更緊密地封裝成黑盒 子般的物作,以限制住當軟體音需求而修改維護時所造成的"漣波效 應",降低維護軟體系統的難度。使對系統的某個部份作改變時,無需要 去考慮到系統的其餘部份,只要處理與其直接關聯到的內部程式邏輯就可 以了。在程式編譯時段可以決定好所有的動作方式,讓系統保留更大的彈 性,使系統更具延展性、擴充性。

〈二〉軟體 IC

Brad J. Cox 倡導軟體也應該設計成一個個模組式的軟體 IC。程式語 言不再像以前的工作方式,從無到有一道道指令、一行行敘述地慢慢將整 個程式建構起來,而是利用一些由其它程式設計師(或是其它軟體公司)已 發展出來且測試好的軟體 IC,將其組合起來構成另一個功能範圍更強更 廣的軟體 IC,以再供其他人使用。而最後系統整合者的工作就只是從軟 體 IC 型錄裡挑選適合的軟體元件,把它們組合起來,提供給終端用戶使 用。如果各個軟體 IC 的外部介面都能設計得夠簡單、所提供的功能也夠 齊備的話,終端用戶(End user)未嘗不能就是那個最後利用各種軟體 IC 建 構成系統的人。

(29)

〈三〉軟體品質

何謂軟體品質?影響軟體品質的因子有哪些?每一位開發人員都希 望自己的程式能滿足各種品質條件:執行快速、容易使用、可讀性高、模 組化、結構化等。外在因子方面,一個軟體是否執行快速和容易使用以及 軟體在規格改變時調適的容易與否具備可擴充性等,是使用者可以評估的 出來的。內在因子方面,可由專業人員來評估出可讀性、模組化、正確性

(correctness)、 強固性(Robustness)、可擴充性(Extendibility)、可重用性 (Reusability)、相容性(Compatibility)、效率性(Efficiency)、可攜性(Portability)、

完整性(Integrity)、易用性(Ease of Use)等等特性。所以軟體品質的控制應是 存在軟體自己本身的內部,如同功能穩定的工具一般,無論是由專業或非 專業的人員都可以輕易的操作使用這些元件。

二、軟體開發框架〈Software Development Framework〉

儘管軟體程式設計師使用開發框架來撰寫程式碼已經有很多年的歷史了,但 是應用開發框架在 WEB 的開發方面是最近才興起的事,一切都還是在嘗試創新 的階段。為什麼要使用開發框架呢?難道傳統的 WEB 開發方式不好嗎?無論是 否將開發框架應用與 WEB 的開發相關與否,使用開發框架來開發程式其最大的 好處可以嘗試用「反向控制」〈inversion of control〉的觀點來解釋。現今大部分的 程式運作是以控制程式碼為其主要的思考邏輯,所以就必須撰寫一大堆相對應的 功能涵式來配合其控制程式的需求。換句話說,程式碼決定了程式的動作如何表 現、於何時出現,最終被用來處理回應使用者的動作,緊密的與使用者結合產生 良好的互動等等。

試想,如果這個控制程式碼的思考邏輯的先後順序顛倒過來了呢?不再讓自 己撰寫的程式碼或函式庫〈Library〉中先擁有一大堆功能操作的函式,相反地只 讓自己撰寫的程式碼擁有一系列物件〈Objects〉,而這些物件繼承延伸了開發框 架中已經被嚴謹測試過且功能完善的物件。此時,只需要將這些物件繼承下來就 好了,不用再自行開發撰寫功能操作函式的程式碼。一直到將開發框架中的物件 延伸擴展〈extend〉了以後,就可以自動擁有數以百計的功能屬性,豈不快哉。

在一個傳統的程式撰寫架構中,一但軟體的功能不符合需求而想要加以修改

(30)

的時候,尤其是較為深入底層的函式庫功能時,只能一頭栽進函式庫的原始程式 碼之中,從最「根本」的地方修改,以配合使用者的需求,這是所有程式設計人 員的感到最為頭痛的地方。而如果原始程式當初是用開發框架來開發的話,那麼 當遇到軟體功能不符需求時,則有著不同的思考邏輯。無須深入接觸到開發框架 的原始程式碼,僅需要從新延伸擴展其原有的功能,將自定的功能堆疊於原始功 能之上,開發框架便會自動的以新的功能取代原有的功能,這亦是使用開發框架 來發展系統的好處,有別於傳統函式庫的概念。感覺像是開發框架在呼叫開發人 員,而非開發人員在呼叫函式庫。

三、Cakephp

在為數眾多的開發架構中,本研究挑選了 Cakephp 作為撰寫程式的基礎,最 主要的原因是 Cakephp 能快速的發展出系統,能在最短的時間內建立出一個完整 的程式的架構,使得本研究的構想得以立即實現,而最重要的是在一個模組化的 架構之下,遵循共同的命名規則、共同的檔案歸檔方式、共同的資料庫管理模式,

雖然在不同的時空背景之下,依然能夠享有整個團隊一起開發案所帶來的種種好 處,而不用每個人都要重複的在做發明輪子的動作,將這些繁瑣而無謂的動作降 至最低,將思考的重心真正的放在系統的邏輯上,打造出一個符合台東縣網所確 實需要的系統。

西元 2005 年, Michal Tatarynowicz 用 PHP 寫了一套小型的快速應用程式開 發架構,他同時發覺到那是一套好架構的起點。 Michal 以 MIT 版權發佈了整個 架構,並且將它命名成 Cake,把它開放到開發者社群,這群開發者就是目前維 護 CakePHP 的團隊。CakePHP 是什麼? CakePHP 是以 PHP 為基礎、免費、開放原 始碼且標榜快速建構的架構。基本組成包含涵式庫、類別與執行時期所需的基本 元素,設計靈感來自 Ruby on Rails 架構〈另一個以 Ruby 為基礎,同樣標榜快速 建構的架構〉,目的是要讓程式設計師也能輕鬆建立 web 程式,其最終目標是要 讓您快速地在有組識且不失彈性下完成任務。CakePHP 使用 MVC

〈Model-View-Controller〉架構,MVC 是一種軟體設計模式,幫您將程式碼合理 的分離,使它更容易被重用與管理,當然看起來也會更好。使得程式碼看起來不 再像義大利麵般的混亂,將原本一個由 PHP 和 HTML 混合在一起的程式麵糰,

(31)

拆開成三個清晰的程式架構,各自負責自己專屬的功能。這樣的架構不論在撰寫 程式時的除錯工作或是後續緊接而來的的程式維護工作,都不用再去面對一團混 亂的程式碼,這是 MVC 架構所帶來最大的好處。

〈一〉Model 代表特定的資料表記錄

Model 包含有應用程式的資料,同時亦含有資料的屬性、資料檢驗的 規則等等,當資料新增或更新時自動套用。

〈二〉View 負責顯示使用者介面

資料如何呈現在使用者的眼前、如何與使用者互動的、如何接受使用 者的資料等動作,在 Cakephp 中由 view 檔案全權負責,檔案內可以 包含標準的 HTML 和 PHP 程式。

〈三〉Controller 則負責處理來自伺服器的需求

它會從使用者端取得使用者輸入的資料〈URL 或 POST 資料〉,套上 自己所設計的程式邏輯,經過計算之後,如需要做資料庫的存取時再 透過 Model 自資料庫中存取資料。最後再度使用合適的 View 將資料 輸出到使用者眼前,滿足使用者的需求,它扮演的是一個仲介的一角 色,也是整個程式邏輯的核心,一個程式設計者只需要將其重心擺在 這裡即可,無須需面對其他繁瑣的工作,因為這些都將由 Cakephp 代 為處理〈 http:/ /cakephp.org/ 〉。

(32)

第三章 系統分析與設計

系統發展生命週期〈System Development Life Cycle or Software Development Life Cycle;SDLC〉 是一有組織的方式用來開發一個組織的資訊系統,在軟體工 程中幾乎所有的軟體開發方法都能應用 SDLC 的概念來加以支撐協助,這是一種 很典型的開發方式,因為 SDLC 的架構在一個資訊系統建立的過程中可以有效的 計畫與控制整個軟體開發的過程,所以 SDLC 經常出現在電腦和資訊系統相關的 領域裡。SDLC 又稱為瀑布模式〈Waterfall Model〉, 它將系統發展的流程分為 幾個階段來進行。若以〈Shelly 1995〉為主,則可以分成下列五大程序:

一、初步調查 (Preliminary Investigation) 二、系統分析 (System Analysis)

三、系統設計 (System Design) 四、系統開發 (System Development)

五、系統實施與評估 (System Implementation and Evaluation)

第一節 人力資源管理平台需求分析

建置一個實用的資訊平台並非容易的事情,從使用者需求的環境現況及影響 因素的分析,每一個面向都要考慮周全,所以事先的充分規劃分析及仔細考量是 必要的,初步調查訪談及相關研究便是位系統的可行性做好準備。為使本研究所 建構之人力資源管理平台能符合使用者的需求,於系統規劃之初,先針對台東縣 網人力資源管理平台所可能接觸到的相關人員進行調查訪談,嘗試直接從使用者 端接收第一手的需求資訊,作為日後系統規劃的主要依據來源。目前先設定以學 校單位等之教育組織為研究範圍,將來可以視需求再將涵蓋範圍擴增至學校單位 以外之組織單位。

一、使用者需求調查分析

近年來因資訊科技及廣路頻寬的日益發達,資料流通的速度也較以往大幅的 成長,在各大搜尋引擎的站台中,往往在不經意的狀況之下,便可以搜尋到不小 心外洩的個人資料,這對於現今強調個人資料保護的觀念來說,是非常的不環保

(33)

的。有鑑於此,本研究尚在雛型規劃之階段,故不對個人資料做詳細的收集,僅 以辦理研習課程所需之基本資料為主。其重點在於掌握整體台東縣網內相關教育 單位組織內之人員參加研習的項目、次數及性質為主。如對個人資料有更進一步 的需求,當可在將來隨時增加資料的深度廣度,以符合每一個時間點的需求。

綜觀全國教師在職進修資訊網,在其網站之中雖然已條列出各式各樣的研習 課程,而對所有研習課程相關的資料也記錄的非常清楚,依上課的時間、地點、

課程大綱、性質等一一條列出明細項目。但唯一美中不足的是對於師資方面並未 做清楚的交代,亦無法了解該講師於課程中講解的效果到底是如何?學員們於課 後的滿意度亦無從得知,而此一困擾也正是台東縣網所遭遇到的問題。

二、台東縣網的需求

以承辦研習課程的主管單位而言,如能在聘請研習課程講師之前,除了用講 師的學經歷做為判斷外,亦可從該講師所講授過的研析課程之中,逐一去了解學 員們的學習反應,藉此能夠與該講師在上課前規劃上課的方向與上課的模式,以 期能達到最大的研習效果。其次,更可經由本研究了解台東縣網內各組織成員曾 經參加過那些研習課程?擁有哪些專長?是對整體台東縣網內人力資源的配置 有著莫大的幫助,也可以對研習課程規劃的方向做出最好的決策,有如兵棋推演 般的擬定除作戰策略,在有限的教育資源中找出最佳效益之所在,避免無謂的浪 費可貴的教育資源。

是以本研究將嘗試於台東縣網內建立一個研習課程的回應機制,以簡單的評 分模式,再加上文字性的敘述評論,並以不記名的方式自由發表,希望以此機制 能更為真實地反映出研習課程的研習效果。這也更加符合 WEB 2.0 的精神,一個 完全的網站是必須能夠與使用者互動的,而不是單向的給予,讓使用者只能一面 倒的接受資訊,讓資訊交換的不對稱性又更佳的突顯出來,如果使用者的反應良 好,將來亦可將本研究發展成為一個虛擬社群的網站,相信使用者越熱情的參 與,學習的效果將越發的明顯法。而且每一位學員在報名研習課程之前,就可以 針對該研習課程的講師過去所曾經將授過的課程,從學員的回應中對於該名講師 獲得一個初步的了解,可以作為是否參加研習的一個參考依據。

(34)

三、系統的需求

本研究所建構之人力資源管理平台在屬性上是屬於操作性系統,針對此一系 統預估將來的使用狀況,來設計一友善的人機界面,符合下列的需求:

〈一〉一般使用者的需求不外乎簡潔的介面、直覺的操作、符合人性思考的 原則,以圖形化的方式呈現出主旨更能讓使用者倍感親切。

〈二〉系統管理者的需求以穩定、可靠、安全為主,例行性工作的簡化,維 持系統於高度的可操作性環境,於系統毀損後能快速的恢復運作。

〈三〉維護者〈程式設計者〉的需求以系統更新改版時能快速的提出新功能,

或於維護人員異動時能依照原設計之模組迅速接手繼續維護的工作,

為系統設計時的一大挑戰。

第二節 人力資源管理平台資料庫設計

本研究是以台東縣網內的研習課程為主軸,最終目的是希望能夠對台東縣網 內所舉辦的研習課程能產生正面的效益,是以資料庫內部的資料表所需要的格式 欄位均以全國教師在職進修資訊網的格式為主,再稍做修改成適合台東縣網的資 料格式。本資料庫的設計是採用關聯式資料庫,可以在任何時候加以擴充而不影 響到原本已經存在的資料。如前章所提,基於個人資料保護的前提之下,本研究 目前尚未對個人資料做詳細的記載,僅紀錄幾項必備的資料。以下就針對所需要 的資料表做介紹:

一、資料表之匯總

表 3-2-1 資料表之匯總

資料表名稱 用 途 1 courses 紀錄研習課程的詳細資料

2 teachers 紀錄研習課程講師的姓名及服務單位 3 students 紀錄參加研習學員的姓名及服務單位 4 comments 紀錄對研習課程所擁有的評論內容及分數 5 users 紀錄不同權限之使用者帳號相關資訊

(35)

二、資料表之間的關聯

圖 3-2-1 資料表之關聯圖

在對資料表做過正規化之後產生出四個資料表,這四個資料表之間的關聯情 形了述如下:

一對多的關係: a Course hasMany Teachers a Course hasMany Students a Course hasMany Comments

一個研習課程可以同時擁有多位講師共同授課,當然可以擁有多位學員共同 在課堂中學習,在課程結束以後,一個研習課程會接受到眾多的評論。在關聯式 的資料庫中,只要找到一個研習課程,很自然的與其相關的師資、學員、評論等 都會自動的被搜尋出來,便可以利用這樣的關係來做任何數據上的統計,找出所 要的資訊,這也正是關聯式資料庫的優點。資料表分別地被儲存在不同的地方以 節省空間,避免重複的資訊一再出現,但卻又能好像儲存在一個資料表裡面一般 的容易尋找。

反推回來: a Teacher belongsTo a Course a Student belongsTo a Course a Comments belongsTo a Course

當找到一位講師的時候,由該位講師所主持的研習課程也自然地被關聯到,

Courses

Teachers

Students

Comments

(36)

在資料表中一位講師的姓名出現一次就代表他主持過一次研習的課程,經由這樣 的紀錄,依然可以很容易的統計出該位講師在某一時間範圍內曾經主持過多少個 研習課程,再從該研習課程所擁有的學生及評論總數,即可對該講師所主持的研 習課程的學習效果做一個綜合的判斷。

(37)

三、資料表欄位及其用途說明

〈一〉研習課程明細表

表 3-2-2 研習課程明細表 研習課程明細表〈Courses〉

編號 欄位名稱 資料型態 說 明 1 id int(10) 序號〈Primary Key〉

2 code int(10) 課程編碼 3 name varchar(255) 課程名稱 4 outline text 課程大綱 5 teacher varchar(255) 師資群

6 start_date date 上課起始日期 7 end_date date 課程結束日期 8 registration_start date 報名開始日期 9 registration_end date 報名結束日期 10 fees int(10) 學費

11 contact_person varchar(255) 聯絡人 12 contact_phone varchar(255) 聯絡人電話 13 contact_email varchar(255) 聯絡人電子郵件 14 categories tinytext 課程性質類別

15 time_place text 上課時間地點詳細描述 16 applied_to text 適合參加對象

17 credit_points tinyint(4) 學分數 18 study_hours tinyint(4) 研習時數 19 number_of_class tinyint(4) 開班數 20 class_size tinyint(4) 每班人數

(38)

〈二〉講師的簡易資料表

表 3-2-3 講師的簡易資料表 講師的簡易資料表〈Teachers〉

編號 欄位名稱 資料型態 說 明 1 id int(10) 序號〈Primary Key〉

2 course_id int(10) 講師所隸屬的課程 id 3 name varchar(30) 講師姓名

4 organization varchar(100) 講師的服務單位 5 county varchar(30) 講師的居住區域 6 contact varchar(100) 講師的聯絡方式

〈三〉學員的簡易資料表

表 3-2-4 學員的簡易資料表 學員的簡易資料表〈Students〉

編號 欄位名稱 資料型態 說 明 1 id int(10) 序號〈Primary Key〉

2 course_id int(10) 學員所隸屬的課程 id 3 name varchar(30) 學員姓名

4 organization varchar(100) 學員的服務單位 5 county varchar(30) 學員的居住區域 6 contact varchar(100) 學員的聯絡方式

(39)

〈四〉評論建議資料表

表 3-2-5 評論建議資料表 評論建議資料表〈Comments〉

編號 欄位名稱 資料型態 說 明 1 id int(10) 序號〈Primary Key〉

2 course_id int(10) 評論所隸屬的課程 id 3 content text 評論內容

4 score tinyint(3) 評論等級〈1~10 分〉

5 created datetime 評論的發表時間點

〈五〉使用者帳號群組資料表

表 3-2-6 用者帳號群組資料表 使用者帳號群組資料表〈Users〉

編號 欄位名稱 資料型態 說 明 1 id int(10) 序號〈Primary Key〉

2 username varchar(50) 使用者帳號 3 password varchar(50) 認證密碼

4 group_id tinyint(3) 群組 id〈1~10 分〉

(40)

第三節 人力資源管理平台設計

隨著 Internet 的普及和快速的發展,傳統的靜態 Web 內容已不敷使用,使用 Web server 端的 Script 語言結合資料庫建立互動式的 Web service 已經成為主流。

而在開放原始碼〈Open Source〉的資源之中,也有相對應的解決方案:LAMP。

LAMP 是 Linux、Apache、MySQL、PHP/Perl/Python 的合稱,LAMP 系統無論是效 能、穩定性都相當不錯,和 .NET 或 Java 平台並駕齊驅,相當受到歡迎。關於 Web server 端的 Script 語言,不論 PHP、Perl、Python 都有其支持者。而使用 PHP 開發的 Project 數量相當多,也有些知名常見的大型專案,如 WordPress〈Blog 軟 體〉、Joomla!〈Content Management System,Mambo 的分支〉、phpBB〈Bulletin Board〉、 MediaWiki〈Wikipedia 開發並使用的 wiki 軟體〉等等,基於免費開放的前提下,

本研究也將以 LAMP 作為系統發展的骨幹。

在人力資源管理平台的分析設計之中,程式語言扮演著舉足輕重的角色,人 與機器之間的溝通完全要靠程式語言來完成這個複雜的動作。程式語言在一個系 統中的定位就有如血液在人體中的定位,如果沒有它系統根本無法運作。而血液 在人體流動的順暢與否,會對一個人健康的程度造成相當大的影響;同樣的,一 個程式語言在系統中是否能夠完全的發揮出其功能,也將會對該資訊系統造成決 定性的作用,一個系統的好壞,完全得靠程式語言是否能夠暢行無阻來決定。

所以在程式語言部份,本研究不僅僅是用原始的 PHP 撰寫程式碼,而是使 用 CakePHP 的開發框架來建立此一人力資源管理系統平台的雛形;利用其 MVC 模組化的先天架構之下,使得系統在設計發展之初便被強迫地以一個完整的模組 化物件架構來形成系統本身,像這樣子的一個系統物件導向是它的必然成員,物 件導向的觀念及好處在 MVC 架構中發揮得淋漓盡致。在其背後強大的開發團隊 及社群團體做為技術支援,只要一條網路線就可以享受全世界最先進的 WEB 開 發技術,基礎架構亦會隨著時間而進化改版。如遇無法解決之難題時,仍然可以 在網路上尋求開發團隊或是社群的協助,不讓本研究所創造的系統變成孤兒,這 對日後系統的維護會有莫大的助益。至於物件導向的觀念部分,無須另外費心的 從頭到尾去設計出一套物件導向的系統,只要追隨此一軟體框架之規則即可建立 出一套穩固的物件導向系統。

(41)

在開始設計此一人力資源管理系統之前,先將傳統的系統開發模式與本研究 所將採用的 MVC 系統開發模式做一個完整的比較分析。

一、一個典型的 PHP 程式架構

如下圖所示,典型的 PHP 程式碼全部混合集中在一個實體的程式碼之中,

換言之,當它儲存在硬碟的時候,僅僅就是 Script 一個檔案而已,架構上看起來 好像很簡單,但是在實務上這將使得將來在維護及除錯的時候難度提高了很多,

因為這個檔案是涵蓋了所有的功能,包括:

〈一〉從 URL 或者一個 LINK 接受 Client 端的指令後加以運算。

〈二〉將運算後的結果直接送往資料庫,並向資料庫提出請求〈Request〉。

〈三〉接收資料庫為傳的資料,再度加以運算。

〈四〉再將運算後的結果直接送往使用者的瀏覽器。

圖 3-3-1 典型的 PHP 程式架構運作流程圖

資料來源:Beginning Cakephp From Novice To Professional, David Golding, 2008.

程式設計者為了方便起見,甚至可以用 include()的方式將其他人的檔案包含 在自己所設計的程式碼之中,以省去撰寫程式的辛勞,這樣是的程式出錯的機率 又更高了。在一個最為複雜的 PHP 程式碼之中,其程式碼中的變數 〈variables〉

可以在任何地方被呼叫而來修改它的值與設定,雖然在撰寫程式的時候很自由,

可以隨心所欲的任意修改,可是程式一旦出了錯想要除錯時,就得花費更大的心 力來找出這個錯誤,這在系統的開發上是非常不利的,系統開發者切勿因自由和 犧牲了穩定性。另一個缺點則是,相同的程式碼可能在不同的地方被重複的撰 寫,這也是傳統式寫法的一大隱憂,故本研究不採用此一原始的方式來建構系統。

(42)

二、一個 MVC 架構的 PHP 程式碼

圖 3-3-2 MVC 架構的 PHP 程式運作流程圖

資料來源:Beginning Cakephp From Novice To Professional, David Golding, 2008.

一個 MVC 架構的 PHP 程式碼改進了前一節程式的缺點,用一種有效率的技 術使得所有的物件〈objects〉在所有的程式碼中都可以使用,最主要的目的是確 定一件事情,確保所有的功能函式只會被撰寫一次,不會有重覆撰寫相同程式碼 的狀況發生。在 MVC 架構中有著一貫的命名方法、並且將檔案依不同的功能儲 存在固定的資料夾之中,如此便可以有效的將不同的資源整合在一起,甚至於不 用撰寫特別的程式碼一切由 MVC 架構來主導資源的整合,這對於需要團隊開發 的系統特別有用,團隊成員將會很容易的找到自己所需要的資源,因而變得默契 十足,加快開發的進度。

雖然不同的 MVC 架構有著不同的行為模式,但一般來講還是會按照下列幾 項特點來做出表現:

〈一〉、當使用者以 URL 或者一個 LINK 送出 Client 端的網頁後,按照一般 的慣例上一個典型的 URL 會以下列的結構出現,

http://{Domain}.com/{Application}/{Controller}/{Action}/{Parameter 1, etc.}。

(43)

〈二〉、就交給 Dispatcher 來解析 URL 的結構,並且決定由哪一個 Controller 來執行相關的功能及參數,當然 Dispatcher 也會將參數傳遞給 Controller。

〈三〉、在 Controller 裡面的功能函式〈Action〉除了接受傳進來的參數以外,

還會請 Model 向資料庫提出存取的要求,以配合參數來做運算。

〈四〉、Model 這是會按照 Controller 的要求項資料庫存取資料,並且將資料 庫中取出的資料按照指令作有系統的安排。

〈五〉、一旦 Model 完成了送資料給資料庫或是從資料庫中取出資料,此時 便會將輸出回傳給 Controller。

〈六〉、Controller 接受資料並作預算之後,再將其輸出送到 View。

〈七〉、最後由 View 將最終的資料運算後,再將其送到使用者的瀏覽器之 中,就完成了整個資料的存取動作。

而使用MVC來開發網站最大的好處就是,舉凡重複性的動作都能被獨立的 拆解開來,大大的降低撰寫網站程式碼時的無聊感,能夠加速系統開發的速度,

甚至於連在需要除錯時都能夠幫上大忙。如果在做資料庫存取的動作時經常產生 錯誤,那就可以很輕易的判斷出錯誤大概是出在於Model,因為所有對資料庫存 取的動作都是由Model負責的,所以可以很快地依照錯誤訊息找出問題的解決方 案。

三、人力資源管理平台系統設計

〈一〉Model子系統的設計

按照MVC的架構將人力資源管理平台切割成為三大部分,分別是Model 代表資料庫中的資料表,在本研究中即為 CourseModel、TeaecherModel、

StudentModel、CommentModel 等四大Model,其Model的名稱必須為英文而 且是單數的形式,這才能符合 Cakephp 之中 Model 命名慣例,如此 Cakephp便可以如變魔術般的自動的產生很多功能,相反地如果不按照此一 慣例命名就會額外多出很多必須自訂的工作,那就不是採用MVC架構來開 發系統所欲達到的目的了。

在 Cakephp 之中一切的物件都有一個最原始的類別,它的類別名稱叫 做 Object,所有其他的類別都是從 Object 期繼承而來,如下圖 3-3-3:

(44)

圖 3-3-3 Model子系統的設計

最底層的Model反映到系統實務上就是代表一個研習課程、一位研習課 程講師、一名研習課程學員及一個研習課程評論,他們分別一路向上繼承 AppModel、Model、Overloadable等物件,一直到最上層的Object物件。如此 的作法,可以使得自行設計的研習課程等物件擁有MVC開發架構所有已經 準備好的功能與屬性,無須要再度地耗費不必要的精力去重新發明輪胎。

除了這個優點以外,其中Overloadable物件亦允許在既有的基礎之上客製化 原有的功能,而不用去修改到MVC開發架構本身的原始程式碼,就能將原 本的功能修改成較為符合自己系統的需求。當然也可以創造新功能加諸於 其上,讓系統功能更臻完整。

Object

Overloadable

Model

AppModel

StudentModel TeacherModel

CommentModel CourseModel

(45)

〈二〉Controller子系統的設計

本研究中四個主要的Controller如下圖 3-3-4:

圖 3-3-4 Controller子系統的設計

Controller必須以英文的複數型態出現,同樣是Cakephp的命名慣例之 一,一旦遵循如此的命名規則,Cakephp便會自動找到相對應的以單數型態 命名的Model及其資料表。遵守Cakephp的命名規則可以享受到許多的好處,

系統開發時應當盡量利用這樣的機制,讓整個資訊系統在開發完成後擁有 一貫的風格,增加程式碼的可讀性,簡化將來維護的工作。除非是特殊情 況,才使用自訂的方式來命名,當然Cakephp也允許這麼做,不過這會增加 程式碼的複雜度,應該要盡力地去避免這樣的情形產生。

在CoursesController中撰寫控制Course Model〈研習課程項細資料〉的程 式碼,原則上本研究採用一個Model物件對應一個相同名稱的Controller,力 求程式碼的單純化與結構化。在TeachersController之中撰寫控制Teacher Model

CommentsController Object

Controller

AppController

StudentsController TeachersController

CoursesController

數據

圖  3-2-1  資料表之關聯圖
表  3-2-2 研習課程明細表  研習課程明細表〈Courses〉
表  3-2-3 講師的簡易資料表  講師的簡易資料表〈Teachers〉
表  3-2-5 評論建議資料表  評論建議資料表〈Comments〉
+7

參考文獻

相關文件

工作氣質或求職端 TWS 工作風格)或是 1 門就業促進

項目 大一 大二 大三 大四 一般. 課程 一般與通識課程(含勞作教育、服務學習)

初中科技教育學習領域課程資源 課題四 金錢的性質 策略和管理—延伸學習元素.. 單元 E4

初中科技教育學習領域課程資源 課題六 單利息、複利息和金錢的時間值 策略和管理—延伸學習元素.. 單元 E4

(網站主頁 > 課程發展 > 學習領域 > 藝術教育 > 教學資源 >視覺藝術

課題  感動一刻  學習階段  第三學習階段  科目  視覺藝術 ..

初中科技教育學習領域課程資源 課題: 商業、營商環境和全球一體化 策略和管理— 核心學習元素.. 單元 K7

編訂本資源是為教師提供分層課業例子以作參考,資源的內容並不包括所有