软件的设计阶段
軟件的設計階段是相當重要的。一般來說,都不建議接到項目后第一時間就去考慮什么編碼,怎么實現(xiàn)細節(jié),而是有一個規(guī)劃設計的過程。
設計過程本身又有很多個過程,比如類設計,就是后期的,什么UML之類的,都是關注設計的后期,而不是前期準備。
作為設計的最初狀態(tài),各位有什么好用的設計工具?我自己就是用txt來寫思路而已,不知道這樣是不是有點太落后了?
就算是txt寫思路,也有一些框架,可以用來衡量設計的進度到達哪一步了。我自己沒有一個很好的想法,就是隨便亂寫,誰有更好的建議?
-------------------------------
第一步是需求的分析。需求分析是從宏觀上去認識產(chǎn)品。不管你這個產(chǎn)品具體怎么做,人們希望他具有哪些功能,好處。大概就是這樣子。
這一步并不是軟件開發(fā)的專業(yè)技術,而是產(chǎn)品營銷的內(nèi)容,因為一個賣得出去的產(chǎn)品,必須要具備競爭力,競爭力分析一般都是產(chǎn)品營銷的一項最基本的內(nèi)容。
第二步是制定達到需求的產(chǎn)品策略。這個需要檢查技術上是否能夠實現(xiàn)既定的目標。
第三步需要規(guī)劃軟件的構成。一個軟件系統(tǒng),必然需要各種各樣的組件,將系統(tǒng)化為各個小組件,就能把問題細化,更利于編碼實現(xiàn)。
第四步是建立開發(fā)環(huán)境。這個環(huán)境并不是說IDE而已,而是包含了測試,度量等指標的一套檢驗體系。
第五步是建立多級原型。因為開發(fā)有一個漫長的過程,這個過程如果一步到位是相當容易出現(xiàn)問題的。建立多個中間階段的原型,會有助緩解開發(fā)的壓力,建立更加有秩序的開發(fā)流程。
然后就進去正常的編碼階段。
第一,二步是建立宏觀概念。
第三步,是分解。
如何把一個宏觀認識轉化為具體的組件?
一。面向對象法。
二。功能模塊法。
面向對象的設計是聽起來容易,卻沒有嚴格的一套策略。
因此我認為建立一套行之有效的設計策略是有意義的。
策略一:實體對應。比如圖書管理員,對應一個編程對象。
策略二:實體部分對應,比如車子由車輪,方向盤等組合而成。
策略三:界面模型。比如操作員需要進貨,出賬這兩個操作,把操作作為一個虛擬的物體來對應。
略。
小議對象和算法 的鴻溝:
對象是外部性質(zhì),和內(nèi)部操作的有機構成。
算法是單純的操作。
需不需要對象,在于是否需要對象提供的封裝。從對象的角度,算法只是一種對象間的通信行為。
而在算法的角度,對象只是局部步驟的封裝行為。
如何建立高效的算法,首先要從算法的固有特性考慮。如果局部的封裝導致整體算法被迫采用一種低效率的實現(xiàn)模式,這么建立相關對象就是很沒必要的。
如果有一個高效算法,不需要一群過度封裝的對象,那么必然會需要一個簡單而直接的對象。
http://www.cnblogs.com/Nobel/archive/2011/03/19/1989057.html
#1樓2011-03-20 12:36 gihelo ?
俺不用工具,只需要一個大點的白板和一副牌。設計初期的工作和國外電影上那些偵探實際很像滴。我們只需要把需求用紙牌的形式羅列出來,然后把他們貼在白板上,觀察那些牌是可以放在一堆滴,那些可以放在另一堆。然后和偵探一樣,把各種線索用timeline聯(lián)系起來,看那些環(huán)節(jié)缺少條件,那些環(huán)節(jié)屬于“偽證”。
設計過程本身又有很多個過程,比如類設計,就是后期的,什么UML之類的,都是關注設計的后期,而不是前期準備。
作為設計的最初狀態(tài),各位有什么好用的設計工具?我自己就是用txt來寫思路而已,不知道這樣是不是有點太落后了?
就算是txt寫思路,也有一些框架,可以用來衡量設計的進度到達哪一步了。我自己沒有一個很好的想法,就是隨便亂寫,誰有更好的建議?
-------------------------------
第一步是需求的分析。需求分析是從宏觀上去認識產(chǎn)品。不管你這個產(chǎn)品具體怎么做,人們希望他具有哪些功能,好處。大概就是這樣子。
這一步并不是軟件開發(fā)的專業(yè)技術,而是產(chǎn)品營銷的內(nèi)容,因為一個賣得出去的產(chǎn)品,必須要具備競爭力,競爭力分析一般都是產(chǎn)品營銷的一項最基本的內(nèi)容。
第二步是制定達到需求的產(chǎn)品策略。這個需要檢查技術上是否能夠實現(xiàn)既定的目標。
第三步需要規(guī)劃軟件的構成。一個軟件系統(tǒng),必然需要各種各樣的組件,將系統(tǒng)化為各個小組件,就能把問題細化,更利于編碼實現(xiàn)。
第四步是建立開發(fā)環(huán)境。這個環(huán)境并不是說IDE而已,而是包含了測試,度量等指標的一套檢驗體系。
第五步是建立多級原型。因為開發(fā)有一個漫長的過程,這個過程如果一步到位是相當容易出現(xiàn)問題的。建立多個中間階段的原型,會有助緩解開發(fā)的壓力,建立更加有秩序的開發(fā)流程。
然后就進去正常的編碼階段。
第一,二步是建立宏觀概念。
第三步,是分解。
如何把一個宏觀認識轉化為具體的組件?
一。面向對象法。
二。功能模塊法。
面向對象的設計是聽起來容易,卻沒有嚴格的一套策略。
因此我認為建立一套行之有效的設計策略是有意義的。
策略一:實體對應。比如圖書管理員,對應一個編程對象。
策略二:實體部分對應,比如車子由車輪,方向盤等組合而成。
策略三:界面模型。比如操作員需要進貨,出賬這兩個操作,把操作作為一個虛擬的物體來對應。
略。
小議對象和算法 的鴻溝:
對象是外部性質(zhì),和內(nèi)部操作的有機構成。
算法是單純的操作。
需不需要對象,在于是否需要對象提供的封裝。從對象的角度,算法只是一種對象間的通信行為。
而在算法的角度,對象只是局部步驟的封裝行為。
如何建立高效的算法,首先要從算法的固有特性考慮。如果局部的封裝導致整體算法被迫采用一種低效率的實現(xiàn)模式,這么建立相關對象就是很沒必要的。
如果有一個高效算法,不需要一群過度封裝的對象,那么必然會需要一個簡單而直接的對象。
http://www.cnblogs.com/Nobel/archive/2011/03/19/1989057.html
#1樓2011-03-20 12:36 gihelo ?
俺不用工具,只需要一個大點的白板和一副牌。設計初期的工作和國外電影上那些偵探實際很像滴。我們只需要把需求用紙牌的形式羅列出來,然后把他們貼在白板上,觀察那些牌是可以放在一堆滴,那些可以放在另一堆。然后和偵探一樣,把各種線索用timeline聯(lián)系起來,看那些環(huán)節(jié)缺少條件,那些環(huán)節(jié)屬于“偽證”。
總結
- 上一篇: Win10电脑清除运行窗口的历史记录
- 下一篇: Liferay使用管理中的一些常见问题