CMMI-DEV簡介
CMMI-DEV是基於CMMI發展出來的開發專用規範指引,以下將分別介紹何謂CMMI、CMMI的目的,一直談到CMMI-DEV有哪些成熟度等級等等。
CMMI 指的是能力成熟度整合模式(Capability Maturity Model Integration : CMMI),是美國國防部委託卡內基美隆大學軟體工程學院
(Software Engineer Institute : SEI)所發展的,目前有以下版本問市
v1.1: 2002年問世,為CMMI的第一個版本
v1.2: 2006年問世
v1.3: 2010年問世,為最後一版免費版本,並包含DEV/SVC/ACQ等三個版本
v2.0: 2018年問世,但開始要收費了,所以我也拿不到相關細節,也因此大家大都還是以v1.3為主要參考內容
CMMI分為三個分部
CMMI-DEV: 軟體開發指引
CMMI-SVC: 服務提供引
CMMI-ACQ: 採購指引
大家主要說的CMMI還是以CMMI-DEV為主,以下也以CMMI-DEV v1.3為主要介紹內容,參考文件則為資策會翻譯的CMMI-DEV v1.3中文版,英文版的CMMI-DEV v1.3下載網頁在 https://resources.sei.cmu.edu/library/asset-view.cfm?assetID=9661 ,中文版則可以由 http://www.tisa.org.tw/uploads/file/CMMI-DEV_1-3_-Chinese-v7.pdf...
軟體開發評估流程簡介
首先,軟體開發評估流程有兩種,一種是產品,一種是客製化。
產品是比較容易預估人力的,而且都是天價人天,但這邊說的容易只是一個比較值,還是有難度的,但變數跟客製化比起來會少上許多,主要的評估流程如下
可能有人會有不同想法,但應該不會有太大的差異才對,這裡面的重點包括
產品定義的確認
團隊的確認,包括開發與測試
時程的確認
行銷的確認
這裡面最重要的有人可能認為是開發團隊的成本評估,但這裡面要強調開發、測試與行銷的平衡,不應該只注重在開發的成本評估,畢竟這是個產品,所有人都會期待他不需要客製化就可以快速上線,而且品質穩定。
接下來是本文的重點─客製化成本,客製化成本評估流程可以參考下圖
這裡面有個重點是需求到底是甚麼,這個問題是很難有好的方案的,因為客戶永遠都會覺得你做的不是我要的,但客戶也說不出,這時候就需要進行需求發展,需求發展的過程會遇到很多溝通問題,絕大多數的心力會花在說服客戶你的方案才是他真正要的,或者說服客戶他要的東西是不可能做出來的,這是整個軟體開發評估最重要的流程,足以影響開發成敗,也可以預防客戶事後大幅修改系統範疇,因為客製化軟體是根據客戶量身訂製的,所以除非你很了解客戶真正要的,不然很難符合客戶的需求,當然,你也可以透過說服客戶使用產品來符合客戶的需求,但這一般是在客戶有預算問題的時候才會這樣處理。
以上簡單介紹軟體開發評估流程,請大家參考。
※ 如果您想得到更多相關資訊,歡迎訂閱我的Udemy新課程"軟體工程兩三事",Udemy隨時都有優惠,價格很便宜,如果暫時調回原價,可以用以下連結前往訂閱
https://www.udemy.com/course/softengine/?referralCode=27A7A463769D3E25C793
[課程] 軟體工程兩三事
這是我最新的Udemy課程,會針對軟體工程的概念做個基本的介紹,並將一些實務上會碰到的問題一一說明,點選下圖可以前往課程首頁
目前共有七個章節,未來會再視狀況增加章節,目前七個章節分別描述
軟體開發會遇到的問題
需求分析與發展
系統分析與設計
專案管理
專案驗收
專案管理基礎
CMMI-DEV
對於這些領域的基本概念有興趣的朋友可以前往訂閱。
Udemy大都有一些很便宜的優惠價格,歡迎使用以下連結訂閱
https://www.udemy.com/course/softengine/?referralCode=27A7A463769D3E25C793
當然,如果有看到更好的價格就可以用更低的價格購買了。
相關資訊也可以參考本站文章:CMMI-DEV簡介、軟體開發評估流程簡介與軟體開發人天成本的計算方法等。
[課程] Linux概論─以CentOS 7為例
這是我在網路上的第一個課程,算是Linux入門課程,主要是很快說明一下Linux CentOS的基本概念
網址在 https://www.udemy.com/course/linuxcentos-7/?referralCode=9261A024CE3B1DF607DC
目前學生大約70名,因為Udemy的促銷價格並不貴,所以大家有興趣可以聽聽看
目前正在準備下一個課程,主要是講一些軟體功能的概念,從需求分析講到系統分析設計,然後繼續講到專案管理與驗收議題,敬請期待。
同時也歡迎參觀本站與Linux相關的文章。
甚麼是RWD
RWD是指Responsive Web Design,翻譯成響應式網頁設計,他的意思就是會根據畫面的條件呈現不同結果,例如在電腦上是一個樣子,在手機上是一個樣子,在平版上又是一個樣子,那該怎麼做這樣的設計,目前主要都是透過CSS技術來達成,在CSS語法中指定螢幕寬度來決定要用甚麼方式呈現,一般大都會分為
PC:寬度在768px以上一般都會被當成PC
平板:一般是指寬度在768px以內的螢幕
手機:一般是指寬度在360px以內的狀況,不過大都會讓手機和平板設計一樣,所以分介一般式在768px
所以我們會在CSS中針對寬度作設定,下面是個範例
@media only screen and (max-width: 768px) {display: block;}@media only screen and (max-width: 480px) {display: flex;}@media only screen and (max-width: 320px) {display: inline-flex;}
上面這一段就是分別對不同的寬度作不同的dispay風格作設定,不過這只是個小範例,如果你沒用過CSS,看不懂是正常的,只是讓你知道程式設計師平常條畫面時大概是在幹嘛,而且真正的CSS調整不會是單純這樣的格式,比較可能像下面這個樣子,他的目的是把一張底圖放進某個區塊
@media screen and (max-width: 768px)#banner_toolbar .logo {height: 0;width:...