




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、IT基礎(chǔ)設(shè)施和應(yīng)用系統(tǒng)的生命周期管理1998),CISA(2002), SCJP,IBM電子商務(wù)咨詢師,IBM WSAD Developer一、本章學(xué)習(xí)內(nèi)容 主要內(nèi)容所占比重保證對信息系統(tǒng)和基礎(chǔ)設(shè)施的開發(fā)、獲取、測試、實(shí)施、維護(hù)和處置的管理實(shí)踐活動滿足組織的業(yè)務(wù)目標(biāo)要求。學(xué)習(xí)目標(biāo)對所建議的系統(tǒng)開發(fā)、獲取計劃按其業(yè)務(wù)價值進(jìn)行評價,以保證其符合組織的業(yè)務(wù)目的;評價項目管理框架和項目治理實(shí)務(wù),保證在控制風(fēng)險的同時按成本有效的方式實(shí)現(xiàn)了業(yè)務(wù)目標(biāo);對項目實(shí)施審核,以保證項目的實(shí)施是按照項目計劃進(jìn)行的,有充分的文檔支持,并且項目狀態(tài)的報告是準(zhǔn)確的;在對系統(tǒng)和基礎(chǔ)設(shè)施進(jìn)行需求調(diào)查、開發(fā)、獲取和測試時,評價所
2、建立的控制機(jī)制的有效性,以保證能提供充分的保護(hù),并符合組織的政策和其他需求;對系統(tǒng)和基礎(chǔ)設(shè)施進(jìn)行開發(fā)、獲取及測試的過程進(jìn)行評價,以保證其交付物能夠滿足組織的業(yè)務(wù)目標(biāo);對已實(shí)施并準(zhǔn)備移植到生產(chǎn)現(xiàn)場的系統(tǒng)和基礎(chǔ)設(shè)施,評價其完備性;對系統(tǒng)和基礎(chǔ)設(shè)施進(jìn)行實(shí)施后的審核,以保證其滿足組織的目標(biāo),并且建立了有效的內(nèi)部控制;對系統(tǒng)和基礎(chǔ)設(shè)施進(jìn)行階段性的審核,以保證其滿足組織的目標(biāo),并且建立了有效的內(nèi)部控制;對維護(hù)組織的系統(tǒng)和基礎(chǔ)設(shè)施的過程進(jìn)行審核,以保證對組織目標(biāo)的持續(xù)支持,并且建立了有效的內(nèi)部控制;對處置組織的系統(tǒng)和基礎(chǔ)設(shè)施的過程進(jìn)行審核,以保證其符合組織的政策和程序。知識要點(diǎn)IT業(yè)務(wù)效益管理實(shí)務(wù)(例如:可
3、行性研究、業(yè)務(wù)價值分析);項目治理機(jī)制(例如:指導(dǎo)委員會、項目監(jiān)督委員會);項目管理實(shí)務(wù)、工具和控制框架;與項目有關(guān)的風(fēng)險管理實(shí)務(wù);項目成功的標(biāo)準(zhǔn)與風(fēng)險;與系統(tǒng)和基礎(chǔ)設(shè)施的開發(fā)與維護(hù)有關(guān)的配置、變更與發(fā)布管理;在IT系統(tǒng)應(yīng)用程序中保證交易及數(shù)據(jù)的完整性、準(zhǔn)確性、合法性及適當(dāng)授權(quán)的控制目標(biāo)和相關(guān)技術(shù);與數(shù)據(jù)、應(yīng)用及技術(shù)相關(guān)的企業(yè)架構(gòu)模型(分布式應(yīng)用、基于Web的應(yīng)用、Web服務(wù)、N層應(yīng)用系統(tǒng));需求分析和需求管理實(shí)務(wù)(例如:需求驗證、可跟蹤性和差距分析);獲取過程及合同管理過程(例如:供應(yīng)商評價、合同擬定、供應(yīng)商管理、源代碼第三方保全協(xié)議);系統(tǒng)開發(fā)方法和工具,及對其優(yōu)缺點(diǎn)的理解(例如:敏捷開發(fā)
4、法、原型法、快速應(yīng)用開發(fā)、面向?qū)ο蟮拈_發(fā)方法);質(zhì)量保證方法;對測試過程的管理(例如:測試策略、測試計劃、測試環(huán)境);數(shù)據(jù)轉(zhuǎn)換工具、技術(shù)和程序;系統(tǒng)及基礎(chǔ)設(shè)施處置程序;軟件、硬件的認(rèn)證與鑒定實(shí)務(wù);實(shí)施后的審核目標(biāo)與方法(例如:項目收尾、效益總結(jié)、績效測量);系統(tǒng)移植及基礎(chǔ)設(shè)施部署實(shí)務(wù)。知識結(jié)構(gòu)圖A、業(yè)務(wù)實(shí)現(xiàn) A1、項目組合與項目群管理 項目的概念(Project)項目是在特定條件下,具有特定目標(biāo)的一次性任務(wù),是在一定時間內(nèi),滿足一系列特定目標(biāo)的多項相關(guān)工作的總稱;項目群項目群(Project Program)可以看成是由一系列項目(Project)和有時間邊界的任務(wù)(Task)組成,這些項目和
5、任務(wù)通過共同的目標(biāo)、共同的預(yù)算、相互交織的日程和策略等緊密地聯(lián)系在一起;項目群也具有一定的時間框架和組織邊界,但項目群更復(fù)雜,具有更長的工期和更高的預(yù)算,面臨更高的風(fēng)險,同時具有更高的戰(zhàn)略重要性。 一個典型的項目群就是實(shí)施大型ERP系統(tǒng),例如SAP,另一個非IT的項目群的例子就是企業(yè)的并購。 成功地實(shí)施項目群,需要對以下內(nèi)容進(jìn)行有效管理:項目群的發(fā)起人(Sponsor)向項目群經(jīng)理和項目群團(tuán)隊發(fā)布任務(wù)書;確定項目群的范圍、財務(wù)(成本、資源和資金流等)、日程安排、目標(biāo)及交付物;項目群所處的環(huán)境;項目群的溝通與文化;項目群的組織與角色,包括項目群所有者、項目群管理者、項目群團(tuán)隊和項目群辦公室、專家
6、組等;可利用綜合性管理工具,例如項目管理指南、標(biāo)準(zhǔn)的項目計劃和項目管理的市場指標(biāo)。 項目組合在一個給定的時間點(diǎn)上,組織中正在進(jìn)行的所有項目的集合稱為項目組合(Project portfolio);項目組合由某一個時間點(diǎn)上的多個項目群和項目松散組合而成。但即使是松散結(jié)合在一起的項目組合也需要進(jìn)行管理;對項目組合進(jìn)行管理的目的是:優(yōu)化項目組合的結(jié)果(不是針對單個項目的結(jié)果)對項目進(jìn)行優(yōu)先級排列,并進(jìn)行日程安排協(xié)調(diào)對資源的使用(內(nèi)部或外部資源)項目中知識的傳遞項目組合、項目群和項目之間的比較 業(yè)務(wù)效益分析與管理層批準(zhǔn)規(guī)劃IT項目時都需要先進(jìn)行業(yè)務(wù)效益(Business case)分析,組織可以獲得的
7、業(yè)務(wù)利益才是實(shí)施IT項目的源動力;項目可行性分析就是一種業(yè)務(wù)效益分析,對有關(guān)問題進(jìn)行的早期研究,以評估解決方法是否可行;無論在項目的哪個階段,如果業(yè)務(wù)效益分析表明由于成本增加或預(yù)期的利益不能實(shí)現(xiàn)使得項目不再有意義時,項目發(fā)起人或指導(dǎo)委員會應(yīng)當(dāng)考慮是否要中止項目的執(zhí)行; 項目實(shí)施中業(yè)務(wù)效益發(fā)生變化時,應(yīng)當(dāng)通過部門規(guī)劃和審批流程對項目重新進(jìn)行評估和批準(zhǔn)。業(yè)務(wù)利益的實(shí)現(xiàn)對利益實(shí)現(xiàn)不應(yīng)當(dāng)只局限于項目周期,應(yīng)當(dāng)放眼于更長的階段中來觀察項目可能給組織帶來的利益;進(jìn)行階段性的評估是實(shí)現(xiàn)利益過程的重要因素。經(jīng)常要在系統(tǒng)實(shí)施618個月后進(jìn)行實(shí)施后評審,以評價利益實(shí)現(xiàn)的程度;如果計劃中的項目利益無法實(shí)現(xiàn),組織應(yīng)當(dāng)
8、及時檢查和調(diào)整策略。這個概念稱為利益管理或利益實(shí)現(xiàn)。A2.項目管理結(jié)構(gòu) 項目管理項目管理就是把各種資源應(yīng)用于目標(biāo),以實(shí)現(xiàn)項目的目標(biāo),滿足各方面既定的需求;項目管理的四個要素:環(huán)境 、資源 、目標(biāo) 、組織;項目管理的方式是目標(biāo)管理;項目的組織通常是臨時性、柔性和扁平化的組織;管理過程貫穿著系統(tǒng)工程的思想;管理的方法、工具和手段具有先進(jìn)性和開放性,用到多學(xué)科的知識和工具;項目管理結(jié)構(gòu)項目環(huán)境 項目環(huán)境關(guān)系的設(shè)計是項目管理活動之一,其目的就是要確定項目的所有相關(guān)環(huán)境,這些環(huán)境因素對項目的規(guī)劃與成功具有重要影響。組織中項目的重要性;組織戰(zhàn)略和項目之間的聯(lián)系;與其他項目之間的關(guān)系;項目與業(yè)務(wù)效益分析之間
9、的關(guān)系。 項目組織形式 職能式單列式矩陣式各種項目形式的比較項目的組織結(jié)構(gòu)項目溝通與文化溝通方式一對一的會見項目啟動會議項目初期的研討會以上方式的綜合使用項目文化積極的項目文化的可以促進(jìn)團(tuán)隊成員更好地理解預(yù)期的目標(biāo)和行動的方向;建設(shè)項目文化的方法有:明確對項目使命的聲明;建立正式的項目名稱和標(biāo)識;制定項目團(tuán)隊成員的會面規(guī)則及溝通約定;妥善處理與項目有關(guān)的社會事務(wù)等。項目目標(biāo)定義項目目標(biāo)的方法就是建立對象分解結(jié)構(gòu)(Object Breakdown StructureOBS),對象分解結(jié)構(gòu)由項目解決方案的各個組件及組件之間的等級關(guān)系組成 ;建立項目工作分解結(jié)構(gòu)(Work Breaksown Str
10、uctureWBS),對滿足OBS要求的所有工作進(jìn)行結(jié)構(gòu)化管理;WBS代表了項目中可管理和可控制的工作單元,既成為項目的重要溝通工具,又構(gòu)成了成本預(yù)算和資源規(guī)劃的基線;與OBS相比,WBS并不包括要實(shí)施的解決方案中的基本元素,而是表示為各種工作包(Work PackagesWPs)。 每一個WP必須有明確的所有者,并列出主要目標(biāo),同時也可能列出相關(guān)的附加目標(biāo)和抽象目標(biāo);WP規(guī)范應(yīng)當(dāng)清楚地描述對其他WP的依賴性,并定義評價績效和獲得的目標(biāo)的方法;為了更好地溝通,通常要制定出行動列表(To-do Lists),其中記載了與WP相關(guān)的要完成的工作,并分配了一定的職責(zé)和完成任務(wù)的最后期限。 項目中的團(tuán)
11、隊及個人的角色和職責(zé)高級管理層承諾對項目負(fù)責(zé),并批準(zhǔn)完成該項目所必須的資源,來自于高層的承諾有助于推動項目的完成。用戶管理部門擁有項目和最終系統(tǒng)的所有權(quán),分派合格的用戶代表到項目團(tuán)隊中,積極地參與系統(tǒng)的需求定義、驗收測試和用戶培訓(xùn)。項目指導(dǎo)委員會 項目指導(dǎo)委員會對項目工作提供總體指導(dǎo),并確保對項目有影響的各方都能參與到項目決策中來;項目發(fā)起人為項目提供基金,并與項目經(jīng)理配合工作以定義項目成功的衡量標(biāo)準(zhǔn);系統(tǒng)開發(fā)管理部門為有效地開發(fā)、安裝和運(yùn)行所要求的應(yīng)用系統(tǒng),要對軟件和硬件環(huán)境提供必要的技術(shù)支持;項目經(jīng)理對項目進(jìn)行日常管理工作,確保項目中的每一項活動與整體的方向保持一致;系統(tǒng)開發(fā)項目小組目標(biāo)是
12、完成分配的開發(fā)任務(wù);用戶項目小組目標(biāo)是完成分配的工作任務(wù)(主要是配合需求調(diào)查和進(jìn)行驗收測試);安全主管基于公司安全政策和程序的數(shù)據(jù)分類,確保系統(tǒng)控制和支持過程可以提供有效的保護(hù)水平;質(zhì)量保證在每一個開發(fā)階段期間和階段結(jié)束時,評價結(jié)果及其交付物,并確認(rèn)與需求的符合性。 A3、項目管理實(shí)務(wù)目標(biāo)對項目實(shí)施進(jìn)行管理、遵守項目需求;平衡范圍、時間、成本、質(zhì)量和風(fēng)險等方面的不同要求,生產(chǎn)出高質(zhì)量的產(chǎn)品;調(diào)整產(chǎn)品規(guī)格,計劃和管理體系,以滿足不同項目干系人的需求,并管理他們的期望;項目管理過程 啟動過程定義一個項目或項目階段的工作與活動,在項目啟動文件PID和項目請求文件PRD得到批準(zhǔn)后正式啟動項目;計劃過程
13、一擬訂、編制和修訂一個項目或項目階段的工作目標(biāo)、任務(wù)、工作計劃方案、資源供應(yīng)計劃、成本預(yù)算、計劃應(yīng)急措施等工作;執(zhí)行過程組織和協(xié)調(diào)人力資源及其他資源,組織和協(xié)調(diào)各項任務(wù)與工作,激勵項目團(tuán)隊完成既定的工作計劃,生產(chǎn)項目產(chǎn)出物等工作;控制過程制定標(biāo)準(zhǔn)、監(jiān)督和測量項目工作的實(shí)際情況、分析差異和問題、采取糾偏措施等工作;收尾過程制定一個項目或項目階段的移交與接收條件,并完成項目或項目階段成果的移交,從而使項目順利結(jié)束。 項目各過程的關(guān)系軟件規(guī)模評估確定需開發(fā)軟件的相對大小,以指導(dǎo)資源分配、時間及成本估算。 方法:源代碼行(SLOC)的單點(diǎn)估算方法簡單易用,但不精確。功能點(diǎn)分析(FPA) 它在大型商業(yè)系
14、統(tǒng)開發(fā)的復(fù)雜度估算中廣泛采用,但在操作系統(tǒng)軟件、過程控制軟件、通過、工程等軟件的規(guī)模估算并不適用COCOMO2、De Marco、Walston-felixA4.項目管理技術(shù) 軟件工作量估算系統(tǒng)開發(fā)計劃應(yīng)該根據(jù)評估每個任務(wù)所需要的功能工作量進(jìn)行分析。先計算項目所消耗的人力時間和機(jī)器時間 兩種時間按一定比率折合相加,得到總資源需求度量 每一個階段都需求進(jìn)行資源核算,以便管理與控制。軟件成本估算項目的成本估算包括許多因素:人力成本、辦公費(fèi)用、管理費(fèi)用、設(shè)備和軟件等的購置費(fèi)用、場地租金、旅差費(fèi)等等。項目成本的估算取決于組織所采用的成本核算方法。一般是從歷史數(shù)據(jù)求出生產(chǎn)率度量和每行成本,即行PM(人月
15、)和元行,則LOC的值與元行相乘得到成本,用LOC 值與行PM相除得到工作量。例如:1999年美國軟件開發(fā)人員開發(fā)效率是9kloc/人年,據(jù)些可推算出人力成本其他項目成本的估算取決于公司所采用的成本核算方法。有的公司某些費(fèi)用并沒有計入項目成本中,而是按管理費(fèi)用等分?jǐn)偂?軟件項目計劃根據(jù)工作量制定項目計劃,包括人員安排、工作量分解、開始和完成時間等等。可以根據(jù)歷史數(shù)據(jù)或行業(yè)模型決定所需的資源并落實(shí)到項目計劃。計劃中的進(jìn)度安排是在一系列項目任務(wù)之間建立的順序關(guān)系進(jìn)度安排的準(zhǔn)確程度可能比成本估算的準(zhǔn)確程度更重要。 幾種常用的開發(fā)進(jìn)度管理方法 甘特圖、網(wǎng)絡(luò)分析技術(shù)(關(guān)鍵路徑法CPM、項目評審技術(shù)PER
16、T)甘特圖用水平線段表示任務(wù)的工作階段;線段的起點(diǎn)和終點(diǎn)分別對應(yīng)著任務(wù)的開工時間和完成時間;線段的長度表示完成任務(wù)所需的時間。 網(wǎng)絡(luò)分析技術(shù)PERT項目評審技術(shù) 把工程計劃的各項活動、之間的聯(lián)系和約束(各活動之間在物理上、工程上和邏輯上的制約)經(jīng)過組合分解、統(tǒng)籌安排,構(gòu)成一個有機(jī)的整體,用網(wǎng)絡(luò)模型形象地反映出來,力求在一定資源約束條件下,使得工期最短。PERT可以根據(jù)定期分析反饋的信息經(jīng)常進(jìn)行調(diào)整,逐漸接近和達(dá)到目標(biāo)。 關(guān)鍵路徑法CPM為每個最小任務(wù)單位計算工期、定義最早開始和結(jié)束日期、最遲開始和結(jié)束日期、按照活動的關(guān)系形成順序的網(wǎng)絡(luò)邏輯圖,找出必須的最長的路徑,即為關(guān)鍵路徑。大型項目的工期估
17、算和進(jìn)度控制非常復(fù)雜,往往需要將CPM和PERT結(jié)合使用時間盒管理時間盒管理是一種項目管理新技術(shù) 它的應(yīng)用前提是一個不可變更的短期開發(fā)時間 采用這種技術(shù)時,必須尋求軟件質(zhì)量和在時間盒內(nèi)完成工作的平衡點(diǎn) 這種項目管理對需求有著某種程度的彈性,但對于質(zhì)量沒有彈性 時間盒管理方法很適合于原型法或快速應(yīng)用開發(fā)這種類型的項目,但不適合傳統(tǒng)的SDLC 總的來說,這種方法可以防止時間和經(jīng)費(fèi)超支A5. 項目管理的一般事務(wù)項目管理軟件的應(yīng)用可以通過自動化的軟件來管理項目事項和估算成本,并對項目管理中的某些活動進(jìn)行預(yù)測、報告。這類軟件可以提供從人員需求到預(yù)算管理的各種功能,也集成了PERT和CPM技術(shù)。常用軟件有
18、:Primavera Project Planner (P3) 、CA-SuperProject、Project 2003等文檔可以通過自動化的軟件來處理系統(tǒng)和程序文檔的產(chǎn)生、確認(rèn)和維護(hù)。可以根據(jù)用戶輸入自動產(chǎn)生程序描述和流程圖辦公自動化辦公自動化軟件可以減少開發(fā)人員處理日常辦公事務(wù)的時間。最有效的辦公自動化功能是電子郵件、語音信息系統(tǒng)、時間自動管理工具、自動庫管理系統(tǒng)、文件歸檔與檢索系統(tǒng)等。業(yè)務(wù)應(yīng)用系統(tǒng)面臨的風(fēng)險商業(yè)風(fēng)險:不符合用戶需求,不符合企業(yè)戰(zhàn)略 應(yīng)用系統(tǒng)缺乏適應(yīng)組織的快速變更需求的機(jī)制技術(shù)風(fēng)險 威脅到待開發(fā)軟件的質(zhì)量和預(yù)定的交付時間 設(shè)計、實(shí)現(xiàn)、接口、檢驗和維護(hù)方面的缺陷 技術(shù)上的不
19、確定性、技術(shù)陳舊、不成熟最新技術(shù)項目風(fēng)險預(yù)算、進(jìn)度、個人、資源、用戶和需求 項目復(fù)雜性、規(guī)模和結(jié)構(gòu)的不確定性B.業(yè)務(wù)應(yīng)用系統(tǒng)的開發(fā) 控制應(yīng)用系統(tǒng)風(fēng)險的主要措施 業(yè)務(wù)定義需求識別、業(yè)務(wù)建模、數(shù)據(jù)標(biāo)準(zhǔn)化技術(shù)手段采用成熟的開發(fā)方法 、技術(shù)、工具 項目管理進(jìn)度、系統(tǒng)規(guī)模及工作量估算、經(jīng)費(fèi)、組織機(jī)構(gòu)和人員、風(fēng)險、作業(yè)和環(huán)境配置質(zhì)量管理ISO9126、CMM、CMMI業(yè) 務(wù) 需 求 定義 質(zhì)量成本進(jìn)度控制軟件過程方法工具軟件工程軟件項目管理業(yè)務(wù)定義對應(yīng)用系統(tǒng)開發(fā)風(fēng)險控制的有效手段信息系統(tǒng)審計開展內(nèi)部審計或獨(dú)立的第三方的審計,可以為軟件開發(fā)提供公正的控制評價,有利于控制機(jī)制的完善。審計師必須理解系統(tǒng)開發(fā)、獲
20、取和維護(hù)所采用的方法、技術(shù)和過程,并在開發(fā)的各個階段進(jìn)行審計,越早參與,就越能降低應(yīng)用系統(tǒng)開發(fā)過程中的風(fēng)險 如果控制松散,或者過程無序,信息系統(tǒng)審計師就應(yīng)該就這些問題向項目組及高級經(jīng)理提出提議,及時采用適當(dāng)?shù)目刂七^程使傳統(tǒng)的“事后控制”逐漸向“事中控制”、 “事前控制”轉(zhuǎn)移。軟件的特點(diǎn)軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,包括程序,數(shù)據(jù)及其相關(guān)文檔。 軟件本身是復(fù)雜的、軟件成本相當(dāng)昂貴 軟件需求不明確將導(dǎo)致開發(fā)后期矛盾集中暴露 如果開發(fā)過程沒有統(tǒng)一的、公認(rèn)的方法論和規(guī)范指導(dǎo),軟件就很難維護(hù)未能在測試階段充分做好檢測工作,提交用戶的軟件質(zhì)量差,在運(yùn)行中暴露出大量的問題。擺脫軟件風(fēng)險的方法軟
21、件工程按工程化的原則和方法組織軟件開發(fā)工作,這是擺脫軟件危機(jī)的一個主要出路。 軟件工程是一種層次化的技術(shù),包括方法、工具與過程。 軟件工程的過程是將軟件工程的方法和工具綜合起來以達(dá)至合理、有效地進(jìn)行軟件開發(fā)的目的。軟件工程的目標(biāo)付出較低的開發(fā)成本達(dá)到要求的軟件功能 取得較好的軟件性能 開發(fā)的軟件易于移植 需要較低的維護(hù)費(fèi)用 能按時完成開發(fā)工作,及時交付使用軟件的生命周期 軟件的孕育、誕生、成長、成熟、衰亡的生存過程 生命周期模型 從軟件項目需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個生命周期的系統(tǒng)開發(fā)、運(yùn)行和維護(hù)所實(shí)施的全部過程、活動和任務(wù)的結(jié)構(gòu)框架 瀑布模型、演化模型、螺旋模型、噴泉模型 智能
22、模型等B1.傳統(tǒng)的系統(tǒng)開發(fā)生命周期法SDLC什么是SDLCSDLC也被稱為瀑布式開發(fā)技術(shù),這是開發(fā)應(yīng)用系統(tǒng)使用最廣泛、最古老的方法。SDLC是一種系統(tǒng)的、順序式的軟件開發(fā)方法,從可行性研究開始,通過需求定義、設(shè)計、開發(fā)、實(shí)施和實(shí)施后維護(hù)等階段而逐步發(fā)展。SDLC的特點(diǎn)SDLC各步驟或階段都有預(yù)定義的目標(biāo)和活動,并建立了相應(yīng)的責(zé)任、預(yù)期的結(jié)果和完成目標(biāo)的日期。SDLC的方法適用于在開發(fā)工作的早期建立總體的系統(tǒng)構(gòu)架。當(dāng)一個項目的需求穩(wěn)定、定義準(zhǔn)確時,SDLC的方法使用起來最有效,當(dāng)商品化的軟件包越來越普遍時,SDLC中傳統(tǒng)的設(shè)計與開發(fā)階段逐漸被選擇與配置階段所替代。 SDLC中的測試方法生命周期中
23、的測試錯誤的方法稱為V模型,這種方法保證在每一個階段對錯誤加以驗證與控制,而不是等到用戶驗收階段再來測試錯誤,它強(qiáng)調(diào)開發(fā)階段與測試階段的相互關(guān)系。 SDLC的局限性無法預(yù)料的事件因為真實(shí)的項目很少會遵循所描述順序流程,軟件實(shí)施過程中總會發(fā)生各種反復(fù)、產(chǎn)生各種新的問題。按照這個方法的要求,對用戶需求的準(zhǔn)確定義是非常重要的,但在開發(fā)初期從用戶那里獲得一個完整的、清晰的需求是很困難的。需要用戶有足夠的耐性。在這個方法的要求下,一個可工作的系統(tǒng)程序版本要到項目生命周期的最后才能得到,用戶在項目的最后階段才能接觸和使用軟件。在軟件正式開發(fā)完成前,組織業(yè)務(wù)環(huán)境的改變能夠引起用戶需求的變化。B2.集成的資源
24、管理系統(tǒng) 概念越來越多的組織逐漸從傳統(tǒng)的一個個單獨(dú)的應(yīng)用系統(tǒng)過渡到綜合的集成解決方案,這些方案又可稱為企業(yè)資源計劃(ERP)ERP是在MRPII的基礎(chǔ)中發(fā)展起來的,建立在信息技術(shù)基礎(chǔ)上,利用現(xiàn)代企業(yè)的先進(jìn)管理思想,全面地集成了企業(yè)所有資源信息,為企業(yè)提供決策、計劃、控制與經(jīng)營業(yè)績評估的全方位和系統(tǒng)化的管理平臺。實(shí)施前高級管理層應(yīng)當(dāng)對系統(tǒng)結(jié)構(gòu)、技術(shù)方向、從原有系統(tǒng)到新系統(tǒng)的遷移策略、信息系統(tǒng)預(yù)算等問題進(jìn)行詳細(xì)評估,并對業(yè)務(wù)變革進(jìn)行審批。ERP的模塊與流程ERP的風(fēng)險根據(jù)不完全統(tǒng)計,我國實(shí)施ERP項目的企業(yè)已經(jīng)超過1600家,“70%的ERP項目失敗,30%的ERP項目成功”,“美國ERP項目也只
25、有50%的成功率”這些都是媒體上經(jīng)常看到的報道,更有甚至有“ERP項目在我國的成功率為零”的說法。ERP的高風(fēng)險使得企業(yè)高度關(guān)注如何預(yù)測、管理與控制ERP風(fēng)險。沖擊體制風(fēng)險項目決策風(fēng)險項目選型風(fēng)險需求分析風(fēng)險項目管理風(fēng)險實(shí)施質(zhì)量風(fēng)險市場沖擊風(fēng)險財務(wù)損失風(fēng)險人力資源風(fēng)險其他隱形風(fēng)險國內(nèi)用友、金蝶、和佳、啟明、利瑪、浪潮、開思等公司名稱產(chǎn)品所在地SAP客戶機(jī)/服務(wù)器版本SAP R/3;MySAP;多行業(yè)解決方案SAP總部位于德國沃爾多夫市,是全球最大的企業(yè)管理和協(xié)同化電子商務(wù)解決方案供應(yīng)商、全球第三大獨(dú)立軟件供應(yīng)商。OracleOracle Applications共45種模塊Oracle成立于1
26、977年,是全球第二大軟件公司,總部在美國Redwood California。PeopleSoftAppConnect系列產(chǎn)品PeopleSoft (中文名:仁科)由 Dave Duffield 和 Ken Morris 創(chuàng)建。據(jù)稱PeopleSoft占領(lǐng)了超過百分之五十的人力資源市場。JDEWorldSoftware A7.5(產(chǎn)品套件)和 OneWorld XE (網(wǎng)絡(luò)中心方案)美國杰.德.愛華茲公司創(chuàng)建于1977年,總部位于美國克羅拉多州的丹佛。BaaniBaan ERPBaan成立于1978年,由Jan Baan,Paul Baan兩兄弟在荷蘭創(chuàng)建主要ERP廠商國外B3.傳統(tǒng)的SDL
27、C各階段描述可行性研究(Feasibility Study)可行性研究是指在當(dāng)前組織內(nèi)外部的具體條件下,系統(tǒng)開發(fā)工作必須具備的資源和條件,看其是否滿足系統(tǒng)目標(biāo)的要求。進(jìn)行可行性研究,對于保證資源的合理使用,避免浪費(fèi)和一些不必要的失敗,都是十分重要的可行性研究要完成下列任務(wù):確定解決方案的時間表;確定在技術(shù)方面、經(jīng)濟(jì)方面、社會方面的可行性; 確定需要的信息資源或者滿足業(yè)務(wù)需要的、基于風(fēng)險評估的最佳解決方案。確定現(xiàn)有系統(tǒng)是否能夠進(jìn)行調(diào)整或者是否需要改進(jìn);確定供應(yīng)商的產(chǎn)品是否能夠提供解決問題的方案;確定開發(fā)新系統(tǒng)和解決問題的適宜成本;確定解決方案是否符合業(yè)務(wù)戰(zhàn)略目標(biāo)。 系統(tǒng)開發(fā)計劃(Developm
28、ents Planning)系統(tǒng)開發(fā)計劃是對整個開發(fā)過程進(jìn)行有效管理的主要依據(jù)和成功的保證。計劃階段為成功開發(fā)奠定基礎(chǔ),影響到今后幾個階段的實(shí)施效果,系統(tǒng)開發(fā)計劃要遵循整體性、階段性、客觀可行性、全面性的原則 系統(tǒng)開發(fā)計劃的主要內(nèi)容:組織機(jī)構(gòu)調(diào)整與設(shè)置需求評價 設(shè)備需求 成本收益分析 應(yīng)用軟件開發(fā) 項目計劃 進(jìn)度控制質(zhì)量控制 人員需求和培訓(xùn) 測試 安裝與運(yùn)行 經(jīng)費(fèi)預(yù)算和支出 審計計劃 通過審查開發(fā)過程,保證軟件按用戶需求設(shè)計,管理層洞悉設(shè)計方案,在實(shí)施之前進(jìn)行了應(yīng)用測試等 需求定義(Requirements Definition) 需求定義第一步是對組織內(nèi)部的整體管理狀況和信息處理過程進(jìn)行分析
29、,并側(cè)重于從業(yè)務(wù)全過程的角度進(jìn)行分析。第二步是將用戶的需求及其解決方法確定下來,這些需要確定的結(jié)果包括:開發(fā)者關(guān)于現(xiàn)有組織管理狀況的了解;用戶對信息系統(tǒng)功能的需求;數(shù)據(jù)和業(yè)務(wù)流程;管理功能和管理數(shù)據(jù)指標(biāo)體系;新系統(tǒng)擬改動和新增的管理模型等 需求分析的任務(wù)借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)的 “做什么” 的問題。邏輯模型:業(yè)務(wù)模型、數(shù)據(jù)模型、功能模型需求分析需要建立的溝通途徑需求分析的一般過程需求分析方法之一:結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止結(jié)構(gòu)化分析方法使用
30、工具:數(shù)據(jù)流圖,數(shù)據(jù)詞典,結(jié)構(gòu)化英語,判定表與判定樹結(jié)構(gòu)化分析方法中,采用ERD用于數(shù)據(jù)建模,DFD用于功能建模,STD用于行為建模實(shí)體關(guān)系圖 數(shù)據(jù) 詞典狀態(tài)遷移圖數(shù)據(jù)流圖數(shù)據(jù)對象描述控制規(guī)格說明加工規(guī)格說明數(shù)據(jù)字典數(shù)據(jù)字典可以定義數(shù)據(jù)元素的屬性及使用方式,并可對存儲數(shù)據(jù)進(jìn)行數(shù)據(jù)完整性檢查,便于強(qiáng)化數(shù)據(jù)/編程標(biāo)準(zhǔn)。數(shù)據(jù)詞典精確地、嚴(yán)格地定義了每一個與系統(tǒng)相關(guān)的數(shù)據(jù)元素,并以字典式順序?qū)⑺鼈兘M織起來,使得用戶和分析員對所有的輸入、輸出、存儲成分和中間計算有共同的理解。在數(shù)據(jù)詞典的每一個詞條中應(yīng)包含以下信息:名稱:數(shù)據(jù)對象或控制項、數(shù)據(jù)存儲或外部實(shí)體的名字。別名或編號。分類:數(shù)據(jù)對象?過程?數(shù)據(jù)流
31、?數(shù)據(jù)文件?外部實(shí)體?控制項(事件狀態(tài))?描述:描述內(nèi)容或數(shù)據(jù)結(jié)構(gòu)等。何處使用:使用該詞條(數(shù)據(jù)或控制項)的加工。數(shù)據(jù)流圖DFDDFD可以表達(dá)數(shù)據(jù)處理過程的數(shù)據(jù)流動情況,DFD用于功能建模需要按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映系統(tǒng)的結(jié)構(gòu)關(guān)系,能清楚地表達(dá)和容易理解整個系統(tǒng)實(shí)體關(guān)系圖ERDERD數(shù)據(jù)模型包括三種互相關(guān)聯(lián)的信息:數(shù)據(jù)對象,描述對象的屬性,描述對象間相互連接的關(guān)系。 行為建模STD行為建模給出需求分析方法的所有操作原則 通過狀態(tài)遷移圖(STD)或狀態(tài)遷移表來描述系統(tǒng)或?qū)ο蟮臓顟B(tài),以及導(dǎo)致系統(tǒng)或?qū)ο蟮臓顟B(tài)改變的事件,從而描述系統(tǒng)的行為。程序的基本控制結(jié)構(gòu)IDEF1X
32、標(biāo)準(zhǔn)1993年美國國家標(biāo)準(zhǔn)與技術(shù)學(xué)會發(fā)布了IDEF1X信息系統(tǒng)建模標(biāo)準(zhǔn),它用在需求分析時對所建系統(tǒng)的信息資源進(jìn)行分析和交流,IDEF1X是對ERD的一種擴(kuò)展。IDEF1X通常用來:確定組織中當(dāng)前管理的是什么信息;對需求分析過程中發(fā)現(xiàn)的問題確定哪些是由于缺乏合適的信息引起的;指定在將來進(jìn)行的實(shí)施中,哪些信息需要管理。 IDEF1X建模奠定了數(shù)據(jù)庫設(shè)計基礎(chǔ),給出了信息結(jié)構(gòu)定義,提供了反映基本信息需求的需求說明 ,IDEF基本符號如下:業(yè)務(wù)活動控制輸入輸出機(jī)制其他需要注意的問題面向?qū)ο蠓椒ㄖ信cERD等價的概念是類圖即使是使用面向?qū)ο蟮哪P秃图夹g(shù)來開發(fā)應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)產(chǎn)生和使用的數(shù)據(jù)一般還是要存儲到
33、關(guān)系型數(shù)據(jù)庫中去,因此,系統(tǒng)開發(fā)中有必要把類圖映射成ERD。 信息系統(tǒng)審計師在需求分析階段要確定:應(yīng)用系統(tǒng)是否定義了充分的安全需求以保證系統(tǒng)的機(jī)密性、完整性和可用性;是否定義了完備的審計蹤跡作為系統(tǒng)的必要組成部分,審計蹤跡是審計師未來進(jìn)行信息安全與績效評估的重要依據(jù)。軟件設(shè)計(Software Design)根據(jù)前一階段系統(tǒng)需求分析的結(jié)果,在已經(jīng)獲得批準(zhǔn)的系統(tǒng)分析報告的基礎(chǔ)上,進(jìn)行新系統(tǒng)設(shè)計。系統(tǒng)設(shè)計包括兩個方面,首先是總體結(jié)構(gòu)的設(shè)計,其次是把系統(tǒng)分解成一個個具體模塊與組件。系統(tǒng)設(shè)計的主要目的就是為下一階段的系統(tǒng)實(shí)現(xiàn)(如編程、調(diào)試、試運(yùn)行等)制定藍(lán)圖。系統(tǒng)設(shè)計階段的主要任務(wù)就是在各種技術(shù)和實(shí)施
34、方法中權(quán)衡利弊、精心設(shè)計、合理使用各種資源,最終規(guī)劃出新系統(tǒng)的詳細(xì)設(shè)計方案。 設(shè)計步驟根據(jù)用數(shù)據(jù)、功能和行為模型表示的軟件需求,采用某種設(shè)計方法進(jìn)行數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計、接口設(shè)計和過程設(shè)計。系統(tǒng)概要設(shè)計系統(tǒng)詳細(xì)設(shè)計軟件基線管理(Software Baselining) 基線是軟件生存期中各開發(fā)階段末尾的特定點(diǎn),又稱里程碑,它的作用是把各階段工作的劃分更加明確化,使本來連續(xù)的工作在這些點(diǎn)上斷開,以便于檢驗和肯定階段成果。如果不能很好地通過軟件基線來管理需求,將會帶來很大的風(fēng)險。最主要的是邊界蔓延,即在開發(fā)過程中不斷報改變需求 在系統(tǒng)設(shè)計階段的基線上建立變更管理控制,在系統(tǒng)開發(fā)生命周期內(nèi)的各個階
35、段提出需求變更時,都要使用變更控制過程。設(shè)計過程的用戶參與在軟件設(shè)計過程中,用戶過多參與是不合適的,用戶一般對軟件的設(shè)計方法與技術(shù)缺乏了解。但是設(shè)計人員應(yīng)當(dāng)向用戶解釋軟件結(jié)構(gòu)是如何滿足用戶業(yè)務(wù)需要的,并強(qiáng)調(diào)關(guān)鍵設(shè)計方案的合理性。另外,系統(tǒng)的設(shè)計可能涉及到特定硬件的選擇和軟件的配置,這要引起利益相關(guān)者的注意設(shè)計階段審計師的關(guān)注點(diǎn)設(shè)計階段檢查安全需求是否有足夠的控制已集成到系統(tǒng)定義和測試計劃中;連續(xù)性的在線審計功能是否集成到系統(tǒng)中在系統(tǒng)設(shè)計階段的基線上是否建立變更管理控制檢查相關(guān)文檔是否齊全開發(fā)(Development)軟件開發(fā)目的是通過編程實(shí)現(xiàn)開發(fā)者在系統(tǒng)分析和系統(tǒng)設(shè)計中提出的管理方法和處理構(gòu)想
36、。編程目的是為了得到最終軟件產(chǎn)品,在這個階段編程的責(zé)任主要落在編程人員和設(shè)計系統(tǒng)的分析員身上。開發(fā)階段實(shí)施的關(guān)鍵活動包括:程序編碼和開發(fā)程序文檔、系統(tǒng)文檔程序調(diào)試和程序測試開發(fā)程序以從舊系統(tǒng)轉(zhuǎn)換數(shù)據(jù)到新系統(tǒng)中創(chuàng)建用戶遷移計劃,實(shí)現(xiàn)用戶到新系統(tǒng)的順利轉(zhuǎn)移對使用新系統(tǒng)的用戶進(jìn)行培訓(xùn)如果是對購買的商品化軟件包進(jìn)行定制開發(fā),確保對程序代碼的修改記錄在案,并把修改內(nèi)容準(zhǔn)確完整地應(yīng)用到供應(yīng)商的原始軟件代碼中去,以保證供應(yīng)商將來的升級版本包含了這些己更新代碼。集成開發(fā)環(huán)境(IDE)針對某一編程語言而專門設(shè)計的、界面友好的可視化環(huán)境,一般整合源代碼編輯器、調(diào)試器、編譯器和資源編輯器。如MS VC+、VB,Bo
37、rland Delphi等聯(lián)網(wǎng)的集成開發(fā)環(huán)境可以降低開發(fā)成本,保持快速響應(yīng)時間,提供共享的程序資源,但同時容易受非授權(quán)訪問的影響而出現(xiàn)錯誤,應(yīng)當(dāng)通過訪問控制軟件來控制這類風(fēng)險。典型的聯(lián)網(wǎng)集成開發(fā)環(huán)境:Rational Rose、Visual Studio .NET 軟件工程學(xué)對軟件開發(fā)方法與技術(shù)的要求可靠性程序、系統(tǒng)及程序運(yùn)行的安全可靠性規(guī)范性 系統(tǒng)的劃分,書寫的格式,變量的命名等等都按統(tǒng)一規(guī)劃 可讀性可讀性即程序清晰,沒有太多繁雜的技巧,能夠使他人容易讀懂。可移植性源程序應(yīng)具有可移植性 ,應(yīng)嚴(yán)格地遵守 ISO 或ANSI、GB的標(biāo)準(zhǔn)。可維護(hù)性可維護(hù)性即程序各部分相互獨(dú)立,沒有和子程序以外的其
38、他數(shù)據(jù)牽連。源程序的可讀性,語言自身的文檔化特性也是影響到可維護(hù)性的重要因素。其他詳細(xì)設(shè)計應(yīng)能直接地容易地翻譯成代碼程序,盡可能應(yīng)用代碼生成的自動工具,編譯程序應(yīng)具有較高的效率 編程語言高級通用編程語言,例如:COBOL、C語言面向?qū)ο蟮木幊陶Z言,例如:C+、OO-Basic、Eifell、Java腳本語言,例如:SH(SHELL)、Perl、TCL、Python、JavaScript、VBScript、CGI為特定處理器設(shè)計的低級匯編語言第四代高級編程語言(4GLs),例如:FOCUS、Natural和dBase決策支持與專家系統(tǒng),例如:Express、LISP、PROLOG編程調(diào)試(Pro
39、gram Debugging) 在生成正式軟件產(chǎn)品前,檢測出程序中的異常中止和程序編碼錯誤,并對錯誤進(jìn)行糾正 。主要調(diào)試方法有:邏輯路徑監(jiān)測、內(nèi)存轉(zhuǎn)儲 、輸出分析 測試軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果),并利用這些測試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯誤的過程。測試過程中的要素測試計劃自底向上(Bottom up) 向頂向下(Top down) 實(shí)施測試和報告測試結(jié)果 解決測試中發(fā)現(xiàn)的問題其他類型的測試測試和測試評價軟件產(chǎn)品的FURPS(即功能、可使用性、可靠性、性能和支持)黑盒測試 測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部
40、特性,只依據(jù)程序的需求分析規(guī)格說明,檢查程序的功能是否符合它的功能說明 白盒測試 利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試。 模擬測試 對系統(tǒng)的某些特定的或預(yù)定義的內(nèi)容進(jìn)行預(yù)備性的測試 。回歸測試 測試計劃或測試場景的某些內(nèi)容重新進(jìn)行測試,目的是為了保證最近對軟件所做的變更和修改沒有引入新的錯誤 功能/確認(rèn)測試 驗證軟件的功能和性能及其它特性是否與用戶的要求一致。 平行測試 把一套測試數(shù)據(jù)同時輸入到被測試系統(tǒng)和對比系統(tǒng)中去運(yùn)行,比較兩個系統(tǒng)的輸出結(jié)果,以判斷被測試系統(tǒng)的正確性。社交性測試 證實(shí)新系統(tǒng)在目標(biāo)環(huán)境中運(yùn)行時,不會給其他系統(tǒng)帶來負(fù)面影響。測試計劃
41、測試分析報告系統(tǒng)文檔可行性研究報告項目開發(fā)計劃軟件需求規(guī)格說明書數(shù)據(jù)要求說明書測試計劃概要設(shè)計說明書詳細(xì)設(shè)計說明書數(shù)據(jù)庫設(shè)計說明操作手冊用戶手冊測試分析報告模塊開發(fā)卷宗開發(fā)進(jìn)度月報項目開發(fā)總結(jié)報告維護(hù)修改日志實(shí)施策略實(shí)施實(shí)施過程中的資源、角色、責(zé)任、實(shí)施團(tuán)隊與用戶間溝通方法、培訓(xùn)方法、各種用例的規(guī)劃。轉(zhuǎn)換定義轉(zhuǎn)換數(shù)據(jù)到新應(yīng)用的過程。指舊系統(tǒng)人工或自動向新系統(tǒng)轉(zhuǎn)換的過程,即新系統(tǒng)的轉(zhuǎn)換。 文檔要建立系統(tǒng)和用戶文檔,易于學(xué)習(xí)與培訓(xùn),保證平穩(wěn)過渡實(shí)施。培訓(xùn)有效培訓(xùn)能夠使員工的錯誤與問題都明顯減少,從而使支持成本減少36倍。支持 包括幫助臺,問題報告等。 軟件系統(tǒng)轉(zhuǎn)換維護(hù)系統(tǒng)實(shí)施后要進(jìn)行維護(hù),校正程序
42、錯誤或改進(jìn)系統(tǒng)。 維護(hù)分成以下三類 :校正維護(hù) 糾正包括軟件錯誤,進(jìn)行緊急程序修復(fù)以及日常檢測 適應(yīng)性維護(hù)由于規(guī)則、其他環(huán)境變更或使用軟件的方法引起 完善性維護(hù)用戶持續(xù)改善文檔,重新編碼以提高效率 運(yùn)行系統(tǒng)日常運(yùn)行管理主要包括:系統(tǒng)運(yùn)行管理的組織機(jī)構(gòu) 基礎(chǔ)數(shù)據(jù)的管理運(yùn)行管理制度記錄系統(tǒng)運(yùn)行狀況 B4.與軟件開發(fā)相關(guān)的風(fēng)險主要風(fēng)險如前所述,軟件開發(fā)面臨商業(yè)風(fēng)險、技術(shù)風(fēng)險、項目風(fēng)險等。信息系統(tǒng)審計師應(yīng)當(dāng)評價與項目相關(guān)管理要求項目符合公司的業(yè)務(wù)目標(biāo)包括了有效的資源和時間的估計的項目計劃如果不存在軟件基線管理,就需要控制開發(fā)范圍膨脹,防止用戶需求的不斷變化使開發(fā)過程失去控制。管理層對軟件設(shè)計和開發(fā)活動
43、的追蹤與監(jiān)控高級管理層對軟件項目的設(shè)計和開發(fā)的支持在每一個項目階段進(jìn)行階段性的審核和風(fēng)險分析B5.結(jié)構(gòu)化的分析、設(shè)計和開發(fā)技術(shù)的使用結(jié)構(gòu)化方法的作用與SDLC方法緊密相關(guān),提供一種從抽象到具體的實(shí)現(xiàn)框架,通過在不同的抽象水平使用不同的圖形符號來表示應(yīng)用程序的數(shù)據(jù)和程序組件,直到其達(dá)到一種能夠使程序員可以編碼的抽象水平。 系統(tǒng)功能的開發(fā)一般是以模塊化的方式自頂向下進(jìn)行的,這將有助于程序員用線性方式來對模塊進(jìn)行系統(tǒng)化開發(fā)和測試。 當(dāng)使用傳統(tǒng)的SDLC的方法來進(jìn)行業(yè)務(wù)應(yīng)用系統(tǒng)開發(fā)的時候,審計師應(yīng)當(dāng)關(guān)心這種結(jié)構(gòu)化方法的過程是否被良好定義、記錄和遵循。制定組織的高層業(yè)務(wù)流程圖。分解建立數(shù)據(jù)流/控制流開發(fā)
44、控制轉(zhuǎn)換開發(fā)最小規(guī)格說明開發(fā)數(shù)據(jù)詞典定義所有的外部事件(來自于外部的輸入)為每一個外部事件定義單個的轉(zhuǎn)換數(shù)據(jù)流圖B6.其他的系統(tǒng)開發(fā)方法SDLC的缺點(diǎn)不可預(yù)料的事件 一個實(shí)際的應(yīng)用項目很少能夠完全按照預(yù)先設(shè)計的進(jìn)行,這時候所出現(xiàn)的一些反復(fù)會給這種這種方法帶來問題。 對需求定義要求很高 準(zhǔn)確的需求定義,才能開發(fā)出有效的系統(tǒng),然而用戶的需求表達(dá)常常不是非常清楚。 需要用戶有足夠的耐心 只有在項目開發(fā)的后期才有可能向用戶提供一個可工作的版本,在這期間用戶只有耐心等待。SDLC的軟件開發(fā)方法當(dāng)前面臨挑戰(zhàn)一是系統(tǒng)的復(fù)雜性在日益增加,二是組織普遍要求快速實(shí)施新系統(tǒng),在業(yè)務(wù)發(fā)生變化前就從系統(tǒng)中獲得利益。在某
45、種程度上,SDLC幾乎對所有的軟件開發(fā)項目都適用。但不同的項目所采用的系列步驟、重復(fù)次數(shù)、持續(xù)時間和所使用的方法都有顯著的變化。隨著系統(tǒng)復(fù)雜性的增加,應(yīng)當(dāng)考慮如何更好地組織軟件項目并采用更有效的開發(fā)策略,使軟件開發(fā)向不斷優(yōu)化的方向演進(jìn)。 一些新的開發(fā)方法增量開發(fā)或漸進(jìn)式開發(fā)系統(tǒng)內(nèi)嵌到各階段或版本中,而不是在開發(fā)完成后整體交付。 迭代開發(fā) 這種方法涉及使用迭代或增量來構(gòu)建系統(tǒng) 演化式開發(fā)(Evolutionary development) 開發(fā)項目難于做到一次成功,出現(xiàn)返工再開發(fā)在所難免 先做試驗開發(fā),目標(biāo)只是在于探索可行性,弄清軟件需求 然后在此基礎(chǔ)上獲得較為滿意的軟件產(chǎn)品 通常把第一次得到的
46、試驗性產(chǎn)品稱為“原型” ,這種開發(fā)方法通常稱為原型法。螺旋式開發(fā)(Spiral development) 對于復(fù)雜的大型軟件,開發(fā)一個原型往往達(dá)不到要求。 螺旋模型將瀑布模型與演化模型結(jié)合起來,并且加入兩種模型均忽略了的風(fēng)險分析螺旋模型沿著螺線每旋轉(zhuǎn)一圈便開發(fā)出更為完善的一個新的軟件版本 敏捷開發(fā)(Agile development)項目被分解成相對較短的時間段(time-boxed)進(jìn)行迭代開發(fā)。從最早期的迭代開始,開發(fā)重點(diǎn)就是快速生產(chǎn)出可工作的功能性產(chǎn)品 面向數(shù)據(jù)的開發(fā)方法(DOSD)面向數(shù)據(jù)的開發(fā)方法是通過數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu)來表達(dá)軟件需求的一種開發(fā)方法;不像基于傳統(tǒng)的SDLC的結(jié)構(gòu)化分析方法
47、,面向數(shù)據(jù)的開發(fā)方法把數(shù)據(jù)與處理數(shù)據(jù)的過程加以分離,只考慮數(shù)據(jù),不考慮處理數(shù)據(jù)的過程;這種方法必須與其他開發(fā)方法給合起來使用,才能有效地開發(fā)出適合的業(yè)務(wù)解決方案。數(shù)據(jù)倉庫 主題數(shù)據(jù)庫 基本表 數(shù)據(jù)元素數(shù)據(jù)內(nèi)容 數(shù)據(jù)庫名(數(shù)據(jù) 庫內(nèi)容描述) 注意: 信息的完整性; 相關(guān)業(yè)務(wù)人員達(dá) 成共識。 業(yè)務(wù)人員確定 I T人員確定數(shù)據(jù)結(jié)構(gòu).計算機(jī)內(nèi)主題數(shù)據(jù)庫數(shù)據(jù)標(biāo)準(zhǔn)化面向?qū)ο箝_發(fā)方法(OOSD)向?qū)ο蟮亩x 面向?qū)ο?= 對象 + 類 + 繼承 + 消息通信。如果一個軟件系統(tǒng)是使用這樣4個概念設(shè)計和實(shí)現(xiàn)的,則認(rèn)為這個軟件系統(tǒng)是面向?qū)ο蟮摹R粋€面向?qū)ο蟮某绦虻拿恳怀煞輵?yīng)是對象,計算是通過新的對象的建立和對象之
48、間的消息通信來執(zhí)行的。 面向?qū)ο髢?yōu)勢: 面向?qū)ο蟮募夹g(shù)建立的模型與客觀世界一致,因而便于理解;適應(yīng)變化的需要,修改局限在模塊中; 可復(fù)用性。面向?qū)ο笈c面向過程系統(tǒng)的區(qū)別面向?qū)ο蟮幕靖拍铑惡蛯ο?類封裝了對描述某些現(xiàn)實(shí)世界實(shí)體的內(nèi)容和行為所需的數(shù)據(jù)和過程的抽象,即對一組對象的集合。 對象是一組數(shù)據(jù)和處理的結(jié)合體,是類的一個實(shí)例。 屬性 屬性依附于類和對象,用以描述對象的靜態(tài)特征 方法 對象內(nèi)封裝的處理數(shù)據(jù)的算法稱為方法 消息 消息是對象間交互的手段,消息刺激接收對象產(chǎn)生某種行為,通過操作的執(zhí)行來完成相應(yīng)的行為。面向?qū)ο笙到y(tǒng)的三個特征封裝數(shù)據(jù)和過程的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)對外隱蔽 數(shù)據(jù)結(jié)構(gòu)和對它們的操作被
49、合并在單個名字的實(shí)體中,便于構(gòu)件復(fù)用。 繼承 便于復(fù)用 高層的變化可以立即傳播到系統(tǒng)的其他部分 多態(tài) 各種對象之間具有統(tǒng)一、方便、動態(tài)的消息傳遞機(jī)制減少擴(kuò)展現(xiàn)有系統(tǒng)的工作量面向?qū)ο蠹夹g(shù) 面向?qū)ο蠓治觯∣OA)面向?qū)ο笤O(shè)計(OOD) 面向?qū)ο缶幊毯蛯?shí)現(xiàn)(OOP) 面向?qū)ο蟮臏y試(OOT) 面向?qū)ο髢?yōu)點(diǎn): 管理的數(shù)據(jù)類型多樣性的能力 ,對復(fù)雜關(guān)系進(jìn)行建模的手段,對不斷變化的環(huán)境需求的適應(yīng)性 解決了傳統(tǒng)方法中客觀世界描述工具和軟件結(jié)構(gòu)不一致的問題,縮短開發(fā)周期。面向?qū)ο蟮姆椒ㄖ械睦^承機(jī)制,支持了模型與代碼在一個系統(tǒng)中的重用,提高了開發(fā)效率。面向?qū)ο蟮姆庋b性簡化了開發(fā)過程,有利于大型復(fù)雜系統(tǒng)開發(fā)時系統(tǒng)
50、開發(fā)人員的分組獨(dú)立工作,對一個類的修改會自動傳播到它所屬的子類。由于多態(tài)性的支持,可以無須對系統(tǒng)進(jìn)行修改,這減少了錯誤和開發(fā)的工作量,使系統(tǒng)對環(huán)境變化的適應(yīng)性增強(qiáng)。統(tǒng)一的OOA方法UMLUML允許軟件工程師使用由一組語法的語義的實(shí)用的規(guī)則支配的符號來表示分析模型。 基于組件的開發(fā)方法 基于組件的開發(fā)方法是面向?qū)ο蠓ǖ耐卣梗ㄟ^定義接口集成可執(zhí)行的軟件包,從而完成一定的服務(wù)。優(yōu)點(diǎn)節(jié)省開發(fā)時間 提高質(zhì)量 使得開發(fā)者可以將精力用于核心業(yè)務(wù)的開發(fā) 有助于增加模塊性 重用簡單化 減少開發(fā)成本 使用軟件的開發(fā)與購買可以和諧統(tǒng)一組件的類型過程內(nèi)客戶端組件 這些組件必須在容器內(nèi)運(yùn)行,不能單獨(dú)運(yùn)行 例如:瀏覽器
51、的播放Flash動畫的插件 孤立的客戶端組件 可以作為組件來向其他軟件提供服務(wù)應(yīng)用 例如: MS Excel、Word 孤立的服務(wù)器端組件可以通過組件的方式提供標(biāo)準(zhǔn)服務(wù)的,在服務(wù)器端運(yùn)行的進(jìn)程例如:DCOM、CORBA、RMI 過程內(nèi)的服務(wù)器組件 這些組件在服務(wù)器的容器中運(yùn)行例如:MS MTS 、SUN EJB組件與中間件基于Web應(yīng)用開發(fā)方法基于Web的應(yīng)用開發(fā)是正在形成的一種重要的軟件開發(fā)方法,它使得企業(yè)內(nèi)部或企業(yè)之間的代碼模塊能夠更容易、更有效地集成。 基于Web的應(yīng)用開發(fā)以及與之相聯(lián)系的XML能夠使得代碼與程序更加容易集成和標(biāo)準(zhǔn)化。 基于Web的應(yīng)用開發(fā)中需求解決的另一個問題是避免用重
52、復(fù)的代碼來完成重復(fù)的計算任務(wù)Web ServicesWeb service平臺是一套標(biāo)準(zhǔn),它定義了應(yīng)用程序如何在Web上實(shí)現(xiàn)互操作性。可以用任何你喜歡的語言,不同的平臺中編寫Web service ,而通過Web service的標(biāo)準(zhǔn)來對這些服務(wù)進(jìn)行查詢和訪問 在Web Services 中,XML是數(shù)據(jù)的格式,SOAP是調(diào)用Web Services的協(xié)議,WSDL是描述Web Services 的格式,而UDDI是Web Services登記,查找和利用的組合。四個方面組成了整個Web Services架構(gòu) Web Services 正是利用了標(biāo)準(zhǔn)協(xié)議解決了困擾互聯(lián)網(wǎng)發(fā)展的兩大問題:數(shù)據(jù)傳送
53、和平臺異構(gòu),從而為開發(fā)者提供了一個統(tǒng)一的編程接口,使用者提供了一個百分之百的互聯(lián)網(wǎng)絡(luò)模型。原型法 原型是軟件的一個早期可運(yùn)行的版本,它反映最終系統(tǒng)的部分重要特性。在獲得一組基本需求說明后,通過快速分析構(gòu)造出一個小型的軟件系統(tǒng),滿足用戶的基本要求。用戶可在試用原型系統(tǒng)的過程中得到親身感受和受到啟發(fā),做出反應(yīng)和評價。 然后開發(fā)者根據(jù)用戶的意見對原型加以改進(jìn)。隨著不斷試驗、糾錯、使用、評價和修改,獲得新的原型版本如此周而復(fù)始,逐步減少分析和溝通中的誤解,彌補(bǔ)不足之處,進(jìn)一步確定各種需求細(xì)節(jié),適應(yīng)需求的變更,從而提高了最終產(chǎn)品的質(zhì)量。原型法的兩種基本方法建立設(shè)計用的原型 采用適用的4GL逐步構(gòu)造一個最
54、終可投入運(yùn)行的系統(tǒng) 原型法的優(yōu)點(diǎn)遵循人們認(rèn)知規(guī)律,采用循序漸進(jìn)的過程去開發(fā)和認(rèn)識系統(tǒng);將模擬手段引入系統(tǒng)分析,便于用戶和系統(tǒng)分析人員之間溝通;充分利用最新工具軟件,減少系統(tǒng)開發(fā)時間和費(fèi)用,提高效率。 原型法潛在的風(fēng)險在于:完成的系統(tǒng)在控制機(jī)制方面一般較弱,可能會丟失一些傳統(tǒng)開發(fā)方法的控制,如備份和恢復(fù),安全和審計軌跡等;變更控制也變得更加復(fù)雜。需求和設(shè)計的需求變更很快,很少被文檔化,也很少被批準(zhǔn),導(dǎo)致系統(tǒng)進(jìn)入不易維護(hù)的狀態(tài);對于大量運(yùn)算、邏輯性強(qiáng)的程序模塊,原型法很難構(gòu)造出適宜模型,以供用戶評價;對于大型系統(tǒng)如果沒有系統(tǒng)地進(jìn)行整體性劃分,很難進(jìn)行模擬。信息系統(tǒng)審計師應(yīng)該認(rèn)識到原型法有關(guān)的風(fēng)險,
55、也應(yīng)該意識到這種方法給組織帶來的省時、節(jié)約的好處,進(jìn)行綜合分析評估。快速應(yīng)用開發(fā)方法(RAD)RAD是一種以減少開發(fā)成本和犧牲維護(hù)質(zhì)量來使得組織能夠有策略地快速開發(fā)出重點(diǎn)應(yīng)用系統(tǒng)的開發(fā)方法。 RAD的使用前提 支持單個應(yīng)用系統(tǒng)的分析、設(shè)計、開發(fā)與實(shí)施 限定的開發(fā)周期 組件重用 RAD的四個階段 概念定義、功能設(shè)計、開發(fā)、遷移敏捷開發(fā)敏捷開發(fā)指的是支持復(fù)雜系統(tǒng)開發(fā)的一系列非傳統(tǒng)化的開發(fā)過程 敏捷開發(fā)的特點(diǎn) 短時間內(nèi)開發(fā) 開發(fā)末期對項目進(jìn)行重新計劃 與傳統(tǒng)的方法相比,相對更加可靠 用成對編程(兩人編寫系統(tǒng)的同一部分)來共享智慧與質(zhì)量檢查 項目經(jīng)理角色轉(zhuǎn)變敏捷開發(fā)對傳統(tǒng)軟件開發(fā)問題的處理僅僅對下一期
56、間的任務(wù)進(jìn)行詳細(xì)計劃 不強(qiáng)調(diào)管理需求的基線 迅速檢驗一個真實(shí)功能的結(jié)構(gòu) 糾錯測試有限,試圖通過構(gòu)造測試來減少時間和成本 不強(qiáng)調(diào)預(yù)定義的可重復(fù)過程 目前有一個敏捷聯(lián)盟,他們制定了敏捷宣言:個體和交互勝過過程和工具 可以工作的軟件勝過面面俱到的文檔 客戶合作勝過合同談判 響應(yīng)變化勝過遵循計劃 軟件重組軟件重組是一個通過抽取、重用現(xiàn)存軟件的設(shè)計與程序組件,對現(xiàn)有系統(tǒng)進(jìn)行升級的過程這個過程被用來支持組織業(yè)務(wù)運(yùn)行方式的主要變更。現(xiàn)在有大量的工具可以支持軟件重組。逆向工程法所謂軟件的逆向工程就是分析已有的程序,尋求比源代碼更高級的抽象表現(xiàn)形式。一般認(rèn)為,凡是在軟件生命周期內(nèi),將軟件某種形式的描述轉(zhuǎn)換成更為
57、抽象形式的活動都可稱為逆向工程。逆向工程的方式將對象和可執(zhí)行文件拆編成源代碼,用它來分析程序;采用逆向工程作為黑盒,采用數(shù)據(jù)測試揭示它的功能。逆向工程導(dǎo)出的信息可分為4個抽象層次:實(shí)現(xiàn)級,包括程序的抽象語法樹、符號表等信息;結(jié)構(gòu)級,包括反映程序分量之間相互依賴關(guān)系的信息,例如調(diào)用圖、結(jié)構(gòu)圖等;功能級,包括反映程序段功能及程序段之間關(guān)系的信息;領(lǐng)域級,包括反映程序分量或程序諸實(shí)體與實(shí)用領(lǐng)域概念之間對應(yīng)關(guān)系的信息。逆向工程的主要優(yōu)點(diǎn) 開發(fā)迅速,減少SDLC的開發(fā)周期 利用被分析系統(tǒng)的缺點(diǎn)來改進(jìn)系統(tǒng) 逆向工程的風(fēng)險 軟件許可協(xié)議禁止 反編譯器依賴于特定計算機(jī)、操作系統(tǒng)和編程語言C、基礎(chǔ)設(shè)施開發(fā)與獲取
58、實(shí)務(wù) 對基礎(chǔ)設(shè)施的分析與定義IT部門的一個關(guān)鍵任務(wù)就是要對當(dāng)前物理架構(gòu)進(jìn)行分析,定義所需要的新系統(tǒng),并規(guī)劃從現(xiàn)有系統(tǒng)向新系統(tǒng)轉(zhuǎn)移的路徑圖;物理架構(gòu)分析不能只局限于價格因素和某些孤立的特征,而應(yīng)當(dāng)在全面分析的基礎(chǔ)上,做出綜合性的、正式的、合理的選擇。 第一階段主要任務(wù)是列出如何更好地選擇物理架構(gòu)、如何從現(xiàn)技術(shù)架構(gòu)移植到新架構(gòu)的路徑圖的步驟;主要任務(wù):成功地分析現(xiàn)有的技術(shù)架構(gòu);在設(shè)計新的架構(gòu)時,既要考慮組織現(xiàn)有架構(gòu)情況,還要考慮各種特定的限制條件;記錄下對新技術(shù)架構(gòu)的功能需求基于這些功能性需求,設(shè)計概念方案第二階段對所需的技術(shù)架構(gòu)進(jìn)行規(guī)劃與實(shí)施,以建立合理的未來技術(shù)環(huán)境(一般是指生產(chǎn)、測試與開發(fā)環(huán)
59、境);主要任務(wù):選擇簽約合作伙伴;建立服務(wù)水平協(xié)議;制定安裝計劃和安裝測試計劃等。 C1. 物理構(gòu)架分析各項目階段C2. 基礎(chǔ)設(shè)施的實(shí)施規(guī)劃各項目階段1.1制定供應(yīng)商評估標(biāo)準(zhǔn)1.2 列出供應(yīng)商長名單1.3 列出供應(yīng)商短名單1.4 選擇優(yōu)先考慮的供應(yīng)商1.5 定義合作伙伴關(guān)系2.1制定交付計劃2.2 評審交付計劃3.1 制定安裝計劃3.2 評審安裝計劃4.1 制定測試計劃4.2 評審測試計劃C3. 關(guān)鍵成功因素基礎(chǔ)設(shè)施實(shí)施規(guī)劃的成功因素要吸收有一定技能的合適成員參加到工作組中來,并要全程參與項目實(shí)施,以避免產(chǎn)生項目延誤;完成工作所需的文檔應(yīng)當(dāng)在項目開始時就準(zhǔn)備好;決策制定者必須參與項目的各個環(huán)節(jié)
60、,以確保所有必要的決策能快速制定出來;為作好準(zhǔn)備,必須完成項目的第一部分的工作(物理架構(gòu)的分析),并為所需的基礎(chǔ)設(shè)施方案做出決策。硬件獲取的要求購置的硬件必需符合組織的IS計劃首先要建立和遵循硬件標(biāo)準(zhǔn)(Criteria)確保兼容性、可擴(kuò)展性和可靠性編寫硬件獲取計劃硬件規(guī)格說明向硬件供應(yīng)商發(fā)布一個規(guī)格,并制訂評估供應(yīng)商建議的準(zhǔn)則規(guī)格必須盡可能全面地說明所需設(shè)備的用途、任務(wù)和要求,并包括對設(shè)備所處環(huán)境的描述 常以招標(biāo)書(ITT)或請求建議書(RFP)的形式送達(dá)供應(yīng)商 C4.硬件獲取為獲取系統(tǒng)而組織招標(biāo)招標(biāo)書內(nèi)容:描述組織計算機(jī)系統(tǒng)集中式還是分布式數(shù)據(jù)處理需求(處理方式、實(shí)時數(shù)據(jù)庫、連續(xù)作業(yè))硬件需
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣州鼎信科技java面試題及答案
- 法律實(shí)務(wù)民法刑法知識點(diǎn)習(xí)題集
- 現(xiàn)代物理概念題集
- 西方政治制度的全球治理參與試題及答案
- 測試結(jié)果分析與總結(jié)技巧試題及答案
- 項目的利益相關(guān)者管理試題及答案
- 大眾傳播學(xué)對公共政策的啟示試題及答案
- 公共政策的實(shí)施與評估新方法試題及答案
- 西方國家政治外交中的倫理規(guī)范試題及答案
- 機(jī)電工程師學(xué)術(shù)交流的重要性與試題與答案
- 化工廠光化車間停車檢修施工方案
- 鋁粉采購合同
- 廣州市主要河道采砂技術(shù)方案
- 中國基建課件教學(xué)課件
- EPC光伏項目投標(biāo)方案(技術(shù)方案)
- 2023企業(yè)數(shù)字化轉(zhuǎn)型建設(shè)方案數(shù)據(jù)中臺、業(yè)務(wù)中臺、AI中臺
- 國家開放大學(xué)本科《人文英語3》一平臺機(jī)考真題及答案(第二套)
- 廣西壯族自治區(qū)南寧市2023-2024學(xué)年八年級下學(xué)期7月期末歷史試題(無答案)
- 江蘇省揚(yáng)州市2023-2024學(xué)年高二下學(xué)期6月期末考試歷史試題
- 初中必背古詩文
- 教科版四年級下冊科學(xué)期末測試卷含答案【研優(yōu)卷】
評論
0/150
提交評論