版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Software Process, Management, and Quality,李 宣 東 南京大學(xué)計(jì)算機(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ò)程是近十年來(lái)人們關(guān)注的焦點(diǎn)。A software process is a framework for the tasks that are required to build high-quality software.軟件過(guò)程是為開(kāi)發(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)造力、有知識(shí)的人在定義好的、成熟的軟件過(guò)程框架中進(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ì)量管理和類似的理念刺激了不斷的過(guò)程改進(jìn),正是這種改進(jìn)導(dǎo)致了更加成熟的軟件工程方法的不斷出現(xiàn)。The bedrock that supports software engineerin
7、g is a focus on quality. 支持軟件工程的根基就在于對(duì)質(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. 軟件工程過(guò)程是將技術(shù)層結(jié)合在一起的凝聚力,使得軟件能夠被合理地和及時(shí)地開(kāi)發(fā)出來(lái)。,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ò)程定義了一組關(guān)鍵過(guò)程區(qū)域的框架,這對(duì)于軟件工程技術(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)鍵過(guò)程區(qū)域構(gòu)成了軟件項(xiàng)目管理控制的基礎(chǔ),并且確定了上下各區(qū)域之間的關(guān)系,規(guī)定了技術(shù)方法的采用、工程產(chǎn)品(模型、文檔、數(shù)據(jù)、報(bào)告、表格等)的產(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. 軟件工程方法提供了為開(kāi)發(fā)軟件在技術(shù)上需要“如何做”。Methods encompass a broad array of tasks that include requirements analysis, design, program construction, testing, and maintenance. 方法涵蓋了一系列的任務(wù):需求分析、設(shè)計(jì)
13、、編程、測(cè)試和維護(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. 軟件工程方法依賴于一組原則,這些原則控制了每一個(gè)技術(shù)區(qū)域,且包含建?;顒?dòng)和其他描
14、述技術(shù)。,Software Process,Tool later of software engineeringSoftware engineering tools provide automated or semi-automated support for the process and methods. 軟件工程工具對(duì)過(guò)程和方法提供了自動(dòng)的或半自動(dòng)的支持。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)這些工具被集成起來(lái)使得一個(gè)工具產(chǎn)生的信息可以被另外一個(gè)工具使用時(shí),一個(gè)支持軟件開(kāi)發(fā)的系統(tǒng)就建立了
16、,稱為計(jì)算機(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集成了軟件、硬件和一個(gè)軟件工程數(shù)據(jù)庫(kù)(包含了關(guān)于分析、設(shè)計(jì)、編程和測(cè)試的重要信息),從而形成了一個(gè)軟件工程環(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ù)性活動(dòng)):Software project tracking and controlFormal technical reviewsSoftware quality assuranceSoftware configuration managementDocument preparation and productionReusability managementMeasurem
21、entRisk management,Software Process,過(guò)程:為實(shí)現(xiàn)一個(gè)給定目標(biāo)而進(jìn)行的一系列運(yùn)作步驟。過(guò)程具有一系列的性質(zhì):時(shí)間性、并發(fā)性、嵌套性和度量性等。軟件過(guò)程:開(kāi)發(fā)和維護(hù)軟件及其相關(guān)產(chǎn)品所設(shè)及的一系列活動(dòng)。過(guò)程是框架的集合;框架是任務(wù)的集合;任務(wù)是把輸入轉(zhuǎn)換為輸出的活動(dòng)。,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,軟件過(guò)程提供了一個(gè)框架,在該框架下可以建立一個(gè)軟
26、件開(kāi)發(fā)的綜合計(jì)劃:若干框架活動(dòng)適用于所有軟件項(xiàng)目,而不在乎其規(guī)模和復(fù)雜性。若干不同任務(wù)的集合----每一個(gè)集合都由任務(wù)、里程碑、交付物以及質(zhì)量保證點(diǎn)組成----使得框架活動(dòng)適應(yīng)于不同軟件項(xiàng)目的特征和項(xiàng)目組的需求。若干保護(hù)性活動(dòng)----如軟件質(zhì)量保證、軟件配置管理、測(cè)試與度量----它們貫穿于整個(gè)過(guò)程模型之中。保護(hù)性活動(dòng)獨(dú)立于任何一個(gè)框架活動(dòng),且貫穿于整個(gè)過(guò)程之中。,Software Process Models,軟件過(guò)程模型是軟件
27、開(kāi)發(fā)的指導(dǎo)思想和全局性框架,軟件過(guò)程模型的提出和發(fā)展反映了人們對(duì)軟件過(guò)程的某種認(rèn)識(shí)觀,體現(xiàn)了人們對(duì)軟件過(guò)程認(rèn)識(shí)的提高和飛躍。,Software Process Models,瀑布模型強(qiáng)調(diào)階段的劃分及其順序性、各階段工作及其文檔的完備性,是一種嚴(yán)格線性的、按階段順序的、逐步細(xì)化的開(kāi)發(fā)模式。,定義,分析,設(shè)計(jì),編碼,測(cè)試,維護(hù),,,,,,,,,,,Software Process Models,瀑布模型的特點(diǎn):結(jié)構(gòu)簡(jiǎn)單明了;
28、歷史較長(zhǎng)、應(yīng)用面廣泛、為廣大軟件工作者所熟悉;已有與之配套的一組十分成熟的開(kāi)發(fā)方法和豐富的支撐工具。確定了需求分析的絕對(duì)重要性,但是在實(shí)踐中要想獲得完善的需求說(shuō)明是非常困難的;反饋信息慢。,Software Process Models,The Prototyping model (原型模型),,,Listen to customer,Build/revisemock-up,Customertest drivesmock-up
29、,,,,,,,,,,,,,,,,,Software Process Models,原型模型的特點(diǎn):原型作為標(biāo)識(shí)軟件需求的一種機(jī)制,原型被建造僅是為了定義需求,之后就該被拋棄(或至少部分拋棄);實(shí)際的軟件在充分考慮了質(zhì)量和可維護(hù)性之后才被開(kāi)發(fā)。,Software Process Models,Evolutionary software process models(演化軟件過(guò)程模型)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)越來(lái)越認(rèn)識(shí)到軟件就象所有復(fù)雜系統(tǒng)一樣要經(jīng)過(guò)一段時(shí)間的演化。業(yè)務(wù)和產(chǎn)品需求隨著開(kāi)發(fā)的發(fā)展常常發(fā)生改變,想找到最終產(chǎn)品的一條直線路徑是不可能的。,Software Process Models,Evolutionary software process models(演化軟件過(guò)程模型)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ǎng)期限使得難以完成一個(gè)完善的軟件產(chǎn)品,但可以先提交一個(gè)有限的版本以對(duì)付競(jìng)爭(zhēng)或商業(yè)的壓力;只要核心產(chǎn)品或系統(tǒng)需求能夠很好地理解,而產(chǎn)品或系統(tǒng)的細(xì)節(jié)部分可以進(jìn)一步定義。,Software Process Models,Evolutionary software process models(演化軟件過(guò)程模型)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)地開(kāi)發(fā)逐步完善的軟件版本。The incremental model (增量模型)The spira
35、l model (螺旋模型),Software Process Models,The incremental model (增量模型),分析,設(shè)計(jì),編碼,測(cè)試,分析,設(shè)計(jì),編碼,測(cè)試,分析,設(shè)計(jì),編碼,測(cè)試,,,,,,,,,,增量1,增量2,增量3,Software Process Models,增量模型的特點(diǎn):以功能遞增的方式進(jìn)行軟件開(kāi)發(fā)能較快地產(chǎn)生可操作的系統(tǒng);在每一步遞增中,都可以把用戶/開(kāi)發(fā)者的經(jīng)驗(yàn)結(jié)合到不斷求精的產(chǎn)品中;
36、可改善測(cè)試效果和降低軟件開(kāi)發(fā)總成本。,Software Process Models,The spiral Model螺旋模型,,,,,需求定義,評(píng)審,風(fēng)險(xiǎn)分析,工程實(shí)現(xiàn),Software Process Models,螺旋模型的特點(diǎn):把軟件開(kāi)過(guò)程組成為一個(gè)逐步細(xì)化的定義周期(螺旋周期)序列,每經(jīng)歷一個(gè)周期,系統(tǒng)就得到進(jìn)一步的細(xì)化和完善;本質(zhì)上,具有上述特征的螺旋是一直運(yùn)轉(zhuǎn)的直到軟件退役。有時(shí)這個(gè)過(guò)程處于睡眠狀態(tài),但任何時(shí)候出現(xiàn)
37、了改變,過(guò)程都會(huì)從合適的入口點(diǎn)開(kāi)始;,Software Process Models,螺旋模型的特點(diǎn):緊密圍繞開(kāi)發(fā)中的風(fēng)險(xiǎn)問(wèn)題,用風(fēng)險(xiǎn)分析推動(dòng)軟件設(shè)計(jì)向深一層擴(kuò)展、求精;強(qiáng)調(diào)持續(xù)地判斷、確定和修改用戶任務(wù)目標(biāo),并按成本、效益來(lái)分析候選的軟件產(chǎn)品性質(zhì)對(duì)任務(wù)目標(biāo)的貢獻(xiàn);可結(jié)合采用多種軟件開(kāi)發(fā)方法,但究竟結(jié)合哪一種方法仍由風(fēng)險(xiǎn)分析來(lái)決定。,Software Process Models,The formal methods model
38、(形式化方法模型) 形式化方法的主要目的是要把軟件開(kāi)發(fā)過(guò)程建立在嚴(yán)密可行的數(shù)學(xué)基礎(chǔ)之上,從而提高軟件質(zhì)量和軟件生產(chǎn)率。事后的或并行的一種輔助手段,用以對(duì)系統(tǒng)的性質(zhì)進(jìn)行嚴(yán)格的驗(yàn)證;集成到軟件開(kāi)發(fā)過(guò)程中,希望在嚴(yán)格的形式系統(tǒng)的基礎(chǔ)上,實(shí)現(xiàn)從需求規(guī)約到程序代碼的轉(zhuǎn)換和過(guò)渡。,Software Process Management,改進(jìn)軟件過(guò)程研究軟件過(guò)程本質(zhì)上是為了突出關(guān)鍵過(guò)程以改善軟件的質(zhì)量。人們已經(jīng)得到共識(shí),要提高
39、軟件質(zhì)量必須改進(jìn)軟件過(guò)程。,Software Process Management,改進(jìn)軟件過(guò)程軟件機(jī)構(gòu)形成一套完整而成熟的軟件過(guò)程不是一蹴而就的,它需要一個(gè)從無(wú)序到有序,從特殊到一般,從定性到定量,最后再?gòu)撵o態(tài)到動(dòng)態(tài)的歷程,或者說(shuō)軟件機(jī)構(gòu)在形成成熟的軟件過(guò)程之前必須經(jīng)歷一系列的成熟階段。,Software Process Management,改進(jìn)軟件過(guò)程因此有必要建立一個(gè)軟件過(guò)程成熟度模型來(lái)對(duì)過(guò)程作出一個(gè)客觀、公正的評(píng)價(jià),以促進(jìn)
40、軟件開(kāi)發(fā)組織改進(jìn)軟件過(guò)程。,Software Process Management,軟件過(guò)程成熟度 指一個(gè)特定的軟件過(guò)程被顯式定義、管理、度量、控制和能行的程度。成熟度可以用于指示企業(yè)加強(qiáng)其軟件過(guò)程能力的潛力。 當(dāng)一個(gè)企業(yè)達(dá)到了一定的軟件過(guò)程成熟級(jí)別后,它將通過(guò)制定策略、建立標(biāo)準(zhǔn)和確立機(jī)構(gòu)結(jié)構(gòu)使它的軟件過(guò)程制度化。而制度化又促使企業(yè)通過(guò)建立基礎(chǔ)設(shè)施和公司文化來(lái)支持相關(guān)的方法、實(shí)踐和過(guò)程。從而使之可以持續(xù)并維持一
41、個(gè)良性循環(huán)。,Software Process Management,不成熟企業(yè)的標(biāo)志:缺乏確定的軟件過(guò)程和相應(yīng)的管理和控制; 即使給出了軟件過(guò)程,也不嚴(yán)格的遵循和強(qiáng)制執(zhí)行; 管理是完全被動(dòng)的,管理者采用的策略是救火式的,即出了事才去解決,解決的時(shí)候也難以縱觀全局,往往只顧眼前;,Software Process Management,不成熟企業(yè)的標(biāo)志:由于缺乏有依據(jù)的估算,制訂軟件預(yù)算和生產(chǎn)計(jì)劃時(shí)往往跟著感覺(jué)走,實(shí)際生產(chǎn)時(shí)則常
42、常超標(biāo); 如果強(qiáng)制在預(yù)定期限內(nèi)完成,那么軟件的功能和質(zhì)量肯定是得不到保證; 缺乏評(píng)價(jià)軟件產(chǎn)品質(zhì)量和解決產(chǎn)品缺陷和過(guò)程問(wèn)題的客觀基礎(chǔ)。,Software Process Management,成熟企業(yè)的標(biāo)志:具有在企業(yè)范圍內(nèi)管理、控制軟件開(kāi)發(fā)和維護(hù)過(guò)程的能力; 現(xiàn)有人員和新進(jìn)人員均了解所遵循的軟件過(guò)程,且工作活動(dòng)均按照事先的計(jì)劃完成; 在定義好的軟件過(guò)程中,所有項(xiàng)目和機(jī)構(gòu)中的角色和責(zé)任分明;,Software Process M
43、anagement,成熟企業(yè)的標(biāo)志:制定的計(jì)劃是有效的且與實(shí)際的工作進(jìn)展一致; 軟件過(guò)程在必要時(shí)可按照一定規(guī)則和程序加以修改;,Software Process Management,成熟企業(yè)的標(biāo)志:軟件產(chǎn)品和過(guò)程具有一定的可控性: 1. 管理者能夠監(jiān)督軟件產(chǎn)品的質(zhì)量和生產(chǎn)過(guò)程; 2. 具有客觀的和定量化的措施來(lái)判斷產(chǎn)品質(zhì)量并分析產(chǎn)品與生產(chǎn) 過(guò)程中的問(wèn)題; 3. 計(jì)劃和預(yù)算有章可
44、循,它是基于歷史數(shù)據(jù)的,從而是實(shí)際可行 的; 4. 預(yù)算的結(jié)果,包括成本、時(shí)間表、產(chǎn)品功能和質(zhì)量等,通常能 夠達(dá)到; 5. 有關(guān)的參與者完全理解遵循軟件過(guò)程的價(jià)值并認(rèn)真地遵循之; 6. 具有支撐軟件過(guò)程的基礎(chǔ)設(shè)施,如標(biāo)準(zhǔn)過(guò)程庫(kù)、歷史數(shù)據(jù)庫(kù)等。,Software Process Management,軟件能力成熟度模型( Capability Maturity Mo
45、del,CMM)軟件能力成熟度模型提美國(guó)大學(xué)Carnegie Mellon University軟件工程研究所出的一套系統(tǒng)、規(guī)范的對(duì)軟件生產(chǎn)過(guò)程進(jìn)行管理的模型,其有效性已為大量實(shí)踐所證實(shí),并已成為對(duì)一個(gè)軟件企業(yè)的生產(chǎn)能力和產(chǎn)品質(zhì)量進(jìn)行衡量的事實(shí)標(biāo)準(zhǔn)。,Software Process Management,軟件能力成熟度模型(CMM)CMM被用來(lái)確定一個(gè)機(jī)構(gòu)的軟件過(guò)程的成熟程度以及指明如何提高該成熟度的參考模型。CMM描述了軟件過(guò)
46、程從無(wú)序到有序、從特殊到一般、從定性管理到定量管理、最終到達(dá)可動(dòng)態(tài)優(yōu)化的成熟過(guò)程,給出了該過(guò)程中五個(gè)成熟階段的基本特征和應(yīng)遵循的原則、 采取的行動(dòng),以幫助軟件機(jī)構(gòu)改進(jìn)其軟件過(guò)程。,Software Process Management,CMM的主要作用 CMM可以指導(dǎo)軟件機(jī)構(gòu)如何控制軟件產(chǎn)品的開(kāi)發(fā)和維護(hù)過(guò)程,以及如何向成熟的軟件工程體系演化,并形成一套良性循環(huán)的管理文化。具體說(shuō)來(lái),一個(gè)企業(yè)要想改進(jìn)其生產(chǎn)過(guò)程,應(yīng)該采取如下
47、策略和步驟:確定軟件企業(yè)當(dāng)前所處的過(guò)程成熟級(jí)別; 了解對(duì)改進(jìn)軟件生產(chǎn)質(zhì)量和加強(qiáng)生產(chǎn)過(guò)程控制起關(guān)鍵作用的因素; 將工作重點(diǎn)集中在有限幾個(gè)關(guān)鍵目標(biāo)上,有效達(dá)到改進(jìn)機(jī)構(gòu)軟件生產(chǎn)過(guò)程的效果,進(jìn)而可持續(xù)地改進(jìn)其軟件生產(chǎn)能力。,Software Process Management,CMM的基本前提軟件質(zhì)量在很大程度上取決于產(chǎn)生軟件的軟件過(guò)程的質(zhì)量和能力; 軟件過(guò)程是一個(gè)可管理、可度量并不斷改進(jìn)的過(guò)程; 軟件過(guò)程的質(zhì)量受到用以支撐它的技
48、術(shù)和設(shè)施的影響; 企業(yè)在軟件過(guò)程中所采用的技術(shù)層次應(yīng)適應(yīng)于軟件過(guò)程的成熟度。,Software Process Management,CMM的基本原理CMM強(qiáng)調(diào)連續(xù)的軟件過(guò)程改進(jìn)。該連續(xù)的改進(jìn)基于多個(gè)演化步驟。CMM將這些演化步驟劃分成五個(gè)級(jí)別。這種分級(jí)結(jié)構(gòu)的理論依據(jù)是軟件質(zhì)量原理。 每一級(jí)別都包括若干目標(biāo)。當(dāng)滿足某一目標(biāo)后,軟件過(guò)程的相應(yīng)部分便確定下來(lái)。 五級(jí)成熟度定義了一個(gè)標(biāo)準(zhǔn),用以度量機(jī)構(gòu)的軟件過(guò)程成熟度和評(píng)價(jià)其軟件過(guò)程能
49、力。,Software Process Management,CMM的基本內(nèi)容機(jī)構(gòu)和資源的管理:涉及機(jī)構(gòu)本身的責(zé)任,人員和其它資源設(shè)施。 軟件工程過(guò)程及其管理:涉及軟件工程過(guò)程,即軟件過(guò)程的深度、范圍和完整性以及如何度量、管理和改進(jìn)這樣的過(guò)程。 工具和技術(shù):軟件工程過(guò)程中使用的開(kāi)發(fā)工具和技術(shù)。,Software Process Management,CMM contains five process maturity levels
50、(CMM的五個(gè)成熟度級(jí)別)Level 1: Initial (初始級(jí)) Level 2: Repeatable (可重復(fù)級(jí):有規(guī)章的過(guò)程 )Level 3: Defined (定義級(jí):標(biāo)準(zhǔn)化、一致的過(guò)程) Level 4: Managed (管理級(jí):可預(yù)測(cè)過(guò)程) Level 5: Optimizing (優(yōu)化級(jí):可持續(xù)改進(jìn)的過(guò)程),Software Process Management,CMM的初始級(jí)(第一級(jí))成功來(lái)源于
51、個(gè)人英雄主義而非機(jī)構(gòu)行為,因此它不可重復(fù),更換人員后成功便難以維持。,Software Process Management,CMM的可重復(fù)級(jí)(第二級(jí))針對(duì)特定軟件項(xiàng)目建立管理該項(xiàng)目的策略和實(shí)現(xiàn)這些策略的過(guò)程。 新項(xiàng)目的計(jì)劃和管理基于類似項(xiàng)目的經(jīng)驗(yàn)。 軟件過(guò)程能力主要通過(guò)管理單個(gè)項(xiàng)目的軟件生產(chǎn)過(guò)程來(lái)得到提高和增強(qiáng)。 不同的項(xiàng)目可有不同的軟件過(guò)程,機(jī)構(gòu)應(yīng)當(dāng)建立一定的方針和策略以針對(duì)具體的項(xiàng)目選擇合適的軟件生產(chǎn)過(guò)程并進(jìn)行管理。,So
52、ftware Process Management,CMM的可重復(fù)級(jí)(第二級(jí)) 可重復(fù)級(jí)的主要特點(diǎn)在于確定了基本的軟件生產(chǎn)管理和控制,具體來(lái)講有:結(jié)合已有項(xiàng)目的經(jīng)驗(yàn)和新項(xiàng)目的特點(diǎn)來(lái)確定本項(xiàng)目的責(zé)任和承諾; 軟件生產(chǎn)成本、時(shí)間表和實(shí)現(xiàn)的功能被有效跟蹤; 識(shí)別實(shí)現(xiàn)承諾所需解決的關(guān)鍵問(wèn)題; 定義軟件項(xiàng)目過(guò)程標(biāo)準(zhǔn),機(jī)構(gòu)要確保其被遵守。,Software Process Management,CMM的可重復(fù)級(jí)(第二級(jí))
53、 概括來(lái)說(shuō),第二級(jí)的主要特點(diǎn)是項(xiàng)目計(jì)劃和跟蹤是確定且有效的,項(xiàng)目的軟件過(guò)程是可控的,以及已有的成功經(jīng)驗(yàn)是可重復(fù)的。,Software Process Management,CMM的定義級(jí)(第三級(jí))有一個(gè)機(jī)構(gòu)范圍內(nèi)標(biāo)準(zhǔn)的軟件過(guò)程,軟件工程活動(dòng)和管理活動(dòng)被集成為一個(gè)有機(jī)的整體。標(biāo)準(zhǔn)化的目的是使高層管理者和軟件技術(shù)人員能夠有效合作。 有一個(gè)組例如軟件工程組(SEPG)專門(mén)負(fù)責(zé)訂立機(jī)構(gòu)的標(biāo)準(zhǔn)軟件過(guò)程,并且在機(jī)構(gòu)中制定培
54、訓(xùn)計(jì)劃來(lái)確保相關(guān)人員和管理者有足夠的知識(shí)和技能完成標(biāo)準(zhǔn)過(guò)程所賦予的角色。 標(biāo)準(zhǔn)的軟件過(guò)程結(jié)合具體項(xiàng)目的特點(diǎn)經(jīng)過(guò)裁剪即形成項(xiàng)目定義軟件過(guò)程,它是一組集成的完善定義的軟件工程和管理過(guò)程。,Software Process Management,CMM的定義級(jí)(第三級(jí))一個(gè)完善定義的軟件過(guò)程應(yīng)包括就緒準(zhǔn)則、輸入、工作過(guò)程、驗(yàn)證機(jī)制、輸出和完成準(zhǔn)則。 對(duì)于已建立的產(chǎn)品生產(chǎn)線,其成本、時(shí)間表和實(shí)現(xiàn)功能均可跟蹤和控制,軟件產(chǎn)品的質(zhì)量可以得到保
55、證。 軟件過(guò)程能力的實(shí)現(xiàn)主要基于在機(jī)構(gòu)范圍內(nèi)對(duì)一個(gè)定義軟件過(guò)程的活動(dòng)、角色和責(zé)任的共同理解。,Software Process Management,CMM的定義級(jí)(第三級(jí)) 概括來(lái)說(shuō),第三級(jí)的主要特征在于軟件過(guò)程已被提升成標(biāo)準(zhǔn)化過(guò)程,從而更加具有穩(wěn)定性、重復(fù)性和可控性。,Software Process Management,CMM的管理級(jí)(第四級(jí)) 軟件的過(guò)程和產(chǎn)品有定量的質(zhì)量指標(biāo): 重要的軟件過(guò)程活
56、動(dòng)均配有生產(chǎn)率和質(zhì)量方面的度量指標(biāo); 應(yīng)用數(shù)據(jù)庫(kù)來(lái)收集和分析定義軟件過(guò)程中涉及的各種數(shù)據(jù); 對(duì)項(xiàng)目軟件過(guò)程和軟件質(zhì)量的評(píng)價(jià)有定量的基準(zhǔn)。,Software Process Management,CMM的管理級(jí)(第四級(jí)) 軟件項(xiàng)目的產(chǎn)品和生產(chǎn)過(guò)程的控制具有可預(yù)測(cè)性: 將軟件過(guò)程效能可能出現(xiàn)的偏差控制在可接受的量化界限內(nèi); 具體區(qū)分影響過(guò)程效能發(fā)生偏差的有效因素和偶然因素; 向新領(lǐng)域拓展的風(fēng)險(xiǎn)是可預(yù)知的并被仔細(xì)管理和權(quán)衡。
57、,Software Process Management,CMM的管理級(jí)(第四級(jí)) 概括來(lái)說(shuō),第四級(jí)的主要特征是定量化、可預(yù)測(cè)、異??刂坪透哔|(zhì)量。,Software Process Management,CMM的優(yōu)化級(jí)(第五級(jí)) 機(jī)構(gòu)集中于持續(xù)的過(guò)程改進(jìn):具有標(biāo)識(shí)過(guò)程缺陷和增強(qiáng)過(guò)程能力的有效手段。 利用試驗(yàn)數(shù)據(jù)分析使用新技術(shù)所需的代價(jià)和帶來(lái)的效益,然后再有選擇地采用。 當(dāng)出現(xiàn)偏差時(shí),軟件項(xiàng)目人員能夠分
58、析出錯(cuò)原因并采取有效手段防止其再次出現(xiàn)。 防止不必要的浪費(fèi)是第五級(jí)的重點(diǎn)。,Software Process Management,CMM的優(yōu)化級(jí)(第五級(jí)) 改進(jìn)的途徑有兩個(gè),一個(gè)是對(duì)已有過(guò)程的漸進(jìn)式改進(jìn);另一個(gè)則是有選擇地使用新技術(shù)和新方法所帶來(lái)的革新。 概括來(lái)說(shuō),第五級(jí)的主要特征是新技術(shù)的采用和軟件過(guò)程的改進(jìn)被作為日常的業(yè)務(wù)活動(dòng)來(lái)加以計(jì)劃和管理。,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. 明確聲明的功能和性能需求、明確文檔化過(guò)的開(kāi)發(fā)標(biāo)準(zhǔn)、以及專業(yè)人員開(kāi)發(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)軟件開(kāi)發(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、及的(如對(duì)維護(hù)性的需求)。如果軟件符合了明確的需求卻沒(méi)有滿足隱含需求,軟件質(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 (易測(cè)試性),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 (在整個(gè)軟件過(guò)程中采用的正式技術(shù)復(fù)審)a multitiered testing strategy (一種多層次的測(cè)試策略)control of software documentation
68、and the changes made to it (對(duì)軟件文檔及其修改的控制)a procedure to ensure compliance with software development standards (保證遵從軟件開(kāi)發(fā)標(biāo)準(zhǔn)的規(guī)程)measurement and reporting mechanism (度量和報(bào)告機(jī)制),SQA小組,在一個(gè)組織中有多個(gè)機(jī)構(gòu)負(fù)有保證軟件質(zhì)量的責(zé)任,包括軟件工程師、項(xiàng)目管理者、客戶、銷
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字圖象處理概述---南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系
- 機(jī)器翻譯理論和技術(shù)-南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系
- 南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系-數(shù)值計(jì)算方法第4章2
- 2019南京大學(xué)計(jì)算機(jī)系計(jì)算機(jī)科學(xué)與技術(shù)考研初試科目及參考書(shū)目
- 第五章語(yǔ)法制導(dǎo)的翻譯-南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系
- 2019南京大學(xué)計(jì)算機(jī)845考研經(jīng)驗(yàn)
- 2019南京大學(xué)計(jì)算機(jī)系計(jì)算機(jī)技術(shù)考研初試科目及參考書(shū)目
- 383分南京大學(xué)計(jì)算機(jī)考研經(jīng)驗(yàn)
- 南京大學(xué)教育科學(xué)與管理系
- 2019南京大學(xué)計(jì)算機(jī)系各專業(yè)招生人數(shù)及要求
- 南京大學(xué)計(jì)算機(jī)學(xué)科邀請(qǐng)報(bào)告審批表
- 南京大學(xué)計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室
- 南京大學(xué)金陵學(xué)院信息科學(xué)與工程系
- 2018南京大學(xué)計(jì)算機(jī)專碩考研復(fù)試經(jīng)驗(yàn)總結(jié)
- 南京大學(xué)
- 計(jì)算機(jī)科學(xué)與技術(shù)系
- 2020南京大學(xué)人工智能學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)考研初試科目及參考書(shū)目
- 2018年南京大學(xué)計(jì)算機(jī)技術(shù)專碩考試準(zhǔn)備過(guò)程與經(jīng)驗(yàn)小述
- 2019南京大學(xué)計(jì)算機(jī)系軟件工程考研初試科目及參考書(shū)目
- 024計(jì)算機(jī)科學(xué)與技術(shù)系
評(píng)論
0/150
提交評(píng)論