軟件基礎(chǔ)知識
軟件基礎(chǔ)知識
軟件是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合。那么你對軟件了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于軟件知識的內(nèi)容,希望大家喜歡!
軟件的基本特點(diǎn)
軟件行業(yè)的上游行業(yè)為電子元器件行業(yè)和計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備行業(yè),下游為電力、石油、冶金、鋼鐵、化工、環(huán)保等行業(yè)。
軟件行業(yè)與上游行業(yè)有一定關(guān)聯(lián)性,主要體現(xiàn)在技術(shù)更新和產(chǎn)品升級,從而使本行業(yè)的產(chǎn)品方案與之聯(lián)動變化。此外,上游行業(yè)對本行業(yè)的影響還體現(xiàn)在采購成本變動上,上游行業(yè)基本屬于完全競爭性行業(yè),上游行業(yè)的產(chǎn)能不存在供應(yīng)瓶頸,電子類產(chǎn)品總體呈現(xiàn)價(jià)格下滑趨勢,對本行業(yè)發(fā)展總體比較有利。
軟件行業(yè)下游電力、環(huán)保、石油、冶金、鋼鐵、化工等行業(yè)屬于國家重點(diǎn)支持發(fā)展信息化建設(shè)的行業(yè),隨著信息化與工業(yè)化深度融合的推進(jìn),這些行業(yè)的信息化發(fā)展速度相對較快,市場空間大。這些行業(yè)對信息化軟件產(chǎn)品先進(jìn)性、可靠性、經(jīng)濟(jì)性要求很高,使得本公司必須不斷加大在新產(chǎn)品開發(fā)和技術(shù)創(chuàng)新方面的投入,以更好滿足下游行業(yè)客戶的需求。
一、軟件不同于硬件,他是計(jì)算機(jī)系統(tǒng)中的邏輯實(shí)體而不是物理實(shí)體,具有抽象性。
二、軟件的生產(chǎn)不同于硬件,它沒有明顯的制作過程,一旦開發(fā)成功,可以大量拷貝同一內(nèi)容的副本。
三、軟件在運(yùn)行過程中不會因?yàn)槭褂脮r(shí)間過長而出現(xiàn)磨損、老化以及用壞問題。
四、軟件的開發(fā)、運(yùn)行在很大程度上依賴于計(jì)算機(jī)系統(tǒng),受計(jì)算機(jī)系統(tǒng)的限制,在客觀上出現(xiàn)了軟件移植問題。
五、軟件開發(fā)復(fù)雜性高,開發(fā)周期長,成本較大。
六、軟件開發(fā)還涉及諸多的社會因素。
軟件的生命周期
軟件的生命周期是指從軟件定義、開發(fā)、使用、維護(hù)到報(bào)廢為止的整個過程,一般包括問題定義、可行性分析、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試和維護(hù)。
問題定義就是確定開發(fā)任務(wù)到底“要解決的問題是什么”,系統(tǒng)分析員通過對用戶的訪問調(diào)查,最后得出一份雙方都滿意的關(guān)于問題性質(zhì)、工程目標(biāo)和規(guī)模的書面報(bào)告。
可行性分析就是分析上一個階段所確定的問題到底“可行嗎”,系統(tǒng)分析員對系統(tǒng)要進(jìn)行更進(jìn)一步的分析,更準(zhǔn)確、更具體地確定工程規(guī)模與目標(biāo),論證在經(jīng)濟(jì)上和技術(shù)上是否可行,從而在理解工作范圍和代價(jià)的基礎(chǔ)上,做出軟件計(jì)劃。
需求分析即使對用戶要求進(jìn)行具體分析,明確“目標(biāo)系統(tǒng)要做什么”,把用戶對軟件系統(tǒng)的全部要求以需求說明書的形式表達(dá)出來。
總體設(shè)計(jì)就是把軟件的功能轉(zhuǎn)化為所需要的體系結(jié)構(gòu),也就是決定系統(tǒng)的模塊結(jié)構(gòu),并給出模塊的相互調(diào)用關(guān)系、模塊間傳達(dá)的數(shù)據(jù)及每個模塊的功能說明。
詳細(xì)設(shè)計(jì)就是決定模塊內(nèi)部的算法與數(shù)據(jù)結(jié)構(gòu),也是明確“怎么樣具體實(shí)現(xiàn)這個系統(tǒng)”。
編碼就是選取適合的程序設(shè)計(jì)語言對每個模板進(jìn)行編碼,并進(jìn)行模塊調(diào)試。
測試就是通過各種類型的測試使軟件大道預(yù)定的要求。
維護(hù)就是軟件交付給用戶使用后,對軟件不斷查錯、糾錯和修改,使系統(tǒng)持久地滿足用戶的需求。
軟件的生命周期也可以分為3個大的階段,分別是計(jì)劃階段、開發(fā)階段和維護(hù)階段。
軟件的開發(fā)流程
軟件開發(fā)是根據(jù)用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。軟件開發(fā)是一項(xiàng)包括需求捕捉,需求分析,設(shè)計(jì),實(shí)現(xiàn)和測試的系統(tǒng)工程。軟件一般是用某種程序設(shè)計(jì)語言來實(shí)現(xiàn)的。通常采用軟件開發(fā)工具可以進(jìn)行開發(fā)。
軟件開發(fā)流程即Software development process。
軟件設(shè)計(jì)思路和方法的一般過程,包括設(shè)計(jì)軟件的功能和實(shí)現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計(jì)和模塊設(shè)計(jì)、編程和調(diào)試、程序聯(lián)調(diào)和測試以及編寫、提交程序。
1 相關(guān)系統(tǒng)分析員和用戶初步了解需求,然后列出要開發(fā)的系統(tǒng)的大功能模塊,每個大功能模塊有哪些小功能模塊,對于有些需求比較明確相關(guān)的界面時(shí),在這一步里面可以初步定義好少量的界面。
2 系統(tǒng)分析員深入了解和分析需求,根據(jù)自己的經(jīng)驗(yàn)和需求做出一份文檔系統(tǒng)的功能需求文檔。這次的文檔會清楚例用系統(tǒng)大致的大功能模塊,大功能模塊有哪些小功能模塊,并且還例出相關(guān)的界面和界面功能。
3 系統(tǒng)分析員和用戶再次確認(rèn)需求。
4 系統(tǒng)分析員根據(jù)確認(rèn)的需求文檔所例用的界面和功能需求,用迭代的方式對每個界面或功能做系統(tǒng)的概要設(shè)計(jì)。
5 系統(tǒng)分析員把寫好的概要設(shè)計(jì)文檔給程序員,程序員根據(jù)所例出的功能一個一個的編寫。
6 測試編寫好的系統(tǒng)。交給用戶使用,用戶使用后一個一個的確認(rèn)每個功能,然后驗(yàn)收。
看過“軟件基礎(chǔ)知識“的人還看了: