第二版軟件工程第一章軟件與軟件工程_第1頁(yè)
第二版軟件工程第一章軟件與軟件工程_第2頁(yè)
第二版軟件工程第一章軟件與軟件工程_第3頁(yè)
第二版軟件工程第一章軟件與軟件工程_第4頁(yè)
第二版軟件工程第一章軟件與軟件工程_第5頁(yè)
已閱讀5頁(yè),還剩98頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院1前言

軟件和軟件工程在信息化社會(huì)中的地位和作用2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院2八十年代初科學(xué)家的預(yù)言(1/2)Osborne1979將迎來(lái)”新的工業(yè)革命”Toffler1980

微電子的發(fā)展是人類(lèi)歷史上的”第三次浪潮”80年代初 美國(guó)商業(yè)周刊雜志在頭版刊登大標(biāo)題:

“軟件:新的驅(qū)動(dòng)力”

當(dāng)時(shí)人們還沒(méi)有意識(shí)到他們的預(yù)見(jiàn)是多么的正確。2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院3八十年代初科學(xué)家的預(yù)言(2/2)Naisbitt1982

人類(lèi)社會(huì)將“從工業(yè)社會(huì)向信息社會(huì)轉(zhuǎn)變”Feigenbaum1983

計(jì)算機(jī)控制的信息和知識(shí)將成為20世紀(jì)表現(xiàn)能力的焦點(diǎn)Stoll1989

網(wǎng)絡(luò)和軟件產(chǎn)生的“電子社會(huì)”是實(shí)現(xiàn)全球知識(shí)交流的關(guān)鍵。2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院4二十年后的現(xiàn)實(shí)1.計(jì)算機(jī)的發(fā)展與普及2.計(jì)算機(jī)軟件的發(fā)展與普及3.計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展與普及2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院5觀察與思考因?yàn)槠占傲擞?jì)算機(jī)、軟件和網(wǎng)絡(luò)…迎來(lái)了信息化社會(huì)和知識(shí)經(jīng)濟(jì)。2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院6軟件在信息化社會(huì)中的地位和作用軟件與經(jīng)濟(jì)軟件與政治軟件與軍事軟件與文化軟件與教育軟件與法律道德

2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院7結(jié)論軟件是信息化社會(huì)和知識(shí)經(jīng)濟(jì)的基礎(chǔ),它滲透到人們生活、工作的所有領(lǐng)域,并迅速的改變著人們的生活和工作方式,改變著社會(huì)的產(chǎn)業(yè)結(jié)構(gòu)和面貌。人們對(duì)軟件的依靠越來(lái)越密切,社會(huì)需要大量的豐富多彩的軟件,并隨著社會(huì)的發(fā)展不斷更新、充實(shí)和提高。2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院8教材2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院9教材和參考書(shū)2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院10第一章軟件與軟件工程軟件與軟件工程的概念軟件生存周期軟件開(kāi)發(fā)模型軟件工程工具及環(huán)境軟件工程組織度量2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院111.1軟件軟件的概念;軟件的特點(diǎn);軟件的分類(lèi);軟件的發(fā)展;軟件危機(jī)。第一章軟件與軟件工程2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院121.1.1軟件的概念

軟件是什么?1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院13軟件的概念軟件是計(jì)算機(jī)系統(tǒng)的重要組成部分;軟件是邏輯產(chǎn)品,需要計(jì)算機(jī)硬件和系統(tǒng)軟件的支撐;軟件是計(jì)算機(jī)控制系統(tǒng)的指揮中樞;軟件是信息轉(zhuǎn)換器,它能對(duì)信息進(jìn)行加工、處理或變換;軟件是工具,在人們的生活、工作、休閑,在社會(huì)的經(jīng)濟(jì)、軍事、政治、文化、科學(xué)技術(shù)、教育中發(fā)揮具大作用;1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院14軟件的概念計(jì)算機(jī)世界的軟件軟件是能夠完成預(yù)定功能和性能,并對(duì)相應(yīng)數(shù)據(jù)進(jìn)行加工的程序和描述程序及其操作的文檔。

軟件=程序+數(shù)據(jù)+文檔程序=算法+數(shù)據(jù)結(jié)構(gòu)1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院151.1.2軟件的特點(diǎn)軟件開(kāi)發(fā)與傳統(tǒng)的產(chǎn)品生產(chǎn)存在本質(zhì)差別;軟件是邏輯產(chǎn)品,而不是物理產(chǎn)品;軟件不會(huì)磨損;1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院16軟件的描述(1/3)

