[事 件 表] [資料流程圖(DFD)] [資料字典(DD)] [系統規格書] [報告書大要]

InternetIntranet ( WANLAN ) 網際資料庫系統

、可行性分析
工作
1.經濟可行性。2.技術可行性。3.作業可行性。
產出
可行性研究報告。

需求分析
工作
1.工作訪談。2.資料分析。3.業務流成分析。4.職權流程分析。
產出
1.專案執行計畫。2.專案會議時間表。3.會議記錄。4.業務流程圖。

系統設計
工作
1.系統結構設計2.資料庫設計3.螢幕報表設計4.模組元件設計5.操作介面設計
產出

1.系統流程圖2.料流程圖3.資料庫關聯圖4.程式清單5.程式規格書6.工作報告進度

系統實作(建置)
工作
1.程式撰寫2.資料庫建置3.單元測試
產出
1.執行程式碼2.單元測試紀錄3.工作報告進度

五、測試整合
工作
1.測試資料庫準備2.系統整合測試3.程式除錯/修改4.新舊資料庫移轉
產出
1.系統測試計畫2.系統維護手冊3.系統操作手冊4.教育訓練教材5.工作報告進度

建構應用系統的流程:
1.了解客戶需求:
2.系統分析:規劃應該有哪些資料表、表單、報表等
3.系統設計:建立各項表單與物件
4.整合為完整的資料庫系統(切換表單、啟動選項)
5.系統測試:測試與修改
6.資料庫發行:製作Access Run-Time或直接複製資料庫檔案
7.製作說明文件:
8.教育訓練:作業人員操作教育訓練、系統維護人員教育訓練、系統保固服務

階段

系統分析

系統設計

系統建置

系統建置

系統建置

文件名稱

系統分析文件

系統說明文件

程式說明文件

操作說明文件

使用者說明文件

製作者

系統分析師

系統分析師

系統設計師

程式設計員

系統開發人員

系統開發人員

使用者

系統分析師

程式設計師

系統分析師

程式設計師

程式設計員

系統分析師

系統管理者

最終使用者

管理者

最終使用者

一、系統分析文件
系統目的
系統功能 :主系統與各個子系統功能說明
    基本資料:
    資料作業維護:資料日報表
    資料作業:
系統特色
    可處理多筆資料同時輸入,系統連線自動產生各類表單
限制條件
作業流程:現況說明,以IDEF或是DFD分析
系統問題癥結所在
系統需求分析
    資訊需求
    硬體需求
    軟體需求
    人員需求
各種可行方案分析
開發新系統所需經費與時程:軟體、硬體、人員薪資、房租、行銷、水電、交通等之費用估算
建議事項

二、系統說明文件
檔案結構 (資料字典)
國際條碼 本欄位長度最少  位
商品貨號 本欄位長度  位為原則
商代號與廠商貨號 本欄位長度最少為  位
輸入方法
輸出格式 (表單、螢幕、印表機)
   
各項報表、統計表
檔案系統架構:系統關聯圖
使用者權限說明:新增、查詢、列印、修改

三、程式說明文件
程式設計方法
作業流程處理邏輯

四、操作說明文件
系統啟動
系統操作
系統關機
系統備份
障礙排除

五、使用者說明文件
系統的功能
運作程序
表單輸入
填寫方法
輸出資訊使用方法

  背景
(市場規模)
動機 目的 作業流程說明 系統架構 系統功能 使用者權限 系統導入 系統維護 教育訓練 預期效益
現況說明            
需求調查            
分析  
設計  
實作  
評估  
後續工作 ◎●     ◎●   ◎● ○◎●        

 


系統開發與管理

資訊系統組成元件
1.硬體
2.軟體
3.資料庫
4.作業程序
5.作業人員
6.文件
其中作業程序包括(1)使用說明(2)資料輸入說明(3)腦操作員作業程序
作業人員分為:電腦操作員、程式設計師、系統分析師、資料輸入員及資料庫管理員
 
資訊系統之特性
1.垃圾進,境圾出
2.人機配合
3.電腦通訊網路
4.快速性
5.經濟性
6.動態性

建立資訊系統之過程與方法

1.可行性分析-作出「可行性研究報告」
(1)經濟可行性(2)技術可行性(3)作業可行性。

2.系統分析(訂出需求)-作出「系統規格說明書」
 (1)資訊需求 (2)組織需求(人力配置、訓練) (3)控制需求(使作業正確)
 (4)機器設備需求

3.系統設計-作出「系統規格說明書」
 訂出電腦該如何作什麼?稱「程式規格」
 訂出人工該作什麼,如何作?稱「作業程序規格」
 上述兩者合稱「系統規格」
 (1)電腦作業方式 (2)電腦分成幾個程式來作 (3)電腦資料檔之說明
 (4)作業該如何修訂以配合電腦。

4.系統開發-完成「程式說明書」及「人工作業程序手冊」
 編寫程式及設計人工作業程序。

5.系統實施
(1)人員之訓練 (2)檔案維護 (3)進行機器之選購安裝

運作後還需加以評估!  

傳統結構化系統分析(Structured Analysis)
特色:
1.採用DFD
2.採用資料字典
3.採用各式工具(決策樹、虛擬碼......)
4.用Structure Chart定義模組

目的:
1.增進規律性(標準化)
2.可信度和錯誤校正
3.資源的更有效率應用

一個良好的軟體發展環境:
1.改善、擴充、搬移舊系統
2.減少人工作業
3.整合資訊發展之各階段
 (1)經由介面來連結不同的工具
 (2)經由可讓資料雙向流通的工具
4.培養再使用能力:軟體發展的兩大困難是品質與速度,採再使用可解決之(物件導向)但是其成效有限,原因為:(1)「再使用」須在一開始便規劃進去 (2)界定可再使用的部分很困難。 

系統開發的四種方法:

軟體生命週期模式(Software Lifecycle Model)
將系統開發過程分為分析、設計、寫碼、測試、維護五階段,若在某階段發生問題,可回溯至前面的階段。

缺點:通常的系統均沒有依照其訂定的方法去開發,初期使用者看不見系統的模樣,使用者需求並不容易清楚的呈現。

雛型模式(Prototyping Model)
傳統設計方法中使用者須知道他們真正的需求並能明確界定,但事實上往往無法有效說出需求,等到系統設計好後才發現需求、資訊不對,為了讓使用者能界定他們的資訊、需求,故產生了雛型法。 開發者與使用者先討論系統的基本需求,並由其中較具關鍵性的功能訊速開發一個可操作的系統雛型,再經由反覆的演練過程中,逐漸轉化修改成系統產品。

過程-->分析、快速設計、雛型操作、雛型評估與需求細化、產品化。 (專家建議雛型只應視為需求分析階段之輔助,而不應將其轉為最終產品!)

其須經由正規化語言描述成正規化規範,然後一步步地被自動轉成較低階的資料結構及演算法,而後製成產品。(因其正規化,所以較具正確性,但目前不易使用!)  


資訊系統生命週期之介紹:

