當前位置:工程項目OA系統(tǒng) > 建筑OA系統(tǒng) > 建筑工程項目管理軟件
面向對象軟件過程質量控制
軟件作為一種邏輯組織,其發(fā)展趨勢是規(guī)模越來越龐大,復雜程度(時間復雜度,空間復雜度)越來越高,求解領域越來越廣泛。傳統(tǒng)的結構化軟件開發(fā)方法的求解能力已遠遠不能滿足自然界客觀存在的需求,因為面向結構的軟件過程所采用的方法是函數(shù)或子程序的調用,其所表示的關系是函數(shù)或子程序間的依賴關系,用這種方法很難描述自然界中客觀對象的屬性(attribute),行為(behavior)和關系(relationship),而且當用結構化方法所開發(fā)軟件的規(guī)模大到一定程度時,其維護和修改的難度、成本呈指數(shù)級增長趨勢,軟件的可維護性、穩(wěn)定性、可靠性急劇下降,直至令人無法忍受。這就給面向對象的軟件開發(fā)方法和過程提供了生存空間、機遇和環(huán)境,因為面向對象的軟件開發(fā)方法是通過對象(object)這樣的邏輯實體,用類似于人類思維和自然語言的方式來摸擬和描述自然界中客觀實體的屬性、行為和相互關系。面向對象軟件開發(fā)方法的任務就是要表達對象的屬性、行為和對象間的相互關系,是對自然界的邏輯摸擬,但是,如果對面向對象的軟件開發(fā)過程不加以系統(tǒng)管理和有效控制,就很難保證軟件開發(fā)質量、進度和成本在可接受的控制范圍之內。軟件開發(fā)正在走向工程化,軟件被看成是軟件工廠生產、制造出來的產品,所以把ISO9001:2000過程質量控制的理念應用于軟件開發(fā)過程, 用工程化的方法來組織和運作軟件開發(fā)、控制軟件質量就水到渠成了。泛普軟件-建筑工程項目管理系統(tǒng)
按ISO9001:2000過程的定義,面向對象軟件過程需要有過程客戶、過程目標、過程環(huán)境、過程輸入、過程處理、質量檢驗、過程輸出等過程元素。泛普軟件-建筑工程項目管理系統(tǒng)
面向對象的軟件開發(fā)過程可分為獲得需求、需求分析、架構設計、詳細設計、編碼、測試、維護七個階段,每個階段又可看成是一個子過程,每個子過程又包含了一系列的活動(activities)。七個子過程按順序依次相連,每個子過程的輸出是下一個子過程的輸入。每個子過程是其下一子過程的原料供應者,同時又是其上一子過程的客戶。關鍵子過程(KPA)是需求分析子過程、架構設計子過程和詳細設計子過程。http://keekorok-lodge.com/
面向對象的軟件過程的最終目標是:軟件不但能夠滿足客戶的當前需求,而且還要能夠滿足未來客戶需求變化的需求,還要適應未來軟件運行支撐環(huán)境的發(fā)展和變化, 所以,開發(fā)的軟件要具有很好的演化能力來適應這些變化。 面向對象軟件過程的最終客戶是軟件使用者及相關利益人。泛普軟件-建筑工程項目管理系統(tǒng)
子過程內部客戶是需求分析子過程中的系統(tǒng)分析師。內部目標是充分獲取客戶需求,可能是合理需求,也可能是不合理需求。參加人員有:客戶需求調查員,領域專家,系統(tǒng)分析師。子過程輸入是軟件開發(fā)合同、協(xié)議和可行性論證。子過程處理活動:調查員和系統(tǒng)分析師到甲方進行客戶需求調查和采訪,必要時請領域專家(可能來自第三方,也可能來自甲方)參加。獲得客戶需求的途徑有:采訪錄音(征得甲方同意),填表格,觀察甲方現(xiàn)場工作情景,畫用例圖(use case diagram),制作原型(prototype)等。將獲得的客戶需求以文字、圖表的形式記錄下來,并讓客戶進行驗證和確認,可修改,直至客戶認可。獲取用戶需求過程中的一條原則就是不爭論,不分析,把用戶提出的需求都記錄下來。所獲得的原始客戶需求就是獲得需求子過程的輸出。泛普軟件-建筑工程項目管理系統(tǒng)
內部客戶是架構設計子過程的軟件架構師。內部目標是充分表達出客戶的必要合理需求。參加人員有系統(tǒng)分析員和領域專家。內部輸入是獲得需求子過程的輸出,即所獲得的原始客戶需求。需求分析活動有:系統(tǒng)分析員運用自己所掌握的系統(tǒng)分析技術、軟件工程知識、經(jīng)驗、技巧,在領域專家的協(xié)助下,對原始客戶需求進行需求技術分析和論證,歸納客戶的合理需求,去掉不合理的需求,增添客戶沒提到的必要合理需求,并形成客戶需求規(guī)格說明書(requirement specification)。子過程的驗證和確認工作由客戶和系統(tǒng)分析員共同完成,驗證的指標是:分析得到的客戶需求的充分性、合理性、必要性、完整性、前瞻性。子過程的輸出是:用例圖(use case diagram)、協(xié)作圖(collaboration diagram)、分析類圖(analysis class diagram)、需求規(guī)格說明書。需求分析子過程是面向對象軟件過程的關鍵子過程(KPA),因為面向對象軟件過程是用例(use case)驅動的,面向對象軟件過程的一切子過程都要圍繞滿足客戶需求(ISO9001:2000的客戶至上原則)來運作,而用例(use case)就是反映和描述客戶需求的,所以若需求分析做不好,將直接影響到軟件的最終質量,軟件無法滿足客戶需求,導致軟件開發(fā)失敗。泛普軟件-建筑工程項目管理系統(tǒng)
內部客戶是詳細設計子過程中的設計師。內部目標是獲得所開發(fā)軟件的健壯的(robust)軟件架構。參加人員是軟件架構師。內部輸入是需求分析子過程的輸出。子過程的處理活動包括:軟件架構師根據(jù)上一子過程生成的用例圖、協(xié)作圖、需求規(guī)格說明書、分析類圖,運用軟件架構設計知識和經(jīng)驗設計出所要開發(fā)系統(tǒng)的軟件架構(software architecture)。軟件架構的設計粒度是構件(component),構件是可分布的物理單元,只要不同的構件實現(xiàn)了相同的接口,那么構件可以相互替換。保證架構設計質量的準則有:構件本身要保持高內聚性(high cohesion);構件間要保持低耦合性(low coupling);定義構件間的通訊機制(同步、異步、本地調用、遠程調用)和通訊協(xié)議;構件內部類與類間的依賴關系和方法調用要做到對構件外部來說是透明的;每個構件只留有適量的接口供其他構件調用;設計構件的接口時,既要使構件間的交互方便,又要隱蔽構件內部的細節(jié)信息, 這樣做的好處是降低面向對象軟件過程的復雜度,提高對軟件過程的可控制程度和軟件的安全性,可運用代理(agent)或門面(facade)設計模式來設計和實現(xiàn)構件;把軟件相對較穩(wěn)定部分做到架構里,這包括軟件的核心功能性需求和大部分非功能性需求。軟件架構的設計準則可提高和保證軟件的健壯性,另外使用已有的軟件架構風格(software architecture style)也可提高軟件的健壯性,如:管道過濾器(pipe filter)、順序批處理(batch sequential)、分層(layers)、黑板(blackboard)、解釋器(interpreter)等。面向對象軟件過程是以架構為中心的,架構是軟件的生命基線和骨架。架構設計子過程所設計出的健壯的軟件架構能夠保證軟件的持續(xù)改善(continual improvement),這是軟件開發(fā)的最高境界,也是具有挑戰(zhàn)性的領域。 因為客戶的需求是時間的函數(shù),是隨著時間變化的,而且軟件運行的軟硬件支撐環(huán)境也在快速發(fā)展和變化著,如果軟件沒有一個健壯的架構,那么軟件將很難根據(jù)客戶需求的變化進行擴展和維護,且軟件的安全性、穩(wěn)定性、可靠性、可復用性也很難得到保證,這些都是客戶無法接受的,所以按ISO9001:2000的以客戶為中心、客戶至上的原則,設計健壯的軟件架構是極其必要和重要的。架構設計子過程的內部輸出有:構件圖(component diagram)、分布圖(deployment diagram)。子過程的檢驗標準是軟件架構美好的可視性(安全性、穩(wěn)定性、可靠性、可復用性、可維護性、可移植性),驗證和確認由架構師和系統(tǒng)分析師做,方法是測試已生成的軟件架構,根據(jù)架構設計準則來衡量架構是否滿足最終用戶的主要的功能性需求和大部分非功能性需求。泛普軟件-建筑工程項目管理系統(tǒng)
內部客戶是編碼子過程中的程序員。內部目標是設計良好的類、類與類間的關系。參加人員有設計師和架構師。子過程的輸入是架構設計子過程和需求分析子過程的輸出。 設計處理活動:設計師運用面向對象分析與設計知識、經(jīng)驗和技術,設計結構良好的類、類與類間的關系。保證面向對象設計質量的經(jīng)驗準則有:類(class)是一級抽象,即它可直接實例化出對象(object);類元(meta class如:模板類)是二級抽象,即它直接實例化出來的是類而不是對象;類要保持高內聚性(high cohesion),類與類間關系要保持低耦合性(lowcoupling);類本身的接口是類的方法的可視性(public、protect、private);定義類間的消息通訊機制(同步、異步、本地調用、遠程調用)和協(xié)議;運用專家、控制者、創(chuàng)建者等類職責分配模式確定類的職責(類的方法);必要時使用設計模式,一設計模式是某類軟件設計問題的通用解決方案,如:適配器、代理、裝飾器、門面、組合、抽象工廠等設計模式,使用設計模式可提高系統(tǒng)的安全性和效率,但同時也增加了系統(tǒng)的復雜性,所以,是否使用設計模式要根據(jù)實際情況,權衡利與弊;接口類的作用是推遲實現(xiàn)與綁定,為提高系統(tǒng)的靈活性和可擴展性,可適量使用接口,但使用接口會在某種程度上增加系統(tǒng)的復雜性和降低系統(tǒng)的效率;不要僅僅只為了代碼復用而使用類繼承, 因為繼承是最強的類間耦合關系, 所以這種復用是最糟糕的復用, 得不償失;盡量避免使用多重類繼承和多層類繼承, 因為多重類繼承和多層類繼承在父類的方法重名時易導致混亂和難以理解;為類的方法設計算法時,要衡量算法的時間復雜度和空間復雜度,使兩者被控制在可接受的范圍之內;設計時用的建模語言,如UML在不斷地發(fā)展和完善,還有一定的局限性,所以在設計時對UML目前還無法表達出的設計思想要采用適當?shù)姆绞接涗浵聛?,使設計不被建模語言的局限性所限制;在詳細設計子過程做得足夠穩(wěn)定后才過渡到編碼子過程, 因為設計結果的易揮發(fā)性會導致后續(xù)子過程的混亂不堪、危機重重,甚至無法繼續(xù)進行。詳細設計子過程的輸出是設計類圖(design class diagram)、對象狀態(tài)圖(object state diagram)以及相關設計文檔。設計子過程的驗證和確認工作由架構師、系統(tǒng)分析師和設計師完成,根據(jù)設計準則來測試已生成的設計成果是否滿足最終用戶的功能性需求和非功能性需求,以檢驗設計的有效性。
泛普軟件-建筑工程項目管理系統(tǒng)- 12015年二級建造師考試《建筑工程》復習提要(一)
- 22015年監(jiān)理工程師《合同管理》每日一練(1.10)
- 3建筑設計風格與設計理念
- 42009年《市政公用工程管理與實務》精華復習資料(36)
- 5一級建造師考試知識點:項目財務現(xiàn)金流量表
- 6一級建造師管理與實務復習要點:坑內井點降水
- 7大體積混凝土冬期施工工藝
- 8人·環(huán)境·公共環(huán)境藝術設計
- 9河岸工程施工組織設計27p
- 10【11月28日預測】天津鋼材價格將繼續(xù)持穩(wěn)
- 11[江蘇]電廠工程化學水處理車間及實驗樓基礎施工工藝
- 122015年一建建設工程經(jīng)濟知識點:工人工作時間消耗的分類
- 13一級建造師復習資料:項目特征的描述
- 14燒結多孔磚、加氣混凝土砌塊施工工藝
- 1508年造價工程師《土建計量》考試重點(40)
- 162013年一級建造師《項目管理》每日一練(3.6)
- 17地下室防水工程的施工方案
- 18工程算量秘籍
- 19省道202線某段災后重建二級公路施工組織設計(投標)
- 20佛山市某公路支護樁施工組織設計
- 21如何得到標底價
- 22關于舉辦施工企業(yè)資質升級、增項受理、標準調整與工法編寫申報講座的預備通知[2012-9-4]
- 23蘭渝鐵路某標段瓦斯隧道施工作業(yè)細則
- 24“一帶一路”戰(zhàn)略瞄準能源基礎設施
- 25天然石材飾面裝飾工程質量控制有哪些?
- 26C70、C80高性能混凝土的研究
- 272014一級建造師機電知識點:設備吊裝就位
- 28某特大橋跨江漢大道連續(xù)梁施工組織設計
- 29某飯店工程施工組織設計
- 302015年二級建造師考試《機電工程》模擬練習(39)
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