當軟體企業快速地從幾百人發展到幾千人時,技術和組織的管理問題必然成為乙個新的課題。樣本程式的開發和交流也引發了軟體企業深層的管理問題,即如何研發或開發眾多的行業應用軟體。
在以從事「行業應用軟體」開發為主的軟體企業中,大部分工程師做的是一種定製化「指令碼」性的工作。雖然這種程式設計上手並不困難,因為它的本質是一種「整合」性的工作,但由於「整合」的物件和涉及的內容非常之多,決定了它不只是乙個技術性的問題,而且涉及管理、工程化、行業知識、個人表達能力等一系列問題,所以「做好」並不容易,而乙個設計良好的「樣本程式」可起到事半功倍的效果。這就好比初學做古詩,古詩學的約束要素有很多,我們可以學習各種格律的約束規則,也可以直接學習古人的「經典作品」,以這個「經典作品」為「樣本」,試著完成自己的詩作。當然,樣本程式的學習與做古詩還是有區別的,後面我們還會介紹。那麼在軟體企業中推廣樣本程式究竟是為了什麼呢?它的意義何在?筆者試著提出幾個切合實際的理由。
組裝軟體
就像我們製造乙個桌子,組裝和元件我們是可以分得清的。從理解和學習角度上看,我們可以分類元件,也可以按流程劃分組裝的特性和特點,但是更直接的方式是選擇其中一種經典的組裝方法,從頭到尾組裝一遍,給學習者有更直觀的印象,這種「從頭到尾的組裝」就是樣本程式。
結合樣本我們可以介紹組裝的約定和約束、組裝的風格選擇、組裝中的注意事項、組裝中的分情形變化……以往我們太注重元件的構成原理,而忽視組裝中的各種獨特性,這實質上是「物件導向」和「面向過程」之爭的延續。其實軟體「重用」一直在兩個大的層面發展,即「相似」和「共享」。「相似」以過程體的組裝相仿特性為主,「共享」則是以元件或函式的方式存在。相比之下,「相似」反映概念層面的「重用」更多,它以一種概念結構、框架、模式等的相似、相仿為主要特徵,它確實不是「相同」,這也是為什麼這部分內容給智財權的確定也帶來一定挑戰的原因。
在我們的生活中,也有類似的直觀例項。如: 「宜家」的購物方式,買房子的「樣本間」(奇怪的是買回家去,好像總是沒有當時看到的效果好)。相對於目前流行的「框架」和「模式」,我們以樣本程式為基礎討論行業應用軟體的「結構」,顯得更為直觀。因此,以「面向過程」思想為主體的「精心製作」的樣本程式在行業應用軟體開發中的標桿作用是顯而易見的。這裡我們主要針對企業開發中常用的j2ee平台進行討論,我們只是通過樣本程式討論了「面向過程」的思路,而沒有就指令碼語言的使用展開更多的討論,實際上這部分內容也在被人們逐漸地重視,將其與現有流行的開發工具相結合,又將是乙個新的技術熱點。乙個好的樣本程式經過分段分析可形成一定的標準化,進而通過工具完成自動生成能力,目前流行的「領域驅動」的軟體開發實質上就是對這部分內容的一種嘗試,而過程化支援的工具平台,也成就了另乙個新的技術熱點,即bpm(業務過程管理)工具平台。總之,好的樣本程式反映一種自然的規律,它既是「寫」出來的,又好像是「發現」出來的。
軟體開發行業經驗
乙個軟體公司必須要有屬於自己的軟體產品,想靠寫程式,乙個專案乙個專案的互動使用者很難實現創收.創業你需要幾個死黨,他們願意跟你一起打拼 做程式一定要備份好自己的源 程式設計師最值錢的就是源 同時要保護好自己的勞動成果.盡量的使用版本管理器進行開發.盡量不要給別人做外包專案,開發完成後版權是人家公司的...
軟體開發基礎(一)
在計算機軟體開發和維護過程中所遇到的一系列嚴重問題 採用工程的概念 原理 技術和方法來開發與維護軟體 優質 高產 問題定義 可行性研究 需求分析 總體設計 概要設計 詳細設計 編碼和單元測試 綜合測試 模型名稱 說明瀑布模型 適用於 使用者需求較為明確的情況 特點 1.階段間具有順序性和依賴性 2....
軟體開發模型介紹(一)
1.增量模型 增量模型又稱為漸增模型,把待開發的軟體系統模組化,將每個模組作為乙個增量元件,分批次地分析 設計 編碼和測試這些元件,開發人員不需要一次性的把整個軟體產品提交給使用者,而是可以分批次地進行提交。增量模型的特點 1 將待開發的軟體系統模組化,分批次的提交軟體產品,使用者可以及時了解到軟體...