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