24h購物| | PChome| 登入
2010-12-04 03:34:32| 人氣375| 回應0 | 上一篇

談一談我心中的Project設計

推薦 0 收藏 0 轉貼0 訂閱站台

在被一個可愛的學弟攪和下,我發現學弟並不太懂甚麼叫做Project..
他一直跟我講說,他要做的事情根本是無法達成的.所以完全沒進度..可是在我眼裡卻不是這麼一回事..如果有想要做大一點的事情.而且心中也有個題目的話..絕對要會設計Project...

在經過一番的講解..我跟他講了甚麼叫做Project..當然這個Project是我自己心中的Project設計方式..如果有抄到或是雷同的言論出現話..請大大們可以當成我在亂講沒關係..這方面請對小弟高抬貴手..謝謝..

在各個公司中,大家都會談到Project,當然我們走系統設計的自然也會有我們的Project,Project中文名稱就做專案(其實我比較習慣對這個詞使用英文..會比較有專業的Fu..哈!),這個東西當然是要在你心中有個題目後才要開始設計..沒有人連主題都沒有就說要設計一個Project..

Project的設計,簡單講,就是"切割,統合"..把一個大主題切割成若干的小主題,並且在時間內完成各個小主題..最後在進行統合..
但是切割並不是隨便亂切的..Project的切割就像是對電器進行拆解手術一樣..拆完了是要裝的回去的..
但是不同的是..Project是對一個還沒生出來的實體,一個由主題生出來的功能所進行切割,所以Project的切割,是透過想像後,把各個小主題實際生出來後的組合說明書..這個安裝說明書設計的如何,就會相對影響你完成整個Project的難易度...但請相信我..Project設計真的沒你想的這麼難..

Project的設計要先把你的想法寫出來,然後再想像一下實際該有的功能,並且依功能建立系統方塊圖後,在進行切割.然則,切割後為了要把他們組回去,所以必須在每個小主題間制訂它們所該有的溝通介面...最後把每個切割下來的小主題,別上他可能會有的完成時間,最後在慢慢去催每個每個小主題,讓他可以個別完成後再加以組合..並且進行一次整體性的個別調整,就可以完成Project了..

這樣看起來應該不會太難吧??可是有點難懂..是嗎??我拿個例子來講..
比如..我今天要利用兩台電腦,中間透過網路,從一端電腦的鍵盤輸入數字,另一端電腦就會控制LED的亮度...恩..不會太大..來切看看...

我們依功能從兩邊的電腦先進行一次切割,從網路這邊切下去,兩邊的電腦中間就是有一個介面存在,這個介面是"網路",然後要制定這個網路訊號的該有的傳輸內容格式(比如給個字串"123",或"012"等類似的3個字的數字文字)..

先談當成控制端的電腦這邊,控制端電腦這邊則對輸出與輸入進行切割,在主程式與鍵盤之間切一刀,主程式是透過PS/2的傳輸規格當成介面,接上輸入的鍵盤..然後主程式是透過網路協定當成介面接到輸出的網路..介面的兩端都是各自Device看得懂的文字甚至是訊號...
這樣的話一邊的小主題就很明顯了..就是

鍵盤|介面(USB<->數字)|主程式|介面(運算結果<->網路協定)|網路


然後再來對當成被控端電腦這邊也進行切割..切成

網路|介面(網路<->數字)|主程式|介面(運算結果<->PWM訊號)|切換IC|介面(PWM訊號<->LED電流驅動電路)|LED

然後在來統合系統..把網路當成共通介面,連接控制端與被控端的電腦..

OK...接下來就是制定介面該有的訊號內容格式(型式)..相信我..制定介面內容絕對比你去設計主程式還來得重要...
之後再比照設計的介面要求,慢慢去完成各個小主題後,就可以很輕鬆的統合起來了..

為什麼我會說制定介面內容很重要?
今天我是拿一個小小的例子來講Project會比較沒有感覺..你應該會想在網路線前後搞成兩團主題就好了嘛...
但是你要換個方向去想這件事情..今天USB鍵盤是你做的嗎?網路IC是你做的嗎?切換IC是你做的嗎??LED呢??這個Project裡面有多少東西是你做的??有多少東西是可以不用你做的??如果你今天底下有一堆小弟,那麼這些東西還輪得到你來做嗎??如果今天換成更大的題目(比如要製作環台高鐵系統)你有可能自己做嗎?

之所以會說制定介面比內容重要的原因,就是在於當你制定好介面後,所有的東西都可以外包!!!
你只要告訴外包商或是那些小弟們你要的輸出輸入資料的格式,然後叫他們去完成就好..
因為你知道介面前後格式,所以你也會知道當你對各個小題目輸入甚麼的時候會出現什麼結果..你只要控制各單元的完成進度與輸出入結果是否正確就好...甚至一些小題目可以運用現成的東西來替代..如此可以增加系統的靈活性(你只要修改介面就可以了)..而對於整個Project的話你也可以個別去Tracing進度..

然則這種方法也可以運用在公司製作Project,不論大小的幾乎都可以這樣做..
在一個Project上切割成各個部門所該完成的題目,然後規定各個部門之間該有的介面(可以所有部門都對你,如此只要一個介面機制就可以),各部門也可以彼此瞭解彼此的進度..而自行進行調整..你負責的就是催進度跟排除他們發生的問題就好了..最後再進行統合...

這是走管理的人所該有的能力..過去說分工作這種講法比較類似,可是不同的是在於多加入一個溝通介面後,如果部下了解溝通介面,就可以有機會更了解自己該做的事情與進度..
如果你不希望他們彼此觀察.希望能從中去操作訊息來逼迫員工加強進度的話..就是去設計一堆不同的介面,讓他們不了解彼此在幹嘛..這樣就可以了...不過你要先搞懂這些介面...

..如何??這樣設計Project簡單多了吧??雖然這樣會花比較多的時間與心血在設計介面上面..但是這樣做的好處就是讓你的Project可以分工,並且讓你易於整合與掌握狀況,在上面的人是沒必要去管工程師的程式是怎麼寫的..但是絕對有必要去要求他的規格與進度...

所以再透過設計Project之後,其實也可以回頭看看哪些是自己會的自己不會的..問題也可以比較簡單的去了解,你也可以清楚知道接下來自己該努力的方向..就算通通都不會...沒關係...錢多就通通外包也沒差..談好規格就好..

所以我才說..那個學弟講的在我眼裡不是這麼回事..連怎麼分割都沒想過..就說做不出來...這樣不是個好現象..

如何..這樣是不是對於你的計畫會比較好完成呢??好處是很多的喔...^^

台長: ZIP
人氣(375) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 教育學習(進修、留學、學術研究、教育概況) | 個人分類: 設計經驗 |
此分類上一篇:我要畢業啦~~快速車牌辨識~~~~

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文