在信息系統(tǒng)項目管理師的知識體系中,軟件開發(fā)是常規(guī)信息系統(tǒng)集成技術(shù)的核心組成部分之一。它不僅是構(gòu)建信息系統(tǒng)的基礎(chǔ),也是項目管理成功與否的關(guān)鍵。本節(jié)將圍繞軟件開發(fā)的主要技術(shù)要點,結(jié)合2019年考試大綱的要求,進行系統(tǒng)性的梳理與分析。
一、軟件開發(fā)模型與方法論
軟件開發(fā)模型決定了項目的組織方式與流程。掌握主流模型的特點及適用場景至關(guān)重要。
- 瀑布模型:經(jīng)典的線性順序模型,階段劃分明確,適用于需求明確、變更較少的項目。但靈活性差,后期變更成本高。
- 迭代模型與增量模型:將整個項目分解為一系列小的迭代或增量,每次迭代都產(chǎn)生一個可運行版本。能較早獲得用戶反饋,降低風(fēng)險。Rational統(tǒng)一過程(RUP)是典型的迭代模型。
- 螺旋模型:強調(diào)風(fēng)險分析,每個迭代周期都包含制定計劃、風(fēng)險分析、實施工程和客戶評估四個階段。適用于大型、高風(fēng)險項目。
- 敏捷開發(fā)模型:以人為核心、迭代、循序漸進的開發(fā)方法。強調(diào)快速交付、持續(xù)改進和響應(yīng)變化。Scrum和極限編程(XP)是其中最具代表性的框架。在當(dāng)前的軟件開發(fā)實踐中占據(jù)主流地位。
項目管理師需根據(jù)項目特點(如需求明確度、技術(shù)風(fēng)險、團隊規(guī)模)選擇合適的模型,并能在項目過程中進行裁剪和調(diào)整。
二、軟件需求工程
需求是項目的基石。需求工程包括需求獲取、分析、規(guī)格說明、驗證和管理。
- 需求獲取:通過訪談、問卷、原型等方法,從用戶、干系人處收集需求。
- 需求分析:結(jié)構(gòu)化分析(如數(shù)據(jù)流圖、數(shù)據(jù)字典)與面向?qū)ο蠓治觯ㄈ缬美龍D、類圖)是兩大主流技術(shù)。目標(biāo)是建立清晰、無歧義的需求模型。
- 需求管理:涉及需求跟蹤、變更控制、版本管理。使用需求跟蹤矩陣(RTM)是確保需求不被遺漏、驗證覆蓋的有效工具。
三、軟件設(shè)計
設(shè)計階段將需求轉(zhuǎn)化為系統(tǒng)的藍圖,分為總體設(shè)計(架構(gòu)設(shè)計)和詳細(xì)設(shè)計。
- 軟件架構(gòu)設(shè)計:決定系統(tǒng)的高層結(jié)構(gòu)、組件及其關(guān)系。常見的架構(gòu)風(fēng)格包括分層架構(gòu)、客戶端-服務(wù)器架構(gòu)、事件驅(qū)動架構(gòu)、微服務(wù)架構(gòu)等。架構(gòu)設(shè)計需關(guān)注性能、安全性、可擴展性、可維護性等質(zhì)量屬性。
- 詳細(xì)設(shè)計:定義每個模塊/類的內(nèi)部實現(xiàn)細(xì)節(jié),包括算法、數(shù)據(jù)結(jié)構(gòu)、接口等。常用工具包括程序流程圖、盒圖(N-S圖)、PAD圖、類圖、時序圖等。
- 設(shè)計原則與模式:遵循高內(nèi)聚、低耦合等基本原則。熟悉常用的設(shè)計模式(如工廠模式、單例模式、觀察者模式等),能提高代碼的復(fù)用性和可維護性。
四、軟件實現(xiàn)(編碼)與測試
- 軟件實現(xiàn):
- 編程語言與范式:了解主流語言(如Java, C#, Python, JavaScript)及其適用的領(lǐng)域。理解面向過程、面向?qū)ο蟆⒑瘮?shù)式等編程范式。
- 編碼規(guī)范:統(tǒng)一的編碼規(guī)范是保證團隊協(xié)作和代碼質(zhì)量的基礎(chǔ)。
- 集成策略:包括一次性集成(Big Bang)、自上而下、自下而上、三明治集成等,需根據(jù)項目情況選擇。
- 軟件測試:
- 測試級別:單元測試、集成測試、系統(tǒng)測試、驗收測試。
- 測試類型:功能測試、性能測試、安全測試、兼容性測試、用戶界面測試等。
- 測試方法:黑盒測試(等價類劃分、邊界值分析等)與白盒測試(邏輯覆蓋、路徑測試等)。
- 自動化測試:是提高測試效率、支持持續(xù)集成/持續(xù)部署(CI/CD)的關(guān)鍵。
五、軟件維護與配置管理
- 軟件維護:包括改正性維護、適應(yīng)性維護、完善性維護和預(yù)防性維護。維護成本通常遠高于開發(fā)成本,因此設(shè)計時的可維護性至關(guān)重要。
- 軟件配置管理(SCM):貫穿整個生命周期,管理軟件的變更。核心活動包括配置標(biāo)識、版本控制、變更控制、配置審計和狀態(tài)報告。Git、SVN等是常用的版本控制工具。
六、新興技術(shù)與趨勢(2019年視角)
在2019年的技術(shù)背景下,以下趨勢值得關(guān)注:
- DevOps與持續(xù)交付:強調(diào)開發(fā)與運維的緊密協(xié)作,通過自動化工具鏈實現(xiàn)軟件的快速、可靠構(gòu)建、測試與發(fā)布。
- 微服務(wù)架構(gòu):將單體應(yīng)用拆分為一組小型、松耦合的服務(wù),每個服務(wù)獨立開發(fā)、部署和擴展。
- 容器化技術(shù):以Docker為代表的容器技術(shù),提供了輕量級、一致性的運行環(huán)境,極大促進了微服務(wù)和DevOps的落地。
- 低代碼/無代碼開發(fā)平臺:通過可視化方式快速構(gòu)建應(yīng)用,提升開發(fā)效率,應(yīng)對業(yè)務(wù)快速變化。
###
對于信息系統(tǒng)項目管理師而言,深入理解軟件開發(fā)的技術(shù)要點,不僅是為了應(yīng)對考試,更是為了在實際項目中做出正確的技術(shù)決策、有效管理開發(fā)團隊、控制項目風(fēng)險和質(zhì)量。在集成項目中,軟件開發(fā)必須與網(wǎng)絡(luò)、數(shù)據(jù)庫、中間件等其他技術(shù)有效協(xié)同,共同構(gòu)建穩(wěn)定、高效的信息系統(tǒng)。因此,項目管理師需具備將軟件開發(fā)技術(shù)與管理實踐相結(jié)合的系統(tǒng)性思維。