-
當前位置:首頁 > 創(chuàng)意學院 > 景觀設計 > 專題列表 > 正文
軟件是怎么設計的(軟件是怎么設計的圖片)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于軟件是怎么設計的的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內容,越精準,寫出的就越詳細,有微信小程序端、在線網頁版、PC客戶端
創(chuàng)意嶺作為行業(yè)內優(yōu)秀的企業(yè),服務客戶遍布全球各地,如需了解相關業(yè)務請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、電腦上的軟件是怎么做出來的?
軟件開發(fā)流程
先上一個軟件開發(fā)的整體流程圖,這就是大名鼎鼎的“瀑布模型(Waterfall Model)”。據說由溫斯頓·羅伊斯(Winston Royce)在1970年提出。
瀑布模型的特點為:上一階段的結果為本階段的輸入,開發(fā)進程從一個階段“流動”到下一個階段。
(圖中右側括號中為每個階段的輸出物。)
一般軟件售前人員對這個流程比較熟悉,這其中項目規(guī)劃、可行性論證報告、需求說明書等,通常都由IT售前人員提供。
如果將瀑布模型的設計部分分為總體設計、詳細設計兩部分,即“軟件開發(fā)的8個流程”:
1、問題定義階段
用戶提出一個軟件開發(fā)需求以后,分析人員首先要明確軟件的實現目標、規(guī)模及類型:如它是數據處理問題還是實時控制問題,是科學計算問題還是人工智能問題等。
2、可行性研究
基本任務:“對于上一個階段所確定的問題有行得通的解決辦法嗎”?
內容包括經濟可行性、技術可行性、法律可行性、不同方案。
結束標準:提出關于問題性質、工程目標和規(guī)模的問題定義書面報告;提出可行性研究報告。
3. 需求分析
基本任務:“為了解決這個問題,目標系統(tǒng)必須做什么?”
確定系統(tǒng)必須具有的功能和性能,系統(tǒng)要求的運行環(huán)境,并且預測系統(tǒng)發(fā)展的前景。
結束標準:軟件需求規(guī)格說明書(specification)
4. 總體設計(概要設計)
基本任務:“概括地說,應如何解決這個問題?”
設計出實現目標系統(tǒng)的幾種可能的方案。推薦一個最佳方案。
結束標準:概要設計文檔
5. 詳細設計
基本任務:“應該怎樣具體地實現這個系統(tǒng)呢?”
結束標準:設計出程序的詳細規(guī)格說明。
6. 編碼
基本任務:寫出正確的容易理解、容易維護的程序模塊
結束標準:以某種程序設計語言表示的源程序清單
7. 測試(單元測試和綜合測試)
基本任務:在設計測試用例的基礎上檢驗軟件的各個組成部分是否達到預定的要求。
結束標準:軟件合格,能交付用戶使用。
8. 軟件維護
基本任務:使系統(tǒng)持久地滿足用戶的需要。
改正性維護,適應性維護,完善性維護,預防性維護。
雖然后來提出很多模型,如演化模型(evolutionary model)、增量模型(incremental model)、原型模型(prototyping model)等,但現在軟件開發(fā)的流程,依然總體遵循瀑布模型。
如何搭建一個系統(tǒng)
說完流程,再說說系統(tǒng)是如何被開發(fā)人員搭建出來的。
系統(tǒng)的百度百科定義為:軟件系統(tǒng)(Software Systems)是指由系統(tǒng)軟件、支撐軟件和應用軟件組成的計算機軟件系統(tǒng),它是計算機系統(tǒng)中由軟件組成的部分。
搭建系統(tǒng)可以分為三個步驟:環(huán)境部署、軟件開發(fā)、軟件部署。
1、環(huán)境部署
準備服務器,部署操作系統(tǒng)、軟件環(huán)境、安全軟件、FTP服務器等。數據庫和應用可分開布置在多個服務器,也可布置在同一服務器。
準備網絡,分為內網和外網。外網需要購買公網IP和域名。
負責人:網絡管理員
2、軟件開發(fā)
包括開發(fā)語言選擇、架構設計、數據庫設計等工作,并進行編碼、編譯、測試、打包。
負責人:程序員
3、軟件部署
將程序文件上傳到服務器,進行部署、配置,成功后即可通過客戶端訪問項目。
負責人:軟件實施
軟件開發(fā)階段
下面以java語言開發(fā)為例,簡單講講程序員是如何進行軟件開發(fā)的。
(本部分參考了“軟帝在線”公眾號、博客園“架構與我”的文章)。
1、新建java文件(或工程)
java源代碼本質上就是普通的文本文件,可以用txt等工具編輯java代碼(程序員一般采用源代碼編輯工具,如:Notepad++;或集成開發(fā)工具IDE,如:Eclipse)。txt編寫后需將文件擴展名改成java。
2、編寫代碼
以“Hello World”舉例編寫代碼:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
該程序表示的意思是輸出Hello World這樣一段話。
3、編譯程序
Java程序之所以能做到跨平臺運行,是因為Java程序運行在JVM中的,然而JVM只能夠識別字節(jié)碼文件,而不能直接識別Java文件。所以需要先將Java文件編譯成字節(jié)碼文件,即class文件,然后字節(jié)碼文件才能夠在JVM中運行。
編譯文件,可以通過手動執(zhí)行Dos命令javac,或直接用編譯器如Eclipse完成。
4、運行程序
可在Dos命令窗口中輸入java命令,按回車,輸出Hello World;
或在編譯器的控制臺中看到輸出結果。
5、單元測試
單元測試(模塊測試)是開發(fā)者對編寫的一小段代碼,檢驗一個很小的、很明確的功能是否正確。
通常采用JUnit框架(多數java開發(fā)環(huán)境已集成)進行測試,即所謂白盒測試,叫“白盒”是因為程序員知道被測試的軟件如何(How)完成功能和完成什么樣(What)的功能。
測試通過后,就完成了軟件開發(fā)階段,可以打包部署了。(IT售前圈)
二、軟件設計的基本原理包括哪些內容
軟件設計的基本原理包括的內容:
1、模塊化:指解決問題時自頂向下的方法逐層把軟件系統(tǒng)劃分成若干個模塊的過程;
2、抽象:認識復雜過程中使用的思維工具,即抽出事務的本質的共同的特性而暫不考慮它的細節(jié)和其他因素;
3、信息隱蔽:旨在設計和確定模塊式的時候,是的一個模塊內包含的信息,對于不需要這些信息的其他模塊來說不可訪問;
4、模塊獨立性:指每個模塊只完成系統(tǒng)要求的獨立的功能,并且與其他模塊聯(lián)系最少且接口簡單。
三、制作一個可以用的軟件,需要經過哪些步驟
一、制作步驟
1、概要設計,所謂概要設計,就是對將要開發(fā)的軟件進行一個大概功能的設計,主要包括:軟件所實現哪些功能和功能實現的程度;一個軟件的功能是無法估計的,只要有需要,就可以添加相應的功能,如果沒有一個計劃,盲目的做,那么這個項目到最后的期限是不可能做完的。這一點在整個的流程中也是相當重要的,它關系到能不能按期完成。
2、做完概要設計之后,還要對其進行詳細的說明,對每個功能所包括哪些小功能進行一一說明;這樣開發(fā)人員在開發(fā)過程中才有一個明確的目標,以保障開發(fā)工作的合理分配和管理。
3、做完詳細功能設計之后,就可以根據詳細設計書并按照軟件 開發(fā)代碼規(guī)范進行編碼了。
4、軟件測試階段,不能認為編碼完成,軟件就結束了,在軟件開發(fā)過程當中,測試也是相當重要的;測試主要包括使用Junit工具單體測試和結合測試。只有測試才能知道這個軟件有沒有Bug,才能知道軟件的健壯性。在規(guī)范化的研發(fā)流程中,編碼工作在整個項目流程里最多不會超過1/2,通常在1/3的時間,所謂磨刀不誤砍柴功,設計過程完成的好,編碼效率就會極大提高,編碼時不同模塊之間的進度協(xié)調和協(xié)作是最需要小心的,也許一個小模塊的問題就可能影響了整體進度,讓很多程序員因此被迫停下工作等待,這種問題在很多研發(fā)過程中都出現過。編碼時的相互溝通和應急的解決手段都是相當重要的,對于程序員而言,bug永遠存在,必須永遠面對這個問題。
5、測試編寫好的系統(tǒng)。交給用戶使用,用戶使用后一個一個的確認每個功能,然后驗收。
二、軟件開發(fā)環(huán)境
軟件開發(fā)環(huán)境在歐洲又叫集成式項目支持環(huán)境(Integrated Project Support Environment,IPSE)。 軟件開發(fā)環(huán)境的主要組成成分是軟件工具。人機界面是軟件開發(fā)環(huán)境與用戶之間的一個統(tǒng)一的交互式對話系統(tǒng),它是軟件開發(fā)環(huán)境的重要質量標志。存儲各種軟件工具加工所產生的軟件產品或半成品(如 源代碼、測試數據和各種文檔資料等)的軟件環(huán)境數據庫是軟件開發(fā)環(huán)境的核心。工具間的聯(lián)系和相互理解都是通過存儲在信息庫中的共享數據得以實現的。
軟件開發(fā)環(huán)境數據庫是面向軟件工作者的知識型信息數據庫,其數據對象是多元化、帶有智能性質的。軟件開發(fā)數據庫用來支撐各種軟件工具,尤其是自動設計工具、編譯程序等的主動或被動的工作。
較初級的SDE數據庫一般包含通用子程序庫、可重組的程序加工信息庫、模塊描述與接口信息庫、軟件測試與糾錯依據信息庫等;較完整的SDE數據庫還應包括可行性與需求信息檔案、階段設計詳細檔案、測試驅動數據庫、軟件維護檔案等。更進一步的要求是面向軟件規(guī)劃到實現、維護全過程的自動進行,這要求SDE數據庫系統(tǒng)是具有智能的,其中比較基本的智能結果是軟件編碼的自動實現和優(yōu)化、軟件工程項目的多方面不同角度的自我分析與總結。這種智能結果還應主動地被重新改造、學習,以豐富SDE數據庫的知識、信息和軟件積累。這時候,軟件開發(fā)環(huán)境在軟件工程人員的恰當的外部控制或幫助下逐步向高度智能與自動化邁進。
軟件實現的根據是計算機語言。時至今日,計算機語言發(fā)展為算法語言、數據庫語言、智能模擬語言等多種門類,在幾十種重要的算法語言中,C&C++語言日益成為廣大計算機軟件工作人員的親密伙伴,這不僅因為它功能強大、構造靈活,更在于它提供了高度結構化的語法、簡單而統(tǒng)一的軟件構造方式,使得以它為主構造的SDE數據庫的基礎成分——子程序庫的設計與建設顯得異常的方便。
事實上,以C&C++為背景建立的SDE子程序庫能為軟件工作者提供比較有效、靈活、方便、友好的自動編碼基礎,尤其是C++的封裝等特性,更適合大項目的開發(fā)管理和維護。
三、開發(fā)工具
1、軟件建模工具,用于描述系統(tǒng)的需求,輔助設計。
2、軟件實施工具,用于程序設計,編碼和編譯,包括程序語言開發(fā)環(huán)境和集成開發(fā)環(huán)境。
3、前者主要提供程序語言的預編譯,編譯,鏈接的工具,后者包括代碼編輯器在內的編輯器,代碼生成器,運行環(huán)境和調試器。
4、模擬運行平臺,用于模擬系統(tǒng)的實際運行環(huán)境。
5、軟件測試工具,用于對系統(tǒng),子系統(tǒng),模塊或單元進行測試的工具。
6、軟件開發(fā)支撐工具,主要是軟件配置管理工具。
四、app軟件如何制作?
app怎么制作詳情如下:
APP開發(fā)款式分為固定款和定制款,兩者的價格均不相同。
固定款:是指直接套用已有的、現成的APP固定模板,報價是固定的,所需要的功能也是固定的,缺點就是客戶拿不到源代碼,也不能根據企業(yè)需求進行定制,由于源代碼是封裝的,如果企業(yè)以后想進行功能升級或系統(tǒng)維護的話,也不能夠實現,只能重新開發(fā)一個新的軟件。固定款的APP開發(fā)時間短,約2~3日的時間即可完成,費用大約在幾千到幾萬之間。
定制款:定制款是指APP的功能全部重新開發(fā),過程比較繁瑣,需要美工、策劃、APP開發(fā)(前臺/客戶端/手機端)、后臺程序員等工種協(xié)同完成,大型的、功能復雜的APP甚至需要數十人的團隊。由于APP的功能和設計都是定制的,因此價格會高些。定制款的開發(fā)時間與開發(fā)價格是成正比的,開發(fā)時間長,大約在兩三個月甚至不定的周期里才能完成,而費用大概在幾萬甚至十幾萬左右。
以上就是關于軟件是怎么設計的相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內容。
推薦閱讀:
湖州建筑景觀設計聯(lián)系電話(湖州建筑景觀設計聯(lián)系電話查詢)