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