2018-12-20 15:38:43分類:軟件開發(fā)7764
在軟件開發(fā)的過程中,軟件開發(fā)環(huán)境是關(guān)系到軟件開發(fā)成敗的重要因素。 軟件開發(fā)方法就是軟件開發(fā)所遵循的辦法和步驟,以保證所得到的運行系統(tǒng)和支持的文檔滿足質(zhì)量要求。在軟件開發(fā)實踐中,有很多方法可供軟件開發(fā)人員選擇。 相關(guān)文章:《軟件開發(fā)雙方發(fā)生合同糾紛有什么解決方案》
結(jié)構(gòu)指系統(tǒng)內(nèi)各組成要素之間的相互聯(lián)系、相互作用的框架。結(jié)構(gòu)化開發(fā)方法強調(diào)系統(tǒng)結(jié)構(gòu)的合理性以及所開發(fā)的軟件的結(jié)構(gòu)的合理性,主要是面向數(shù)據(jù)流的,因此也被稱為面向功能的軟件開發(fā)方法或面向數(shù)據(jù)流的軟件開發(fā)方法。結(jié)構(gòu)化技術(shù)包括結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計和結(jié)構(gòu)化程序設(shè)計三方面內(nèi)容。
結(jié)構(gòu)化分析是一種模型的確立活動,就是使用獨有的符號,來確立描繪信息(數(shù)據(jù)和控制)流和內(nèi)容的模型,劃分系統(tǒng)的功能和行為,以及其他為確立模型不可缺少的描述。其基本步驟是:(1)構(gòu)造數(shù)據(jù)流模型:根據(jù)用戶當前需求,在創(chuàng)建實體―關(guān)系圖的基礎(chǔ)上,依據(jù)數(shù)據(jù)流圖構(gòu)造數(shù)據(jù)流模型。(2)構(gòu)建控制流模型:一些應(yīng)用系統(tǒng)除了要求用數(shù)據(jù)流建模外,通過構(gòu)造控制流圖(CFD),構(gòu)建控制流模型。(3)生成數(shù)據(jù)字典:對所有數(shù)據(jù)元素的輸入、輸出、存儲結(jié)構(gòu),甚至是中間計算結(jié)果進行有組織的列表。目前一般采用CASE的“結(jié)構(gòu)化分析和設(shè)計工具”來完成。(4)生成可選方案,建立需求規(guī)約:確定各種方案的成本和風(fēng)險等級,據(jù)此對各種方案進行分析,然后從中選擇一種方案,建立完整的需求規(guī)約。
結(jié)構(gòu)化設(shè)計是采用最佳的可能方法設(shè)計系統(tǒng)的各個組成部分以及各成分之間的內(nèi)部聯(lián)系的技術(shù),目的在于提出滿足系統(tǒng)需求的最佳軟件的結(jié)構(gòu),完成軟件層次圖或軟件結(jié)構(gòu)圖。其基本步驟如下:
(1)研究、分析和審查數(shù)據(jù)流圖。從軟件的需求規(guī)格說明中弄清數(shù)據(jù)流加工的過程。
(2)然后根據(jù)數(shù)據(jù)流圖決定問題的類型。數(shù)據(jù)處理問題有兩種典型的類型:變換型和事務(wù)型。針對兩種不同的類型分別進行分析處理。
(3)由數(shù)據(jù)流圖推導(dǎo)出系統(tǒng)的初始結(jié)構(gòu)圖。也就是把數(shù)據(jù)流圖映射到軟件模塊結(jié)構(gòu),設(shè)計出模塊結(jié)構(gòu)的上層。
(4)利用一些試探性原則來改進系統(tǒng)的初始結(jié)構(gòu)圖,直到得到符合要求的結(jié)構(gòu)圖為止。即在數(shù)據(jù)流圖的基礎(chǔ)上逐步分解高層模塊,設(shè)計中下層模塊,并對軟件模塊結(jié)構(gòu)進行優(yōu)化,最終得到更為合理的軟件結(jié)構(gòu)。
(5)描述模塊接口。
(6)修改和補充數(shù)據(jù)詞典。
(7)制定測試計劃。
結(jié)構(gòu)化設(shè)計可以將用數(shù)據(jù)流圖表示的信息轉(zhuǎn)換成程序結(jié)構(gòu)的設(shè)計描述。
模塊化程序設(shè)計方法就是把一個待開發(fā)的軟件系統(tǒng)分解成若干可單獨命名和編址的較為簡單的部分,這些可單獨命名和編址的部分稱為模塊。每個模塊分別獨立地開發(fā)、測試,最后再組裝出整個軟件系統(tǒng)。這種方法不僅可以將軟件系統(tǒng)開發(fā)的復(fù)雜性在分解過程中降低,便于修改、維護,而且還容易實現(xiàn)同一個系統(tǒng)不同部分的并行開發(fā),從而提高了軟件的生產(chǎn)效率。
一般,將用一個名字就可調(diào)用的一段程序稱為“模塊”。在考慮模塊化時,將模塊定義為多大較合適,模塊設(shè)計規(guī)則應(yīng)如何制定成為關(guān)鍵,下面五條標準可供參考:
(1)模塊可分解性:如果一種設(shè)計方法提供了將問題分解成子問題的系統(tǒng)化機制,它就能降低整個系統(tǒng)的復(fù)雜性,從而實現(xiàn)一種有效的模塊化解決方案。
(2)模塊可組裝性:如果一種設(shè)計方法使現(xiàn)存的設(shè)計模塊能夠被組裝成新系統(tǒng),它就能提供一種不用一切從頭開始的模塊化解決方案。
(3)模塊可理解性:如果一個模塊可以作為一個獨立的單位被理解,那么它就易于構(gòu)造和修改。
(4)模塊連續(xù)性:如果對系統(tǒng)需求的微小修改只導(dǎo)致對單個模塊而不是對整個系統(tǒng)的修改,則修改引起的副作用就會被最小化。
一般來說,對模塊采用耦合和內(nèi)聚兩個準則進行度量。如模塊內(nèi)部具有高內(nèi)聚和模塊間低耦合,那這樣的模塊就具有獨立性,模塊設(shè)計得比較好。
面向?qū)ο箝_發(fā)方法是以面向?qū)ο蟪绦蛟O(shè)計語言作為基礎(chǔ)的,其核心思想是利用面向?qū)ο蟮母拍詈头椒檐浖枨蠼⒛P?進行系統(tǒng)設(shè)計,采用面向?qū)ο蟪绦蛟O(shè)計語言進行系統(tǒng)實現(xiàn),對建成的系統(tǒng)進行面向?qū)ο蟮臏y試和維護。
如果一個軟件系統(tǒng)是使用這樣4個概念設(shè)計和實現(xiàn)的,則可以認為這個軟件系統(tǒng)是面向?qū)ο蟮?。其基本要點可以概括為:(1)數(shù)據(jù)的抽象,即類與子類的概念及相互關(guān)系。任何客觀的事物和實體都是對象,復(fù)雜對象可以由簡單對象組成。(2)數(shù)據(jù)及對它的操作的一體化,即封裝的概念和方法。具有相同數(shù)據(jù)和操作的對象可歸并為一個類,具有封裝性,形成一個包裝;對象是類的一個實例;一個類可以產(chǎn)生很多對象。(3)屬性與操作由父類向子類傳遞,即繼承的概念與方法。類可以派生出子類,繼承能避免共同行為的重復(fù)。(4)客觀事物之間的相互關(guān)系用統(tǒng)一的、消息傳遞的方法來描述。
目前廣泛使用的面向?qū)ο箝_發(fā)方法包括Booch方法、Rumbaugh方法、Coad和Yourdon方法、Jacobson方法、Wirfs-Brock方法和統(tǒng)一建模方法等。
軟件開發(fā)方法有很多種,在實際軟件開發(fā)中,就涉及到選擇適宜的開發(fā)方法的問題,具體選擇時應(yīng)綜合考慮以下方面因素:
(1) 開發(fā)人員的基本素質(zhì)及經(jīng)驗閱歷。主要看軟件開發(fā)人員是否對該方法有經(jīng)驗或受過專門訓(xùn)練。
(2) 項目進度安排及人員組成情況。要根據(jù)開發(fā)項目的時間限度、人員配備進行選擇。
(3) 現(xiàn)有資源狀況??疾楝F(xiàn)有的軟硬件環(huán)境及可使用的CASE工具等。
(4) 進行可行性研究。從計劃、組織、管理各個環(huán)節(jié)綜合考慮。選擇軟件開發(fā)方法后,還涉及對所選的開發(fā)方法進行評價。
一般說來,可以從以下四個方面來進行評價:
(1) 技術(shù)特征:支持各種技術(shù)概念的方法特色。
(2) 使用特征:具體開發(fā)時的有關(guān)特色。
(3) 管理特征:增強軟件開發(fā)活動管理能力方面的特色。
(4) 經(jīng)濟特征:使開發(fā)部門的生產(chǎn)力和軟件質(zhì)量得到提高,產(chǎn)生經(jīng)濟效益的有關(guān)特色。
軟件工程技術(shù)衍生出很多種軟件開發(fā)方法,這些方法在各自的適用領(lǐng)域表現(xiàn)出一定的優(yōu)越性和生命力,面向?qū)ο箝_發(fā)方法已逐漸成為軟件開發(fā)的主流方法,在越來越多的軟件項目開發(fā)過程中使用。
共享充電柜就是充電的一個智能柜子,就像現(xiàn)在的共享充電寶平臺,通過一個柜子裝有很多的充電寶,共享充電柜相當于一個盒子。共享充電柜APP軟件開發(fā)就是用戶根據(jù)自己的充電設(shè)備需求,選擇合適的共享充電柜,有不同的型號的共享充電柜滿足商家的使用需求。
2019-09-24
軟件開發(fā)方案的技術(shù)需求怎么寫?其中,目標的軟件描述是確定需要開發(fā)和運行哪些服務(wù)和軟件系統(tǒng),在這些服務(wù)和軟件系統(tǒng)中,約束對于發(fā)現(xiàn)服務(wù)和約束、分析和驗證活動,創(chuàng)建文檔現(xiàn)在通常被稱為需求工程.
2019-01-21
隨著云計算的快速發(fā)展近年來采用云桌面辦公的用戶越來越多,什么樣的云桌面才算是好的云桌面產(chǎn)品,在設(shè)計云桌面解決方案時注重那些原則的。
2018-12-29
視頻直播軟件開發(fā)方案概述。抖音風(fēng)潮席卷全國以后,也在國外的市場流行起來,越來越多人對于視頻以及直播關(guān)注。視頻直播軟件開發(fā)為用戶提供實時直播、短視頻上傳、購物等功能,為用戶的閑暇時間提供更多的娛樂方式。
2018-12-29
怎么選擇軟件開發(fā)方案項目外包的技術(shù)服務(wù)型公司?現(xiàn)在挑選一家靠譜的企業(yè)并不簡單,不只要比照規(guī)劃、實力,還需要斷定項目能否順利進行。怎么挑選一家靠譜的APP規(guī)劃外包公司是不少企業(yè)所憂心的工作,因而要打起十分精神來進行。
2018-12-28