軟件由程序、數(shù)據(jù)、文檔組成。1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院17軟件的描述(2/3)程序設(shè)計(jì)語(yǔ)言面向機(jī)器

匯編語(yǔ)言、機(jī)器語(yǔ)言等面向過(guò)程Fortran,Pascal,C等面向?qū)ο驝++,Java等面向問(wèn)題結(jié)構(gòu)化查詢語(yǔ)言SQL等1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院18軟件的描述(3/3)數(shù)據(jù)

用程序設(shè)計(jì)語(yǔ)言要求的數(shù)據(jù)結(jié)構(gòu)表示文檔

規(guī)范準(zhǔn)確清晰簡(jiǎn)潔無(wú)歧義自然語(yǔ)言結(jié)構(gòu)化英語(yǔ)圖表

1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院191.1.3軟件分類(lèi)系統(tǒng)軟件實(shí)時(shí)軟件商務(wù)軟件工程和科學(xué)計(jì)算軟件嵌入式軟件人工智能軟件個(gè)人計(jì)算機(jī)軟件1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院201.1.4軟件的發(fā)展軟件發(fā)展的四個(gè)階段軟件發(fā)展存在的問(wèn)題1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院211)軟件發(fā)展的四個(gè)階段1950---1965

沒(méi)有系統(tǒng)的軟件開(kāi)發(fā)方法和管理機(jī)制、自定義軟件、批處理、有限分布。1965---1975

產(chǎn)生人機(jī)交互的新概念、新技術(shù)軟件產(chǎn)品、多用戶、實(shí)時(shí)、數(shù)據(jù)庫(kù)。1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院221973---1988

微處理器的出現(xiàn)并廣泛應(yīng)用 分布式系統(tǒng)、嵌入智能、低成本硬件、消費(fèi)者的影響。1986---2000

廣域和局域網(wǎng)絡(luò)迅速普及 強(qiáng)大的桌面系統(tǒng)、面向?qū)ο蠹夹g(shù)、專(zhuān)家系統(tǒng)、人工智能、神經(jīng)網(wǎng)絡(luò)、并行計(jì)算、網(wǎng)絡(luò)計(jì)算機(jī)。軟件發(fā)展的四個(gè)階段(2/2)1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院232)軟件發(fā)展存在的問(wèn)題(1/2)軟件開(kāi)發(fā)能力不能滿足人們的需要。社會(huì)對(duì)軟件的依賴(lài)程度加大,人們普遍關(guān)注軟件的安全和可靠性。建造高可靠性、高質(zhì)量軟件的任務(wù)任重路遠(yuǎn)。1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院24軟件發(fā)展存在的問(wèn)題

(2/2)若干年前開(kāi)發(fā)的應(yīng)用軟件經(jīng)過(guò)幾十次修改已無(wú)人認(rèn)識(shí)它的內(nèi)部結(jié)構(gòu),己經(jīng)不可維護(hù)。由于經(jīng)濟(jì)原因,嵌入式系統(tǒng)存在許多怪現(xiàn)象,企業(yè)不愿意投入資源再生產(chǎn),而采取打補(bǔ)丁+時(shí)髦界面的方法。1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院251.1.5軟件危機(jī)1.軟件危機(jī)的表現(xiàn)硬件發(fā)展超過(guò)軟件,硬件潛能沒(méi)有充分發(fā)揮。軟件產(chǎn)業(yè)的發(fā)展長(zhǎng)期滯后,與硬件發(fā)展不協(xié)調(diào)。1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院26

軟件危機(jī)軟件開(kāi)發(fā)成本過(guò)高軟件質(zhì)量得不到保證軟件開(kāi)發(fā)效率低難以控制開(kāi)發(fā)進(jìn)度,工作量估計(jì)困難

軟件不能滿足社會(huì)發(fā)展的需求,成為社會(huì)、經(jīng)濟(jì)發(fā)展的制約因素1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院27程序規(guī)模、工作量與成本的關(guān)系1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院282.軟件危機(jī)原因軟件的規(guī)模加大、復(fù)雜性提高、性能增強(qiáng)軟件是邏輯產(chǎn)品,尚未完全認(rèn)識(shí)其本質(zhì)和特點(diǎn)缺乏有效的、系統(tǒng)的開(kāi)發(fā)、維護(hù)大型軟件項(xiàng)目的技術(shù)手段和管理方法1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院29軟件危機(jī)原因用戶對(duì)軟件需求的描述和軟件開(kāi)發(fā)人員對(duì)需求的理解往往存在差異,用戶經(jīng)常要求修改需求,開(kāi)發(fā)人員很難適應(yīng)軟件開(kāi)發(fā)的技術(shù)人員和管理人員缺乏軟件工程化的素質(zhì)和要求,對(duì)工程化的開(kāi)銷(xiāo)認(rèn)識(shí)不足………1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院303.軟件危機(jī)仍在繼續(xù)

---影響軟件質(zhì)量的糊涂認(rèn)識(shí)(1/3)在項(xiàng)目的初始階段對(duì)系統(tǒng)若明若暗就開(kāi)始寫(xiě)程序認(rèn)為軟件是靈活的容易修改,對(duì)軟件需求的改變不以為然程序調(diào)試成功標(biāo)志著工作的結(jié)束1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院31軟件危機(jī)仍在繼續(xù)

---影響軟件質(zhì)量的糊涂認(rèn)識(shí)(2/3)程序運(yùn)行前無(wú)法評(píng)價(jià)程序的質(zhì)量一個(gè)軟件項(xiàng)目給客戶提交的主要是程序,而軟件文檔則認(rèn)為可有可無(wú)、可多可少等等。雖然發(fā)布了軟件標(biāo)準(zhǔn)和規(guī)范,但在實(shí)踐中執(zhí)行需要額外的開(kāi)銷(xiāo),劃不來(lái)1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院32軟件危機(jī)仍在繼續(xù)

---影響軟件質(zhì)量的糊涂認(rèn)識(shí)(3/3)雖然開(kāi)發(fā)了許多軟件工具,但很多開(kāi)發(fā)者對(duì)使用這些工具興趣不大為了開(kāi)發(fā)軟件人們不惜用重金購(gòu)買(mǎi)最新型號(hào)的主機(jī)和工作站而不愿意購(gòu)買(mǎi)軟件工具在軟件開(kāi)發(fā)過(guò)程中,進(jìn)度遲后就增派更多的程序員突擊,趕進(jìn)度………1.1軟件2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院331.2軟件工程的概念1968年NATO計(jì)算機(jī)科學(xué)會(huì)議軟件危機(jī)-->根源-->解決途徑

軟件工程第一章軟件與軟件工程2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院341.2.1.軟件工程的定義(1/3)

軟件工程FritzBauer[nau69]

為了經(jīng)濟(jì)的獲得可靠的,在實(shí)際機(jī)器上高效運(yùn)行的軟件,而建立和使用的好的工程原則。1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院35軟件工程的定義(2/3)

軟件工程[教材]軟件工程是運(yùn)用工程、科學(xué)和數(shù)學(xué)的原則與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)和管理的方法。1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院36軟件工程的定義(3/3)

軟件工程[IEE93](1)將系統(tǒng)的、規(guī)范的、可度量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)的過(guò)程;(2)

上述方法的研究。1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院37軟件工程三要素

過(guò)程、方法和工具(1/5)質(zhì)量是軟件工程的生命線,軟件工程以質(zhì)量保證為基礎(chǔ)。質(zhì)量管理促進(jìn)了過(guò)程的改進(jìn),創(chuàng)造了許多行之有效的軟件開(kāi)發(fā)方法和工具。1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院38軟件工程三要素

過(guò)程、方法和工具(2/5)軟件工程釆用層次化的方法,每個(gè)層次都包括過(guò)程、方法、工具三要素。方法支撐過(guò)程和工具、過(guò)程和工具促進(jìn)方法學(xué)的研究。1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院39軟件工程三要素

過(guò)程、方法和工具將系統(tǒng)的、規(guī)范的、可量化的方法運(yùn)用到軟件工程的始終,滲透到軟件工程的過(guò)程、方法和工具中。1.2軟件工程的概念軟件工程過(guò)程方法工具2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院40

軟件工程三要素

過(guò)程、方法和工具(3/5)軟件工程的過(guò)程過(guò)程貫穿軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié),各環(huán)節(jié)之間建立里程碑;管理者在軟件工程過(guò)程中對(duì)軟件開(kāi)發(fā)的質(zhì)量、進(jìn)度、成本進(jìn)行評(píng)估、管理和控制;技術(shù)人員采用相應(yīng)的方法和工具生成軟件工程產(chǎn)品(模型、文檔、數(shù)據(jù)、報(bào)告、表格等)。1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院41軟件工程三要素

過(guò)程、方法和工具(4/5)

軟件工程的方法軟件工程方法是完成軟件工程項(xiàng)目的技術(shù)手段。它支持項(xiàng)目計(jì)劃和估算、系統(tǒng)和軟件需求分析、設(shè)計(jì)、編程、測(cè)試和維護(hù)。軟件工程方法依賴(lài)一組原則,它貫穿軟件工程的各個(gè)環(huán)節(jié)。軟件工程方法分兩類(lèi):傳統(tǒng)方法和面向?qū)ο蠓椒?.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院42軟件工程三要素

過(guò)程、方法和工具(5/5)軟件工程工具它為軟件工程的過(guò)程和方法提供自動(dòng)化或半自動(dòng)化的工具支持。將若干工具集成起來(lái),與軟件工程數(shù)據(jù)庫(kù)和計(jì)算機(jī)系統(tǒng)構(gòu)成一個(gè)支持軟件開(kāi)發(fā)的系統(tǒng)稱(chēng)“計(jì)算機(jī)輔助軟件工程(CASE)”,系統(tǒng)中某一工具的信息加工結(jié)果可以作為另一工具的輸入。集成的軟件工程工具再加上人的因素構(gòu)成了軟件工程環(huán)境。1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院43軟件開(kāi)發(fā)方法和軟件工具結(jié)構(gòu)化分析方法結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言面向?qū)ο蠓终鄯椒嫦驅(qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院443.軟件和軟件開(kāi)發(fā)過(guò)程軟件過(guò)程和軟件產(chǎn)品密切相關(guān)。大型軟件項(xiàng)目沒(méi)有良好的軟件開(kāi)發(fā)過(guò)程,不可能建造出用戶滿意的優(yōu)質(zhì)產(chǎn)品;反之,一個(gè)好的軟件產(chǎn)品隱含著良好的軟件開(kāi)發(fā)過(guò)程。計(jì)算機(jī)軟件領(lǐng)域產(chǎn)品和過(guò)程不斷交替創(chuàng)新,促進(jìn)軟件工程的進(jìn)步和發(fā)展。1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院451.2.2軟件工程目標(biāo)

(1/6)在給定成本、進(jìn)度的前提下,開(kāi)發(fā)出具有

可修改性、有效性、可靠性、可適應(yīng)性、可追蹤性、可移植性、可互操作性并滿足用戶需求的軟件產(chǎn)品。1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院46軟件工程目標(biāo)

(2/6)有效性能有效地利用計(jì)算機(jī)的時(shí)間和空間資源可修改性容許對(duì)系統(tǒng)進(jìn)行修改而不增加原系統(tǒng)的復(fù)雜性,它支持軟件的調(diào)試與維護(hù)。1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院47軟件工程目標(biāo)

(3/6)可靠性具有能夠防止因概念、設(shè)計(jì)和結(jié)構(gòu)等方面的不完善而造成的系統(tǒng)失效,具有挽回因操作不當(dāng)造成軟件系統(tǒng)失效的能力可理解性系統(tǒng)具有清晰的結(jié)構(gòu),能直接反映軟件需求。1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院48

軟件工程目標(biāo)

(4/6)可維護(hù)性便于對(duì)軟件增加新功能、改進(jìn)性能、修改錯(cuò)誤、移植

可重用性軟件易于被再次使用1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院49軟件工程目標(biāo)

(5/6)可適應(yīng)性采用流行的程序設(shè)計(jì)語(yǔ)言、運(yùn)行環(huán)境、標(biāo)準(zhǔn)的術(shù)語(yǔ)和格式??勺粉櫺詫?duì)軟件進(jìn)行正向和反向追蹤的能力

1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院50軟件工程目標(biāo)

(6/6)可移植性從一個(gè)環(huán)境搬遷到另一個(gè)環(huán)境

可互操作性多個(gè)軟件要素相互通訊協(xié)同完成任務(wù)的能力

1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院511.2.3軟件工程原則

(1/6)在軟件開(kāi)發(fā)過(guò)程中,為了達(dá)到軟件開(kāi)發(fā)目標(biāo),必須遵循下列原則:

