軟體質量:璀璨鑽石,始於煤炭。
軟體質量的重要性是不言而喻的,但是當所有人都意識到它的重要性的時候,卻很少有人能夠清晰的描述出如何才能夠提高軟體質量。軟體質量框架的目的就在於提出一個評價的原型,幫助我們分析一種方法和技術是否能夠提高軟體質量。本系列文章分日構建、測試驅動開發、建立核心框架、面向元件的大規模軟體架構來進行深入的分析。
什麼才是一個高質量的軟體?
在討論軟體質量原型之前,我們先回答第一個問題。一個軟體之所以被認定為質量優秀,並不是因為它獲得了一個省級或部級獎,而是它的內在具備了這樣一些特性:
滿足使用者的需求。這是最重要的一點,一個軟體如果不能夠滿足使用者的需要,設計的再好,採用的技術再先進,也沒有任何的意義。所以這一點非常的樸實,但卻是軟體質量的第一個評判標準。
合理進度、成本、功能關係。軟體開發中所有的管理都是圍繞著這幾個要素在做文章的,如何在特定的時間內,以特定的成本,開發出特定功能的軟體。三者之間存在一種微妙的平衡。在Planning XP一書中,專門有一個章節討論它們。一個高質量的軟體的開發過程中,專案成員一定能夠客觀的對待這三個因素,並通過有效的計劃、管理、控制,使得三者之間達成一種平衡,保證產出的最大化。
具備擴充套件性和靈活性,能夠適應一定程度的需求變化。當今的社會已經變成一種變化速度極快的設計了。變化就會對軟體產生衝擊,所以一個質量優秀的軟體,應該能夠在一定程度上適應這種變化,並保持軟體的穩定。
能夠有效的處理例外的情況。寫過軟體的人都知道,實現主體功能的工作量其實不大,真正的工作量都在處理各種例外。所以,一個軟體如果能夠足夠的強壯、足夠的魯棒,能夠承受各種的非法情況的衝擊,這個軟體就是高質量的。
保持成本和效能的平衡。效能往往來源於客戶的非功能需求,是軟體質量的一個重要的評價因素。但是效能問題在任何地方都存在,所以需要客觀的看待它。例如,一段效能不錯的程式碼可能可讀性很差,這就需要進行平衡,如果這段程式碼的效能是整個軟體的關鍵,那麼取高效能而捨棄可讀性,反之則取可讀性而捨棄高效能。一個優秀的軟體能夠保持成本和效能之間的平衡。
能夠可持續的發展。很少有軟體組織只開發一個軟體的,所以,一個優秀的軟體在開發完成後,可以形成知識沉澱,為軟體組織的長期發展貢獻力量。這是一個優秀的軟體應該要能夠做到的。
一輛好車少不了高階配置,一個好的框架少不了完備的功能。業務功能的完備,能讓開發的過程行雲流水。在普通的開發過程中,一個個功能的編寫並不是難事,其實直接套用也是可以,難的是如何將需求中新加的功能新增到已有的架構中去。而基於這個快速開發框架開發就省去了這些麻煩,甚至有些功能的開發直接就省去了程式設計,所有程式碼自動生成。
下面來看看這個快速開發框架有哪些重要的功能:
一、許可權的管理
許可權的配置,往往是系統開發中重要的一環,一些流程的實現,辦公的邏輯都離不開許可權。往往在開發過程中,配置許可權就要花費掉很長的時間。而這個框架內部集成了許可權管理的功能。讓你用最少的程式碼來配置最複雜的許可權邏輯。
三、資料庫的連線
這套快速開發框架,支援多資料庫的連線。支援MySQL、SQLSever、Oraclo三種資料庫的多個版本。
四、工作流的設計管理
工作流這個系統功能在現在的日常辦公等方面扮演著越來越重要的角色,這麼重要的功能,這個框架肯定是少不了的。並且它還是能夠讓你擼最少的碼,設計最複雜的工作流。基本僅需要填寫相應SQL語句就能完成。
一、程式碼生成器(主從表為例)
視覺化開發,配置自動生成,程式碼自動生成,讓開發更加輕鬆!
二、Excel配置的匯入與匯出
需要匯入和匯出的東西多了,每個表都要寫一個方法,不停的ctrl+c,ctrl+v非常麻煩,有通用匯入和匯出模組,普通使用者都會設定,只要設定好Excel與表關係就好了。
六、報表系統
除了這些功能以外,還有一系列的功能整合在這個快速開發框架中。我就不一一拿出來說明,有需要的朋友可以體驗一下。也歡迎大家提一些意見和建議。