人數

2010年7月2日 星期五

系統分析設計王堯天第15章系統分析設計軟體專案應用


15 系統分析與設計在軟體專案之應用

1.何謂「專案」?
【參考答案】:
所謂「專案」(Project)是指:「一項在預定的時間內投入預定的資源,以達到特定目標的工作。」因此,專案是針對某一個特定任務需求成立一個專案小組編列預算從事於該專案之執行工作。一般而言,專案具有下列特性:
(一)每一項專案皆有其特定任務或目標,具有獨立性運作與完整性之控制權力。
(二)每一項專案皆有其生命週期,有開始的時間,也有結束的時間。
(三)專案的執行工作通常要跨部門或跨組織,因此,溝通或協調的活動是相當重要的核心議題。
(四)由於專案的執行過程充滿不確定性因素,因此每一項專案皆要面對風險的問題。
(五)專案結束以後專案成員必須解散或成立一個新的部門承接專案人員。
2.請問軟體專案的特性爲何
【參考答案】:
茲將軟體專案的基本特性敘述如下﹕
(1)         技術密集的工作¾專案開發工作者在進行軟體開發過程中,需要引進適合的軟體工程技術、方法論與軟體工具。
(2)         從事於技術創新的工作¾軟體專案的開發工作是 從無到有的過程,專案開發的工作產出物是一種智慧型資本,專案成員的創新活動需要外在環境的支援與執行過程之一些配套措施。因此,採用激勵手段是有助於專案人員的技術創新。
(3)         以團隊合作方式進行專案的開發活動¾由擁有不同專長之專案團隊人員進行軟體專案之開發工作。
(4)         軟體專案必須面對快速之需求變動性的問題¾專案進行過程中,使用者需求不斷的改變,對專案的開發工作產生一股相當大的壓力。
(5)         嚴格要求的軟體品質¾品質是軟體的生命」而軟體品質主要是取決於設計者的品質意識與開發過程的品質控管,唯有嚴格執行軟體品質保證程序,才能確保客戶要求之軟體品質水準之達成。

3.請說明軟體專案開發程序與工作項目。
【參考答案】:
茲將軟體專案開發的七個階段的工作項目敘述如下(圖一)﹕
(一)提出專案需求
專案的需求主要是使用單位的業務需求,少數的專案需求是來自於資訊部門的內部工作需求。因此,使用單位的主管與作業人員共同參予專案的需求規劃是一件相當重要的工作,專案需求如果涉及專業技術或尖端科技的特性,必要時得聘請外界的專家從事於整體專案的諮詢與輔導。至於專案目標的設定須把握具體化、量化、可行性與實用性的原則。
(二)成立專案小組
在專案的推動過程中,遴選適當的專案小組成員攸關一個專案能否能夠成功。因此,負責的專案經理在遴選專案人員的過程中,必須特別用心挑選一些適合的專案成員。一般遴選專案成員宜保持公開化、透明化與公平的原則,專案小組成員最好是成員來源多樣化與專長彼此互補為佳。原則上,挑選人員時以具有發展潛力的人員列為第一優先考慮,品德重於專業,責任心大於工作能力的表現。
(三)專案規劃
一般而言,專案規劃時,須考慮專案的重點需求、基礎建設、團隊的運作機制與專案人員之教育訓練工作等。基本上,專案規劃的重點為時程、成本、人力、技術與作業程序。專案規劃的工作建議由專案規劃小組成員來負責,不僅可以發揮腦力激盪的效果而且可以增加專案小組成員之間的共識程度,對於專案的推動工作是有相當大的助益。通常專案規劃工作主要的依據是專案目標與資源的配置,制定每一個階段的工作目標、作業項目、參予者與預計完成的工作項目等,專案計畫書(Project Plan)是實施專案規劃工作的主要成果,它是未來推動專案業務的一個藍圖。
(四)專案執行
專案的執行大部分是建立在制度化的實施過程,通常一個完整的系統開發流程包括方法論、程序、標準作業程序與文件等。專案的工作執行宜採分工授權方式,由擁有不同專長的專案小組成員來執行,才能發揮專案開發團隊的綜效。專案執行期間必須定期追蹤與控制進度、成本與品質,才能確保專案能夠達到預期目標。根據一些調查資料顯示,專案最大的挑戰不是 技術而是 人員的問題,因此,應特別注意人力資源的運用問題。在專案團隊的運作過程中,溝通、衝突的化解、激勵措施等皆是不可忽視的問題。專案的執行紀錄對專案而言,是一種非常重要的資訊,專案發生的任何重要問題與解決過程,一定要列入紀錄作為專案檢討與改進之重要參考依據。如果專案執行順利,專案小組成員可以累積許多寶貴的實務經驗,增加執行專案的能力與自信心。
(五)系統導入
系統導入主要是在業務部門進行資訊系統之導入工作,主要的工作項目包括系統轉換、教育訓練與軟體、硬體與網路系統的安裝作業。對一個專案而言,系統導入有賴於業務部門與專案小組雙方的支援與合作。因此,事前的準備是一件相當重要的工作。一般做法是以先導性業務做為優先實施的對象,可以降低失敗的風險而且可以從中學習導入新的作業流程的方法。總之,積極爭取使用單位的支持,ㄧ定可以使系統導入的工作更為順利。
(六)平行作業
平行作業是指新開發的資訊系統與舊系統同時平行作業一段期間,主要目的是測試新系統是否可以正常的運作,新系統是否達到預期的功能,或是新的資訊系統是否可以完全取代舊系統等。原則上,平均的平行作業期間是三至六個月較為適當。
(七)正式作業
此階段的工作是將新的資訊系統正式導入使用部門,維持新的資訊系統與例行性作業的正常運轉,後續的作業有系統的改良與新系統之重新設計等。當一個專案結束時,應特別留意下列事項﹕1安排專案人員的出路,(2)專案結束的收尾工作,(3)整理系統開發的文件與工作日誌,(4)尋找另一個執行新專案的機會,與(5)檢討專案的績效與執行過程之缺失等。

 
4.請說明軟體專案管理的工作內容。
【參考答案】:
對於任何軟體專案而言,主要工作項目包括:時程、成本、技術、資訊、作業程序、軟體工具、人力與品質等(圖二)。事實上,人力資源是專案最重要的一項資源,主要工作包括專案小組成員的遴選、人員的進用、教育訓練、生涯規劃、輪調、激勵、獎金發放、領導、協調、團隊合作與分工、溝通與協同合作等。一般而言,決定時程的主要考慮因素包括客戶的需求、產能、工作負荷、緊急訂單插入與工作優先次序的安排等。
一般交期控制的實施原則是採取寬鬆估計、合理控制與彈性調配,為了確保如期交貨,在進度方面的控制是一件相當重要的工作,定期進度控制、趕工與外包皆是一些常用的手法。對軟體成本估計而言,它是一項十分複雜的作業,過去的歷史資料與演算法皆是相當重要的資料來源,成本估計方法有專家判斷法、類比法、參數模式法(e.g., COCOMO 2.0, 功能點分析法, etc.)等,主要的成本控制方法可以採用差異分析法與產值分析法。至於技術方面有軟體開發技術包括規劃、分析、設計與測試等。
其次,專案的重要資訊包括進度、成本、品質與生產力方面的資訊。一般而言,專案相關資訊對於專案的決策是一項十分重要的依據,為了保留最新的專案資訊,有必要建立一套Web-based資訊系統來更新專案資料庫。目前,網際網路的應用普及化以後,專案的資訊正確性與即時性已經有顯著提升。企業流程是任何組織運作的基礎,如何將企業流程合理化乃是專案執行階段以前的工作重點,而企業流程分析與重新設計是解決企業流程問題的重要手段之一。企業的流程不順暢時,可以採取以下兩種作法:流程改善是一種漸進式手段,另一種是採取企業流程再造的作法,它是採取激烈手段針對流程作革命性的改革。

圖二:軟體專案管理的工作內容

5.請說明系統分析與設計的主要五個活動。
【參考答案】:
一般而言,資訊系統的開發過程須經過需求、分析、設計、程式設計與測試等階段,亦就是系統分析與設計的五個主要活動(圖三)。上述五項活動彼此是相關的,例如需求是分析的主要資料來源,分析是設計的主要依據,餘此類推,各階段的主要成果是原始碼或文件。在解決問題方面,系統分析師主要是扮演專案規劃者、資源整合者、溝通協調者與專案推動的執行者等多重的角色。換言之,系統分析師從傳統的技術工作者的角色,轉變至一位資源的規劃與整合者、工作的協調者與衝突化解者角色,因此,溝通與協調的重要性將超過軟體技術的專業能力,此一發展趨勢應特別留意。茲將系統分析與設計的主要五個活動說明如下:
(一)定義需求¾界定範圍與主題,蒐集使用者需求資訊,明確定義使用者需求。
(二)分析¾分析資訊系統在功能、流程、資料、介面控制等需求,建立相關模式作為設計的依據,同時,進行可行性分析工作。
(三)設計¾設計資訊系統的整體架構包括硬體架構、軟體架構與網路架構、資料庫、處理程序、介面、控制等。
(四)實作¾進行程式與程式文件的撰寫工作以及系統的建立工作。
(五)測試¾進行單元、模組、系統與驗收測試工作。









圖三:系統分析與設計的主要五個活動


6.請說明系統分析與設計和軟體專案之間的關係。
【參考答案】:
圖四是系統分析與設計和軟體專案之關係,以專案的觀點而言,它包括制定專案的目標例如功能、品質、交期與成本等,在專案進行過程中的主要工作項目有專案規劃(e.g., 時程、成本、人力、作業程序, etc.)、選擇開發模式、軟體開發技術、方法論、人員的工作分派、需求分析、設計、實作、測試與導入等。另一方面,從系統分析的觀點,主要是提供專案的整體解決方案的構想、設計理念、方法論、解決問題程序、軟體工具與文件等多項技能。在專案進行過程中,系統分析工作人員經常使用簡單化、標準化與系統化的手段來解決問題。其中簡單化是指採用簡單的方法來解決問題;標準化是指利用標準化的作業程序、工具與文件;系統化是指利用系統化的方法建立系統架構與模式作為設計的藍圖。因此,專案與系統分析彼此是互為供需的關係,缺一不可。換言之,一個專案若不利用系統分析方法來解決專案的諸多問題,專案績效將達不到預期的水準。反之,如果專案的需求模糊不清楚,系統分析與設計的應用成效也將受到相當程度的限制。總之,系統分析與專案的需求必須互相配合,才能達到一流的專案績效。

圖四:系統分析與設計和軟體專案的關係

7.請列舉一些專案管理的軟體工具。
【參考答案】:
表一是一般常用的專案管理軟體工具之彙總表。

表一:專案管理軟體工具之彙總表
專案應用類型
主要用途
代表型軟體工具
排程與時程規劃
l   專案的時程規劃
l   專案的排程
l   專案預計交期的預測
l   緊急訂單插入產生新排程資料
l   產生PERT資料
n   Micosoft公司之 Project
n   Primavera P3
n   CA-SuperProject
n   OPENPLAN
n   Prochain
n   Project Scheduler
n   Sure Trak  Project Manager
n   Time Line
n   Open Workbench
成本分析與決策
l   專案成本的估計
l   專案成本的分析
l   專案成本模擬決策分析
n   Micosoft公司之 Project
n   Primavera P3
n   Open Workbench
n   Micosoft公司之 Project
n   Ai PC 成本分析專案 1.0
n   Expert Choice專家決策分析軟體
n   Open Workbench
n   RiskyProject Professional
n   Capital Project Control Software – Project4000
模擬
l   專案進度動態模擬分析
l   專案人力配置模擬分析
l   新專案成本模擬分析
l   緊急訂單插入模擬分析
n   Micosoft公司之 Project
n   Vensim
n   Primavera P3
n   OPENPLAN
n   Open Workbench
監控
l   專案進度監控
l   產生專案進度與計畫差異分析
n   Micosoft公司之 Project
n   OPENPLAN
n   Primavera P3
n   Project Scheduler
n   Prochain
n   Sure Trak  Project
n   Ganttproject
n   Manager
n   Openproj
n   SharedPlan Personal Edition 1.4.3
n   Timeless Time & Expense Multi-User 2.0.17
n   AQdevTeam
分析
l   成本與進度交叉分析
l   產值分析
n   OPENPLAN
n   Primavera P3
n   Sure Trak  Project Manager
繪圖
l   製作分析模型
l   製作設計模型
l   製作系統架構圖形
n   Visio
n   Primavera P3
n   DIA
n   億圖圖示專家 (EDraw Max)
n   StarUML
n   Enterprise Architect for UML 2.1 7.1
測試
l             功能測試
l             負載測試
l             系統測試
n   Vensim
n   IBM Rational Robot
文件
l   專案計畫書
l   需求規格書
l   分析規格書
l   設計規格書
l   程式規格書
l   測試規格書
n   Sure Trak  Project
Manager
n   OpemKm
n   WordFusion
n   dotProject
n   DocUment 1.03
n   Project Track Collaborative Edition 2007.5.0.180  
整合型CASE工具
l   規劃、分析、設計、文件產生、測試、分析、型態管理與繪圖等多功能的軟體工具
n   Primavera P3
n   Sure Trak  Project Manager
n   Primavera Contract Manager
n   Open Workbench
測試軟體
l   測試軟體專案軟體
n   AutomatedQA AQTime V5.20.273 軟體專案測試工具 英文版
n   Web Capacity Analysis Tool [Free]
n   Web App Stress tool (WAS)
n   Application Center Test
n   Performance Tester
n   LoadTester
n   Webserver Stress Tool 7
n   LoadRunner
n   QALoad
n   SilkPerformer


8.請問系統分析工作面臨的挑戰爲何? 因應上述挑戰的對策爲何?
【參考答案】:
預期系統分析工作面臨的挑戰有以下三個方面﹕(圖五)
(一)   外在環境方面
茲將外在環境方面的挑戰說明如下﹕
1)資訊科技的進步與應用普及化¾軟體與硬體的技術不斷的提升,資訊科技的應用趨於普及化,多媒體技術、資料庫與動畫的技術對於生活與工作的影響,人類對資訊科技的倚賴程度將不斷的增加。
2)快速變動的市場環境¾國際化的壓力增加、產品生命週期大幅度的縮短,市場的競爭將更為激烈。
3)電子商務的興起¾購物網站的交易活動取代傳統的銷售方式,電子支票或電子錢包貨幣的流通將逐漸增加。
4)重視社會倫理的觀念¾智慧財產權將受到重視,法律條文將嚴格規範抄襲與仿冒的懲罰。
5)國際環境的因素的影響¾全球暖化對生態環境的衝擊、國際能源價格的波動、戰爭的威脅等,對於人類生態的整體環境產生相當大的影響。






圖五:系統分析工作面臨的挑戰

(二)   專案開發方面
茲將軟體專案開發方面的挑戰說明如下﹕
1)大型化專案的需求¾由於一個大型化專案參與的人數眾多、工作複雜度高、專案開發時程較長、人際溝通網絡趨於複雜化以及系統整合工作均是相當大的挑戰。
2)多項專案同時執行¾同時執行多項專案一定會增加資源分配的困難度與複雜度,因此,如何制定專案執行的優先順序是執行多項專案管理的ㄧ個重要課題。
3)重視軟體的品質¾實施軟體品質保證程序、增加技術密集度與軟體開發工作需要具備多元專業領域的知識。
4)分散式專案的興起¾未來許多專案的執行地點可能分散在不同國家或地區,增加專案管理的複雜度。一個跨國的專案必須解決的問題包括政治、財務風險、文化、技術與專案人員的價值觀之差異等。
5)虛擬團隊的運作¾專案開發活動不再是侷限在某一個地區執行,取而代之是虛擬團隊利用網際網路進行專案的開發活動。
(三)   系統分析工作方面
茲將系統分析工作方面的挑戰說明如下﹕
1)學習新的軟體開發技術¾由於專案開發技術的深度與廣度大幅度增加,物件導向的開發技術的應用將更為普及化,系統分析師必須不斷的學習最新軟體開發技術,才能擁有開發大型專案的能力。
2)電腦輔助設計工程工具的應用¾利用電腦輔助設計工程工具(CASE Tool)從事於資訊系統的開發活動,可以大幅度提升軟體開發工作的品質與生產力。
3)從事於系統開發工作須要具備專業領域的知識¾資訊系統的開發工作須具備一些專業領域知識,例如投資理財、醫療、…..等。
4)人際關係網絡的重要性增加¾近年來,使用部門參予以及專案團隊之間合作有不斷增加的趨勢,專案團隊成員與使用單位的人際關係網絡的建立是一件相當重要的工作。
5)工作壓力與健康管理¾由於超時的工作與沉重的工作壓力造成系統分析師健康狀況的嚴重威脅,此一方面的問題值得重視與關心。

