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