-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 品牌設(shè)計(jì) > 專(zhuān)題列表 > 正文
軟件工程與質(zhì)量保證(軟件工程質(zhì)量保證的概念)
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于軟件工程與質(zhì)量保證的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。
本文目錄:
一、CMM/CMMI是什么?
CMM是指“能力成熟度模型”,其英文全稱(chēng)為Capability Maturity Model for Software,英文縮寫(xiě)為SW-CMM,簡(jiǎn)稱(chēng)CMM。它是對(duì)于軟件組織在定義、實(shí)施、度量、控制和改善其軟件過(guò)程的實(shí)踐中各個(gè)發(fā)展階段的描述。CMM的核心是把軟件開(kāi)發(fā)視為一個(gè)過(guò)程,并根據(jù)這一原則對(duì)軟件開(kāi)發(fā)和維護(hù)進(jìn)行過(guò)程監(jiān)控和研究,以使其更加科學(xué)化、標(biāo)準(zhǔn)化、使企業(yè)能夠更好地實(shí)現(xiàn)商業(yè)目標(biāo)。
CMMI認(rèn)證是由美國(guó)軟件工程學(xué)會(huì)(software engineering institue,簡(jiǎn)稱(chēng)SEI)制定的一套專(zhuān)門(mén)針對(duì)軟件產(chǎn)品的質(zhì)量管理和質(zhì)量保證標(biāo)準(zhǔn). CMMI 的全稱(chēng)為:Capability Maturity Model Integration,即能力成熟度模型集成。
CMMI的五個(gè)臺(tái)階(五個(gè)等級(jí)): 臺(tái)階一:CMMI一級(jí),完成級(jí)。 在完成級(jí)水平上,企業(yè)對(duì)項(xiàng)目的目標(biāo)與要做的努力很清晰,項(xiàng)目的目標(biāo)得以實(shí)現(xiàn)。但是由于任務(wù)的完成帶有很大的偶然性,企業(yè)無(wú)法保證在實(shí)施同類(lèi)項(xiàng)目的時(shí)候仍然能夠完成任務(wù)。企業(yè)在一級(jí)上的項(xiàng)目實(shí)施對(duì)實(shí)施人員有很大的依賴(lài)性。 臺(tái)階二:CMMI二級(jí),管理級(jí)。 在管理級(jí)水平上,企業(yè)在項(xiàng)目實(shí)施上能夠遵守既定的計(jì)劃與流程,有資源準(zhǔn)備,權(quán)責(zé)到人,對(duì)相關(guān)的項(xiàng)目實(shí)施人員有相應(yīng)的培訓(xùn),對(duì)整個(gè)流程有監(jiān)測(cè)與控制,并與上級(jí)單位對(duì)項(xiàng)目與流程進(jìn)行審查。企業(yè)在二級(jí)水平上體現(xiàn)了對(duì)項(xiàng)目的一系列的管理程序。這一系列的管理手段排除了企業(yè)在一級(jí)時(shí)完成任務(wù)的隨機(jī)性,保證了企業(yè)的所有項(xiàng)目實(shí)施都會(huì)得到成功。 臺(tái)階三:CMMI三級(jí),定義級(jí)。 在定義級(jí)水平上,企業(yè)不僅能夠?qū)?xiàng)目的實(shí)施有一整套的管理措施,并保障項(xiàng)目的完成;而且,企業(yè)能夠根據(jù)自身的特殊情況以及自己的標(biāo)準(zhǔn)流程,將這套管理體系與流程予以制度化這樣,企業(yè)不僅能夠在同類(lèi)的項(xiàng)目上生到成功的實(shí)施,在不同類(lèi)的項(xiàng)目上一樣能夠得到成功的實(shí)施??茖W(xué)的管理成為企業(yè)的一種文化,企業(yè)的組織財(cái)富。 臺(tái)階四:CMMI四級(jí),量化管理級(jí)。 在量化管理級(jí)水平上,企業(yè)的項(xiàng)目管理不僅形成了一種制度,而且要實(shí)現(xiàn)數(shù)字化的管理。對(duì)管理流程要做到量化與數(shù)字化。通過(guò)量化技術(shù)來(lái)實(shí)現(xiàn)流程的穩(wěn)定性,實(shí)現(xiàn)管理的精度,降低項(xiàng)目實(shí)施在質(zhì)量上的波動(dòng)。 臺(tái)階五:CMMI五級(jí),優(yōu)化級(jí)。 在優(yōu)化級(jí)水平上,企業(yè)的項(xiàng)目管理達(dá)到了最高的境界。企業(yè)不僅能夠通過(guò)信息手段與數(shù)字化手段來(lái)實(shí)現(xiàn)對(duì)項(xiàng)目的管理,而且能夠充分利用信息資料,對(duì)企業(yè)在項(xiàng)目實(shí)施的過(guò)程中可能出現(xiàn)的次品予以預(yù)防。能夠主動(dòng)地改善流程,運(yùn)用新技術(shù),實(shí)現(xiàn)流程的優(yōu)化。 由上述的五個(gè)臺(tái)階我們可以看出,每一個(gè)臺(tái)階都是上面一階臺(tái)階的基石。要上高層臺(tái)階必須首先踏上較低一層臺(tái)階。企業(yè)在實(shí)施CMMI的時(shí)候,路要一步一步地走。一般地講,應(yīng)該先從二級(jí)入手。在管理上下功夫。爭(zhēng)取最終實(shí)現(xiàn)CMMI的第五級(jí)。
二、系統(tǒng)開(kāi)放與軟件工程的兩個(gè)質(zhì)量模型是什么
軟件工程(Software Engineering,簡(jiǎn)稱(chēng)為SE)是一門(mén)研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。它涉及到程序設(shè)計(jì)語(yǔ)言,數(shù)據(jù)庫(kù),軟件開(kāi)發(fā)工具,系統(tǒng)平臺(tái),標(biāo)準(zhǔn),設(shè)計(jì)模式等方面。
在現(xiàn)代社會(huì)中,軟件應(yīng)用于多個(gè)方面。典型的軟件比如有電子郵件,嵌入式系統(tǒng),人機(jī)界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫(kù),游戲等。同時(shí),各個(gè)行業(yè)幾乎都有計(jì)算機(jī)軟件的應(yīng)用,比如工業(yè),農(nóng)業(yè),銀行,航空,政府部門(mén)等。這些應(yīng)用促進(jìn)了經(jīng)濟(jì)和社會(huì)的發(fā)展,使得人們的工作更加高效,同時(shí)提高了生活質(zhì)量。
軟件工程師是對(duì)應(yīng)用軟件創(chuàng)造軟件的人們的統(tǒng)稱(chēng),軟件工程師按照所處的領(lǐng)域不同可以分為系統(tǒng)分析員,軟件設(shè)計(jì)師,系統(tǒng)架構(gòu)師,程序員,測(cè)試員等等。人們也常常用程序員來(lái)泛指各種軟件工程師。
軟件工程(SoftWare Engineering)的框架可概括為:目標(biāo)、過(guò)程和原則。
(1)軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開(kāi)銷(xiāo)合宜的產(chǎn)品。正確性指軟件產(chǎn)品達(dá)到預(yù)期功能的程度??捎眯灾杠浖窘Y(jié)構(gòu)、實(shí)現(xiàn)及文檔為用戶可用的程度。開(kāi)銷(xiāo)合宜是指軟件開(kāi)發(fā)、運(yùn)行的整個(gè)開(kāi)銷(xiāo)滿足用戶要求的程度。這些目標(biāo)的實(shí)現(xiàn)不論在理論上還是在實(shí)踐中均存在很多待解決的問(wèn)題,它們形成了對(duì)過(guò)程、過(guò)程模型及工程方法選取的約束。
(2)軟件工程過(guò)程:生產(chǎn)一個(gè)最終能滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過(guò)程主要包括開(kāi)發(fā)過(guò)程、運(yùn)作過(guò)程、維護(hù)過(guò)程。它們覆蓋了需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)以及維護(hù)等活動(dòng)。需求活動(dòng)包括問(wèn)題分析和需求分析。問(wèn)題分析獲取需求定義,又稱(chēng)軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計(jì)活動(dòng)一般包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)建立整個(gè)軟件系統(tǒng)結(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)品滿足用戶的要求。維護(hù)活動(dòng)包括使用過(guò)程中的擴(kuò)充、修改與完善。伴隨以上過(guò)程,還有管理過(guò)程、支持過(guò)程、培訓(xùn)過(guò)程等。
(3)軟件工程的原則是指圍繞工程設(shè)計(jì)、工程支持以及工程管理在軟件開(kāi)發(fā)過(guò)程中必須遵循的原則。
一、軟件工程概述
概念:應(yīng)需而生
軟件工程是一類(lèi)工程。工程是將理論和知識(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ù)的提升。軟件工程所涉及的要素可概括如下:
根據(jù)這一框架,可以看出:軟件工程涉及了軟件工程的目標(biāo)、軟件工程原則和軟件工程活動(dòng)。
目標(biāo):我的眼里只有“產(chǎn)品”
軟件工程的主要目標(biāo)是:生產(chǎn)具有正確性、可用性以及開(kāi)銷(xiāo)合宜的產(chǎn)品。正確性意指軟件產(chǎn)品達(dá)到預(yù)期功能的程度??捎眯灾杠浖窘Y(jié)構(gòu)、實(shí)現(xiàn)及文檔為用戶可用的程度。開(kāi)銷(xiāo)合宜性是指軟件開(kāi)發(fā)、運(yùn)行的整個(gè)開(kāi)銷(xiāo)滿足用戶要求的程度。這些目標(biāo)的實(shí)現(xiàn)不論在理論上還是在實(shí)踐中均存在很多問(wèn)題有待解決,它們形成了對(duì)過(guò)程、過(guò)程模型及工程方法選取的約束。
軟件工程活動(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)題分析獲取需求定義,又稱(chēng)軟件需求規(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ò)程等。
框架:四項(xiàng)基本原則是基石
軟件工程圍繞工程設(shè)計(jì)、工程支持以及工程管理,提出了以下四項(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)銷(xiāo)直接取決于對(duì)軟件工程所提供的支撐質(zhì)量和效用。
第四,重視開(kāi)發(fā)過(guò)程的管理。軟件工程的管理,直接影響可用資源的有效利用,生產(chǎn)滿足目標(biāo)的軟件產(chǎn)品,提高軟件組織的生產(chǎn)能力等問(wèn)題。因此,僅當(dāng)軟件過(guò)程得以有效管理時(shí),才能實(shí)現(xiàn)有效的軟件工程。
這一軟件工程框架告訴我們,軟件工程的目標(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é)等。
作用:高效開(kāi)發(fā)高質(zhì)量軟件
自從軟件工程概念提出以來(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è)人或小組的努力。這種依賴(lài)于個(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ì)量的軟件。
二、軟件工程的七條基本原理
自從1968年提出“軟件工程”這一術(shù)語(yǔ)以來(lái),研究軟件工程的專(zhuān)家學(xué)者們陸續(xù) 提出了100多條關(guān)于軟件工程的準(zhǔn)則或信條。 美國(guó)著名的軟件工程專(zhuān)家 Boehm 綜合這些專(zhuān)家的意見(jiàn),并總結(jié)了TRW公司多年的開(kāi)發(fā)軟件的經(jīng)驗(yàn),于1983年提出了軟件工程的七條基本原理。
Boehm 認(rèn)為,著七條原理是確保軟件產(chǎn)品質(zhì)量和開(kāi)發(fā)效率的原理的最小集合。
它們是相互獨(dú)立的,是缺一不可的最小集合;同時(shí),它們又是相當(dāng)完備的。
人們當(dāng)然不能用數(shù)學(xué)方法嚴(yán)格證明它們是一個(gè)完備的集合,但是可以證明,在此之前已經(jīng)提出的100多條軟件工程準(zhǔn)則都可以有這七條原理的任意組合蘊(yùn)含或派生。
下面簡(jiǎn)要介紹軟件工程的七條原理:
1 用分階段的生命周期計(jì)劃嚴(yán)格管理
這一條是吸取前人的教訓(xùn)而提出來(lái)的。統(tǒng)計(jì)表明,50%以上的失敗項(xiàng)目是由于計(jì)劃不周而造成的。在軟件開(kāi)發(fā)與維護(hù)的漫長(zhǎng)生命周期中,需要完成許多性質(zhì)各異的工作。這條原理意味著,應(yīng)該把軟件生命周期分成若干階段,并相應(yīng)制定出切實(shí)可行的計(jì)劃,然后嚴(yán)格按照計(jì)劃對(duì)軟件的開(kāi)發(fā)和維護(hù)進(jìn)行管理。 Boehm 認(rèn)為,在整個(gè)軟件生命周期中應(yīng)指定并嚴(yán)格執(zhí)行6類(lèi)計(jì)劃:項(xiàng)目概要計(jì)劃、里程碑計(jì)劃、項(xiàng)目控制計(jì)劃、產(chǎn)品控制計(jì)劃、驗(yàn)證計(jì)劃、運(yùn)行維護(hù)計(jì)劃。
2 堅(jiān)持進(jìn)行階段評(píng)審
統(tǒng)計(jì)結(jié)果顯示: 大部分錯(cuò)誤是在編碼之前造成的,大約占63%; <2> 錯(cuò)誤發(fā)現(xiàn)的越晚,改正它要付出的代價(jià)就越大,要差2到3個(gè)數(shù)量級(jí)。 因此,軟件的質(zhì)量保證工作不能等到編碼結(jié)束之后再進(jìn)行,應(yīng)堅(jiān)持進(jìn)行嚴(yán)格的階段評(píng)審,以便盡早發(fā)現(xiàn)錯(cuò)誤。
3 實(shí)行嚴(yán)格的產(chǎn)品控制
開(kāi)發(fā)人員最痛恨的事情之一就是改動(dòng)需求。但是實(shí)踐告訴我們,需求的改動(dòng)往往是不可避免的。這就要求我們要采用科學(xué)的產(chǎn)品控制技術(shù)來(lái)順應(yīng)這種要求。也就是要采用變動(dòng)控制,又叫基準(zhǔn)配置管理。當(dāng)需求變動(dòng)時(shí),其它各個(gè)階段的文檔或代碼隨之相應(yīng)變動(dòng),以保證軟件的一致性。
4 采納現(xiàn)代程序設(shè)計(jì)技術(shù)
從六、七時(shí)年代的結(jié)構(gòu)化軟件開(kāi)發(fā)技術(shù),到最近的面向?qū)ο蠹夹g(shù),從第一、第二代語(yǔ)言,到第四代語(yǔ)言,人們已經(jīng)充分認(rèn)識(shí)到:方法大似氣力。采用先進(jìn)的技術(shù)即可以提高軟件開(kāi)發(fā)的效率,又可以減少軟件維護(hù)的成本。
5 結(jié)果應(yīng)能清楚地審查
軟件是一種看不見(jiàn)、摸不著的邏輯產(chǎn)品。軟件開(kāi)發(fā)小組的工作進(jìn)展情況可見(jiàn)性差,難于評(píng)價(jià)和管理。為更好地進(jìn)行管理,應(yīng)根據(jù)軟件開(kāi)發(fā)的總目標(biāo)及完成期限, 盡量明確地規(guī)定開(kāi)發(fā)小組的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),從而使所得到的標(biāo)準(zhǔn)能清楚地審查。
6 開(kāi)發(fā)小組的人員應(yīng)少而精
開(kāi)發(fā)人員的素質(zhì)和數(shù)量是影響軟件質(zhì)量和開(kāi)發(fā)效率的重要因素,應(yīng)該少而精。
這一條基于兩點(diǎn)原因:高素質(zhì)開(kāi)發(fā)人員的效率比低素質(zhì)開(kāi)發(fā)人員的效率要高幾倍到幾十倍,開(kāi)發(fā)工作中犯的錯(cuò)誤也要少的多; 當(dāng)開(kāi)發(fā)小組為N人時(shí),可能的通訊信道為N(N-1)/2, 可見(jiàn)隨著人數(shù)N的增大,通訊開(kāi)銷(xiāo)將急劇增大。
7 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性
遵從上述六條基本原理,就能夠較好地實(shí)現(xiàn)軟件的工程化生產(chǎn)。但是,它們只是對(duì)現(xiàn)有的經(jīng)驗(yàn)的總結(jié)和歸納,并不能保證趕上技術(shù)不斷前進(jìn)發(fā)展的步伐。因此,Boehm提出應(yīng)把承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性作為軟件工程的第七條原理。根據(jù)這條原理,不僅要積極采納新的軟件開(kāi)發(fā)技術(shù),還要注意不斷總結(jié)經(jīng)驗(yàn),收集進(jìn)度和消耗等數(shù)據(jù),進(jìn)行出錯(cuò)類(lèi)型和問(wèn)題報(bào)告統(tǒng)計(jì)。這些數(shù)據(jù)既可以用來(lái)評(píng)估新的 軟件技術(shù)的效果,也可以用來(lái)指明必須著重注意的問(wèn)題和應(yīng)該優(yōu)先進(jìn)行研究的工具和技術(shù)。
面向方面的編程(Aspect Oriented Programming,簡(jiǎn)稱(chēng)AOP)被認(rèn)為是近年來(lái)軟件工程的另外一個(gè)重要發(fā)展。這里的方面指的是完成一個(gè)功能的對(duì)象和函數(shù)的集合。在這一方面相關(guān)的內(nèi)容有泛型編程(Generic Programming)和模板。
參考
胡昆山,《中國(guó)軟件產(chǎn)業(yè)發(fā)展現(xiàn)狀與人才需求》,2003年9月1日,
三、軟件工程的目標(biāo)與常用模型
軟件工程的目標(biāo)是提高軟件的質(zhì)量與生產(chǎn)率,最終實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)。質(zhì)量是軟件需求方最關(guān)心的問(wèn)題,用戶即使不圖物美價(jià)廉,也要求個(gè)貨真價(jià)實(shí)。生產(chǎn)率是軟件供應(yīng)方最關(guān)心的問(wèn)題,老板和員工都想用更少的時(shí)間掙更多的錢(qián)。質(zhì)量與生產(chǎn)率之間有著內(nèi)在的聯(lián)系,高生產(chǎn)率必須以質(zhì)量合格為前提。如果質(zhì)量不合格,對(duì)供需雙方都是壞事情。從短期效益看,追求高質(zhì)量會(huì)延長(zhǎng)軟件開(kāi)發(fā)時(shí)間并且增大費(fèi)用,似乎降低了生產(chǎn)率。從長(zhǎng)期效益看,高質(zhì)量將保證軟件開(kāi)發(fā)的全過(guò)程更加規(guī)范流暢,大大降低了軟件的維護(hù)代價(jià),實(shí)質(zhì)上是提高了生產(chǎn)率,同時(shí)可獲得很好的信譽(yù)。質(zhì)量與生產(chǎn)率之間不存在根本的對(duì)立,好的軟件工程方法可以同時(shí)提高質(zhì)量與生產(chǎn)率。
軟件供需雙方的代表能在餐桌上談笑風(fēng)生,歸功于第一線開(kāi)發(fā)人員的辛勤工作。質(zhì)量與生產(chǎn)率的提高就指望程序員與程序經(jīng)理。對(duì)開(kāi)發(fā)人員而言,如果非得在質(zhì)量與生產(chǎn)率之間分個(gè)主次不可,那么應(yīng)該是質(zhì)量第一,生產(chǎn)率第二。這是因?yàn)椋海?)質(zhì)量直接體現(xiàn)在軟件的每段程序中,高質(zhì)量自然是開(kāi)發(fā)人員的技術(shù)追求,也是職業(yè)道德的要求。(2)高質(zhì)量對(duì)所有的用戶都有價(jià)值,而高生產(chǎn)率只對(duì)開(kāi)發(fā)方有意義。(3)如果一開(kāi)始就追求高生產(chǎn)率,容易使人急功近利,留下隱患。寧可進(jìn)度慢些,也要保證每個(gè)環(huán)節(jié)的質(zhì)量,以圖長(zhǎng)遠(yuǎn)利益。
軟件的質(zhì)量因素很多,如正確性,性能、可靠性、容錯(cuò)性、易用性、靈活性、可擴(kuò)充性、可理解性、可維護(hù)性等等。有些因素相互重疊,有些則相抵觸,真要提高質(zhì)量可不容易?。?
軟件工程的主要環(huán)節(jié)有:人員管理、項(xiàng)目管理、可行性與需求分析、系統(tǒng)設(shè)計(jì)、程序設(shè)計(jì)、測(cè)試、維護(hù)等,如圖1.1所示。
軟件工程模型建議用一定的流程將各個(gè)環(huán)節(jié)連接起來(lái),并可用規(guī)范的方式操作全過(guò)程,如同工廠的生產(chǎn)線。常見(jiàn)的軟件工程模型有:線性模型(圖1.2),漸增式模型(圖1.3),螺旋模型,快速原型模型,形式化描述模型等等 [Pressmam 1999, Sommerville 1992]。
最早出現(xiàn)的軟件工程模型是線性模型(又稱(chēng)瀑布模型)。線性模型太理想化,太單純,已不再適合現(xiàn)代的軟件開(kāi)發(fā)模式,幾乎被業(yè)界拋棄。偶而被人提起,都屬于被貶對(duì)象,未被留一絲惋惜。但我們應(yīng)該認(rèn)識(shí)到,“線性”是人們最容易掌握并能熟練應(yīng)用的思想方法。當(dāng)人們碰到一個(gè)復(fù)雜的“非線性”問(wèn)題時(shí),總是千方百計(jì)地將其分解或轉(zhuǎn)化為一系列簡(jiǎn)單的線性問(wèn)題,然后逐個(gè)解決。一個(gè)軟件系統(tǒng)的整體可能是復(fù)雜的,而單個(gè)子程序總是簡(jiǎn)單的,可以用線性的方式來(lái)實(shí)現(xiàn),否則干活就太累了。線性是一種簡(jiǎn)潔,簡(jiǎn)潔就是美。當(dāng)我們領(lǐng)會(huì)了線性的精神,就不要再呆板地套用線性模型的外表,而應(yīng)該用活它。例如漸增式模型實(shí)質(zhì)就是分段的線性模型,如圖1.3所示。螺旋模型則是接連的彎曲了的線性模型。在其它模型中都能夠找到線性模型的影子。
套用固定的模型不是程序員的聰明之舉。比如“程序設(shè)計(jì)”與“測(cè)試”之間的關(guān)系,習(xí)慣上總以為程序設(shè)計(jì)在先,測(cè)試在后,如圖1.4(a)所示。而對(duì)于一些復(fù)雜的程序,將測(cè)試分為同步測(cè)試與總測(cè)試更有效,如圖1.4(b)所示。
不論是什么軟件工程模型,總是少不了圖1.1中的各個(gè)環(huán)節(jié)。本書(shū)擗開(kāi)具體的軟件工程模型,順序講述人員管理、項(xiàng)目管理、可行性與需求分析、系統(tǒng)設(shè)計(jì)、程序設(shè)計(jì)、測(cè)試,以及維護(hù)與再生工程。其中程序設(shè)計(jì)部分以C++/C語(yǔ)言為例。
四、軟件體系結(jié)構(gòu)和工具的選擇
軟件體系結(jié)構(gòu)表示了一個(gè)軟件系統(tǒng)的高層結(jié)構(gòu),主要特點(diǎn)有:1)軟件系統(tǒng)結(jié)構(gòu)是一個(gè)高層次上的抽象,它并不涉及具體的系統(tǒng)結(jié)構(gòu)(比如B/S還是C/S),也不關(guān)心具體的實(shí)現(xiàn)。2)軟件體系結(jié)構(gòu)必須支持系統(tǒng)所要求的功能,在設(shè)計(jì)軟件體系結(jié)構(gòu)的時(shí)候,必須考慮系統(tǒng)的動(dòng)態(tài)行為。3)在設(shè)計(jì)軟件體系結(jié)構(gòu)的時(shí)候,必須考慮有現(xiàn)有系統(tǒng)的兼容性、安全性和可靠性。同時(shí)還要考慮系統(tǒng)以后的擴(kuò)展性和伸縮性。所以有時(shí)候必須在多個(gè)不同方向的目標(biāo)中進(jìn)行決策。
當(dāng)前已經(jīng)有一些關(guān)于規(guī)范化軟件體系結(jié)構(gòu),比如:ISO的開(kāi)放系統(tǒng)互聯(lián)模型、X Window系統(tǒng)等等。軟件系統(tǒng)的結(jié)構(gòu)通常被定義為兩個(gè)部分:一個(gè)是計(jì)算部件。另一個(gè)就是部件之間的交互。如果把軟件系統(tǒng)看成一幅圖的話,計(jì)算部件就是其中的節(jié)點(diǎn),而部件之間的交互就是節(jié)點(diǎn)之間的弧線。部件之間的連接可以被認(rèn)為是一種連接器,比如過(guò)程調(diào)用、事件廣播、數(shù)據(jù)庫(kù)查詢(xún)等等。正確的體系結(jié)構(gòu)設(shè)計(jì)是軟件系統(tǒng)成功的關(guān)鍵。
我們理解了軟件工程的重要性以后,我們沒(méi)有相應(yīng)的工具,我們也很難很好的完成一個(gè)系統(tǒng)。在需求分析和設(shè)計(jì)階段,我們需要什么樣的工具呢?
當(dāng)然最好是基于UML的CASE工具。當(dāng)前比較流行的就是Rose,它是一個(gè)很好的分析和建立對(duì)象和對(duì)象關(guān)系的工具。在具體編碼的時(shí)候,我們需要版本控制工具,MS的SourceSafe就是一個(gè)很好的版本管理工具和項(xiàng)目管理工具。具體的開(kāi)發(fā)工具當(dāng)然很多,但是如果你是一個(gè)對(duì)VC侵淫了多年的程序員,你一定會(huì)選擇它,因?yàn)樗鼤?huì)讓你感到什么是真正的面向?qū)ο蟮木幊?,而你在用VB,PowerBuilder,Delphi時(shí)很少會(huì)有同樣的感受。至于數(shù)據(jù)庫(kù)模式構(gòu)建,我一向是采用Sybase的S-Design,更好的工具就不知道了。
另外需要注意的是,我們需要建立文檔編寫(xiě)的若干模板,以便開(kāi)發(fā)人員按照這個(gè)模板編寫(xiě)規(guī)范的技術(shù)和說(shuō)明文檔。幫助文檔可以用微軟的HTML Help Workshop(hhw.exe)制作,你也可以編譯成.chm格式,它打包了文本和圖形,只有一個(gè)文件,使用和分發(fā)比較方便。最后,如果開(kāi)發(fā)人員不是集中在一個(gè)地方的話,最好建立一個(gè)郵件列表,開(kāi)發(fā)人員可以通過(guò)郵件系統(tǒng)討論開(kāi)發(fā)中的各項(xiàng)事宜。
五、軟件開(kāi)發(fā)方法綜述
國(guó)外大的軟件公司和機(jī)構(gòu)一直在研究軟件開(kāi)發(fā)方法這個(gè)概念性的東西,而且也提出了很多實(shí)際的開(kāi)發(fā)方法,比如:生命周期法、原型化方法、面向?qū)ο蠓椒ǖ鹊?。下面介紹幾種流行的開(kāi)發(fā)方法:
1、結(jié)構(gòu)化方法
結(jié)構(gòu)化開(kāi)發(fā)方法是由E.Yourdon 和 L.L.Constantine 提出的,即所謂的SASD 方 法, 也可稱(chēng)為面向功能的軟件開(kāi)發(fā)方法或面向數(shù)據(jù)流的軟件開(kāi)發(fā)方法。Yourdon方法是80年代 使用最廣泛的軟件開(kāi)發(fā)方法。它首先用結(jié)構(gòu)化分析(SA)對(duì)軟件進(jìn)行需求分析,然后用結(jié)構(gòu)化設(shè)計(jì)(SD)方法進(jìn)行總體設(shè)計(jì),最后是結(jié)構(gòu)化編程(SP)。它給出了兩類(lèi)典型的軟件結(jié)構(gòu)(變換型和事務(wù)型)使軟件開(kāi)發(fā)的成功率大大提高。
2、面向數(shù)據(jù)結(jié)構(gòu)的軟件開(kāi)發(fā)方法
Jackson方法是最典型的面向數(shù)據(jù)結(jié)構(gòu)的軟件開(kāi)發(fā)方法,Jackson方法把問(wèn)題分解為可由三種基本結(jié)構(gòu)形式表示的各部分的層次結(jié)構(gòu)。三種基本的結(jié)構(gòu)形式就是順序、選擇和重復(fù)。三種數(shù)據(jù)結(jié)構(gòu)可以進(jìn)行組合,形成復(fù)雜的結(jié)構(gòu)體系。這一方法從目標(biāo)系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)入手,導(dǎo)出程序框架結(jié)構(gòu),再補(bǔ)充其它細(xì)節(jié),就可得到完整的程序結(jié)構(gòu)圖。這一方法對(duì)輸入、輸出數(shù)據(jù)結(jié)構(gòu)明確的中小型系統(tǒng)特別有效,如商業(yè)應(yīng)用中的文件表格處理。該方法也可與其它方法結(jié)合,用于模塊的詳細(xì)設(shè)計(jì)。
3、 面向問(wèn)題的分析法
PAM(Problem Analysis Method)是80年代末由日立公司提出的一種軟件開(kāi)發(fā)方法。 它的基本思想是考慮到輸入、輸出數(shù)據(jù)結(jié)構(gòu),指導(dǎo)系統(tǒng)的分解,在系統(tǒng)分析指導(dǎo)下逐步綜 合。這一方法的具體步驟是:從輸入、輸出數(shù)據(jù)結(jié)構(gòu)導(dǎo)出基本處理框;分析這些處理框之間的先后關(guān)系;按先后關(guān)系逐步綜合處理框,直到畫(huà)出整個(gè)系統(tǒng)的PAD圖。這一方法本質(zhì)上是綜合的自底向上的方法,但在逐步綜合之前已進(jìn)行了有目的的分解,這個(gè)目的就是充分考慮系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)。PAM方法的另一個(gè)優(yōu)點(diǎn)是使用PAD圖。這是一種二維樹(shù)形結(jié)構(gòu)圖,是到目前為止最好的詳細(xì)設(shè)計(jì)表示方法之一。當(dāng)然由于在輸入、輸出數(shù)據(jù)結(jié)構(gòu)與整個(gè)系統(tǒng)之間同樣存在著鴻溝,這一方法仍只適用于中小型問(wèn)題。
4、原型化方法
產(chǎn)生原型化方法的原因很多,主要隨著我們系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)的增多,我們也發(fā)現(xiàn)并非所有的需求都能夠預(yù)先定義而且反復(fù)修改是不可避免的。當(dāng)然能夠采用原型化方法是因?yàn)殚_(kāi)發(fā)工具的快速發(fā)展,比如用VB,DELPHI等工具我們可以迅速的開(kāi)發(fā)出一個(gè)可以讓用戶看的見(jiàn)、摸的著的系統(tǒng)框架,這樣,對(duì)于計(jì)算機(jī)不是很熟悉的用戶就可以根據(jù)這個(gè)樣板提出自己的需求。
開(kāi)發(fā)原型化系統(tǒng)一般由以下幾個(gè)階段:
(1) 確定用戶需求
(2) 開(kāi)發(fā)原始模型
(3) 征求用戶對(duì)初始原型的改進(jìn)意見(jiàn)
(4) 修改原型。
原型化開(kāi)發(fā)比較適合于用戶需求不清、業(yè)務(wù)理論不確定、需求經(jīng)常變化的情況。當(dāng)系統(tǒng)規(guī)模不是很大也不太復(fù)雜時(shí)采用該方法是比較好的。
5、面向?qū)ο蟮能浖_(kāi)發(fā)方法
當(dāng)前計(jì)算機(jī)業(yè)界最流行的幾個(gè)單詞就是分布式、并行和面向?qū)ο筮@幾個(gè)術(shù)語(yǔ)。由此可以看到面向?qū)ο筮@個(gè)概念在當(dāng)前計(jì)算機(jī)業(yè)界的地位。比如當(dāng)前流行的兩大面向?qū)ο蠹夹g(shù)DCOM和CORBA就是例子。當(dāng)然我們實(shí)際用到的還是面向?qū)ο蟮木幊陶Z(yǔ)言,比如C++。不可否認(rèn),面向?qū)ο蠹夹g(shù)是軟件技術(shù)的一次革命,在軟件開(kāi)發(fā)史上具有里程碑的意義。
隨著OOP(面向?qū)ο缶幊蹋┫騉OD(面向?qū)ο笤O(shè)計(jì))和OOA(面向?qū)ο蠓治觯┑陌l(fā)展,最終形成面向?qū)ο蟮能浖_(kāi)發(fā)方法OMT (Object Modeling Technique)。這是一種自底向上和自頂向下相結(jié)合的方法,而且它以對(duì)象建模為基礎(chǔ),從而不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構(gòu),實(shí)際上也包含了所有對(duì)象的數(shù)據(jù)結(jié)構(gòu)。所以O(shè)MT徹底實(shí)現(xiàn)了PAM沒(méi)有完全實(shí)現(xiàn)的目標(biāo)。不僅如此,OO技術(shù)在需求分析、可維護(hù)性和可靠性這三個(gè)軟件開(kāi)發(fā)的關(guān)鍵環(huán)節(jié)和質(zhì)量指標(biāo)上有了實(shí)質(zhì)性的突破,基本地解決了在這些方面存在的嚴(yán)重問(wèn)題。
綜上所述,面向?qū)ο笙到y(tǒng)采用了自底向上的歸納、自頂向下的分解的方法,它通過(guò)對(duì)對(duì)象模型的建立,能夠真正建立基于用戶的需求,而且系統(tǒng)的可維護(hù)性大大改善。當(dāng)前業(yè)界關(guān)于面向?qū)ο蠼5臉?biāo)準(zhǔn)是UML(Unified Modeling Language)。
這里我們需要談一下微軟的MSF(Microsoft Solutions Framework)的框架,它簡(jiǎn)單的把系統(tǒng)設(shè)計(jì)分成三個(gè)階段:概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。概念設(shè)計(jì)階段就是從用戶的角度出發(fā)可以得到多少個(gè)對(duì)象,并且以對(duì)象為主體,畫(huà)出業(yè)務(wù)框架。邏輯設(shè)計(jì)階段就是對(duì)概念設(shè)計(jì)階段的對(duì)象進(jìn)行再分析、細(xì)分、整合、刪除。并建立各個(gè)對(duì)象的方法屬性以及對(duì)象之間的關(guān)系。而物理設(shè)計(jì)實(shí)際上就是要確定我們實(shí)際需要的組件、服務(wù)和采用的框架結(jié)構(gòu)、具體的編程語(yǔ)言等。MCF整個(gè)結(jié)構(gòu)比較清楚是基于對(duì)象開(kāi)發(fā)的一個(gè)比較好的可操作的框架系統(tǒng)。
6、可視化開(kāi)發(fā)方法
其實(shí)可視化開(kāi)發(fā)并不能單獨(dú)的作為一種開(kāi)發(fā)方法,更加貼切的說(shuō)可以認(rèn)為它是一種輔助工具,比如用過(guò)SYBASE的S-Design的人都知道,用這個(gè)工具可以進(jìn)行顯示的圖形化的數(shù)據(jù)庫(kù)模式的建立,并可以導(dǎo)入到不同的數(shù)據(jù)庫(kù)中去。當(dāng)然用過(guò)S-Design的人不一定很多,但用過(guò)VB,DELPHI,C++ Builder等開(kāi)發(fā)工具的人一定不少,實(shí)際上你就是在使用可視化開(kāi)發(fā)工具。
當(dāng)然,不可否認(rèn)的是,你只是在編程這個(gè)環(huán)節(jié)上用了可視化,而不是在系統(tǒng)分析和系統(tǒng)設(shè)計(jì)這個(gè)高層次上用了可視化的方法。實(shí)際上,建立系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的可視化工具是一個(gè)很好的賣(mài)點(diǎn),國(guó)外有很多工具都致力于這方面產(chǎn)品的設(shè)計(jì)。比如Business Object就是一個(gè)非常好的數(shù)據(jù)庫(kù)可視化分析工具。
可視化開(kāi)發(fā)使我們把注意力集中在業(yè)務(wù)邏輯和業(yè)務(wù)流程上,用戶界面可以用可視化工具方便的構(gòu)成。通過(guò)操作界面元素,諸如菜單、按鈕、對(duì)話框、編輯框、單選框、復(fù)選框、 列表框和滾動(dòng)條等,由可視開(kāi)發(fā)工具自動(dòng)生成應(yīng)用軟件。
六、怎樣培養(yǎng)軟件工程的思維與方法
作為軟件開(kāi)發(fā)人員的一個(gè)通病是在項(xiàng)目初期的時(shí)候,就喜歡談?wù)搶?shí)現(xiàn)的細(xì)節(jié),并且樂(lè)此不疲。我們更喜歡討論如何用靈活而簡(jiǎn)短的代碼來(lái)實(shí)現(xiàn)一個(gè)特定的功能,而忽略了對(duì)整個(gè)系統(tǒng)架構(gòu)的考慮。所以作為一個(gè)開(kāi)發(fā)人員,尤其是一個(gè)有經(jīng)驗(yàn)的開(kāi)發(fā)人員,應(yīng)該把自己從代碼中解脫出來(lái),更多的時(shí)候在我們的腦子里甚至?xí)簳r(shí)要放棄去考慮如何實(shí)現(xiàn)的問(wèn)題,而從項(xiàng)目或產(chǎn)品的總體去考慮一個(gè)軟件產(chǎn)品。
以下是我個(gè)人的一些經(jīng)驗(yàn):
1.考慮整個(gè)項(xiàng)目或者產(chǎn)品的市場(chǎng)前景。作為一個(gè)真正的系統(tǒng)分析人員,不僅要從技術(shù)的角度來(lái)考慮問(wèn)題,而且還要從市場(chǎng)的角度去考慮問(wèn)題。也就是說(shuō)我們同時(shí)需要考慮我們產(chǎn)品的用戶群是誰(shuí),當(dāng)我們產(chǎn)品投放到市場(chǎng)上的時(shí)候,是否具有生命力。比如即使我們采用最好的技術(shù)實(shí)現(xiàn)了一個(gè)單進(jìn)程的操作系統(tǒng),其市場(chǎng)前景也一定是不容樂(lè)觀的。
2.從用戶的角度來(lái)考慮問(wèn)題。比如一些操作對(duì)于開(kāi)發(fā)人員來(lái)講是非常顯而易見(jiàn)的問(wèn)題。但是對(duì)于一般的用戶來(lái)說(shuō)可能就非常難于掌握,也就是說(shuō),有時(shí)候,我們不得不在靈活性和易用性方面進(jìn)行折中。另外,在功能實(shí)現(xiàn)上,我們也需要進(jìn)行綜合考慮,盡管一些功能十分強(qiáng)大,但是如果用戶幾乎不怎么使用它的話,就不一定在產(chǎn)品的第一版的時(shí)候就推出。從用戶的角度考慮,也就是說(shuō)用戶認(rèn)可的才是好的,并不是開(kāi)發(fā)人員覺(jué)的好才好。
3.從技術(shù)的角度考
三、計(jì)算機(jī)方面的證書(shū)有哪些?
1、計(jì)算機(jī)一級(jí)證書(shū)通過(guò)全國(guó)計(jì)算機(jī)等級(jí)考試獲得。
一級(jí)證書(shū)表明持有人具有計(jì)算機(jī)的基礎(chǔ)知識(shí)和初步應(yīng)用能力,堂握文字、電子表格和演示文稿等辦公自動(dòng)化軟件(MSOffice.WPSOffice)的使用及因特網(wǎng)(Internet)應(yīng)用的基本技能,具備從事機(jī)關(guān)、企事/單位文秘和辦公信息計(jì)算機(jī)化工作的能力。
2、計(jì)算機(jī)二級(jí)證書(shū)通過(guò)全國(guó)計(jì)算機(jī)等級(jí)考試獲得。二級(jí)證書(shū)表明持有人具有計(jì)算機(jī)基礎(chǔ)知識(shí)和使用一種高級(jí)計(jì)算機(jī)語(yǔ)言編寫(xiě)程序以及上機(jī)調(diào)試的基本技能。
3、計(jì)算機(jī)三級(jí)證書(shū)通過(guò)全國(guó)計(jì)算機(jī)等級(jí)考試獲得。分為“嵌入式技術(shù)”、“信息安全技術(shù)”、“數(shù)據(jù)庫(kù)技術(shù)”、“網(wǎng)絡(luò)技術(shù)”和軟件測(cè)試技術(shù)五個(gè)科目。“信息安全技術(shù)”考核計(jì)算機(jī)信息管理應(yīng)用基礎(chǔ)知識(shí)及管理信息系統(tǒng)項(xiàng)目和辦公自動(dòng)化系統(tǒng)項(xiàng)目開(kāi)發(fā)、維護(hù)的基本技能。
4、華為認(rèn)證華為認(rèn)證是深圳華為技術(shù)有限公司(簡(jiǎn)稱(chēng)“華為”)憑借多年信息通信技術(shù)人才培養(yǎng)經(jīng)驗(yàn)及對(duì)行業(yè)發(fā)展的
四、急求軟件工程是如何保證課件開(kāi)發(fā)的質(zhì)量的,最好稍微具體點(diǎn)說(shuō)下,謝謝!
保證。。哪有什么保證 你想多了 軟件工程就是個(gè)吸錢(qián)的專(zhuān)業(yè)。。
以上就是關(guān)于軟件工程與質(zhì)量保證相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢(xún),客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
vi設(shè)計(jì)需要什么軟件(vi設(shè)計(jì)需要用到什么軟件)
濱州景觀設(shè)計(jì)哪家便宜點(diǎn)(濱州市景觀園林工程有限公司)
直通車(chē)計(jì)劃怎么刪除不了(直通車(chē)的計(jì)劃怎么刪除不了)
猜你喜歡
電腦培訓(xùn)班零基礎(chǔ)網(wǎng)課(電腦培訓(xùn)班零基礎(chǔ))
設(shè)計(jì)平臺(tái)接單(平面設(shè)計(jì)接單平臺(tái))
離我最近的電工培訓(xùn)學(xué)校(成人電工培訓(xùn)學(xué)校)
洛陽(yáng)裝飾公司一覽表(洛陽(yáng)裝飾公司名單大全)
美術(shù)ui設(shè)計(jì)是什么(美術(shù)ui設(shè)計(jì)是什么意思)
珠峰培訓(xùn)前端(珠峰培訓(xùn)前端2018全套視頻)
網(wǎng)頁(yè)外觀設(shè)計(jì)(網(wǎng)頁(yè)外觀設(shè)計(jì)怎么設(shè)計(jì))
問(wèn)大家
濟(jì)南微信免費(fèi)相親平臺(tái)?濟(jì)南免費(fèi)靠譜的相親軟件?我想征婚,結(jié)婚
家裝設(shè)計(jì)師軟件要簡(jiǎn)單易學(xué),應(yīng)該用什么?
包裝設(shè)計(jì)需要學(xué)哪些軟件?包裝效果圖怎么做?
學(xué)習(xí)平面設(shè)計(jì)要用到哪些軟件?這樣軟件自己怎么下載???
現(xiàn)在什么相親軟件靠譜?濟(jì)南相親交友征婚app哪個(gè)比較好呢?
免費(fèi)的交友軟件哪個(gè)好啊?哪一個(gè)相親交友APP比較正規(guī)?
濟(jì)南交友軟件哪個(gè)好用而且還是免費(fèi)的?免費(fèi)聊天的同城交友有哪些
手機(jī)免費(fèi)相親軟件哪個(gè)靠譜點(diǎn)?濟(jì)南哪里可以找到對(duì)象?著急??!
濟(jì)南相親群哪個(gè)比較真實(shí)靠譜?有正規(guī)的免費(fèi)交友軟件嗎?求推薦
城中服務(wù)好的專(zhuān)題片企業(yè)形象片拍攝制作正規(guī)什么價(jià)格?各位bss們不勝感激