9.請從個人涵養、工作、學習與人際關係四個方面,說明系統分析師如何因應未來的工作挑戰。
【參考答案】:
針對以上外在環境、專案開發與系統分析工作的挑戰,系統分析師如何因應的對策,茲提出以下的建議事項﹕
(一)           個人涵養方面
前瞻性視野是成為一流系統分析師不可欠缺的條件。前瞻性視野可以指引系統分析師工作目標的選擇、調整未來努力的重點與方向,對於資源的分配與資源投入是有極大的影響。一般而言,敏銳的觀察力不僅可以掌握事實的重點與問題的核心,對於問題的解決是相當重要的一項決策資訊,而情緒管理與學會如何欣賞,對於創造力的提升是有相當程度的助益,平常多關心自己的健康狀況,養成運動的好習慣與嚴格控制飲食對於健康是有幫助的,如何培養對工作的自信心與正確的判斷是相當的。
(二)           工作方面
在工作方面應具備專業技術、工作能力與正確的工作態度,秉持良好的工作態度,主動積極不畏向困難的工作挑戰。例行性的作業須建立一套標準化作業程序與健全的管理制度,有效的運用目標管理來掌控作業進度,確實做好個人的時間管理與保持一流的工作效率,勤於與開發團隊人員進行充分的溝通,掌握圓融的人際關係,做任何事不怕失敗的勇氣,不斷進行檢討與改進,做任何事情一定要秉持「用心、專心與決心」才能成為一位頂尖的系統分析師。
(三)           學習方面
學習是成為一流系統分析師進步與成長之主要動力,學習只有正確原則與方法,沒有捷徑可言,同時,學習是一條永無止境的路。系統分析師平時就要養成主動尋找資訊的好習慣,過濾資訊與保留有用的資訊才能避免時間的浪費。針對「主題」進行深度的思考對於學習是一種相當有效的方法,平日即培養主動思考的習慣,可以有效的提升個人的創造力。在學習過程中,勤做筆記有許多優點,掌握學習的重點與提升創造力,同時,筆記也是累積工作方面的經驗與智慧的一項利器。語云:「做中學(Learning by Doing)」,一語道出有效學習的秘訣,不斷的進行實作演練是成為一位專家的捷徑。
(四)           人際關係網絡方面
人際關係乃是事業成功的ㄧ個重要基石,唯有建立良好的人際關係才能使工作順利進行。人際關係的建立是點點滴滴的工作,在平日工作當中,系統分析師與使用者進行溝通或交談的過程,就是建立人際關係網絡的最佳時刻。因此,對於使用者的重視、關心與取得使用者的信任就是做好人際關係的一項秘訣。在工作過程中難免會發生一些衝突,此時,系統分析師就要根據專業技術與實務方面的經驗,運用幽默的技巧與智慧來解決彼此間的紛爭,俗云:「善意的建言勝過消極的逃避。」因此,在溝通過程如果能夠站在對方的立場思考,相信一定可以使人際關係做得更好與更為圓融,達到互助、互惠與雙贏的局面。

沒有留言: