




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、信息應用系統(tǒng)建設監(jiān)理課程計劃信息應用系統(tǒng)建設監(jiān)理課程計劃 第一講 信息應用系統(tǒng)建設基礎知識 第二講信息應用系統(tǒng)監(jiān)理工作 第三講準備階段的監(jiān)理工作 第四講分析設計階段監(jiān)理 第五講實施階段監(jiān)理 第六講驗收階段的監(jiān)理工作第一講 信息應用系統(tǒng)建設基礎知識在本講中在本講中您能了解如下您能了解如下知識點知識點:第一章軟件的概念、特點和分類第二章軟件工程第三章軟件配置管理第四章軟件測試第五章軟件評審第六章軟件維護第七章軟件工程標準第八章軟件開發(fā)文檔第九章軟件工業(yè)化生產(chǎn)時代的基礎技術和方法第一章 軟件的概念、特點和分類“確立并使用正確的工程原理和方法,以便能夠經(jīng)濟地獲得可靠而有效的軟件”。 Friedrich
2、 I. Bauer軟件的概念軟件是與計算機系統(tǒng)的操作有關的程序、規(guī)程、規(guī)則及與之有關的文檔。軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關文檔的完整集合。其中,程序是按事先設計的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā),維護和使用有關的圖文材料。軟件的構(gòu)成要素1、程序2、規(guī)程3、規(guī)則4、文檔軟件的特點具有抽象性、嚴密性、“一次性”、智能性、持久性、依賴性、復雜性、難以度量、易出錯、必須維護、成本昂貴等特點。(1) 軟件是一種邏輯實體,具有抽象性。(2) 對軟件的質(zhì)量控制:必須著重在軟件開發(fā)方面下功夫。(3) 軟件沒有老化問題:
3、然而它存在退化問題。(4) 軟件的開發(fā)和運行存在:移植的問題。(5) 軟件的開發(fā)方式:手工。(6) 軟件本身是復雜的:實際問題,程序邏輯結(jié)構(gòu)所決定的。(7) 軟件成本昂貴:投入大量、復雜、高強度的腦力勞動。源程序、執(zhí)行程序 高級語言源程序經(jīng)編譯后,得到的目標模塊還需進行連接。連接程序(即Linker)找出需要連接的外部模塊并到模塊庫中找出被調(diào)用的模塊,調(diào)入內(nèi)存并連接到目標模塊上,形成可執(zhí)行程序。源程序.C目標程序.obj可執(zhí)行程序.exe結(jié)果編譯連接執(zhí)行軟件的分類方法按軟件的功能進行劃分:按軟件的功能進行劃分:系統(tǒng)軟件 支撐軟件 應用軟件在信息系統(tǒng)工程建設中,系統(tǒng)軟件和支撐軟件通常為外購軟件,
4、應用軟件通常為承建單位自主開發(fā)或分包開發(fā)的軟件。按軟件服務對象的范圍劃分:按軟件服務對象的范圍劃分:項目軟件 產(chǎn)品軟件 按軟件規(guī)模進行劃分:按軟件規(guī)模進行劃分:按開發(fā)軟件所需的人力、時間以及完成的源程序行數(shù),可確定六種不同規(guī)模的軟件。按軟件工作方式劃分:按軟件工作方式劃分:實時處理軟件 分時軟件 交互式軟件 批處理軟件按使用的頻度進行劃分:按使用的頻度進行劃分:一次使用 較高的使用頻度按軟件失效的影響進行劃分:按軟件失效的影響進行劃分:影響不大 影響釀成災難性后果 類別類別參加人數(shù)參加人數(shù)研制期限研制期限產(chǎn)品規(guī)模(源程序行數(shù))產(chǎn)品規(guī)模(源程序行數(shù))微型114周0.5k小型116月1k2k中型2
5、512年5k50k大型52023年50k100k甚大型100100045年1M(=1000k)極大型 20005000510年1M10M軟件規(guī)模的分類軟件規(guī)模的分類軟件的分類方法按技術特點的角度進行劃分:按技術特點的角度進行劃分:業(yè)務軟件:處理日常業(yè)務,已成為管理信息系統(tǒng)MIS科技計算軟件: 注重數(shù)值算法的速度和精度。目前轉(zhuǎn)向多機協(xié)作計算、并行計算、可視計算等嵌入式(embeded)軟件:使工業(yè)產(chǎn)品自動化、智能化實時(real-time)軟件多用于工業(yè)控制系統(tǒng)個人計算機軟件: 字處理、報表、制圖、多媒體寫作、娛樂游戲、個人數(shù)據(jù)庫、個人財務、聯(lián)機上網(wǎng)等人工智能軟件:以非數(shù)值算法解題,一般有一知識
6、庫存放知識和規(guī)則。 軟件工程是一類求解軟件的系統(tǒng)工程的派生,軟件工程是一門交叉性學科。軟件工程這一概念,主要是針對20世紀60年代“軟件危機”而提出的。其主要成果有:提出了瀑布模型,開發(fā)了一些結(jié)構(gòu)化程序設計語言、結(jié)構(gòu)化方法等。并且圍繞項目管理提出了費用估算、文檔復審等方法和工具第二章 軟件工程概述 70年代初,自“軟件工廠”這一概念提出以來,其主要成果有:提出了應用廣泛的面向?qū)ο笳Z言以及相關的面向?qū)ο蠓椒āS绕涫墙鼛啄陙恚槍浖陀眉败浖a(chǎn),軟件構(gòu)件技術以及軟件質(zhì)量控制技術、質(zhì)量保證技術得到了廣泛的應用。軟件工廠軟件工程框架 軟件工程的框架是由軟件工程目標、軟件工程活動和軟件工程原則三個方
7、面的內(nèi)容組成。由上圖可以看出軟件工程可定義為三元組:目標,原則,活動 其中目標定義為: 正確性:軟件產(chǎn)品達到預期功能的程度。 可用性:軟件基本結(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。 開銷適宜性:軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這三方面的特性決定了軟件過程、過程模型和工程方法的選擇。軟件工程目標軟件工程目標選取適宜開發(fā)范型。對需求定義的易變性,采用適宜的開發(fā)范型予以控制,以保證軟件產(chǎn)品滿足用戶的要求。采用合適的設計方法。合適的設計方法有助于這些特征的實現(xiàn),以達到軟件工程的目標。提供高質(zhì)量的工程支持。在軟件工程中,軟件工具與環(huán)境對軟件過程的支持頗為重要。重視開發(fā)過程的管理。當軟件過程得以有
8、效管理時,才能實現(xiàn)有效的軟件工程。軟件工程原則軟件工程活動是“生產(chǎn)一個最終滿足需求且達到工程目標的軟件產(chǎn)品所需要的步驟”。主要包括需求、設需求、設計、實現(xiàn)、確認計、實現(xiàn)、確認以及支持支持等5個個活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義。需求分析生成功能規(guī)約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟件體系結(jié)構(gòu)。詳細設計產(chǎn)生程序員可用的模塊說明。實現(xiàn)活動CODING AND TESTING。確認活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認,保證最終產(chǎn)品滿足用戶的要求。1.支持活動包括修改和完善。維護。軟件工程活動 需求需求:定義問題,即建立系統(tǒng)模型,主要任務包括: 需求
9、獲取需求定義,系統(tǒng)功能的一個正確的陳述 需求規(guī)約系統(tǒng)需求規(guī)格說明,其主要成分:系統(tǒng)模型、系統(tǒng)功能的一個精確、系統(tǒng)的描述及需求驗證 。設計設計:在需求分析的基礎上,給出系統(tǒng)的軟件解決方案。 1)總體設計: 系統(tǒng)的軟件體系結(jié)構(gòu) 2)詳細設計: 針對總體設計結(jié)果,給出每一構(gòu)件的詳細描述。實現(xiàn)實現(xiàn):選擇可用的構(gòu)件或語言,對每一構(gòu)件進行編碼。確認確認:貫穿軟件開發(fā)的整個過程,主要任務是:軟件測試。支持支持:完善性維護、糾錯性維護。軟件工程流程開始需求訪談系統(tǒng)分析系統(tǒng)設計程序撰寫系統(tǒng)測試系統(tǒng)保固維護結(jié)束產(chǎn)品評估產(chǎn)品評估階段項目規(guī)劃階段系統(tǒng)分析階段軟件設計階段軟件品保階段(一)程序撰寫與單元測試階段軟件品保
10、階段(二)整合測試階段軟件品保階段(三)產(chǎn)品開發(fā)階段產(chǎn)品開發(fā)階段產(chǎn)品開發(fā)項目流程產(chǎn)品開發(fā)項目流程產(chǎn)品開發(fā)工作規(guī)劃統(tǒng)計技術統(tǒng)計技術應用階段服務階段系統(tǒng)維護階段問題追蹤與矯正階段軟件生存周期 軟件生存周期是“從設計軟件產(chǎn)品開始到軟件產(chǎn)品不能再使用為止的時間周期。軟件生存周期典型地包括項目計劃階段,需求階段,設計階段、實現(xiàn)階段、測試階段、安裝和驗收階段、運行和維護階段,有時還包括引退階段。 確定要開發(fā)軟件系統(tǒng)的總目標,給出它的功能、性能、可靠性及接口等方面的要求;根據(jù)有關成本與進度的限制分析項目的可行性,探討解決問題的可能方案;制定完成開發(fā)任務的實施計劃,連同可行性研究報告,提交管理部門審查。軟件項
11、目計劃 需求分析和定義方式:需求明確的:用正式的信息域分析,可用于建立信息流和信息結(jié)構(gòu)的模型,然后逐漸擴充這些模型成為軟件的規(guī)格說明。需求非明確:用軟件原型化方法,即建立軟件原型,并由用戶進行評價,從而確定軟件需求。編寫出軟件需求說明書及初步的用戶手冊,提交管理機構(gòu)評審。軟件需求分析 概要設計,把已確定了的各項需求轉(zhuǎn)換成一個相應的體系結(jié)構(gòu),以結(jié)構(gòu)設計和數(shù)據(jù)設計開始,建立程序的模塊結(jié)構(gòu),定義接口并建立數(shù)據(jù)結(jié)構(gòu)。此外,要使用一些設計準則來判斷軟件的質(zhì)量。詳細設計,考慮設計每一個模塊部件的過程描述,對每個模塊要完成的工作進行具體的描述。編寫設計說明書,提交評審。軟件設計分為概要設計和詳細設計 系統(tǒng)設
12、計是把需求轉(zhuǎn)化為軟件系統(tǒng)的最重要的環(huán)節(jié)。系統(tǒng)設計的優(yōu)劣在根本上決定了軟件系統(tǒng)的質(zhì)量。就象“一切帝國主義都是紙老虎”那樣可以斷定“差的系統(tǒng)設計必定產(chǎn)生差的軟件系統(tǒng)。”所以我們要努力保證系統(tǒng)設計“根正苗紅”,把一切左傾、右傾的設計思潮消滅在萌芽狀態(tài)。保證系統(tǒng)設計“根正苗紅” Windows NT的一位系統(tǒng)設計師擁有8輛法拉利跑車,讓Microsoft公司的一些程序員十分眼紅。但你只能羨慕而不能憤恨,因為并不是每個程序員都有本事成為復雜軟件系統(tǒng)的設計師。系統(tǒng)設計要比純粹的編程困難得多。即便你清楚客戶的需求,卻未必知道應該設計什么樣的軟件系統(tǒng)既能掙最多的錢又能讓客戶滿意。神氣的軟件設計師用一種適當?shù)某?/p>
13、序設計語言把軟件設計轉(zhuǎn)換成計算機可以接受的程序代碼。應當就風格及清晰性對代碼進行評審,而且反過來應能直接追溯到詳細設計描述。程序編碼軟件測試軟件測試 軟件測試的主要任務是發(fā)現(xiàn)并排除在軟件需求分析、設計和實現(xiàn)階段產(chǎn)生的各種錯誤,以保證交付軟件的質(zhì)量。 軟件測試目的是“在一定的開發(fā)時間和經(jīng)費的限制下,通過執(zhí)行有限個測試過程,盡可能多的發(fā)現(xiàn)軟件中的錯誤。單元測試檢查每一單獨的模塊部件的功能和性能。組裝測試提供了構(gòu)造軟件模塊結(jié)構(gòu)的手段,同時測試其功能和接口。確認測試檢查所有的需求是否都得到滿足。在每一個測試步驟之后,要進行調(diào)試,以診斷和糾正軟件的故障。軟件測試軟件測試的基本原則軟件測試的基本原則1、程
14、序員或程序設計機構(gòu)不應測試自己設計的程序2、在設計測試用例時,不僅要確定輸入數(shù)據(jù),還要確定預期的輸出結(jié)果3、在設計測試用例時,不僅要考慮合理的輸入數(shù)據(jù),還要考慮不合理的輸入數(shù)據(jù)。4、除了檢查程序是否做了它應當做的事情之外,還應檢查它是否做了不應當做的事5、應保留所有的測試用例,以便軟件維護和回歸測試6、模塊中存在錯誤的概率與已發(fā)現(xiàn)的錯誤數(shù)成正比7、嚴格執(zhí)行測試計劃,排除測試的隨意性例:例:Outlook溢出溢出 起源于vCard(一種電子名片) Outlook直接打開并運行附件中的vCards而不提示用戶 vCards存儲于.vcf文件中,也是沒有提示而直接運行的 當vCards的生日字段(B
15、DAY)超過55字符時,就會出現(xiàn)溢出 對策:應用IE 5.5 sp2已交付的軟件投入正式使用,并在運行已交付的軟件投入正式使用,并在運行過程中進行適當?shù)木S護。為改正錯誤,過程中進行適當?shù)木S護。為改正錯誤,適應環(huán)境變化及功能增強而進行的一系適應環(huán)境變化及功能增強而進行的一系列修改活動。與軟件維護相關聯(lián)的那些列修改活動。與軟件維護相關聯(lián)的那些任務依賴于所要實施的維護的類型。任務依賴于所要實施的維護的類型。運行維護 軟件開發(fā)模型是軟件建設過程的結(jié)構(gòu)框架。 軟件開發(fā)的承建單位必須首先制定出適宜的開發(fā)策略和軟件工程模型,以便對要交付的軟件的開發(fā)過程實施有效的控制和管理。監(jiān)理單位應該根據(jù)承建單位選定的模型
16、制定自己的監(jiān)理策略。 承建單位可根據(jù)軟件開發(fā)項目的具體情況選擇采用何種開發(fā)策略、方法和模型,并要在有關文檔中(例如在“項目開發(fā)計劃”中)對所采用的軟件工程方法與模型加以說明。軟件開發(fā)模型計劃需求分析設計編碼測試運行.維護開發(fā)階段維護階段定義階段規(guī)定了各項軟件工程活動,包括:制定開發(fā)計劃,進行需求分析和說明,軟件設計,程序編碼.測試及運行維護,并且規(guī)定了它們自上而下,相互銜接的固定次序,如同瀑布流水,逐級下落 瀑布模型瀑布式生存周期模型系統(tǒng)分析軟件需求分析概要設計詳細設計編程與測試測 試使用維護用戶需要硬件需求分析系統(tǒng)規(guī)格說明書,可行性分析報告軟件規(guī)格說明書,軟件項目計劃,初步用戶手冊概要設計說
17、明書設計說明書,測試大綱模塊測試報告,源程序文檔各種測試報告退役 軟件開發(fā)的實踐表明,上述各項活動之間并非完全是自上而下,呈線性圖式。實際情況是,每項開發(fā)活動均處于一個質(zhì)量環(huán)(輸入-處理-輸出-評審)中。只有當其工作得到確認,才能繼續(xù)進行下一項活動 瀑布模型的開發(fā)策略是要求軟件開發(fā)組織在進行軟件開發(fā)時,要嚴格劃分開發(fā)過程的每一個階段,并根據(jù)工程化的有關規(guī)定,在“軟件開發(fā)計劃”及“軟件質(zhì)量保證計劃”中反映每個階段的活動。對每階段的工作要進行認真的評審。只有在某個階段的目標確實達到后,才能進入下一階段的工作。 瀑布模型為軟件開發(fā)和軟件維護提供了一種理想情況下的管理模式,從理論上講,對需求能嚴格地進
18、行預先定義的軟件開發(fā)項目是合適和有效的。然而在軟件工程實踐中,這一開發(fā)策略一旦遇到與假設不相符合的情況,就容易導致失敗。盡管如此,該模型仍不失為一個很好的基準模型。事實上,在今天的軟件工程實踐中常常都是以瀑布模型為基礎綜合采用其它各種模型的優(yōu)點,以改善軟件開發(fā)過程對現(xiàn)實情況的適應性。 瀑布模型原型模型也稱演化模型,此方法主要針對所要開發(fā)的系統(tǒng)的需求不是很清楚,需要一個可實際運行的工作演示系統(tǒng),即原型,作為軟件開發(fā)人員和用戶學習、研究、試驗和確定軟件需求的工作平臺。原型模型又可細分為增量模型和漸進模型。原型模型快速分析。快速確定軟件系統(tǒng)的基本要求。構(gòu)造原型。盡快實現(xiàn)一個可運行的系統(tǒng)。運行和評價原
19、型。驗證原型的正確程度,根據(jù)用戶的新設想,提出全面的修改意見。修正和改進。首先修改并確定需求規(guī)格說明,然后再重新構(gòu)造或修改原型。判定原型是否完成。如果用戶認可,迭代過程可以結(jié)束。否則,繼續(xù)迭代。判斷原型細部是否說明。原型細部的說明。判定原型效果。1.整理原型和提供文檔。原型化開發(fā)方法步驟對于需求不能很快全部明確的系統(tǒng),軟件開發(fā)項目難于做到一次開發(fā)成功,可使用此模型。此時,應盡可能明確已知的軟件需求,完成相應的需求分析,并按瀑布模型的方法進行第一次開發(fā)工作。在系統(tǒng)集成時,通過實驗找出需求中的欠缺和不足之處,明確那些未知的軟件需求,再迭代進行增加部分的需求分析和開發(fā)。對有些系統(tǒng)這種反復可能要進行幾
20、次,但盡可能不要超過兩次,否則難以控制軟件的結(jié)構(gòu)規(guī)模、開發(fā)質(zhì)量和進度。增量模型此模型主要是針對部分需求盡管明確但一時難以準確進行定義的系統(tǒng)設計。如:用戶的操作界面等。使用此模型時,可以先做初步的需求分析,之后立即進行設計和編碼,隨后與系統(tǒng)進行第一次集成(不作或少作測試)。根據(jù)集成后反映的問題,進一步做更全面的需求分析、設計、編碼、測試和集成漸進模型對于復雜的大型軟件,開發(fā)一個原型往往達不到要求。螺旋模型將瀑布模型與演化模型結(jié)合起來,并且加入兩種模型均忽略了的風險分析。螺旋模型沿著螺線旋轉(zhuǎn),如下圖所示,在笛卡爾坐標的四個象限上分別表達了四個方面的活動,即:制定計劃確定軟件目標,選定實施方案,弄清
21、項目開發(fā)的限制條件;風險分析分析所選方案,考慮如何識別和消除風險;實施工程實施軟件開發(fā)客戶評估評價開發(fā)工作,提出修正建議。1.沿螺線自內(nèi)向外每旋轉(zhuǎn)一圈便開發(fā)出更為完善的一個新的軟件版本。螺旋模型 螺旋模型 螺旋模型是軟件開發(fā)的高級策略,它不僅適合結(jié)構(gòu)化方法而且更適合面向?qū)ο蠓椒āK膶嵤浖_發(fā)組織的工作模式、人員素質(zhì)、管理和技術水平產(chǎn)生深遠的影響,是最有前途的過程模型之一。(適用于產(chǎn)品開發(fā))螺旋模型 噴泉模型對軟件復用和生存周期中多項開發(fā)活動的集成提供了支持,主要支持面向?qū)ο蟮拈_發(fā)方法。“噴泉”一詞本身體現(xiàn)了迭代和無間隙特性。系統(tǒng)某個部分常常重復工作多次,相關功能在每次迭代中隨之加入演進
22、的系統(tǒng)。所謂無間隙是指在開發(fā)活動,即分析、設計和編碼之間不存在明顯的邊界 噴泉模型 配置管理項配置管理項在軟件生存周期內(nèi)所產(chǎn)生的各種管理文檔和技術文檔、源代碼列表,及其可執(zhí)行代碼,以及運行所需的各種數(shù)據(jù),構(gòu)成軟件配置管理項。配置管理庫配置管理庫各系統(tǒng)應在其所屬各級中建立下列各庫:開發(fā)庫(DL) 通常,開發(fā)庫可僅在項目開發(fā)組內(nèi)設立,并由其負責維護。受控庫(CL) 通常,受控庫以軟件配置項為單位建立并維護。產(chǎn)品庫(PL 通常,產(chǎn)品庫可在系統(tǒng)、子系統(tǒng)級上設立并維護。各類庫中應存放哪些軟件成分,應視所開發(fā)軟件的實際情況酌定。 第三章 軟件配置管理 質(zhì)量要求質(zhì)量要求軟件配置管理項是該軟件的真正實質(zhì)性材料
23、,因此必須保持正確性、完備性和可追蹤性;任何軟件配置管理項都必須做到“文實相符、文文一致”。以滿足“有效性”、“可見性”和“可控性”要求。 管理規(guī)程管理規(guī)程軟件配置項不論大小都必須實施軟件配置管理。但所管軟件實體的多少,實施控制的方式和投入人力多少則與軟件配置項的規(guī)模等級、安全性關鍵等級,以及風險大小有關。必須指出,對于安全性關鍵等級為A、B級的軟件配置項的管理必須從嚴。每個計算機系統(tǒng)均應制定軟件配置管理規(guī)程,至少應明確規(guī)定:各級、各庫中所管的軟件實體的清單;保證安全性、可靠性、保密性、正確性、完備性、一致性和可追蹤性的具體措施;入庫控制辦法和審批手續(xù);出庫條件及其必備的手續(xù);變更控制辦法和審
24、批手續(xù)。工具工具為了嚴格、有效地實施軟件配置管理,承建單位應使用軟件配置管理工具,以滿足上述質(zhì)量要求。(VSS)第三章 軟件配置管理第四章 軟件測試 測試目的測試目的: :通過測試,發(fā)現(xiàn)軟件錯誤;驗證軟件是否滿足軟件需求規(guī)格說明和軟件設計所規(guī)定的功能、性能及其軟件質(zhì)量特性的要求;為軟件質(zhì)量的評價提供依據(jù)。 軟件測試技術軟件測試技術: :雖然軟件測試技術在不斷地發(fā)展,但傳統(tǒng)的分類方法仍然適用。按使用的測試技術不同可以將測試分為:靜態(tài)測試:靜態(tài)分析和代碼審查1. 動態(tài)測試:白盒測試和黑盒測試。 靜態(tài)分析主要對程序進行控制流分析、數(shù)據(jù)流分析、接口分析和表達式分析等。靜態(tài)分析一般由計算機輔助完成。目前
25、具備靜態(tài)分析功能的軟件測試工具有很多。 白盒測試是一種按照程序內(nèi)部的邏輯結(jié)構(gòu)和編碼結(jié)構(gòu)設計并執(zhí)行測試用例的測試方法。根據(jù)覆蓋準則使程序中的每個語句、每個條件分支、每個控制路徑都在程序測試中受到檢驗。主要以LOG。 黑盒測試是一種著重于驗證軟件功能和性能的正確性,它的典型測試項目包括功能測試、性能測試、邊界測試、余量測試、強度測試等。軟件測試方式l制定“軟件測試計劃”。l編寫“軟件測試說明”。對各測試用例所需的測試環(huán)境、測試軟件的準備工作給予說明。對于軟件安全性關鍵等級為A、B級或軟件規(guī)模等級為A、B級的軟件,軟件開發(fā)單位必須組織此測試階段的準備就緒評審,以審查測試用例、環(huán)境、測試軟件、測試工具
26、等準備工作是否全面、到位。l測試用例設計要求:測試用例的設計應包括該測試用例的測試過程、測試輸入數(shù)據(jù)、期望測試結(jié)果和評價測試結(jié)果的標準等;l測試用例的輸入應包括合理的(有效等價類)值、不合理的(無效等價類)值和邊界值輸入;l為每個測試用例規(guī)定測試規(guī)程,包括運行測試用例的準備、初始化、中間步驟、前提和約束;軟件測試工作規(guī)程 l 把全部測試用例寫入“軟件測試說明”。l 執(zhí)行軟件測試。按照“軟件測試計劃”和“軟件測試說明”對軟件進行測試。在測試過程中,應填寫“軟件測試記錄”。如果發(fā)現(xiàn)軟件問題,應填寫“軟件問題報告單”。測試記錄包括測試的時間、地點、操作人、參加人、測試輸入數(shù)據(jù)、期望測試結(jié)果、實際測試
27、結(jié)果及測試規(guī)程等。l 編制“軟件測試報告”。具體的軟件測試工作完成之后,依照“軟件測試計劃”、“軟件測試說明”、“軟件測試記錄”對測試結(jié)果進行統(tǒng)計、分析和評估,在此基礎上編制“軟件測試報告”。l 修正軟件測試過程中發(fā)現(xiàn)的問題。修正軟件問題要有受控措施,應先填寫“軟件變更變更報告單”,在得到同意的答復之后進行軟件的修改(包括軟件文檔、程序和數(shù)據(jù)的全面修改),修改完成之后,必須進行回歸測試。l 軟件測試階段評審:測試階段工作全部完成之后,應組織本測試階段的評審。軟件測試工作規(guī)程在軟件生存周期各階段應開展的軟件測試活動軟件測試應由獨立于軟件設計開發(fā)的人員進行,根據(jù)軟件項目的規(guī)模等級和安全性關鍵等級,
28、軟件測試可由不同機構(gòu)組織實施。軟件單元測試由承建單位自行組織,一般由軟件開發(fā)組實施測試。軟件集成測試由承建單位自行組織,軟件開發(fā)組和軟件測試組聯(lián)合實施測試。軟件確認測試由承建單位自行組織,軟件測試組實施測試。1.系統(tǒng)測試應由業(yè)主單位組織,成立聯(lián)合測試組(一般由專家組、業(yè)主單位、軟件評測單位、承建單位等聯(lián)合組成測試組)實施測試。測試組織承建單位在測試過程中應編制“軟件問題報告”和“軟件變更報告”, 描述在配置控制下的軟件或文檔中發(fā)現(xiàn)的各種問題。“軟件問題報告”和“軟件變更報告”應描述必需的糾錯工作和解決問題所進行的各項活動。軟件問題報告和軟件變更報告承建單位應建立和實施糾錯工作規(guī)程, 以便處理在
29、配置控制下和按產(chǎn)品合同要求進行軟件開發(fā)活動中發(fā)現(xiàn)的問題。糾錯工作規(guī)程應遵照軟件配置管理執(zhí)行。糾錯工作過程第五章 軟件評審評審目的評審目的軟件評審是為了使軟件開發(fā)按軟件工程提出的過程循序進行,在各研制階段結(jié)束時,檢查該階段的工作是否完成,所提交的軟件階段產(chǎn)品是否達到了規(guī)定的質(zhì)量和技術要求,決定是否可以轉(zhuǎn)入下一階段研制工作。內(nèi)部評審對每個軟件的每個開發(fā)階段都要進行;外部評審在內(nèi)部評審的基礎上進行。一般情況下,軟件需求分析、概要設計、確認測試和系統(tǒng)測試階段應進行外部評審。軟件評審提出評審申請承建單位在本階段工作完成并通過內(nèi)部評審后,至少提前十天提出外部評審申請。同時將評審文檔及資料交給軟件專家組成員
30、進行審查。成立評審組織成立評審委員會。宣布評審委員會的組成成員和參加審查組的軟件專家組成員。評審委員會成員一般應包括:軟件專家組成員(占評審委員會總?cè)藬?shù)的50% 以上);質(zhì)量管理人員;科研計劃管理人員;開發(fā)組成員;1. 業(yè)主單位代表。外部評審的步驟審查組由軟件專家組成;參加同一個項目的軟件專家組成員應相對穩(wěn)定。審查組成員組成及要求 評審結(jié)論評審結(jié)論 評審小組寫出結(jié)論提交專家組.專家組審查結(jié)論專家組審查結(jié)論專家組審查結(jié)論分為:通過和不通過,并以此向評審委員會提出建議。通過情況下,承建單位對提出的軟件問題要限期修改,修改情況由軟件專家組負責人同意簽字后可轉(zhuǎn)入下一階段工作。不通過情況下,對提出的問題
31、由承建單位重新做工作后,再提出評審申請進行復審。在復審通過前不能轉(zhuǎn)入下一階段工作。復審的步驟與外部評審相同。 軟件評審第六章 軟件維護軟件維護是軟件產(chǎn)品交付使用后,為糾正錯誤或改進性能與其他屬性,或使軟件產(chǎn)品適應改變了的環(huán)境而進行的修改活動。軟件維護一般分為糾錯性維護、適應性維護和完善性維護三種類型。糾錯性維護糾正在開發(fā)階段產(chǎn)生而在測試和驗收過程沒有發(fā)現(xiàn)的錯誤。其主要內(nèi)容包括:設計錯誤;程序錯誤;數(shù)據(jù)錯誤;1. 文檔錯誤。為適應軟件運行環(huán)境改變而作的修改。環(huán)境改變的主要內(nèi)容包括:影響系統(tǒng)的規(guī)則或規(guī)律的變化;硬件配置的變化,如機型、終端、外部設備的改變等;數(shù)據(jù)格式或文件結(jié)構(gòu)的改變;1. 軟件支持
32、環(huán)境的改變,如操作系統(tǒng),編譯器或?qū)嵱贸绦虻淖兓取_m應性維護完善性維護為擴充功能或改善性能而進行的修改。修改方式有插入、刪除、擴充和增強等。主要內(nèi)容包括:為擴充和增強功能而作的修改,如擴充解題范圍和算法優(yōu)化等;為改善性能而作的修改,如提高運行速度、節(jié)省存貯空間等;1.為便于維護而作的修改,如為了改進易讀性而增加一些注釋等。軟件維護第七章 軟件工程標準在開發(fā)一個軟件時,需要有許多層次、不同分工的人員相互配合;在開發(fā)項目的各個部分以及各開發(fā)階段之間也都存在著許多聯(lián)系和銜接問題。如何把這些錯綜復雜的關系協(xié)調(diào)好,需要有一系列統(tǒng)一的約束和規(guī)定。在軟件開發(fā)項目取得階段成果或最后完成時,還需要進行階段評審和
33、驗收測試。投入運行的軟件,其維護工作中遇到的問題又與開發(fā)工作有著密切的關系。軟件的管理工作則滲透到軟件生存期的每一個環(huán)節(jié)。所有這些都要求提供統(tǒng)一的行為規(guī)范和衡量準則,使得各種工作都能有章可循。與軟件相關的各種標準與軟件相關的各種標準(1)網(wǎng)絡協(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ù)軟件工程標準制定的機構(gòu)和標準適用的范圍有所不同,它可分為五個級別,即國際標準、國家標準、行業(yè)標準、企業(yè)(機構(gòu))標準及項目(課題)標準。以下分別對五級標準
34、的標識符和標準制定(或批準)的機構(gòu)做一簡要說明:軟件工程標準的層次 由國際聯(lián)合機構(gòu)制定和公布,提供各國參考的標準。如ISO(International Standards Organization)國際標準化組織。這一國際機構(gòu)有著廣泛的代表性和權威性,它所公布的標準也有較大的影。1960年代初,該機構(gòu)建立了“計算機與信息處理技術委員會”, 簡稱ISOTC97,專門負責與計算機有關的標準化工作。這一標準通常冠有ISO字樣,如ISO 863186 Information processingprogram constructs and conventions for their represent
35、ation信息處理程序構(gòu)造及其表示法的約定。該標準現(xiàn)已由中國收入國家標準。國際標準 由政府或國家級的機構(gòu)制定或批準,適用于全國范圍的標準,如:GB中華人民共和國國家技術監(jiān)督局是中國的最高標準化機構(gòu),它所公布實施的標準簡稱為“國標”。現(xiàn)已批準了若干個軟件工程標準。國家標準 由行業(yè)機構(gòu)、學術團體或國防機構(gòu)制定,并適用于某個業(yè)務領域的標準,如:IEEE(Institute of Electrical and Electronics Engineers)美國電氣與電子工程師學會。近年該學會專門成立了軟件標準分技術委員會(SESS),積極開展了軟件標準化活動,取得了顯著成果,受到了軟件界的關注。IEEE
36、通過的標準經(jīng)常要報請ANSI審批,使之具有國家標準的性質(zhì)。行業(yè)標準1983年5月中國原國家標準總局和原電子工業(yè)部主持成立了“計算機與信息技術標準化技術委員會”,下設十三個分技術委員會。與軟件相關的程序設計語言分委員會和軟件工程技術分委員會。中國制定和推行標準化工作的總原則是向國際標準靠攏,對于能夠在中國適用的標準一律按等同采用的方法,以促進國際交流。這里,等同采用是要使自己的標準與國際標準的技術內(nèi)容完全相同,僅稍做編輯性修改。從1983年起到現(xiàn)在,中國已陸續(xù)制定和發(fā)布了20項國家標準。這些標準可分為4類:基礎標準; 開發(fā)標準;文檔標準; 1.管理標準。軟件工程的國家標準 軟件工程標準第八章 軟
37、件開發(fā)文檔文檔的種類文檔的種類GB 8567-88 計算機軟件產(chǎn)品開發(fā)文件編制指南中規(guī)定,在軟件的開發(fā)過程中,一般地說,應該產(chǎn)生十四種文件。這十四種文件是:可行性研究報告;項目開發(fā)計劃;軟件需求說明書;數(shù)據(jù)要求說明書;概要設計說明書;詳細設計說明書;數(shù)據(jù)庫設計說明書;用戶手冊;操作手冊;模塊開發(fā)卷宗;測試計劃;測試分析報告;開發(fā)進度月報; 1. 項目開發(fā)總結(jié)報告。文檔的作用文檔的作用(1)提高軟件開發(fā)過程的可見性(2)提高開發(fā)效率(3)可作為開發(fā)人員在一定階段內(nèi)的工作成果和結(jié)束標志(4)記錄開發(fā)過程中的有關技術信息,以便協(xié)調(diào)以后的軟件開發(fā)、使用和維護(5)提供有關軟件運行、維護和培訓的信息(6
38、)便于潛在用戶了解軟件的功能、性能等各項指標軟件開發(fā)文檔第九章 軟件工業(yè)化生產(chǎn)時代的基礎技術和方法 CMM軟件過程成熟度模型概要 個體軟件過程PSP 群組軟件過程群組軟件過程TSPTSP 面向?qū)ο蟮能浖_發(fā)方法面向?qū)ο蟮能浖_發(fā)方法 可視化開發(fā)方法可視化開發(fā)方法 軟件復用技術軟件復用技術CMMCMM軟件過程成熟度模型概要軟件過程成熟度模型概要 CMM是Capability Maturity Model的英文單詞的第一字母縮寫,中文稱:軟件能力成熟度模型。 發(fā)展史1986年美國政府委托卡內(nèi)基梅隆大學軟件工程研究所(SEI)開發(fā)一套評估軟件承包商能力的方法。1987年9月發(fā)布了一套軟件過程成熟度框
39、架。1991年SEI將這套框架發(fā)展成為軟件成熟度模型,簡稱CMM,定義為CMM1.1版。1997年11月SEI完成CMM2.0版,1999年發(fā)布。 CMM將能力成熟度模型分為5個級別CMM的的5個級別個級別CMM1:初始級 企業(yè)一般不具備穩(wěn)定的軟件開發(fā)與維護的環(huán)境,軟件項目的成功取決于某些個人的技能和經(jīng)驗。CMM2:可重復級 建立了基本的軟件項目管理過程規(guī)范。項目經(jīng)理可以基于過往的項目的經(jīng)驗來計劃與管理新的項目。CMM3:定義級 已經(jīng)將管理和開發(fā)兩方面的過程文檔化、并綜合成為企業(yè)機構(gòu)的標準軟件過程。公司所有項目都可以通過裁減機構(gòu)的標準軟件過程而建立適合于本項目的過程規(guī)范。CMM4:定量管理級
40、企業(yè)對產(chǎn)品與過程建立起定量的質(zhì)量目標,同時在過程中加入規(guī)定得很清楚的連續(xù)的度量。作為企業(yè)的度量方案, 要對所有項目的重要的過程活動進行生產(chǎn)率和質(zhì)量的度量。CMM5:優(yōu)化級 整個企業(yè)將會把重點放在對過程進行不斷的優(yōu)化。企業(yè)會采取主動去找出過程的弱點與長處,以達到預防缺陷 的目標。同時,分析有關過程的有效性的資料,作出對新技術的 成本與收益的分析,以及提出對過程進行修改的建議。在介紹CMM內(nèi)容之前,首先概述一下不成熟軟件組織與成熟軟件組織的差異。在不成熟的軟件單位,軟件過程一般由實踐者及其管理者在項目進程中臨時拼湊而成,因而推遲進度和超出預算已成為慣例,產(chǎn)品質(zhì)量難以預測,有時為了滿足進度要求,常在
41、產(chǎn)品功能和質(zhì)量上做出讓步。然而,一個成熟軟件組織具有在全組織范圍內(nèi)管理軟件、開發(fā)過程和維護過程的能力,規(guī)定的軟件過程被正確無誤地通知到所有員工,工作活動均按照已規(guī)劃的過程進行。并通過可控的先導性試驗和費效分析使這些過程得到改進,對已定義過程中的所有崗位及其職責都有清楚的描述,和通過文檔與培訓使全組織有關人員對已定義的軟件過程都有很好的理解,從而使其軟件過程所導致的生產(chǎn)率和質(zhì)量能隨時間的推移得到改進。下表給出了不成熟和成熟軟件組織的比較,這種比較分析不僅是形成軟件能力成熟模型的基礎,也有利于理解該模型。CMM軟件過程成熟度模型概要 CMMCMM軟件過程成熟度模型概要軟件過程成熟度模型概要 CMM
42、的一些基本概念(1)軟件過程:人們用于開發(fā)和維護軟件及其相關過程的一系列活動,包括軟件工程活動和軟件管理活動。 (2)軟件過程能力:描述(開發(fā)組織或項目組)遵循其軟件過程能夠?qū)崿F(xiàn)預期結(jié)果的程度,它既可對整個軟件開發(fā)組織而言,也可對一個軟件項目而言。 (3)軟件過程性能:表示(開發(fā)組織或項目組)遵循其軟件過程所得到的實際結(jié)果,軟件過程性能描述的是已得到的實際結(jié)果,而軟件過程能力則描述的是最可能的預期結(jié)果,它既可對整個軟件開發(fā)組織而言,也可對一個特定項目而言。 (4)軟件過程成熟:一個特定軟件過程被明確和有效地定義,管理測量和控制的程度。(5)軟件能力成熟度等級:軟件開發(fā)組織在走向成熟的途中幾個具
43、有明確定義的表示軟件過程能力成熟度的平臺。(6)關鍵過程域:每個軟件能力成熟度等級包含若干個對該成熟度等級至關重要的過程域,它們的實施對達到該成熟度等級的目標起到保證作用。這些過程域就稱為該成熟度等級的關鍵過程域,反之有非關鍵過程域是指對達到相應軟件成熟度等級的目標不起關鍵作用。歸納為:互相關聯(lián)的若干軟件實踐活動和有關基礎設施的一個集合。 (7)關鍵實踐:對關鍵過程域的實踐起關鍵作用的方針、規(guī)程、措施、活動以及相關基礎設施的建立。關鍵實踐一般只描述“做什么”而不強制規(guī)定“如何做”。整個軟件過程的改進是基于許多小的、漸進的步驟,而不是通過一次革命性的創(chuàng)新來實現(xiàn)的,這些小的漸進步驟就是通過一些關鍵
44、實踐來實現(xiàn)。 (8)軟件能力成熟度模型:隨著軟件組織定義、實施、測量、控制和改進其軟件過程,軟件組織的能力也伴隨著這些階段逐步前進,完成對軟件組織進化階段的描述模型。 CMMCMM軟件過程成熟度模型概要軟件過程成熟度模型概要 軟件開發(fā)的風險之所以大,是由于軟件過程能力低,其中最關鍵的問題在于軟件開發(fā)組織不能很好地管理其軟件過程,從而使一些好的開發(fā)方法和技術起不到預期的作用。而且項目的成功也是通過工作組的杰出努力,所以僅僅建立在可得到特定人員上的成功不能為全組織的生產(chǎn)和質(zhì)量的長期提高打下基礎,必須在建立有效的軟件工程實踐和管理實踐的基礎設施方面,堅持不懈地努力,才能不斷改進,才能持續(xù)地成功。1.
45、CMM提供了一個框架,將軟件過程改進的進化步驟組織成5個成熟等級,為過程不斷改進奠定了循序漸進的基礎。這5個成熟度等級定義了一個有序的尺度,用來測量一個組織的軟件過程成熟和評價其軟件過程能力,這些等級還能幫助組織自己對其改進工作排出優(yōu)先次序。成熟度等級是已得到確切定義的,也是在向成熟軟件組織前進途中的平臺。每一個成熟度等級為連續(xù)改進提供一個臺基。每一等級包含一組過程目標,通過實施相應的一組關鍵過程域達到這一組過程目標,當目標滿足時,能使軟件過程的一個重要成分穩(wěn)定。每達到成熟框架的一個等級,就建立起軟件過程的一個相應成分,導致組織能力一定程度的增大。CMMCMM軟件過程成熟度模型概要軟件過程成熟
46、度模型概要CMMCMM模型概要模型概要過程能力等級過程能力等級特點特點關鍵過程域關鍵過程域第一級 初始級軟件過程是無序的,有時甚至是混亂的,對過程幾乎沒有定義,成功取決與個人努力;管理是反應式(消防式)第二級 可重復級建立了基本的項目管理過程來跟蹤費用,進度和功能特性.制定了必要的過程紀律,能重復早先類似應用項目取得成功需求管理軟件項目計劃軟件項目跟蹤和監(jiān)督軟件子合同管理軟件質(zhì)量保證軟件配置管理第三級 已定義級已將軟件管理和工程文檔化,標準化,并綜合成該組織的標準軟件過程;所有項目均使用經(jīng)批準,裁減的標準軟件過程來開發(fā)和維護軟件組織過程定義組織過程焦點培訓大綱集成軟件管理軟件產(chǎn)品工程組織協(xié)調(diào)同
47、行專家評審第四級 已定量管理級收集對軟件過程和產(chǎn)品質(zhì)量的詳細度量,對軟件過程和產(chǎn)品都有定量的理解與控制定量的過程管理軟件質(zhì)量的管理第五級 優(yōu)化級過程的量化反饋和先進思想,新技術促進過程不斷改進缺陷預防技術變更管理過程變更管理CMMCMM軟件過程成熟度模型概要軟件過程成熟度模型概要 CMMCMM軟件過程成熟度模型概要軟件過程成熟度模型概要個體軟件過程(Personal Software Process ,PSP)是由美國Carnegie Mellon大學軟件工程研究所(CMU/SEI)的Watts s. Humphrey領導開發(fā)的,于1995年推出,在軟件工程界引起了極大的轟動,可以說是由定向軟
48、件工程走向定量軟件工程的一個標志。PSP是一種可用于控制、管理和改進個人工作方式的自我改善過程,是一個包括軟件開發(fā)表格、指南和規(guī)程的結(jié)構(gòu)化框架。 PSP為基于個體和小型群組軟件過程的優(yōu)化提供了具體而有效的途徑,例如如何制訂計劃,如何控制質(zhì)量,如何與其他人相互協(xié)作等等。在軟件設計階段, PSP的著眼點在于軟件缺陷的預防,其具體辦法是強化設計結(jié)束準則,而不是設計方法的選擇。根據(jù)對參加培訓的104位軟件人員的統(tǒng)計數(shù)據(jù)表明,在應用了PSP后,軟件中總的差錯減少了58.0,在測試階段發(fā)現(xiàn)的差錯減少了71.0,生產(chǎn)效率提高了20.0。PSP的研究結(jié)果還表明,絕大多數(shù)軟件缺陷是由于對問題的錯誤理解或簡單的失
49、誤所造成的,只有很少一部分是由于技術問題而產(chǎn)生的。而且根據(jù)多年來的軟件工程統(tǒng)計數(shù)據(jù)表明,如果在設計階段注入一個差錯,則這個差錯在編碼階段引發(fā)了3一5個新的缺陷,要修復這些缺陷所花的費用要比修復這個設計缺陷所花的費用多一個數(shù)量級。因此,PSP保障軟件產(chǎn)品質(zhì)量的一個重要途徑是提高設計質(zhì)量。個體軟件過程個體軟件過程PSPPSP個體軟件過程個體軟件過程PSPPSP個體軟件過程PSP的內(nèi)容PSP與具體的技術(程序設計語言、工具或者設計方法)相對獨立,其原則能夠應用到幾乎任何的軟件工程任務之中。PSP能夠:(1) 說明個體軟件過程的原則;(2) 幫助軟件工程師作出準確的計劃;(3) 確定軟件工程師為改善產(chǎn)
50、品質(zhì)量要采取的步驟;(4) 建立度量個體軟件過程改善的基準;(5) 確定過程的改變對軟件工程師能力的影響。個體軟件過程PSP的作用使用自底向上的方法來改進過程,向每個軟件工程師表明過程改進的原則,使他們能夠明白如何有效地生產(chǎn)出高質(zhì)量的軟件。為基于個體和小型群組軟件過程的優(yōu)化提供了具體而有效的途徑。其研究與實踐填補了CMM的空白。1.幫助軟件工程師在個人的基礎上運用過程的原則,借助于PSP提供的一些度量和分析工具,了解自己的技能水平,控制和管理自己的工作方式,使自己日常工作的評估、計劃和預測更加準確、更加有效,進而改進個人的工作表現(xiàn),提高個人的工作質(zhì)量和產(chǎn)量,積極而有效地參與高級管理人員和過程人
51、員推動的組織范圍的軟件工程過程改進。個體軟件過程PSP 致力于開發(fā)高質(zhì)量的產(chǎn)品,建立、管理和授權項目小組,并且指導他們?nèi)绾卧跐M足計劃費用的前提下,在承諾的期限范圍內(nèi),不斷生產(chǎn)并交付高質(zhì)量的產(chǎn)品。TSP指導項目組中的成員如何有效地規(guī)劃和管理所面臨的項目開發(fā)任務,并且告訴管理人員如何指導軟件開發(fā)隊伍。始終以最佳狀態(tài)來完成工作。TSP實施集體管理與自己管理自己相結(jié)合的原則,最終目的在于指導開發(fā)人員如何在最少的時間內(nèi),以預定的費用生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,所采用的方法是對群組開發(fā)過程的定義、度量和改進。實現(xiàn)TSP方法需要具備的條件需要有高層主管和各級經(jīng)理的支持,以取得必要的資源整個軟件開發(fā)小組至少應在C
52、MM的第二級(可重復層)。全體軟件開發(fā)人員必須經(jīng)過PSP的培訓,并有按TSP工作的愿望和熱情。1.開發(fā)小組成員應在2到20個人之間。群組軟件過程TSP按TSP原理對開發(fā)小組的基本度量要素所編文檔的頁數(shù)。所編代碼的行數(shù)。花費在各開發(fā)階段或各開發(fā)任務上的時間(以分為單位)。在各個開發(fā)階段中引入和改正的差錯數(shù)目。在各個階段對最終產(chǎn)品增加的價值。度量TSP實施質(zhì)量的過程質(zhì)量元素軟件設計時間應大于軟件實現(xiàn)時間。設計評審時間至少應占一半以上的設計時間。代碼評審時間至少應占一半以上的代碼編制時間。在編譯階段發(fā)現(xiàn)的差錯不超過10個1.在測試階段發(fā)現(xiàn)的差錯不超過5個。群組軟件過程TSP CMM、PSP和TSP組
53、成的軟件過程框架 CMM是過程改善的第一步,它提供了評價組織的能力、識別優(yōu)先改善需求和追蹤改善進展的管理方式。企業(yè)只有開始CMM改善后,才能接受需要規(guī)劃的事實,認識到質(zhì)量的重要性,才能注重對員工經(jīng)常進行培訓,合理分配項目人員,并且建立起有效的項目小組。然而,它實現(xiàn)的成功與否與組織內(nèi)部有關人員的積極參加和創(chuàng)造性活動密不可分。CMM、PSP和TSP組成的軟件過程框架l PSP能夠指導軟件工程師如何保證自己的工作質(zhì)量,估計和規(guī)劃自身的工作,度量和追蹤個人的表現(xiàn),管理自身的軟件過程和產(chǎn)品質(zhì)量。經(jīng)過PSP學習和實踐的正規(guī)訓練,軟件工程師們能夠在他們參與的項目工作之中充分運用PSP,從而有助于CMM目標的
54、實現(xiàn)。l TSP結(jié)合了CMM的管理方法和PSP的工程技能,通過告訴軟件工程師如何將個體過程結(jié)合進小組軟件過程,并將后者與組織進而整個管理系統(tǒng)相聯(lián)系;通過告訴管理層如何支持和授權項目小組,堅持高質(zhì)量的工作,并且依據(jù)數(shù)據(jù)進行項目的管理,向組織展示如何應用CMM的原則和PSP的技能去生產(chǎn)高質(zhì)量的產(chǎn)品。CMM、PSP和TSP組成的軟件過程框架面向?qū)ο蟮能浖_發(fā)方法 面向?qū)ο蠹夹g是軟件技術的一次革命,在軟件開發(fā)史上具有里程碑的意義。 隨著OOP(面向?qū)ο缶幊蹋┫騉OD(面向?qū)ο笤O計)和OOA(面向?qū)ο蠓治觯┑陌l(fā)展,最終形成面向?qū)ο蟮能浖_發(fā)方法OMT(Object Modelling Technique
55、)。這是一種自底向上和自頂向下相結(jié)合的方法,而且它以對象建模為基礎,從而不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構(gòu),實際上也包含了所有對象的數(shù)據(jù)結(jié)構(gòu)。所以OMT徹底實現(xiàn)了PAM沒有完全實現(xiàn)的目標。不僅如此,OO技術在需求分析、可維護性和可靠性這三個軟件開發(fā)的關鍵環(huán)節(jié)和質(zhì)量指標上有了實質(zhì)性的突破,徹底地解決了在這些方面存在的嚴重問題,從而宣告了軟件危機末日的來臨。面向?qū)ο笳Z言面向?qū)ο笳Z言 人工智能研究語言人工智能研究語言可視化開發(fā)方法 可視化開發(fā)是90年代軟件界最大的兩個熱點之一。隨著圖形用戶界面的興起,用戶界面在軟件系統(tǒng)中所占的比例也越來越大,有的甚至高達6070。產(chǎn)生這一問題的原因是圖形界面元素的生成很不
56、方便。為此Windows提供了應用程序設計接口API(Application Programming Interface),它包含了600多個函數(shù),極大地方便了圖形用戶界面的開發(fā)。但是在這批函數(shù)中,大量的函數(shù)參數(shù)和使用數(shù)量更多的有關常量,使基于Windows API的開發(fā)變得相當困難。為此Borland C+推出了ObjectWindows編程。它將API的各部分用對象類進行封裝,提供了大量預定義的類,并為這些定義了許多成員函數(shù)。利用子類對父類的繼承性,以及實例對類的函數(shù)的引用,應用程序的開發(fā)可以省卻大量類的定義,省卻大量成員函數(shù)的定義或只需作少量修改以定義子類。 可視化開發(fā)就是在可視開發(fā)工具
57、提供的圖形用戶界面上,通過操作界面元素,諸如菜單、按鈕、對話框、編輯框、單選框、復選框、列表框和滾動條等,由可視開發(fā)工具自動生成應用軟件。 這類應用軟件的工作方式是事件驅(qū)動。對每一事件,由系統(tǒng)產(chǎn)生相應的消息,再傳遞給相應的消息響應函數(shù)。這些消息響應函數(shù)是由可視開發(fā)工具在生成軟件時自動裝入的。可視化開發(fā)方法軟件復用技術軟件復用是指重復使用“為了復用目的而設計的軟件”的過程 。相應地,可復用軟件是指為了復用目的而設計的軟件。與軟件復用的概念相關,重復使用軟件的行為還可能是重復使用“并非為了復用目的而設計的軟件”的過程,或在一個應用系統(tǒng)的不同版本間重復使用代碼的過程,這兩類行為都不屬于嚴格意義上的軟
58、件復用。軟件復用技術發(fā)生在三個維上在軟件演化的過程中,重復使用的行為可能發(fā)生在三個維上:時間維:使用以前的軟件版本作為新版本的基礎,加入新功能,適應新需求,即軟件維護。平臺維:以某平臺上的軟件為基礎,修改其和運行平臺相關的部分,使其運行于新平臺,即軟件移植。應用維:將某軟件(或其中構(gòu)件)用于其他應用系統(tǒng)中,新系統(tǒng)具有不同功能和用途,即真正的軟件復用。這三種行為中都重復使用了現(xiàn)有的軟件,但是,真正的復用是為了支持軟件在應用維的演化,使用“為復用而開發(fā)的軟件(構(gòu)件)”來更快、更好地開發(fā)新的應用系統(tǒng)。 分析傳統(tǒng)產(chǎn)業(yè)的發(fā)展,其基本模式均是符合標準的零部件(構(gòu)件)生產(chǎn)以及基于標準構(gòu)件的產(chǎn)品生產(chǎn)(組裝),
59、其中,構(gòu)件是核心和基礎,“復用”是必需的手段。實踐表明,這種模式是產(chǎn)業(yè)工程化、工業(yè)化的必由之路。標準零部件生產(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)濟,標準構(gòu)件的生產(chǎn)和構(gòu)件的復用是關鍵因素。這正是軟件復用受到高度重視的根本原因。軟件復用技術 軟件復用可以從多個角度進行考察。依據(jù)復用的對象,可以將軟件復用分為產(chǎn)品復用和過程復用。產(chǎn)品復用指復用已有的軟件構(gòu)件,通過構(gòu)件集成(組裝)得到新系統(tǒng)。過程復用指復用已有的軟件開發(fā)過程,使
60、用可復用的應用生成器來自動或半自動地生成所需系統(tǒng)。過程復用依賴于軟件自動化技術的發(fā)展,目前只適用于一些特殊的應用領域。產(chǎn)品復用是目前現(xiàn)實的、主流的途徑。 軟件復用技術軟件工程回顧軟件工程回顧軟件的概念、特點和分類 軟件工程概述軟件工程框架軟件生存周期軟件開發(fā)模型軟件配置管理配置管理項配置管理庫質(zhì)量要求管理規(guī)程工具軟件測試測試目的軟件測試技術軟件測試工作規(guī)程測試組織 , CMM , PSP, TSP第二講 信息應用系統(tǒng)監(jiān)理工作在本講中在本講中您能了解如下您能了解如下知識點知識點:信息工程應用系統(tǒng)建設監(jiān)理的意義監(jiān)理的目標和內(nèi)容應用軟件建設的質(zhì)量控制應用軟件建設的進度控制應用軟件建設的投資控制信息工
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美發(fā)培訓規(guī)劃方案范本
- 漁業(yè)資源的評估與管理措施考核試卷
- 游藝用品銷售渠道的多元化發(fā)展考核試卷
- 糕點烘焙店的顧客忠誠計劃考核試卷
- 畜牧業(yè)糞污處理與鄉(xiāng)村振興戰(zhàn)略考卷考核試卷
- 2025年【金屬非金屬礦山提升機操作】模擬考試題及答案
- 塑料片材生產(chǎn)線的過程控制考核試卷
- 2024年項目管理認證檢測試題及答案
- 紅心獼猴桃營養(yǎng)管理考核試卷
- 2023年中國能建葛洲壩集團成熟人才招聘【399人】筆試參考題庫附帶答案詳解
- 立繪買斷合同協(xié)議
- 綜合執(zhí)法改革試題及答案
- 2024年泉州實驗中學初一新生入學考試數(shù)學試卷
- 人工智能在航班調(diào)度中的未來應用探討
- 內(nèi)蒙古自治區(qū)赤峰第四中學2024-2025學年高一下學期4月月考歷史試題(含答案)
- 糖尿病酮癥酸中毒護理
- 2025春季學期國開電大本科《人文英語3》一平臺在線形考綜合測試(形考任務)試題及答案
- 陜西氣象部門招聘筆試真題2024
- 學校中層干部選拔任用實施方案
- 電氣工程及其自動化畢業(yè)論文-基于PLC的高空作業(yè)車電控系統(tǒng)設計
- 河南省駐馬店市部分學校2024-2025學年高三下學期3月月考地理試題(含答案)
評論
0/150
提交評論