摘要: 軟件架構設計編檔之參考文件 閱讀全文
2008年10月17日 #
摘要: 常見Oracle HINT的用法,標記在這里 閱讀全文
摘要: 目前磁盤存儲市場上,存儲分類(如下表一)根據服務器類型分為:封閉系統的存儲和開放系統的存儲,封閉系統主要指大型機,AS400等服務器,開放系統指基于包括Windows、UNIX、Linux等操作系統的服務器;開放系統的存儲分為:內置存儲和外掛存儲;開放系統的外掛存儲根據連接的方式分為:直連式存儲(Direct-Attached Storage,簡稱DAS)和網絡化存儲(Fabric-Attached Storage,簡稱FAS);開放系統的網絡化存儲根據傳輸協議又分為:網絡接入存儲(Network-Attached Storage,簡稱NAS)和存儲區域網絡(Storage Area Network,簡稱SAN)。由于目前絕大部分用戶采用的是開放系統,其外掛存儲占有目前磁盤存儲市場的70%以上,因此本文主要針對開放系統的外掛存儲進行論述說明。 表一: [url=http://www.wangchao.net.cn/bbsdetail_1782308.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/121 閱讀全文
摘要: 描述了一經典的架構設計過程,并在此基礎上提出了四層驅動設計模型,在CKM項目中初次進行了實踐,想看的可以下載看看 閱讀全文
摘要: 分層是軟件架構的基本理論。任何軟件在邏輯上都可以分層,也可以適當的映射到物理層次上,至于怎么分,分多少層,要不要分等要看你的軟件領域(每個領域都有一些現成的架構模式可以參考,所謂領域架構),在拿到需求的時候我們習慣上進行水平和垂直的分割,其實分層技術也是一種基本的架構模式 閱讀全文
摘要: 在描述大而復雜的軟件中,最復雜的抽象層次就是軟件架構。因此,在這個抽象層次我們能更好的理解構件組裝原理和交互方式。軟件架構被認為是軟件開發方面的驅動力,他允許指定每層那些方面和模型需要依照架構來設計。早期的架構描述語言 ADL,比較獨立,側重結構抽象層次而忽略行為描述層次、觀念層次和元模型層次。這篇文章描述了適當的“理性的”軟件架構視圖并用 C3 元模型描述(最小的并且完整的描述語言),我們提供了一個機制集合以處理不同層次的不同級別,我也提出了一新的用C3元模型描述的連接件的增強定義。 閱讀全文
摘要: 最近設計知識管理系統的資源導入功能,為了盡量的做到組件化,方便擴展,方便其他模塊使用。簡化組件提供的和需要的接口,設計并實現了基于 Mapping 機制的導入框架。其中有一功能用到了計算兩個字符串相似度的算法。 閱讀全文
摘要: 知識管理是伴隨知識經濟出現的一種創新管理,知識管理要綜合運用戰略、組織、流程、技術、變化等多種措施和管理工具,以富有效率的方式動員組織擁有的一切資源來實現其管理目標。
閱讀全文
閱讀全文
摘要: 基于構件的開發(CBD)觀念已廣泛應用于軟件開發中,便于構件的重用。眾所周知的CBD體系結構有 ActiveX, CORBA, RMI以及 SOAP 等。文章主要通過與傳統軟件開發方法的比較研究支持基于CBD的實踐,同時也評價了面向對象的過程模型以及提出了一種新型的基于 CBD 的軟件開發過程模型,并探討了倉儲的重要概念。 閱讀全文
摘要: 最大化的重用,在體系結構風格和構件方面形成了經驗庫,指導后續軟件開發。可真正實現快速軟件開發,特別是在特定領域中的應用! 閱讀全文
摘要: 這篇文章說的很好,和大家分享一下,可能一些實戰的朋友并不喜歡這種理論的東西,可以不看,這篇文章把軟件體系結構和建筑學類比,形象化了體系結構設計。文章提到算法和數據結構有擴張和取代SA的可能,個人覺得有點欠妥,算法和數據結構畢竟是解決細粒度的問題,而體系結構最初從算法和數據結構脫離出來,形成一抽象的分析層次,就是因為軟件越來越復雜,單憑算法和數據是很難解決問題的。算法數據結構和體系結構應該是屬于不同的層次解決不同的問題罷了。文章也提到了黑盒復用和白盒復用的概念,強調了軟件體系結構設計的意義。不過個人并不同意“軟件體系結構是一個高層次上的抽象,它并不涉及具體的系統結構(比如B/S還是C/S),也不關心具體的實現。”筆者這句話,B/S和C/S 其實是一種設計風格,是軟件體系結構的設計模式,其實模式的目的就是重用。在實際的架構設計中你不僅要可慮體系結構設計風格、框架以及復用構件等等,你也要考慮實現的技術和關鍵點的決策,這些都是需要在開發前期確定的。所以軟件體系結構是高層抽象是不關心實現,但是他要涉及到具體的系統結構。
閱讀全文
閱讀全文
摘要: 由于工作和學習的需要,強制自己這2到3個星期看完40篇論文 閱讀全文
摘要: 當架構模型進行迭代的過程中,必然伴隨著對模型進行修改和改進。我們如何防止對模型的修改,又如何保證對模型進行正確的改進? 閱讀全文
摘要: 分層對現代的軟件開發而言是非常重要的概念。也是我們必須學習的知識。分層的總體思路并沒有什么特別的地方,但是要和自己的開發環境、應用環境結合起來,你還需要付出很多的努力才行。
在完成了分層之后,軟件架構其實已經清晰化了。 閱讀全文
在完成了分層之后,軟件架構其實已經清晰化了。 閱讀全文
摘要: 常見計算機類雜志投稿方式 閱讀全文
摘要: 目前,Web系統開發缺乏嚴格和系統的方法,大多數應用開發和管理實踐在很大程度上依賴于開發人員個人的知識和經驗,造成的后果是所開發的Web系統大多是低質量的產品。而傳統的軟件工程方法不能適應Web設計的要求,為此人們研究提出了眾多的Web開發方法。這些研究旨在提供全面支持Web應用開發生命周期的模型和方法,但由于這些方法本身存在的局限性及其它方面的原因,還沒有得到廣泛的應用。論文首先討論了成熟的Web開發方法應該具有什么樣的特性和功能,然后分析了現有Web開發方法各自的特點,最后總結了這些方法所存在的問題和今后的研究重點。
閱讀全文
閱讀全文
摘要: 階乘是個很有意思的東西,可能很多朋友看到關于他的計算就怕了,其實沒什么,看完下面兩個問題您應該有低了。
1. 給定一個 N ,求出N!末尾有多少個零,比如 N=10,N!=3628800,N!末尾有兩個零。
2. 求N!的二進制表示中最低為1的位置,比如 11010010, 最低為1的位置為2。
問題一解法:
在上一個 blog 中介紹的子數組乘積最大值的問題中,有朋友考慮到溢出的問題,在這個問題中,我們從那些數相乘能得到10這個命題開始思考。比如N!=K×10m那么N!后面就有m個零。這個問題轉化為將N!進行分解,如N!=2a×3b×5c 很顯然 10=2×5,那么零的個數m=min(a,c), 一個數能夠被2整除的機率比5要大很多因此 m=c,因此轉化為求 c的問題,具體算法如:
閱讀全文
1. 給定一個 N ,求出N!末尾有多少個零,比如 N=10,N!=3628800,N!末尾有兩個零。
2. 求N!的二進制表示中最低為1的位置,比如 11010010, 最低為1的位置為2。
問題一解法:
在上一個 blog 中介紹的子數組乘積最大值的問題中,有朋友考慮到溢出的問題,在這個問題中,我們從那些數相乘能得到10這個命題開始思考。比如N!=K×10m那么N!后面就有m個零。這個問題轉化為將N!進行分解,如N!=2a×3b×5c 很顯然 10=2×5,那么零的個數m=min(a,c), 一個數能夠被2整除的機率比5要大很多因此 m=c,因此轉化為求 c的問題,具體算法如:
閱讀全文
摘要: 給定一個長度為N的整數數組,只允許用乘法,計算任意(N-1)個數的組合乘積中最大的一組,并
寫出算法的時間復雜度。 閱讀全文
寫出算法的時間復雜度。 閱讀全文