1.系統分析階段(system Analysis)
建立各個系統元素的需求,扮配整個系統的功能於不同的元素中,並規劃不同元素間的界面關係,而有關軟體的部分,再做進一步的分析如下!
系統的組合素:硬體、軟體、人員、資料庫、文件以及相關的法令與程序。

2.軟體需求分析階段(Software Requirements Analysis)
在搜集、定義與軟體有關的系統需求,亦即系統用戶之需求。
(此工作是開發過程中最困難的一個階段)

3.軟體設計階段(Software Design)
重點在於系統的軟體架構、資料結構以及操作程式的設計。

4.寫碼階段(Coding)
即程式撰寫。Coding的難易在於設計的品質是否正確、詳盡以及結構化。

5.測試階段(Testing)
試內部邏輯、外部功能以及整合後的程式是否滿足系統需求。

6.系統維護階段(System Maintenance)
因錯誤的發現、外在環境的改變以及使用者在系統功能上的增加或修改,都是要維護的原因。  

系統分析
步驟一:
定義義整個系統的範疇,包括了系統的功能績效、限制及系統界面等。
步驟二:提出多個可行方案。
步驟三:評估所有的可行方案,以選取最佳的方案。包括了下列五項分析的工作:

1.辨認使用者的需求

2.經濟可行性分析(Economical Feasibility) 比較開發成本與系統未來收入或帶來的經濟效益。

3.技術可行性分析(Technical Feasibility) 考慮開發的風險、軟硬體資源是否充裕以及目前的科技是否能達成系統需求。

4.法律可行性分析(Legal Feasibility) 聘請專業法律顧問來分析各類法律問題,如:仿冒、契約、責任履行等。

5.成本與時間(時程)之估計預先估計系統的開發成本以及完成時間。

步驟四:製出一份「系統定義書」(System Definition),根據此書,則後續的軟體工程、硬體工程和資料庫工程才能進行。  

軟體需求分析

目的在產生一個完整且正確的「軟體需求分析規格」,若需求有誤,則往後的開發會花費極大的成本!

一、軟體需求分析之困難及其特性
1.須從事大量的溝通工作
2.用戶需求經常敘述不清
3.軟體需求階段最缺乏自動化工具之支援
4.許多系統需求會隨外界環境而改變
5.大型資訊系統的功能複雜、範圍廣,且通常是唯一性,故經驗難累積。

二、軟體需求分析之工作項目及步驟

步驟一:問題瞭解
步驟二:評估與綜合,包括了三方面的分析:

(1)資料領域分析(Information Domain Analysis)
輸入信息、現有資料檔案、系統產生之輸出信息,了解其與功能間的流動關係、信息結構及資料內涵。

1.流動關係(Information Flow):用DFD(Data Flow Diagrams)表示 2.信息結構(Infomation Structure):階層式資料模式(Hierarchical Model)、關聯式資料模式(Relational Data Model)或個體關係模式(Entity-Relationship Model) 3.信息內涵(Information Content):資料字典(Data dictionary)或個體導向方法(Object-Oriented Analysis)

(2)功能分析(Functional Analysis)
將系統功能劃分成幾個子功能,利用資料流圖讓程式師能依照模組設計來寫碼及測試。

(3)界面分析(Interface Analysis)
包括系統與其他軟體系統的介面關係及系統與用戶間的人機界面分析。
步驟三:規格書製作(軟體規格需求書)
步驟四:複查與審核  

軟體需求分析之工具介紹

(1)資料流圖(Data Flow Diagrams):DFD集合的前身簡單表示entity及data flows,由此出發給各層之DFD。(可再分為Detail DFD)。包含: 1.資料流(Data Flow):由有名稱的箭頭表示 。2.處理程序(Process):由圖型代表。3.檔案或資料庫(File):由平行的二條直線表示。4.資料的來源(Source)或去處(Sink):以方塊表示

(2)資料字典(Data Dictionary):用於說明DFD中Data Flow的內涵架構用來定義資料流中的各部分(與DFD須一起考慮!) 符號:=表“全等”,+表“和”,〔〕表“其中之一”,{}表“重覆”,()表“可有可無”,*表“說明部分”。其依賴資料流、資料元素、檔案及處理程序之分類編製各項目。

(3)結構化英語(Structured English):用於說明DFD中Process的詳細邏輯由一些簡單的字彙和文法組成,含有三種結構:順序結構、選擇結構與重複結構。也就是一種擬似碼(Pseudo-Code),其代表的是控制流程!

(4)決策表和決策樹(Decision Table and Decision Tree(同結構化英語)) 當策略選擇取決於一些情況的結合時使用。

(5)接取圖(Immediate Access Diagram):用於說明DFD中的File說明檔案架構。  

結構化系統設計

將系統分解成子系統 (subsystems),再分為部件(components),再將每一部件細分為多個模組(modules)。

系統設計工作分為兩階段:

1.高階設計(High leveldesign) 指細化過程的初期,著重modules間的關聯與整個系統的邏輯架構。
2.細部設計(Detailed design) 指細化過程的後期,著重module內部的資料結構與演算法之設計。
(設計規格書中,通常不區分這兩階段)

系統設計師不但需將軟體需求轉換成具結構性的設計規格(模組架構),還須注重設計的品質,這也是“設計”階段存在的最大意義,而設計師可以不專注於程式的績效與可執行性。 程式撰寫與系統設計最大的不同在於系統設計的重點是成千上萬的模組之間的介面設計,而程式撰寫是注重單一模組內的資構與演算法。  

系統設計基本原則

原則一:模組化(Modularity) 將大問題分解成許多小問題,然後「各個擊破」。

原則二:抽象層次(Levels of Abstraction) 幫助設計者專注於一個問題的核心,而不受到相干細節的干擾。由上而下,從較抽象之層次至較具體的層次,使用詳細資料流與控制流。

原則三:抽象資料類型(Abstract data types) 一個抽象資料類型定義通常包含其邏輯資料結構,即屬性(attributes)和操作(operations)。

原則四:信息隱藏(Information hiding) 模組的設計應盡可能將其內部細節隱藏起來,不讓其他模組看到。

原則五:功能獨立性(Functional independencd) 一個模組只該有一個單純的功能,而與其他模組的交互關係應盡可能的簡單,通常以內聚力(cohesion)及聯結力(coupling)來測量獨立性。

原則六:模組介面規範(Interface specification) 須記錄下模組與其他模組的相互使用情形,最簡單的是記錄該模組的import與export;import表示它使用到的其他模組,而export表示使用到它的其他模組,另外也可說明其是否為公用(public)模組。

介面規範是影響分析(Impact Analysis)時的重要依據,它可讓設計者得知若要修改某模組所會影響的層面,而若一個模組的修改會導致一連串更多模組的修改的話,會造成(ripple effect-漣漪效應),後果可能會很嚴重!  

模組結構圖中的資料流可分兩類:

1.轉換流:資訊以外在世界型式進入系統(輸入流),在系統核心產生轉換,然後循著離開路線離開系統(輸出流),稱為轉換流。
2.交易流:資訊流由單獨的資料項來分,即可選擇多個路線中的一支為資料流,此稱為交易流。特點是資料經由接受路線(Reception Path),將在外的資訊變成一種交易,根據其值選擇一條行動路線(Action Path)。  