抽象模塊化信息隱藏局部化一致性完全性可驗(yàn)證性1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院52軟件工程原則

(2/6)抽象關(guān)注事物基本、重要的部分,忽略不相關(guān)成分

抽象可以使我們的思維聚焦于問(wèn)題本質(zhì),從而簡(jiǎn)化問(wèn)題,控制問(wèn)題復(fù)雜度,支持復(fù)雜、龐大軟件系統(tǒng)的開(kāi)發(fā)。1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院53軟件工程原則

(3/6)模塊化模塊是程序中一個(gè)邏輯上相對(duì)獨(dú)立、具有良好的接口定義的編程單位:過(guò)程、函數(shù)、類(lèi)、程序包等模塊化是,將復(fù)雜的系統(tǒng)分解為一個(gè)個(gè)相對(duì)獨(dú)立的模塊來(lái)加以實(shí)現(xiàn),有助于抽象和信息隱藏以及表示復(fù)雜的系統(tǒng)1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院54軟件工程原則

(4/6)信息隱藏模塊中的軟件設(shè)計(jì)決策信息封裝起來(lái)的技術(shù),只知道它的功能以及對(duì)外的接口,而不知它的內(nèi)部細(xì)節(jié)

有助于軟件開(kāi)發(fā)人員的注意力集中于更高的抽象層次

1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院55

軟件工程原則

(5/6)局部化物理模塊內(nèi)集中邏輯上相互關(guān)聯(lián)的計(jì)算資源

確保模塊內(nèi)各成分關(guān)系密切而??熘g的關(guān)系松散,保證模塊具有良好的獨(dú)立性

1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院56軟件工程原則

(6/6)一致性整個(gè)軟件系統(tǒng)均使用統(tǒng)一的符號(hào)、概念和術(shù)語(yǔ)完全性整個(gè)軟件系統(tǒng)不丟失任何重要的成分,軟件完全實(shí)現(xiàn)系統(tǒng)所需的功能、行為和性能可驗(yàn)證性軟件系統(tǒng)應(yīng)易于檢查、測(cè)試和評(píng)審1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院57軟件開(kāi)發(fā)目標(biāo)在給定成本、進(jìn)度和滿足用戶需求的前提下,開(kāi)發(fā)的軟件產(chǎn)品應(yīng)具有

可修改性有效性可靠性適應(yīng)性可追蹤性可移植性可互操作性1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院58軟件開(kāi)發(fā)原則

在軟件開(kāi)發(fā)過(guò)程中,為了達(dá)到軟件開(kāi)發(fā)目標(biāo),必須遵循下列原則:

抽象模塊化信息隱藏局部化一致性完全性可驗(yàn)證性1.2軟件工程的概念2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院591.3軟件生存周期軟件產(chǎn)品從形成概念開(kāi)始,經(jīng)過(guò)開(kāi)發(fā)、運(yùn)行(使用)和維護(hù)直到退役的全過(guò)程稱(chēng)為軟件生存周期,包括軟件定義、開(kāi)發(fā)、使用和維護(hù)三部分。軟件工程的目標(biāo)和原則貫穿整個(gè)軟件生存周期。第一章軟件與軟件工程2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院60

軟件的定義和開(kāi)發(fā)過(guò)程問(wèn)題定義可行性研究需求分析軟件開(kāi)發(fā)概要設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)組裝測(cè)試確認(rèn)測(cè)試可行性研究需求分析概要設(shè)計(jì)

詳細(xì)設(shè)計(jì)

實(shí)現(xiàn)

組裝測(cè)試確認(rèn)測(cè)試1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院611.3.1問(wèn)題定義

1.可行性研究任務(wù)

了解用戶要求和現(xiàn)實(shí)環(huán)境

從技術(shù)、經(jīng)濟(jì)、市場(chǎng)等方面研究并論證開(kāi)發(fā)該軟件系統(tǒng)的可行性1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院62可行性研究

(2/3)技術(shù)可行性當(dāng)前的軟件開(kāi)發(fā)方法和工具能否支持需求的實(shí)現(xiàn);操作可行性用戶能否在特定的環(huán)境下使用這個(gè)軟件;經(jīng)濟(jì)可行性開(kāi)發(fā)和使用、維護(hù)這個(gè)軟件的成本能否被用戶所接受。1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院63可行性研究(3/3)

