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