結構化設計目的:
使一軟體系統的開發能夠化繁為簡,容易除錯、維護及擴充,產生高品質的軟體產品。
缺點:文件的不易清楚表達,設計原則的學習困難及程式執行的效率略差。  

軟體雛型方法

軟體雛型(Software Prototyping):
在限定的短時間內,用最經濟的方法,開發出一個可運行的系統原型,以便以及早澄清或驗證不明確的系統需求。

優點:

1.藉助可操作的模型,增進設計師與用戶間的溝通。
2.讓用戶參與需求分析過程,可真正認識用戶需求。
3.可澄清、驗證一些不易用一般語言來規範的交談式與動態之需求。
4.用戶在使用雛型中可以發現新的需求。
5.對於任務重大或攸關生命財產安全的資訊系統(或不易實地測試者),雛型法成了健全系統需求分析的有效方法。

常用的方法有五種:

1.腳本式:
事先製作使用者手冊、圖片說明等,適用於簡單的用戶界面設計。(最經濟)
2.摹仿式:
做假的方法,預先設定輸出入的資料來模擬某些特定之系統功能,適用於新的功能需求或注重使用順序的系統之雛型。
3.示範式:
實際開發一部分關鍵功能,讓用戶操作。適用於驗證新的功能需求。(常見)
4.遞增式:
由最關鍵的子系統開始雛型,逐次發展至系統完整為止。適於各子系統間界面定義十分清楚之大系統。
5.螺旋式:
由系統核心功能開始作系統的第一個版本,再依據使用後的回饋來修改,擴充成次一版本,而每個版本都是完整的系統,適於需求會受到外界影響而改變的系統。

用戶界面管理系統,4GL與資料庫系統及可執行高階語言等,皆為有效的雛型工具。而「軟體再利用」的觀念,更是快速雛型的好方法!

一般雛型分為兩類:
1.丟棄式:僅在於驗證不明確的需求。
2.演進式:進一步將雛型中具結構化的部分,謹慎地轉化成最終產品。

步驟:
 一、快速規劃:釐清雛型目的、範圍、工具等,通常規劃書只有三至十頁,且限制在數月或數個禮拜而已。
二、快速分析:在幾天或數星期完成各種功能分析等,其對文件製作要求不高。
三、快速製作:在兩週內製作一個最原始的版本,請用戶評估、修改並擴充,然後反覆此步驟約三至六個月,直到用戶接受該雛型。

管理: 雛型法可以減少系統生命週期後段的風險,所以其最大成功因素在於軟體開發初期讓用戶參與系統的分析與設計,以便提早發現問題並修改。 (因此,雛型的正確方法除了快速、經濟外,還必須是由「用戶主導」的分析與設計過程)

困難與問題:

1.雛型自動化工具缺乏
2.有經驗的雛型開發人員缺乏
3.須大量的用戶參與
4.缺乏一個有效的評估準則
5.常修改雛型,易使漸漸偏離雛型的目的
6.雛型人員常有直接將雛型轉換成最終產品的傾向,影響系統產品之品質。另外,有些技術層面大於分析層面的軟體亦不適合雛型法(例如:OS、DB、ESS)。     

軟體測試

測試的目的(glen Myers的定義):
1.在發現錯誤
2.成功的測試是指它發現了一個尚未發現的錯誤
3.好的測試個案是指它有很高的機率可以發現個案本身的錯誤

若測試中只發現少量的錯誤,可能表示:
1.此系統的品質相當可靠及可接受
2.測試工作不夠充分,這會是產品將來產生危機的“警訊”!  

軟體測試方法:

白箱測試
根據產品的內部構造,測試它是否依照設計在正確運行。
1.保證模組中一條獨立路徑在執行中至少通過一次
2.所有包含邏輯判斷的語句要確實執行過
3.所有迴圈的邊際條件及內部操作都得檢驗過
4.所有內部資料結構的正確性之檢驗

黑箱測試
依照產品所該顯示在外的功能效果,測試它是否正確地達成任務,著重於功能需求及介面測試。(輸入正確資料時是否會產生正確結果)
1.等級分割法(Equivalence Partitioning):將輸入資料分成幾個等級,然後分別去加以測試。
2.邊際值分析法(Boundary Value Analysis):查看在極大值或極小值周圍的執行情形是否有錯,因為許多錯誤常發生在輸入資料條件的邊際。而此法只針對數值資料做分析。

軟體測試過程:

一、單位測試(Unit Testing):
檢驗每一個單獨的模組是否正確的執行其預期功能,通常用白箱測試,測試的項目包括:
1.模組與模組間的介面,即流入與流出的資料之檢驗
2.模組內部的資料結構
3.模組控制結構中的獨立路徑至少須被執行一次以上(「獨立路徑」:指程式的執行路徑中至少包含一組新的語句或是一個新的條件之路徑。)
4.錯誤處理的正確性
5.模組的邊際條件(boundary conditions) (須利用一「假模組」(dummy modules)來與測試模組結合才有可能去執行此測試模組)

二、整合測試(Integration Testing):
模組結合成子系統,子系統組合成整個系統,因此須檢驗此組合過程與系統的架構是否正確,通常用黑箱測試(組合後的各模組不見得能順利執行)最佳的整合測試是先從事由上至下的整合測試,並在確定了較具關鍵性的綜合模組後,再進行由下至上的整合測試。
「迴歸測試」是指在加入一項修改後,必須重覆以前所做過的相同測試並比較結果是否與前次相符。

三、驗收測試(Acceptance Testing):
根據需求分析規格中所定義的驗收準則來檢驗軟體的功能與績效是否滿足顧客的需求,採用黑箱作業。
1.阿法測試:由使用者在系統開發所在地進行,開發者可觀察使用的情形並記錄。
2.貝塔測試:在終端用戶之處由使用者自行進行,開發者並不在場,而使用者須自行記錄問題並回應予開發者。 (此階段發現的錯誤幾乎不太可能在期限內完成更改,因此雙方須訂出一雙方皆能接受的補救辦法。)

四、系統測試(System Testing):
其屬於整個資訊系統的測試,檢驗系統中各元素之間的整合與整個系統的功能及執行績效是否能滿足需求。
1.回復測試(Recovery Testing):用盡各方法使系統中的軟體失效,並檢驗是否有回復到正常狀態的能力,若須以人工來回復,則測量修復的平均時間是否符合可接受的標準。
2.安全測試(Security Testing):在檢驗系統中的附設措施是否足以保護系統不受到不當或非法的使用與入侵,其包括外來的不友善侵入及組織內部的違法或不道德行為。(當入侵一個系統所花費的代價大於入侵後所能取得代價時,便是一個安全的系統。)
3.壓力測試(Stress Testing):去瞭解系統所能承受的最大壓力,亦即使用不同的方法企圖讓系統崩潰或觀察是否有不穩定現象。例如:一秒內故意干擾系統十次,使用超出平常十倍百倍的資料量或大量佔用記憶體等,了解系統的極限!
4.績效測試(Performance Testing):對即時系統或包含某軟體的嵌入系統,去檢驗軟體執行的績效能否滿足系統的需求。通常須要一些特殊的硬體或工具軟體來協助測量系統執行時的動態性質或數據。 (程式師必須在寫碼之前具備充分且正確的軟體測試概念!)  

