計算機軟件培訓(xùn)講義
綜合能力考核表詳細(xì)內(nèi)容
計算機軟件培訓(xùn)講義
XX公司計算機軟件培訓(xùn)講義 1、背景 20世紀(jì)是一個革命化變革的世紀(jì)。機械化革命、電氣化革命、信息化革命無論是 對社會還是對人類都起到了根本性的變化影響。特別是自動化生產(chǎn)的理念,對機械化 革命、電氣化革命和信息化革命中的骨骼部分(硬件產(chǎn)品:例如計算機及其相關(guān)部件 、通信產(chǎn)品、存儲介質(zhì)等)都起到了突飛猛進(jìn)的推動作用。但對于信息化革命中的神 經(jīng)或血液部分的軟件,如何將自動化生產(chǎn)的理念引入到其開發(fā)研制中來,是20世紀(jì)6 0年代以來給人類留下的始終未解決好的一個重大課題。 20世紀(jì)80年代初,國際著名的軟件學(xué)家布魯思曾經(jīng)發(fā)表過一片著名的論文『沒有 銀彈』,在軟件界引起了很大的震動。論文的中心散布了一種軟件悲觀論的思想,布 魯思個人認(rèn)為軟件的自動化生產(chǎn),由于受各種外界條件的制約,是幾乎無法實現(xiàn)的。 這種悲觀的事實雖徹底解決不了,但通過軟件工程及其相關(guān)聯(lián)的優(yōu)秀的方法論,通過 優(yōu)秀的人才是可以緩解的。 在未來的信息化革命中,起著神經(jīng)或血液角色的軟件作用越來越重要,據(jù)國際權(quán) 威調(diào)查機構(gòu)的資料,工程費用上軟硬的比例目前已達(dá)到了6:4的數(shù)值。由此可見軟件 工程及其相關(guān)聯(lián)的優(yōu)秀的方法論、優(yōu)秀的軟件人才在信息化革命革命中的重要性。 2、軟件工程 軟件工程是一類工程。工程是將理論和知識應(yīng)用于實踐的科學(xué)。就軟件工程而言 ,它借鑒了傳統(tǒng)工程的原則和方法,以求高效地開發(fā)高質(zhì)量軟件。其中應(yīng)用了計算機 科學(xué)、數(shù)學(xué)和管理科學(xué)。計算機科學(xué)和數(shù)學(xué)用于構(gòu)造模型與算法,工程科學(xué)用于制定 規(guī)范、設(shè)計范型、評估成本及確定權(quán)衡,管理科學(xué)用于計劃、資源、質(zhì)量和成本的管 理。 軟件工程這一概念,主要是針對20世紀(jì)60年代“軟件危機”而提出的。它首次出現(xiàn) 在1968年NATO(北大西洋公約組織)會議上。自這一概念提出以來,圍繞軟件項目, 開展了有關(guān)開發(fā)模型、方法以及支持工具的研究。其主要成果有:提出了瀑布模型, 開發(fā)了一些結(jié)構(gòu)化程序設(shè)計語言(例如PASCAL語言,ADA語言)、結(jié)構(gòu)化方法等。并 且圍繞項目管理提出了費用估算、文檔復(fù)審等方法和工具。綜觀60年代末至80年代初 ,其主要特征是,前期著重研究系統(tǒng)實現(xiàn)技術(shù),后期開始強調(diào)開發(fā)管理和軟件質(zhì)量。 70年代初,自“軟件工廠”這一概念提出以來,主要圍繞軟件過程以及軟件復(fù)用, 開展了有關(guān)軟件生產(chǎn)技術(shù)和軟件生產(chǎn)管理的研究與實踐。其主要成果有:提出了應(yīng)用 廣泛的面向?qū)ο笳Z言以及相關(guān)的面向?qū)ο蠓椒?,大力開展了計算機輔助軟件工程的研 究與實踐。尤其是近幾年來,針對軟件復(fù)用及軟件生產(chǎn),軟件構(gòu)件技術(shù)以及軟件質(zhì)量 控制技術(shù)、質(zhì)量保證技術(shù)得到了廣泛的應(yīng)用。目前各個軟件企業(yè)都十分重視資質(zhì)認(rèn)證 ,并想通過這些工作進(jìn)行企業(yè)管理和技術(shù)的提升。軟件工程所涉及的要素可概括如下 : [pic] 軟件工程框架圖 根據(jù)這一框架,可以看出:軟件工程涉及了軟件工程的目標(biāo)、軟件工程原則和軟 件工程活動。 軟件工程的主要目標(biāo)是:生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性 意指軟件產(chǎn)品達(dá)到預(yù)期功能的程度??捎眯灾杠浖窘Y(jié)構(gòu)、實現(xiàn)及文檔為用戶可用 的程度。開銷合宜性是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標(biāo) 的實現(xiàn)不論在理論上還是在實踐中均存在很多問題有待解決,它們形成了對過程、過 程模型及工程方法選取的約束。 軟件工程的四項基本原則是: 第一,選取適宜開發(fā)范型。該原則與系統(tǒng)設(shè)計有關(guān)。在系統(tǒng)設(shè)計中,軟件需 求、硬件需求以及其他因素之間是相互制約、相互影響的,經(jīng)常需要權(quán)衡。因此,必 須認(rèn)識需求定義的易變性,采用適宜的開發(fā)范型予以控制,以保證軟件產(chǎn)品滿足用戶 的要求。 第二,采用合適的設(shè)計方法。在軟件設(shè)計中,通常要考慮軟件的模塊化、抽 象與信息隱蔽、局部化、一致性以及適應(yīng)性等特征。合適的設(shè)計方法有助于這些特征 的實現(xiàn),以達(dá)到軟件工程的目標(biāo)。 第三,提供高質(zhì)量的工程支持。“工欲善其事,必先利其器”。在軟件工程中 ,軟件工具與環(huán)境對軟件過程的支持頗為重要。軟件工程項目的質(zhì)量與開銷直接取決 于對軟件工程所提供的支撐質(zhì)量和效用。 第四,重視開發(fā)過程的管理。軟件工程的管理,直接影響可用資源的有效利 用,生產(chǎn)滿足目標(biāo)的軟件產(chǎn)品,提高軟件組織的生產(chǎn)能力等問題。因此,僅當(dāng)軟件過 程得以有效管理時,才能實現(xiàn)有效的軟件工程。 軟件工程活動是“生產(chǎn)一個最終滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟 ”。主要包括需求、設(shè)計、實現(xiàn)、確認(rèn)以及支持等活動。需求活動包括問題分析和需 求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計 活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件體系結(jié)構(gòu),包括子系統(tǒng)、 模塊以及相關(guān)層次的說明、每一模塊接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明 ,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程 序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶 的要求。支持活動包括修改和完善。伴隨以上活動,還有管理過程、支持過程、培訓(xùn) 過程等。 這一軟件工程框架告訴我們,軟件工程的目標(biāo)是可用性、正確性和合算性;實施 一個軟件工程要選取適宜的開發(fā)范型,要采用合適的設(shè)計方法,要提供高質(zhì)量的工程 支撐,要實行開發(fā)過程的有效管理;軟件工程活動主要包括需求、設(shè)計、實現(xiàn)、確認(rèn) 和支持等活動,每一活動可根據(jù)特定的軟件工程,采用合適的開發(fā)范型、設(shè)計方法、 支持過程以及過程管理。根據(jù)軟件工程這一框架,軟件工程學(xué)科的研究內(nèi)容主要包括 :軟件開發(fā)范型、軟件開發(fā)方法、軟件過程、軟件工具、軟件開發(fā)環(huán)境、計算機輔助 軟件工程(CASE) 及軟件經(jīng)濟學(xué)等。 自從軟件工程概念提出以來,經(jīng)過30多年的研究與實踐,雖然“軟件危機”沒得到徹 底解決,但在軟件開發(fā)方法和技術(shù)方面已經(jīng)有了很大的進(jìn)步。尤其應(yīng)該指出的是,自 80年代中期,美國工業(yè)界和政府部門開始認(rèn)識到,在軟件開發(fā)中,最關(guān)鍵的問題是軟 件開發(fā)組織不能很好地定義和管理其軟件過程,從而使一些好的開發(fā)方法和技術(shù)都起 不到所期望的作用。也就是說,在沒有很好定義和管理軟件過程的軟件開發(fā)中,開發(fā) 組織不可能在好的軟件方法和工具中獲益。 根據(jù)調(diào)查,中國的現(xiàn)狀幾乎和美國10多年前的情況一樣,軟件開發(fā)過程沒有明確 規(guī)定,文檔不完整,也不規(guī)范,軟件項目的成功往往歸功于軟件開發(fā)組的一些杰出個 人或小組的努力。這種依賴于個別人員上的成功并不能為全組織的軟件生產(chǎn)率和質(zhì)量 的提高奠定有效的基礎(chǔ),只有通過建立全組織的過程改善,采用嚴(yán)格的軟件工程方法 和管理,并且堅持不懈地付諸實踐,才能取得全組織的軟件過程能力的不斷提高。 這一事實告訴我們,只有堅持軟件工程的四條基本原則,既重視軟件技術(shù)的應(yīng)用 ,又重視軟件工程的支持和管理,并在實踐中貫徹實施,才能高效地開發(fā)出高質(zhì)量的 軟件。 3、方法論 如何運用軟件工程,從20世紀(jì)70年代初開始,圍繞著這個問題,誕生了許多著名 的方法論。下面對幾個典型的方法論進(jìn)行簡單的介紹。 3.1、瀑布式方法論 瀑布模型將軟件生命周期的各項活動規(guī)定為依固定順序聯(lián)接的若干階段工作,形 如瀑布流水,最終得到軟件產(chǎn)品。 優(yōu)點: a. 強調(diào)開發(fā)的階段性; b. 強調(diào)早期計劃及需求調(diào)查; c. 強調(diào)產(chǎn)品測試。 缺點: a. 依賴于早期進(jìn)行的唯一的一次需求調(diào)查,不能適應(yīng)需求的變化; b. 由于是單一流程,開發(fā)中的經(jīng)驗教訓(xùn)不能反饋應(yīng)用于本產(chǎn)品的過程; c. 風(fēng)險往往遲至后期的開發(fā)階段才顯露,因而失去及早糾正的機會。 其中,BD是Basic Design的縮寫,這一部分完成“本系統(tǒng)要做什么”的文檔記錄工作,即系統(tǒng)的分析階段 工作;FD是Function Design的縮寫,這一部分完成本系統(tǒng)功能塊的劃分,是“怎么去做”的第一階段工作, 即系統(tǒng)的設(shè)計初期階段工作;DD是Detail Design的縮寫,這一部分完成本系統(tǒng)各個功能模塊的詳細(xì)設(shè)計工作,是編程階段的準(zhǔn) 備設(shè)計階段;MK是Making的縮寫,即具體編程實施階段;UT是Unit Test的縮寫,即單元測試階段;CT是Combine Test的縮寫,即結(jié)合測試階段;ST是System Test的縮寫,即系統(tǒng)測試階段;PT是Product Test的縮寫,即商品測試階段。 從上圖中可以看出,BD和PT、 FD和ST、DD和CT、MK和UT都是成對出現(xiàn)的。每一對的前一部分完成之后,應(yīng)該馬上著 手后一部分的文檔制作工作。對較大的系統(tǒng)開發(fā),實際測試和文檔的擔(dān)當(dāng)者應(yīng)該不同 。 3.2、生魚片式方法論 [pic] 前一階段完成70%到80%時,即可并行進(jìn)入到下一個階段。 3.3、螺旋式方法論 瀑布模型與演化模型相結(jié)合,并加入兩者所忽略的風(fēng)險分析所建立的一種軟件開 發(fā)模型。該模型于1998年由美國TRW公司(B.W.Boehm)提出。軟件項目風(fēng)險的大小作 為指引軟件過程的一個重要因素,引入這一概念有可能使得軟件開發(fā)被看作一種元模 型,因為它能包容任何一個開發(fā)過程模型。 螺旋模型基本的做法是在“瀑布模型”的每一個開發(fā)階段之前,引入非常嚴(yán)格的風(fēng) 險識別、風(fēng)險分析和風(fēng)險控制。直到采取了消除風(fēng)險的措施之后,才開始計劃下一階 段的開發(fā)工作。否則,項目就很可能被取消。 另外,如果有充足的把握判斷遺留的風(fēng)險已降低到一定的程度,項目管理人員可 作出決定讓余下的開發(fā)工作采用另外的生命周期模型,如“演化模型”,“瀑布模型”, 或自定的混合模型。 優(yōu)點: a. 強調(diào)嚴(yán)格的全過程風(fēng)險管理。 b. 強調(diào)各開發(fā)階段的質(zhì)量。 c. 提供機會檢討項目是否有價值繼續(xù)下去。 缺點: a.引入非常嚴(yán)格的風(fēng)險識別,風(fēng)險分析,和風(fēng)險控制,這對風(fēng)險管理的技能水平 提出了很高的要求。這需要人員,資金,和時間的投入。 3.4、階段性發(fā)布式方法論 該模型主要針對事先不能完整定義需求的軟件開發(fā)。用戶可以給出待開發(fā)系統(tǒng)的 核心需求,并且當(dāng)看到核心需求實現(xiàn)后,能夠有效地提出反饋,以支持系統(tǒng)的最終設(shè) 計和實現(xiàn)。軟件開發(fā)人員根據(jù)用戶的需求,首先開發(fā)核心系統(tǒng)。當(dāng)該核心系統(tǒng)投入運 行后,用戶試用之,完成他們的工作,并提出精化系統(tǒng)、增強系統(tǒng)能力的需求。軟件 開發(fā)人員根據(jù)用戶的反饋,實施開發(fā)的迭代過程。第一迭代過程均由需求、設(shè)計、編 碼、測試、集成等階段組成,為整個系統(tǒng)增加一個可定義的、可管理的子集。下面為 生魚片型階段性發(fā)布式方法論圖示。 [pic] 在開發(fā)模式上采取分批循環(huán)開發(fā)的辦法,每循環(huán)開發(fā)一部分的功能,它們成為這 個產(chǎn)品的原型的新增功能。于是,設(shè)計就不斷地演化出新的系統(tǒng)。 實際上,這個模型可看作是重復(fù)執(zhí)行的多個“生魚片方式”。 3.5、Booch方法論 Booch方法的過程包括以下步驟:
計算機軟件培訓(xùn)講義
XX公司計算機軟件培訓(xùn)講義 1、背景 20世紀(jì)是一個革命化變革的世紀(jì)。機械化革命、電氣化革命、信息化革命無論是 對社會還是對人類都起到了根本性的變化影響。特別是自動化生產(chǎn)的理念,對機械化 革命、電氣化革命和信息化革命中的骨骼部分(硬件產(chǎn)品:例如計算機及其相關(guān)部件 、通信產(chǎn)品、存儲介質(zhì)等)都起到了突飛猛進(jìn)的推動作用。但對于信息化革命中的神 經(jīng)或血液部分的軟件,如何將自動化生產(chǎn)的理念引入到其開發(fā)研制中來,是20世紀(jì)6 0年代以來給人類留下的始終未解決好的一個重大課題。 20世紀(jì)80年代初,國際著名的軟件學(xué)家布魯思曾經(jīng)發(fā)表過一片著名的論文『沒有 銀彈』,在軟件界引起了很大的震動。論文的中心散布了一種軟件悲觀論的思想,布 魯思個人認(rèn)為軟件的自動化生產(chǎn),由于受各種外界條件的制約,是幾乎無法實現(xiàn)的。 這種悲觀的事實雖徹底解決不了,但通過軟件工程及其相關(guān)聯(lián)的優(yōu)秀的方法論,通過 優(yōu)秀的人才是可以緩解的。 在未來的信息化革命中,起著神經(jīng)或血液角色的軟件作用越來越重要,據(jù)國際權(quán) 威調(diào)查機構(gòu)的資料,工程費用上軟硬的比例目前已達(dá)到了6:4的數(shù)值。由此可見軟件 工程及其相關(guān)聯(lián)的優(yōu)秀的方法論、優(yōu)秀的軟件人才在信息化革命革命中的重要性。 2、軟件工程 軟件工程是一類工程。工程是將理論和知識應(yīng)用于實踐的科學(xué)。就軟件工程而言 ,它借鑒了傳統(tǒng)工程的原則和方法,以求高效地開發(fā)高質(zhì)量軟件。其中應(yīng)用了計算機 科學(xué)、數(shù)學(xué)和管理科學(xué)。計算機科學(xué)和數(shù)學(xué)用于構(gòu)造模型與算法,工程科學(xué)用于制定 規(guī)范、設(shè)計范型、評估成本及確定權(quán)衡,管理科學(xué)用于計劃、資源、質(zhì)量和成本的管 理。 軟件工程這一概念,主要是針對20世紀(jì)60年代“軟件危機”而提出的。它首次出現(xiàn) 在1968年NATO(北大西洋公約組織)會議上。自這一概念提出以來,圍繞軟件項目, 開展了有關(guān)開發(fā)模型、方法以及支持工具的研究。其主要成果有:提出了瀑布模型, 開發(fā)了一些結(jié)構(gòu)化程序設(shè)計語言(例如PASCAL語言,ADA語言)、結(jié)構(gòu)化方法等。并 且圍繞項目管理提出了費用估算、文檔復(fù)審等方法和工具。綜觀60年代末至80年代初 ,其主要特征是,前期著重研究系統(tǒng)實現(xiàn)技術(shù),后期開始強調(diào)開發(fā)管理和軟件質(zhì)量。 70年代初,自“軟件工廠”這一概念提出以來,主要圍繞軟件過程以及軟件復(fù)用, 開展了有關(guān)軟件生產(chǎn)技術(shù)和軟件生產(chǎn)管理的研究與實踐。其主要成果有:提出了應(yīng)用 廣泛的面向?qū)ο笳Z言以及相關(guān)的面向?qū)ο蠓椒?,大力開展了計算機輔助軟件工程的研 究與實踐。尤其是近幾年來,針對軟件復(fù)用及軟件生產(chǎn),軟件構(gòu)件技術(shù)以及軟件質(zhì)量 控制技術(shù)、質(zhì)量保證技術(shù)得到了廣泛的應(yīng)用。目前各個軟件企業(yè)都十分重視資質(zhì)認(rèn)證 ,并想通過這些工作進(jìn)行企業(yè)管理和技術(shù)的提升。軟件工程所涉及的要素可概括如下 : [pic] 軟件工程框架圖 根據(jù)這一框架,可以看出:軟件工程涉及了軟件工程的目標(biāo)、軟件工程原則和軟 件工程活動。 軟件工程的主要目標(biāo)是:生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性 意指軟件產(chǎn)品達(dá)到預(yù)期功能的程度??捎眯灾杠浖窘Y(jié)構(gòu)、實現(xiàn)及文檔為用戶可用 的程度。開銷合宜性是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標(biāo) 的實現(xiàn)不論在理論上還是在實踐中均存在很多問題有待解決,它們形成了對過程、過 程模型及工程方法選取的約束。 軟件工程的四項基本原則是: 第一,選取適宜開發(fā)范型。該原則與系統(tǒng)設(shè)計有關(guān)。在系統(tǒng)設(shè)計中,軟件需 求、硬件需求以及其他因素之間是相互制約、相互影響的,經(jīng)常需要權(quán)衡。因此,必 須認(rèn)識需求定義的易變性,采用適宜的開發(fā)范型予以控制,以保證軟件產(chǎn)品滿足用戶 的要求。 第二,采用合適的設(shè)計方法。在軟件設(shè)計中,通常要考慮軟件的模塊化、抽 象與信息隱蔽、局部化、一致性以及適應(yīng)性等特征。合適的設(shè)計方法有助于這些特征 的實現(xiàn),以達(dá)到軟件工程的目標(biāo)。 第三,提供高質(zhì)量的工程支持。“工欲善其事,必先利其器”。在軟件工程中 ,軟件工具與環(huán)境對軟件過程的支持頗為重要。軟件工程項目的質(zhì)量與開銷直接取決 于對軟件工程所提供的支撐質(zhì)量和效用。 第四,重視開發(fā)過程的管理。軟件工程的管理,直接影響可用資源的有效利 用,生產(chǎn)滿足目標(biāo)的軟件產(chǎn)品,提高軟件組織的生產(chǎn)能力等問題。因此,僅當(dāng)軟件過 程得以有效管理時,才能實現(xiàn)有效的軟件工程。 軟件工程活動是“生產(chǎn)一個最終滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟 ”。主要包括需求、設(shè)計、實現(xiàn)、確認(rèn)以及支持等活動。需求活動包括問題分析和需 求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計 活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件體系結(jié)構(gòu),包括子系統(tǒng)、 模塊以及相關(guān)層次的說明、每一模塊接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明 ,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程 序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶 的要求。支持活動包括修改和完善。伴隨以上活動,還有管理過程、支持過程、培訓(xùn) 過程等。 這一軟件工程框架告訴我們,軟件工程的目標(biāo)是可用性、正確性和合算性;實施 一個軟件工程要選取適宜的開發(fā)范型,要采用合適的設(shè)計方法,要提供高質(zhì)量的工程 支撐,要實行開發(fā)過程的有效管理;軟件工程活動主要包括需求、設(shè)計、實現(xiàn)、確認(rèn) 和支持等活動,每一活動可根據(jù)特定的軟件工程,采用合適的開發(fā)范型、設(shè)計方法、 支持過程以及過程管理。根據(jù)軟件工程這一框架,軟件工程學(xué)科的研究內(nèi)容主要包括 :軟件開發(fā)范型、軟件開發(fā)方法、軟件過程、軟件工具、軟件開發(fā)環(huán)境、計算機輔助 軟件工程(CASE) 及軟件經(jīng)濟學(xué)等。 自從軟件工程概念提出以來,經(jīng)過30多年的研究與實踐,雖然“軟件危機”沒得到徹 底解決,但在軟件開發(fā)方法和技術(shù)方面已經(jīng)有了很大的進(jìn)步。尤其應(yīng)該指出的是,自 80年代中期,美國工業(yè)界和政府部門開始認(rèn)識到,在軟件開發(fā)中,最關(guān)鍵的問題是軟 件開發(fā)組織不能很好地定義和管理其軟件過程,從而使一些好的開發(fā)方法和技術(shù)都起 不到所期望的作用。也就是說,在沒有很好定義和管理軟件過程的軟件開發(fā)中,開發(fā) 組織不可能在好的軟件方法和工具中獲益。 根據(jù)調(diào)查,中國的現(xiàn)狀幾乎和美國10多年前的情況一樣,軟件開發(fā)過程沒有明確 規(guī)定,文檔不完整,也不規(guī)范,軟件項目的成功往往歸功于軟件開發(fā)組的一些杰出個 人或小組的努力。這種依賴于個別人員上的成功并不能為全組織的軟件生產(chǎn)率和質(zhì)量 的提高奠定有效的基礎(chǔ),只有通過建立全組織的過程改善,采用嚴(yán)格的軟件工程方法 和管理,并且堅持不懈地付諸實踐,才能取得全組織的軟件過程能力的不斷提高。 這一事實告訴我們,只有堅持軟件工程的四條基本原則,既重視軟件技術(shù)的應(yīng)用 ,又重視軟件工程的支持和管理,并在實踐中貫徹實施,才能高效地開發(fā)出高質(zhì)量的 軟件。 3、方法論 如何運用軟件工程,從20世紀(jì)70年代初開始,圍繞著這個問題,誕生了許多著名 的方法論。下面對幾個典型的方法論進(jìn)行簡單的介紹。 3.1、瀑布式方法論 瀑布模型將軟件生命周期的各項活動規(guī)定為依固定順序聯(lián)接的若干階段工作,形 如瀑布流水,最終得到軟件產(chǎn)品。 優(yōu)點: a. 強調(diào)開發(fā)的階段性; b. 強調(diào)早期計劃及需求調(diào)查; c. 強調(diào)產(chǎn)品測試。 缺點: a. 依賴于早期進(jìn)行的唯一的一次需求調(diào)查,不能適應(yīng)需求的變化; b. 由于是單一流程,開發(fā)中的經(jīng)驗教訓(xùn)不能反饋應(yīng)用于本產(chǎn)品的過程; c. 風(fēng)險往往遲至后期的開發(fā)階段才顯露,因而失去及早糾正的機會。 其中,BD是Basic Design的縮寫,這一部分完成“本系統(tǒng)要做什么”的文檔記錄工作,即系統(tǒng)的分析階段 工作;FD是Function Design的縮寫,這一部分完成本系統(tǒng)功能塊的劃分,是“怎么去做”的第一階段工作, 即系統(tǒng)的設(shè)計初期階段工作;DD是Detail Design的縮寫,這一部分完成本系統(tǒng)各個功能模塊的詳細(xì)設(shè)計工作,是編程階段的準(zhǔn) 備設(shè)計階段;MK是Making的縮寫,即具體編程實施階段;UT是Unit Test的縮寫,即單元測試階段;CT是Combine Test的縮寫,即結(jié)合測試階段;ST是System Test的縮寫,即系統(tǒng)測試階段;PT是Product Test的縮寫,即商品測試階段。 從上圖中可以看出,BD和PT、 FD和ST、DD和CT、MK和UT都是成對出現(xiàn)的。每一對的前一部分完成之后,應(yīng)該馬上著 手后一部分的文檔制作工作。對較大的系統(tǒng)開發(fā),實際測試和文檔的擔(dān)當(dāng)者應(yīng)該不同 。 3.2、生魚片式方法論 [pic] 前一階段完成70%到80%時,即可并行進(jìn)入到下一個階段。 3.3、螺旋式方法論 瀑布模型與演化模型相結(jié)合,并加入兩者所忽略的風(fēng)險分析所建立的一種軟件開 發(fā)模型。該模型于1998年由美國TRW公司(B.W.Boehm)提出。軟件項目風(fēng)險的大小作 為指引軟件過程的一個重要因素,引入這一概念有可能使得軟件開發(fā)被看作一種元模 型,因為它能包容任何一個開發(fā)過程模型。 螺旋模型基本的做法是在“瀑布模型”的每一個開發(fā)階段之前,引入非常嚴(yán)格的風(fēng) 險識別、風(fēng)險分析和風(fēng)險控制。直到采取了消除風(fēng)險的措施之后,才開始計劃下一階 段的開發(fā)工作。否則,項目就很可能被取消。 另外,如果有充足的把握判斷遺留的風(fēng)險已降低到一定的程度,項目管理人員可 作出決定讓余下的開發(fā)工作采用另外的生命周期模型,如“演化模型”,“瀑布模型”, 或自定的混合模型。 優(yōu)點: a. 強調(diào)嚴(yán)格的全過程風(fēng)險管理。 b. 強調(diào)各開發(fā)階段的質(zhì)量。 c. 提供機會檢討項目是否有價值繼續(xù)下去。 缺點: a.引入非常嚴(yán)格的風(fēng)險識別,風(fēng)險分析,和風(fēng)險控制,這對風(fēng)險管理的技能水平 提出了很高的要求。這需要人員,資金,和時間的投入。 3.4、階段性發(fā)布式方法論 該模型主要針對事先不能完整定義需求的軟件開發(fā)。用戶可以給出待開發(fā)系統(tǒng)的 核心需求,并且當(dāng)看到核心需求實現(xiàn)后,能夠有效地提出反饋,以支持系統(tǒng)的最終設(shè) 計和實現(xiàn)。軟件開發(fā)人員根據(jù)用戶的需求,首先開發(fā)核心系統(tǒng)。當(dāng)該核心系統(tǒng)投入運 行后,用戶試用之,完成他們的工作,并提出精化系統(tǒng)、增強系統(tǒng)能力的需求。軟件 開發(fā)人員根據(jù)用戶的反饋,實施開發(fā)的迭代過程。第一迭代過程均由需求、設(shè)計、編 碼、測試、集成等階段組成,為整個系統(tǒng)增加一個可定義的、可管理的子集。下面為 生魚片型階段性發(fā)布式方法論圖示。 [pic] 在開發(fā)模式上采取分批循環(huán)開發(fā)的辦法,每循環(huán)開發(fā)一部分的功能,它們成為這 個產(chǎn)品的原型的新增功能。于是,設(shè)計就不斷地演化出新的系統(tǒng)。 實際上,這個模型可看作是重復(fù)執(zhí)行的多個“生魚片方式”。 3.5、Booch方法論 Booch方法的過程包括以下步驟:
計算機軟件培訓(xùn)講義
[下載聲明]
1.本站的所有資料均為資料作者提供和網(wǎng)友推薦收集整理而來,僅供學(xué)習(xí)和研究交流使用。如有侵犯到您版權(quán)的,請來電指出,本站將立即改正。電話:010-82593357。
2、訪問管理資源網(wǎng)的用戶必須明白,本站對提供下載的學(xué)習(xí)資料等不擁有任何權(quán)利,版權(quán)歸該下載資源的合法擁有者所有。
3、本站保證站內(nèi)提供的所有可下載資源都是按“原樣”提供,本站未做過任何改動;但本網(wǎng)站不保證本站提供的下載資源的準(zhǔn)確性、安全性和完整性;同時本網(wǎng)站也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。
4、未經(jīng)本網(wǎng)站的明確許可,任何人不得大量鏈接本站下載資源;不得復(fù)制或仿造本網(wǎng)站。本網(wǎng)站對其自行開發(fā)的或和他人共同開發(fā)的所有內(nèi)容、技術(shù)手段和服務(wù)擁有全部知識產(chǎn)權(quán),任何人不得侵害或破壞,也不得擅自使用。
我要上傳資料,請點我!
管理工具分類
ISO認(rèn)證課程講義管理表格合同大全法規(guī)條例營銷資料方案報告說明標(biāo)準(zhǔn)管理戰(zhàn)略商業(yè)計劃書市場分析戰(zhàn)略經(jīng)營策劃方案培訓(xùn)講義企業(yè)上市采購物流電子商務(wù)質(zhì)量管理企業(yè)名錄生產(chǎn)管理金融知識電子書客戶管理企業(yè)文化報告論文項目管理財務(wù)資料固定資產(chǎn)人力資源管理制度工作分析績效考核資料面試招聘人才測評崗位管理職業(yè)規(guī)劃KPI績效指標(biāo)勞資關(guān)系薪酬激勵人力資源案例人事表格考勤管理人事制度薪資表格薪資制度招聘面試表格崗位分析員工管理薪酬管理績效管理入職指引薪酬設(shè)計績效管理績效管理培訓(xùn)績效管理方案平衡計分卡績效評估績效考核表格人力資源規(guī)劃安全管理制度經(jīng)營管理制度組織機構(gòu)管理辦公總務(wù)管理財務(wù)管理制度質(zhì)量管理制度會計管理制度代理連鎖制度銷售管理制度倉庫管理制度CI管理制度廣告策劃制度工程管理制度采購管理制度生產(chǎn)管理制度進(jìn)出口制度考勤管理制度人事管理制度員工福利制度咨詢診斷制度信息管理制度員工培訓(xùn)制度辦公室制度人力資源管理企業(yè)培訓(xùn)績效考核其它
精品推薦
下載排行
- 1社會保障基礎(chǔ)知識(ppt) 16695
- 2安全生產(chǎn)事故案例分析(ppt 16695
- 3行政專員崗位職責(zé) 16695
- 4品管部崗位職責(zé)與任職要求 16695
- 5員工守則 16695
- 6軟件驗收報告 16695
- 7問卷調(diào)查表(范例) 16695
- 8工資發(fā)放明細(xì)表 16695
- 9文件簽收單 16695
- 10跟我學(xué)禮儀 16695