軟件是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的組合。一般來講軟件被劃分為系統(tǒng)軟件、應(yīng)用軟件和介于這兩者之間的中間件。軟件并不只是包括可以在計(jì)算機(jī)上運(yùn)行的電腦程序,與這些電腦程序相關(guān)的文檔一般也被認(rèn)為是軟件的一部分。簡單的說軟件就是程序加文檔的組合體。另也泛指社會(huì)結(jié)構(gòu)中的管理系統(tǒng)、思想意識(shí)形態(tài)、思想覺悟、法律法規(guī)等等。國標(biāo)中對(duì)軟件的定義為:與計(jì)算機(jī)系統(tǒng)操作有關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù)。軟件的許可條款也不能夠與法律相違背。湖南遠(yuǎn)程培訓(xùn)軟件建設(shè)
軟件的模型中,原型模型本身是一個(gè)迭代的模型,是為了解決在產(chǎn)品開發(fā)的早期階段存在的不確定性、二義性和不完整性等問題,通過建立原型使開發(fā)者進(jìn)一步確定其應(yīng)開發(fā)的產(chǎn)品,使開發(fā)者的想象更具體化,也更易于被客戶所理解。原型只是真實(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ā)。重慶在線教育軟件建設(shè)軟件使各種獨(dú)特的硬件可以協(xié)調(diào)工作。
軟件領(lǐng)域中就出現(xiàn)了迭代模型。一開始的迭代過程可能被描述為“分段模型”。迭代,包括產(chǎn)生產(chǎn)品發(fā)布(穩(wěn)定、可執(zhí)行的產(chǎn)品版本)的全部開發(fā)活動(dòng)和要使用該發(fā)布必需的所有其他元素。所以,在某種程度上,開發(fā)迭代是一次完整地經(jīng)過所有工作流程的過程:(至少包括)需求工作流程、分析設(shè)計(jì)工作流程、實(shí)施工作流程和測試工作流程。實(shí)質(zhì)上,它類似小型的瀑布式項(xiàng)目。所有的階段(需求及其它)都可以細(xì)分為迭代。每一次的迭代都會(huì)產(chǎn)生一個(gè)可以發(fā)布的產(chǎn)品,這個(gè)產(chǎn)品是之后產(chǎn)品的一個(gè)子集。
不同的軟件一般都有對(duì)應(yīng)的軟件授權(quán),軟件的用戶必須在同意所使用軟件的許可證的情況下才能夠合法的使用軟件。從另一方面來講,特定軟件的許可條款也不能夠與法律相違背。依據(jù)許可方式的不同,大致可將軟件區(qū)分為幾類: 專屬軟件:此類授權(quán)通常不允許用戶隨意的復(fù)制、研究、修改或散布該軟件。違反此類授權(quán)通常會(huì)有嚴(yán)重的法律責(zé)任。專屬軟件的源碼通常被公司視為私有財(cái)產(chǎn)而予以嚴(yán)密的保護(hù)。自由軟件:此類授權(quán)正好與專屬軟件相反,賦予用戶復(fù)制、研究、修改和散布該軟件的權(quán)利,并提供源碼供用戶自由使用,只要給予些許的其它限制。共享軟件:通常可輕松的取得并使用其試用版,但在功能或使用期間上受到限制。開發(fā)者會(huì)鼓勵(lì)用戶付費(fèi)以取得功能完整的商業(yè)版本。根據(jù)共享軟件作者的授權(quán),用戶可以從各種渠道輕松得到它的拷貝,也可以自由傳播它。普通軟件:可輕松取得和轉(zhuǎn)載,但并不提供源碼,也無法修改。公共軟件:原作者已放棄權(quán)利,著作權(quán)過期,或作者已經(jīng)不可考究的軟件。使用上無任何限制。自由軟件要給予其它的限制。
在增量模型中,軟件被作為一系列的增量構(gòu)件來設(shè)計(jì)、實(shí)現(xiàn)、集成和測試,每一個(gè)構(gòu)件是由多種相互作用的模塊所形成的提供特定功能的代碼片段構(gòu)成。增量模型在各個(gè)階段并不交付一個(gè)可運(yùn)行的完整產(chǎn)品,而是交付滿足客戶需求的一個(gè)子集的可運(yùn)行產(chǎ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ì)-編碼-測試的瀑布模型。軟件開發(fā)工具可以進(jìn)行開發(fā)。湖南遠(yuǎn)程培訓(xùn)軟件建設(shè)
據(jù)共享軟件作者的授權(quán),用戶可以從各種渠道輕松得到它的拷貝,也可以自由傳播它。湖南遠(yuǎn)程培訓(xùn)軟件建設(shè)
螺旋模式:是一種可較好的規(guī)避開發(fā)風(fēng)險(xiǎn)過程的模式,項(xiàng)目是基于任務(wù)的螺旋式推進(jìn),每個(gè)螺旋由內(nèi)之外分別是需求分析、軟件設(shè)計(jì)、系統(tǒng)集成、驗(yàn)證與交付。軟件開發(fā)的整個(gè)過程:①需要項(xiàng)目團(tuán)隊(duì),組建優(yōu)良的團(tuán)隊(duì)可以開發(fā)出更搞質(zhì)量的軟件產(chǎn)品。任務(wù)開發(fā)團(tuán)隊(duì)要求小而精,成員大多在8人以內(nèi),主要成員有項(xiàng)目負(fù)責(zé)人、開發(fā)人員、資料管理員和軟件測試員。②項(xiàng)目計(jì)劃是為了使軟件開發(fā)各項(xiàng)工作有秩序地進(jìn)行,包括任務(wù)分配和基于里程碑的進(jìn)度安排,甘特圖和任務(wù)網(wǎng)絡(luò)圖是用來描述進(jìn)度計(jì)劃的工具。項(xiàng)目計(jì)劃書可以作為軟件開發(fā)的工作指南。③項(xiàng)目成本估算,由于項(xiàng)目有來自各方面的成本包括工資開支、場地費(fèi)、差旅費(fèi)、設(shè)備費(fèi)和資料費(fèi)等,但是軟件主要是對(duì)人力成本的估算,常用的方法有程序代碼成本估算法等。④軟件風(fēng)險(xiǎn)管理包括很多不確定的風(fēng)險(xiǎn)因素,如計(jì)劃風(fēng)險(xiǎn)、管理風(fēng)險(xiǎn)、需求風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、人員風(fēng)險(xiǎn)、產(chǎn)品風(fēng)險(xiǎn)、用戶風(fēng)險(xiǎn)和商業(yè)風(fēng)險(xiǎn)等等,而風(fēng)險(xiǎn)管理的主要任務(wù)是:風(fēng)險(xiǎn)識(shí)別、風(fēng)險(xiǎn)評(píng)估、和風(fēng)險(xiǎn)防范。⑤軟件文檔管理,軟件文檔是工程模式軟件開發(fā)的成果體現(xiàn),包括技術(shù)文檔、管理文檔和用戶文檔。⑥軟件配置管理與軟件質(zhì)量管理,包括配置規(guī)劃、軟件變更控制、軟件版本控制和質(zhì)量控制計(jì)劃。湖南遠(yuǎn)程培訓(xùn)軟件建設(shè)