資訊系統維護

一、更正性維護(Corrective maintenance):20%
系統中軟體發生錯誤所引起的維護工作包括問題的診斷及錯誤的更正。
二、適應性維護(Adaptive maintenance):20%
為了適應外在環境的變化而修改系統中的部份功能或介面。
三、完善性維護(Perfective maintenance):60%
為了改良原系統功能或應顧客須要而增加新功能的維護措施。

另外還有為了提高系統品質的預防性維護及針對臨時性修改的臨時性維護。  

軟體維護的問題:

維護成本佔整個軟體的70%~80%!且還有以下問題:
1.人力資源的吸收:因人員都被吸收到維護工作,使開發新系統的機會喪失。
2.顧客不滿意:對顧客的維護要求無法作迅速的回應與修復,造成日後信譽損失。
3.系統的品質降低:一項更改可能帶來許多潛伏的錯誤,使系統品質下降。
4.人員編制的混亂:因維護的人力需求及迫切,使得系統開發人員被抽調到其他部門,成人員編制的混亂而影響生產力。

系統開發沒有做好軟體工程的工作以及系統維護工作不能受到一般人的正面肯定,所以造成系統維護的困難!

(系統維護是在已有基礎的工作上作再工程,因此,用「軟體演進」(Software evolution)來代替「維護」(maintenance)較具其精神!)  

軟體的配備管理:

大型資訊系統的維護中,最重要的就是configuration management!降低系統生命期之間的維護成本並減少更改所造成的衝擊。

一、配備管理規劃:
決定那些文件要列為配備管理的正規文件,然後決定其命名、文件間的關係、誰負責文件品質及誰負責呈交文件,且負責更改控制、系統建置及版本控制的流程與標準。並建立一個配備管理的資料庫供管理人員查詢。

二、更改控制(Change control)
確保系統的更改工作都能在嚴格的控制下以減少更改所造成之衝擊。在維護進行後,其更改結果、過程、原因、更改人等須記錄下來成為更改記錄並放進配備管理資料庫中。

三、系統建構(System building)
根據系統的某特定配備型態,將系統的各程式部件組合成一可執行軟體,並裝置在預定的使用環境堙C通常開發環境與使用環境會不同而造成系統裝好後無法執行,一些大型系統的建構很容易有此問題,而有時須重新編譯及連結所有的程式。建構人員也必須了解系統的邏輯結構與實際檔案結構之間的對應關係才能正確安排系統的配備型態。

