軟件架構設計的幾個步驟
1、分析需求和理解業務模型(或領域建模),并選定關鍵Use case。
軟件的需求,可以分為從用戶視角和開發人員視角來看,從用戶的角度看,又可以分為功能性和非功能性需求,我們必須從不同的視角和級別去全面的認識需求并分析需求,理解業務模型。實踐表明,常常被我們忽視的非功能性需求常常會導致整個項目失敗。
理解業務需求最好的方式莫過于進行領域建模,領域建模與需求分析往往是交替穿叉進行的,領域建模主要有以下三個方面的作用:
◆探索復雜問題,弄清領域知識。Martin Fowler曾經說過,他采用面向對象方法最大的好處就是它有助于解決更為復雜的問題。領域建模本身作為輔助思維的工具,幫助我們將注意力始終保持在最為重要的業務概念及其關系上,使我們能夠不斷深入地,系統的對需求進行分析和認識。領域建模往往是一個從模糊到清晰,從零散到系統的過程。
◆決定功能范圍,影響可擴展性。任何模型都是對現實世界某種程序的抽象,這種抽象就會忽略某一些東西,例如忽略對象的屬性和對象間的關系,而這些忽略往往都是帶有一定的目的性的,這種忽略就決定了功能的范圍。模型揭示了各種功能背后的結構,如果說定義功能相當于“拍照片”的話,那么領域建模就相當于“做透視”,更加關注問題領域的內在結構,相當于對問題領域進行了一定的抽象,良好的領域模型不僅能很好的支持現有的功能,而且還可以在一定程度上支持未來可能出現的新需求,體現良好的可擴展性。
◆提供交流基礎,促進有效溝通。領域建模通常會使用UML圖作為呈現的方式,這樣為我們的溝通提供了方便。當然,有時候文字在描述某些特定領域的問題時可能更適合,可以靈活運用。
在我們公司的實際軟件開發流程中,往往領域建模缺少這一環節,這可能是在以后的工作中需要進一步提高之處。
文章來源于領測軟件測試網 http://www.kjueaiud.com/