版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Software Process, Management, and Quality,李 宣 東 南京大學(xué)計算機(jī)科學(xué)與技術(shù)系,Outline,Software ProcessSoftware Quality AssuranceSoftware Configuration ManagementSoftware Project Management Concepts,Software Process,T
2、he software process has been the focus of considerable attention over the last decade. 軟件過程是近十年來人們關(guān)注的焦點(diǎn)。A software process is a framework for the tasks that are required to build high-quality software.軟件過程是為開發(fā)高質(zhì)量軟件所需要完
3、成的任務(wù)的框架。More important, software engineering is performed by creative, knowledgeable people who should work within a defined and mature software process. 軟件工程是有創(chuàng)造力、有知識的人在定義好的、成熟的軟件過程框架中進(jìn)行的。,Software Process,Softwa
4、re engineering layers,A quality focus,process,methods,tools,Software Process,Software engineering is a layered technology:Any engineering approach (including software engineering) must rest on an organizational commit
5、ment to quality. 任何工程方法(包括軟件工程)必須以有組織的質(zhì)量保證為基礎(chǔ)。,Software Process,Software engineering is a layered technology:Total quality management and similar philosophies foster a continuous process improvement culture, and it is
6、 this culture that ultimately leads to the development of increasingly more mature approaches to software engineering. 全面的質(zhì)量管理和類似的理念刺激了不斷的過程改進(jìn),正是這種改進(jìn)導(dǎo)致了更加成熟的軟件工程方法的不斷出現(xiàn)。The bedrock that supports software engineerin
7、g is a focus on quality. 支持軟件工程的根基就在于對質(zhì)量的關(guān)注。,Software Process,Process layer of software engineeringThe foundation for Software engineering is the process layer. Software engineering process is the glue that holds
8、 the technology layers together and enables rational and timely development of computer software. 軟件工程過程是將技術(shù)層結(jié)合在一起的凝聚力,使得軟件能夠被合理地和及時地開發(fā)出來。,Software Process,Process layer of software engineeringProcess defines a fram
9、ework for a set of key process areas (KPAs) that must be established for effective delivery of software engineering technology. 過程定義了一組關(guān)鍵過程區(qū)域的框架,這對于軟件工程技術(shù)的有效應(yīng)用是必須的。The key process areas form the basis for management con
10、trol of software projects and establish the context in which technical methods are applied, work products (models, documents, data, reports, forms, etc.) are produced, milestones are established, quality is ensured, and
11、change is properly managed. 關(guān)鍵過程區(qū)域構(gòu)成了軟件項目管理控制的基礎(chǔ),并且確定了上下各區(qū)域之間的關(guān)系,規(guī)定了技術(shù)方法的采用、工程產(chǎn)品(模型、文檔、數(shù)據(jù)、報告、表格等)的產(chǎn)生、里程碑的建立、質(zhì)量的保證及變化的適當(dāng)管理。,Software Process,Methods layer of software engineeringSoftware engineering methods provide the t
12、echnical how-to’s for building software. 軟件工程方法提供了為開發(fā)軟件在技術(shù)上需要“如何做”。Methods encompass a broad array of tasks that include requirements analysis, design, program construction, testing, and maintenance. 方法涵蓋了一系列的任務(wù):需求分析、設(shè)計
13、、編程、測試和維護(hù)。Software engineering methods rely on a set of basic principles that govern each area of the technology and include modeling activities and other descriptive techniques. 軟件工程方法依賴于一組原則,這些原則控制了每一個技術(shù)區(qū)域,且包含建?;顒雍推渌?/p>
14、述技術(shù)。,Software Process,Tool later of software engineeringSoftware engineering tools provide automated or semi-automated support for the process and methods. 軟件工程工具對過程和方法提供了自動的或半自動的支持。When tools are integrated so that i
15、nformation created by one tool can be used by another, a system for the support of software development, called computer-aided software engineering (CASE), is established.當(dāng)這些工具被集成起來使得一個工具產(chǎn)生的信息可以被另外一個工具使用時,一個支持軟件開發(fā)的系統(tǒng)就建立了
16、,稱為計算機(jī)輔助軟件工程(CASE)。,Software Process,Tool later of software engineeringCASE combines software, hardware, and software engineering database (a repository containing important information about analysis, design, program
17、construction, and testing) to create a software engineering environment. CASE集成了軟件、硬件和一個軟件工程數(shù)據(jù)庫(包含了關(guān)于分析、設(shè)計、編程和測試的重要信息),從而形成了一個軟件工程環(huán)境。,Software Process,A generic view of software engineering The work as
18、sociated with software engineering can be categorized into three generic phases, regardless of application area, project size, or complexity:The definition phase focuses on what.The development phase focuses on how.Th
19、e support (maintenance) phase focuses on change.,Software Process,A generic view of software engineering The phases and related steps described in generic view of software engineering are complemented by a number o
20、f umbrella activity (保護(hù)性活動):Software project tracking and controlFormal technical reviewsSoftware quality assuranceSoftware configuration managementDocument preparation and productionReusability managementMeasurem
21、entRisk management,Software Process,過程:為實現(xiàn)一個給定目標(biāo)而進(jìn)行的一系列運(yùn)作步驟。過程具有一系列的性質(zhì):時間性、并發(fā)性、嵌套性和度量性等。軟件過程:開發(fā)和維護(hù)軟件及其相關(guān)產(chǎn)品所設(shè)及的一系列活動。過程是框架的集合;框架是任務(wù)的集合;任務(wù)是把輸入轉(zhuǎn)換為輸出的活動。,Software Process,A software process can be characterized as follows
22、:A common process framework is established by defineing a small number of framework activities that are applicable to all software projects, regardless of their size or complexity.A number of task sets - each a collect
23、ion of software engineering work tasks, project milestones, work products, and quality assurance points - enable the framework activities to be adapted to the characteristics of the software project and the requirements
24、of the project team.Umbrella activities - such as software quality assurance, software configuration management, and measurement - overlay the process model. Umbrella activities are independent of any one framework acti
25、vity and occur throughout the process.,Software Process,,,,,,Milestones, deliverables,SQA points,Common process framework,Framework activities,Umbrella activities,Task sets,Tasks,Software Process,軟件過程提供了一個框架,在該框架下可以建立一個軟
26、件開發(fā)的綜合計劃:若干框架活動適用于所有軟件項目,而不在乎其規(guī)模和復(fù)雜性。若干不同任務(wù)的集合----每一個集合都由任務(wù)、里程碑、交付物以及質(zhì)量保證點(diǎn)組成----使得框架活動適應(yīng)于不同軟件項目的特征和項目組的需求。若干保護(hù)性活動----如軟件質(zhì)量保證、軟件配置管理、測試與度量----它們貫穿于整個過程模型之中。保護(hù)性活動獨(dú)立于任何一個框架活動,且貫穿于整個過程之中。,Software Process Models,軟件過程模型是軟件
27、開發(fā)的指導(dǎo)思想和全局性框架,軟件過程模型的提出和發(fā)展反映了人們對軟件過程的某種認(rèn)識觀,體現(xiàn)了人們對軟件過程認(rèn)識的提高和飛躍。,Software Process Models,瀑布模型強(qiáng)調(diào)階段的劃分及其順序性、各階段工作及其文檔的完備性,是一種嚴(yán)格線性的、按階段順序的、逐步細(xì)化的開發(fā)模式。,定義,分析,設(shè)計,編碼,測試,維護(hù),,,,,,,,,,,Software Process Models,瀑布模型的特點(diǎn):結(jié)構(gòu)簡單明了;
28、歷史較長、應(yīng)用面廣泛、為廣大軟件工作者所熟悉;已有與之配套的一組十分成熟的開發(fā)方法和豐富的支撐工具。確定了需求分析的絕對重要性,但是在實踐中要想獲得完善的需求說明是非常困難的;反饋信息慢。,Software Process Models,The Prototyping model (原型模型),,,Listen to customer,Build/revisemock-up,Customertest drivesmock-up
29、,,,,,,,,,,,,,,,,,Software Process Models,原型模型的特點(diǎn):原型作為標(biāo)識軟件需求的一種機(jī)制,原型被建造僅是為了定義需求,之后就該被拋棄(或至少部分拋棄);實際的軟件在充分考慮了質(zhì)量和可維護(hù)性之后才被開發(fā)。,Software Process Models,Evolutionary software process models(演化軟件過程模型)There is growing recogn
30、ition that software, like all complex systems, evolves over a period of time. Business and product requirements often change as development proceeds, making a straight path to an end product unrealistic. 人
31、們已經(jīng)越來越認(rèn)識到軟件就象所有復(fù)雜系統(tǒng)一樣要經(jīng)過一段時間的演化。業(yè)務(wù)和產(chǎn)品需求隨著開發(fā)的發(fā)展常常發(fā)生改變,想找到最終產(chǎn)品的一條直線路徑是不可能的。,Software Process Models,Evolutionary software process models(演化軟件過程模型)Tight market deadlines make completion of a comprehensive software product
32、 impossible, but a limited version must be introduced to meet competitive or business pressure; a set of core product or system requirements is well understood, but the details of product or system extensions have yet to
33、 be defined. 緊迫的市場期限使得難以完成一個完善的軟件產(chǎn)品,但可以先提交一個有限的版本以對付競爭或商業(yè)的壓力;只要核心產(chǎn)品或系統(tǒng)需求能夠很好地理解,而產(chǎn)品或系統(tǒng)的細(xì)節(jié)部分可以進(jìn)一步定義。,Software Process Models,Evolutionary software process models(演化軟件過程模型)Evolutionary models are iterativ
34、e. They are characterized in a manner that enables software engineers to develop increasingly more complete versions of the software. 演化模型是利用一種迭代的思想方法,它的特征是使軟件工程師漸進(jìn)地開發(fā)逐步完善的軟件版本。The incremental model (增量模型)The spira
35、l model (螺旋模型),Software Process Models,The incremental model (增量模型),分析,設(shè)計,編碼,測試,分析,設(shè)計,編碼,測試,分析,設(shè)計,編碼,測試,,,,,,,,,,增量1,增量2,增量3,Software Process Models,增量模型的特點(diǎn):以功能遞增的方式進(jìn)行軟件開發(fā)能較快地產(chǎn)生可操作的系統(tǒng);在每一步遞增中,都可以把用戶/開發(fā)者的經(jīng)驗結(jié)合到不斷求精的產(chǎn)品中;
36、可改善測試效果和降低軟件開發(fā)總成本。,Software Process Models,The spiral Model螺旋模型,,,,,需求定義,評審,風(fēng)險分析,工程實現(xiàn),Software Process Models,螺旋模型的特點(diǎn):把軟件開過程組成為一個逐步細(xì)化的定義周期(螺旋周期)序列,每經(jīng)歷一個周期,系統(tǒng)就得到進(jìn)一步的細(xì)化和完善;本質(zhì)上,具有上述特征的螺旋是一直運(yùn)轉(zhuǎn)的直到軟件退役。有時這個過程處于睡眠狀態(tài),但任何時候出現(xiàn)
37、了改變,過程都會從合適的入口點(diǎn)開始;,Software Process Models,螺旋模型的特點(diǎn):緊密圍繞開發(fā)中的風(fēng)險問題,用風(fēng)險分析推動軟件設(shè)計向深一層擴(kuò)展、求精;強(qiáng)調(diào)持續(xù)地判斷、確定和修改用戶任務(wù)目標(biāo),并按成本、效益來分析候選的軟件產(chǎn)品性質(zhì)對任務(wù)目標(biāo)的貢獻(xiàn);可結(jié)合采用多種軟件開發(fā)方法,但究竟結(jié)合哪一種方法仍由風(fēng)險分析來決定。,Software Process Models,The formal methods model
38、(形式化方法模型) 形式化方法的主要目的是要把軟件開發(fā)過程建立在嚴(yán)密可行的數(shù)學(xué)基礎(chǔ)之上,從而提高軟件質(zhì)量和軟件生產(chǎn)率。事后的或并行的一種輔助手段,用以對系統(tǒng)的性質(zhì)進(jìn)行嚴(yán)格的驗證;集成到軟件開發(fā)過程中,希望在嚴(yán)格的形式系統(tǒng)的基礎(chǔ)上,實現(xiàn)從需求規(guī)約到程序代碼的轉(zhuǎn)換和過渡。,Software Process Management,改進(jìn)軟件過程研究軟件過程本質(zhì)上是為了突出關(guān)鍵過程以改善軟件的質(zhì)量。人們已經(jīng)得到共識,要提高
39、軟件質(zhì)量必須改進(jìn)軟件過程。,Software Process Management,改進(jìn)軟件過程軟件機(jī)構(gòu)形成一套完整而成熟的軟件過程不是一蹴而就的,它需要一個從無序到有序,從特殊到一般,從定性到定量,最后再從靜態(tài)到動態(tài)的歷程,或者說軟件機(jī)構(gòu)在形成成熟的軟件過程之前必須經(jīng)歷一系列的成熟階段。,Software Process Management,改進(jìn)軟件過程因此有必要建立一個軟件過程成熟度模型來對過程作出一個客觀、公正的評價,以促進(jìn)
40、軟件開發(fā)組織改進(jìn)軟件過程。,Software Process Management,軟件過程成熟度 指一個特定的軟件過程被顯式定義、管理、度量、控制和能行的程度。成熟度可以用于指示企業(yè)加強(qiáng)其軟件過程能力的潛力。 當(dāng)一個企業(yè)達(dá)到了一定的軟件過程成熟級別后,它將通過制定策略、建立標(biāo)準(zhǔn)和確立機(jī)構(gòu)結(jié)構(gòu)使它的軟件過程制度化。而制度化又促使企業(yè)通過建立基礎(chǔ)設(shè)施和公司文化來支持相關(guān)的方法、實踐和過程。從而使之可以持續(xù)并維持一
41、個良性循環(huán)。,Software Process Management,不成熟企業(yè)的標(biāo)志:缺乏確定的軟件過程和相應(yīng)的管理和控制; 即使給出了軟件過程,也不嚴(yán)格的遵循和強(qiáng)制執(zhí)行; 管理是完全被動的,管理者采用的策略是救火式的,即出了事才去解決,解決的時候也難以縱觀全局,往往只顧眼前;,Software Process Management,不成熟企業(yè)的標(biāo)志:由于缺乏有依據(jù)的估算,制訂軟件預(yù)算和生產(chǎn)計劃時往往跟著感覺走,實際生產(chǎn)時則常
42、常超標(biāo); 如果強(qiáng)制在預(yù)定期限內(nèi)完成,那么軟件的功能和質(zhì)量肯定是得不到保證; 缺乏評價軟件產(chǎn)品質(zhì)量和解決產(chǎn)品缺陷和過程問題的客觀基礎(chǔ)。,Software Process Management,成熟企業(yè)的標(biāo)志:具有在企業(yè)范圍內(nèi)管理、控制軟件開發(fā)和維護(hù)過程的能力; 現(xiàn)有人員和新進(jìn)人員均了解所遵循的軟件過程,且工作活動均按照事先的計劃完成; 在定義好的軟件過程中,所有項目和機(jī)構(gòu)中的角色和責(zé)任分明;,Software Process M
43、anagement,成熟企業(yè)的標(biāo)志:制定的計劃是有效的且與實際的工作進(jìn)展一致; 軟件過程在必要時可按照一定規(guī)則和程序加以修改;,Software Process Management,成熟企業(yè)的標(biāo)志:軟件產(chǎn)品和過程具有一定的可控性: 1. 管理者能夠監(jiān)督軟件產(chǎn)品的質(zhì)量和生產(chǎn)過程; 2. 具有客觀的和定量化的措施來判斷產(chǎn)品質(zhì)量并分析產(chǎn)品與生產(chǎn) 過程中的問題; 3. 計劃和預(yù)算有章可
44、循,它是基于歷史數(shù)據(jù)的,從而是實際可行 的; 4. 預(yù)算的結(jié)果,包括成本、時間表、產(chǎn)品功能和質(zhì)量等,通常能 夠達(dá)到; 5. 有關(guān)的參與者完全理解遵循軟件過程的價值并認(rèn)真地遵循之; 6. 具有支撐軟件過程的基礎(chǔ)設(shè)施,如標(biāo)準(zhǔn)過程庫、歷史數(shù)據(jù)庫等。,Software Process Management,軟件能力成熟度模型( Capability Maturity Mo
45、del,CMM)軟件能力成熟度模型提美國大學(xué)Carnegie Mellon University軟件工程研究所出的一套系統(tǒng)、規(guī)范的對軟件生產(chǎn)過程進(jìn)行管理的模型,其有效性已為大量實踐所證實,并已成為對一個軟件企業(yè)的生產(chǎn)能力和產(chǎn)品質(zhì)量進(jìn)行衡量的事實標(biāo)準(zhǔn)。,Software Process Management,軟件能力成熟度模型(CMM)CMM被用來確定一個機(jī)構(gòu)的軟件過程的成熟程度以及指明如何提高該成熟度的參考模型。CMM描述了軟件過
46、程從無序到有序、從特殊到一般、從定性管理到定量管理、最終到達(dá)可動態(tài)優(yōu)化的成熟過程,給出了該過程中五個成熟階段的基本特征和應(yīng)遵循的原則、 采取的行動,以幫助軟件機(jī)構(gòu)改進(jìn)其軟件過程。,Software Process Management,CMM的主要作用 CMM可以指導(dǎo)軟件機(jī)構(gòu)如何控制軟件產(chǎn)品的開發(fā)和維護(hù)過程,以及如何向成熟的軟件工程體系演化,并形成一套良性循環(huán)的管理文化。具體說來,一個企業(yè)要想改進(jìn)其生產(chǎn)過程,應(yīng)該采取如下
47、策略和步驟:確定軟件企業(yè)當(dāng)前所處的過程成熟級別; 了解對改進(jìn)軟件生產(chǎn)質(zhì)量和加強(qiáng)生產(chǎn)過程控制起關(guān)鍵作用的因素; 將工作重點(diǎn)集中在有限幾個關(guān)鍵目標(biāo)上,有效達(dá)到改進(jìn)機(jī)構(gòu)軟件生產(chǎn)過程的效果,進(jìn)而可持續(xù)地改進(jìn)其軟件生產(chǎn)能力。,Software Process Management,CMM的基本前提軟件質(zhì)量在很大程度上取決于產(chǎn)生軟件的軟件過程的質(zhì)量和能力; 軟件過程是一個可管理、可度量并不斷改進(jìn)的過程; 軟件過程的質(zhì)量受到用以支撐它的技
48、術(shù)和設(shè)施的影響; 企業(yè)在軟件過程中所采用的技術(shù)層次應(yīng)適應(yīng)于軟件過程的成熟度。,Software Process Management,CMM的基本原理CMM強(qiáng)調(diào)連續(xù)的軟件過程改進(jìn)。該連續(xù)的改進(jìn)基于多個演化步驟。CMM將這些演化步驟劃分成五個級別。這種分級結(jié)構(gòu)的理論依據(jù)是軟件質(zhì)量原理。 每一級別都包括若干目標(biāo)。當(dāng)滿足某一目標(biāo)后,軟件過程的相應(yīng)部分便確定下來。 五級成熟度定義了一個標(biāo)準(zhǔn),用以度量機(jī)構(gòu)的軟件過程成熟度和評價其軟件過程能
49、力。,Software Process Management,CMM的基本內(nèi)容機(jī)構(gòu)和資源的管理:涉及機(jī)構(gòu)本身的責(zé)任,人員和其它資源設(shè)施。 軟件工程過程及其管理:涉及軟件工程過程,即軟件過程的深度、范圍和完整性以及如何度量、管理和改進(jìn)這樣的過程。 工具和技術(shù):軟件工程過程中使用的開發(fā)工具和技術(shù)。,Software Process Management,CMM contains five process maturity levels
50、(CMM的五個成熟度級別)Level 1: Initial (初始級) Level 2: Repeatable (可重復(fù)級:有規(guī)章的過程 )Level 3: Defined (定義級:標(biāo)準(zhǔn)化、一致的過程) Level 4: Managed (管理級:可預(yù)測過程) Level 5: Optimizing (優(yōu)化級:可持續(xù)改進(jìn)的過程),Software Process Management,CMM的初始級(第一級)成功來源于
51、個人英雄主義而非機(jī)構(gòu)行為,因此它不可重復(fù),更換人員后成功便難以維持。,Software Process Management,CMM的可重復(fù)級(第二級)針對特定軟件項目建立管理該項目的策略和實現(xiàn)這些策略的過程。 新項目的計劃和管理基于類似項目的經(jīng)驗。 軟件過程能力主要通過管理單個項目的軟件生產(chǎn)過程來得到提高和增強(qiáng)。 不同的項目可有不同的軟件過程,機(jī)構(gòu)應(yīng)當(dāng)建立一定的方針和策略以針對具體的項目選擇合適的軟件生產(chǎn)過程并進(jìn)行管理。,So
52、ftware Process Management,CMM的可重復(fù)級(第二級) 可重復(fù)級的主要特點(diǎn)在于確定了基本的軟件生產(chǎn)管理和控制,具體來講有:結(jié)合已有項目的經(jīng)驗和新項目的特點(diǎn)來確定本項目的責(zé)任和承諾; 軟件生產(chǎn)成本、時間表和實現(xiàn)的功能被有效跟蹤; 識別實現(xiàn)承諾所需解決的關(guān)鍵問題; 定義軟件項目過程標(biāo)準(zhǔn),機(jī)構(gòu)要確保其被遵守。,Software Process Management,CMM的可重復(fù)級(第二級)
53、 概括來說,第二級的主要特點(diǎn)是項目計劃和跟蹤是確定且有效的,項目的軟件過程是可控的,以及已有的成功經(jīng)驗是可重復(fù)的。,Software Process Management,CMM的定義級(第三級)有一個機(jī)構(gòu)范圍內(nèi)標(biāo)準(zhǔn)的軟件過程,軟件工程活動和管理活動被集成為一個有機(jī)的整體。標(biāo)準(zhǔn)化的目的是使高層管理者和軟件技術(shù)人員能夠有效合作。 有一個組例如軟件工程組(SEPG)專門負(fù)責(zé)訂立機(jī)構(gòu)的標(biāo)準(zhǔn)軟件過程,并且在機(jī)構(gòu)中制定培
54、訓(xùn)計劃來確保相關(guān)人員和管理者有足夠的知識和技能完成標(biāo)準(zhǔn)過程所賦予的角色。 標(biāo)準(zhǔn)的軟件過程結(jié)合具體項目的特點(diǎn)經(jīng)過裁剪即形成項目定義軟件過程,它是一組集成的完善定義的軟件工程和管理過程。,Software Process Management,CMM的定義級(第三級)一個完善定義的軟件過程應(yīng)包括就緒準(zhǔn)則、輸入、工作過程、驗證機(jī)制、輸出和完成準(zhǔn)則。 對于已建立的產(chǎn)品生產(chǎn)線,其成本、時間表和實現(xiàn)功能均可跟蹤和控制,軟件產(chǎn)品的質(zhì)量可以得到保
55、證。 軟件過程能力的實現(xiàn)主要基于在機(jī)構(gòu)范圍內(nèi)對一個定義軟件過程的活動、角色和責(zé)任的共同理解。,Software Process Management,CMM的定義級(第三級) 概括來說,第三級的主要特征在于軟件過程已被提升成標(biāo)準(zhǔn)化過程,從而更加具有穩(wěn)定性、重復(fù)性和可控性。,Software Process Management,CMM的管理級(第四級) 軟件的過程和產(chǎn)品有定量的質(zhì)量指標(biāo): 重要的軟件過程活
56、動均配有生產(chǎn)率和質(zhì)量方面的度量指標(biāo); 應(yīng)用數(shù)據(jù)庫來收集和分析定義軟件過程中涉及的各種數(shù)據(jù); 對項目軟件過程和軟件質(zhì)量的評價有定量的基準(zhǔn)。,Software Process Management,CMM的管理級(第四級) 軟件項目的產(chǎn)品和生產(chǎn)過程的控制具有可預(yù)測性: 將軟件過程效能可能出現(xiàn)的偏差控制在可接受的量化界限內(nèi); 具體區(qū)分影響過程效能發(fā)生偏差的有效因素和偶然因素; 向新領(lǐng)域拓展的風(fēng)險是可預(yù)知的并被仔細(xì)管理和權(quán)衡。
57、,Software Process Management,CMM的管理級(第四級) 概括來說,第四級的主要特征是定量化、可預(yù)測、異常控制和高質(zhì)量。,Software Process Management,CMM的優(yōu)化級(第五級) 機(jī)構(gòu)集中于持續(xù)的過程改進(jìn):具有標(biāo)識過程缺陷和增強(qiáng)過程能力的有效手段。 利用試驗數(shù)據(jù)分析使用新技術(shù)所需的代價和帶來的效益,然后再有選擇地采用。 當(dāng)出現(xiàn)偏差時,軟件項目人員能夠分
58、析出錯原因并采取有效手段防止其再次出現(xiàn)。 防止不必要的浪費(fèi)是第五級的重點(diǎn)。,Software Process Management,CMM的優(yōu)化級(第五級) 改進(jìn)的途徑有兩個,一個是對已有過程的漸進(jìn)式改進(jìn);另一個則是有選擇地使用新技術(shù)和新方法所帶來的革新。 概括來說,第五級的主要特征是新技術(shù)的采用和軟件過程的改進(jìn)被作為日常的業(yè)務(wù)活動來加以計劃和管理。,Software Process M
59、anagement,如何看待CMM:梯子鏡子牌子補(bǔ)藥,Software Quality,Software quality is defined as Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit charact
60、eristics that are expected of all professionally developed software. 明確聲明的功能和性能需求、明確文檔化過的開發(fā)標(biāo)準(zhǔn)、以及專業(yè)人員開發(fā)的軟件所應(yīng)具有的所有隱含特征都得到滿足。,Software Quality,Definition of software qualitySoftware requirements are the foundation from
61、which quality is measured. Lack of conformance to requirements is lack of quality. 軟件需求是進(jìn)行“質(zhì)量”度量的基礎(chǔ)。與需求不符就是質(zhì)量不高。Specified standards define a set of development criteria that guide the manner in which software is eng
62、ineered. If the criteria are not followed, lack of quality will almost surely result. 指定的標(biāo)準(zhǔn)定義了一組指導(dǎo)軟件開發(fā)的準(zhǔn)則。如果不能遵守這些準(zhǔn)則,就極有可能導(dǎo)致質(zhì)量不高。,Software Quality,Definition of software qualityA set of implicit requirements (e.g
63、., the desire for ease of use and good maintainability) often goes unmentioned. If software conforms to its explicit requirements but fails to meet implicit requirements, software quality is suspect. 通常有一組“隱含需求”是不被提
64、及的(如對維護(hù)性的需求)。如果軟件符合了明確的需求卻沒有滿足隱含需求,軟件質(zhì)量仍然值得懷疑。,Software Quality,軟件質(zhì)量,質(zhì)量要素,質(zhì)量要素,衡量標(biāo)準(zhǔn),衡量標(biāo)準(zhǔn),衡量標(biāo)準(zhǔn),衡量標(biāo)準(zhǔn),度量,度量,度量,度量,度量,度量,度量,度量,,,,,,,,,,,,,,,Software Quality,McCall模型中的軟件質(zhì)量要素,,,,,,,產(chǎn)品修改,產(chǎn)品變遷,產(chǎn)品運(yùn)行,Maintainability(易維護(hù)性)Fle
65、xibility (靈活性)Testability (易測試性),Portability (易移植性)Reusability (易復(fù)用性)Interoperability (互用性),Correctness (正確性) Reliability (可靠性) Efficiency (高效率)Integrity (完整性) Usability (易使用性),Software Quality Assurance,Sof
66、tware quality assurance (SQA) is an umbrella activity that is applied throughout the software process.,Software Quality Assurance,SQA encompassesa quality management approach (一種質(zhì)量管理方法)effective software engineering te
67、chnology (methods and tools) (有效的軟件工程技術(shù)(方法和工具))formal technical reviews that are applied throughout the software process (在整個軟件過程中采用的正式技術(shù)復(fù)審)a multitiered testing strategy (一種多層次的測試策略)control of software documentation
68、and the changes made to it (對軟件文檔及其修改的控制)a procedure to ensure compliance with software development standards (保證遵從軟件開發(fā)標(biāo)準(zhǔn)的規(guī)程)measurement and reporting mechanism (度量和報告機(jī)制),SQA小組,在一個組織中有多個機(jī)構(gòu)負(fù)有保證軟件質(zhì)量的責(zé)任,包括軟件工程師、項目管理者、客戶、銷
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字圖象處理概述---南京大學(xué)計算機(jī)科學(xué)與技術(shù)系
- 機(jī)器翻譯理論和技術(shù)-南京大學(xué)計算機(jī)科學(xué)與技術(shù)系
- 南京大學(xué)計算機(jī)科學(xué)與技術(shù)系-數(shù)值計算方法第4章2
- 2019南京大學(xué)計算機(jī)系計算機(jī)科學(xué)與技術(shù)考研初試科目及參考書目
- 第五章語法制導(dǎo)的翻譯-南京大學(xué)計算機(jī)科學(xué)與技術(shù)系
- 2019南京大學(xué)計算機(jī)845考研經(jīng)驗
- 2019南京大學(xué)計算機(jī)系計算機(jī)技術(shù)考研初試科目及參考書目
- 383分南京大學(xué)計算機(jī)考研經(jīng)驗
- 南京大學(xué)教育科學(xué)與管理系
- 2019南京大學(xué)計算機(jī)系各專業(yè)招生人數(shù)及要求
- 南京大學(xué)計算機(jī)學(xué)科邀請報告審批表
- 南京大學(xué)計算機(jī)軟件新技術(shù)國家重點(diǎn)實驗室
- 南京大學(xué)金陵學(xué)院信息科學(xué)與工程系
- 2018南京大學(xué)計算機(jī)專碩考研復(fù)試經(jīng)驗總結(jié)
- 南京大學(xué)
- 計算機(jī)科學(xué)與技術(shù)系
- 2020南京大學(xué)人工智能學(xué)院計算機(jī)科學(xué)與技術(shù)考研初試科目及參考書目
- 2018年南京大學(xué)計算機(jī)技術(shù)專碩考試準(zhǔn)備過程與經(jīng)驗小述
- 2019南京大學(xué)計算機(jī)系軟件工程考研初試科目及參考書目
- 024計算機(jī)科學(xué)與技術(shù)系
評論
0/150
提交評論