階段性產(chǎn)品可行性論證報(bào)告制定初步項(xiàng)目開(kāi)發(fā)計(jì)劃(人員,進(jìn)度)1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院64問(wèn)題定義2.需求分析任務(wù)

確定用戶對(duì)軟件系統(tǒng)的需求:功能需求軟件必須要完成的功能;性能需求軟件的安全性、可靠性、可維護(hù)性、精度、錯(cuò)誤處理、適應(yīng)性、用戶培訓(xùn)等;運(yùn)行環(huán)境約束待開(kāi)發(fā)的軟件產(chǎn)品必須滿足的環(huán)境要求1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院65需求分析(2/4)重要性軟件開(kāi)發(fā)的依據(jù),軟件驗(yàn)收的標(biāo)準(zhǔn)困難難以說(shuō)清、

動(dòng)態(tài)變化、

歧義、復(fù)雜、應(yīng)用軟件的需求分析涉及應(yīng)用領(lǐng)域的知識(shí)和經(jīng)驗(yàn)。1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院66需求分析

(3/4)需求分析過(guò)程需求分析人員必須與用戶不斷、反復(fù)地交流和商討,使用戶需求逐步準(zhǔn)確、一致、完全。方法

面向數(shù)據(jù)流的分析方法面向數(shù)據(jù)流的分析方法面向?qū)ο蟮姆治龇椒ǔ橄?、?wèn)題分解、快速原型、多視點(diǎn)等工具

RationalRose,WitClass,VisualModel1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院67需求分析

(4/4)階段性產(chǎn)品軟件需求規(guī)格說(shuō)明書(shū)SRS用軟件需求規(guī)格說(shuō)明語(yǔ)言描述軟件系統(tǒng)的功能需求、性能需求、接口需求、設(shè)計(jì)需求、軟件產(chǎn)品的基本結(jié)構(gòu)、采用的開(kāi)發(fā)標(biāo)準(zhǔn)和驗(yàn)收原則等。用戶手冊(cè)概要。1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院681.3.2軟件開(kāi)發(fā)1.概要設(shè)計(jì)任務(wù)根據(jù)SRS建立目標(biāo)軟件系統(tǒng)的總體結(jié)構(gòu)、設(shè)計(jì)全局?jǐn)?shù)據(jù)庫(kù)和數(shù)據(jù)結(jié)構(gòu),規(guī)定設(shè)計(jì)約束,制定組裝測(cè)試計(jì)劃等等。1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院69

概要設(shè)計(jì)

(2/3)方法根據(jù)軟件需求規(guī)格說(shuō)明書(shū),

自頂向下、逐步求精、

抽象、

模塊化、

局部化、信息隱藏…堅(jiān)持功能模塊內(nèi)部緊耦合,功能模塊之間松耦合的原則;堅(jiān)持與需求規(guī)格說(shuō)明書(shū)的一致性

1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院70概要設(shè)計(jì)(3/3)工具

面向數(shù)據(jù)流的設(shè)計(jì)方法結(jié)構(gòu)圖面向數(shù)據(jù)流的設(shè)計(jì)方法面向?qū)ο蟮脑O(shè)計(jì)方法RationalRose階段性產(chǎn)品概要設(shè)計(jì)規(guī)格說(shuō)明書(shū)數(shù)據(jù)庫(kù)或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)說(shuō)明書(shū)集成測(cè)試計(jì)劃。1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院712.詳細(xì)設(shè)計(jì)任務(wù)細(xì)化概要設(shè)計(jì)所生成的各個(gè)模塊,并詳細(xì)描述程序模塊的內(nèi)部細(xì)節(jié)(算法,數(shù)據(jù)結(jié)構(gòu)等),形成可編程的程序模塊,制訂單元測(cè)試計(jì)劃階段新產(chǎn)品詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明書(shū),單元測(cè)試計(jì)劃1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院723.實(shí)現(xiàn)任務(wù)根據(jù)詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明書(shū)編寫(xiě)源程序,并對(duì)程序進(jìn)行調(diào)試、單元測(cè)試、系統(tǒng)集成,驗(yàn)證程序與詳細(xì)設(shè)計(jì)文檔的一致性1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院73實(shí)現(xiàn)(2/2)方法以詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明書(shū)為依據(jù)、基于某種程序設(shè)計(jì)語(yǔ)言進(jìn)行編碼結(jié)構(gòu)化程序設(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)工具VisualC++,VisualJava,etcIDE階段產(chǎn)品源程序代碼1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院74

4.組裝測(cè)試任務(wù)

組裝測(cè)試應(yīng)滿足概要設(shè)計(jì)的要求。途徑測(cè)試模塊連接的正確性;測(cè)試系統(tǒng)或子系統(tǒng)的I/O;測(cè)試系統(tǒng)的功能和性能。產(chǎn)品滿足概要設(shè)計(jì)要求的程序、組裝測(cè)試報(bào)告。1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院755.確認(rèn)測(cè)試

任務(wù)根據(jù)軟件需求規(guī)格說(shuō)明書(shū),測(cè)試軟件系統(tǒng)是否滿足用戶的需求

方法用戶參與,以軟件需求規(guī)格說(shuō)明書(shū)為依據(jù)進(jìn)行確認(rèn)測(cè)試工具專(zhuān)用測(cè)試工具階段性產(chǎn)品可供用戶使用的軟件產(chǎn)品(文檔,源程序)1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院761.3.3軟件的使用、維護(hù)和退役軟件的使用確認(rèn)測(cè)試后的軟件安裝在用戶環(huán)境中;測(cè)試通過(guò)后移交用戶使用;盡量擴(kuò)大軟件發(fā)行量發(fā)揮更大的社會(huì)和經(jīng)濟(jì)效益;軟件使用過(guò)程中用戶要認(rèn)真收集軟件錯(cuò)誤,并撰寫(xiě)軟件問(wèn)題報(bào)告和軟件維護(hù)報(bào)告1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院77軟件的使用、維護(hù)和退役軟件的維護(hù)軟件工作環(huán)境不斷變化,軟件也必然跟著變化,軟件必須不斷進(jìn)化以滿足客戶的需求變化,這是軟件產(chǎn)品最根本的特性。軟件維護(hù)占用軟件開(kāi)發(fā)60%以上的工作量。正確性維護(hù);擴(kuò)充性維護(hù);適應(yīng)性維護(hù)。軟件產(chǎn)品的新版本

1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院78軟件的使用、維護(hù)和退役軟件的退役終止軟件運(yùn)行。1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院79軟件定義開(kāi)發(fā)與測(cè)試的關(guān)系1.3軟件生存周期2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院801.4軟件開(kāi)發(fā)模型軟件開(kāi)發(fā)模型是軟件開(kāi)發(fā)全過(guò)程、軟件開(kāi)發(fā)活動(dòng)以及它們之間關(guān)系的的結(jié)構(gòu)框架軟件項(xiàng)目的管理提供里程碑和進(jìn)度表為軟件開(kāi)發(fā)提供原則和方法第一章軟件與軟件工程2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院81軟件開(kāi)發(fā)模型三類(lèi)軟件開(kāi)發(fā)模型1.以軟件需求完全確定為前提的瀑布模型2.在軟件開(kāi)發(fā)初期只能提供基本需求所采用的漸進(jìn)式開(kāi)發(fā)模型如原型模型、螺旋模型3.以形式化開(kāi)發(fā)方法為基礎(chǔ)的變換模型1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院821.4.1瀑布模型

(1/4)

主要思想軟件開(kāi)發(fā)過(guò)程與軟件生命周期是一致的相鄰二階段之間存在因果關(guān)系需對(duì)階段性產(chǎn)品進(jìn)行評(píng)審1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院83瀑布模型

(2/4)1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院84瀑布模型的優(yōu)點(diǎn)(3/4)軟件生命周期模型,使軟件開(kāi)發(fā)過(guò)程可以在分析、設(shè)計(jì)、編碼、測(cè)試和維護(hù)的框架下進(jìn)行;軟件開(kāi)發(fā)過(guò)程具有系統(tǒng)性、可控性,克服了軟件開(kāi)發(fā)的隨意性

。1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院85瀑布模型的缺點(diǎn)(4/4)

