freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)軟件工程管理與維護(hù)講義-展示頁

2025-07-06 06:08本頁面
  

【正文】 ) 軟件需求分析軟件需求分析工作是軟件生存期中重要的一步,也是決定性的一步。所確定的成本與進(jìn)度可供主管部門復(fù)審。在多數(shù)項(xiàng)目中,遇到的往往是第一種情況。軟件開發(fā)項(xiàng)目的進(jìn)度安排可以從兩種觀點(diǎn)來考慮:一是項(xiàng)目的交付日期已定,負(fù)責(zé)開發(fā)工作的軟件機(jī)構(gòu)被限制在一個規(guī)定的時(shí)間范圍內(nèi)分配其工作量。分析是對系統(tǒng)內(nèi)各軟件功能的界限的劃定。分析人員應(yīng)該為推薦的系統(tǒng)草擬一份軟件計(jì)劃,其中描述的是為了成功地進(jìn)行一個軟件項(xiàng)目,其所需要做的工作、需要的資源、需要的工作量和費(fèi)用以及應(yīng)遵循的進(jìn)度安排。如果認(rèn)為值得繼續(xù)進(jìn)行這項(xiàng)開發(fā)工程,則應(yīng)提供選擇一種最好的解法并說明理由。分析、設(shè)計(jì)人員應(yīng)以新系統(tǒng)的目標(biāo)和作用范圍為依據(jù)提出一種以上的設(shè)計(jì)方案,從技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性等方面進(jìn)行比較,并選擇出綜合最優(yōu)的方案。(3)操作可行性。所考慮的因素通常還應(yīng)包括開發(fā)的風(fēng)險(xiǎn),是否能夠得到需要的軟件和硬件資源和一個熟練的有能力的開發(fā)隊(duì)伍,與系統(tǒng)開發(fā)有關(guān)的技術(shù)是否足以支持系統(tǒng)的研制。(2)技術(shù)可行性??尚行匝芯恐貙θ缦戮唧w方案考慮:(1)經(jīng)濟(jì)可行性。如果問題沒有可行的解,那么花費(fèi)在這項(xiàng)開發(fā)工程上的任何時(shí)間、資源、人力和經(jīng)費(fèi)和都是無謂的浪費(fèi)。如果分析員和用戶及使用部門的負(fù)責(zé)人對所要解決的問題取得完全一致的看法,而且使用部門的負(fù)責(zé)人同意開發(fā)工程繼續(xù)進(jìn)行下去,那么開發(fā)工程將轉(zhuǎn)入生命周期的下一個階段———可行性研究。當(dāng)用戶的要求不是很多并且不太復(fù)雜時(shí),一兩個分析員用上一兩天就可以完成這一工作了。盡管用戶可能總是習(xí)慣于這樣做,但分析員在這一階段必須超脫出來,居高臨下鳥瞰系統(tǒng)的全貌。通過問題定義階段的工作,系統(tǒng)分析員應(yīng)該提出關(guān)于問題性質(zhì)、工程目標(biāo)和規(guī)模的書面報(bào)告。說得通俗些,問題定義實(shí)際上就是了解用戶到底要建立什么系統(tǒng),并確定分析員下一步應(yīng)該做什么。盡管確切地定義問題的必要性是十分明顯的,但是在實(shí)踐中它卻可能是最常被忽視的一個步驟。軟件開發(fā)的第一步就是進(jìn)行問題定義。瀑布模型的的軟件生命周期可劃分七個階段:系統(tǒng)需求分析、軟件需求分析、概要分析、詳細(xì)設(shè)計(jì)、編碼、測試和運(yùn)行維護(hù)。二、結(jié)構(gòu)化生命周期方法結(jié)構(gòu)化分析與設(shè)計(jì)方法在軟件工程中應(yīng)用已很普遍,并且越來越成熟。這些軟件工具按照一定的方法或模式組合起來,并能支持軟件開發(fā)生命周期的各個階段和各項(xiàng)任務(wù)的完成。快速原型化之所以能夠?qū)崿F(xiàn)的基礎(chǔ)就是原型化人員在快速建模時(shí)得到了工具的支持,否則原型化方法是無法實(shí)施的。工具的完善和發(fā)展將促進(jìn)軟件開發(fā)的進(jìn)步和完善。工具的發(fā)展是從單項(xiàng)工具的開發(fā)逐步走向集成的工具發(fā)展的。相比之下,在更重要的軟件的需求和設(shè)計(jì)上反而得不到必要的精力和時(shí)間投入。用什么方法來說明用戶的要求、用什么方法來設(shè)計(jì)軟件以及用什么方法對軟件進(jìn)行測試和維護(hù),直接影響所開發(fā)軟件的質(zhì)量。作為90年代代表作的面向?qū)ο蠓椒ǎ鋺?yīng)用已幾乎遍布各個領(lǐng)域。有的適用于實(shí)時(shí)事務(wù)處理系統(tǒng),如FSM方法。有的適用于一般的數(shù)據(jù)處理系統(tǒng),如SA、SD(兩者統(tǒng)稱為結(jié)構(gòu)化分析與設(shè)計(jì)方法,即Yourdon方法)、JACKSON方法。隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,在80年代初期的實(shí)時(shí)、并發(fā)和網(wǎng)絡(luò)等軟件的開發(fā)過程中,特別是在第五代計(jì)算機(jī)研究工作中,又提出了面向?qū)ο蟮脑O(shè)計(jì)方法。所以研究的重點(diǎn)前移到設(shè)計(jì)階段,出現(xiàn)了設(shè)計(jì)階段的結(jié)構(gòu)化設(shè)計(jì)(SD)方法和JACKSON等方法,到了70年代后期,人們又發(fā)現(xiàn)事先對用戶的要求進(jìn)行分析更為重要,故又把重點(diǎn)前移到分析階段。近10年來,軟件工作者研制出了許多工程化的軟件開發(fā)方法,例如70年代初提出的用于編寫程序的結(jié)構(gòu)化程序設(shè)計(jì)方法,確實(shí)起到了提高效率,減少錯誤的效果。在瀑布模型中,各階段結(jié)束后,都要進(jìn)行嚴(yán)格的評審。該模型給出了軟件生存周期各階段的固定順序,上一階段完成后才能進(jìn)入到下一階段,整個過程就像流水下瀉,故稱之為瀑布模型。常見的軟件開發(fā)模型有瀑布模型、演化模型、螺旋模型、噴泉模型等。本書中,我們也將需求分析看作為軟件開發(fā)的開始階段。目前,軟件生存周期各階段的劃分尚不統(tǒng)一,有的分得粗些,有的分得細(xì)些。因此軟件維護(hù)的任務(wù)就是為使軟件適應(yīng)外界環(huán)境的變化、實(shí)現(xiàn)功能的擴(kuò)充和質(zhì)量的改善而修改軟件。二是為了適應(yīng)變化了的環(huán)境而修改軟件。軟件的使用通常要持續(xù)幾年甚至幾十年,在整個使用期間,都可能因?yàn)槟撤N原因而修改軟件,這便是軟件維護(hù)。軟件測試階段的參加人員通常由另一部門(或單位)的高級程序員或系統(tǒng)分析員承擔(dān),該階段產(chǎn)生的文檔有軟件測試計(jì)劃和軟件測試報(bào)告。編碼階段的參加人員有高級程序員和程序員,產(chǎn)生的文檔有程序清單。根據(jù)需要還可產(chǎn)生數(shù)據(jù)說明書和模塊開發(fā)卷宗。概要設(shè)計(jì)階段的參加人員有系統(tǒng)分析員和高級程序員,詳細(xì)設(shè)計(jì)階段的參加人員有高級程序員和程序員。概要設(shè)計(jì)的任務(wù)是模塊分解,確定軟件的結(jié)構(gòu),模塊的功能和模塊間的接口,以及全局?jǐn)?shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。軟件開發(fā)階段通常可分成軟件設(shè)計(jì)、編碼、軟件測試等階段。該階段產(chǎn)生的文檔有需求規(guī)約(requirements specification),習(xí)慣上稱它為需求規(guī)格說明書。(3)需求分析需求分析的任務(wù)是確定待開發(fā)軟件的功能、性能、數(shù)據(jù)、界面等要求,從而確定系統(tǒng)的邏輯模型。軟件項(xiàng)目計(jì)劃階段的參加人員有用戶、項(xiàng)目負(fù)責(zé)人、系統(tǒng)分析員。該階段產(chǎn)生的文檔可合并在軟件項(xiàng)目計(jì)劃階段的文檔(項(xiàng)目計(jì)劃書)中。系統(tǒng)分析的任務(wù)是確定待開發(fā)軟件的總體要求和適用范圍,以及與之有關(guān)的硬件、支撐軟件的要求。軟件定義階段通??煞殖上到y(tǒng)分析、軟件項(xiàng)目計(jì)劃、需求分析等階段。軟件定義、軟件開發(fā)、軟件維護(hù)等階段還可分為若干個階段,每個階段相對獨(dú)立又彼此有聯(lián)系,上一階段的工作結(jié)果是下一階段工作的依據(jù),下一階段是上一階段的進(jìn)化,它更接近于問題的解。在此以后,人們開展了軟件開發(fā)模型、開發(fā)方法、工具與環(huán)境的研究,提出了瀑布模型、演化模型、螺旋模型、噴泉模型等開發(fā)模型,出現(xiàn)了面向數(shù)據(jù)流方法、面向數(shù)據(jù)結(jié)構(gòu)的方法、面向?qū)ο蠓椒ǖ乳_發(fā)方法,以及一批CASE(puter aided software engineering)工具和環(huán)境。上述這些問題嚴(yán)重地阻礙了軟件的發(fā)展,20世紀(jì)60年代中期,人們把上述軟件開發(fā)和維護(hù)中的各種問題稱為“軟件危機(jī)”。隨著計(jì)算機(jī)應(yīng)用的需求不斷增長,軟件的規(guī)模也越來越大,然而軟件開發(fā)的生產(chǎn)率遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用的迅速增長。程序的開發(fā)采用個體工作方式,開發(fā)工作主要依賴于開發(fā)人員的個人技能和程序設(shè)計(jì)技巧。其目的是提高軟件生產(chǎn)率、提高軟件質(zhì)量、降低軟件成本。軟件工程自從1968年首次提出軟件工程一詞以來,軟件工程已成為計(jì)算機(jī)軟件的一個重要分支和研究方向。軟件工程是指應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法來解決軟件問題的工程。一、軟件工程基本概念早期的軟件主要指程序。當(dāng)時(shí)的軟件通常缺少與程序有關(guān)的文檔,軟件開發(fā)的實(shí)際成本和進(jìn)度往往與預(yù)計(jì)的相差甚遠(yuǎn),軟件的質(zhì)量得不到保證,開發(fā)出來的軟件常常不能使用戶滿意。此外,由于軟件開發(fā)時(shí)缺少好的方法指導(dǎo)和工具輔助,同時(shí)又缺少有關(guān)的文檔,使得大量已有的軟件難以維護(hù)。1968年在德國召開的NATO會議上,首次提出了“軟件工程”一詞,希望用工程化的原則和方法來克服軟件危機(jī)。(一) 軟件生存周期如同人的一生要經(jīng)歷嬰兒期、少年期、老年期直至死亡這樣一個全過程一樣,任何一個軟件產(chǎn)品或軟件系統(tǒng)也都要經(jīng)歷軟件定義、軟件開發(fā)、軟件維護(hù)直至被淘汰這樣一個全過程,我們把軟件的這一全過程稱為軟件生存周期。軟件定義階段主要解決的問題是待開發(fā)的軟件要“做什么”,也就是要確定軟件的處理對象,軟件與外界的接口,軟件的功能和性能,界面以及有關(guān)的約束和限制。(1)系統(tǒng)分析這里講的系統(tǒng)是指計(jì)算機(jī)系統(tǒng),包括計(jì)算機(jī)硬件、軟件和使用計(jì)算機(jī)的人。系統(tǒng)分析階段的參加人員有用戶、項(xiàng)目負(fù)責(zé)人、系統(tǒng)分析員。(2)軟件項(xiàng)目計(jì)劃軟件項(xiàng)目計(jì)劃的任務(wù)是確定待開發(fā)軟件的目標(biāo),對其進(jìn)行可行性分析,并對資源分配、進(jìn)度安排等做出合理的計(jì)劃。該階段所產(chǎn)生的文檔有可行性分析報(bào)告、項(xiàng)目計(jì)劃書。需求分析階段的參加人員有用戶、項(xiàng)目負(fù)責(zé)人系統(tǒng)分析員。軟件開發(fā)階段主要解決的問題是該軟件“怎么做”,包括數(shù)據(jù)結(jié)構(gòu)和軟件結(jié)構(gòu)的設(shè)計(jì),算法設(shè)計(jì),編寫程序,測試,最后得到可交付使用的軟件。(1)軟件設(shè)計(jì)軟件設(shè)計(jì)通常還可分成概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。詳細(xì)設(shè)計(jì)的任務(wù)是設(shè)計(jì)每個模塊的實(shí)現(xiàn)細(xì)節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。設(shè)計(jì)階段產(chǎn)生的文檔有設(shè)計(jì)規(guī)約(design specification),也稱為設(shè)計(jì)說明書,它也可分為概要設(shè)計(jì)說明書和詳細(xì)設(shè)計(jì)說明書。(2)編碼編碼的任務(wù)是用某種程序語言為每個模塊編寫程序。(3)軟件測試軟件測試的任務(wù)是發(fā)現(xiàn)軟件中的錯誤,并加以糾正。軟件開發(fā)階段結(jié)束后,軟件即可交付使用。引起修改軟件的原因主要有三種:一是在軟件運(yùn)行過程中發(fā)現(xiàn)了軟件中隱藏的錯誤而修改軟件。三是為修改或擴(kuò)充原有軟件的功能而修改軟件。軟件維護(hù)階段的參加人員是維護(hù)人員,該階段產(chǎn)生的文檔有維護(hù)計(jì)劃和維護(hù)報(bào)告。許多場合軟件開發(fā)階段都是從需求分析階段開始的。(二) 軟件開發(fā)模型為了指導(dǎo)軟件的開發(fā),用不同的方式將軟件生存周期中的所有開發(fā)活動組織起來,形成不同的軟件開發(fā)模型。瀑布模型如下圖所示。圖中的虛線部分表示在某一階段發(fā)現(xiàn)錯誤時(shí),其錯誤可能是由上一階段造成的,因此開發(fā)過程可能要反饋到上一階段。(三) 軟件開發(fā)方法軟件開發(fā)過程模型規(guī)定軟件開發(fā)活動的組合應(yīng)用方式,要保證開發(fā)活動的高質(zhì)量,還需要有相應(yīng)的軟件開發(fā)方法作為技術(shù)支持。但是70年代中期,軟件工作者認(rèn)識到編寫程序僅僅是軟件開發(fā)的一個環(huán)節(jié),而合理地建立系統(tǒng)結(jié)構(gòu)比編定程序更為重要。出現(xiàn)了用于分析階段的結(jié)構(gòu)化分析(SA)方法、結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù)(SADT)等。現(xiàn)在流行的方法有多種,它們的適用范圍也各不相同。有的適用于大型的復(fù)雜系統(tǒng),如SADT技術(shù)。有的適用于并發(fā)軟件系統(tǒng),如PETRI網(wǎng)方法。這些方法除了適用范圍不同外,方法形成的基礎(chǔ)、處理規(guī)則和對所開發(fā)軟件風(fēng)格的要求等都各有側(cè)重。(四) 軟件開發(fā)工具早期的軟件開發(fā)除了一般的程序設(shè)計(jì)語言外尚缺少工具的支持,致使編程工作量大,質(zhì)量和進(jìn)度卻難以保證,導(dǎo)致人們將很多的精力和時(shí)間花費(fèi)在程序的編制和調(diào)試上。軟件開發(fā)工具的發(fā)展促進(jìn)了軟件開發(fā)的高速度和高質(zhì)量。同時(shí),軟件開發(fā)方法的有效應(yīng)用也必須得到相應(yīng)工具的支持,否則方法將難以有效的實(shí)施。原型化方法的實(shí)施基礎(chǔ)就是得到了開發(fā)工具的支持。(五) 軟件開發(fā)環(huán)境軟件工程環(huán)境或稱軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的軟件工具集合。CASE,即計(jì)算機(jī)輔助軟件工程環(huán)境是當(dāng)前軟件開發(fā)環(huán)境中富于特色的研究工作和發(fā)展方向,它的成功將最大限度地降低軟件工程的技術(shù)難度并使軟件開發(fā)的質(zhì)量得到保證。有許多大、中型項(xiàng)目都采用了這種方法進(jìn)行開發(fā)并取得了顯著的成果。(一) 系統(tǒng)需求“系統(tǒng)需求”包括:問題定義、可行性研究及軟件計(jì)劃。問題定義階段必須回答的關(guān)鍵問題:“軟件要解決的問題是什么?”如果不知道問題是什么就試圖解決這個問題,顯然是盲目的,只會白白浪費(fèi)時(shí)間和金錢,最終得出的結(jié)果很可能是毫無意義的。這里所說的問題,就是指用戶的基本要求。因此,問題定義的來源是用戶。這一階段的分析員應(yīng)盡可能站在較高的角度去抽象、概括所要干的事情,不要拘泥于問題實(shí)現(xiàn)的細(xì)節(jié)。通過對系統(tǒng)的實(shí)際用戶和使用部門負(fù)責(zé)人的訪問調(diào)查,分析員扼要地寫出他對問題的理解,并在使用部門負(fù)責(zé)人的會議上認(rèn)真討論這份書面報(bào)告,澄清含糊不清的地方,改正理解不正確的地方,最后得出一份雙方都滿意的文檔。但當(dāng)系統(tǒng)比較大,且復(fù)雜時(shí),恐怕就要組織一個問題定義小組,花上一兩個星期,甚至數(shù)月來定義用戶的問題。并不是所有問題都有簡單明顯的解決辦法,事實(shí)上,許多問題不能在預(yù)定的系統(tǒng)規(guī)模之內(nèi)解決。可行性研究的目的在于用最小的代價(jià)確定在問題定義階段所確定的系統(tǒng)的目標(biāo)和規(guī)模是否現(xiàn)實(shí),所確定的問題是否可以解決,系統(tǒng)方案在經(jīng)濟(jì)上、技術(shù)上和操作上是否可以接受。估計(jì)開發(fā)費(fèi)用以及新系統(tǒng)可能帶來的收益,將兩者進(jìn)行權(quán)衡,看結(jié)果是否可以接受。對要求的功能、性能以及限制條件進(jìn)行分析,是否能夠做成一個可接受的系統(tǒng)。技術(shù)可行性的估計(jì),需要有經(jīng)驗(yàn)的人員去完成。判斷系統(tǒng)的操作方式在該用戶組織內(nèi)是否可行。根據(jù)可行性研究結(jié)果要做出的決定是:是否繼續(xù)按預(yù)定目標(biāo)進(jìn)行這項(xiàng)開發(fā)工程,可行性分析人員必須清楚地表明他對這個關(guān)鍵性決定的建議。可行性分析是在問題的目標(biāo)和約束之間的一種權(quán)衡,還可能有的結(jié)果則是修改目標(biāo)或放寬約束。軟件計(jì)劃由兩項(xiàng)任務(wù)組成:分析和估算。估算是指根據(jù)已有的定性數(shù)據(jù)和已往的經(jīng)驗(yàn)對系統(tǒng)開發(fā)的資源、費(fèi)用和進(jìn)度進(jìn)行定量的估計(jì)。二是項(xiàng)目最后的交付日期由軟件機(jī)構(gòu)自已確定,可以從最佳的利用各種資源的角度出發(fā)來分配工作量,項(xiàng)目最后的交付日期經(jīng)過對軟件各部分仔細(xì)分析后才確定。軟件計(jì)劃的閱讀者可以包括軟件主管部門、用戶和技術(shù)人員。它同時(shí)也給出了整個軟件生命周期的基本成本預(yù)算的進(jìn)度安排。只有通過軟件需求分析,才能把軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說明,從而奠定軟件開發(fā)的基礎(chǔ)。該過程將軟件設(shè)計(jì)階段所確定的軟件范圍(工作域)逐步細(xì)化到可詳細(xì)定義的程度,并分析出各種不同的軟件元素,然后為這些元素找到可行的解決方法。用戶必須對軟件功能和性能提出初步要求,并澄清一些模糊概念。需求分析所要做的工作是深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的限制和軟件同其他系統(tǒng)元素的接口細(xì)節(jié)。分析員通過需求分析,逐步細(xì)化對軟件的要求,描述軟件要處理的數(shù)據(jù)域,并給軟件開發(fā)提供一種可轉(zhuǎn)化為數(shù)據(jù)設(shè)計(jì)、結(jié)構(gòu)設(shè)計(jì)和過程設(shè)計(jì)的數(shù)據(jù)與功能表示。需求分析階段研究的對象是軟件項(xiàng)目的用戶要求。因?yàn)椴⒎撬杏脩粢蠖际呛侠淼摹τ谀切o法實(shí)現(xiàn)的要求應(yīng)向用戶做充分的解釋,以求得諒解。只有經(jīng)過確切描述的軟件需求才能成為軟件設(shè)計(jì)基礎(chǔ)。它是軟件實(shí)現(xiàn)的基礎(chǔ)。與物理模型不同,邏輯模型忽視實(shí)現(xiàn)機(jī)制與細(xì)節(jié),只描述系統(tǒng)要完成的功能和要處理的數(shù)據(jù)。(1)獲得當(dāng)前系統(tǒng)的物理模型。在這一步首先分析、理解當(dāng)前系統(tǒng)是如何運(yùn)行的,了解當(dāng)前系統(tǒng)的組織機(jī)構(gòu)、輸入輸出、資源利用情況和日常數(shù)據(jù)處理過程,并用一個具體模型來反映自己對當(dāng)前系統(tǒng)的理解。(2)抽象出當(dāng)前系統(tǒng)的邏輯模型。在物理模型中有許多物理因素,隨著分析工作的深入,有些非本質(zhì)的物理因素就成為不必要的負(fù)擔(dān),因而需要對物理模型進(jìn)行分析,區(qū)分出本質(zhì)的和非本質(zhì)的因素,去掉那些非本質(zhì)的因素即可獲得反映系統(tǒng)本質(zhì)的邏輯模型。分析目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1