四、版本控制(Version control)
決定不同版本產生時的命名策略及何時應發行一個系統給客戶的發行策略(release strategy)。版本控制須配合更改控制,並做好文件以利維護人員做配置管理及品質保證工作。
     (資料來源:取材於http://tacocity.com.tw/yaoer/mis_note/mis1_11.htm)
 


傳統結構化軟體系統分析與設計

     (資料來源:取材於http://www.dotspace.idv.tw/sofeeng/sofeeng_6.htm安德華科技股份有限公司技術長陳器中)

系統發展(Development)

系統發展分為規劃(Planning)、設計(Design)和實施(Implementation)。須考慮未來資料量增加、企業的成長與擴充、科技的進步與系統整合性以便設計一個有彈性、可動態調整且易於維護的系統。

系統的三大基本要素:

1. 輸入(Input Data)
2. 處理與控制(Process Logic & Control)
3. 輸出(Output Information)

系統規劃通常採用由上而下的作業方式,其做法先從整體企業目標開始,探討企業營運特性,企業組織建立關係,資料處理應用邏輯,達到資訊系統架構建立完成檔案設計工作。而資訊管理的順序卻是與前相反由個別檔案資料的輸入一直到達成企業營運目標為止。

系統規劃(Planning):

系統要做什麼(What)?

初步研究:
定義問題的範圍與建立系統可以解決問題、滿足需求、運用新科技、增加系統效能。

可行性研究:
定義問題需求範圍、蒐集資料、組織管理者與使用者需求。訂立階段計劃、訂立組織人力計劃、訂立推動計劃、訂立維護管理計劃、訂立教育訓練計劃、訂立文件製作計劃、訂立經費計劃、訂立其他配合措施。

系統分析(System Analysis)

系統分析,係利用系統方法或技術,建立系統觀念性架構,探討研究問題的特性,並提出具體和可行性方案的實際過程。廣義定義為一種有組織的方式來解決問題,達成目的。是一門研究如何建立系統來解決問題的科學。

系統分析的運作結果,是由資料的輸入,經過組合與處理,而輸出有意義的資訊,提供與輔助管理者進行決策。

良好系統具備的特性:整合性(Integertion)、使用者易操作性、管理能力強性、實用性、資料量處理需求、符合組織風格、達成最大成本效益、考量使用人員因素、結合外在科技、法規、經濟、社會等因素、彈性的組織變更及企業成長需求。

系統分析師(System Analyst)為運用各項分析工具,整理所獲得的資訊,找出一個最適合的方法解決問題的人員。須具備專業知識的能力,對系統的輸、出入與處理的軟、硬體與對資料庫的特性知識深入了解,也具有程式設計撰寫的能力,同時要具有系統企業領域知識(如財務、貿易、生產製造等)。

在規劃中由需求訪談,可以獲得管理者與使用者的各項企業行為需求與組織問題的特徵與本質,了解決策者訊息需求的關鍵性資訊及優先順序。由企業診斷可以獲知現行系統的作業程序與運作狀況,找出現行系統不足所在及未來需求的擴充性,了解問題發生的原因與理由,進行企業的改造(BPR)。再由需求訪談與企業診斷結果進行提出各種可行性分析與研究報告,提出改善現行系統方案與解決各項問題的處理方法。當然各種問題不一定完全可由電腦系統可以解決問題,某些部分需要靠組織變革、組織章程變更及流程改造來解決問題。

可行性分析

可行性分析報告要獲得高層管理人員支持,定義明確的問題描述與確認的目標方向,講求實事求是的效果,正確的評估所需資源,最佳生產品質,選擇適當的資訊科技與設備。在可行性目標上還要對系統中要求彈性與可維護性(Flexibility & Maintainability),時程與成本(Schedule & Cost),效率(Efficiency),即時回應(Quick Response),整合性(Integration),安全性(Security),可靠性(Reliability),簡易性(Simplicity),相容性(Compatibility)。

可行性研究建議案提出方式:

1.

提出最佳方案的二元建議方式(Binary recommendations)。

2.

提出多個方案進行假設不同與說明選擇的假設建議方式(Choose recommendations)。

3.

依據成本考量系統彈性反映速度維護容易等因素各與加權做量化分數的價值建議方式(Value recommendations)

系統分析工具(一幅圖畫勝過千言萬語)。將系統所需處理步驟使用流程圖(Flowchart)表現。

1.流程圖(Flow Char):

 

以邏輯圖示處理過程,表示作業每一個步驟以足以表示特性的符號來代表。繪製原則:由上而下,由左而右;圖示明確,工作起始確定明白,每一個步驟動作描述清楚,排好各種工作順序,流程工作範圍清楚,分支要用連接符號表示,使用標準的流程圖符號。
 

2.系統流程圖(System Flow Chart):

 

繪製系統整體工作流程者稱之為系統流程圖。
 

3.功能流程圖(Functional Flow Diagrams):

 

繪製組織間各個作業間資料流動的關係。
 

4.資料流程圖(Data Flow Diagrams):

 

繪製資料間資料的儲存、轉換、流程與輸出、入。
 

5.文件流程圖(Paperwork Flow Chart):

 

繪製系統中各類文件或表格產生及紀錄其流動的情形。
 

6.程序流程圖(Process Flow Chart):

 

繪製一個系統中各個工作的程序與步驟。
 

7.甘特圖(Gantt Chart):

 

用以繪製表現工作排程進度,以時間做中心,一般用於專案的規劃及階段性排程。
 

8.組織圖(Organization Diagram):

 

用以表現組織內各部門功能間的關係與各組織間從屬關係,包含組織的名稱與部門間關係與組織各成員資訊。
 

9.資料字典(Data Dictionary):

 

定義各種資料的說明,使得資料流程圖(DFD)更易於閱讀。

系統設計(System design)結合執行活動工作程序與設備資源來完成系統使用者所要求的目標,可以令系統達到最大、最佳、與滿足需求的功能。考慮每一個獨立程序的隨機關係-與其他程序間產生互動的關係、循序關係-各程序間的前後順序關係和時間關係-各程序在不同時間期間所存在的關係。

系統設計(Design)

如何完成這一個系統(How)?

系統大體設計:

依據系統需求、系統功能來定義系統的輸入、輸出與處理程序。
 

系統細部設計:

依據大體設計定義輸入規格輸出規格與處理程序規格。
 

進行程式撰寫與設計。
 

進行程式的測試與正確性。
 

結構化設計(Structure Design)

結構化設計(Structure Design)採用由上而下漸進且合乎邏輯思維的方式進行設計,建立起層次關係的結構,細分各層的問題逐一探討解決其問題的設計模式。

資料輸入方式的決定考量是採用批次性輸入(Batch Input),還是採用即時性輸入(Online Input),一般常態異動式日常作業大都採用即時性輸入方式,進行統計或結帳式作業可採用批次性輸入方式。

編碼設計:制定編碼原則,採用數字、文字、文數字或符號;主鍵(Prime Key)唯一鍵值的規劃設計,採用循序鍵或存取鍵,關聯鍵值的規劃設計:索引鍵值或複合索引鍵值(Index Key)的規劃設計,編碼長度,避免混淆字形,同音異字等。資料輸出的設計,精確、時效與適切性,表單的設計,考量用紙大小、份數、傳遞方式、顏色、字體大小、主標題說明、次標題說明、編號方式、分頁考量、頁首資訊、頁尾資訊、上下左右空間關係、複寫欄位功能、印表機功能與格式。圖表的設計,圖形特性選擇、表現方式、顏色或條紋區隔、尺標刻度的計算、多維空間的建立、圖形標示及圖例說明。

成本效益評估:系統使用環境考量,網際網路、區域網路、企業網路、單機使用等;使用硬體設備的成本考量,伺服器、終端電腦、個人電腦、備份設備、安全機制與管理;軟體工具的成本考量,工具軟體、應用軟體、資料庫軟體、作業系統;維護管理的成本考量,訓練使用、維護費用、管理人員薪資、更新版本費用等等。透過計劃需求書(RFP Request for Proposal)提出所需系統的軟硬體資訊需求,具備有功能需求規格,評估程序與建議,各項軟硬體及廠商的介紹與說明。考量硬體的相容性、成本、可靠度、普遍性;軟體的適用性、成本、品質;廠商的經驗與規模、技術能力、人員素質、財務狀況、教育與訓練、服務滿意度等等。分析系統的顧問諮詢成本,期初建置成本,轉換成本,每期維護成本,後續發展成本,操作使用成本,教育訓練成本,初期評估成本等等。

實施(Implementation)

系統安裝與使用訓練
系統實施

1.系統環境安裝
 

2.使用手冊

 

(1)系統簡介
(2)軟硬體配備要求。
(3)功能特色說明。
(4)功能畫面使用指引與說明。
(5)常見應用範例說明。
(6)常見問題回答。


3.應用系統建置

 

循序式檔案(Sequential files)、索引循序式檔案(Index Sequential files)、直接存取式檔案(Random access files/Direct access files)和 分割式檔案(Partitioned files)。


4.系統上線轉換

 

(1)直接轉換(Direct Conversion)或稱一次轉換:直接使用新系統。
(2)平行轉換(Parallel Conversion):新舊系統並行一段時間後,再更換成新系統。
(3)模組轉換(Modular Conversion):依照模組間關係逐個模組進行替換成新系統。
(4)漸層轉換(Phase in):和模組轉換很像,但具有新舊轉換介面同時承接舊系統資訊,對新系統而言增加許多負擔,但對於使用者確可不間斷及變動舊有所有作業。

元件式軟體系統分析與設計
元件分析方式
物件導向系統分析設計方法是一套以重複使用為基礎的系統分析、設計及程式製作一氣呵成的方法。

物件導向技術的觀點來看,我們認為所要模塑的真實世界是由物件所組成的,真實世界的運作是由個物件成員之間的互動而成,因此先天上用這樣方法去模塑真實世界將比用結構化方法來的穩定,而且在與客戶交談時也比較容易得到客戶的認同,因為我們所談的是客戶心中的真實世界,而抽象的方式就功能面來探討模塑系統。

現今各式各樣的物件導向分析(OOA),目前較著名的方法理有Object Modeling、Technique、Booch Method、Function/Mellor Method及Use Case等等。這些方法除了Use Case以外,其他的方法大體上都是物件模型(Object Modeling)為主,再輔以動態模型(Dynamic Model)及功能模型。其中物件模型是用來述真實世界的靜態關係,所談的內容是物件.物件及物件之間的關係,如組成關係、繼丞關係或其他各式關係。

動態模型通常是描述系統動態行為,所談的內容通常先用腳本(Scenario)描述物作對外界刺激的反應及各物件之間的動關係,並用事件追蹤圖(Event Trace Diagram)追縱各個物件之間的動態行為,或用態圖描述單一物件對外界刺激的反應。功能模型則用功能觀點來看系統,與傳統的結構化方法的DFD相同。

分析階段描述系統要做什麼,設計階段考慮如何才能滿足客戶的需求。

第一階段是需求收集階段:我們利用使用個案進行需求蒐集工具。

第二階段是系統分析階段:依據第一階段的使用個案依據原則找出可能的類別,再用一套篩選原則找出適合的原則,利用物件圖進行系統的領域模型及應用程式塑模工作,以使用狀態圖來描素系統的動態行為。

第三階段是系統架構設計:考慮整個架構設計,如何分割系統,使用整體運作能夠顧慮到結構性、執行效率與擴充性等,此時可產出商業物件(Business Object)、應用程式物件與技術物件等。

第四階段為設計階段:考慮如何設計系統介面,如何將物件圖對應到資料庫上,如何設計所需的演算法,如何選用可再用的物件等等。

第五階段:可依據第一階段的使用個案進行程式測試個案製作。

第六階段:將使用個案的測試結果結合系統架構設計可以編製成使用手冊,符合再用的需求。

運用CASE工具UML(Unify Modeling Language),結合了Use Case,OMT和Booch Method三者的精華成為設計分析更好的方法。

使用元件再用模版之優點

提供多樣化的用戶端選擇,如Internet BUI(Browser User Interface)或是Windows GUI(Graphics User Interface)。可透過Internet由遠端使用系統,使用彈性度大,不受空間與時間限制;充份運用Internet降低連線成本;軟體元件同時提供ActiveX使系統執行於區域網路,與DCOM版本使系統執行於廣域網路;使用者可透過參數化的系統設定,讓系統容易維護、調整與使用;系統由元件組裝而成,易於與其他元件化系統整合;進行跨地域性的資訊整合,並且縮短資訊擷取時程,提昇企業競爭力;資料維護方式,簡單易維護;報表查詢方式,迅速易調整;業務交易方式,彈性易擴增。元件再用,軟體量產。

元件化應用系統架構

多層式元件化應用軟體開發平台 (eMAX Framework)建構
應用系統架構:為支援組織特定功能之資訊系統(OrgManager),而應用系統架構則為協助提供組織所需資訊之應用系統模式,他顯示了應用系統、資料與其相互關係,依據業務作業模式界定出組織未來電腦作業之功能與範圍,以作為設定系統發展優先順序之基礎。應分析現行資訊系統之功能與資料檔案,考慮應用系統架構的可行性,以免重複開發應用系統而浪費人力與物力。

應用系統建構要求:

1.系統是屬於多層式軟體架構(Muti-Tier),將軟體予以切割成展現層(View Layer)、網路層(Net Layer)、處理層(Control Layer)、分封層(Encapsulation Layer)與資料層(Data Layer)。

2.系統可運作於多層次(Muti-Tier)的硬體環境中,建置多形網路結構如:展示層、控制層、資料層透過區域網路連結。展示層透過網際網路與控制層、資料層連結。展示層、控制層透過網際網路與資料層連結。

3.系統可於網際網路(Internet)下運作。

4.系統是由軟體元件組裝而成。

5.系統是開放性架構(Open System)提供業務元件隨插即用,視窗圖形使用者介面(Graphic User Interface)與瀏覽器介面(Browser)。View Manager是視窗畫面的編輯器,它內建的元件綱要資訊(Meta Information)能力,可以讓所有產生的作業畫面在不經過編譯(Compile)的情形下,隨編即用。

6.Web Manager是網頁畫面編輯器,則是透過資料庫的資料綱要機制,以最快速的方式自動產生ASP、XML、XSL等檔案,讓網頁可以很容易的連結到應用邏輯層中的作業元件。

7.其支援多國、多點、多公司、多語言、多單位、多幣別及多網域、多伺服器等應用系統在架構面及使用面的複雜需求,同時也支援網際網路B2B、B2C電子商務交易、非同步資料更新遠端資料存取及工作流程(Work Flow)管理等應用面的延伸需求,而在客戶導向的e世代裡如何面對快速變遷的使用者需求,eMAX Framework提供了動態企業塑型(DEM Dynamic Enterprise Modeling)能力,讓使用者可以很容易的動態調整或產生報表、企業邏輯、操作畫面及程序,甚至可以完全不必透過軟體商廠,即完成客製化的目的。

3.3.2. eMAX Framework的驅動引擎:

eMAX Framework目前提供了三個可以同時並存的驅動引擎:
1. AcroFrame:
負責上述多層式元件化應用系統架構的建置及運作,應用系統的啟動程式是eMAX.exe。
2. AcroBrowser:
是一個可以從瀏覽器下載並自動安裝的元件,它取代了AcroFrame中的啟動程式eMAX.exe。使用者可以直接透過瀏覽器執行在AcroFrame中設計好的應用系統,無需再安裝任何其他客戶端程式。
3. AcroWorkFlow:
是一個工作流程引擎,包括Server Agent、Worklist Agent、Instance Agent,可以將AcroFrame中的應用作業如訂單作業循環、採購作業循環等由人工驅動改為流程驅動。由於是多層式元件化的應用系統架構,無需因為架設了工作流程引擎而重新設計應用程式。

領域分析

領域工程主要目的即在於可再用性,包含了軟體設計架構的再用、軟體發展流程的再用、文件的再用及領域知識的再用。

隨著軟體的應用與企業的經營越來越緊密,為了提身企業的競爭力,必須可即時反映政府的法規,提供市場的需求服務性,增加企業的安全性,提供即時的多樣化的分析,滿足企業集中式與多點多廠分散式的管理需求,彈性功能增加即最小變動達成功能的特性,隨插即用的技術成熟,以物件導向技術開發的軟體元件技術機制因此而生。

領域工程方法進行領域分析、制定領域架構規格、實做出領域元件、制定領域再用程序規格、維護及修正擴充領域元件。
物件導向設計(OOP)的目的其實就是將物件導向分析出來的物件與物件間的互動方式,用程式設計出來,最重要的是將物件的類別(Class)撰寫出來,然後將個體間互動方式利用物件及其方法撰寫出來,如此即可完成一個應用系統。

eMAX領域範圍包含企業資源規劃系統(eERP)、電子商店系統(eStore)、電子商城系統(eMall)以及電子聯盟系統(eAlliance)等。eERP的應用範圍包含配銷、生產、財務管理及企業決策等領域,其可滿足多組織企業內庫存、採購(包含進口)、銷售(包含出口)、生產、物料需求、產能規劃、財務、會計以及主管決策等管理領域的需求。eStore和eMall則為B2C最佳解決方案。至於eAlliance則可滿足企業B2B的需求。

依據業務需求進行可行性分析

1. 技術可行性(Technical Feasibility)
2. 經濟可行性(Economic Feasibility)
3. 推動可行性(Motivational Feasibility)
4. 時程可行性(Schedule Feasibility)
5. 操作可行性(Operation Feasibility)

應用分析項目

1. 回應時間
2. 危機時間(可容忍時間)
3. 使用率
4. 使用者數
5. 複雜度
6. 一致性

資料實體分析項目

1. 時效性
2. 分割性
3. 必要性
4. 變動性
5. 共用性
6. 安全性(AuthorityManager)

應用系統架構(Application Architecture)

為了讓元件得以在一定的規則下運作,特針對資訊管理系統三大應用範圍將元件運作架構加以定義:
(1)基本資料維護類:統歸一般性基本資料如員工,公司,部門等資料之基本資料之新增,刪除,修改,查詢,停用,復用功能均規於此類。系統可開發DM(DataMaintenance)元件統籌基本資料維護工作,其中搭配Table Manager及DataDictionaryManager元件工具負責掌握資料欄位,型態,欄寬與多語言控制;搭配TM(TransactionManager)元件負責將SQL指令執行於指定的資料庫。資料維護邏輯:

1. 取得資料欄位,型態,欄寬等綱要資訊。
2. 顯示編輯視窗。
3. 使用者由編輯視窗輸入資料,或以泛查輸入。
4. 系統檢視輸入資料。
5. 依作業動作取得SQL指令公式,並鎖定資料。
6. 結合SQL指令公式與輸入之資料取得完整SQL作業指令。
7. 執行SQL作業指令。

(2)業務交易類:統歸以填具單據進行資料庫異動交易者歸於此類。業務交易邏輯架構經分析後可得,交易單據單頭與單身之資料欄位,型態,欄寬。使用者輸入單據資料。.將輸入單據資料包裝成一單據參數封包。依作業動作取得相關子系統BSO元件。依事務交易代碼,呼叫相關BPE元件群,依序處理單據參數封包以完成事務交易。撰寫BPE訂定交易規則流程:

1.取得單據單頭與單身之資料欄位,型態,欄寬等綱要資料。
2.顯示編輯視窗。
3.使用者輸入單據資料。
4.系統檢視輸入單據資料。
5.依作業動作處理單據參數以完成業務交易。

(3)報表查詢類:統歸以查詢條件取得資料庫資料以進行資料瀏覽,報表列印或轉檔者均歸為此類。系統可開發QM(QueryManager)元件統籌資料查詢工作,其中搭配ReportManager元件工具進行報表查詢邏輯架構。設定報表查詢SQL:

1.取得查詢項目之查詢條件資料欄位,型態,欄寬等綱要資料。
2.使用者輸入查詢條件資料。
3.系統檢視查詢條件資料。
4.依查詢條件資料進行查詢。
5.取得查詢結果並顯示。

元件開發系統程序
以元件方式開發系統,其程序仍不跳脫需求分析,系統分析與系統設計三大步驟,只是多引用了物件導向系統分析設計中之循環漸進(Spiral)觀念,隨時修正分析設計結果,並以各式模版原則組裝元件以規範元件運作。

專案之推行,建議先以開發共通元件,再以領域元件與使用介面平行開發方式進行,較能獲得較佳之人力與時間成本掌控。關於專案的分工,會較以往容易。當元件規格與組裝模版底定,元件的開發與使用介面的開發便可分頭並行,視適當時間會合組裝成系統。

專案基本成員,建議以專案經理,系統分析師,元件設計師,使用界面設計師與資料庫管理師搭配進行。

需求分析

領域分析:

瞭解與熟悉所開發系統之應用範圍。

資料字典(DataDictionaryManager)專門用語建立:建立系統開發過程中之標準用詞,做為爾後系統開發與設計過程中之標準用語,此標準用語另可作為資料庫欄位,作業畫面之標準用詞語。

領域模型:

收集與瞭解領域資料。

記錄專門用語。

1.收集系統用詞。
2.統一用詞。
3.建立標準型別。
4.建立繼承字詞。
5.建立字詞,設定型別與繼承字詞。
6.建立字詞別名。

與使用者訪談,瞭解所開發系統與相關環境關聯。

繪製領域模型:

使用個案分析(Use Case)

收集與記錄使用者需求。根據使用者或客戶之需求描述,使用自然的語言來記錄使用者期望的狀況,進而瞭解與分析使用者的真正需求。

1.使用者訪談。
2.找出領域使用個案。
3.找出系統使用個案。
4.記錄領域使用個案。
5.記錄系統使用個案。
6.繪製使用個案圖。

作業畫面分析:

規範最終使用介面之作業畫面,以做為與使用者確認最終產出之依據。

1.依使用個案製作作業畫面初版。
2.與使用者訪談,搭配使用個案,修訂作業畫面。
3.與使用者確認作業畫面。

系統分析

資料庫分析(Database):
建立系統資料庫,儲存系統資料。產出資料庫關聯圖,資料庫,表格。

1.分析資料表格與資料表格關聯。
2.建立實體資料庫。
3.建立實體表格,定義欄位。
4.設定資料庫使用者,表格使用權限。

共通服務元件(CSO)分析:
找出系統會使用到的共通服務,並歸納出相關負責元件。產出共通服務元件清單,共通服務元件建構管理。

1.根據系統使用個案,找出共通服務需求。
2.根據共通服務需求,依現行架構找出共通服務元件。
3.擬出共通服務元件清單。
4.擬出共通服務元件建構管理。

業務元件分析(BSO Business Service Object,BPE Business Process Edit):
找出系統會使用到的業務服務,並歸納出相關負責元件。服務介面由業務服務元件(Business Service Component)負責, 服務項目由業務處理元件(Business Process Component)提供。產出業務元件清單,業務元件建構管理。

1.依作業畫面找出所有業務服務需求。
2.依子系統區分,定義業務服務元件(BSO)。
3.依業務服務需求定義業務處理元件(BPE)。
4.擬出業務元件清單。
5.擬出業務元件建構管理。

系統設計

共通服務元件(CSO Command Service Object)設計:
設計共通服務元件服務界面(interface),產出共通服務元件技術規格。

1.依需求設計共通服務元件服務界面。
2.撰寫共通服務元件技術規格。

業務元件(BSO,BPE)設計:
設計業務服務元件與業務處理元件服務界面(interface),產出業務服務元件技術規格,業務處理元件技術規格。

1.設計業務服務元件與業務處理元件元件服務界面。
2.撰寫業務服務元件與業務處理元件元件技術規格。

系統建置

共通函式建置:
規範共通函式建構所在,規定引用路徑,以進行撰寫共通函式程式讓所有程式引用。產出共通函式建置規範,共通函式使用手冊。

1.規定共通函式建構所在路徑。
2.規定引用原則與引用設定程序。
3.傳寫與發佈共通函式建置規範。
4.撰寫共通函式程式。
5.共通函式測試。
6.撰寫共通函式使用手冊。

共通服務元件(CSO)建置:
規範共通服務元件設計程序,命名原則以完成共通服務元件。產出共通服務元件發佈規範。根據共通服務元件清單,建置規範與設計規格進行建置,發佈共通服務元件。

業務元件(BSO,BPE) 建置:
規範業務服務元件與業務處理元件設計程序,命名原則以完成業務服務元件與業務處理元件。產出業務服務元件與業務處理元件發佈規範。根據業務服務元件與業務處理元件元件清單,建置規範與設計規格進行建置。發佈業務服務元件與業務處理元件元件。

定義業務作業(BPA-Business Process Action)是由那些業務處理元件(BPO- Business Process Object)的方法(Method)組合而成。自動產生編譯式業務處理元件的主體程式碼,並支援直接於作業編輯器上用不同語言撰寫解譯式業務處理元件程式碼。

協力廠商元件安裝(3rd Party Component):
規範管理所有外購元件,讓系統所有程式引用。產出外購元件安裝規定,外購元件之合法使用文件,規定外購元件建構路徑,規定外購元件安裝引用程序,保存外購元件合法使用文件。

主畫面模版建置(System Manager & View Manager):
規範系統主畫面功能佈置與子視窗啟動原則,以做為程式設計人員依循。主畫面模版技術指引,決定主畫面運作模式,決定主畫面畫面佈置,決定子視窗啟動方式,使用共通服務元件開發模版視窗與程式叢集,撰寫主畫面模版技術指引。

GUI模版建置:
規範系統內所有基本資料之操作模式,所有交易操作模式,以做為程式設計人員依循。產出基本資料維護作業模版技術指引,分析基本資料維護作業共通性質,使用共通服務元件開發模版視窗與程式叢集,撰寫基本資料維護作業模版技術指引。業務交易作業模版技術指引,分析業務交易作業共通性質,使用共通服務元件開發模版視窗與程式叢集,撰寫業務交易作業模版技術指引。

WEB模版建置:
規範系統內網頁之操作模式,透過Web Manager是做網頁畫面編輯器,透過資料庫的資料綱要機制,自動產生ASP、XML、XSL等檔案。

報表查詢作業模版建置:
規範系統內所有查詢操作模式,以做為程式設計人員依循。產出查詢作業模版技術指引,分析查詢作業共通性質,使用共通服務元件開發模版視窗與程式叢集,撰寫查詢作業模版技術指引。

其他作業模版建置:
視應用系統需要,規範系統內所需作業之操作模式,以做為程式設計人員依循。產出其他作業模版技術指引,分析其他作業共通性質,使用共通服務元件開發模版視窗與程式叢集,撰寫其他作業模版技術指引。

系統分發
將建置完成的系統,分發至使用者執行。

安裝程式:將所需分發的檔案包裝成安裝程式。

1.測試資料庫是否連通
2.設定系統參數Registry
3.安裝軟體元件
4.安裝系統主程式

使用手冊:

1. 系統簡介
2. 軟硬體配備要求。
3. 功能特色說明。
4. 功能畫面使用指引與說明。
5. 常見應用範例說明。
6. 常見問題回答。
(資料來源:取材於http://www.dotspace.idv.tw/sofeeng/sofeeng_6.htm安德華科技股份有限公司技術長陳器中)

                    http://sunchaoyi.xxking.com/ 電子豬腦


軟體發展之作業程序
(資料來源:取材於 http://www.gss.com.tw/eis/19/any.htm作者:楊清萍 【叡揚資訊金融資訊服務部經理】
前置作業 由各機構業務人員合作參與之各項準備工作,而業務性質分為共通性業務系統: 由本中心邀集各館(所)資深且具專業經驗之業務人員成立電腦化專案小組,訂定系統需求書。其所從事之工作內容為: 訂定業務電腦化的需求範圍。 現行作業程序及表單、表格之搜集。 制定業務電腦化的統一表單、表格與作業程序。 提供業務電腦化所需之行政業務的專業知識,以期與資訊專業人員配合。 專門性業務系統: 由本中心軟體專業人員與該單位富經驗之業務人員洽談、協商、訂定系統需求書,及原始表單。、表格之蒐集。 系統分析 本階段主要是在確定系統之目標、範圍和需求,再依據系統需求,發展出系統在軟體、硬體及人工作業三方面之規格。本階段主要工作包括分析現行系統、確定 業務需求、擬訂輸出入表單規格、確定資料流量及使用、製作資料流程圖(dfd)、系統架構圖(sfd) 及資料字典(dd),並填具系統開發傳票,展開下一階段作業 系統設計 本階段係將上一階段所訂定的各種規格,考慮將來處在實際環境下運作的情況,一步一步地設計其細部標準。其主要工作有實體資料庫之設計(file layont) 、輸出入螢幕格式之設計(I/O screen layont)、 輸出表格之設計(output report layont)、 製作資料與檔案關係表、及程式細部流程之設計(program spec.)。 程式撰寫 本階段根據系統設計所訂定之規格編寫程式,並完成除錯與模組測試,使每一程式均能執行無誤。本階段工作完成後將產生程式清單及印製程式原始碼等文件。   系統測試 此階段是對上一階段所撰寫之程式,作功能測試與整合測試,其主要工作為準備測試資料,進行各種測試,檢討並修改不合要求之部份,以求系統確實符合原訂 標準。 平行作業 在確定系統能夠運作無誤後,必須再經過一段人工與電腦平行作業的期間,此一階段將對業務人員進行系統操作訓練,使其逐漸熟悉電腦作業情形,並可測試系 統在處理實際業務時,是否有疏漏不周之處。此階段並將整理系統文件與操作手冊,以備系統正式移交時供操作人員參考。 正式移轉(驗收) 此階段乃將完成之系統正式移交業務單位使用,協助其展開獨立作業。本階段將填具系統開發完結單,並由本中心系統管制人員填具開發成果評估報告表。


資料流程圖 ( DFD )、實體關係圖 ( ERD )、資料字典 ( DD)、模組結構圖 ( SC )、
狀態 轉換圖 ( STD )

系統分析的模式必須達成三個主要的目標:
(1)描述使用者的需求。
(2)建立基本的軟體設計環境。
(3)定義軟體設計完成後驗證需求的方法。


結構化分析模式

資料字典
位於圖一的核心-存放所有輸入及輸出資料物件的敘述。圍繞於圖一核心的三種圖表其中的實體關係圖(Entity-Relationship Diagram,ERD),為描述資料物件之間的關係。ERD同時也用來表示資料模組之間的運作方式。資料物件敘述(Data Object Description)說明ERD中資料物件的屬性。

資料流程圖(Data Flow Diagram,DFD)主要有二種目的:
 (1)顯示資料在系統中的流向,(2)描述處理資料流程的功能項目。DFD在資訊範圍的分析過程中可提供附加資訊並可將其當做是基本的功能模式。在DFD中每一個功能的敘述是在功能規格(Process Specification,PSPEC)中完成。

狀態轉換圖(State Transition Diagram,STD)
顯示系統對外部事件作何種反應。為此,STD顯示系統不同的行為狀態及狀態與狀態間轉換的不同方式。也可把STD當做是基本的行為模式。控制規格(Control Specification,CSPEC)則包括軟體控制觀點的其他相關資訊。這些模式分析的產出最終的目的在於讓需求分析的結果愈趨近於可被建置的系統。

需求規格的產生:
系統分析師將需求以一種能被成功建置的方式展現給系統開發人員及使用者,透過需求規格的產生,將系統分析師對使用者需求的認知轉化成可閱讀及可被了解的文件,作為雙方對談及後續開發的基礎,需求規格的可讀性與系統分析師的文件表達能力有強烈的正相關。

基本的需求規格架構涵蓋:

需求規格的審查:
應由系統分析師及使用者一起進行需求規格的審查,從宏觀及微觀的角度來檢視規格書的內容。從宏觀的角度應確認規格的完整性,一致性及正確性。從微觀的角度應審視規格書中的用字遣詞,是否有尚未發現的潛在問題存在。一旦審查完成,規格書即被雙方簽名確認,雖不排除在規格被確認後仍有需求變更的可能,但須讓使用者了解,每一需求的變更形同軟體範圍的擴張且將導致專案時程的延長及成本的增加,其所帶來的影響是難以預估的。在需求規格確認後,系統開發人員則依據此規格書進行後續系統設計的工作。

(資料來源:取材於 http://www.gss.com.tw/eis/19/any.htm作者:楊清萍 叡揚資訊金融資訊服務部經理

http://sunchaoyi.xxking.com/ 電子豬腦