(原創) 無論設計軟體硬體,拿到spec後,第一件事情就是model (OO)
2007-03-02 21:39
267 查看
今天是我修軟體工程的第一堂課,我學到第了model的概念,為什麼要model呢?其實在工程界,都是先model然後才實做,如建築師一定要先設計整棟大樓的設計圖,詳加考慮後,然後才開始施工。設計一台車子也一樣,一定要先畫設計圖,然後才製造。設計硬體IC也如此,雖然說有Verilog這種硬體描述語言,但也是先有方塊圖後,才去寫Verilog,所以名稱很貼切,硬體『描述』語言,只是在描述方塊圖而已,其實方塊圖就是一種model。
我們看到工程界什麼都要model,連資訊相關的硬體開發也是如此,但說來慚愧,就只有軟體開發沒有設計圖,大都是系統分析給你spec後,就開始猛寫程式了,這也是軟體無法『工程化』的原因,只能算『手工業』。
model有什麼好處呢?model將整個系統先『抽象化』,讓你可以看到整個架構,而不用考慮細節,在硬體設計當中,由調整架構達到效率最佳化是很常用的方法;而在軟體設計當中,由調整架構也可達到效率、彈性、及重複使用等要求。
這是我目前初淺的見解,歡迎指正,但最少我目前的觀念是,無論是設計軟體硬體,拿到spec後,第一件事情一定是先『model』,然後才是coding,絕對不能再像以前一樣,拿到spec後就是埋頭coding。
See Also
(原創) HDL只是代表一個model (初級) (Verilog)
我們看到工程界什麼都要model,連資訊相關的硬體開發也是如此,但說來慚愧,就只有軟體開發沒有設計圖,大都是系統分析給你spec後,就開始猛寫程式了,這也是軟體無法『工程化』的原因,只能算『手工業』。
model有什麼好處呢?model將整個系統先『抽象化』,讓你可以看到整個架構,而不用考慮細節,在硬體設計當中,由調整架構達到效率最佳化是很常用的方法;而在軟體設計當中,由調整架構也可達到效率、彈性、及重複使用等要求。
這是我目前初淺的見解,歡迎指正,但最少我目前的觀念是,無論是設計軟體硬體,拿到spec後,第一件事情一定是先『model』,然後才是coding,絕對不能再像以前一樣,拿到spec後就是埋頭coding。
See Also
(原創) HDL只是代表一個model (初級) (Verilog)
相关文章推荐
- (原創) 數學就是loose coupling的極致表現 (OO)
- 编程中第一件事情,就是对象的生命周期管理问题
- (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
- 重构过程其实就是一个“让合适的东西干合适的事情
- (原創) 我的Design Pattern之旅[4]:使用Generic改進Strategy Pattern (OO) (Design Pattern) (.NET) (C#)
- Windows 能干而 Linux 干不了的事情,那就是不需要干的事情
- (原創) 系統分析和系統設計有什麼差別? (OO)
- Windows 能干而 Linux 干不了的事情,那就是不需要干的事情
- 当一个人找不到出路的时候,最好的办法就是将当前能做好的事情做到极致,做到无人能及。
- (原創) UML對程式設計師也很重要喔!! (OO) (UML) (日記)
- (原創) CSS就是一種泛型的實做 (C/C++) (template) (Web) (CSS)
- (原創) 什麼是物件導向(Object Oriented)? (OO) (C/C++) (.NET) (C#) (Database) (Visual FoxPro)
- (原創) 我對interface的理解 (C/C++) (OO) (Design Pattern)
- (原創) 我的Design Pattern之旅[1]:Strategy Pattern (OO) (Design Pattern) (C/C++) (template) (.NET) (C#)
- 2011年7月25日星期一事情就是这样的
- 每天就是些简单的事情
- Windows 能干而 Linux 干不了的事情,那就是不需要干的事情
- 爱情,就是一件千转百回的事情 (转帖)
- 写 飞秋 程序,就是把简单的事情重复的做好
- 如果你做的事情毫不费力,就是在浪费时间