2009年10月8日

Parallel Development - 並行開發法


定義:

針對可縮短專案時間而被設計出來的一個方法
系統必須可以分成相互獨立的子系統
要先做整體設計,才不會忽略大架構的設計
最後要做整體的程式設計來完成系統
三個 Subproject 的關連不大(是細項設計)

優點:

1. Parallel development reduces the time required to deliver a system
能較快完成系統

2. Changes in the business environment are less likely to produce the need for rework
當企業環境改變時,比較不需要整個系統重做
因為允許回溯,分組(子系統)

缺點:

1. The approach still suffers from problems caused by voluminous deliverables
有大量文件產生(做文件要花時間)

2. If the subproject are not completely independent, design decisions in one subproject may affect another, and the project end, integrating the subprojects may be quite challenging
當子系統沒有完全獨立時,整合系統時會發生問題


Waterfall Development - 瀑布式開發法


定義:

一個階段完成才進行下個階段,循序漸進,基本上不太允許回溯,除非有嚴重問題,才會回溯到上一個階段做處理

優點:

1. Identifying requirements long before programming begins
會花較長時間找出需求

2. Limiting changes to the requirements as the project proceeds
當專案進行時,會限制需求的改變(因為限制回溯,而不太會改來改去)


缺點:

1. Disadvantages are that the design must be completely specified before programming  begins
分析階段到系統程式完成,花太長時間

2. Testing is treated almost as an afterthought in the implementation phase
測試對程式設計階段來說,好像是添加的(測試不周全)

3. If the project team misses an important  requirement, expensive post-implementation programming may be needed
若分析階段缺乏了重要需求,則必須花費高昂的後-程式設計階段才行

Project Methodology Options 概觀

(1) Waterfall-Base - 瀑布式

        1. Waterfall Development - 瀑布式開發法
        2. Parallel Development - 並行開發法
        3. V-Model - 軟體測試管理模型

(2) Rapid Application Development (RAD) - 快速應用開發法

為了解決 Waterfall Development 的缺點:從分析到系統完成花費過多的時間而產生的
包含特殊技巧,以及電腦輔助工具,加速系統分析,設計,程式設計階段的進行

        1. Iterative Development - 反覆式開發法
        2. System Prototyping - 雛形法
        3. Throwaway Prototyping - 丟棄雛形法

(3) Agile Development - 敏捷開發法

      以程式設計師主,適用小的系統開發,開發速度外,耗時短

        Extreme Programing (XP) - 終極程式



Project Selection

(1) Size - 專案大小(人數)

有多少人要一起在專案工作
從專案經理、系統分析師、etc...[不包括使用者]

(2) Cost - 成本

總共會花費多少錢在案子裡

(3) Purpose - 目的

改進 or 支援公司策略 or 引進新科技 or etc...

(4) Length - 長短(時間)

要花費多長的時間來做案子

(5) Risk 風險

(6) Scope - 範圍

牽扯到組織多少的部門的問題

(7) Economic Value - 價值

*(1)~(7)彼此之間是相關的(取平衡)





2009年10月4日

Bump into

淡淡的

什麼都在改變

雖然嘴巴不說

我也是個“人”

我也有感覺的

只是想要傻傻的當作什麼都沒有發生

卻很「困難」

接受一件事情

很簡單

打從心底去認同

卻很不簡單


進行式

默默的改變成自己理想的樣子

被動式

逐漸遠離自己關愛的東西



越來越理智

越來越無所謂

你說的對

也許這樣下去

到了30歲

人生就沒有意義了

因為都

無所謂了


這場打了一年多的仗

理智打贏了

於是

選擇了一個方向

也只能往前走了


無法否認

衝擊過後

總會有些不一樣

只是

我也不知道是哪裡不一樣了

因為他來的太快

一舜間

我都不知道

什麼樣的習慣

是我原來的習慣

2009年10月1日

Cost - Benefit Analysis - 成本-效益分析圖


投資報酬率的算法:

(總利益 - 總成本) / 總成本 = 投資報酬率

338,670 / 2,400,638 = 14.1% (Ans) 

達到損益兩平點所需時間算法:

淨現金流變成正值的那一年為基準
前一年的淨現金流 / 當年的(總利益 - 總成本):

 195,479 / 534,149 = 0.37

最後加上 當年的年度 - 系統上線的年度 :  

2013 - 2010 = 3

0.37 + 3 = 3.37 (Ans)





Feasibility Analysis - 可行性分析

定義:

決定資訊系統專案是否繼續進行。
找出可能的風險。
 Feasibility Study - 可行性研究報告書

(1) 技術可行性分析

有沒有能力去做,做此資訊系統的風險高不高

Users and analysis should be familiar with the application - 對軟體的熟悉度
Familiarity with the technology - 對技術的熟悉度(網路、硬體、etc...)
Project size - 專案大小(人員多寡)
Compatibility of the new system with the technology that already exists - 對於新系統所需要的技術 是否商業化(相容性)


(2) 經濟可行性分析

Cost-benefit analysis - 成本-效益分析
分析系統所耗費的成本與系統所帶來的效益做比較。
[1] Identify Cost and Benefit - 找出專案成本與效益
Development Costs - 發展成本(資訊系統從無到有所花費的總成本)
Operational Costs - 操作成本(系統安裝上線後所需要花費的成本[維護])
Tangible Benefit - 具體效益(節省的成本、多賺的收入)
Intangibles Benefit - 非具體效益(Ex:商譽、企業形象[名聲上升、知名度上升所得到的好處很難用錢衡量])
[2] Assign Values to Costs and Benefits - 把成本與效益用錢的價值來表示
[3] Determine Cash Flow - 決定現金流
[4] Determine Return on Investment - 決定投資報酬率(ROI)
[5] Determine Break-Even Point - 決定損益兩平點(沒賺沒賠)
  • 從系統上線開始算
[6] Determine Net Pressent Value - 決定淨現值

(3) 組織可行性分析

用來審查系統能不能被使用者接受
系統新舊能否無縫接軌

Strategic Alignment - 策略調準


Stakeholder Analysis - 利害關係人分析
Champion - 擁護者(高階主管[決定是否繼續進行])
Organizational Mamgement - 管理階層
System User  - 系統使用者