信息系統(tǒng)監(jiān)理師教程PPT_第1頁
信息系統(tǒng)監(jiān)理師教程PPT_第2頁
信息系統(tǒng)監(jiān)理師教程PPT_第3頁
信息系統(tǒng)監(jiān)理師教程PPT_第4頁
信息系統(tǒng)監(jiān)理師教程PPT_第5頁
已閱讀5頁,還剩339頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、信息應(yīng)用系統(tǒng)建設(shè)監(jiān)理課程計劃,第一講 信息應(yīng)用系統(tǒng)建設(shè)基礎(chǔ)知識 第二講信息應(yīng)用系統(tǒng)監(jiān)理工作 第三講準(zhǔn)備階段的監(jiān)理工作 第四講分析設(shè)計階段監(jiān)理 第五講實施階段監(jiān)理 第六講驗收階段的監(jiān)理工作,第一講 信息應(yīng)用系統(tǒng)建設(shè)基礎(chǔ)知識,在本講中您能了解如下知識點: 第一章軟件的概念、特點和分類 第二章軟件工程 第三章軟件配置管理 第四章軟件測試 第五章軟件評審 第六章軟件維護(hù) 第七章軟件工程標(biāo)準(zhǔn) 第八章軟件開發(fā)文檔 第九章軟件工業(yè)化生產(chǎn)時代的基礎(chǔ)技術(shù)和方法,第一章 軟件的概念、特點和分類,“確立并使用正確的工程原理和方法,以便能夠經(jīng)濟地獲得可靠而有效的軟件”。 Friedrich I. Bauer,軟件的概

2、念,軟件是與計算機系統(tǒng)的操作有關(guān)的程序、規(guī)程、規(guī)則及與之 有關(guān)的文檔。 軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括 程序,數(shù)據(jù)及其相關(guān)文檔的完整集合。其中,程序是按事先 設(shè)計的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是使程序能正 常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā),維護(hù)和使用有 關(guān)的圖文材料。,軟件的構(gòu)成要素,1、程序 2、規(guī)程 3、規(guī)則 4、文檔,軟件的特點,具有抽象性、嚴(yán)密性、“一次性”、智能性、持久性、依賴 性、復(fù)雜性、難以度量、易出錯、必須維護(hù)、成 本昂貴等特點。 (1) 軟件是一種邏輯實體,具有抽象性。 (2) 對軟件的質(zhì)量控制:必須著重在軟件開發(fā)方面下功夫。 (3) 軟件沒

3、有老化問題:然而它存在退化問題。 (4) 軟件的開發(fā)和運行存在:移植的問題。 (5) 軟件的開發(fā)方式:手工。 (6) 軟件本身是復(fù)雜的:實際問題,程序邏輯結(jié)構(gòu)所決定的。 (7) 軟件成本昂貴:投入大量、復(fù)雜、高強度的腦力勞動。,源程序、執(zhí)行程序,高級語言源程序經(jīng)編譯后,得到的目標(biāo)模塊還需進(jìn)行連接。連接程序(即Linker)找出需要連接的外部模塊并到模塊庫中找出被調(diào)用的模塊,調(diào)入內(nèi)存并連接到目標(biāo)模塊上,形成可執(zhí)行程序。,軟件的分類方法,按軟件的功能進(jìn)行劃分: 系統(tǒng)軟件 支撐軟件 應(yīng)用軟件 在信息系統(tǒng)工程建設(shè)中,系統(tǒng)軟件和支撐軟件通常為外購軟 件,應(yīng)用軟件通常為承建單位自主開發(fā)或分包開發(fā)的軟件。

4、按軟件服務(wù)對象的范圍劃分: 項目軟件 產(chǎn)品軟件 按軟件規(guī)模進(jìn)行劃分: 按開發(fā)軟件所需的人力、時間以及完成的源程序行數(shù),可確 定六種不同規(guī)模的軟件。 按軟件工作方式劃分: 實時處理軟件 分時軟件 交互式軟件 批處理軟件 按使用的頻度進(jìn)行劃分: 一次使用 較高的使用頻度 按軟件失效的影響進(jìn)行劃分: 影響不大 影響釀成災(zāi)難性后果,軟件的分類方法,按技術(shù)特點的角度進(jìn)行劃分: 業(yè)務(wù)軟件:處理日常業(yè)務(wù),已成為管理信息系統(tǒng)MIS 科技計算軟件: 注重數(shù)值算法的速度和精度。目前轉(zhuǎn)向多機協(xié)作計算、并行計算、可視計算等 嵌入式(embeded)軟件:使工業(yè)產(chǎn)品自動化、智能化 實時(real-time)軟件多用于工

5、業(yè)控制系統(tǒng) 個人計算機軟件: 字處理、報表、制圖、多媒體寫作、娛樂游戲、個人數(shù)據(jù)庫、個人財務(wù)、聯(lián)機上網(wǎng)等 人工智能軟件:以非數(shù)值算法解題,一般有一知識庫存放知識和規(guī)則。,軟件工程是一類求解軟件的系統(tǒng)工程的派生,軟件工程是一門交叉性學(xué)科。軟件工程這一概念,主要是針對20世紀(jì)60年代“軟件危機”而提出的。其主要成果有:提出了瀑布模型,開發(fā)了一些結(jié)構(gòu)化程序設(shè)計語言、結(jié)構(gòu)化方法等。并且圍繞項目管理提出了費用估算、文檔復(fù)審等方法和工具,第二章 軟件工程概述,70年代初,自“軟件工廠”這一概念提出以來,其主要成果有:提出了應(yīng)用廣泛的面向?qū)ο笳Z言以及相關(guān)的面向?qū)ο蠓椒?。尤其是近幾年來,針對軟件?fù)用及軟件生產(chǎn)

6、,軟件構(gòu)件技術(shù)以及軟件質(zhì)量控制技術(shù)、質(zhì)量保證技術(shù)得到了廣泛的應(yīng)用。,軟件工廠,軟件工程框架,軟件工程的框架是由軟件工程目標(biāo)、軟件工程活動和軟件工程原則三個方面的內(nèi)容組成。,由上圖可以看出軟件工程可定義為三元組: 目標(biāo),原則,活動 其中目標(biāo)定義為: 正確性:軟件產(chǎn)品達(dá)到預(yù)期功能的程度。 可用性:軟件基本結(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。 開銷適宜性:軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。 這三方面的特性決定了軟件過程、過程模型和工程方法的選擇。,軟件工程目標(biāo),選取適宜開發(fā)范型。對需求定義的易變性,采用適宜的開發(fā)范型予以控制,以保證軟件產(chǎn)品滿足用戶的要求。 采用合適的設(shè)計方法。合適的設(shè)計方法

7、有助于這些特征的實現(xiàn),以達(dá)到軟件工程的目標(biāo)。 提供高質(zhì)量的工程支持。在軟件工程中,軟件工具與環(huán)境對軟件過程的支持頗為重要。 重視開發(fā)過程的管理。當(dāng)軟件過程得以有效管理時,才能實現(xiàn)有效的軟件工程。,軟件工程原則,軟件工程活動是“生產(chǎn)一個最終滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟”。主要包括需求、設(shè)計、實現(xiàn)、確認(rèn)以及支持等5個活動。 需求活動包括問題分析和需求分析。問題分析獲取需求定義。需求分析生成功能規(guī)約。 設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件體系結(jié)構(gòu)。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明。 實現(xiàn)活動CODING AND TESTING。 確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完

8、成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。 支持活動包括修改和完善。維護(hù)。,軟件工程活動,需求:定義問題,即建立系統(tǒng)模型,主要任務(wù)包括: 需求獲取需求定義,系統(tǒng)功能的一個正確的陳述 需求規(guī)約系統(tǒng)需求規(guī)格說明,其主要成分:系統(tǒng)模型、系統(tǒng)功能的一個精確、系統(tǒng)的描述及需求驗證 。 設(shè)計:在需求分析的基礎(chǔ)上,給出系統(tǒng)的軟件解決方案。 1)總體設(shè)計: 系統(tǒng)的軟件體系結(jié)構(gòu) 2)詳細(xì)設(shè)計: 針對總體設(shè)計結(jié)果,給出每一構(gòu)件的詳細(xì)描述。 實現(xiàn):選擇可用的構(gòu)件或語言,對每一構(gòu)件進(jìn)行編碼。 確認(rèn):貫穿軟件開發(fā)的整個過程,主要任務(wù)是:軟件測試。 支持:完善性維護(hù)、糾錯性維護(hù)。,軟件工程流程,軟件生存周期,軟件生存周期是

9、“從設(shè)計軟件產(chǎn)品開始到軟件產(chǎn)品不能再使用為止的時間周期。軟件生存周期典型地包括項目計劃階段,需求階段,設(shè)計階段、實現(xiàn)階段、測試階段、安裝和驗收階段、運行和維護(hù)階段,有時還包括引退階段。,確定要開發(fā)軟件系統(tǒng)的總目標(biāo),給出它的功能、性能、可靠性及接口等方面的要求;根據(jù)有關(guān)成本與進(jìn)度的限制分析項目的可行性,探討解決問題的可能方案;制定完成開發(fā)任務(wù)的實施計劃,連同可行性研究報告,提交管理部門審查。,軟件項目計劃,需求分析和定義方式: 需求明確的:用正式的信息域分析,可用于建立信息流和信息結(jié)構(gòu)的模型,然后逐漸擴充這些模型成為軟件的規(guī)格說明。 需求非明確:用軟件原型化方法,即建立軟件原型,并由用戶進(jìn)行評價

10、,從而確定軟件需求。編寫出軟件需求說明書及初步的用戶手冊,提交管理機構(gòu)評審。,軟件需求分析,概要設(shè)計,把已確定了的各項需求轉(zhuǎn)換成一個相應(yīng)的體系結(jié)構(gòu),以結(jié)構(gòu)設(shè)計和數(shù)據(jù)設(shè)計開始,建立程序的模塊結(jié)構(gòu),定義接口并建立數(shù)據(jù)結(jié)構(gòu)。此外,要使用一些設(shè)計準(zhǔn)則來判斷軟件的質(zhì)量。 詳細(xì)設(shè)計,考慮設(shè)計每一個模塊部件的過程描述,對每個模塊要完成的工作進(jìn)行具體的描述。編寫設(shè)計說明書,提交評審。,軟件設(shè)計分為概要設(shè)計和詳細(xì)設(shè)計,系統(tǒng)設(shè)計是把需求轉(zhuǎn)化為軟件系統(tǒng)的最重要的環(huán)節(jié)。系統(tǒng)設(shè)計的優(yōu)劣在根本上決定了軟件系統(tǒng)的質(zhì)量。就象“一切帝國主義都是紙老虎”那樣可以斷定“差的系統(tǒng)設(shè)計必定產(chǎn)生差的軟件系統(tǒng)。”所以我們要努力保證系統(tǒng)設(shè)計

11、“根正苗紅”,把一切左傾、右傾的設(shè)計思潮消滅在萌芽狀態(tài)。,保證系統(tǒng)設(shè)計“根正苗紅”,Windows NT的一位系統(tǒng)設(shè)計師擁有8輛法拉利跑車,讓Microsoft公司的一些程序員十分眼紅。但你只能羨慕而不能憤恨,因為并不是每個程序員都有本事成為復(fù)雜軟件系統(tǒng)的設(shè)計師。系統(tǒng)設(shè)計要比純粹的編程困難得多。即便你清楚客戶的需求,卻未必知道應(yīng)該設(shè)計什么樣的軟件系統(tǒng)既能掙最多的錢又能讓客戶滿意。,神氣的軟件設(shè)計師,用一種適當(dāng)?shù)某绦蛟O(shè)計語言把軟件設(shè)計轉(zhuǎn)換成計算 機可以接受的程序代碼。應(yīng)當(dāng)就風(fēng)格及清晰性對代 碼進(jìn)行評審,而且反過來應(yīng)能直接追溯到詳細(xì)設(shè)計 描述。,程序編碼,軟件測試,軟件測試的主要任務(wù)是發(fā)現(xiàn)并排除在

12、軟件需求分析、設(shè)計和實現(xiàn)階段產(chǎn)生的各種錯誤,以保證交付軟件的質(zhì)量。 軟件測試目的是“在一定的開發(fā)時間和經(jīng)費的限制下,通過執(zhí)行有限個測試過程,盡可能多的發(fā)現(xiàn)軟件中的錯誤。,單元測試檢查每一單獨的模塊部件的功能和性能。 組裝測試提供了構(gòu)造軟件模塊結(jié)構(gòu)的手段,同時測試其功能和接口。 確認(rèn)測試檢查所有的需求是否都得到滿足。 在每一個測試步驟之后,要進(jìn)行調(diào)試,以診斷和糾正軟件的故障。,軟件測試,軟件測試的基本原則,1、程序員或程序設(shè)計機構(gòu)不應(yīng)測試自己設(shè)計的程序 2、在設(shè)計測試用例時,不僅要確定輸入數(shù)據(jù),還要確定預(yù)期的輸出結(jié)果 3、在設(shè)計測試用例時,不僅要考慮合理的輸入數(shù)據(jù),還要考慮不合理的輸入數(shù)據(jù)。 4

13、、除了檢查程序是否做了它應(yīng)當(dāng)做的事情之外,還應(yīng)檢查它是否做了不應(yīng)當(dāng)做的事 5、應(yīng)保留所有的測試用例,以便軟件維護(hù)和回歸測試 6、模塊中存在錯誤的概率與已發(fā)現(xiàn)的錯誤數(shù)成正比 7、嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性,例:Outlook溢出,起源于vCard(一種電子名片) Outlook直接打開并運行附件中的vCards而不提示用戶 vCards存儲于.vcf文件中,也是沒有提示而直接運行的 當(dāng)vCards的生日字段(BDAY)超過55字符時,就會出現(xiàn)溢出 對策:應(yīng)用IE 5.5 sp2,已交付的軟件投入正式使用,并在運行 過程中進(jìn)行適當(dāng)?shù)木S護(hù)。為改正錯誤, 適應(yīng)環(huán)境變化及功能增強而進(jìn)行的一系 列

14、修改活動。與軟件維護(hù)相關(guān)聯(lián)的那些 任務(wù)依賴于所要實施的維護(hù)的類型。,運行維護(hù),軟件開發(fā)模型是軟件建設(shè)過程的結(jié)構(gòu)框架。 軟件開發(fā)的承建單位必須首先制定出適宜的開發(fā)策略和軟件工程模型,以便對要交付的軟件的開發(fā)過程實施有效的控制和管理。監(jiān)理單位應(yīng)該根據(jù)承建單位選定的模型制定自己的監(jiān)理策略。 承建單位可根據(jù)軟件開發(fā)項目的具體情況選擇采用何種開發(fā)策略、方法和模型,并要在有關(guān)文檔中(例如在“項目開發(fā)計劃”中)對所采用的軟件工程方法與模型加以說明。,軟件開發(fā)模型,規(guī)定了各項軟件工程活動,包括:制定開發(fā)計劃,進(jìn)行需求分析和說明,軟件設(shè)計,程序編碼.測試及運行維護(hù),并且規(guī)定了它們自上而下,相互銜接的固定次序,如

15、同瀑布流水,逐級下落,瀑布模型,瀑布式生存周期模型,軟件開發(fā)的實踐表明,上述各項活動之間并非完全是自上而下,呈線性圖式。實際情況是,每項開發(fā)活動均處于一個質(zhì)量環(huán)(輸入-處理-輸出-評審)中。只有當(dāng)其工作得到確認(rèn),才能繼續(xù)進(jìn)行下一項活動 瀑布模型的開發(fā)策略是要求軟件開發(fā)組織在進(jìn)行軟件開發(fā)時,要嚴(yán)格劃分開發(fā)過程的每一個階段,并根據(jù)工程化的有關(guān)規(guī)定,在“軟件開發(fā)計劃”及“軟件質(zhì)量保證計劃”中反映每個階段的活動。對每階段的工作要進(jìn)行認(rèn)真的評審。只有在某個階段的目標(biāo)確實達(dá)到后,才能進(jìn)入下一階段的工作。 瀑布模型為軟件開發(fā)和軟件維護(hù)提供了一種理想情況下的管理模式,從理論上講,對需求能嚴(yán)格地進(jìn)行預(yù)先定義的軟

