學習加油站
回上頁 | 歷期頁面《 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
 
 
《軟體工程—從實務出發》

軟體設計的
Total Solution

Yahoo!全球技術資深副總裁約翰林伍德(John Linwood)昨天表示,Yahoo!將開放網友參與Yahoo!相關的軟體開發,以開放軟體Linux 製作,所有權歸網友…

【 轉載自中國時報 2007/08/17】
  ....................................................................................................................................................
 

想多了解軟體設計嗎?其立基點為何?David Parnas(軟體物件概念的創始者)曾說過:「我要建議學生們,多將注意力放在基礎概念上,勝於追求最新的技術。因為技術會在出局之前就已落伍,而基礎概念永不會落伍。...注意!我指的基礎概念,是物件導向、結構化程式設計等(基礎設計知識)。」

由現今發展最成熟的二種設計方法入手:結構化設計(structural design)與物件導向設計(object-oriented design),軟體設計發展出一系列解決問題的基本法則有:

一 . 分析與征服(divide and conquer):

是一項傳統的解題智慧,將不易處理的問題,經過分解之後,簡化成更簡單的問題
,然後再各個「破解」。平常所使用的焦點分離、模組化等的軟體工程原則,也可視為此一方法的應用。

二 . 抽象化:

其意涵是將一個實體或活動模型化(modeling),只表達其中重要的事物與屬性,但排除或隱藏與目的無關的細節,因此簡化了事情的複雜度。抽象化在軟體開發上的應用很廣。在需求分析與系統設計上,所用的各種模型工具就是抽象化的產物。藉由模型可幫助我們在概念上理解和分析系統。

三 . 模組化:

將系統模組化,意味著將系統分解成由簡單、相對獨立的組件(稱為module)所構成的集合。良好的模組化可獲得許多好處,包括:降低系統複雜度、易於組裝、維護與再利用、便於團隊合作等等。

四 . 逐步精細化(stepwise refinement):

與抽象化正好相反,是將抽象化的物件逐漸加入細節,以展現其具體的樣貌。有幾個不同的稱呼如:功能分解(functional decomposition)或結構化程式(structural programming)設計。其優點是符合直覺,適合用來設計演算法。

五 . 資訊隱藏:

是抽象化原則的應用,也是模組化的另一個指導原則。將模組內的資訊隱藏有許多好處,例如:降低模組間的耦合度,使得出現意外副作用的可能性降低等。

六 . 繼承:

是一種設計再用的機制,也是降低系統複雜度的好方法。透過繼承,可將原本複雜的事務加以歸納與整理。其另一好處是改進系統承受變動的能力。透過繼承使用,元件可以被再定義,以適應變動的需要,而不必修改原始設計。但過度使用繼承會增加系統的複雜度,且某種程度上破壞了模組化的價值。因此應避免過長的繼承路徑,且進行定期檢討與結構的重整。

 

  ....................................................................................................................................................
   


468
(定價520元)

詳細書摘

軟體工程—從實務出發


鄭 炳 強
學 歷 ‧美國紐約大學計算機科學博士
現 職 ‧中山大學資訊管理學系教授‧軟體工程協會理事‧高雄醫學大學資訊顧問
專 長 ‧軟體工程‧軟體測試‧人工智能


....................................................................................................................................................

推薦本書三大理由


本書著重在闡明本質性的東西(如軟體的本質、問題的本質、現象的本質、工程的基本原則等),儘量讓學生瞭解 know-why 而避免太多技術或方法論的細節,以免學生迷失在這些枝節上,反而忽略了真正重要的東西。


本書依照實務上的重要性,以先後順序來安排其章節,並加入一些極少談到的主題,如異常專案管理等。此外,也包含了目前最熱門的主題,如 CMMI 與 Extreme Programm
ing 的介紹,並以對比的方式加以探討與比較,刺激學生自己的判斷。

作者極為細心地依一般學期的時間長度而規劃了十四個主題。若實際課堂上仍有多餘時間亦則可安排如專題討論甚至辯論等,更可將軟體開發複雜的面向呈現出來,並讓學生互相腦力激盪。


...........................................................................................................................................................
 
{ Go Top }
回上頁 | 歷期頁面《 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
 
★ 近期熱門優惠 ★