【正文】
它是一種面向 —— 的開(kāi)發(fā)方法,其指導(dǎo)思想是 —— ,其基本原則是 —— 。 螺旋模型包括如下四方面的活動(dòng),他們是 —— 、 —— 、 —— 、 —— 。 軟件生命周期中,軟件定義階段的工作包括 —— 、 —— 、 —— 。 A.軟件工具 B.工具箱 C.軟件開(kāi)發(fā)環(huán)境 D. CASE D 軟件是計(jì)算機(jī)中與硬件互相依存的部分,它包括 —— 、 —— 、 及 —— 的完整集合。 A瀑布模型 B 原型模型 C 螺旋模型 D 變換模型 一、選擇題 A C B ,下列說(shuō)法錯(cuò)誤的是() A.是一種面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程 B.具有迭代性 C.具有無(wú)間隙性 D.各階段之間具有順序性和依賴(lài)性 ()。 ?適用條件 ?內(nèi)部的大規(guī)模軟件的開(kāi)發(fā)。 ?可以理解成在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過(guò)程的快速原型模型。 , 只注意得到滿(mǎn)意的原型 , 容易 “ 遺忘 ” 用戶(hù)環(huán)境和原型環(huán)境的差異 。 , 而忽略了一些基本點(diǎn) 。 對(duì)于開(kāi)發(fā)者不熟悉的領(lǐng)域把次要部分當(dāng)作主要框架 , 做出不切題的原型 。 , 時(shí)間縮短 。 。 , 有利于用戶(hù)培訓(xùn)和開(kāi)發(fā)同步 , 開(kāi)發(fā)過(guò)程也是學(xué)習(xí)過(guò)程 。 ?(5)它是迭代過(guò)程的集成部分 , 即每次經(jīng)用戶(hù)評(píng)價(jià)后修改 、 運(yùn)行 , 不斷重復(fù)雙方認(rèn)可 。 軟件開(kāi)發(fā)過(guò)程模型 ? (2)它沒(méi)有固定的生存期 一種極端是扔掉原型;另一種極端是最 終產(chǎn)品的一部分即增量原型 軟件開(kāi)發(fā)過(guò)程模型 ?(3)從需求分析到最終產(chǎn)品都可作原型 ,即可為不同目標(biāo)作原型 。 軟件開(kāi)發(fā)過(guò)程模型 3. 原型特征 ?軟件原型是以最少的費(fèi)用 、 最短的時(shí)間開(kāi)發(fā)出的 、 可以反映最后軟件的主要特征的系統(tǒng) 。 軟件開(kāi)發(fā)過(guò)程模型 2. 原型模型 軟件開(kāi)發(fā)過(guò)程模型 ? 在“需求分析”、“原型設(shè)計(jì)”兩個(gè)階段中,開(kāi)發(fā)者和用戶(hù)一起為想象中的系統(tǒng)的某些主要部分定義需求和規(guī)格說(shuō)明 ,該原型可用來(lái)幫助分析和設(shè)計(jì)工作,而不是一個(gè)軟件產(chǎn)品。 軟件開(kāi)發(fā)過(guò)程模型 原型:一個(gè)具體的可執(zhí)行模型 , 它實(shí)現(xiàn)了系統(tǒng)的若干功能 。反復(fù)進(jìn)行這個(gè)過(guò)程,直到得出系統(tǒng)的“精確解”,即用戶(hù)滿(mǎn)意為止。 。 軟件開(kāi)發(fā)過(guò)程模型 具有維護(hù)循環(huán)的軟件生存期的瀑布模型 軟件開(kāi)發(fā)過(guò)程模型 ? 瀑布模型的缺點(diǎn): ,人的認(rèn)識(shí)是一個(gè)多次反復(fù)循環(huán)的過(guò)程,不可能一次完成。 ? 質(zhì)量保證的觀點(diǎn)。 軟件開(kāi)發(fā) 過(guò)程 模型 一、瀑布模型 軟件開(kāi)發(fā)過(guò)程模型 ? 瀑布模型的特征 ? 階段間具有順序性和依賴(lài)性。 3. 生命周期的劃分 ?軟件生命周期一般分為:軟件定義(問(wèn)題定義、可行性研究、需求分析)、軟件開(kāi)發(fā)(總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試)、軟件維護(hù)等三個(gè)時(shí)期。 軟件工程采用的“生命周期法”,就是從時(shí)間角度對(duì)軟件開(kāi)發(fā)和維護(hù)的復(fù)雜問(wèn)題進(jìn)行分解,把軟件生存的漫長(zhǎng)周期依次劃分為若干個(gè)階段,每個(gè)階段有相對(duì)獨(dú)立的任務(wù),然后再逐步完成每個(gè)階段的任務(wù)。 軟件工程 三、軟件工程方法學(xué) ? 軟件工程的傳統(tǒng)方法是“生命周期法”,強(qiáng)調(diào)“結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)”。 軟件工程 7. 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性 ? 遵循前 6條基本原理,就能夠按照當(dāng)代軟件工程基本原理實(shí)現(xiàn)軟件的工程化生產(chǎn),但不能保證趕上時(shí)代前進(jìn)的步伐。 ?根據(jù)軟件開(kāi)發(fā)項(xiàng)目的總目標(biāo)及完成期限,規(guī)定開(kāi)發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),使所得的結(jié)果能夠清楚地審查 軟件工程 6. 開(kāi)發(fā)小組的人員應(yīng)該少而精 ?開(kāi)發(fā)小組人員的素質(zhì)和數(shù)量是影響軟件產(chǎn)品質(zhì)量和開(kāi)發(fā)效率的重要因素。 軟件工程 4. 采用現(xiàn)代程序設(shè)計(jì)技術(shù) ? 實(shí)踐表明:采用先進(jìn)的技術(shù)既可提高軟件開(kāi)發(fā)的效率,又可提高軟件維護(hù)的效率。 ? 目前主要實(shí)行基準(zhǔn)配置管理:基準(zhǔn)配置是指經(jīng)過(guò)階段評(píng)審后的軟件配置成分,如各個(gè)階段產(chǎn)生的文檔或程序代碼。 軟件工程 2. 堅(jiān)持進(jìn)行階段評(píng)審 ?大部分錯(cuò)誤是在編碼之前造成的 ?錯(cuò)誤發(fā)現(xiàn)與改正得越晚,所需付出的代價(jià)越高。 軟件工程 1. 用分階段的生命周期計(jì)劃嚴(yán)格管理 ? 經(jīng)統(tǒng)計(jì)表明,不成功的軟件項(xiàng)目中有一半左右是由于計(jì)劃不周造成的。 軟件工程 二、軟件工程的基本原理 ? 1968年在聯(lián)邦德國(guó)召開(kāi)的國(guó)際會(huì)議上正式 “ 軟件工程 ” 術(shù)語(yǔ)。它采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái)。 (maintainability) 不易升級(jí) (evolvability) Myth: Once we write the program and get it to work, our job is done. Reality: Someone once said that “the sooner you begin ?writing code?, the longer it?ll take you to get done.” Industry data indicate that between 60 and 80 percent of all effort expended on a program will be expended after it is delivered to the customer for the first time. 軟件危機(jī) 解決軟件危機(jī)的途徑 1. 技術(shù)措施 使用更好的軟件開(kāi)發(fā)方法和開(kāi)發(fā)工具 2. 組織管理措施 ?軟件開(kāi)發(fā)不是某種個(gè)體勞動(dòng)的神秘技巧,而應(yīng)該是一種組織良好、管理嚴(yán)密、各類(lèi)人員協(xié)同配合、共同完成的工程項(xiàng)目。 Myth: If we get behind schedule, we can add more programmers and catch up. Reality: Software development is not a mechanistic process like manufacturing. In the wo