16、件開發(fā)項目是合適和有效的。然而在軟件工程實踐中,這一開發(fā)策略一旦遇到與假設(shè)不相符合的情況,就容易導(dǎo)致失敗。盡管如此,該模型仍不失為一個很好的基準(zhǔn)模型。事實上,在今天的軟件工程實踐中常常都是以瀑布模型為基礎(chǔ)綜合采用其它各種模型的優(yōu)點,以改善軟件開發(fā)過程對現(xiàn)實情況的適應(yīng)性。,瀑布模型,原型模型也稱演化模型,此方法主要針對所要開發(fā)的系統(tǒng)的需求不是很清楚, 需要一個可實際運行的工作演示系統(tǒng),即原型,作為軟件開發(fā)人員和用戶學(xué)習(xí)、 研究、試驗和確定軟件需求的工作平臺。 原型模型又可細(xì)分為增量模型和漸進(jìn)模型。,原型模型,快速分析。快速確定軟件系統(tǒng)的基本要求。 構(gòu)造原型。盡快實現(xiàn)一個可運行的系統(tǒng)。 運行和評價

17、原型。驗證原型的正確程度,根據(jù)用戶的新設(shè)想,提出全面的修改意見。 修正和改進(jìn)。首先修改并確定需求規(guī)格說明,然后再重新構(gòu)造或修改原型。 判定原型是否完成。如果用戶認(rèn)可,迭代過程可以結(jié)束。否則,繼續(xù)迭代。 判斷原型細(xì)部是否說明。 原型細(xì)部的說明。 判定原型效果。 整理原型和提供文檔。,原型化開發(fā)方法步驟,對于需求不能很快全部明確的系統(tǒng),軟件開發(fā)項目難于 做到一次開發(fā)成功,可使用此模型。此時,應(yīng)盡可能明 確已知的軟件需求,完成相應(yīng)的需求分析,并按瀑布模 型的方法進(jìn)行第一次開發(fā)工作。在系統(tǒng)集成時,通過實 驗找出需求中的欠缺和不足之處,明確那些未知的軟件 需求,再迭代進(jìn)行增加部分的需求分析和開發(fā)。對有些

18、 系統(tǒng)這種反復(fù)可能要進(jìn)行幾次,但盡可能不要超過兩 次,否則難以控制軟件的結(jié)構(gòu)規(guī)模、開發(fā)質(zhì)量和進(jìn)度。,增量模型,此模型主要是針對部分需求盡管明確但一時難以準(zhǔn)確進(jìn)行 定義的系統(tǒng)設(shè)計。如:用戶的操作界面等。使用此模型 時,可以先做初步的需求分析,之后立即進(jìn)行設(shè)計和編 碼,隨后與系統(tǒng)進(jìn)行第一次集成(不作或少作測試)。根 據(jù)集成后反映的問題,進(jìn)一步做更全面的需求分析、設(shè) 計、編碼、測試和集成,漸進(jìn)模型,對于復(fù)雜的大型軟件,開發(fā)一個原型往往達(dá)不到要求。螺旋模型將瀑布模型與演化模型結(jié)合起來,并且加入兩種模型均忽略了的風(fēng)險分析。螺旋模型沿著螺線旋轉(zhuǎn),如下圖所示,在笛卡爾坐標(biāo)的四個象限上分別表達(dá)了四個方面的活動

19、,即: 制定計劃確定軟件目標(biāo),選定實施方案,弄清項目開發(fā)的限制條件; 風(fēng)險分析分析所選方案,考慮如何識別和消除風(fēng)險; 實施工程實施軟件開發(fā) 客戶評估評價開發(fā)工作,提出修正建議。 沿螺線自內(nèi)向外每旋轉(zhuǎn)一圈便開發(fā)出更為完善的一個新的軟件版本。,螺旋模型,螺旋模型,螺旋模型是軟件開發(fā)的高級策略,它不僅適合結(jié)構(gòu)化方法而且更適合面向?qū)ο蠓椒?。它的實施將對軟件開發(fā)組織的工作模式、人員素質(zhì)、管理和技術(shù)水平產(chǎn)生深遠(yuǎn)的影響,是最有前途的過程模型之一。(適用于產(chǎn)品開發(fā)),螺旋模型,噴泉模型對軟件復(fù)用和生存周期中多項開發(fā)活動的集成提供了支持,主要支持面向?qū)ο蟮拈_發(fā)方法?!皣娙币辉~本身體現(xiàn)了迭代和無間隙特性。系統(tǒng)某

20、個部分常常重復(fù)工作多次,相關(guān)功能在每次迭代中隨之加入演進(jìn)的系統(tǒng)。所謂無間隙是指在開發(fā)活動,即分析、設(shè)計和編碼之間不存在明顯的邊界,噴泉模型,配置管理項 在軟件生存周期內(nèi)所產(chǎn)生的各種管理文檔和技術(shù)文檔、源代 碼列表,及其可執(zhí)行代碼,以及運行所需的各種數(shù)據(jù),構(gòu)成 軟件配置管理項。 配置管理庫 各系統(tǒng)應(yīng)在其所屬各級中建立下列各庫: 開發(fā)庫(DL) 通常,開發(fā)庫可僅在項目開發(fā)組內(nèi)設(shè)立,并由其負(fù)責(zé)維護(hù)。 受控庫(CL) 通常,受控庫以軟件配置項為單位建立并維護(hù)。 產(chǎn)品庫(PL 通常,產(chǎn)品庫可在系統(tǒng)、子系統(tǒng)級上設(shè)立并維護(hù)。 各類庫中應(yīng)存放哪些軟件成分,應(yīng)視所開發(fā)軟件的實際情況酌定。,第三章 軟件配置管理,

21、質(zhì)量要求 軟件配置管理項是該軟件的真正實質(zhì)性材料,因此必須保持正確性、完備性和可 追蹤性;任何軟件配置管理項都必須做到“文實相符、文文一致”。以滿足“有 效性”、“可見性”和“可控性”要求。 管理規(guī)程 軟件配置項不論大小都必須實施軟件配置管理。但所管軟件實體的多少,實施控制的方式和投入人力多少則與軟件配置項的規(guī)模等級、安全性關(guān)鍵等級,以及風(fēng)險大小有關(guān)。必須指出,對于安全性關(guān)鍵等級為A、B級的軟件配置項的管理必須從嚴(yán)。 每個計算機系統(tǒng)均應(yīng)制定軟件配置管理規(guī)程,至少應(yīng)明確規(guī)定: 各級、各庫中所管的軟件實體的清單; 保證安全性、可靠性、保密性、正確性、完備性、一致性和可追蹤性的具體措施; 入庫控制辦

22、法和審批手續(xù); 出庫條件及其必備的手續(xù); 變更控制辦法和審批手續(xù)。 工具 為了嚴(yán)格、有效地實施軟件配置管理,承建單位應(yīng)使用軟件配置管理工具,以滿 足上述質(zhì)量要求。(VSS),第三章 軟件配置管理,第四章 軟件測試,測試目的: 通過測試,發(fā)現(xiàn)軟件錯誤; 驗證軟件是否滿足軟件需求規(guī)格說明和軟件設(shè)計所規(guī)定的功能、性能及其軟件質(zhì)量特性的要求; 為軟件質(zhì)量的評價提供依據(jù)。 軟件測試技術(shù): 雖然軟件測試技術(shù)在不斷地發(fā)展,但傳統(tǒng)的 分類方法仍然適用。按使用的測試技術(shù)不同 可以將測試分為: 靜態(tài)測試:靜態(tài)分析和代碼審查 動態(tài)測試:白盒測試和黑盒測試。,靜態(tài)分析主要對程序進(jìn)行控制流分析、數(shù)據(jù)流分析、接口分析和表

23、達(dá)式分析等。靜態(tài)分析一般由計算機輔助完成。目前具備靜態(tài)分析功能的軟件測試工具有很多。 白盒測試是一種按照程序內(nèi)部的邏輯結(jié)構(gòu)和編碼結(jié)構(gòu)設(shè)計并執(zhí)行測試用例的測試方法。根據(jù)覆蓋準(zhǔn)則使程序中的每個語句、每個條件分支、每個控制路徑都在程序測試中受到檢驗。主要以LOG。 黑盒測試是一種著重于驗證軟件功能和性能的正確性,它的典型測試項目包括功能測試、性能測試、邊界測試、余量測試、強度測試等。,軟件測試方式,制定“軟件測試計劃”。 編寫“軟件測試說明”。對各測試用例所需的測試環(huán)境、測試軟件的準(zhǔn)備工作給予說明。對于軟件安全性關(guān)鍵等級為A、B級或軟件規(guī)模等級為A、B級的軟件,軟件開發(fā)單位必須組織此測試階段的準(zhǔn)備就

24、緒評審,以審查測試用例、環(huán)境、測試軟件、測試工具等準(zhǔn)備工作是否全面、到位。 測試用例設(shè)計要求:測試用例的設(shè)計應(yīng)包括該測試用例的測試過程、測試輸入數(shù)據(jù)、期望測試結(jié)果和評價測試結(jié)果的標(biāo)準(zhǔn)等; 測試用例的輸入應(yīng)包括合理的(有效等價類)值、不合理的(無效等價類)值和邊界值輸入; 為每個測試用例規(guī)定測試規(guī)程,包括運行測試用例的準(zhǔn)備、初始化、中間步驟、前提和約束;,軟件測試工作規(guī)程,把全部測試用例寫入“軟件測試說明”。 執(zhí)行軟件測試。按照“軟件測試計劃”和“軟件測試說明”對軟件進(jìn)行測試。在測試過程中,應(yīng)填寫“軟件測試記錄”。如果發(fā)現(xiàn)軟件問題,應(yīng)填寫“軟件問題報告單”。測試記錄包括測試的時間、地點、操作人、

25、參加人、測試輸入數(shù)據(jù)、期望測試結(jié)果、實際測試結(jié)果及測試規(guī)程等。 編制“軟件測試報告”。具體的軟件測試工作完成之后,依照“軟件測試計劃”、“軟件測試說明”、“軟件測試記錄”對測試結(jié)果進(jìn)行統(tǒng)計、分析和評估,在此基礎(chǔ)上編制“軟件測試報告”。 修正軟件測試過程中發(fā)現(xiàn)的問題。修正軟件問題要有受控措施,應(yīng)先填寫“軟件變更變更報告單”,在得到同意的答復(fù)之后進(jìn)行軟件的修改(包括軟件文檔、程序和數(shù)據(jù)的全面修改),修改完成之后,必須進(jìn)行回歸測試。 軟件測試階段評審:測試階段工作全部完成之后,應(yīng)組織本測試階段的評審。,軟件測試工作規(guī)程,在軟件生存周期各階段應(yīng)開展的軟件測試活動,軟件測試應(yīng)由獨立于軟件設(shè)計開發(fā)的人員進(jìn)

26、行,根據(jù)軟 件項目的規(guī)模等級和安全性關(guān)鍵等級,軟件測試可由不 同機構(gòu)組織實施。 軟件單元測試由承建單位自行組織,一般由軟件開發(fā)組實施測試。 軟件集成測試由承建單位自行組織,軟件開發(fā)組和軟件測試組聯(lián)合實施測試。 軟件確認(rèn)測試由承建單位自行組織,軟件測試組實施測試。 系統(tǒng)測試應(yīng)由業(yè)主單位組織,成立聯(lián)合測試組(一般由專家組、業(yè)主單位、軟件評測單位、承建單位等聯(lián)合組成測試組)實施測試。,測試組織,承建單位在測試過程中應(yīng)編制“軟件問 題報告”和“軟件變更報告”, 描述在 配置控制下的軟件或文檔中發(fā)現(xiàn)的各種 問題?!败浖栴}報告”和“軟件變更 報告”應(yīng)描述必需的糾錯工作和解決問 題所進(jìn)行的各項活動。,軟件

