在任何軟件或系統(tǒng)開發(fā)的初始階段必須先完全掌握用戶需求,以期能將緊隨的系統(tǒng)開發(fā)過程中哪些功能應(yīng)該落實(shí)、采取何種規(guī)格以及設(shè)定哪些限制優(yōu)先加以定位。系統(tǒng)工程師終將據(jù)此完成設(shè)計(jì)方案,在此基礎(chǔ)上對(duì)隨后的程序開發(fā)、系統(tǒng)功能和性能的描述及限制作出定義。軟件設(shè)計(jì)可以分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。實(shí)際上軟件設(shè)計(jì)的主要任務(wù)就是將軟件分解成模塊是指能實(shí)現(xiàn)某個(gè)功能的數(shù)據(jù)和程序說明、可執(zhí)行程序的程序單元??梢允且粋€(gè)函數(shù)、過程、子程序、一段帶有程序說明的的程序和數(shù)據(jù),也可以是可組合、可分解和可更換的功能單元。模塊,然后進(jìn)行模塊設(shè)計(jì)。概要設(shè)計(jì)就是結(jié)構(gòu)設(shè)計(jì),其主要目標(biāo)就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示。詳細(xì)設(shè)計(jì)的首要...
軟件開發(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ā)。軟件分為系統(tǒng)軟件和應(yīng)用軟件,并不只是包括可以在計(jì)算機(jī)上運(yùn)行的程序,與這些程序相關(guān)的文件一般也被認(rèn)為是軟件的一部分。軟件設(shè)計(jì)思路和方法的一般過程,包括設(shè)計(jì)軟件的功能和實(shí)現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計(jì)和模塊設(shè)計(jì)、編程和調(diào)試、程序聯(lián)調(diào)和測試,然后進(jìn)行編寫再提交程序。對(duì)所要解決的問題進(jìn)行總體定義,包括了解用戶的要求及現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會(huì)因素等3個(gè)方面研究并論證本軟件項(xiàng)目的可行性,編寫可行性研...
軟件生命周期模型也稱為軟件過程模型,反映軟件生存周期各個(gè)階段的工作如何組織、銜接,常用的有瀑布模型、原型模型、螺旋模型、增量模型、噴泉模型,還有建造-修補(bǔ)模型、MSF過程模型、快速原型模型。有時(shí)也稱為V模型,它是一種線型順序模型,是項(xiàng)目自始至終按照一定順序的步驟從需求分析進(jìn)展到系統(tǒng)測試直到提交用戶使用,它提供了一種結(jié)構(gòu)化的、自頂向下的軟件開發(fā)方法,每階段主要工作成果從一個(gè)階段傳遞到下一個(gè)階段,必須經(jīng)過嚴(yán)格的評(píng)審或測試,以判定是否可以開始下一階段工作,各階段相互、不重疊。瀑布模型是所有軟件生命周期模型的基礎(chǔ)。原型模型本身是一個(gè)迭代的模型,是為了解決在產(chǎn)品開發(fā)的早期階段存在的不確定性、二義性和不完...
軟件生命周期是指從軟件定義、開發(fā)、使用、維護(hù)到報(bào)廢為止的整個(gè)過程,一般包括問題定義、可行性分析、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試和維護(hù)。問題定義就是確定開發(fā)任務(wù)到底“要解決的問題是什么”,系統(tǒng)分析員通過對(duì)用戶的訪問調(diào)查,得出一份雙方都滿意的關(guān)于問題性質(zhì)、工程目標(biāo)和規(guī)模的書面報(bào)告??尚行苑治鼍褪欠治錾弦粋€(gè)階段所確定的問題到底“可行嗎”,系統(tǒng)分析員對(duì)系統(tǒng)要進(jìn)行更進(jìn)一步的分析,更準(zhǔn)確、更具體地確定工程規(guī)模與目標(biāo),論證在經(jīng)濟(jì)上和技術(shù)上是否可行,從而在理解工作范圍和代價(jià)的基礎(chǔ)上,做出軟件計(jì)劃。需求分析即使對(duì)用戶要求進(jìn)行具體分析,明確“目標(biāo)系統(tǒng)要做什么”,把用戶對(duì)軟件系統(tǒng)的全部要求以需求說明書的形...
軟件編碼是指把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序,即寫成以某一程序設(shè)計(jì)語言表示的“源程序清單”。充分了解軟件開發(fā)語言、工具的特性和編程風(fēng)格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質(zhì)量。當(dāng)前軟件開發(fā)中除在場合,已經(jīng)很少使用二十世紀(jì)80年代的高級(jí)語言了,取而代之的是面向?qū)ο蟮拈_發(fā)語言。而且面向?qū)ο蟮拈_發(fā)語言和開發(fā)環(huán)境大都合為一體,提高了開發(fā)的速度。軟件測試的目的是以較小的代價(jià)發(fā)現(xiàn)盡可能多的錯(cuò)誤。要實(shí)現(xiàn)這個(gè)目標(biāo)的關(guān)鍵在于設(shè)計(jì)一套出色的測試用例(測試數(shù)據(jù)與功能和預(yù)期的輸出結(jié)果組成了測試用例)。如何才能設(shè)計(jì)出一套出色的測試用例,關(guān)鍵在于理解測試方法。不同的測試方法有不同的測試用例設(shè)計(jì)方法。兩種常用的...
軟件(中國大陸及中國香港用語,中國臺(tái)灣稱作軟體,英文:software)是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的。一般來講軟件被劃分為系統(tǒng)軟件、應(yīng)用軟件和介于這兩者之間的中間件。軟件并不只是包括可以在計(jì)算機(jī)(這里的計(jì)算機(jī)是指廣義的計(jì)算機(jī))上運(yùn)行的電腦程序,與這些電腦程序相關(guān)的文檔一般也被認(rèn)為是軟件的一部分。簡單的說軟件就是程序加文檔的體。另也泛指社會(huì)結(jié)構(gòu)中的管理系統(tǒng)、思想意識(shí)形態(tài)、思想覺悟、法律法規(guī)等等。軟件,拼音為ruǎnjiàn,國標(biāo)中對(duì)軟件的定義為:與計(jì)算機(jī)系統(tǒng)操作有關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù)。按應(yīng)用范圍劃分,一般來講軟件被劃分為系統(tǒng)軟件、應(yīng)用軟件和介于...
軟件開發(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ā)。軟件設(shè)計(jì)思路和方法的一般過程,包括設(shè)計(jì)軟件的功能和實(shí)現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計(jì)和模塊設(shè)計(jì)、編程和調(diào)試、程序聯(lián)調(diào)和測試以及編寫、提交程序。一般指從事軟件開發(fā)職業(yè)的人。軟件工程師10余年來一直占據(jù)高薪職業(yè)排行榜的前列,作為高科技行業(yè)的,技術(shù)含量很高,職位的爭奪也異常激烈。軟件開發(fā)是一個(gè)系統(tǒng)的過程,需要經(jīng)過市場需求分析、軟件代碼編寫、軟件測試、軟件維護(hù)等程序。軟件開發(fā)工程師在整個(gè)過程中扮演著非...
軟件需求分析就是對(duì)開發(fā)什么樣的軟件的一個(gè)系統(tǒng)的分析與設(shè)想。它是一個(gè)對(duì)用戶的需求進(jìn)行去粗取精、去偽存真、正確理解,然后把它用軟件工程開發(fā)語言(形式功能規(guī)約,即需求規(guī)格說明書)表達(dá)出來的過程。本階段的基本任務(wù)是和用戶一起確定要解決的問題,建立軟件的邏輯模型,編寫需求規(guī)格說明書文檔并終得到用戶的認(rèn)可。需求分析的主要方法有結(jié)構(gòu)化分析方法、數(shù)據(jù)流程圖和數(shù)據(jù)字典等方法。本階段的工作是根據(jù)需求說明書的要求,設(shè)計(jì)建立相應(yīng)的軟件系統(tǒng)的體系結(jié)構(gòu),并將整個(gè)系統(tǒng)分解成若干個(gè)子系統(tǒng)或模塊,定義子系統(tǒng)或模塊間的接口關(guān)系,對(duì)各子系統(tǒng)進(jìn)行具體設(shè)計(jì)定義,編寫軟件概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)說明書,數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)說明書,組裝測試計(jì)劃...
軟件編碼是指把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序,即寫成以某一程序設(shè)計(jì)語言表示的“源程序清單”。充分了解軟件開發(fā)語言、工具的特性和編程風(fēng)格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質(zhì)量。當(dāng)前軟件開發(fā)中除在場合,已經(jīng)很少使用二十世紀(jì)80年代的高級(jí)語言了,取而代之的是面向?qū)ο蟮拈_發(fā)語言。而且面向?qū)ο蟮拈_發(fā)語言和開發(fā)環(huán)境大都合為一體,提高了開發(fā)的速度。軟件測試的目的是以較小的代價(jià)發(fā)現(xiàn)盡可能多的錯(cuò)誤。要實(shí)現(xiàn)這個(gè)目標(biāo)的關(guān)鍵在于設(shè)計(jì)一套出色的測試用例(測試數(shù)據(jù)與功能和預(yù)期的輸出結(jié)果組成了測試用例)。如何才能設(shè)計(jì)出一套出色的測試用例,關(guān)鍵在于理解測試方法。不同的測試方法有不同的測試用例設(shè)計(jì)方法。兩種常用的...
軟件編碼是指把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序,即寫成以某一程序設(shè)計(jì)語言表示的“源程序清單”。充分了解軟件開發(fā)語言、工具的特性和編程風(fēng)格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質(zhì)量。當(dāng)前軟件開發(fā)中除在場合,已經(jīng)很少使用二十世紀(jì)80年代的高級(jí)語言了,取而代之的是面向?qū)ο蟮拈_發(fā)語言。而且面向?qū)ο蟮拈_發(fā)語言和開發(fā)環(huán)境大都合為一體,提高了開發(fā)的速度。軟件測試的目的是以較小的代價(jià)發(fā)現(xiàn)盡可能多的錯(cuò)誤。要實(shí)現(xiàn)這個(gè)目標(biāo)的關(guān)鍵在于設(shè)計(jì)一套出色的測試用例(測試數(shù)據(jù)與功能和預(yù)期的輸出結(jié)果組成了測試用例)。如何才能設(shè)計(jì)出一套出色的測試用例,關(guān)鍵在于理解測試方法。不同的測試方法有不同的測試用例設(shè)計(jì)方法。兩種常用的...
軟件需求分析就是對(duì)開發(fā)什么樣的軟件的一個(gè)系統(tǒng)的分析與設(shè)想。它是一個(gè)對(duì)用戶的需求進(jìn)行去粗取精、去偽存真、正確理解,然后把它用軟件工程開發(fā)語言(形式功能規(guī)約,即需求規(guī)格說明書)表達(dá)出來的過程。本階段的基本任務(wù)是和用戶一起確定要解決的問題,建立軟件的邏輯模型,編寫需求規(guī)格說明書文檔并終得到用戶的認(rèn)可。需求分析的主要方法有結(jié)構(gòu)化分析方法、數(shù)據(jù)流程圖和數(shù)據(jù)字典等方法。本階段的工作是根據(jù)需求說明書的要求,設(shè)計(jì)建立相應(yīng)的軟件系統(tǒng)的體系結(jié)構(gòu),并將整個(gè)系統(tǒng)分解成若干個(gè)子系統(tǒng)或模塊,定義子系統(tǒng)或模塊間的接口關(guān)系,對(duì)各子系統(tǒng)進(jìn)行具體設(shè)計(jì)定義,編寫軟件概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)說明書,數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)說明書,組裝測試計(jì)劃...
不同的軟件一般都有對(duì)應(yīng)的軟件授權(quán),軟件的用戶必須在同意所使用軟件的許可證的情況下才能夠合法的使用軟件。從另一方面來講,特定軟件的許可條款也不能夠與法律相違背。依據(jù)許可方式的不同,大致可將軟件區(qū)分為幾類:專屬軟件:此類授權(quán)通常不允許用戶隨意的復(fù)制、研究、修改或散布該軟件。違反此類授權(quán)通常會(huì)有嚴(yán)重的法律責(zé)任。傳統(tǒng)的商業(yè)軟件公司會(huì)采用此類授權(quán),例如微軟的Windows和辦公軟件。專屬軟件的源碼通常被公司視為私有財(cái)產(chǎn)而予以嚴(yán)密的保護(hù)。自由軟件:此類授權(quán)正好與專屬軟件相反,賦予用戶復(fù)制、研究、修改和散布該軟件的權(quán)利,并提供源碼供用戶自由使用,給予些許的其它限制。以Linux、Firefox和OpenOf...
在任何軟件或系統(tǒng)開發(fā)的初始階段必須先完全掌握用戶需求,以期能將緊隨的系統(tǒng)開發(fā)過程中哪些功能應(yīng)該落實(shí)、采取何種規(guī)格以及設(shè)定哪些限制優(yōu)先加以定位。系統(tǒng)工程師終將據(jù)此完成設(shè)計(jì)方案,在此基礎(chǔ)上對(duì)隨后的程序開發(fā)、系統(tǒng)功能和性能的描述及限制作出定義。軟件設(shè)計(jì)可以分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。實(shí)際上軟件設(shè)計(jì)的主要任務(wù)就是將軟件分解成模塊是指能實(shí)現(xiàn)某個(gè)功能的數(shù)據(jù)和程序說明、可執(zhí)行程序的程序單元??梢允且粋€(gè)函數(shù)、過程、子程序、一段帶有程序說明的的程序和數(shù)據(jù),也可以是可組合、可分解和可更換的功能單元。模塊,然后進(jìn)行模塊設(shè)計(jì)。概要設(shè)計(jì)就是結(jié)構(gòu)設(shè)計(jì),其主要目標(biāo)就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示。詳細(xì)設(shè)計(jì)的首要...
軟件開發(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ā)。軟件分為系統(tǒng)軟件和應(yīng)用軟件,并不只是包括可以在計(jì)算機(jī)上運(yùn)行的程序,與這些程序相關(guān)的文件一般也被認(rèn)為是軟件的一部分。軟件設(shè)計(jì)思路和方法的一般過程,包括設(shè)計(jì)軟件的功能和實(shí)現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計(jì)和模塊設(shè)計(jì)、編程和調(diào)試、程序聯(lián)調(diào)和測試,然后進(jìn)行編寫再提交程序。對(duì)所要解決的問題進(jìn)行總體定義,包括了解用戶的要求及現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會(huì)因素等3個(gè)方面研究并論證本軟件項(xiàng)目的可行性,編寫可行性研...
不同的軟件一般都有對(duì)應(yīng)的軟件授權(quán),軟件的用戶必須在同意所使用軟件的許可證的情況下才能夠合法的使用軟件。從另一方面來講,特定軟件的許可條款也不能夠與法律相違背。依據(jù)許可方式的不同,大致可將軟件區(qū)分為幾類:專屬軟件:此類授權(quán)通常不允許用戶隨意的復(fù)制、研究、修改或散布該軟件。違反此類授權(quán)通常會(huì)有嚴(yán)重的法律責(zé)任。傳統(tǒng)的商業(yè)軟件公司會(huì)采用此類授權(quán),例如微軟的Windows和辦公軟件。專屬軟件的源碼通常被公司視為私有財(cái)產(chǎn)而予以嚴(yán)密的保護(hù)。自由軟件:此類授權(quán)正好與專屬軟件相反,賦予用戶復(fù)制、研究、修改和散布該軟件的權(quán)利,并提供源碼供用戶自由使用,給予些許的其它限制。以Linux、Firefox和OpenOf...
整個(gè)產(chǎn)品被分解成若干個(gè)構(gòu)件,開發(fā)人員逐個(gè)構(gòu)件地交付產(chǎn)品,這樣做的好處是軟件開發(fā)可以較好地適應(yīng)變化,客戶可以不斷地看到所開發(fā)的軟件,從而降低開發(fā)風(fēng)險(xiǎn)。一些大型系統(tǒng)往往需要很多年才能完成或者客戶急于實(shí)現(xiàn)系統(tǒng),各子系統(tǒng)往往采用增量開發(fā)的模式,先實(shí)現(xiàn)的產(chǎn)品,即實(shí)現(xiàn)基本的需求,但很多補(bǔ)充的特性(其中一些是已知的,另外一些是未知的)在下一期發(fā)布。增量模型強(qiáng)調(diào)每一個(gè)增量均發(fā)布一個(gè)可操作產(chǎn)品,每個(gè)增量構(gòu)建仍然遵循設(shè)計(jì)-編碼-測試的瀑布模型。早在20世紀(jì)50年代末期,軟件領(lǐng)域中就出現(xiàn)了迭代模型。早的迭代過程可能被描述為“分段模型”。迭代,包括產(chǎn)生產(chǎn)品發(fā)布(穩(wěn)定、可執(zhí)行的產(chǎn)品版本)的全部開發(fā)活動(dòng)和要使用該發(fā)布必需...
系統(tǒng)軟件為計(jì)算機(jī)使用提供基本的功能,可分為操作系統(tǒng)和支撐軟件,其中操作系統(tǒng)是基本的軟件。系統(tǒng)軟件是負(fù)責(zé)管理計(jì)算機(jī)系統(tǒng)中各種的硬件,使得它們可以協(xié)調(diào)工作。系統(tǒng)軟件使得計(jì)算機(jī)使用者和其他軟件將計(jì)算機(jī)當(dāng)作一個(gè)整體而不需要顧及到底層每個(gè)硬件是如何工作的。1.操作系統(tǒng)是一管理計(jì)算機(jī)硬件與軟件資源的程序,同時(shí)也是計(jì)算機(jī)系統(tǒng)的內(nèi)核與基石。操作系統(tǒng)身負(fù)諸如管理與配置內(nèi)存、決定系統(tǒng)資源供需的優(yōu)先次序、控制輸入與輸出設(shè)備、操作網(wǎng)絡(luò)與管理文件系統(tǒng)等基本事務(wù)。操作系統(tǒng)也提供一個(gè)讓使用者與系統(tǒng)交互的操作接口。2.支撐軟件是支撐各種軟件的開發(fā)與維護(hù)的軟件,又稱為軟件開發(fā)環(huán)境(SDE)。它主要包括環(huán)境數(shù)據(jù)庫、各種接口軟件和...
用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果。白盒法和黑盒法依據(jù)的是軟件的功能或軟件行為描述,發(fā)現(xiàn)軟件的接口、功能和結(jié)構(gòu)錯(cuò)誤。其中接口錯(cuò)誤包括內(nèi)部/外部接口、資源管理、集成化以及系統(tǒng)錯(cuò)誤。黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。維護(hù)是指在已完成對(duì)軟件的研制(分析、設(shè)計(jì)、編碼和測試)工作并交付使用以后,對(duì)軟件產(chǎn)品所進(jìn)行的一些軟件工程的活動(dòng)。即根據(jù)軟件運(yùn)行的情況,對(duì)軟件進(jìn)行適當(dāng)修改,以適應(yīng)新的要求,以及糾正運(yùn)行中發(fā)現(xiàn)的錯(cuò)誤。編寫軟件問題報(bào)告、軟件修改報(bào)告。在實(shí)際開發(fā)過程中,軟件開發(fā)并不是從第一步進(jìn)行到一步,而是在任何階段,在進(jìn)入下一階段前一般都有一步或幾步的回...
軟件生命周期是指從軟件定義、開發(fā)、使用、維護(hù)到報(bào)廢為止的整個(gè)過程,一般包括問題定義、可行性分析、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試和維護(hù)。問題定義就是確定開發(fā)任務(wù)到底“要解決的問題是什么”,系統(tǒng)分析員通過對(duì)用戶的訪問調(diào)查,得出一份雙方都滿意的關(guān)于問題性質(zhì)、工程目標(biāo)和規(guī)模的書面報(bào)告??尚行苑治鼍褪欠治錾弦粋€(gè)階段所確定的問題到底“可行嗎”,系統(tǒng)分析員對(duì)系統(tǒng)要進(jìn)行更進(jìn)一步的分析,更準(zhǔn)確、更具體地確定工程規(guī)模與目標(biāo),論證在經(jīng)濟(jì)上和技術(shù)上是否可行,從而在理解工作范圍和代價(jià)的基礎(chǔ)上,做出軟件計(jì)劃。需求分析即使對(duì)用戶要求進(jìn)行具體分析,明確“目標(biāo)系統(tǒng)要做什么”,把用戶對(duì)軟件系統(tǒng)的全部要求以需求說明書的形...
軟件生命周期是指從軟件定義、開發(fā)、使用、維護(hù)到報(bào)廢為止的整個(gè)過程,一般包括問題定義、可行性分析、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試和維護(hù)。問題定義就是確定開發(fā)任務(wù)到底“要解決的問題是什么”,系統(tǒng)分析員通過對(duì)用戶的訪問調(diào)查,得出一份雙方都滿意的關(guān)于問題性質(zhì)、工程目標(biāo)和規(guī)模的書面報(bào)告??尚行苑治鼍褪欠治錾弦粋€(gè)階段所確定的問題到底“可行嗎”,系統(tǒng)分析員對(duì)系統(tǒng)要進(jìn)行更進(jìn)一步的分析,更準(zhǔn)確、更具體地確定工程規(guī)模與目標(biāo),論證在經(jīng)濟(jì)上和技術(shù)上是否可行,從而在理解工作范圍和代價(jià)的基礎(chǔ)上,做出軟件計(jì)劃。需求分析即使對(duì)用戶要求進(jìn)行具體分析,明確“目標(biāo)系統(tǒng)要做什么”,把用戶對(duì)軟件系統(tǒng)的全部要求以需求說明書的形...
軟件開發(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ā)。軟件分為系統(tǒng)軟件和應(yīng)用軟件,并不只是包括可以在計(jì)算機(jī)上運(yùn)行的程序,與這些程序相關(guān)的文件一般也被認(rèn)為是軟件的一部分。軟件設(shè)計(jì)思路和方法的一般過程,包括設(shè)計(jì)軟件的功能和實(shí)現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計(jì)和模塊設(shè)計(jì)、編程和調(diào)試、程序聯(lián)調(diào)和測試,然后進(jìn)行編寫再提交程序。對(duì)所要解決的問題進(jìn)行總體定義,包括了解用戶的要求及現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會(huì)因素等3個(gè)方面研究并論證本軟件項(xiàng)目的可行性,編寫可行性研...
用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果。白盒法和黑盒法依據(jù)的是軟件的功能或軟件行為描述,發(fā)現(xiàn)軟件的接口、功能和結(jié)構(gòu)錯(cuò)誤。其中接口錯(cuò)誤包括內(nèi)部/外部接口、資源管理、集成化以及系統(tǒng)錯(cuò)誤。黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。維護(hù)是指在已完成對(duì)軟件的研制(分析、設(shè)計(jì)、編碼和測試)工作并交付使用以后,對(duì)軟件產(chǎn)品所進(jìn)行的一些軟件工程的活動(dòng)。即根據(jù)軟件運(yùn)行的情況,對(duì)軟件進(jìn)行適當(dāng)修改,以適應(yīng)新的要求,以及糾正運(yùn)行中發(fā)現(xiàn)的錯(cuò)誤。編寫軟件問題報(bào)告、軟件修改報(bào)告。在實(shí)際開發(fā)過程中,軟件開發(fā)并不是從第一步進(jìn)行到一步,而是在任何階段,在進(jìn)入下一階段前一般都有一步或幾步的回...
軟件編碼是指把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序,即寫成以某一程序設(shè)計(jì)語言表示的“源程序清單”。充分了解軟件開發(fā)語言、工具的特性和編程風(fēng)格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質(zhì)量。當(dāng)前軟件開發(fā)中除在場合,已經(jīng)很少使用二十世紀(jì)80年代的高級(jí)語言了,取而代之的是面向?qū)ο蟮拈_發(fā)語言。而且面向?qū)ο蟮拈_發(fā)語言和開發(fā)環(huán)境大都合為一體,提高了開發(fā)的速度。軟件測試的目的是以較小的代價(jià)發(fā)現(xiàn)盡可能多的錯(cuò)誤。要實(shí)現(xiàn)這個(gè)目標(biāo)的關(guān)鍵在于設(shè)計(jì)一套出色的測試用例(測試數(shù)據(jù)與功能和預(yù)期的輸出結(jié)果組成了測試用例)。如何才能設(shè)計(jì)出一套出色的測試用例,關(guān)鍵在于理解測試方法。不同的測試方法有不同的測試用例設(shè)計(jì)方法。兩種常用的...
軟件生命周期模型也稱為軟件過程模型,反映軟件生存周期各個(gè)階段的工作如何組織、銜接,常用的有瀑布模型、原型模型、螺旋模型、增量模型、噴泉模型,還有建造-修補(bǔ)模型、MSF過程模型、快速原型模型。有時(shí)也稱為V模型,它是一種線型順序模型,是項(xiàng)目自始至終按照一定順序的步驟從需求分析進(jìn)展到系統(tǒng)測試直到提交用戶使用,它提供了一種結(jié)構(gòu)化的、自頂向下的軟件開發(fā)方法,每階段主要工作成果從一個(gè)階段傳遞到下一個(gè)階段,必須經(jīng)過嚴(yán)格的評(píng)審或測試,以判定是否可以開始下一階段工作,各階段相互、不重疊。瀑布模型是所有軟件生命周期模型的基礎(chǔ)。原型模型本身是一個(gè)迭代的模型,是為了解決在產(chǎn)品開發(fā)的早期階段存在的不確定性、二義性和不完...
系統(tǒng)軟件為計(jì)算機(jī)使用提供基本的功能,可分為操作系統(tǒng)和支撐軟件,其中操作系統(tǒng)是基本的軟件。系統(tǒng)軟件是負(fù)責(zé)管理計(jì)算機(jī)系統(tǒng)中各種的硬件,使得它們可以協(xié)調(diào)工作。系統(tǒng)軟件使得計(jì)算機(jī)使用者和其他軟件將計(jì)算機(jī)當(dāng)作一個(gè)整體而不需要顧及到底層每個(gè)硬件是如何工作的。1.操作系統(tǒng)是一管理計(jì)算機(jī)硬件與軟件資源的程序,同時(shí)也是計(jì)算機(jī)系統(tǒng)的內(nèi)核與基石。操作系統(tǒng)身負(fù)諸如管理與配置內(nèi)存、決定系統(tǒng)資源供需的優(yōu)先次序、控制輸入與輸出設(shè)備、操作網(wǎng)絡(luò)與管理文件系統(tǒng)等基本事務(wù)。操作系統(tǒng)也提供一個(gè)讓使用者與系統(tǒng)交互的操作接口。2.支撐軟件是支撐各種軟件的開發(fā)與維護(hù)的軟件,又稱為軟件開發(fā)環(huán)境(SDE)。它主要包括環(huán)境數(shù)據(jù)庫、各種接口軟件和...
軟件需求分析就是對(duì)開發(fā)什么樣的軟件的一個(gè)系統(tǒng)的分析與設(shè)想。它是一個(gè)對(duì)用戶的需求進(jìn)行去粗取精、去偽存真、正確理解,然后把它用軟件工程開發(fā)語言(形式功能規(guī)約,即需求規(guī)格說明書)表達(dá)出來的過程。本階段的基本任務(wù)是和用戶一起確定要解決的問題,建立軟件的邏輯模型,編寫需求規(guī)格說明書文檔并終得到用戶的認(rèn)可。需求分析的主要方法有結(jié)構(gòu)化分析方法、數(shù)據(jù)流程圖和數(shù)據(jù)字典等方法。本階段的工作是根據(jù)需求說明書的要求,設(shè)計(jì)建立相應(yīng)的軟件系統(tǒng)的體系結(jié)構(gòu),并將整個(gè)系統(tǒng)分解成若干個(gè)子系統(tǒng)或模塊,定義子系統(tǒng)或模塊間的接口關(guān)系,對(duì)各子系統(tǒng)進(jìn)行具體設(shè)計(jì)定義,編寫軟件概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)說明書,數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)說明書,組裝測試計(jì)劃...
不同的軟件一般都有對(duì)應(yīng)的軟件授權(quán),軟件的用戶必須在同意所使用軟件的許可證的情況下才能夠合法的使用軟件。從另一方面來講,特定軟件的許可條款也不能夠與法律相違背。依據(jù)許可方式的不同,大致可將軟件區(qū)分為幾類:專屬軟件:此類授權(quán)通常不允許用戶隨意的復(fù)制、研究、修改或散布該軟件。違反此類授權(quán)通常會(huì)有嚴(yán)重的法律責(zé)任。傳統(tǒng)的商業(yè)軟件公司會(huì)采用此類授權(quán),例如微軟的Windows和辦公軟件。專屬軟件的源碼通常被公司視為私有財(cái)產(chǎn)而予以嚴(yán)密的保護(hù)。自由軟件:此類授權(quán)正好與專屬軟件相反,賦予用戶復(fù)制、研究、修改和散布該軟件的權(quán)利,并提供源碼供用戶自由使用,給予些許的其它限制。以Linux、Firefox和OpenOf...
原型只是真實(shí)系統(tǒng)的一部分或一個(gè)模型,完全可能不完成任何有用的事情,通常包括拋棄型和進(jìn)化型兩種,拋棄型指原型建立、分析之后要扔掉,整個(gè)系統(tǒng)重新分析和設(shè)計(jì);進(jìn)化型則是對(duì)需求的定義較清楚的情形,原型建立之后要保留,作為系逐漸增加的基礎(chǔ),采用進(jìn)化型一定要重視軟件設(shè)計(jì)的系統(tǒng)性和完整性,并且在質(zhì)量要求方面沒有捷徑,因此,對(duì)于描述相同的功能,建立進(jìn)化型原型比建立拋棄型原型所花的時(shí)間要多。原型建立確認(rèn)需求之后采用瀑布模型的方式完成項(xiàng)目開發(fā)。與建造大廈相同,軟件也是一步一步建造起來的。在增量模型中,軟件被作為一系列的增量構(gòu)件來設(shè)計(jì)、實(shí)現(xiàn)、集成和測試,每一個(gè)構(gòu)件是由多種相互作用的模塊所形成的提供特定功能的代碼片段...
軟件開發(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ā)。軟件設(shè)計(jì)思路和方法的一般過程,包括設(shè)計(jì)軟件的功能和實(shí)現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計(jì)和模塊設(shè)計(jì)、編程和調(diào)試、程序聯(lián)調(diào)和測試以及編寫、提交程序。一般指從事軟件開發(fā)職業(yè)的人。軟件工程師10余年來一直占據(jù)高薪職業(yè)排行榜的前列,作為高科技行業(yè)的,技術(shù)含量很高,職位的爭奪也異常激烈。軟件開發(fā)是一個(gè)系統(tǒng)的過程,需要經(jīng)過市場需求分析、軟件代碼編寫、軟件測試、軟件維護(hù)等程序。軟件開發(fā)工程師在整個(gè)過程中扮演著非...
系統(tǒng)軟件為計(jì)算機(jī)使用提供基本的功能,可分為操作系統(tǒng)和支撐軟件,其中操作系統(tǒng)是基本的軟件。系統(tǒng)軟件是負(fù)責(zé)管理計(jì)算機(jī)系統(tǒng)中各種的硬件,使得它們可以協(xié)調(diào)工作。系統(tǒng)軟件使得計(jì)算機(jī)使用者和其他軟件將計(jì)算機(jī)當(dāng)作一個(gè)整體而不需要顧及到底層每個(gè)硬件是如何工作的。1.操作系統(tǒng)是一管理計(jì)算機(jī)硬件與軟件資源的程序,同時(shí)也是計(jì)算機(jī)系統(tǒng)的內(nèi)核與基石。操作系統(tǒng)身負(fù)諸如管理與配置內(nèi)存、決定系統(tǒng)資源供需的優(yōu)先次序、控制輸入與輸出設(shè)備、操作網(wǎng)絡(luò)與管理文件系統(tǒng)等基本事務(wù)。操作系統(tǒng)也提供一個(gè)讓使用者與系統(tǒng)交互的操作接口。2.支撐軟件是支撐各種軟件的開發(fā)與維護(hù)的軟件,又稱為軟件開發(fā)環(huán)境(SDE)。它主要包括環(huán)境數(shù)據(jù)庫、各種接口軟件和...