項(xiàng)目開(kāi)始階段用戶很難精確的提出產(chǎn)品需求,由于技術(shù)進(jìn)步,用戶對(duì)系統(tǒng)深入的理解,修改需求十分普遍。項(xiàng)目開(kāi)發(fā)晚期才能得到程序的運(yùn)行版本,這時(shí)修改軟件需求和開(kāi)發(fā)中的錯(cuò)誤代價(jià)很大。采用線性模型組織項(xiàng)目開(kāi)發(fā)經(jīng)常發(fā)生開(kāi)發(fā)小組人員“堵塞狀態(tài)”,特別是項(xiàng)目的開(kāi)始和結(jié)束。1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院861.4.2快速原型模型用戶/客戶給出軟件產(chǎn)品的一般需求開(kāi)發(fā)小組和用戶共同定義軟件總體目標(biāo),標(biāo)識(shí)已知需求對(duì)界面、功能、人機(jī)交互方式等,進(jìn)行設(shè)計(jì)并建造原型1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院87快速原型模型強(qiáng)調(diào)“快速”,釆用基于構(gòu)件的軟件開(kāi)發(fā)方法,盡量縮短軟件開(kāi)發(fā)周期,不宜釆用過(guò)多的新技術(shù)用戶/客戶對(duì)原型進(jìn)行評(píng)估修改需求、更新設(shè)計(jì)、完善原型直至確定需求。1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院88原型模型示意圖1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院89RAD模型的開(kāi)發(fā)過(guò)程(1/3)業(yè)務(wù)建模按照下列問(wèn)題建立業(yè)務(wù)功能的信息流模型:什么信息驅(qū)動(dòng)業(yè)務(wù)流程?生成什么信息?誰(shuí)生成該信息?該信息流往何處?誰(shuí)處理它?數(shù)據(jù)建模精化信息流,形成一組支持該業(yè)務(wù)所需的數(shù)據(jù)對(duì)象。標(biāo)識(shí)出每個(gè)對(duì)象的特征(稱(chēng)為屬性),并定義這些對(duì)象間的關(guān)系。業(yè)務(wù)建模數(shù)據(jù)建模過(guò)程建模應(yīng)用生成測(cè)試修正1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院90RAD模型的開(kāi)發(fā)過(guò)程(2/3)過(guò)程建模對(duì)定義的數(shù)據(jù)對(duì)象進(jìn)行變換,實(shí)現(xiàn)一個(gè)業(yè)務(wù)功能所需的信息流。創(chuàng)建過(guò)程描述以增加、修改、刪除或檢索一個(gè)數(shù)據(jù)對(duì)象。業(yè)務(wù)建模數(shù)據(jù)建模過(guò)程建模應(yīng)用生成測(cè)試修正1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院91RAD模型的開(kāi)發(fā)過(guò)程(3/3)應(yīng)用生成

采用第四代技術(shù)創(chuàng)建軟件、重用已有的程序構(gòu)件或創(chuàng)建可重用的構(gòu)件。使用自動(dòng)化工具輔助軟件建造。測(cè)試修正RAD過(guò)程強(qiáng)調(diào)重用,許多程序構(gòu)件已經(jīng)過(guò)測(cè)試,但所有新構(gòu)件和接口必須測(cè)試。業(yè)務(wù)建模數(shù)據(jù)建模處理建模應(yīng)用生成測(cè)試修正1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院92原型模型的優(yōu)點(diǎn)原型模型支持軟件需求開(kāi)發(fā),幫助用戶和開(kāi)發(fā)人員理解需求,是軟件需求工程的關(guān)鍵。它產(chǎn)生的正式需求文擋,是軟件開(kāi)發(fā)的基礎(chǔ)。如果開(kāi)發(fā)的原型是可運(yùn)行的,它的若干高質(zhì)量的程序片段和開(kāi)發(fā)工具可用于工作程序的開(kāi)發(fā)。原型的開(kāi)發(fā)和評(píng)審是系統(tǒng)分析員和用戶/客戶共同參予的迭代過(guò)程,每個(gè)迭代循環(huán)都是線性過(guò)程。1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院93原型模型的缺點(diǎn)對(duì)于大型軟件項(xiàng)目,原型模型需要足夠的人力資源以建立足夠的原型組。原型模型要求開(kāi)發(fā)者和客戶在一段時(shí)間內(nèi)共同完成原型系統(tǒng)的開(kāi)發(fā),如果任何一方?jīng)]有實(shí)現(xiàn)承諾,會(huì)導(dǎo)致原型開(kāi)發(fā)的失敗。如果系統(tǒng)難以模塊化,建造原型所需構(gòu)件就有問(wèn)題;如果高性能是一個(gè)指標(biāo),原型模型也可能不奏效。原型模型不適合采用很多新技術(shù)的項(xiàng)目1.4軟件開(kāi)發(fā)模型2023/10/23國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院94原型模型

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論