27、問題報告和軟件變更報告,承建單位應(yīng)建立和實施糾錯工作規(guī)程, 以便處理 在配置控制下和按產(chǎn)品合同要求進(jìn)行軟件開發(fā)活動 中發(fā)現(xiàn)的問題。糾錯工作規(guī)程應(yīng)遵照軟件配置管 理執(zhí)行。,糾錯工作過程,第五章 軟件評審,評審目的 軟件評審是為了使軟件開發(fā)按軟件工程提出的過程循序進(jìn)行,在各研制階段結(jié)束 時,檢查該階段的工作是否完成,所提交的軟件階段產(chǎn)品是否達(dá)到了規(guī)定的質(zhì)量 和技術(shù)要求,決定是否可以轉(zhuǎn)入下一階段研制工作。,內(nèi)部評審對每個軟件的每個開發(fā)階段都要進(jìn)行;外部評審在內(nèi)部評審的基礎(chǔ)上進(jìn)行。一般情況下,軟件需求分析、概要設(shè)計、確認(rèn)測試和系統(tǒng)測試 階段應(yīng)進(jìn)行外部評審。,軟件評審,提出評審申請 承建單位在本階段工作

28、完成并通過內(nèi)部評審后,至少提前十天提出外部評審申請。同時將評審文檔及資料交給軟件專家組成員進(jìn)行審查。 成立評審組織 成立評審委員會。宣布評審委員會的組成成員和參加審查組的軟件專家組成員。 評審委員會成員一般應(yīng)包括: 軟件專家組成員(占評審委員會總?cè)藬?shù)的50% 以上); 質(zhì)量管理人員; 科研計劃管理人員; 開發(fā)組成員; 業(yè)主單位代表。,外部評審的步驟,審查組由軟件專家組成; 參加同一個項目的軟件專家組成員應(yīng)相對穩(wěn)定。,審查組成員組成及要求,評審結(jié)論 評審小組寫出結(jié)論提交專家組. 專家組審查結(jié)論 專家組審查結(jié)論分為:通過和不通過,并以此向評審委員會提出建 議。通過情況下,承建單位對提出的軟件問題要

29、限期修改,修改情 況由軟件專家組負(fù)責(zé)人同意簽字后可轉(zhuǎn)入下一階段工作。不通過情 況下,對提出的問題由承建單位重新做工作后,再提出評審申請進(jìn) 行復(fù)審。在復(fù)審?fù)ㄟ^前不能轉(zhuǎn)入下一階段工作。復(fù)審的步驟與外部 評審相同。,軟件評審,第六章 軟件維護(hù),軟件維護(hù)是軟件產(chǎn)品交付使用后,為糾正錯誤或 改進(jìn)性能與其他屬性,或使軟件產(chǎn)品適應(yīng)改變了 的環(huán)境而進(jìn)行的修改活動。軟件維護(hù)一般分為糾 錯性維護(hù)、適應(yīng)性維護(hù)和完善性維護(hù)三種類型。,糾錯性維護(hù),糾正在開發(fā)階段產(chǎn)生而在測試和驗收過程沒有發(fā)現(xiàn)的錯誤。其主要 內(nèi)容包括: 設(shè)計錯誤; 程序錯誤; 數(shù)據(jù)錯誤; 文檔錯誤。,為適應(yīng)軟件運行環(huán)境改變而作的修改。環(huán)境改變的主要內(nèi)容包

30、括: 影響系統(tǒng)的規(guī)則或規(guī)律的變化; 硬件配置的變化,如機型、終端、外部設(shè)備的改變等; 數(shù)據(jù)格式或文件結(jié)構(gòu)的改變; 軟件支持環(huán)境的改變,如操作系統(tǒng),編譯器或?qū)嵱贸绦虻淖兓取?適應(yīng)性維護(hù),完善性維護(hù) 為擴充功能或改善性能而進(jìn)行的修改。修改方式有插 入、刪除、擴充和增強等。主要內(nèi)容包括: 為擴充和增強功能而作的修改,如擴充解題范圍和算法優(yōu)化等; 為改善性能而作的修改,如提高運行速度、節(jié)省存貯空間等; 為便于維護(hù)而作的修改,如為了改進(jìn)易讀性而增加一些注釋等。,軟件維護(hù),第七章 軟件工程標(biāo)準(zhǔn),在開發(fā)一個軟件時,需要有許多層次、不同分工的人員 相互配合;在開發(fā)項目的各個部分以及各開發(fā)階段之間 也都存在著

