版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2020/9/2,華南理工大學(xué)軟件學(xué)院,1,軟件工程 Software Engineering,華南理工大學(xué)軟件學(xué)院 2008.09,1,2020/9/2,華南理工大學(xué)軟件學(xué)院,2,教材和參考書,2020/9/2,華南理工大學(xué)軟件學(xué)院,3,第一章 軟件與軟件工程,軟件與軟件工程的概念 軟件生存周期 軟件開發(fā)模型 軟件工程工具及環(huán)境,2020/9/2,華南理工大學(xué)軟件學(xué)院,4,1.1 軟件,軟件的概念; 軟件的特點(diǎn); 軟件的分類; 軟件的發(fā)展; 軟件危機(jī)。,第一章 軟件與軟件工程,2020/9/2,華南理工大學(xué)軟件學(xué)院,5,1.1.1 軟件的概念,軟件是什么?,1.1軟件,2020/9/2,華南
2、理工大學(xué)軟件學(xué)院,6,軟件的概念,軟件是計(jì)算機(jī)系統(tǒng)的重要組成部分; 軟件是邏輯產(chǎn)品,需要計(jì)算機(jī)硬件和系統(tǒng)軟件的支撐; 軟件是計(jì)算機(jī)控制系統(tǒng)的指揮中樞; 軟件是信息轉(zhuǎn)換器,它能對信息進(jìn)行加工、處理或變換; 軟件是工具,在人們的生活、工作、休閑,在社會的經(jīng)濟(jì)、軍事、政治、文化、科學(xué)技術(shù)、教育中發(fā)揮具大作用;,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,7,軟件的概念,計(jì)算機(jī)世界的軟件 軟件是能夠完成預(yù)定功能和性能,并對相應(yīng)數(shù)據(jù)進(jìn)行加工的程序和描述程序及其操作的文檔。 軟件 = 程序+數(shù)據(jù)+文檔 程序 = 算法+數(shù)據(jù)結(jié)構(gòu),1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,8,1.1.2 軟
3、件的特點(diǎn),軟件開發(fā)與傳統(tǒng)的產(chǎn)品生產(chǎn)存在本質(zhì)差別; 軟件是邏輯產(chǎn)品,而不是物理產(chǎn)品; 軟件不會磨損;,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,9,軟件的描述(13),軟件由程序、數(shù)據(jù)、文檔 組成。,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,10,軟件的描述(23),程序設(shè)計(jì)語言 面向機(jī)器 匯編語言、機(jī)器語言等 面向過程 Fortran, Pascal, C等 面向?qū)ο?C+, Java等 面向問題 結(jié)構(gòu)化查詢語言SQL等,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,11,軟件的描述(33),數(shù)據(jù) 用程序設(shè)計(jì)語言要求的數(shù)據(jù)結(jié)構(gòu)表示 文檔 規(guī)范 準(zhǔn)確 清晰 簡潔 無歧義
4、 自然語言 結(jié)構(gòu)化英語 圖表,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,12,1.1.3 軟件分類,系統(tǒng)軟件 實(shí)時(shí)軟件 商務(wù)軟件 工程和科學(xué)計(jì)算軟件 嵌入式軟件 人工智能軟件 個(gè)人計(jì)算機(jī)軟件,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,13,1.1.4 軟件的發(fā)展,軟件發(fā)展的四個(gè)階段 軟件發(fā)展存在的問題,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,14,1)軟件發(fā)展的四個(gè)階段,1950-1965 沒有系統(tǒng)的軟件開發(fā)方法和管理機(jī)制、自定義軟件、批處理、有限分布。 1965-1975 產(chǎn)生人機(jī)交互的新概念、新技術(shù)軟件產(chǎn)品、多用戶、實(shí)時(shí)、數(shù)據(jù)庫。,1.1軟件,2020/9/
5、2,華南理工大學(xué)軟件學(xué)院,15,1973-1988 微處理器的出現(xiàn)并廣泛應(yīng)用 分布式系統(tǒng)、嵌入智能、低成本硬件、消費(fèi)者的影響。 1986-2000 廣域和局域網(wǎng)絡(luò)迅速普及 強(qiáng)大的桌面系統(tǒng)、面向?qū)ο蠹夹g(shù)、專家系統(tǒng)、人工智能、神經(jīng)網(wǎng)絡(luò)、并行計(jì)算、網(wǎng)絡(luò)計(jì)算機(jī)。,軟件發(fā)展的四個(gè)階段 (2/2),1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,16,2) 軟件發(fā)展存在的問題 (1/2),軟件開發(fā)能力不能滿足人們的需要。 社會對軟件的依賴程度加大,人們普遍關(guān)注軟件的安全和可靠性。 建造高可靠性、高質(zhì)量軟件的任務(wù)任重路遠(yuǎn)。,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,17,軟件發(fā)展存在的問題 (
6、2/2),若干年前開發(fā)的應(yīng)用軟件經(jīng)過幾十次修改已無人認(rèn)識它的內(nèi)部結(jié)構(gòu),己經(jīng)不可維護(hù)。 由于經(jīng)濟(jì)原因,嵌入式系統(tǒng)存在許多怪現(xiàn)象,企業(yè)不愿意投入資源再生產(chǎn),而采取打補(bǔ)丁+時(shí)髦界面的方法。,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,18,1.1.5 軟件危機(jī),1.軟件危機(jī)的表現(xiàn) 硬件發(fā)展超過軟件,硬件潛能沒有充分發(fā)揮。 軟件產(chǎn)業(yè)的發(fā)展長期滯后,與硬件發(fā)展不協(xié)調(diào)。,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,19,軟件危機(jī),軟件開發(fā)成本過高 軟件質(zhì)量得不到保證 軟件開發(fā)效率低 難以控制開發(fā)進(jìn)度,工作量估計(jì)困難 軟件不能滿足社會發(fā)展的需求,成為社會、經(jīng)濟(jì)發(fā)展的制約因素,1.1軟件,20
7、20/9/2,華南理工大學(xué)軟件學(xué)院,20,程序規(guī)模、工作量與成本的關(guān)系,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,21,2. 軟件危機(jī)原因,軟件的規(guī)模加大、復(fù)雜性提高、性能增強(qiáng) 軟件是邏輯產(chǎn)品, 尚未完全認(rèn)識其本質(zhì)和特點(diǎn) 缺乏有效的、系統(tǒng)的開發(fā)、維護(hù)大型軟件項(xiàng)目的技術(shù)手段和管理方法,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,22,軟件危機(jī)原因,用戶對軟件需求的描述和軟件開發(fā)人員對需求的理解往往存在差異,用戶經(jīng)常要求修改需求,開發(fā)人員很難適應(yīng) 軟件開發(fā)的技術(shù)人員和管理人員缺乏軟件工程化的素質(zhì)和要求,對工程化的開銷認(rèn)識不足 ,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,
8、23,3.軟件危機(jī)仍在繼續(xù) -影響軟件質(zhì)量的糊涂認(rèn)識(1/3),在項(xiàng)目的初始階段對系統(tǒng)若明若暗就開始寫程序 認(rèn)為軟件是靈活的容易修改,對軟件需求的改變不以為然 程序調(diào)試成功標(biāo)志著工作的結(jié)束,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,24,軟件危機(jī)仍在繼續(xù) -影響軟件質(zhì)量的糊涂認(rèn)識 (2/3),程序運(yùn)行前無法評價(jià)程序的質(zhì)量 一個(gè)軟件項(xiàng)目給客戶提交的主要是程序,而軟件文檔則認(rèn)為可有可無、可多可少等等。 雖然發(fā)布了軟件標(biāo)準(zhǔn)和規(guī)范,但在實(shí)踐中執(zhí)行需要額外的開銷,劃不來,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,25,軟件危機(jī)仍在繼續(xù) -影響軟件質(zhì)量的糊涂認(rèn)識(3/3),雖然開發(fā)了許
9、多軟件工具,但很多開發(fā)者對使用這些工具興趣不大 為了開發(fā)軟件人們不惜用重金購買最新型號的主機(jī)和工作站而不愿意購買軟件工具 在軟件開發(fā)過程中,進(jìn)度遲后就增派更多的程序員突擊,趕進(jìn)度 ,1.1軟件,2020/9/2,華南理工大學(xué)軟件學(xué)院,26,軟件工程的定義,軟件工程 教材 軟件工程是運(yùn)用工程、科學(xué)和數(shù)學(xué)的原則與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)和管理的方法。,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,27,軟件工程的定義,軟件工程IEEE93 (1)將系統(tǒng)的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)的過程; (2) 上述方法的研究。,1.2軟件工程的概念,2020/9
10、/2,華南理工大學(xué)軟件學(xué)院,28,軟件工程三要素 過程、方法和工具(1/5),質(zhì)量是軟件工程的生命線,軟件工程以質(zhì)量保證為基礎(chǔ)。 質(zhì)量管理促進(jìn)了過程的改進(jìn),創(chuàng)造了許多行之有效的軟件開發(fā)方法和工具。,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,29,軟件工程三要素 過程、方法和工具(2/5),軟件工程釆用層次化的方法,每個(gè)層次都包括過程、方法、工具三要素。 方法支撐過程和工具、過程和工具促進(jìn)方法學(xué)的研究。,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,30,軟件工程三要素 過程、方法和工具,將系統(tǒng)的、規(guī)范的、可量化的方法運(yùn)用到軟件工程的始終,滲透到軟件工程的過程
11、、方法和工具中。,1.2軟件工程的概念,軟件工程,過程,方法,工具,2020/9/2,華南理工大學(xué)軟件學(xué)院,31,軟件工程三要素 過程、方法和工具(3/5),軟件工程的過程 過程貫穿軟件開發(fā)的各個(gè)環(huán)節(jié),各環(huán)節(jié)之 間建立里程碑; 管理者在軟件工程過程中對軟件開發(fā)的質(zhì)量、進(jìn)度、成本進(jìn)行評估、管理和控制; 技術(shù)人員采用相應(yīng)的方法和工具生成軟件工程產(chǎn)品(模型、文檔、數(shù)據(jù)、報(bào)告、表格等)。,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,32,軟件工程三要素 過程、方法和工具(4/5),軟件工程的方法 軟件工程方法是完成軟件工程項(xiàng)目的技術(shù)手段。 軟件工程方法依賴一組原則,它貫穿軟件工程的各
12、個(gè)環(huán)節(jié)。 軟件工程方法分兩類:傳統(tǒng)方法和面向?qū)ο蠓椒?1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,33,軟件工程三要素 過程、方法和工具 (5/5),軟件工程工具 將若干工具集成起來,與軟件工程數(shù)據(jù)庫和計(jì)算機(jī)系統(tǒng)構(gòu)成一個(gè)支持軟件開發(fā)的系統(tǒng)稱“計(jì)算機(jī)輔助軟件工程(CASE)”,系統(tǒng)中某一工具的信息加工結(jié)果可以作為另一工具的輸入。 集成的軟件工程工具再加上人的因素構(gòu)成了軟件工程環(huán)境。,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,34,軟件開發(fā)方法和軟件工具,結(jié)構(gòu)化分析方法 結(jié)構(gòu)化程序設(shè)計(jì)語言 面向?qū)ο蠓终鄯椒?面向?qū)ο蟪绦蛟O(shè)計(jì)語言,1.2軟件工程的概念,2020
13、/9/2,華南理工大學(xué)軟件學(xué)院,35,3. 軟件和軟件開發(fā)過程,軟件過程和軟件產(chǎn)品密切相關(guān)。 大型軟件項(xiàng)目沒有良好的軟件開發(fā)過程,不可能建造出用戶滿意的優(yōu)質(zhì)產(chǎn)品;反之,一個(gè)好的軟件產(chǎn)品隱含著良好的軟件開發(fā)過程。 計(jì)算機(jī)軟件領(lǐng)域產(chǎn)品和過程不斷交替創(chuàng)新,促進(jìn)軟件工程的進(jìn)步和發(fā)展。,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,36,1.2.2 軟件工程目標(biāo) (1/6),在給定成本、進(jìn)度的前提下,開發(fā)出具有 可修改性、 有效性 、 可靠性、 可適應(yīng)性、 可追蹤性 、 可移植性、 可互操作性 并滿足用戶需求的軟件產(chǎn)品。,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,37
14、,軟件工程目標(biāo) (2/6),有效性 能有效地利用計(jì)算機(jī)的時(shí)間和空間資源 可修改性 容許對系統(tǒng)進(jìn)行修改而不增加原系統(tǒng)的復(fù)雜性,它支持軟件的調(diào)試與維護(hù)。,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,38,軟件工程目標(biāo) (3/6),可靠性 具有能夠防止因概念、設(shè)計(jì)和結(jié)構(gòu)等方面的不完善而造成的系統(tǒng)失效,具有挽回因操作不當(dāng)造成軟件系統(tǒng)失效的能力 可理解性 系統(tǒng)具有清晰的結(jié)構(gòu),能直接反映軟件需求。,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,39,軟件工程目標(biāo) (4/6),可維護(hù)性 便于對軟件增加新功能、改進(jìn)性能、修改錯(cuò)誤、移植 可重用性 軟件易于被再次使用,1.2軟件
15、工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,40,軟件工程目標(biāo) (5/6),可適應(yīng)性 采用流行的程序設(shè)計(jì)語言、運(yùn)行環(huán)境、標(biāo)準(zhǔn)的術(shù)語和格式。 可追蹤性 對軟件進(jìn)行正向和反向追蹤的能力,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,41,軟件工程目標(biāo) (6/6),可移植性 從一個(gè)環(huán)境搬遷到另一個(gè)環(huán)境 可互操作性 多個(gè)軟件要素相互通訊協(xié)同完成任務(wù)的能力,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,42,1.2.3 軟件工程原則 (1/6),在軟件開發(fā)過程中,為了達(dá)到軟件開發(fā)目標(biāo),必須遵循下列原則: 抽象 模塊化 信息隱藏 局部化 一致性 完全性 可驗(yàn)證性,1
16、.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,43,軟件工程原則 (2/6),抽象 關(guān)注事物基本、重要的部分,忽略不相關(guān)成分 抽象可以使我們的思維聚焦于問題本質(zhì),從而簡化問題,控制問題復(fù)雜度,支持復(fù)雜、龐大軟件系統(tǒng)的開發(fā) 。,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,44,軟件工程原則 (3/6),模塊化 模塊是程序中一個(gè)邏輯上相對獨(dú)立、具有良好的接口定義的編程單位:過程、函數(shù)、類、程序包等 模塊化是,將復(fù)雜的系統(tǒng)分解為一個(gè)個(gè)相對獨(dú)立的模塊來加以實(shí)現(xiàn),有助于抽象和信息隱藏以及表示復(fù)雜的系統(tǒng),1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,45,軟
17、件工程原則 (4/6),信息隱藏 模塊中的軟件設(shè)計(jì)決策信息封裝起來的技術(shù),只知道它的功能以及對外的接口,而不知它的內(nèi)部細(xì)節(jié) 有助于軟件開發(fā)人員的注意力集中于更高 的抽象層次,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,46,軟件工程原則 (5/6),局部化 物理模塊內(nèi)集中邏輯上相互關(guān)聯(lián)的計(jì)算資源 確保模塊內(nèi)各成分關(guān)系密切而??熘g的關(guān)系松散,保證模塊具有良好的獨(dú)立性,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,47,軟件工程原則 (6/6),一致性 整個(gè)軟件系統(tǒng)均使用統(tǒng)一的符號、概念和術(shù)語 完全性 整個(gè)軟件系統(tǒng)不丟失任何重要的成分,軟件完全實(shí)現(xiàn)系統(tǒng)所需的功能
18、、行為和性能 可驗(yàn)證性 軟件系統(tǒng)應(yīng)易于檢查、測試和評審,1.2軟件工程的概念,2020/9/2,華南理工大學(xué)軟件學(xué)院,48,1.3 軟件生存周期,軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、運(yùn)行(使用)和維護(hù)直到退役的全過程稱為軟件生存周期,包括軟件定義、開發(fā)、使用和維護(hù)三部分。 軟件工程的目標(biāo)和原則貫穿整個(gè)軟件生存周期。,第一章 軟件與軟件工程,2020/9/2,華南理工大學(xué)軟件學(xué)院,49,軟件的定義和開發(fā)過程,問題定義 可行性研究 需求分析 軟件開發(fā) 概要設(shè)計(jì) 詳細(xì)設(shè)計(jì) 實(shí)現(xiàn) 組裝測試 確認(rèn)測試,可行性研究,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),實(shí)現(xiàn),組裝測試,確認(rèn)測試,1.3軟件生存周期,2020/9/2
19、,華南理工大學(xué)軟件學(xué)院,50,1.3.1 問題定義,1.可行性研究 任務(wù) 了解用戶要求和現(xiàn)實(shí)環(huán)境 從技術(shù)、經(jīng)濟(jì)、市場等方面研究并論證開發(fā)該軟件系統(tǒng)的可行性,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,51,可行性研究 (2/3),技術(shù)可行性 當(dāng)前的軟件開發(fā)方法和工具能否支持需求的實(shí)現(xiàn); 操作可行性 用戶能否在特定的環(huán)境下使用這個(gè)軟件; 經(jīng)濟(jì)可行性 開發(fā)和使用、維護(hù)這個(gè)軟件的成本能否被用戶所接受。,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,52,可行性研究 (3/3),階段性產(chǎn)品 可行性論證報(bào)告 制定初步項(xiàng)目開發(fā)計(jì)劃 (人員,進(jìn)度),1.3軟件生存周期,2020
20、/9/2,華南理工大學(xué)軟件學(xué)院,53,問題定義,2. 需求分析 任務(wù) 確定用戶對軟件系統(tǒng)的需求: 功能需求 軟件必須要完成的功能; 性能需求 運(yùn)行環(huán)境約束 待開發(fā)的軟件產(chǎn)品必須滿足的環(huán)境要求,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,54,需求分析 (2/4),重要性 軟件開發(fā)的依據(jù),軟件驗(yàn)收的標(biāo)準(zhǔn) 困難 難以說清、 動態(tài)變化、 歧義、復(fù)雜、 應(yīng)用軟件的需求分析涉及應(yīng)用領(lǐng)域的知 識和經(jīng)驗(yàn)。,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,55,需求分析 (3/4),需求分析過程 需求分析人員必須與用戶不斷、反復(fù)地交流和商討,使用戶需求逐步準(zhǔn)確、一致、完全。 方法
21、面向數(shù)據(jù)流的分析方法 面向?qū)ο蟮姆治龇椒?抽象、問題分解、快速原型、多視點(diǎn)等 工具 Rational Rose, WitClass, VisualModel,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,56,需求分析 (4/4),階段性產(chǎn)品 軟件需求規(guī)格說明書SRS 用軟件需求規(guī)格說明語言描述軟件系統(tǒng)的功能需求、性能需求、接口需求、設(shè)計(jì)需求、軟件產(chǎn)品的基本結(jié)構(gòu)、采用的開發(fā)標(biāo)準(zhǔn)和驗(yàn)收原則等。 用戶手冊概要。,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,57,1.3.2 軟件開發(fā),1. 概要設(shè)計(jì) 任務(wù) 根據(jù)SRS建立目標(biāo)軟件系統(tǒng)的總體結(jié)構(gòu)、設(shè)計(jì)全局?jǐn)?shù)據(jù)庫和數(shù)據(jù)結(jié)構(gòu),
22、規(guī)定設(shè)計(jì)約束,制定組裝測試計(jì)劃等等。,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,58,概要設(shè)計(jì) (2/3),方法 根據(jù)軟件需求規(guī)格說明書, 自頂向下、逐步求精、 抽象、 模塊化、 局部化、信息隱藏 堅(jiān)持功能模塊內(nèi)部緊耦合,功能模塊之間松耦合的原則; 堅(jiān)持與需求規(guī)格說明書的一致性,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,59,概要設(shè)計(jì) (3/3),工具 面向數(shù)據(jù)流的設(shè)計(jì)方法 面向?qū)ο蟮脑O(shè)計(jì)方法 Rational Rose 階段性產(chǎn)品 概要設(shè)計(jì)規(guī)格說明書 數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)說明書 集成測試計(jì)劃。,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,6
23、0,2.詳細(xì)設(shè)計(jì),任務(wù) 細(xì)化概要設(shè)計(jì)所生成的各個(gè)模塊, 并詳細(xì)描述程序模塊的內(nèi)部細(xì)節(jié)(算法,數(shù)據(jù)結(jié)構(gòu)等),形成可編程的程序模塊,制訂單元測試計(jì)劃 階段新產(chǎn)品 詳細(xì)設(shè)計(jì)規(guī)格說明書, 單元測試計(jì)劃,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,61,3. 實(shí)現(xiàn),任務(wù) 根據(jù)詳細(xì)設(shè)計(jì)規(guī)格說明書編寫源程序,并對程序進(jìn)行調(diào)試、單元測試、系統(tǒng)集成,驗(yàn)證程序與詳細(xì)設(shè)計(jì)文檔的 一致性,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,62,實(shí)現(xiàn) (2/2),方法 結(jié)構(gòu)化程序設(shè)計(jì) 面向?qū)ο蟪绦蛟O(shè)計(jì) 工具 Visual C+, Visual Java, etc IDE 階段產(chǎn)品 源程序代碼,
24、1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,63,4. 組裝測試,任務(wù) 組裝測試應(yīng)滿足概要設(shè)計(jì)的要求。 途徑 測試模塊連接的正確性; 測試系統(tǒng)或子系統(tǒng)的I/O; 測試系統(tǒng)的功能和性能。 產(chǎn)品 程序、組裝測試報(bào)告。,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,64,5. 確認(rèn)測試,任務(wù) 測試軟件系統(tǒng)是否滿足用戶的需求 方法 用戶參與,以軟件需求規(guī)格說明書為依據(jù)進(jìn)行確認(rèn)測試 工具 專用測試工具 階段性產(chǎn)品 可供用戶使用的軟件產(chǎn)品(文檔,源程序),1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,65,1.3.3 軟件的使用、維護(hù)和退役,軟件的使用 確認(rèn)測試
25、后的軟件安裝在用戶環(huán)境中; 測試通過后移交用戶使用; 盡量擴(kuò)大軟件發(fā)行量發(fā)揮更大的社會和經(jīng)濟(jì)效益; 軟件使用過程中用戶要認(rèn)真收集軟件錯(cuò)誤,并撰寫軟件問題報(bào)告和軟件維護(hù)報(bào)告,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,66,軟件的使用、維護(hù)和退役,軟件的維護(hù) 軟件工作環(huán)境不斷變化,軟件也必然跟著變化,軟件必須不斷進(jìn)化以滿足客戶的需求變化,這是軟件產(chǎn)品最根本的特性。 軟件維護(hù)占用軟件開發(fā)60%以上的工作量。 正確性維護(hù); 擴(kuò)充性維護(hù); 適應(yīng)性維護(hù)。 軟件產(chǎn)品的新版本,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,67,軟件的使用、維護(hù)和退役,軟件的退役 終止軟件運(yùn)行。
26、,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,68,軟件定義開發(fā)與測試的關(guān)系,1.3軟件生存周期,2020/9/2,華南理工大學(xué)軟件學(xué)院,69,1.4 軟件開發(fā)模型,軟件開發(fā)模型是軟件開發(fā)全過程、軟件開發(fā)活動以及它們之間關(guān)系的的結(jié)構(gòu)框架 軟件項(xiàng)目的管理提供里程碑和進(jìn)度表 為軟件開發(fā)提供原則和方法,第一章 軟件與軟件工程,2020/9/2,華南理工大學(xué)軟件學(xué)院,70,軟件開發(fā)模型,三類軟件開發(fā)模型 1. 以軟件需求完全確定為前提的瀑布模型 2. 在軟件開發(fā)初期只能提供基本需求所采用的漸進(jìn)式開發(fā)模型如原型模型、螺旋模型 3. 以形式化開發(fā)方法為基礎(chǔ)的變換模型,1.4軟件開發(fā)模型,2
27、020/9/2,華南理工大學(xué)軟件學(xué)院,71,1.4.1 瀑布模型 (1/4),主要思想 軟件開發(fā)過程與軟件生命周期是一致的 相鄰二階段之間存在因果關(guān)系 需對階段性產(chǎn)品進(jìn)行評審,1.4軟件開發(fā)模型,2020/9/2,華南理工大學(xué)軟件學(xué)院,72,瀑布模型 (2/4),1.4軟件開發(fā)模型,2020/9/2,華南理工大學(xué)軟件學(xué)院,73,瀑布模型的優(yōu)點(diǎn)(34),軟件生命周期模型,使軟件開發(fā)過程可以在分析、設(shè)計(jì)、編碼、測試和維護(hù)的框架下進(jìn)行; 軟件開發(fā)過程具有系統(tǒng)性、可控性,克服了軟件開發(fā)的隨意性 。,1.4軟件開發(fā)模型,2020/9/2,華南理工大學(xué)軟件學(xué)院,74,瀑布模型的缺點(diǎn)(44),項(xiàng)目開始階段用
28、戶很難精確的提出產(chǎn)品需求,由于技術(shù)進(jìn)步,用戶對系統(tǒng)深入的理解,修改需求十分普遍。 項(xiàng)目開發(fā)晚期才能得到程序的運(yùn)行版本,這時(shí)修改軟件需求和開發(fā)中的錯(cuò)誤代價(jià)很大。 采用線性模型組織項(xiàng)目開發(fā)經(jīng)常發(fā)生開發(fā)小組人員“堵塞狀態(tài)”,特別是項(xiàng)目的開始和結(jié)束。,1.4軟件開發(fā)模型,2020/9/2,華南理工大學(xué)軟件學(xué)院,75,1.4.2 快速原型模型,用戶/客戶給出軟件產(chǎn)品的一般需求 開發(fā)小組和用戶共同定義軟件總體目標(biāo),標(biāo)識已知需求 對界面、功能、人機(jī)交互方式等,進(jìn)行設(shè)計(jì)并建造原型,1.4軟件開發(fā)模型,2020/9/2,華南理工大學(xué)軟件學(xué)院,76,快速原型模型,強(qiáng)調(diào)“快速”,釆用基于構(gòu)件的軟件開發(fā)方法,盡量縮短
29、軟件開發(fā)周期,不宜釆用過多的新技術(shù) 用戶/客戶對原型進(jìn)行評估 修改需求、更新設(shè)計(jì)、完善原型直至確定需求。,1.4軟件開發(fā)模型,2020/9/2,華南理工大學(xué)軟件學(xué)院,77,原型模型示意圖,1.4軟件開發(fā)模型,2020/9/2,華南理工大學(xué)軟件學(xué)院,78,RAD模型的開發(fā)過程(13),業(yè)務(wù)建模 按照下列問題建立業(yè)務(wù)功能的信息流模型:什么信息驅(qū)動業(yè)務(wù)流程?生成什么信息?誰生成該信息?該信息流往何處?誰處理它? 數(shù)據(jù)建模 精化信息流,形成一組支持該業(yè)務(wù)所需的數(shù)據(jù)對象。標(biāo)識出每個(gè)對象的特征(稱為屬性),并定義這些對象間的關(guān)系。,業(yè)務(wù)建模,數(shù)據(jù)建模,過程建模,應(yīng)用生成,測試修正,1.4軟件開發(fā)模型,20
30、20/9/2,華南理工大學(xué)軟件學(xué)院,79,RAD模型的開發(fā)過程(23),過程建模 對定義的數(shù)據(jù)對象進(jìn)行變換,實(shí)現(xiàn)一個(gè)業(yè)務(wù)功能所需的信息流。 創(chuàng)建過程描述以增加、修改、刪除或檢索一個(gè)數(shù)據(jù)對象。,業(yè)務(wù)建模,數(shù)據(jù)建模,過程建模,應(yīng)用生成,測試修正,1.4軟件開發(fā)模型,2020/9/2,華南理工大學(xué)軟件學(xué)院,80,RAD模型的開發(fā)過程(33),應(yīng)用生成 采用第四代技術(shù)創(chuàng)建軟件、重用已有的程序構(gòu)件或創(chuàng)建可重用的構(gòu)件。使用自動化工具輔助軟件建造。 測試修正 RAD過程強(qiáng)調(diào)重用,許多程序構(gòu)件已經(jīng)過測試,但所有新構(gòu)件和接口必須測試。,業(yè)務(wù)建模,數(shù)據(jù)建模,處理建模,應(yīng)用生成,測試修正,1.4軟件開發(fā)模型,202
31、0/9/2,華南理工大學(xué)軟件學(xué)院,81,原型模型的優(yōu)點(diǎn),幫助用戶和開發(fā)人員理解需求。 它產(chǎn)生的正式需求文擋,是軟件開發(fā)的基礎(chǔ)。 如果開發(fā)的原型是可運(yùn)行的,它的若干高質(zhì)量的程序片段和開發(fā)工具可用于工作程序的開發(fā)。 原型的開發(fā)和評審是系統(tǒng)分析員和用戶/客戶共同參予的迭代過程,每個(gè)迭代循環(huán)都是線性過程。,1.4軟件開發(fā)模型,2020/9/2,華南理工大學(xué)軟件學(xué)院,82,原型模型的缺點(diǎn),對于大型軟件項(xiàng)目,需要足夠的人力資源以建立足夠的原型組。 原型模型要求開發(fā)者和客戶在一段時(shí)間內(nèi)共同完成原型系統(tǒng)的開發(fā),如果任何一方?jīng)]有實(shí)現(xiàn)承諾,會導(dǎo)致原型開發(fā)的失敗。 如果系統(tǒng)難以模塊化,建造原型所需構(gòu)件就有問題;如果高性能是一個(gè)指標(biāo),原型模型也可能不奏效。 原型模型不適合采用很多新技術(shù)的項(xiàng)目,1.4軟件開發(fā)模型,2020/9/2,華南理工大學(xué)軟件學(xué)院,83,原型模型的應(yīng)用,建造原型定義系統(tǒng)需求 一旦原型通過評審,達(dá)到預(yù)期目的后,應(yīng)以確定的軟件需求為目標(biāo)進(jìn)行軟件開發(fā),以便保證軟件質(zhì)量和可維護(hù)性; 建造原型為客戶提供初始的版本,1.4軟件開發(fā)模型,2020/9/2,華南理工大學(xué)軟件學(xué)院,84,1.4.3 螺旋模型,Boehm在1988年提出 螺旋模型 = 線性模型十迭代.原型十系統(tǒng)化 螺旋模型適用于計(jì)算機(jī)軟件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年安陽市公安機(jī)關(guān)招聘留置看護(hù)輔警46人筆試備考題庫附答案
- 2025天津西青南開敬業(yè)學(xué)校招聘備考題庫附答案
- 2025年西安市涇河新城招聘緊缺人才通知(138人)筆試備考試題附答案
- 2025廣西崇左憑祥國家重點(diǎn)開發(fā)開放試驗(yàn)區(qū)管理委員會招聘工作人員1人考試題庫附答案
- 2025年哈爾濱通河縣公益性崗位招聘96人備考題庫附答案
- 2025年七臺河桃山區(qū)招聘社區(qū)工作者27人考試模擬卷附答案
- AI賦能兒童發(fā)展:教育科技視角下的應(yīng)用與實(shí)踐
- 2026河南濮陽市城鄉(xiāng)一體化示范區(qū)直機(jī)關(guān)事業(yè)單位招聘7人筆試備考題庫及答案解析
- 2026北京市某政府單位熱線值守招聘需求筆試備考題庫及答案解析
- 2025秋人教版道德與法治八年級上冊11.1黨和人民信賴的英雄軍隊(duì)課件
- 四川橋梁工程系梁專項(xiàng)施工方案
- DB32T 3695-2019房屋面積測算技術(shù)規(guī)程
- 貴州省納雍縣水東鄉(xiāng)水東鉬鎳礦采礦權(quán)評估報(bào)告
- GB/T 1690-2010硫化橡膠或熱塑性橡膠耐液體試驗(yàn)方法
- GB 8270-2014食品安全國家標(biāo)準(zhǔn)食品添加劑甜菊糖苷
- 2023年杭州臨平環(huán)境科技有限公司招聘筆試題庫及答案解析
- 易制毒化學(xué)品日常管理有關(guān)問題權(quán)威解釋和答疑
- LF爐機(jī)械設(shè)備安裝施工方案
- 湖北省高等教育自學(xué)考試
- 企業(yè)三級安全生產(chǎn)標(biāo)準(zhǔn)化評定表(新版)
- 中心衛(wèi)生院關(guān)于成立按病種分值付費(fèi)(DIP)工作領(lǐng)導(dǎo)小組及制度的通知
評論
0/150
提交評論