版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1. 軟件的概念:軟件是計(jì)算機(jī)系統(tǒng)屮的一個(gè)重要組成部分,它是包括程序相關(guān)文檔的完整集合。其中,程序是桉事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列;文檔是與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文材料。同時(shí),軟件是用戶(hù)和硬件之間的接口,用戶(hù)通過(guò)軟件與計(jì)算機(jī)進(jìn)行交互。 軟件由兩部分組成:計(jì)算機(jī)程序和相關(guān)文檔。 軟件是用戶(hù)和硬件之間的接口。2. 軟件的特點(diǎn)1) 軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,因而它具有抽象性。2) 軟件是開(kāi)發(fā)出來(lái)的,不是制造出來(lái)的。3) 軟件可能被廢棄,但不會(huì)被用壞。4) 以往的軟件大多是定制的,而不是裝配的。5) 軟件的開(kāi)發(fā)和運(yùn)行常常受到計(jì)算機(jī)系統(tǒng)的限制,對(duì)計(jì)算機(jī)系統(tǒng)有著不同程度的依
2、賴(lài)性。3. 軟件的分類(lèi)(按照軟件的作用)1) 系統(tǒng)軟件:能與計(jì)算機(jī)系統(tǒng)緊密配合在一起,使計(jì)算機(jī)系統(tǒng)各部分、相關(guān)軟件和數(shù)據(jù)協(xié)調(diào)高效工作的軟件。2)應(yīng)用軟件:在系統(tǒng)軟件的支持下,在特定領(lǐng)域內(nèi)開(kāi)發(fā),為特定目的服務(wù)的一類(lèi)軟件。3)支撐軟件:也叫工具軟件,是協(xié)助用戶(hù)開(kāi)發(fā)軟件的工具性軟件。4)可復(fù)用軟件:各種標(biāo)準(zhǔn)函數(shù)庫(kù),其中的標(biāo)準(zhǔn)函數(shù)不需構(gòu)造,可直接使用。4. 軟件的發(fā)展1) 程序設(shè)計(jì)階段(19461956年)這一階段從第一臺(tái)計(jì)算機(jī)上的第一個(gè)程序出現(xiàn)持續(xù)到實(shí)用的高級(jí)程序設(shè)計(jì)語(yǔ)言出現(xiàn)以前。這一階段系統(tǒng)開(kāi)發(fā)的主要特點(diǎn)是:(1) 程序設(shè)計(jì)是一種由人發(fā)揮創(chuàng)造才能的技術(shù)領(lǐng)域。(2) 程序開(kāi)發(fā)者只是為了滿(mǎn)足自己的需要
3、,對(duì)和程序有關(guān)的文檔的重要性認(rèn)識(shí)不足。2) 程序系統(tǒng)階段(19561968年)這一階段從實(shí)用的高級(jí)程序設(shè)計(jì)語(yǔ)言出現(xiàn)持續(xù)到軟件工程出現(xiàn)。采用了實(shí)用的高級(jí)程序設(shè)計(jì)語(yǔ)言,出現(xiàn)了操作系統(tǒng),開(kāi)始使用數(shù)據(jù)庫(kù)及其管理系統(tǒng)。在軟件發(fā)展的這個(gè)階段,由于軟件的復(fù)雜程度提高,規(guī)模增大,研制周期較長(zhǎng),而軟件技術(shù)的進(jìn)步不能滿(mǎn)足發(fā)展的要求,軟件質(zhì)量得不到保證,成本不斷提升,軟件開(kāi)發(fā)的生產(chǎn)率無(wú)法提高,致使問(wèn)題積累起來(lái),形成了日益尖銳的矛盾。這就導(dǎo)致了軟件危機(jī)。問(wèn)題歸結(jié)起來(lái)有:(1)軟件開(kāi)發(fā)無(wú)計(jì)劃性;(2)軟件需求不充分;(3)軟件開(kāi)發(fā)過(guò)程無(wú)規(guī)范;(4)軟件產(chǎn)品無(wú)譯測(cè)手段。3) 軟件工程階段(1968年以來(lái))軟件工程出現(xiàn)以后
4、迄今為軟件工程階段。這一階段的特點(diǎn):1 軟件應(yīng)用領(lǐng)域不斷擴(kuò)展;2 開(kāi)發(fā)方式逐步由個(gè)體合作方式轉(zhuǎn)向工程方式;3 致力研究軟件開(kāi)發(fā)過(guò)程本身,研究各種軟件開(kāi)發(fā)范型與模型;4 除了軟件傳統(tǒng)技術(shù)繼續(xù)發(fā)展外,人們著重研究以智能化、自動(dòng)化、集成化、并行化以及自然化為目標(biāo)的軟件開(kāi)發(fā)新技術(shù);5 注意研究軟件理論,特別是軟件開(kāi)發(fā)過(guò)程的本質(zhì)。5軟件工程的定義SE(Software Engineering)是指導(dǎo)軟件開(kāi)發(fā)和維護(hù)的工程性學(xué)科,它以計(jì)算機(jī)科學(xué)理論和其他相關(guān)學(xué)科的理論為指導(dǎo),采用工程化的概念、原理、技術(shù)和方法進(jìn)行軟件的開(kāi)發(fā)和維護(hù),把經(jīng)過(guò)時(shí)間考驗(yàn)而證明是正確的管理技術(shù)和當(dāng)前能夠得到的最好技術(shù)方法結(jié)合起來(lái),以較
5、少的代價(jià)獲得高質(zhì)量的軟件并維護(hù)它。6軟件工程的框架軟件工程目標(biāo):生產(chǎn)具有正確性、可用性及開(kāi)銷(xiāo)適宜的產(chǎn)品。1)正確性:表明軟件產(chǎn)品達(dá)到預(yù)期功能的程度2)可用性:表明軟件基本結(jié)構(gòu)、實(shí)現(xiàn)和文檔為用戶(hù)所接受的程度。3)開(kāi)銷(xiāo)適宜:表明軟件開(kāi)發(fā)、運(yùn)行的整個(gè)開(kāi)銷(xiāo)滿(mǎn)足用戶(hù)要求的程度。軟件工程活動(dòng):生產(chǎn)一個(gè)最終滿(mǎn)足需求并達(dá)到工程目標(biāo)要求的軟件產(chǎn)品所需要的一系列步驟。1) 需求分析:需求獲取目的在于獲取軟件需求定義;分析建模目的在于生成詳細(xì)的分析模型和需求規(guī)格說(shuō)明。2) 設(shè)計(jì):概要設(shè)計(jì)建立整個(gè)軟件體系結(jié)構(gòu);詳細(xì)設(shè)計(jì)產(chǎn)生編程人員可用的模塊說(shuō)明。 3)實(shí)現(xiàn):把設(shè)計(jì)結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。 4)驗(yàn)證和確認(rèn):貫穿于整
6、個(gè)開(kāi)發(fā)過(guò)程,目的確保產(chǎn)品滿(mǎn)足用戶(hù)的要求。 5)支持:包括修改和完善。軟件工程的基本原則: 選取適宜的開(kāi)發(fā)范型。在系統(tǒng)設(shè)計(jì)中,軟件需求、硬件需求以及其他因素之間是相互制約、相互影響的,經(jīng)常需要進(jìn)行權(quán)衡。因此,必須認(rèn)清需求定義的易變性,采用適當(dāng)?shù)拈_(kāi)發(fā)范型。 采用合適的設(shè)計(jì)方法。在軟件設(shè)計(jì)中,通常需要考慮軟件的模塊化、抽象和信息隱蔽、局部化、一致性、適應(yīng)性等特征。合適的設(shè)計(jì)方法有助于這些特征的實(shí)現(xiàn),以達(dá)到軟件工程的目標(biāo)。 提供高質(zhì)量的工具支持。在軟件工程中,軟件工具與環(huán)境對(duì)軟件工程的支持非常重要。 重視開(kāi)發(fā)過(guò)程的管理。軟件工程的管理工作直接影響能否有效利用可用資源、生產(chǎn)滿(mǎn)足要求的軟件產(chǎn)品以以及提高軟
7、件組織的生產(chǎn)能力等問(wèn)題。7軟件工程的基本原理1) 按軟件生存周期分階段制定計(jì)劃并認(rèn)真實(shí)施2) 堅(jiān)持進(jìn)行階段評(píng)審3) 堅(jiān)持嚴(yán)格的產(chǎn)品控制4) 使用現(xiàn)代程序設(shè)計(jì)技術(shù)5) 明確責(zé)任6) 用人少而精7) 不斷改進(jìn)開(kāi)發(fā)過(guò)程8軟件生存周期定義:軟件生存周期是軟件產(chǎn)品的一系列相關(guān)活動(dòng)的整個(gè)生命周期,即從形 成概念開(kāi)始,經(jīng)過(guò)開(kāi)發(fā)、交付使用、在使用中不斷修改和演進(jìn),直到最終被廢棄,讓位于新的軟件產(chǎn)品為止的整個(gè)時(shí)期。軟件生存周期各個(gè)階段所要完成的基本任務(wù):1) 問(wèn)題定義和可行性研究關(guān)鍵問(wèn)題:“到底要解決什么問(wèn)題?在成本和時(shí)間的限制條件下能否解決問(wèn)題?是否值得做?”任務(wù):確定總目標(biāo),由軟件分析員和用戶(hù)合作,探討解決
8、問(wèn)題的可能方案,并研究完成該項(xiàng)任務(wù)的可行性分析,做出成本效值評(píng)估。2) 需求分析關(guān)鍵問(wèn)題:“目標(biāo)系統(tǒng)應(yīng)當(dāng)做什么?”任務(wù):對(duì)用戶(hù)要求進(jìn)行分析,明確目標(biāo)系統(tǒng)的功能和非功能需求,并建立分析建模,對(duì)目標(biāo)系統(tǒng)做徹底細(xì)化,了解系統(tǒng)的各種細(xì)節(jié)。3) 軟件設(shè)計(jì)關(guān)鍵問(wèn)題:“目標(biāo)系統(tǒng)如何做?”任務(wù):在設(shè)計(jì)階段制定設(shè)計(jì)方案,把已經(jīng)確定的各項(xiàng)需求轉(zhuǎn)換成一個(gè)相應(yīng)的軟件體系結(jié)構(gòu)。4) 程序編碼與單元測(cè)試關(guān)鍵問(wèn)題:“編寫(xiě)正確的、可維護(hù)的程序代碼。”任務(wù):選擇合適的編程語(yǔ)言,把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼,并進(jìn)行單元測(cè)試、調(diào)試。5) 綜合測(cè)試主要任務(wù):做集成測(cè)試和確認(rèn)測(cè)試。6) 軟件維護(hù)軟件在運(yùn)行中可能由于多方面的
9、原因,需要對(duì)它進(jìn)行修改。分4類(lèi):改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)。9軟件過(guò)程的定義:從軟件開(kāi)發(fā)的觀(guān)點(diǎn)看,它就是使用適當(dāng)?shù)馁Y源,為開(kāi)發(fā)軟件進(jìn)行的一組開(kāi)發(fā)活動(dòng),在過(guò)程結(jié)束時(shí)將用戶(hù)要求轉(zhuǎn)化為軟件產(chǎn)品。10. 軟件過(guò)程活動(dòng)1) 軟件規(guī)格說(shuō)明:定義軟件產(chǎn)品的功能和操作約束。2) 軟件設(shè)計(jì)與實(shí)現(xiàn):生產(chǎn)滿(mǎn)足規(guī)格說(shuō)明的軟件產(chǎn)品。3) 軟件確認(rèn):確認(rèn)軟件產(chǎn)品的有效性,確保該軟件所做的是用戶(hù)所需要的。4) 軟件演進(jìn):改進(jìn)軟件產(chǎn)品,滿(mǎn)足用戶(hù)新的需求。11軟件過(guò)程模型定義:軟件過(guò)程模型也稱(chēng)為軟件生存周期模型,它是對(duì)軟件過(guò)程的一種抽象表達(dá)。1) 瀑布模型定義(原理):瀑布模型規(guī)定了各項(xiàng)軟件工程活動(dòng),并且規(guī)
10、定了這些活動(dòng)自上而下、相互銜接的固定次序,如同瀑布流水,逐級(jí)下落,所以被稱(chēng)為瀑布模型。特點(diǎn):1)為軟件開(kāi)發(fā)和軟件維護(hù)提供了一種有效的管理;2)消除非結(jié)構(gòu)化軟件,降低軟件復(fù)雜度,促進(jìn)軟件開(kāi)發(fā)工程化;3)缺乏靈活性,無(wú)法解決需求不明確或不準(zhǔn)的問(wèn)題。優(yōu)點(diǎn):適用于需求比較明確的場(chǎng)合,反應(yīng)了軟件工程的實(shí)現(xiàn),特別是較大的工程項(xiàng)目中。缺點(diǎn):1)各階段劃分固定,缺乏靈活性,產(chǎn)生大量文檔,增加了工作量;2)開(kāi)發(fā)模型是線(xiàn)性的,等到開(kāi)發(fā)過(guò)程完成才能看到開(kāi)發(fā)成果,增加了開(kāi)發(fā)的風(fēng)險(xiǎn);3)早起的錯(cuò)誤要等到后期測(cè)試才能發(fā)現(xiàn),帶來(lái)嚴(yán)重后果?;净顒?dòng):1) 需求分析與定義 2)系統(tǒng)與軟件設(shè)計(jì) 3)實(shí)現(xiàn)和單元測(cè)試4)集成和系統(tǒng)測(cè)
11、試 5)運(yùn)行和維護(hù)2) 快速原型模型(又叫演進(jìn)模型)定義(原理):先做試驗(yàn)開(kāi)發(fā),其目標(biāo)只是在探索可行性,弄清楚軟件需求;然后在此基礎(chǔ)上獲得較為滿(mǎn)意的軟件產(chǎn)品。通常第一次得到的試驗(yàn)性產(chǎn)品稱(chēng)為“原型”。兩種類(lèi)型:1) 演進(jìn)開(kāi)發(fā):目的是與客戶(hù)一起工作,通過(guò)一次次向客戶(hù)演示原型系統(tǒng)并征求他們的意見(jiàn),再根據(jù)他們的要求不斷改進(jìn),從而演化出滿(mǎn)足客戶(hù)需求的可交付的最終系統(tǒng);2) 廢棄原型:目的是通過(guò)建立原型,借助原型與客戶(hù)溝通,探索與理解客戶(hù)的真正需求規(guī)格說(shuō)明。原型是一種試驗(yàn)品,參考它來(lái)開(kāi)發(fā)系統(tǒng),但不采取擴(kuò)充它以形成最終系統(tǒng)的方法,原型一起作用立即廢棄。優(yōu)點(diǎn):1)比瀑布方法更有效,可滿(mǎn)足客戶(hù)直接的需求;2)可
12、增量式地開(kāi)發(fā)出需求規(guī)格說(shuō)明,開(kāi)發(fā)出一部分,向用戶(hù)展示一部分,用戶(hù)能夠及早看到部分軟件,及早發(fā)現(xiàn)問(wèn)題。缺點(diǎn):過(guò)程不可見(jiàn),系統(tǒng)常常構(gòu)造的不合理,可能要求特殊的工具和技術(shù)。問(wèn)題:1)過(guò)程是不可見(jiàn)的 2)系統(tǒng)常常構(gòu)造的不合理3)可能要求特殊的工具和技術(shù)3) 增量模型定義(原理):把軟件產(chǎn)品作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、實(shí)現(xiàn)和確認(rèn)。每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成,并且能夠完成特定的功能。優(yōu)點(diǎn):1)客戶(hù)不必等到整個(gè)系統(tǒng)全部完成就能得到所需要的東西;2)客戶(hù)可使用較早的增量構(gòu)件作為原型,用于取得經(jīng)驗(yàn),從而獲得稍后的增量構(gòu)件的需求;3)項(xiàng)目失敗的風(fēng)險(xiǎn)較低;4)優(yōu)先級(jí)最高的服務(wù)首先交付,然后對(duì)其他增量構(gòu)件逐次集
13、成進(jìn)來(lái)。缺點(diǎn):很難表示所有增量構(gòu)件的所要求的公共工具。4) 螺旋模型原理:該模型將瀑布模型和快速原型模型結(jié)合起來(lái),并且加入兩種模型均忽略了的風(fēng)險(xiǎn)分析。在螺旋模型中,軟件過(guò)程表示成一個(gè)螺線(xiàn),在螺線(xiàn)上的每一個(gè)循環(huán)表示過(guò)程的一個(gè)階段。沿螺線(xiàn)自?xún)?nèi)向外每旋轉(zhuǎn)一圈便開(kāi)發(fā)出更為完善的一個(gè)新的軟件模型?;顒?dòng):1)制定計(jì)劃 2)風(fēng)險(xiǎn)分析 3)實(shí)施工程 4)客戶(hù)評(píng)估優(yōu)點(diǎn):包含了其他的過(guò)程模型,每一個(gè)螺線(xiàn)周期中可以使用不同的過(guò)程模型,有效的控制風(fēng)險(xiǎn),適合于大型軟件的開(kāi)發(fā)。缺點(diǎn):使用戶(hù)接受和相信螺旋模型不容易,且該模型的使用需要具有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專(zhuān)門(mén)的知識(shí)。5) 噴泉模型原理:它主要提供了對(duì)軟件復(fù)用和面向?qū)?/p>
14、象開(kāi)發(fā)方法的支持?!皣娙币辉~本身體現(xiàn)了迭代和無(wú)間隙的特性。特點(diǎn):1)各階段相互重疊,反映了軟件過(guò)程并行性的特點(diǎn);2)以分析為基礎(chǔ),在分析階段消耗的資源最多;3)反映了軟件過(guò)程迭代的自然特性;4)強(qiáng)調(diào)增量式開(kāi)發(fā),整個(gè)過(guò)程是一個(gè)迭代的逐步細(xì)化的過(guò)程;5)是對(duì)象驅(qū)動(dòng)的過(guò)程;6)不僅反映了系統(tǒng)的開(kāi)發(fā)全過(guò)程,也反映了對(duì)象族的開(kāi)發(fā)和復(fù)用的過(guò)程。優(yōu)點(diǎn):可以提高軟件項(xiàng)目開(kāi)發(fā)效率,節(jié)省開(kāi)發(fā)時(shí)間,適應(yīng)于面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程。缺點(diǎn):由于噴泉模型在各個(gè)開(kāi)發(fā)階段是重疊的,因此在開(kāi)發(fā)過(guò)程中需要大量的開(kāi)發(fā)人員,因此不利于項(xiàng)目的管理。此外這種模型要求管理文檔,使得審核的難度加大,尤其是面對(duì)可能隨時(shí)加入各種信息、需求與資料
15、的情況。6) Rational統(tǒng)一開(kāi)發(fā)過(guò)程RUP原理:Rational統(tǒng)一過(guò)程(RUP)是用例驅(qū)動(dòng)的、以體系結(jié)構(gòu)為核心的、迭代的增量的過(guò)程。三個(gè)視角來(lái)描述:動(dòng)態(tài)視角:給出模型隨時(shí)間所經(jīng)歷的各個(gè)階段靜態(tài)視角:給出所規(guī)定的過(guò)程活動(dòng)實(shí)踐視角:建議在過(guò)程中采用最佳軟件工程實(shí)踐RUP中的四個(gè)階段:初始建立一個(gè)系統(tǒng)業(yè)務(wù)的用例;細(xì)化增進(jìn)對(duì)問(wèn)題領(lǐng)域的理解;構(gòu)造構(gòu)造整個(gè)產(chǎn)品,逐步完善視圖、體系結(jié)構(gòu)和計(jì)劃;移交關(guān)注如何將系統(tǒng)從開(kāi)發(fā)部門(mén)移交給用戶(hù),并使之在實(shí)際環(huán)境中工作。優(yōu)點(diǎn):將軟件過(guò)程階段的分解和工作流,將軟件部署到用戶(hù)看做是過(guò)程的一部分,可以每個(gè)階段使用相關(guān)的技術(shù)活動(dòng)。缺點(diǎn):RUP并不適合于所有的開(kāi)發(fā)類(lèi)型,代表
16、了一類(lèi)的通用過(guò)程。12基于計(jì)算機(jī)系統(tǒng)的系統(tǒng)元素軟件、硬件、人、數(shù)據(jù)庫(kù)、文檔、過(guò)程、系統(tǒng)1 “軟件”是指計(jì)算機(jī)程序和用以描述所需要的邏輯方法、過(guò)程或控制的相關(guān)文檔;2 “硬件”是指提供計(jì)算能力的電子設(shè)備和提供外部功能的機(jī)電設(shè)備;3 “人”是指硬件和軟件的用戶(hù)和操作員;4 “數(shù)據(jù)庫(kù)”是一個(gè)大型的有組織的信息集合,它通過(guò)軟件進(jìn)行存取,是系統(tǒng)功能的一個(gè)主要部分;5 “文檔”是指手冊(cè)、表格和其他用以描述系統(tǒng)使用和操作的描述性信息;6 “過(guò)程”,也稱(chēng)規(guī)程,是定義每一種系統(tǒng)元素的特定使用的步驟,或系統(tǒng)駐留的過(guò)程性環(huán)境。13基于計(jì)算機(jī)的系統(tǒng):某些元素的一個(gè)集合或排列,這些原色被組織起來(lái)以實(shí)現(xiàn)某種方法、過(guò)程或借
17、助處理信息進(jìn)行控制。14. 計(jì)算機(jī)系統(tǒng)工程:是一類(lèi)問(wèn)題的求解活動(dòng),因應(yīng)用范圍的不同,有不同的活動(dòng)和過(guò)程框架。15. 計(jì)算機(jī)系統(tǒng)工程的主要活動(dòng)1)識(shí)別用戶(hù)的要求 2)系統(tǒng)分析和結(jié)構(gòu)設(shè)計(jì)3)可行性研究 4)建立成本和進(jìn)度的限制5)生成系統(tǒng)需求規(guī)格說(shuō)明書(shū)可行性研究從經(jīng)濟(jì)、技術(shù)、法律、用戶(hù)操作4個(gè)方面分析。16. 可行性研究:(1) 經(jīng)濟(jì)可行性 經(jīng)濟(jì)可行性研究主要進(jìn)行開(kāi)發(fā)成本的估算及可能取得效益的評(píng)估,確定待開(kāi)發(fā)系統(tǒng)是否值得投資開(kāi)發(fā)。討論經(jīng)濟(jì)可行性,需要進(jìn)行成本-效益分析。(2) 技術(shù)可行性 技術(shù)可行性研究是根據(jù)待開(kāi)發(fā)系統(tǒng)的功能、性能及實(shí)現(xiàn)系統(tǒng)的各種約束條件等,分析在現(xiàn)有的資源和技術(shù)條件下,技術(shù)風(fēng)險(xiǎn)有
18、多大,系統(tǒng)是否能實(shí)現(xiàn)。技術(shù)可行性分析通常包括風(fēng)險(xiǎn)分析、資源分析和技術(shù)分析。(3) 法律可行性 法律可行性研究關(guān)注的是系統(tǒng)開(kāi)發(fā)過(guò)程中可能涉及的合同、侵權(quán)、責(zé)任以及各種與法律相抵觸的問(wèn)題。(4) 用戶(hù)操作可行性用戶(hù)操作可行性研究是要考察待開(kāi)發(fā)系統(tǒng)的系統(tǒng)框架是否符合使用單位的使用環(huán)境現(xiàn)狀和管理制度,系統(tǒng)的操作方式是否符合用戶(hù)的技術(shù)水平和使用習(xí)慣。一個(gè)基于計(jì)算機(jī)的系統(tǒng)可以有多個(gè)可行的實(shí)現(xiàn)方案,每個(gè)方案對(duì)成本、時(shí)間、人員、技術(shù)、設(shè)備都有不同的要求,不同的系統(tǒng)在功能、性能方面也會(huì)有所不同。因此我們要在多個(gè)可行方案中做出選擇。即:可行性研究方案的選擇和折中形成可行性分析報(bào)告17. 面向?qū)ο蟮母拍蠲嫦驅(qū)ο?對(duì)
19、象+類(lèi)+繼承+消息通信對(duì)象:對(duì)象是系統(tǒng)中用來(lái)描述客觀(guān)事物的實(shí)體,是構(gòu)成系統(tǒng)的基本單位。特點(diǎn):1)對(duì)象是消息處理的主體 2)對(duì)象是以數(shù)據(jù)為中心的 3)實(shí)現(xiàn)了數(shù)據(jù)封裝 4)模塊獨(dú)立性好 5)具有并行的特點(diǎn)類(lèi):類(lèi)是一組具有相同結(jié)構(gòu)、相同服務(wù)、共同關(guān)系和共同語(yǔ)義的對(duì)象集合。繼承:繼承是在已有類(lèi)定義的基礎(chǔ)上定義新類(lèi)的技術(shù)。繼承具有傳遞性。消息:消息是一個(gè)對(duì)象向另一個(gè)對(duì)象傳遞的信息。18對(duì)象:是系統(tǒng)中用來(lái)描述客觀(guān)事物的實(shí)體,是構(gòu)成系統(tǒng)的基本單位。19. UML定義(Unified Modeling Language)UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語(yǔ)言。20UML特點(diǎn)1) 統(tǒng)一標(biāo)準(zhǔn)
20、。UML統(tǒng)一了多個(gè)方法的基本概念,吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域的其他流派的長(zhǎng)處,并且UML使用的符號(hào)提供了標(biāo)準(zhǔn)的面向?qū)ο竽P驮氐亩x和表示法,并已經(jīng)成為OMG的標(biāo)準(zhǔn);2) 面向?qū)ο?支持面向?qū)ο蟮募夹g(shù)的主要概念。 3) 可視化,表達(dá)能力強(qiáng)大 UML是圖形化語(yǔ)言,其圖形元素能清晰表示系統(tǒng)的邏輯模型或?qū)崿F(xiàn)模型。4) 獨(dú)立于過(guò)程 UML是系統(tǒng)建模語(yǔ)言,不依賴(lài)特定的開(kāi)發(fā)過(guò)程;5) 容易掌握使用 UML概念明確,建模表示法簡(jiǎn)潔明了,圖形結(jié)構(gòu)清晰,容易掌握使用;6) 與編程語(yǔ)言的關(guān)系。用Java、c+等編程語(yǔ)言可實(shí)現(xiàn)一個(gè)系統(tǒng)。21UML把視圖劃分為4個(gè)主題域:結(jié)構(gòu)、動(dòng)態(tài)、物理和模型管理主題域。結(jié)構(gòu)主題域:描述
21、了系統(tǒng)中的結(jié)構(gòu)成員及相互關(guān)系。 【靜態(tài)視圖、設(shè)計(jì)視圖、用例視圖】動(dòng)態(tài)主題域:描述了系統(tǒng)的行為或其他隨時(shí)間變化的行為。 【狀態(tài)機(jī)制圖、活動(dòng)視圖、交互視圖】物理主題域:描述了系統(tǒng)中的計(jì)算機(jī)資源及其總體結(jié)構(gòu)上的部署 【部署視圖】模型管理主題域:描述層次結(jié)構(gòu)中模型自身的組織。 【模型管理視圖、剖面】22UML的模型元素1) UML的事物a) 結(jié)構(gòu)事物靜態(tài)部分,用來(lái)描述概念的或物理的元素;b) 行為事物動(dòng)態(tài)部分,(交互,狀態(tài)機(jī))c) 分組事物組織部分,降低模型的復(fù)雜性。d) 注釋事物解釋部分,描述和標(biāo)注模型的任何元素。2) UML的關(guān)系a) 依賴(lài)關(guān)系:兩個(gè)事物之間的語(yǔ)義關(guān)系。b) 關(guān)聯(lián)關(guān)系:一種結(jié)構(gòu)關(guān)系
22、,描述了兩個(gè)或多個(gè)類(lèi)的實(shí)例之間的連接關(guān)系。c) 泛化關(guān)系:一般類(lèi)和特殊類(lèi)之間的繼承關(guān)系。d) 實(shí)現(xiàn)關(guān)系:泛化關(guān)系和依賴(lài)關(guān)系的結(jié)合,也是類(lèi)之間的語(yǔ)義關(guān)系。23UML中的圖1) 外部視圖a) 用例圖:展現(xiàn)了一組用例、參與者和擴(kuò)展關(guān)系、包含關(guān)系等;b) 活動(dòng)圖:展示了用例中的操作和操作之間的控制流和數(shù)據(jù)流;c) 順序圖:也稱(chēng)為序列圖,按時(shí)間順序顯示對(duì)象之間的交互,描述了如何通過(guò)對(duì)象之間的交互實(shí)現(xiàn)用例。2) 內(nèi)部視圖 類(lèi)圖:是系統(tǒng)的靜態(tài)結(jié)構(gòu)視圖。 對(duì)象圖:對(duì)象是類(lèi)的實(shí)例,描述類(lèi)以及類(lèi)之間的相互關(guān)系。 通信圖:是動(dòng)態(tài)設(shè)計(jì)視圖,強(qiáng)調(diào)參加交互的各個(gè)對(duì)象的組織。 狀態(tài)機(jī)圖:通過(guò)對(duì)類(lèi)的對(duì)象的生存周期建模來(lái)描述對(duì)
23、象隨時(shí)間變化的動(dòng)態(tài) 行為。 構(gòu)件圖:展現(xiàn)了一組構(gòu)件之間的組織和依賴(lài)。 包圖:為了降低復(fù)雜度。 部署圖:展現(xiàn)了在軟件過(guò)程中存在的運(yùn)行處理節(jié)點(diǎn)以及其中的構(gòu)件的配置。24UML的元模型結(jié)構(gòu)4個(gè)抽象層次,從高到低,上一層是下一層的基礎(chǔ),下一層是上一層的實(shí)例。1) 元元模型層:定義了用于描述元模型的語(yǔ)言。2) 元模型層:定義了用于詳細(xì)說(shuō)明模型的語(yǔ)言,組成了UML的基本元素。3) 模型層:定義了描述某一個(gè)信息系統(tǒng)的模型的語(yǔ)言,組成了UML的系統(tǒng)模型。4) 運(yùn)行實(shí)例層:是模型所描述的實(shí)體的具體實(shí)例或表達(dá)一個(gè)模型的特定場(chǎng)景。25需求的定義1) 用戶(hù)為解決某一問(wèn)題或?yàn)檫_(dá)到某個(gè)目標(biāo)所需要的條件或能力2) 系統(tǒng)或系
24、統(tǒng)部件為滿(mǎn)足合同、標(biāo)準(zhǔn)、規(guī)格說(shuō)明或其他正式的強(qiáng)制性文檔所必須具有的條件或能力3) 對(duì)(1)和(2)中所描述的條件或能力的文檔化說(shuō)明 一是用戶(hù)所要求的系統(tǒng)應(yīng)具有的外部行為;二是開(kāi)發(fā)者所要求的系統(tǒng)應(yīng)具有的內(nèi)部特性;最后強(qiáng)調(diào)了需求一定要文檔化。26需求的層次軟件需求包括三個(gè)不同的層次:業(yè)務(wù)需求、用戶(hù)需求、功能需求和非功能需求。1) 業(yè)務(wù)需求:業(yè)務(wù)需求反映了組織或者客戶(hù)高層次的目標(biāo)要求2) 用戶(hù)需求:用戶(hù)需求描述了他們要求系統(tǒng)必須完成的任務(wù),即用戶(hù)對(duì)系統(tǒng)的目標(biāo)要求。3) 功能需求和非功能需求:功能需求定義了開(kāi)發(fā)者應(yīng)提供的軟件功能或服務(wù),但不涉及這些功能或服務(wù)的實(shí)現(xiàn);非功能需求則是對(duì)功能需求的補(bǔ)充,包括
25、了對(duì)系統(tǒng)的各種限制和用戶(hù)對(duì)系統(tǒng)的質(zhì)量要求4) 系統(tǒng)需求:系統(tǒng)需求來(lái)自于系統(tǒng)分析和結(jié)構(gòu)設(shè)計(jì)27 軟件需求工程過(guò)程1) 獲得當(dāng)前系統(tǒng)的具體物理模型2) 抽象出當(dāng)前系統(tǒng)的邏輯模型3) 建立目標(biāo)系統(tǒng)的邏輯模型4) 轉(zhuǎn)換為目標(biāo)系統(tǒng)的物理模型最后,程序員根據(jù)物理模型利用某種實(shí)現(xiàn)工具完成系統(tǒng)的編程和運(yùn)行活動(dòng)。28需求獲取的定義:發(fā)現(xiàn)用戶(hù)需求的過(guò)程。 需求獲取的任務(wù)1) 發(fā)現(xiàn)和分析問(wèn)題2) 使用調(diào)查研究的方法收集信息3) 遵循需求獲取框架,按照數(shù)據(jù)、過(guò)程和接口這三個(gè)成分觀(guān)察問(wèn)題的不同側(cè)面4) 需求文檔化29需求獲取的過(guò)程1) 開(kāi)發(fā)高層的業(yè)務(wù)模型2) 定義項(xiàng)目的視圖和范圍3) 尋求需求的來(lái)源4) 識(shí)別用戶(hù)類(lèi)和用
26、戶(hù)代表5) 確定目標(biāo)系統(tǒng)的業(yè)務(wù)工作流6) 需求的整理與描述30逆向溝通的定義逆向溝通,就是在需求調(diào)研的過(guò)程中,除了了解用戶(hù)的情況外,同時(shí)還要向用戶(hù)反饋,提出一些建議,供用戶(hù)參考。31傳統(tǒng)的分析建模方法(即結(jié)構(gòu)化分析方法)1) 數(shù)據(jù)建模:使用了三種互相關(guān)聯(lián)的信息:數(shù)據(jù)實(shí)體,描述實(shí)體的屬性,描述實(shí)體間相互連接的關(guān)系。畫(huà)E-R圖的步驟1) 在捕獲需求的過(guò)程中,要求用戶(hù)列出應(yīng)用或業(yè)務(wù)過(guò)程涉及的所有的“事物”2) 一次考慮一個(gè)數(shù)據(jù)實(shí)體。3) 當(dāng)存在連接時(shí),分析員和用戶(hù)應(yīng)創(chuàng)建一個(gè)或多個(gè)對(duì)4) 對(duì)每一個(gè)對(duì),考察它的多重性和參考性5) 迭代執(zhí)行步驟(2)(4),直到所有對(duì)定義完成6) 定義每個(gè)實(shí)體的屬性7)
27、規(guī)范化并復(fù)審實(shí)體-關(guān)系圖8) 重復(fù)執(zhí)行步驟(1)(7),直到數(shù)據(jù)建模完成2) 功能建模:使用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解、細(xì)化,直到找到滿(mǎn)足功能要求的所有可實(shí)現(xiàn)的軟件分量為止。畫(huà)數(shù)據(jù)流圖的步驟1) 首先確定與系統(tǒng)有交互關(guān)系的外部實(shí)體2) 畫(huà)出頂層數(shù)據(jù)流圖3) 分析業(yè)務(wù)處理的主要功能,建立第0層數(shù)據(jù)流圖4) 對(duì)每一個(gè)加工繼續(xù)細(xì)化3) 行為建模狀態(tài)遷移圖、UML順序圖、Petri網(wǎng)32 分析模型的結(jié)構(gòu):33 基本加工邏輯說(shuō)明 基本加工的定義:所謂基本加工,又稱(chēng)原子加工,是底層數(shù)據(jù)流圖中的加工,它是自頂向下逐步細(xì)化的終點(diǎn),應(yīng)可以直接寫(xiě)出其實(shí)現(xiàn)的程序邏輯,即其處理
28、的規(guī)則。(1)結(jié)構(gòu)化語(yǔ)言:結(jié)構(gòu)化語(yǔ)言也叫程序設(shè)計(jì)語(yǔ)言,是一種介于自然語(yǔ)言和形式化語(yǔ)言之間的半形式化語(yǔ)言,又稱(chēng)偽碼。(2)決策表:在某些數(shù)據(jù)處理問(wèn)題中,某個(gè)加工的執(zhí)行需要依賴(lài)于多個(gè)邏輯條件的取值,即完成這一個(gè)加工的一組動(dòng)作是由一組條件取值的組合而引發(fā)的。此時(shí)可以用決策表來(lái)描述。(3)決策樹(shù):決策樹(shù)也是用來(lái)表達(dá)加工邏輯的一種工具,有時(shí)候它比決策表更直觀(guān)。原子加工的定義(p139)所謂基本加工,又稱(chēng)原子加工,是底層數(shù)據(jù)流圖中的加工,它是自頂向下逐步細(xì)化的終 點(diǎn),應(yīng)可以直接寫(xiě)出其實(shí)現(xiàn)的程序邏輯,即其處理的規(guī)則。如果每一個(gè)基本加工的詳細(xì)邏輯 功能都已寫(xiě)出,再自底向上綜合,就能完成全部加工。34面向?qū)ο蟮?/p>
29、分析模型由三個(gè)獨(dú)立的模塊構(gòu)成:1) 由用例和場(chǎng)景表示的功能模型2) 用類(lèi)和對(duì)象表示的分析對(duì)象模型3) 由狀態(tài)圖和順序圖表示的動(dòng)態(tài)模型過(guò)程:1) 識(shí)別類(lèi)或?qū)ο?2)識(shí)別關(guān)系(結(jié)構(gòu)) 3)標(biāo)識(shí)類(lèi)的屬性和服務(wù) 4)分析模型評(píng)審35原型生存周期定義:原型的開(kāi)發(fā)和使用過(guò)程步驟:1)快速分析 2)構(gòu)造原型 3)運(yùn)行和評(píng)價(jià)原型 4)修正和改進(jìn) 5)判定原型完成 6)判定原型細(xì)部是否說(shuō)明 7)原型細(xì)部的說(shuō)明 8)判定原型效果 9)整理原型和提供文檔原型開(kāi)發(fā)技術(shù):(了解) 1)可執(zhí)行規(guī)格說(shuō)明2)基于場(chǎng)景的設(shè)計(jì)3)自動(dòng)程序設(shè)計(jì)4)專(zhuān)用語(yǔ)言5)軟件復(fù)用技術(shù)6)簡(jiǎn)化假設(shè)36軟件需求規(guī)格說(shuō)明的目標(biāo)(1)在軟件產(chǎn)品方面,
30、為在軟件開(kāi)發(fā)人員與客戶(hù)之間達(dá)成共同協(xié)議趣立基礎(chǔ)。它全面描述了要實(shí)現(xiàn)的軟件功能,有助于客戶(hù)確定軟件的需求規(guī)格足否符合需要,如有偏差又可幫助軟件開(kāi)發(fā)人員確定如何修改才能適合客戶(hù)的需嬰。 (2)提高開(kāi)發(fā)效率。編制軟件需求規(guī)格說(shuō)明的過(guò)程可讓客戶(hù)在軟件設(shè)計(jì)開(kāi)始之前能周密地思考全部需求,從而減少事后重新設(shè)計(jì)、重新編碼和重新測(cè)試的返工活動(dòng)。通過(guò)對(duì)軟件需求規(guī)格說(shuō)明中的各種需求仔細(xì)地評(píng)審,還可以在開(kāi)發(fā)早期發(fā)現(xiàn)可能的遺漏、誤解和不一致,以便及時(shí)加以糾正。 (3)為成本估算和編制進(jìn)度計(jì)劃提供基礎(chǔ)。軟件需求規(guī)格說(shuō)明提供的對(duì)于開(kāi)發(fā)軟件的描述成為軟件產(chǎn)品成本估算的基礎(chǔ)。軟件需求規(guī)格說(shuō)明對(duì)軟件的消晰描述還可以幫助估算 必需
31、的各種資源,成為編制進(jìn)度計(jì)劃的依據(jù)。 (4)為確認(rèn)和驗(yàn)證提供一個(gè)基準(zhǔn)。作為開(kāi)發(fā)合同的一個(gè)部分,軟件需求規(guī)輅說(shuō)明可以提 供一個(gè)可度量和可遵循的基準(zhǔn)。 (5)便于移植。有了軟件需求規(guī)格說(shuō)明,可幫助開(kāi)發(fā)人員把軟件移植到新的操作環(huán)境 以適應(yīng)客戶(hù)新的需要。 (6) 成為軟件不斷改進(jìn)的基礎(chǔ)。由于軟件需求規(guī)格說(shuō)明所涉及的只是軟件產(chǎn)品的外部 視圖(軟件能做什么),而不涉及軟件產(chǎn)品的內(nèi)部設(shè)計(jì)(軟件如何做)。因此,軟件需求規(guī)格說(shuō) 明成為軟件產(chǎn)品改進(jìn)的基礎(chǔ)。37軟件需求規(guī)格說(shuō)明的原則1) 從現(xiàn)實(shí)中分離功能,即描述要“做什么”而不是“怎樣實(shí)現(xiàn)”2) 要求使用面向處理的規(guī)格說(shuō)明語(yǔ)言3) 如果被開(kāi)發(fā)軟件是一個(gè)大系統(tǒng)中的一
32、個(gè)元素,那么整個(gè)大系統(tǒng)也包括在規(guī)格說(shuō)明的描述之中4) 規(guī)格說(shuō)明必須包括系統(tǒng)運(yùn)行的環(huán)境5) 系統(tǒng)規(guī)格說(shuō)明必須是一個(gè)認(rèn)識(shí)的模型6) 規(guī)格說(shuō)明必須是可操作的7) 規(guī)格說(shuō)明必須容許不完備性并允許擴(kuò)充8) 規(guī)格說(shuō)明必須是局部化和松散耦合的 軟件需求規(guī)格說(shuō)明模版:1)軟件需求規(guī)格說(shuō)明(SRS) 2)數(shù)據(jù)需求說(shuō)明(DRD)38需求評(píng)審中的常見(jiàn)風(fēng)險(xiǎn)1) 需求評(píng)審的參與者選取不當(dāng)2) 評(píng)審規(guī)模過(guò)大3) 評(píng)審組規(guī)模過(guò)大4) 評(píng)審時(shí)間過(guò)長(zhǎng)軟件需求規(guī)格說(shuō)明模板:軟件需求規(guī)格說(shuō)明SBS、數(shù)據(jù)需求說(shuō)明DRD正式的需求評(píng)審內(nèi)容:用例、功能、性能、接口、數(shù)據(jù)、硬件、軟件、通信、正確性、完整性、可行性、一致性、兼容性、清晰性、
33、安全性、健壯性、可理解性、可修改性、可測(cè)試性和可驗(yàn)證性、可維護(hù)性、可跟蹤性、可靠性、其他39軟件需求管理定義:一種獲取、組織并記錄系統(tǒng)需求的系統(tǒng)化方案,以及一個(gè)使客戶(hù)與項(xiàng)目團(tuán)隊(duì)對(duì)不斷變更的系統(tǒng)需求達(dá)成并保持一致的過(guò)程。需求規(guī)格說(shuō)明的版本控制:版本控制是為了管理軟件需求規(guī)格說(shuō)明文檔。它主要的活動(dòng)是統(tǒng)一標(biāo)識(shí)需求規(guī)格說(shuō)明文檔的每一個(gè)版本,并讓每一個(gè)開(kāi)發(fā)組的成員能夠獲得和使用他所需要的任一版本。同時(shí),把每一個(gè)需求變更計(jì)入文檔,并及時(shí)通知到開(kāi)發(fā)組相關(guān)人員。40軟件設(shè)計(jì)準(zhǔn)則:性能準(zhǔn)則:響應(yīng)時(shí)間、吞吐量、內(nèi)存可靠性準(zhǔn)則:健壯性、可靠性、可用性、容錯(cuò)性、保密性、安全性、魯棒性成本準(zhǔn)則:開(kāi)發(fā)、部署、升級(jí)、維護(hù)、
34、管理成本維護(hù)準(zhǔn)則:可擴(kuò)展性、可修改性、可適應(yīng)性、可移植性、可讀性、需求的可追蹤最終用戶(hù)準(zhǔn)則:效用、易用性41軟件設(shè)計(jì)的概念:軟件設(shè)計(jì)是把許多事物和問(wèn)題抽象,并且抽象它們不同的層次和角度。軟件設(shè)計(jì)是基于需求分析的結(jié)果建立各種設(shè)計(jì)模型給出問(wèn)題解決的方案。它是將用戶(hù)需求準(zhǔn)確轉(zhuǎn)換為最終軟件產(chǎn)品的唯一途徑,在軟件和需求之間起到橋梁作用。因此,軟件設(shè)計(jì)在軟件開(kāi)發(fā)過(guò)程中取得了重要的作用。42軟件設(shè)計(jì)的階段從工程管理的角度:1)概要設(shè)計(jì):將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu),要完成體系結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)及接口設(shè)計(jì)2)詳細(xì)設(shè)計(jì):對(duì)結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法,要完成過(guò)程設(shè)計(jì)。傳統(tǒng)的結(jié)構(gòu)化方
35、法:【體系結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過(guò)程設(shè)計(jì)】面向?qū)ο螅骸倔w系結(jié)構(gòu)設(shè)計(jì)、類(lèi)設(shè)計(jì)/數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、構(gòu)件設(shè)計(jì)】從管理和技術(shù)角度:1) 體系結(jié)構(gòu)設(shè)計(jì):定義軟件的主要結(jié)構(gòu)元素及其之間關(guān)系。體系結(jié)構(gòu)設(shè)計(jì)的表示可以從系統(tǒng)規(guī)格說(shuō)明分析模型及體系結(jié)構(gòu)的風(fēng)格導(dǎo)出。2) 類(lèi)設(shè)計(jì):對(duì)分析階段建立的分析類(lèi)模型進(jìn)行細(xì)化轉(zhuǎn)化為設(shè)計(jì)類(lèi)的實(shí)現(xiàn)及軟件實(shí)現(xiàn)所要求的數(shù)據(jù)結(jié)構(gòu)。3) 數(shù)據(jù)設(shè)計(jì):傳統(tǒng)方法主要根據(jù)需求階段建立的E-R圖確定軟件涉及的文件系統(tǒng)的結(jié)構(gòu)及數(shù)據(jù)庫(kù)的表示結(jié)構(gòu),面向?qū)ο蟾鶕?jù)類(lèi)設(shè)計(jì)導(dǎo)出數(shù)據(jù)設(shè)計(jì)。4) 接口設(shè)計(jì):有的被外部接口描述用戶(hù)界面,以及與其他硬件設(shè)備,其他軟件系統(tǒng)交互的接口;內(nèi)部接口描述系統(tǒng)內(nèi)部各構(gòu)件之間
36、的交互接口。5) 構(gòu)件設(shè)計(jì):將軟件體系結(jié)構(gòu)的結(jié)構(gòu)元素變換為對(duì)軟件構(gòu)件的過(guò)程性描述。6) 過(guò)程設(shè)計(jì):主要工作是確定軟件各個(gè)組成部分內(nèi)的算法及內(nèi)部數(shù)據(jù)結(jié)構(gòu),并選定某種敘述的表達(dá)形式來(lái)描述各種算法。43創(chuàng)建良好設(shè)計(jì)的原則1) 分而治之和模塊化:分而治之是人們解決大型復(fù)雜問(wèn)題常采用的策略軟件的體系結(jié)構(gòu)設(shè)計(jì)、模塊化設(shè)計(jì)都是分而治之。模塊化是將程序劃分成獨(dú)立命名且獨(dú)立訪(fǎng)問(wèn)的模塊,不同的模塊具有不同職責(zé)。每個(gè)模塊都可獨(dú)立開(kāi)發(fā)、測(cè)試,最后組裝成完整的軟件。在結(jié)構(gòu)化方法中,過(guò)程、函數(shù)和子程序都可作為模塊;在面向?qū)ο蠓椒ㄖ?,?duì)象是模塊,對(duì)象內(nèi)的方法也是,模塊是構(gòu)成程序的基本構(gòu)件。2) 模塊獨(dú)立性:指軟件系統(tǒng)中每個(gè)
37、模塊只涉及軟件要求的具有子功能,和軟件系統(tǒng)其他模塊的接口是簡(jiǎn)單的兩準(zhǔn)則度量模塊獨(dú)立性:模塊間的耦合和模塊的內(nèi)聚。3) 盡量降低耦合性:各模塊之間耦合緊密還是松散,取決于相關(guān)模塊間的接口的復(fù)雜程度,調(diào)用模塊的方式以及哪些信息通過(guò)接口。4) 盡量提高內(nèi)聚性:內(nèi)聚性和耦合性是相關(guān)聯(lián)的。在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越高,模塊間的耦合性就越低。軟件設(shè)計(jì)的目標(biāo),提高內(nèi)聚性,降低耦合性,但增加內(nèi)聚性比降低耦合性更重要。5) 提高抽象層次:抽象是指忽視一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。設(shè)計(jì)軟件時(shí),最初應(yīng)從軟件的最高抽象層次著手,按抽象級(jí)別從高到低進(jìn)行分層的軟件體系結(jié)構(gòu)設(shè)計(jì)
38、,自頂向下,對(duì)各個(gè)層次的過(guò)程細(xì)節(jié)和數(shù)據(jù)細(xì)節(jié)逐層細(xì)化,直到用程序設(shè)計(jì)語(yǔ)言能實(shí)現(xiàn)。6) 復(fù)用性設(shè)計(jì):復(fù)用是指同一事物不做修改或稍加修改就可多重復(fù)使用。在構(gòu)造新軟件系統(tǒng)時(shí),不必從零做起,直接使用已有的可復(fù)用構(gòu)件,用以組裝成新的系統(tǒng)。7) 靈活性設(shè)計(jì):保證靈活性關(guān)鍵是抽象,越抽象越靈活。面向系統(tǒng)中類(lèi)的層次結(jié)構(gòu)類(lèi)似金字塔,越往上,抽象程度越高。8) 預(yù)防過(guò)期:軟件設(shè)計(jì)時(shí),應(yīng)積極預(yù)測(cè)可能在技術(shù)和運(yùn)行環(huán)境上的變化,并為此采取預(yù)防措施。9) 可移植性設(shè)計(jì):軟件不經(jīng)修改或稍加修改就可運(yùn)行于不同軟硬件環(huán)境的能力,可移植性是軟件的質(zhì)量要素之一。良好的可移植性可延長(zhǎng)軟件生存周期,拓展應(yīng)用環(huán)境。10) 可測(cè)試性設(shè)計(jì):為
39、使軟件測(cè)試更高效可行,軟件設(shè)計(jì)時(shí),需對(duì)可測(cè)試性進(jìn)行周密設(shè)計(jì)。指在一定時(shí)間和成本前提下,進(jìn)行測(cè)試用例設(shè)計(jì),測(cè)試用例執(zhí)行,以此來(lái)發(fā)現(xiàn)問(wèn)題及故障,并隔離定位其故障的能力特性。11) 防御性設(shè)計(jì):指在軟件設(shè)計(jì)時(shí)就考慮自動(dòng)檢錯(cuò)、報(bào)錯(cuò)和糾錯(cuò)功能。這種防御性功能可以是周期性地對(duì)整個(gè)軟件系統(tǒng)進(jìn)行檢驗(yàn)和考核,搜索和發(fā)現(xiàn)異常情況。44. 結(jié)構(gòu)化設(shè)計(jì)方法的定義傳統(tǒng)的面向過(guò)程的設(shè)計(jì)方法又稱(chēng)為結(jié)構(gòu)化設(shè)計(jì)方法,它是在模塊化、自頂向下、逐步細(xì)化及結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)基礎(chǔ)之上發(fā)展起來(lái)的。該方法是根據(jù)系統(tǒng)的數(shù)據(jù)流圖進(jìn)行設(shè)計(jì),即根據(jù)系統(tǒng)的處理過(guò)程進(jìn)行設(shè)計(jì),故亦稱(chēng)為過(guò)程驅(qū)動(dòng)的設(shè)計(jì)。 結(jié)構(gòu)化設(shè)計(jì)方法的實(shí)施要點(diǎn):1) 首先研究、分析和審
40、查數(shù)據(jù)流圖2) 根據(jù)數(shù)據(jù)流圖決定問(wèn)題的類(lèi)型3) 由數(shù)據(jù)流圖推導(dǎo)出系統(tǒng)的初始結(jié)構(gòu)圖4) 利用一些啟發(fā)式原則來(lái)改進(jìn)系統(tǒng)的初始結(jié)構(gòu)圖,直到得到符合要求的結(jié)構(gòu)圖為止5) 根據(jù)分析模型中的實(shí)體關(guān)系圖和數(shù)據(jù)字典進(jìn)行數(shù)據(jù)設(shè)計(jì),包括數(shù)據(jù)庫(kù)設(shè)計(jì)或數(shù)據(jù)文件的設(shè)計(jì)6) 在上面設(shè)計(jì)的基礎(chǔ)上,依據(jù)分析模型中的加工規(guī)格說(shuō)明、狀態(tài)遷移圖及控制規(guī)格說(shuō)明進(jìn)行過(guò)程設(shè)計(jì)7) 制定集成測(cè)試計(jì)劃45結(jié)構(gòu)化設(shè)計(jì)與結(jié)構(gòu)化分析的關(guān)系:46. 典型的數(shù)據(jù)流類(lèi)型1) 變換流型 變換流映射的步驟:1) 重畫(huà)數(shù)據(jù)流圖2) 區(qū)分有效輸入、有效輸出和中心變換部分3) 進(jìn)行一級(jí)分解,設(shè)計(jì)上層模塊4) 進(jìn)行二級(jí)分解,設(shè)計(jì)輸入、輸出和中心變換部分的中、下層模
41、塊2)事務(wù)流型事務(wù)流映射的步驟:1) 識(shí)別事務(wù)源2) 將事務(wù)流型數(shù)據(jù)流圖映射成高層的系統(tǒng)結(jié)構(gòu)3) 進(jìn)一步分解48軟件模塊結(jié)構(gòu)改進(jìn)的方法1) 模塊功能的完善化2) 消除重復(fù)功能,改善軟件結(jié)構(gòu)3) 模塊的作用范圍應(yīng)在控制范圍之內(nèi)4) 盡可能減少高扇出結(jié)構(gòu),隨著控制層次深度的增大增加扇入5) 避免或減少使用病態(tài)連接6) 模塊的大小要適中7) 設(shè)計(jì)功能可預(yù)測(cè)的模塊,避免過(guò)分受限制的模塊8) 軟件包應(yīng)滿(mǎn)足設(shè)計(jì)約束和可移植性49面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)的主要任務(wù)面向?qū)ο蠓治龅幕A(chǔ)上完成體系結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、類(lèi)設(shè)計(jì)及構(gòu)建設(shè)計(jì)。1) 子系統(tǒng)分解 2)問(wèn)題域部分的設(shè)計(jì) 3)人機(jī)交互部分的設(shè)計(jì)4)任務(wù)管理部
42、分的設(shè)計(jì) 5)數(shù)據(jù)管理部分的設(shè)計(jì)50對(duì)象設(shè)計(jì)過(guò)程1) 使用模式設(shè)計(jì)對(duì)象:設(shè)計(jì)者可以選擇合適的設(shè)計(jì)模式,復(fù)用已有的解決方案,以提高系統(tǒng)的靈活性,并確保特定類(lèi)不會(huì)再系統(tǒng)開(kāi)發(fā)過(guò)程中因要求的變化而被修改。2) 接口規(guī)格說(shuō)明:在系統(tǒng)設(shè)計(jì)中標(biāo)識(shí)的子系統(tǒng)功能,都需要在類(lèi)接口中詳細(xì)說(shuō)明。3) 對(duì)象模型重構(gòu):重構(gòu)的目的是改進(jìn)對(duì)象設(shè)計(jì)模型,提高可讀性和擴(kuò)展性。4) 對(duì)象模型優(yōu)化:優(yōu)化的目的是改進(jìn)對(duì)象設(shè)計(jì)模型,以實(shí)現(xiàn)系統(tǒng)模型中的性能要求。51處理過(guò)程設(shè)計(jì)方法1) 結(jié)構(gòu)化程序設(shè)計(jì)2) 程序流程圖3) N-S圖:也叫盒圖,符合結(jié)構(gòu)化程序設(shè)計(jì)原則的圖形描述工具。4) PAD圖:(Problem Analysis Diag
43、ram)用結(jié)構(gòu)化程序設(shè)計(jì)思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具,由程序流程圖演化而來(lái)。5) 程序設(shè)計(jì)語(yǔ)言PDL:(Program Design Language)是一種用于描述功能模塊的算法設(shè)計(jì)和加工細(xì)節(jié)的語(yǔ)言,稱(chēng)為設(shè)計(jì)程序語(yǔ)言。6) 判定表:能清晰地表達(dá)復(fù)雜的條件組合與應(yīng)做動(dòng)作之間的對(duì)應(yīng)關(guān)系。7) HIPO圖:H圖描述程序結(jié)構(gòu);Ipo圖描述程序的輸入處理輸出。HIPO(H、IPO)HIPO(Hierarchy plus Input Process Output)是較早時(shí)期IBM公司提出的一種系統(tǒng)分析和設(shè)計(jì)工具。它由兩部分組成:可視目錄表(H圖)和IPO圖。可視目錄表給出系統(tǒng)的功能分層關(guān)系IPO圖則為
44、系統(tǒng)的各部分提供具體的工作細(xì)節(jié)。1、層次圖用它表明各個(gè)功能的隸屬關(guān)系,它是自頂向下逐層分解得到的一個(gè)樹(shù)形結(jié)構(gòu)。其頂層是整個(gè)系統(tǒng)的名稱(chēng)和系統(tǒng)的概括功能說(shuō)明;第二層把系統(tǒng)的功能展開(kāi),分成幾個(gè)功能框;第二層功能進(jìn)一步分解,就得到了第三層、第四層直到最后一層。每個(gè)功能框內(nèi)都應(yīng)有一個(gè)名字用來(lái)標(biāo)識(shí)它的功能。還應(yīng)有一個(gè)編號(hào),記錄它所在層次及在該層次的位置。2、IPO圖IPO(Input Process Output)圖為層次圖中每一功能框詳細(xì)地指明輸人、處理及輸出,通常,IPO圖有固定的格式,圖中處理操作部分總是列在中間,輸人和輸出部分分別在左邊和右邊.由于某些細(xì)節(jié)很難在一張IPO圖中表達(dá)清楚,常常把IPO
45、圖又分為兩部分,簡(jiǎn)單概括的=的稱(chēng)為概要IPO圖,細(xì)致具體一些的成為詳細(xì)IPO圖。HIPO的特點(diǎn):(1)這一圖形表達(dá)方法容易看懂。(2)HIPO的適用范圍很廣。HIPO是分析和設(shè)計(jì)的輔助工具,還是開(kāi)發(fā)文檔的編制工具。開(kāi)發(fā)完成后,HIPO是很好的文檔,而不必在設(shè)計(jì)完成以后專(zhuān)門(mén)補(bǔ)寫(xiě)文檔。52軟件設(shè)計(jì)的文檔1) 軟件設(shè)計(jì)說(shuō)明(SDD)2) 數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明(DBDD)3) 接口設(shè)計(jì)說(shuō)明(IDD)53. 軟件設(shè)計(jì)評(píng)審(235-237頁(yè))1)概要設(shè)計(jì)評(píng)審a.系統(tǒng)概述 b.系統(tǒng)描述和可跟蹤性c.對(duì)需求分析中不完整、易變動(dòng)、潛在的需求進(jìn)行相應(yīng)的設(shè)計(jì)分析d.總體設(shè)計(jì) e.接口設(shè)計(jì) f.屬性設(shè)計(jì) g.數(shù)據(jù)結(jié)構(gòu) h.
46、運(yùn)行設(shè)計(jì)i.出錯(cuò)處理 j.運(yùn)行環(huán)境 k.清晰性 l.一致性 m.可行性 n.詳細(xì)程度 o.可維護(hù)性2) 詳細(xì)設(shè)計(jì)評(píng)審a. 清晰性 b.完整性 c.規(guī)范性 d.一致性 e.正確性 f.數(shù)據(jù) g.功能性 h.接口 i.詳細(xì)程度 j.可維護(hù)性 k.性能 l.可靠性 m.可測(cè)試性 n.可跟蹤性54. 軟件體系結(jié)構(gòu)的概念1)一個(gè)程序或計(jì)算機(jī)系統(tǒng)的軟件體系結(jié)構(gòu)是指系統(tǒng)的一個(gè)或多個(gè)結(jié)構(gòu)。結(jié)構(gòu)中包括軟件的構(gòu)件、構(gòu)件的外部可見(jiàn)屬性以及它們之間的相互關(guān)系。外部可見(jiàn)屬性則是指軟件構(gòu)件提供的服務(wù)、性能、使用特性、錯(cuò)誤處理、共享資源使用等。2)軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件
47、和連接構(gòu)件。處理構(gòu)件負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組合連接起來(lái)。55. 體系結(jié)構(gòu)的作用1)體系結(jié)構(gòu)的表示有助于風(fēng)險(xiǎn)承擔(dān)者相互交流2)體系結(jié)構(gòu)突出了早期設(shè)計(jì)決策3)軟件體系結(jié)構(gòu)是可傳遞和可復(fù)用的模型56. 體系結(jié)構(gòu)設(shè)計(jì)的過(guò)程1)建立軟件的環(huán)境模型2)定義體系結(jié)構(gòu)的原始模型3)體系結(jié)構(gòu)的求精與完善57. 特定領(lǐng)域的軟件體系結(jié)構(gòu)(250-251頁(yè))了解1)類(lèi)屬模型:是從許多實(shí)際系統(tǒng)中抽象出來(lái)的一般模型,它封裝了這些系統(tǒng)的主要特征。eg:編譯器模型。2)參考模型:描述了一個(gè)包含了系統(tǒng)應(yīng)具有的所有特征的理想化軟件體系結(jié)構(gòu)。eg:OSI參考模型,描述了開(kāi)放系統(tǒng)互連
48、的標(biāo)準(zhǔn)。58. 軟件體系結(jié)構(gòu)的評(píng)價(jià)1)性能:是指系統(tǒng)的響應(yīng)能力。2)可靠性:是在特定環(huán)境和特定時(shí)間內(nèi),計(jì)算機(jī)程序無(wú)故障運(yùn)行的概率。 3)可用性:是系統(tǒng)能夠正常運(yùn)行的時(shí)間比例。4)安全性:是指系統(tǒng)在向合法用戶(hù)提供服務(wù)的同時(shí)能夠阻止非授權(quán)用戶(hù)使用的企圖或拒絕向非授權(quán)用戶(hù)提供服務(wù)的能力。5)可修改性:是指能夠快速地以較高的性能價(jià)格比對(duì)系統(tǒng)進(jìn)行變更的能力。6)功能性:是系統(tǒng)所能完成所期望工作的能力。7)可變更性:指體系結(jié)構(gòu)經(jīng)擴(kuò)充或變更而成為新體系結(jié)構(gòu)的能力。8)可集成性:指系統(tǒng)能與其他系統(tǒng)協(xié)作的程度。9)互操作性:作為系統(tǒng)組成部分的軟件不是獨(dú)立存在的,經(jīng)常與其他系統(tǒng)或自身環(huán)境相互作用。59. 體系結(jié)構(gòu)
49、描述語(yǔ)言ADL的定義體系結(jié)構(gòu)描述語(yǔ)言(Architecture Description Language)是參照傳統(tǒng)程序設(shè)計(jì)語(yǔ)言的設(shè)計(jì)和開(kāi)發(fā)經(jīng)驗(yàn),重新設(shè)計(jì)、開(kāi)發(fā)和使用針對(duì)軟件體系結(jié)構(gòu)特點(diǎn)的、專(zhuān)門(mén)的軟件體系結(jié)構(gòu)描述語(yǔ)言。60. 設(shè)計(jì)模式的定義是一些設(shè)計(jì)面向?qū)ο蟮能浖_(kāi)發(fā)的經(jīng)驗(yàn)總結(jié)。一個(gè)設(shè)計(jì)模式事實(shí)上是系統(tǒng)的命名解釋和評(píng)價(jià)某一個(gè)重要的可重視的面向?qū)ο蟮脑O(shè)計(jì)方案。61. 設(shè)計(jì)模式的4個(gè)基本要素1) 模式名稱(chēng):用于描述模式的名字,說(shuō)明模式的問(wèn)題、解決方案和效果。2)問(wèn)題:說(shuō)明在何種場(chǎng)合使用模式。3)解決方案:描述設(shè)計(jì)的組成部分,它們之間的相互關(guān)系,各自的職責(zé)和合作方式。4)效果:描述了模式使用的效果及
50、使用模式應(yīng)當(dāng)權(quán)衡的問(wèn)題。62. 設(shè)計(jì)模式的分類(lèi)1)創(chuàng)建型設(shè)計(jì)模式:描述怎樣創(chuàng)建一個(gè)對(duì)象。2)結(jié)構(gòu)型設(shè)計(jì)模式:處理類(lèi)或?qū)ο蟮慕M合。3)行為型設(shè)計(jì)模式:主要解決算法和對(duì)象之間責(zé)任的分配問(wèn)題。 63軟件實(shí)現(xiàn)的定義軟件實(shí)現(xiàn)階段也稱(chēng)為程序編碼階段,通常包括編程實(shí)現(xiàn)和單元測(cè)試。軟件實(shí)現(xiàn)是軟件產(chǎn)品由概念到實(shí)體的一個(gè)關(guān)鍵過(guò)程,它將詳細(xì)設(shè)計(jì)的結(jié)果翻譯成用某種程序設(shè)計(jì)語(yǔ)言編寫(xiě)并且最終可以運(yùn)行的程序代碼。64軟件實(shí)現(xiàn)的過(guò)程代碼設(shè)計(jì)代碼審查代碼編寫(xiě)代碼編譯單元測(cè)試代碼調(diào)試65程序設(shè)計(jì)方法1) 結(jié)構(gòu)化程序設(shè)計(jì)2) 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法3) 極限編程66結(jié)構(gòu)化程序設(shè)計(jì)兩個(gè)方面:1) 在程序設(shè)計(jì)過(guò)程中,盡量采用自頂向下和
51、逐步細(xì)化的原則,一步步展開(kāi)2) 在編寫(xiě)程序時(shí),強(qiáng)調(diào)使用幾種基本控制結(jié)構(gòu),通過(guò)組合嵌套,形成程序的控制結(jié)構(gòu)。盡可能避免使用會(huì)使程序質(zhì)量受到影響的GOTO語(yǔ)句。6個(gè)原則:1) 使用語(yǔ)言中的順序、選擇、重復(fù)等有限的基本控制結(jié)構(gòu)表示程序邏輯2) 選用的控制結(jié)構(gòu)只準(zhǔn)許一個(gè)入口和一個(gè)出口3) 程序語(yǔ)句組成容易識(shí)別的塊,每塊只有一個(gè)入口和一個(gè)出口4) 復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)5) 語(yǔ)言中沒(méi)有的控制結(jié)構(gòu),可用一段等價(jià)的程序段模擬,但要求該程序段在整個(gè)系統(tǒng)中應(yīng)前后一致6) 嚴(yán)格控制GOTO語(yǔ)句67面向?qū)ο蟮某绦蛟O(shè)計(jì)方法特點(diǎn):封裝、泛化、多態(tài)、協(xié)同、復(fù)用68極限編程定義:(Extrem Pro
52、gramming,XP)是一種原型程序設(shè)計(jì)方法,是以開(kāi)發(fā)符合客戶(hù)需要的軟件為目標(biāo)而產(chǎn)生的一種方法學(xué),使開(kāi)發(fā)人員能夠更有效地響應(yīng)客戶(hù)的需求變化。宗旨:交流、簡(jiǎn)單、反饋、勇氣原則:1) 輕裝前進(jìn) 2)結(jié)對(duì)編程 3)測(cè)試優(yōu)先 4)重構(gòu)5)持續(xù)集成 6)集體所有權(quán) 7)小版本 8)現(xiàn)場(chǎng)客戶(hù)極限編程的生存周期:1) 探索階段 2)計(jì)劃階段 3)迭代到發(fā)布階段4)產(chǎn)品化階段 5)維護(hù)階段XP特點(diǎn):(11個(gè))1) 采用原型法2) 在軟件設(shè)計(jì)中,強(qiáng)調(diào)簡(jiǎn)單性,就是堅(jiān)決不制作用不到的通用功能 3) 不刻意避免重新編碼,不突害怕對(duì)整個(gè)軟件推到重做4) 在專(zhuān)業(yè)分工中,提出在開(kāi)發(fā)團(tuán)隊(duì)中要有全職的客戶(hù)人員的參與,同時(shí)在軟
53、件團(tuán)隊(duì)中也要有自己的領(lǐng)域?qū)<?) 有專(zhuān)門(mén)的軟件架構(gòu)的設(shè)計(jì)師,首先進(jìn)行軟件整體架構(gòu)的設(shè)計(jì)6) 在軟件開(kāi)發(fā)順序上和傳統(tǒng)方法完全相反,XP是按照交付客戶(hù)、測(cè)試、編碼、設(shè)計(jì)的順序來(lái)開(kāi)發(fā)7) 在項(xiàng)目計(jì)劃的實(shí)現(xiàn)上,每次的計(jì)劃都是技術(shù)人員對(duì)客戶(hù)提出時(shí)間表,由最后的開(kāi)發(fā)人員對(duì)項(xiàng)目經(jīng)理提出編碼的時(shí)間表。8) 在分工上,強(qiáng)調(diào)角色輪換,項(xiàng)目的集體負(fù)責(zé),分工的自愿性。9) 提出了結(jié)對(duì)編程的思路,就是每個(gè)模塊的編碼都是兩個(gè)人一起干,共用一臺(tái)計(jì)算機(jī)10) 人員的分工上要靈活,要保證軟件開(kāi)發(fā)中的角色齊全,但每個(gè)角色可以由幾個(gè)人共同擔(dān)任,也可以一個(gè)人擔(dān)任幾個(gè)角色,并且在項(xiàng)目的不同時(shí)期,不同角色的人員數(shù)量會(huì)不斷變化11) 每天
54、或隔天,開(kāi)一個(gè)站立會(huì)議,來(lái)解決工作不一致和相互打擾的情況。在每個(gè)迭代周期也有一個(gè)計(jì)劃和分工等的全體大會(huì)不宜采xp的情況:xp適合規(guī)模小、進(jìn)度緊、需求變化大、質(zhì)量要求嚴(yán)的項(xiàng)目。1) 中大型項(xiàng)目2) 重構(gòu)會(huì)導(dǎo)致大量開(kāi)銷(xiāo)的應(yīng)用系統(tǒng)3) 需要很長(zhǎng)編譯或者測(cè)試周期的系統(tǒng)4) 不容易進(jìn)行測(cè)試的應(yīng)用系統(tǒng)5) 團(tuán)隊(duì)人員異地分布的項(xiàng)目6) 不能接受XP文化的組織和團(tuán)隊(duì)69編程語(yǔ)言的分類(lèi)1) 從屬于機(jī)器的語(yǔ)言第一代語(yǔ)言2) 匯編語(yǔ)言第二代語(yǔ)言3) 高級(jí)編程語(yǔ)言第三代語(yǔ)言(面向過(guò)程、面向?qū)ο蟮木幊陶Z(yǔ)言)4) 面向因特網(wǎng)的語(yǔ)言(HTML語(yǔ)言和XML語(yǔ)言、Java語(yǔ)言、C#語(yǔ)言)5) 第四代語(yǔ)言(4GL)(查詢(xún)語(yǔ)言、程序生成器、其他判定支持語(yǔ)言、原型語(yǔ)言、形式化規(guī)格說(shuō)明語(yǔ)言)70軟件測(cè)試軟件測(cè)試目標(biāo):發(fā)現(xiàn)錯(cuò)誤1)能以最少的時(shí)間和人力,系統(tǒng)地找出軟件中潛在的各種錯(cuò)誤和缺陷;2)能夠證明軟件中的功能和性能與需求說(shuō)明相符合。軟件測(cè)試定義:1) 在規(guī)定條件下運(yùn)行系統(tǒng)或構(gòu)件的過(guò)程:在此過(guò)程中觀(guān)察和記錄結(jié)果,并對(duì)系統(tǒng)或構(gòu)件的某些方面給出評(píng)價(jià)2) 分析軟件項(xiàng)目的過(guò)程:檢測(cè)現(xiàn)有狀況和所需狀況之間的不同,并評(píng)估軟件項(xiàng)目的特性軟件測(cè)試原則:1) 應(yīng)當(dāng)把“盡早地和不斷地進(jìn)行軟件測(cè)試”作為軟件開(kāi)發(fā)者的座右銘2) 測(cè)試用例應(yīng)當(dāng)由測(cè)試輸入數(shù)據(jù)、執(zhí)行條件和對(duì)應(yīng)的預(yù)期輸出結(jié)果組成3) 程序員應(yīng)避免檢查
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024水泥買(mǎi)賣(mài)合同參考范本
- 二零二五年醫(yī)療器械分包合同集成2篇
- 二零二五年度WPS合同管理AI智能風(fēng)險(xiǎn)預(yù)警合同3篇
- 二零二五年度專(zhuān)利技術(shù)轉(zhuǎn)讓合同詳解3篇
- 2025版礦山環(huán)境恢復(fù)治理承包工程合同范本3篇
- 2025年秋冬季傳染病講話(huà)稿樣本(2篇)
- 2025版無(wú)人機(jī)植保服務(wù)合同3篇
- 2025年度汽車(chē)銷(xiāo)售合同標(biāo)的的具體描述3篇
- 2025年度民間借貸合同執(zhí)行監(jiān)督授權(quán)委托合同3篇
- 農(nóng)村家庭自辦宴席食品安全管理制度模版(2篇)
- 針灸推拿治療失眠PPT
- ISO-8467-1993高錳酸鹽指數(shù)
- 防雷和接地監(jiān)理實(shí)施細(xì)則-
- 糧食倉(cāng)儲(chǔ)組織架構(gòu)設(shè)計(jì)及全套管理規(guī)章制度
- 《人員素質(zhì)測(cè)評(píng)理論與方法》電子版本
- 陶瓷色料的技術(shù)PPT課件
- 幼兒園食品安全工作計(jì)劃四篇
- 課程設(shè)計(jì)YA32-350型四柱萬(wàn)能液壓機(jī)液壓系統(tǒng)設(shè)計(jì)
- 中國(guó)工業(yè)數(shù)據(jù)庫(kù)介紹
- 弱電智能化設(shè)計(jì)服務(wù)建議書(shū)(共35頁(yè))
- 中國(guó)銀監(jiān)會(huì)關(guān)于規(guī)范中長(zhǎng)期貸款還款方式的通知
評(píng)論
0/150
提交評(píng)論