31、許多聯(lián)系和銜接問題。如何把這些錯綜復(fù)雜 的關(guān)系協(xié)調(diào)好,需要有一系列統(tǒng)一的約束和規(guī)定。在軟 件開發(fā)項目取得階段成果或最后完成時,還需要進(jìn)行階 段評審和驗收測試。投入運行的軟件,其維護(hù)工作中遇 到的問題又與開發(fā)工作有著密切的關(guān)系。軟件的管理工 作則滲透到軟件生存期的每一個環(huán)節(jié)。所有這些都要求 提供統(tǒng)一的行為規(guī)范和衡量準(zhǔn)則,使得各種工作都能有 章可循。,與軟件相關(guān)的各種標(biāo)準(zhǔn),(1)網(wǎng)絡(luò)協(xié)議:ISO/OSI vs TCP/IP (2)軟件構(gòu)件:CORBA vs COM (3)建模語言:UML (4)數(shù)據(jù)訪問:ODBC/JDBC (5)工程管理:CMM vs ISO(9001-3,15504),根據(jù)軟件

32、工程標(biāo)準(zhǔn)制定的機構(gòu)和標(biāo)準(zhǔn)適用 的范圍有所不同,它可分為五個級別,即 國際標(biāo)準(zhǔn)、國家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)、企業(yè)(機 構(gòu))標(biāo)準(zhǔn)及項目(課題)標(biāo)準(zhǔn)。以下分別對五級標(biāo)準(zhǔn)的標(biāo)識符和標(biāo)準(zhǔn)制定(或批準(zhǔn))的機構(gòu)做一簡要說明:,軟件工程標(biāo)準(zhǔn)的層次,由國際聯(lián)合機構(gòu)制定和公布,提供各國參考的標(biāo)準(zhǔn)。如 ISO(International Standards Organization)國際標(biāo)準(zhǔn)化組織。這一國際機構(gòu)有著廣泛的代表性和權(quán)威性,它所公布的標(biāo)準(zhǔn)也有較大的影。1960年代初,該機構(gòu)建立了“計算機與信息處理技術(shù)委員會”, 簡稱ISOTC97,專門負(fù)責(zé)與計算機有關(guān)的標(biāo)準(zhǔn)化工作。這一標(biāo)準(zhǔn)通常冠有ISO字樣,如ISO 8631

33、 86 Information processingprogram constructs and conventions for their representation信息處理程序構(gòu)造及其表示法的約定。該標(biāo)準(zhǔn)現(xiàn)已由中國收入國家標(biāo)準(zhǔn)。,國際標(biāo)準(zhǔn),由政府或國家級的機構(gòu)制定或批準(zhǔn),適用于全國范圍的標(biāo)準(zhǔn),如: GB中華人民共和國國家技術(shù)監(jiān)督局是中國的最高標(biāo)準(zhǔn)化機構(gòu),它所公布實施的標(biāo)準(zhǔn)簡稱為“國標(biāo)”?,F(xiàn)已批準(zhǔn)了若干個軟件工程標(biāo)準(zhǔn)。,國家標(biāo)準(zhǔn),由行業(yè)機構(gòu)、學(xué)術(shù)團(tuán)體或國防機構(gòu)制定,并適 用于某個業(yè)務(wù)領(lǐng)域的標(biāo)準(zhǔn),如: IEEE(Institute of Electrical and Electronics

34、Engineers)美國電氣與電 子工程師學(xué)會。近年該學(xué)會專門成立了軟件標(biāo)準(zhǔn)分技術(shù) 委員會(SESS),積極開展了軟件標(biāo)準(zhǔn)化活動,取得了顯 著成果,受到了軟件界的關(guān)注。IEEE通過的標(biāo)準(zhǔn)經(jīng)常要 報請ANSI審批,使之具有國家標(biāo)準(zhǔn)的性質(zhì)。,行業(yè)標(biāo)準(zhǔn),1983年5月中國原國家標(biāo)準(zhǔn)總局和原電子工業(yè)部主持成立了“計算機 與信息技術(shù)標(biāo)準(zhǔn)化技術(shù)委員會”,下設(shè)十三個分技術(shù)委員會。與軟 件相關(guān)的程序設(shè)計語言分委員會和軟件工程技術(shù)分委員會。中國制 定和推行標(biāo)準(zhǔn)化工作的總原則是向國際標(biāo)準(zhǔn)靠攏,對于能夠在中國 適用的標(biāo)準(zhǔn)一律按等同采用的方法,以促進(jìn)國際交流。這里,等同 采用是要使自己的標(biāo)準(zhǔn)與國際標(biāo)準(zhǔn)的技術(shù)內(nèi)容完全相

35、同,僅稍做編 輯性修改。 從1983年起到現(xiàn)在,中國已陸續(xù)制定和發(fā)布了20項國家標(biāo)準(zhǔn)。這些 標(biāo)準(zhǔn)可分為4類: 基礎(chǔ)標(biāo)準(zhǔn); 開發(fā)標(biāo)準(zhǔn); 文檔標(biāo)準(zhǔn); 管理標(biāo)準(zhǔn)。,軟件工程的國家標(biāo)準(zhǔn),軟件工程標(biāo)準(zhǔn),第八章 軟件開發(fā)文檔,文檔的種類 GB 8567-88 計算機軟件產(chǎn)品開發(fā)文件編制指南中規(guī)定,在軟件的開發(fā) 過程中,一般地說,應(yīng)該產(chǎn)生十四種文件。這十四種文件是: 可行性研究報告; 項目開發(fā)計劃; 軟件需求說明書; 數(shù)據(jù)要求說明書; 概要設(shè)計說明書; 詳細(xì)設(shè)計說明書; 數(shù)據(jù)庫設(shè)計說明書; 用戶手冊; 操作手冊; 模塊開發(fā)卷宗; 測試計劃; 測試分析報告; 開發(fā)進(jìn)度月報; 項目開發(fā)總結(jié)報告。,文檔的作用,(

36、1)提高軟件開發(fā)過程的可見性 (2)提高開發(fā)效率 (3)可作為開發(fā)人員在一定階段內(nèi)的工作成果和結(jié)束標(biāo)志 (4)記錄開發(fā)過程中的有關(guān)技術(shù)信息,以便協(xié)調(diào)以后的軟件開發(fā)、使用和維護(hù) (5)提供有關(guān)軟件運行、維護(hù)和培訓(xùn)的信息 (6)便于潛在用戶了解軟件的功能、性能等各項指標(biāo),軟件開發(fā)文檔,第九章 軟件工業(yè)化生產(chǎn)時代的基礎(chǔ)技術(shù)和方法,CMM軟件過程成熟度模型概要 個體軟件過程PSP 群組軟件過程TSP 面向?qū)ο蟮能浖_發(fā)方法 可視化開發(fā)方法 軟件復(fù)用技術(shù),CMM軟件過程成熟度模型概要,CMM是Capability Maturity Model的英文單詞的第一字母縮寫,中文稱:軟件能力成熟度模型。 發(fā)展史

37、 1986年美國政府委托卡內(nèi)基梅隆大學(xué)軟件工程研究所(SEI)開發(fā)一套評估軟件承包商能力的方法。 1987年9月發(fā)布了一套軟件過程成熟度框架。 1991年SEI將這套框架發(fā)展成為軟件成熟度模型,簡稱CMM,定義為CMM1.1版。 1997年11月SEI完成CMM2.0版,1999年發(fā)布。 CMM將能力成熟度模型分為5個級別,CMM的5個級別,CMM1:初始級 企業(yè)一般不具備穩(wěn)定的軟件開發(fā)與維護(hù)的環(huán)境,軟件項目的成功取決于某些個人的技能和經(jīng)驗。 CMM2:可重復(fù)級 建立了基本的軟件項目管理過程規(guī)范。項目經(jīng)理可以基于過往的項目的經(jīng)驗來計劃與管理新的項目。 CMM3:定義級 已經(jīng)將管理和開發(fā)兩方面的

38、過程文檔化、并綜合成為企業(yè)機構(gòu)的標(biāo)準(zhǔn)軟件過程。公司所有項目都可以通過裁減機構(gòu)的標(biāo)準(zhǔn)軟件過程而建立適合于本項目的過程規(guī)范。 CMM4:定量管理級 企業(yè)對產(chǎn)品與過程建立起定量的質(zhì)量目標(biāo),同時在過程中加入規(guī)定得很清楚的連續(xù)的度量。作為企業(yè)的度量方案, 要對所有項目的重要的過程活動進(jìn)行生產(chǎn)率和質(zhì)量的度量。 CMM5:優(yōu)化級 整個企業(yè)將會把重點放在對過程進(jìn)行不斷的優(yōu)化。企業(yè)會采取主動去找出過程的弱點與長處,以達(dá)到預(yù)防缺陷 的目標(biāo)。同時,分析有關(guān)過程的有效性的資料,作出對新技術(shù)的 成本與收益的分析,以及提出對過程進(jìn)行修改的建議。,在介紹CMM內(nèi)容之前,首先概述一下不成熟軟件組織與成熟軟件組織的差異。在不成

39、熟的軟件單位,軟件過程一般由實踐者及其管理者在項目進(jìn)程中臨時拼湊而成,因而推遲進(jìn)度和超出預(yù)算已成為慣例,產(chǎn)品質(zhì)量難以預(yù)測,有時為了滿足進(jìn)度要求,常在產(chǎn)品功能和質(zhì)量上做出讓步。 然而,一個成熟軟件組織具有在全組織范圍內(nèi)管理軟件、開發(fā)過程和維護(hù)過程的能力,規(guī)定的軟件過程被正確無誤地通知到所有員工,工作活動均按照已規(guī)劃的過程進(jìn)行。并通過可控的先導(dǎo)性試驗和費效分析使這些過程得到改進(jìn),對已定義過程中的所有崗位及其職責(zé)都有清楚的描述,和通過文檔與培訓(xùn)使全組織有關(guān)人員對已定義的軟件過程都有很好的理解,從而使其軟件過程所導(dǎo)致的生產(chǎn)率和質(zhì)量能隨時間的推移得到改進(jìn)。 下表給出了不成熟和成熟軟件組織的比較,這種比較

40、分析不僅是形成軟件能力成熟模型的基礎(chǔ),也有利于理解該模型。,CMM軟件過程成熟度模型概要,CMM軟件過程成熟度模型概要,CMM的一些基本概念 (1)軟件過程:人們用于開發(fā)和維護(hù)軟件及其相關(guān)過程的一系列活動,包括軟件工程活動和軟件管理活動。 (2)軟件過程能力:描述(開發(fā)組織或項目組)遵循其軟件過程能夠?qū)崿F(xiàn)預(yù)期結(jié)果的程度,它既可對整個軟件開發(fā)組織而言,也可對一個軟件項目而言。 (3)軟件過程性能:表示(開發(fā)組織或項目組)遵循其軟件過程所得到的實際結(jié)果,軟件過程性能描述的是已得到的實際結(jié)果,而軟件過程能力則描述的是最可能的預(yù)期結(jié)果,它既可對整個軟件開發(fā)組織而言,也可對一個特定項目而言。 (4)軟件

41、過程成熟:一個特定軟件過程被明確和有效地定義,管理測量和控制的程度。 (5)軟件能力成熟度等級:軟件開發(fā)組織在走向成熟的途中幾個具有明確定義的表示軟件過程能力成熟度的平臺。 (6)關(guān)鍵過程域:每個軟件能力成熟度等級包含若干個對該成熟度等級至關(guān)重要的過程域,它們的實施對達(dá)到該成熟度等級的目標(biāo)起到保證作用。這些過程域就稱為該成熟度等級的關(guān)鍵過程域,反之有非關(guān)鍵過程域是指對達(dá)到相應(yīng)軟件成熟度等級的目標(biāo)不起關(guān)鍵作用。歸納為:互相關(guān)聯(lián)的若干軟件實踐活動和有關(guān)基礎(chǔ)設(shè)施的一個集合。 (7)關(guān)鍵實踐:對關(guān)鍵過程域的實踐起關(guān)鍵作用的方針、規(guī)程、措施、活動以及相關(guān)基礎(chǔ)設(shè)施的建立。關(guān)鍵實踐一般只描述“做什么”而不強

42、制規(guī)定“如何做”。整個軟件過程的改進(jìn)是基于許多小的、漸進(jìn)的步驟,而不是通過一次革命性的創(chuàng)新來實現(xiàn)的,這些小的漸進(jìn)步驟就是通過一些關(guān)鍵實踐來實現(xiàn)。 (8)軟件能力成熟度模型:隨著軟件組織定義、實施、測量、控制和改進(jìn)其軟件過程,軟件組織的能力也伴隨著這些階段逐步前進(jìn),完成對軟件組織進(jìn)化階段的描述模型。,CMM軟件過程成熟度模型概要,軟件開發(fā)的風(fēng)險之所以大,是由于軟件過程能力低,其中最關(guān)鍵的問題在于軟件開發(fā)組織不能很好地管理其軟件過程,從而使一些好的開發(fā)方法和技術(shù)起不到預(yù)期的作用。而且項目的成功也是通過工作組的杰出努力,所以僅僅建立在可得到特定人員上的成功不能為全組織的生產(chǎn)和質(zhì)量的長期提高打下基礎(chǔ),

43、必須在建立有效的軟件工程實踐和管理實踐的基礎(chǔ)設(shè)施方面,堅持不懈地努力,才能不斷改進(jìn),才能持續(xù)地成功。 CMM提供了一個框架,將軟件過程改進(jìn)的進(jìn)化步驟組織成5個成熟等級,為過程不斷改進(jìn)奠定了循序漸進(jìn)的基礎(chǔ)。這5個成熟度等級定義了一個有序的尺度,用來測量一個組織的軟件過程成熟和評價其軟件過程能力,這些等級還能幫助組織自己對其改進(jìn)工作排出優(yōu)先次序。成熟度等級是已得到確切定義的,也是在向成熟軟件組織前進(jìn)途中的平臺。每一個成熟度等級為連續(xù)改進(jìn)提供一個臺基。每一等級包含一組過程目標(biāo),通過實施相應(yīng)的一組關(guān)鍵過程域達(dá)到這一組過程目標(biāo),當(dāng)目標(biāo)滿足時,能使軟件過程的一個重要成分穩(wěn)定。每達(dá)到成熟框架的一個等級,就建

44、立起軟件過程的一個相應(yīng)成分,導(dǎo)致組織能力一定程度的增大。,CMM軟件過程成熟度模型概要,CMM軟件過程成熟度模型概要,CMM軟件過程成熟度模型概要,個體軟件過程(Personal Software Process ,PSP)是由美國Carnegie Mellon大 學(xué)軟件工程研究所(CMU/SEI)的Watts s. Humphrey領(lǐng)導(dǎo)開發(fā)的,于1995年推出,在 軟件工程界引起了極大的轟動,可以說是由定向軟件工程走向定量軟件工程的一個 標(biāo)志。PSP是一種可用于控制、管理和改進(jìn)個人工作方式的自我改善過程,是一個 包括軟件開發(fā)表格、指南和規(guī)程的結(jié)構(gòu)化框架。 PSP為基于個體和小型群組軟件過 程

45、的優(yōu)化提供了具體而有效的途徑,例如如何制訂計劃,如何控制質(zhì)量,如何與其 他人相互協(xié)作等等。在軟件設(shè)計階段, PSP的著眼點在于軟件缺陷的預(yù)防,其具體 辦法是強化設(shè)計結(jié)束準(zhǔn)則,而不是設(shè)計方法的選擇。根據(jù)對參加培訓(xùn)的104位軟件 人員的統(tǒng)計數(shù)據(jù)表明,在應(yīng)用了PSP后,軟件中總的差錯減少了58.0,在測試階 段發(fā)現(xiàn)的差錯減少了71.0,生產(chǎn)效率提高了20.0。PSP的研究結(jié)果還表明,絕 大多數(shù)軟件缺陷是由于對問題的錯誤理解或簡單的失誤所造成的,只有很少一部分 是由于技術(shù)問題而產(chǎn)生的。而且根據(jù)多年來的軟件工程統(tǒng)計數(shù)據(jù)表明,如果在設(shè)計 階段注入一個差錯,則這個差錯在編碼階段引發(fā)了3一5個新的缺陷,要修復(fù)

46、這些缺 陷所花的費用要比修復(fù)這個設(shè)計缺陷所花的費用多一個數(shù)量級。因此,PSP保障軟 件產(chǎn)品質(zhì)量的一個重要途徑是提高設(shè)計質(zhì)量。,個體軟件過程PSP,個體軟件過程PSP,個體軟件過程PSP的內(nèi)容 PSP與具體的技術(shù)(程序設(shè)計語言、工具或者設(shè)計方法)相對獨立,其原則能夠應(yīng)用到幾乎任何的軟件工程任務(wù)之中。PSP能夠: (1) 說明個體軟件過程的原則; (2) 幫助軟件工程師作出準(zhǔn)確的計劃; (3) 確定軟件工程師為改善產(chǎn)品質(zhì)量要采取的步驟; (4) 建立度量個體軟件過程改善的基準(zhǔn); (5) 確定過程的改變對軟件工程師能力的影響。 個體軟件過程PSP的作用 使用自底向上的方法來改進(jìn)過程,向每個軟件工程師

47、表明過程改進(jìn)的原則,使他們能夠明白如何有效地生產(chǎn)出高質(zhì)量的軟件。 為基于個體和小型群組軟件過程的優(yōu)化提供了具體而有效的途徑。其研究與實踐填補了CMM的空白。 幫助軟件工程師在個人的基礎(chǔ)上運用過程的原則,借助于PSP提供的一些度量和分析工具,了解自己的技能水平,控制和管理自己的工作方式,使自己日常工作的評估、計劃和預(yù)測更加準(zhǔn)確、更加有效,進(jìn)而改進(jìn)個人的工作表現(xiàn),提高個人的工作質(zhì)量和產(chǎn)量,積極而有效地參與高級管理人員和過程人員推動的組織范圍的軟件工程過程改進(jìn)。,個體軟件過程PSP,致力于開發(fā)高質(zhì)量的產(chǎn)品,建立、管理和授權(quán)項目小組,并且指導(dǎo)他們?nèi)绾卧跐M足計劃費用的前提下,在承諾的期限范圍內(nèi),不斷生產(chǎn)

48、并交付高質(zhì)量的產(chǎn)品。 TSP指導(dǎo)項目組中的成員如何有效地規(guī)劃和管理所面臨的項目開發(fā)任務(wù),并且告訴管理人員如何指導(dǎo)軟件開發(fā)隊伍。始終以最佳狀態(tài)來完成工作。TSP實施集體管理與自己管理自己相結(jié)合的原則,最終目的在于指導(dǎo)開發(fā)人員如何在最少的時間內(nèi),以預(yù)定的費用生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,所采用的方法是對群組開發(fā)過程的定義、度量和改進(jìn)。 實現(xiàn)TSP方法需要具備的條件 需要有高層主管和各級經(jīng)理的支持,以取得必要的資源 整個軟件開發(fā)小組至少應(yīng)在CMM的第二級(可重復(fù)層)。 全體軟件開發(fā)人員必須經(jīng)過PSP的培訓(xùn),并有按TSP工作的愿望和熱情。 開發(fā)小組成員應(yīng)在2到20個人之間。,群組軟件過程TSP,按TSP原理

49、對開發(fā)小組的基本度量要素 所編文檔的頁數(shù)。 所編代碼的行數(shù)。 花費在各開發(fā)階段或各開發(fā)任務(wù)上的時間(以分為單位)。 在各個開發(fā)階段中引入和改正的差錯數(shù)目。 在各個階段對最終產(chǎn)品增加的價值。 度量TSP實施質(zhì)量的過程質(zhì)量元素 軟件設(shè)計時間應(yīng)大于軟件實現(xiàn)時間。 設(shè)計評審時間至少應(yīng)占一半以上的設(shè)計時間。 代碼評審時間至少應(yīng)占一半以上的代碼編制時間。 在編譯階段發(fā)現(xiàn)的差錯不超過10個 在測試階段發(fā)現(xiàn)的差錯不超過5個。,群組軟件過程TSP,CMM、PSP和TSP組成的軟件過程框架,CMM是過程改善的第一步,它提供了評價組織的能力、識別優(yōu)先改善需求和追蹤改善進(jìn)展的管理方式。企業(yè)只有開始CMM改善后,才能接

50、受需要規(guī)劃的事實,認(rèn)識到質(zhì)量的重要性,才能注重對員工經(jīng)常進(jìn)行培訓(xùn),合理分配項目人員,并且建立起有效的項目小組。然而,它實現(xiàn)的成功與否與組織內(nèi)部有關(guān)人員的積極參加和創(chuàng)造性活動密不可分。,CMM、PSP和TSP組成的軟件過程框架,PSP能夠指導(dǎo)軟件工程師如何保證自己的工作質(zhì)量,估計和規(guī)劃自身的工作,度量和追蹤個人的表現(xiàn),管理自身的軟件過程和產(chǎn)品質(zhì)量。經(jīng)過PSP學(xué)習(xí)和實踐的正規(guī)訓(xùn)練,軟件工程師們能夠在他們參與的項目工作之中充分運用PSP,從而有助于CMM目標(biāo)的實現(xiàn)。 TSP結(jié)合了CMM的管理方法和PSP的工程技能,通過告訴軟件工程師如何將個體過程結(jié)合進(jìn)小組軟件過程,并將后者與組織進(jìn)而整個管理系統(tǒng)相聯(lián)

51、系;通過告訴管理層如何支持和授權(quán)項目小組,堅持高質(zhì)量的工作,并且依據(jù)數(shù)據(jù)進(jìn)行項目的管理,向組織展示如何應(yīng)用CMM的原則和PSP的技能去生產(chǎn)高質(zhì)量的產(chǎn)品。,CMM、PSP和TSP組成的軟件過程框架,面向?qū)ο蟮能浖_發(fā)方法,面向?qū)ο蠹夹g(shù)是軟件技術(shù)的一次革命,在軟件開發(fā)史上具有里程碑的意義。 隨著OOP(面向?qū)ο缶幊蹋┫騉OD(面向?qū)ο笤O(shè)計)和OOA(面向?qū)ο蠓治觯┑陌l(fā)展,最終形成面向?qū)ο蟮能浖_發(fā)方法OMT(Object Modelling Technique)。這是一種自底向上和自頂向下相結(jié)合的方法,而且它以對象建模為基礎(chǔ),從而不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構(gòu),實際上也包含了所有對象的數(shù)據(jù)結(jié)構(gòu)。所以

52、OMT徹底實現(xiàn)了PAM沒有完全實現(xiàn)的目標(biāo)。不僅如此,OO技術(shù)在需求分析、可維護(hù)性和可靠性這三個軟件開發(fā)的關(guān)鍵環(huán)節(jié)和質(zhì)量指標(biāo)上有了實質(zhì)性的突破,徹底地解決了在這些方面存在的嚴(yán)重問題,從而宣告了軟件危機末日的來臨。,面向?qū)ο笳Z言,雖然面向?qū)ο蟮乃枷肟梢宰匪莸搅甏?,但是面向?qū)ο笏枷氡黄毡榻邮苓€是得益于面向?qū)ο笳Z言的功勞。 最流行:C+語言 純面向?qū)ο?:Smalltalk語言,人工智能研究語言,人工智能一直是人們長期以來的夢想,從圖靈開始,半個多世紀(jì)以來,計算機科學(xué)家們對人工智能進(jìn)行不懈的探索。 LISP表處理語言 PROGLOG語言 都不能算是真正的人工智能語言,智能組件,具有生命體的某些特征

53、,即內(nèi)部具有某種機制,使其自身的特性和功能不斷演變,成為更為強大,更具有適應(yīng)性的組件。,從受精卵到初生嬰兒的變化,遺傳基因指導(dǎo)著受精卵如何分裂,成為胚胎,成為初生的嬰兒。從受精卵到嬰兒,特性和功能已經(jīng)發(fā)生了本質(zhì)的變化。,智能組件的誕生,以軟件工具平臺為母體, 以設(shè)計資料為基因, 以存儲空間為營養(yǎng)物質(zhì), 通過內(nèi)部的運算(受精卵分裂), 最終成為應(yīng)用系統(tǒng)組件(初生的嬰兒)。,可視化開發(fā)方法,可視化開發(fā)是90年代軟件界最大的兩個熱點之一。隨著圖形用戶界面的興起,用戶界面在軟件系統(tǒng)中所占的比例也越來越大,有的甚至高達(dá)6070。產(chǎn)生這一問題的原因是圖形界面元素的生成很不方便。為此Windows提供了應(yīng)用

54、程序設(shè)計接口API(Application Programming Interface),它包含了600多個函數(shù),極大地方便了圖形用戶界面的開發(fā)。但是在這批函數(shù)中,大量的函數(shù)參數(shù)和使用數(shù)量更多的有關(guān)常量,使基于Windows API的開發(fā)變得相當(dāng)困難。為此Borland C+推出了ObjectWindows編程。它將API的各部分用對象類進(jìn)行封裝,提供了大量預(yù)定義的類,并為這些定義了許多成員函數(shù)。利用子類對父類的繼承性,以及實例對類的函數(shù)的引用,應(yīng)用程序的開發(fā)可以省卻大量類的定義,省卻大量成員函數(shù)的定義或只需作少量修改以定義子類。,可視化開發(fā)就是在可視開發(fā)工具提供的圖形用戶界面上,通過操作界面

55、元素,諸如菜單、按鈕、對話框、編輯框、單選框、復(fù)選框、列表框和滾動條等,由可視開發(fā)工具自動生成應(yīng)用軟件。 這類應(yīng)用軟件的工作方式是事件驅(qū)動。對每一事件,由系統(tǒng)產(chǎn)生相應(yīng)的消息,再傳遞給相應(yīng)的消息響應(yīng)函數(shù)。這些消息響應(yīng)函數(shù)是由可視開發(fā)工具在生成軟件時自動裝入的。,可視化開發(fā)方法,UML 設(shè)計,組織機構(gòu)設(shè)計,業(yè)務(wù)過程設(shè)計,數(shù)據(jù)模型設(shè)計,應(yīng)用系統(tǒng)生成,軟件復(fù)用技術(shù),軟件復(fù)用是指重復(fù)使用“為了復(fù)用目的而設(shè)計的軟件”的過程 。相應(yīng)地,可復(fù)用軟件是指為了復(fù)用目的而設(shè)計的軟件。與軟件復(fù)用的概念相關(guān),重復(fù)使用軟件的行為還可能是重復(fù)使用“并非為了復(fù)用目的而設(shè)計的軟件”的過程,或在一個應(yīng)用系統(tǒng)的不同版本間重復(fù)使用代

56、碼的過程,這兩類行為都不屬于嚴(yán)格意義上的軟件復(fù)用。,軟件復(fù)用技術(shù)發(fā)生在三個維上,在軟件演化的過程中,重復(fù)使用的行為可能發(fā)生在三個維上: 時間維:使用以前的軟件版本作為新版本的基礎(chǔ),加入新功能,適應(yīng)新需求,即軟件維護(hù)。 平臺維:以某平臺上的軟件為基礎(chǔ),修改其和運行平臺相關(guān)的部分,使其運行于新平臺,即軟件移植。 應(yīng)用維:將某軟件(或其中構(gòu)件)用于其他應(yīng)用系統(tǒng)中,新系統(tǒng)具有不同功能和用途,即真正的軟件復(fù)用。 這三種行為中都重復(fù)使用了現(xiàn)有的軟件,但是,真正的復(fù)用是為了支持軟件在應(yīng)用維的演化,使用“為復(fù)用而開發(fā)的軟件(構(gòu)件)”來更快、更好地開發(fā)新的應(yīng)用系統(tǒng)。,分析傳統(tǒng)產(chǎn)業(yè)的發(fā)展,其基本模式均是符合標(biāo)準(zhǔn)的

57、零部件(構(gòu)件)生產(chǎn)以及基于標(biāo)準(zhǔn)構(gòu)件的產(chǎn)品生產(chǎn)(組裝),其中,構(gòu)件是核心和基礎(chǔ),“復(fù)用”是必需的手段。實踐表明,這種模式是產(chǎn)業(yè)工程化、工業(yè)化的必由之路。標(biāo)準(zhǔn)零部件生產(chǎn)業(yè)的獨立存在和發(fā)展是產(chǎn)業(yè)形成規(guī)模經(jīng)濟的前提。機械、建筑等傳統(tǒng)行業(yè)以及年輕的計算機硬件產(chǎn)業(yè)的成功發(fā)展均是基于這種模式并充分證明了這種模式的可行性和正確性。這種模式是軟件產(chǎn)業(yè)發(fā)展的良好借鑒,軟件產(chǎn)業(yè)要發(fā)展并形成規(guī)模經(jīng)濟,標(biāo)準(zhǔn)構(gòu)件的生產(chǎn)和構(gòu)件的復(fù)用是關(guān)鍵因素。這正是軟件復(fù)用受到高度重視的根本原因。,軟件復(fù)用技術(shù),軟件復(fù)用可以從多個角度進(jìn)行考察。依據(jù)復(fù)用的對象,可以將軟件復(fù)用分為產(chǎn)品復(fù)用和過程復(fù)用。產(chǎn)品復(fù)用指復(fù)用已有的軟件構(gòu)件,通過構(gòu)件集成

58、(組裝)得到新系統(tǒng)。過程復(fù)用指復(fù)用已有的軟件開發(fā)過程,使用可復(fù)用的應(yīng)用生成器來自動或半自動地生成所需系統(tǒng)。過程復(fù)用依賴于軟件自動化技術(shù)的發(fā)展,目前只適用于一些特殊的應(yīng)用領(lǐng)域。產(chǎn)品復(fù)用是目前現(xiàn)實的、主流的途徑。,軟件復(fù)用技術(shù),軟件工程回顧,軟件的概念、特點和分類 軟件工程 概述 軟件工程框架 軟件生存周期 軟件開發(fā)模型 軟件配置管理 配置管理項 配置管理庫 質(zhì)量要求 管理規(guī)程 工具 軟件測試 測試目的 軟件測試技術(shù) 軟件測試工作規(guī)程 測試組織 , CMM , PSP, TSP,第二講 信息應(yīng)用系統(tǒng)監(jiān)理工作,在本講中您能了解如下知識點: 信息工程應(yīng)用系統(tǒng)建設(shè)監(jiān)理的意義 監(jiān)理的目標(biāo)和內(nèi)容 應(yīng)用軟件建

59、設(shè)的質(zhì)量控制 應(yīng)用軟件建設(shè)的進(jìn)度控制 應(yīng)用軟件建設(shè)的投資控制,信息工程應(yīng)用系統(tǒng)建設(shè)監(jiān)理的意義,國家在此方面投入了大量的社會資源??倲埲?,國內(nèi)信息化建設(shè)取得了大量的成績,但也存在著問題和隱患。 目前國內(nèi)信息應(yīng)用系統(tǒng)建設(shè)項目的開發(fā)方式主要有四種:獨立開發(fā)、委托開發(fā)、合作開發(fā),購買商業(yè)化軟件進(jìn)行二次開發(fā)。隨著社會的發(fā)展,社會分工的進(jìn)一步細(xì)化,委托開發(fā)、合作開發(fā)、二次開發(fā)逐漸成為信息工程應(yīng)用系統(tǒng)建設(shè)項目開發(fā)的主要工作模式。對于這三種開發(fā)方式,必然存在一個項目組負(fù)責(zé)具體工作,而在這個項目組內(nèi),則存在著代表兩個利益主體的成員,一方主要表現(xiàn)為業(yè)務(wù)支持人員(甲方),另一方主要表現(xiàn)為系統(tǒng)開發(fā)人員(乙方)。,信息量互不對稱性:甲方人員存在著信息技術(shù)的弱勢;乙方存在著業(yè)務(wù)信息的弱勢。由于雙方在技術(shù)和業(yè)務(wù)上存在著的信息互不對稱性,因此就很有可能出現(xiàn)通過損害對方而使己方受益的情況。 信息管理的互不對稱性:甲方存在信息管理的滯后現(xiàn)象,;乙方在對業(yè)務(wù)流程信息的管理方面存在缺陷,這也會對工程建設(shè)造成很大的影響。,信息工程應(yīng)用系統(tǒng)建設(shè)監(jiān)理的意義,鑒于目前信息工程應(yīng)用系統(tǒng)建設(shè)中甲乙雙方信息互不對稱性的存在,因此由一個第三方來協(xié)助雙方開展工程建設(shè)工作是十分必要的,這就使得對監(jiān)理的需要變得越發(fā)迫切。國內(nèi)外成功的經(jīng)驗表明,由用戶委托

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論