計算機軟體開發研究畢業論文
算機軟體開發行業的發展得益於當前資訊科技的快速發展和資訊受眾不斷增加,當然計算機軟體開發也需要遵循特定的規律,依照其基礎架構原理來進行操作,才能夠保證計算機軟體開發朝著有效性的方向發展。下面是小編為大家整理的,供大家參考。
篇一
實時軟體開發方法思考
摘要:當今是個資訊自動化的時代,軟體已應用於人們生活的環境的各個方面。把面向物件的實現方法引入到實時軟體系統的開發過程中具有重大的作用,可以達到反覆使用,開發週期時間短、軟體質量增強、開發有保障以及開發成本低等效能目的。這樣就確保了實時軟體的良性開發並使這種開發系統化和工程化,更使人們無論在生產方面還是學習方面都會有很大的便利並提升了生產生活的質量
關鍵詞:面向物件;實時軟體;開發方法;軟體工程
實時系統是計算機系統中特殊的系統,輸出值和系統的消耗的時間決定了這個系統的結果是否精確,即使用者希望以極短的時間獲取最佳最有效的運算結果。在以前實時系統主要服務於國家軍事安全方面,今天隨著這一系統的研發,它廣泛應用我們社會生活的各個方面和各個環節,其應用範圍從洗衣機、烤箱到自動化的生產線、醫學輔助機械、交通運輸控制、天氣預報預測、航天動力工程等等。在軟體開發中實時系統中的軟體部分逐漸成為一個不可缺少的獨立部分,貫穿於軟體開發的始終。
1.闡釋實時軟體的內涵
實時軟體是實時系統中的軟體。當外部世界發生變化時,相應地實時系統就會對這種變化做出動作進行迴應,並在規定的時間內、依靠嚴格的控制、最大化地獲取資料來實現這一功能。特別要指出的是,這些控制是有嚴格規範的,這便對實時系統的應用進行了限制,只應用於它相對應的方面。另外,實時系統具有高標準的要求,主要可以體現在以下方面:其一、時間方面,必須在規定的時間內處理完突發事物,如果超過時間就會造成不可彌補的損失;其二、正確性方面,在規定的時間內對突發事物做出合理的邏輯判斷和處理,這就確保了結果的正確性。同時,存在著對實時系統的實時性有一個普遍的誤區,他們狹隘地臆斷實時就是速度要快。以第一時間對外部情況做出反應是實時系統的一個優點,快速反應是實時性的一個要求,但是兩者有著本質的區別,不可混淆概念。有時快速反應並不意味著實現了實時性。所謂的實時性是指要求圓滿處理完外部相應的事物和要求必須在規定的時間內。除了具有一般軟體系統的特點外,實時系統軟體還具有:首先,時間限制,即實時性。要求在規定的時間內對於外部的發生的事物系統要做出反應並處理好;其次,穩定性。如果系統重啟和故障恢復系統會很快復原且資料不受損;再次,多工、並行性、分佈性。實時系統可以同時同步對於外部世界或者分佈較廣的多個問題和任務,進行有效的處理並有效地保證處理的結果具有可靠性。而這種處理的有效性和可靠性是由系統的實時性決定的;最後,對於作業系統的底層具有開發性,實時作業系統就是實時軟體應用中所使用的作業系統,要求在優先調配機制和記憶體鎖定機制控制下,實現多工同時同步處理。特別要注意的是,對於系統中的語言開發原則也要堅持實時性原則,選擇實時性語言,以求對多個任務進行並行處理。
2.探討實時軟體開發方法
與普通的實時軟體相比,複雜性是兩者的共性,實時系統的軟體還具有自己的特殊性要求,那就是時間控制的因素,這就是實時軟體的結構和開發方法的優勢。
2.1實時分析技術
以面臨解決的事實問題或既定的目標為依託,全面解析實時系統的軟體和硬體部分,而後對硬體和軟體進行拆解,以求對設計實時軟體奠定根基,這就是實時系統在分析階段中所要完成的任務。建模和模擬技術是實時系統進行分析才應用的技術。對實時系統元素進行建模時要求分析人員必須利用好數學輔助工具,另外,把握時間長短和對資源大小進行估量是分析人員在這一過程中特別要注意的問題。根據在對資料流進行分析的基礎上,分析人員要建模實時系統的硬體和軟體元素,控制以概率的形式進行,這就是數學分析方法應該注意的。同時,對系統時間和資源大小如何進行評估,就要求分析人員以網路分析、序列論、圖形論和資料模型等方式來推匯出來。RMS理論為基礎,能夠分析並行的多工的分析技術,是為了輔助RMAM的分析方法而設立的理論。判斷在實時系統中在排程方面利用RMS處理並行任務是否能夠滿足他們的實時性的依據,那就是看有沒有采用採用RMA分析技術。分析系統的效能需要使用模擬和建模工具,利用這兩種工具軟體工程師還能夠構建一個模型,通過這樣的形式,可以有效地理解系統的運作。為建立一個實時系統的概念模型需要通過系統的狀態圖、活動圖和模組圖,這就是系統的建模方法。然後在在建立的模型的基礎上,分析和模擬系統的行為和執行情況,並測試系統是否具有一致性和完整性,最後,彙總在真實系統中的各種資料和特性。
2.2實時設計和實現技術
在給定的時間控制情況下如何完成系統的目標是實時設計階段中主要面對的任務。處理實時軟體中的優先權的選擇、多工和並行、同步和非同步、時間約束等問題是設計實時軟體所必須考慮的因素。通常都是通過擴充套件一些非實時設計方法是實時軟體的設計方法所採用的手段,而基於過程的模組化的設計方法是傳統的實時軟體的設計方法才採用的手段。不僅可以採用自頂向下和結構化的程式設計,而且可以採用圖形化的語言描述設計,還有一些運用有限狀態機、Petir網、訊息傳遞系統或一某種專門語言等是使用面向資料的設計方面向物件的實時軟體開發方法所研究的基礎性方法。
2.3傳統實時軟體開發方法應該注意的問題
由於實時軟體的應用於各個領域,這樣就使實時軟體面臨的問題越來越多,最終使實時軟體很複雜了。在過程的設計方法上而建立的傳統實時軟體已不能夠適應變化的新情況了。它主要存在以下問題:首先,分別對過程和資料進行處理,這樣就使真實世界的實際情況失去了本來面目,更加劇了分析和設計實際世界的難度;其次,沒有統一性的劃分原則對採用層次化的功能模組劃分系統,最為嚴重的是,某個別的開發人員的主觀看法完全左右了對組織軟體單元,系統的劃分,這樣就失去了客觀性加劇了實時軟體開發的困難;最後,由於人為的侷限性使得對排程的分析和描述過程也相當的複雜。
3.結語
隨著電子資訊科技的發展,我們研究實時軟體開發時,要具有勇於突破和敢於創新的鬥志,在對現實情況進行分析和研究的基礎上,要不斷對實時軟體進行改進,以達到它更好地服務於社會的目的。
參考文獻:
[1]肖亞利.面向物件的實時軟體開發方法研究[D].四川大學,2003.
[2]沈芳平.鍋爐熱效率計算方法研究與軟體開發[D].東南大學,2004.
篇二
軟體開發敏捷管理方法研究
摘要:21世紀是計算機崛起和發展迅速的時代,面對著使用者多樣化、個性化的需求,軟體開發必須積極適應這一變化,從專案、技術等多方面靈活應對,以提高軟體的適應性,降低開發成本。傳統的軟體開發理論已經失去了作用,而敏捷管理方法為這一問題更好地解決提供了有益的指導,它能夠有效地提高軟體的質量,更好地提升使用者的滿意度。
關鍵詞:敏捷管理;軟體開發;應用
隨著資訊科技的發展,使用者對軟體的需求也逐漸提高,這就對軟體開發者提出了更高的要求。由於傳統軟體開發理論的不足,軟體開發一般耗時較長,使用者從中的收益較小,而敏捷管理方法以實踐為基礎,為軟體開發提供了新的思路,充分提高了軟體的適應性,有效地滿足了使用者的需求。
一、敏捷管理方法概述
軟體開發的難度隨著使用者的需求在逐步提高,市場競爭的激烈化也刺激著軟體開發者必須使用新的軟體工程管理理論。目前,敏捷管理方法包括極限程式設計、自適應軟體開發等,這些方法都以使用者的需求為中心,減少了所需要的文件,提高了軟體的靈活性。敏捷軟體開發主要有一下幾條原則:要儘早、持續地交付有價值的軟體供使用者使用;即使到了開發後期也能夠滿足客戶的需求,為客戶的利益著想;經常性的交付可工作的軟體;在軟體開發期間,開發人員要和業務人員積極溝通;為軟體開發者提供他們所需要的環境,給予充足的支援;在開發團隊內部,要面對面的交流,以提高資訊傳遞效率;軟體開發必須保證可持續的、恆定的開發速度;積極關注技能的創新;從最簡的工作開設等。這些原則涵蓋了敏捷管理的核心思想,顛覆了傳統的過載軟體的過程,顯示了以人為本、以技術為支援、注重實效的思想,國內外的實踐也證明了敏捷管理方法在軟體開發中的重要作用。與傳統的管理方法比較,敏捷管理主要有以下幾個優點:
①較強的靈活性。敏捷管理方法較為靈活,以現有的事物為基本管理職責,由市場驅動競爭力的儲備,能夠有效地滿足使用者需求的變化。
②錯誤率低。敏捷管理方法將設計工作與編碼工作融合到了一起,能夠及時發現錯誤。
③專案風險較低。敏捷管理方法提高了有價值、可執行軟體的釋出速度,使使用者能夠儘早地使用軟體。
④能夠提高人員的能動性。敏捷管理為員工提供了充足的資源,對客戶的個性需求有較強的應對能力。⑤降低了成本。敏捷管理方法降低了文件的維護成本,面對面的資訊交流也較低了交流成本,同時輕快開發過程也降低了時間成本。
二、敏捷管理方法在軟體開發中的應用
1、團隊管理
軟體開發不是由個人單槍匹馬就能夠完成的,它需要團隊的合作,因此,“以人為本”是團隊管理的基本原則。團隊管理需要以專案為中心,為開發人員提供必要的環境和技術支援,同時還要給予積極的鼓勵。一方面,要“恩威並濟”。團隊管理需要融入一定的紀律,保證軟體開發的標準性,同時也要容忍一定的個體變化。在傳統的管理方法中,嚴格的紀律保證了很多行業的高生產力,但在軟體開發中,如果專案負責人單從自身的角度出發制定嚴格的標準,而忽視了員工的獨特思想,則很可能造成很多不利的影響。另一方面,促進團隊合作。敏捷軟體開發需要促進人與和人之間、小組和小組之間的合作,不再以命令的形式調節他們之間的關係,而是以互信為基礎。第三,提高開發人員的榮譽感。團隊管理的困難之一在於提供適應性強的獎勵機制,如果單純以獎金的形式進行獎勵,長時間也會影響團隊的動力,因此,需要以更好的形式激勵團隊。為員工提供一定的榮譽感,能夠讓員工真實感受到自己勞動成果的價值,能夠更加有效地激發員工的主動性、積極性和創造性。第四,提高資訊的反饋效率。敏捷管理方法較為靈活,但評估起來較為困難。國內外的實踐表明,在管理過程中實施積極的、經常性的反饋,並認真分析評估反饋結果能夠及時地、清楚地瞭解團隊的精神狀態和專案進展情況,從而為專案負責人優化管理方法提供了科學的參考。反饋方法較多,如檢測使用者故事的完成數、驗收測試通過率等,另外也包括每週的評估等。啟動團隊是軟體專案開發的重要步驟,每一個團隊的啟動都需要一定的時間和過程,是工作關係的構建,只有做好啟動團隊工作才能夠有效地促進專案開發目標的實現,確定團隊和員工的工作目標。一般的,從組建團隊開始,調查員工的基本情況,如工作能力、人際關係等,然後分配責任,最後在啟動專案前,召開團隊會議,制定團隊目標、做動員等。
2、開發管理
在敏捷軟體管理中,多以迭代開發為主,但對管理人員的缺乏可操作性的指導,同時也缺少開發方法的闡述,缺少了單元測試、驗收測試。由於專案團隊的規模、人員構成、專案目標等方面的不同,軟體開發專案沒有統一的開發策略,只有結合具體情況制定開發策略才能夠滿足實際的需要。敏捷管理方法指導下的開發策略需要注意以下幾個問題:第一,努力實現軟體的可執行。從階段性設計看,可執行的軟體代表了團隊的開發成果,為團隊帶來了成就感和信心;從使用者的角度出發,只有給使用者展示了可執行的軟體才能夠讓他們真實地看到自己的需求是否得到了滿足。第二,制定周密的開發計劃。傳統的軟體開發在專案進度方面的掌握程度較低,系統正式完成的時間不確定,因此,敏捷開發要求將開發進度可衡量化,將每一個任務制定一定的點數,將所有任務的點數相加就是本次開發所需要的工作量,用所完成的任務點數比上總任務點數就是開發進度百分比。第三,儘量減少文件的數量。在開發時要根據實際需要增減文件的制定,降低專案的風險。第四,加強交流。敏捷開發要求開發成員之間要加強交流,保證資料採集、團隊合作、軟體設計的效率。第五,積極考慮客戶的需要。敏捷開發要積極滿足使用者的需要,讓使用者直接參與軟體開發的過程中,讓客戶親臨現場,與其探討軟體開發中的各種問題,提高軟體的實用性。
3、需求管理
需求管理以掌握使用者對軟體的需求為目的,是專案啟動的第一步,是一支指揮棒,以靈活的變動將“使用者故事”和“現場客戶”結合起來,表達了使用者真正的、迫切的需求。“使用者故事”是一種較為簡單的蒐集客戶需求的新方式,獨立表達了使用者的需求,使用者可以隨時刪除也可以隨時加入,是一種概述性的描述;“現場客戶”是指讓使用者代表親臨開發現場給予指導。使用者故事與現場客戶兩種方法的結合,讓客戶對團隊開發軟體的細節有更加深入地瞭解,同時也能夠給予必要的指導,節省了交流時間,提高了開發的效率。
4、釋出規劃
在對使用者故事進行輕重排列後,從業務和技術方面逐一制定實現計劃。在業務方面要積極考慮業務價值加大的使用者故事;在技術方面,技術小組從技術難度及風險的角度出發,劃分功能區,要將所存在的問題說明給客戶,讓客戶做出選擇。
5、迭代規劃
敏捷開發要求儘可能為客戶提供可工作的軟體,因此,要儘量縮短迭代的週期,一般為1~4周。迭代的優先順序由技術組確定,但其價值又客戶決定。在第一次迭代中,小組要建立基本的開發設施,另外,要避免技術迭代,減少耗時。對團隊開發來說,在歷經幾個月甚至幾年的時間才有所突破,每一次的迭代都是一次成就,是一種較好地員工激勵形式。
6、任務分配
在客戶將使用者故事提出後,開發團隊商討如何分界為幾個任務,然後分配給開發人員。第一步,客戶提出使用者故事。客戶將使用者故事宣佈告知給開發團隊,團隊成員可以提出問題,以充分理解客戶故事。第二,討論任務。開發團隊在討論過後將使用者故事分成多個任務,做好接受任務的準備。第三,選定任務。團隊成員選定合適的任務,做好估算工作。
7、軟體設計管理
在敏捷設計中,迭代開發的過程要力求減少文件,另外,敏捷管理要努力實現全域性檢視和軟體原始碼一起演化,從當前的系統需求出發構建所需的基礎結構,保持結構的簡潔、乾淨,病富有表現力,同時還要提高其靈活性。在分配給開發人員任務之後,要測試程式碼,提高原始碼的質量,讓開發人員有更加充足的信心,同時,測試也能夠迫使程式設計師從不同的角度觀察所要編寫的程式。軟體開發都是由結對的程式設計師使用同一臺電腦實現的,由一位出入程式碼,另一外觀察程式碼及其需要改進的地方,兩者可以交換角色,最後所生成的程式碼成果由兩人共享。結對關係每天至少要改變一次,以減少兩者的壓力,提高編碼質量,同時也能夠促進他們編碼技術的提高。
8、跟蹤
跟蹤能夠讓程式設計師、客戶及管理者明確工作進度、質量等問題,同時也能夠發現潛在的問題等。一方面,要跟蹤資源,即計劃和實際的對比、團隊成員的人數、客戶參與次數、測試人員數量、參與開發的計算機數量等,這些是軟體開發的必要條件。另一方面,跟蹤範圍,即跟蹤故事的變化情況。第三,跟蹤質量,即測試表所顯示的通過測試數及未通過測試數。第四,跟蹤團隊成員,即觀察開發成員的問題、開發成員之間人際關係問題,看其是否全身心地投入等。
9、測試驗收管理
當一個迭代完成後,使用者會與團隊商議下一步的需求。測試驗收過程中,越早的發現問題,就能夠縮短程式投入執行所需的時間,期間,客戶需要提供驗收測試,所提供的測試越多,專案進展速度就越快,價值也就越高。客戶可以通過制定的形式採集所需要的素材,通過自動的指令碼根據客戶的需求運轉。一旦某項測試通過需求,則決不允許該測試再次失敗,隨著測試的不斷累積會形成一個測試集合,它能夠測試系統的執行,一旦測試失敗,系統的建立也就失敗。因此,要保證需求的實現,避免其遭到破壞。
三、結語
敏捷管理方法滲透於整個軟體開發過程中,是一個長期的資訊構建原則,而不是某一個獨立的事件它,適應了複雜軟體開發的要求,同時也適應了軟體技術發展的需要。隨著客戶對軟體要求的不斷提高,敏捷開發適應了複雜的環境,並且儘可能地保持軟體開發的簡單化和系統化,適合團隊型的開發專案,它能夠及時反饋資訊,有效提高客戶的滿意度,也能夠保證系統的質量。
參考文獻:
[1]沈成莉.敏捷專案管理在軟體開發中的實踐應用[D].復旦大學2009
[2]唐俐威.軟體開發的敏捷管理方法應用研究[D].哈爾濱工業大學2006
[3]向佐龍.敏捷管理方法在軟體開發中的應用研究[D].武漢理工大學2007
篇三
雲端計算與軟體開發架構設計研究
摘要:光纖通訊、多媒體技術、大資料儲存等技術的快速改進為雲端計算的應用和發展提供了強大的基礎。雲端計算可以將軟硬體資源虛擬化,實現資訊分片儲存和計算處理,能夠為人們進行自動化、智慧化、資訊化辦公、學習和生活提供多種功能,分別是應用軟體部署功能、中介軟體通訊功能、基礎硬體實施按需出租功能,並且利用雲端計算環境的C/S架構、B/S架構,實現使用者多種接入方式,提高軟體的執行效能,具有重要的作用。
關鍵詞:雲端計算;軟體;C/S架構;B/S架構
1引言
光纖通訊、多媒體、大資料等計算機技術的快速改進和普及,為雲端計算的誕生和應用提供了強大的基礎,利用雲端計算技術可以實現資料的分片儲存、併發計算、虛擬化硬體資源等功能。目前,雲端計算技術已經在電子商務、金融證券、電力通訊等領域得到了廣泛應用,比如天貓商城利用雲端計算可以容納數以億計的使用者同時訪問;支付寶利用雲端計算技術可以實時的統計使用者轉賬消費記錄,保障支付寶金額資料的準確性;證金公司開發的結算系統利用雲端計算技術可以收集分佈於全國各地的證券交易資料,實時的進行交易結算;鐵路售票採用雲端計算技術可以滿足數以億計的使用者同時訪問系統,實時更新每一列客車的出票情況、餘票情況等。雲端計算環境下軟體系統需要採用一個強大的軟體架構實現資料通訊、資源共享,目前常用的架構主要包括C/S架構和B/S架構,其可以將軟體系統劃分為多個邏輯獨立層次,每一個層次都可以使用介面相連,實現業務處理、資料儲存等,並且具有良好的可擴充套件性、可移植性和可維護性。
2雲端計算資訊系統功能設計
與傳統通訊技術相比,雲端計算可以採用矩陣的連線方式將數以千萬的伺服器、終端等計算機裝置連線在一起,為使用者提高更強大的資料通訊、計算能力。雲端計算資訊系統功能主要包括三個方面,分別是應用軟體部署功能、中介軟體通訊功能、基礎硬體實施按需出租功能。
2.1應用軟體部署功能
應用軟體部署功能可以為使用者提供多種軟體系統部署功能,為應用軟體分配儲存空間、接入介面、雲端管理介面,使用者只需要輸入雲端賬號和密碼,就可以進入到應用軟體進行操作,並且訪問資料資源。
2.2中介軟體通訊功能
雲端計算可以將硬體服務資源虛擬化,並且利用中介軟體實現通訊功能,利用介面提供資料上下通訊、資源排程、伺服器負載均衡、使用者訪問管理、應用服務管理、計費管理和安全管理等功能,便於提高效能服務水平,實現多種應用軟體與軟硬體資源通訊。
2.3基礎硬體實施按需出租功能
雲端計算環境下,其可以為使用者提供按需定製服務,不需要獨佔硬體資源,僅需要佔據邏輯的服務資源即可完成業務操作,保證足夠多的使用者併發訪問基礎硬體資源,能夠實現邏輯業務處理。
3雲端計算資訊系統架構設計
3.1C/S架構設計
雲端計算環境下,軟體設計師最常用的架構就是兩層的C/S架構,該架構包括客戶端和伺服器端兩個關鍵組成部分。基於雲端計算的分散式管理系統採用C/S架構進行開發,其需要安裝一個客戶端應用程式,為使用者提供一個邏輯業務請求輸入互動介面,並且客戶端可以通過網際網路與伺服器端進行連線,傳輸邏輯業務處理流程。伺服器端是系統的核心組成內容,伺服器承載了邏輯業務處理、資料業務處理兩個關鍵功能,可以將使用者傳送過來的功能處理任務進行有效地解析,進而可以實現資料的插入、修改、刪除和查詢。
3.2B/S架構設計
雲端計算技術的應用使得軟體系統積累了海量的而資料資源,儲存了成千上萬的使用者資訊,為了提高分散式軟體的互動效能、處理速度,許多計算機學者提出了一種三層的B/S架構,該架構包括表示層、業務功能處理層和資料功能處理層。
3.2.1表示層
表示層是B/S系統與客戶進行互動的介面,使用者在IE瀏覽器中輸入系統的網路連結地址,就可以登陸到系統進行操作。表示層可以通過Web頁面接收使用者的功能任務請求,並且可以把業務功能處理和資料功能處理結果反饋給使用者,並且反饋模式採用WebFormat模式,更加形象、條理的展示處理結果,便於使用者檢視處理結果。
3.2.2業務功能處理層
業務功能處理層是B/S架構的核心。業務功能處理層部署於Web伺服器,其作為連線資料庫、使用者的紐帶,承擔著功能任務封裝、資料業務解析、處理結果整合等關鍵功能。目前,業務功能處理層採用JavaBean介面、ADO.NET介面等程式實現上通、下達的功能,並且能夠識別多種資料庫處理語言,比如關係資料庫、物件資料庫等,採用Format格式反饋處理結果給表示層。
3.2.3資料功能處理層
資料功能處理層主要負責接收資料處理任務,其可以根據Web伺服器解析出來的資料庫操縱語句,比如SQL語句、關係代數語句等,根據這些語句的操作意義與資料庫管理系統進行互動,資料庫管理系統啟動資料庫操作引擎,可以對資料庫中的資料實現查詢、插入、修改和刪除等,並且把資料操作的結果反饋給Web伺服器,由其將處理結果整合在一起反饋給使用者。B/S體系架構可以將雲端計算資訊系統劃分為三層,每一層之間負責處理相關的業務流程,並且能夠通過介面進行通訊,具有較強的邏輯獨立性、可移植性、可擴充套件性。
4結束語
隨著計算機技術的快速發展,雲端計算、大資料等在分散式管理系統中將會得到更多的應用,設計一個良好的系統架構可以提高軟體執行效率,進而提高使用者訪問、資源排程、負載均衡能力,滿足軟體操作需求。
參考文獻
[1]馬寶軍.基於雲端計算的電子商務平臺搭建方案與分析[J].資訊通訊技術,2014***1***:55-61.
[2]張標.雲端計算應用時代開啟及案例分析[J].計算機光碟軟體與應用,2014***8***:19-21.
[3]寧豔.基於C/S架構的移動學習系統的設計與實現[J].計算機光碟軟體與應用,2014***2***:90-93.
[4]婁德成,韋銀.基於B/S架構的嵌入式遠端視訊監控系統的設計[J].微型電腦應用,2014,30***9***:51-53.
有關推薦: