IT
Articles
0
minutes
軟體工程中減少Bug的方法
Bug修正成本請參考這篇,系統測試就是一種最簡單檢視有無Bug的方式,但是還有其他方法,參考如下:
單元測試Code review(早期的一種白箱測試方法)pair programming白箱測試(原始碼與弱點掃瞄)黑箱測試(駭客攻擊等滲透測試)
0
minutes
修正Bug的成本曲線
簡單聊聊,系統軟體專案中,越早發現的Bug,其修正成本就會越低,如果系統上線了,相對花費修正時間與費用成本就會愈來愈高,甚至可能包含修正資料庫的錯誤資料修正,請參考下圖:
早期發現、早期治療,治癒機率就高,軟體工程也是這樣,有一些手段與方法可以避免日後付出高額修正Bug的代價。
後話:系統需求變更成本也是這樣,越是後續修改,其時間與費用成本也越高。
0
minutes
為什麼要進行MVC開發
首先簡單的說明一下甚麼是MVC?
模型(Model):處理資料庫。視圖(View):使用者看到的。控制器(Controller):控制流程與處理View、Model之間的溝通。
那為什麼要用MVC進行開發呢?因為傳統的開發方式,例如.NET中的WinForm或WebForm,算是一種義大利麵的寫法,雖然有稍微把design與code分開了,但是還是「拉奏會」,跟義大利麵一樣。
以下有幾篇文章,推薦可以看看喔:
什麼是義大利麵型的程式開發?寫爛 CODE 是學程式必經之路
義大利麵做得太大的時候,系統會變得難以維護,一個程式原始碼檔案應該盡量維持在500行內較妥,行數太多的時候,人生會覺得非常的苦。
基於以上說明,所以MVC就這樣誕生了。為了便於維護而誕生,試想,當使用者說要改一個字的顏色,基於MVC就知道要去View裡面找,維護就會變得簡單。
但是也不能甚麼專案都要MVC,畢竟小專案要搞成這樣,反而會得到反效果,系統要夠大,才能把MVC的優勢發揮出來。
0
minutes
如何進行應用系統開發
資訊的領域非常廣,很少有IT人可以把所有資訊領域都精通,因此從上游、中游到下游的一貫合作就顯得非常重要,以一個系統開發簡單的例子,來說明資訊產業鏈。
假設現在要開發一個上下班打卡系統,用的是NFC感應卡,那會是一個甚麼情況:上游:設計卡鐘實體,並提供軟體開發套件(Software Development Kit, SDK)。中游:因為取得SDK所以有辦法開發應用程式,例如自動抓取刷卡資料與更新人員等等。下游:進行系統維運,故障問題排除等。
不可能樣樣都自己來,因此也就有了系統整合(SI:System Integration)商的角色出現。
0
minutes