??這里是【軟考——系統(tǒng)架構(gòu)師】,關注我考試輕松過線 ??如果對你有幫助,給博主一個免費的點贊以示鼓勵
歡迎各位??點贊??評論收藏??
??軟件開發(fā)方法
軟件開發(fā)生命周期
1、需求規(guī)格說明書包括系統(tǒng)名稱、功能描述、接口、基本數(shù)據(jù)結(jié)構(gòu)、性能、設計需求、開發(fā)標準、驗收原則等。
2、概要設計定義功能模塊及功能模塊之間的關系,詳細設計研究模塊內(nèi)部,包括算法與數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)分布、數(shù)據(jù)組織、模塊間信息接口和用戶界面等設計。
3、測試分為單元測試、集成測試、確認測試和系統(tǒng)測試。
軟件開發(fā)模型
1、瀑布模型嚴格按照軟件生命周期的各階段順序執(zhí)行,有利于人員的組織管理,但明顯存在使用缺陷:用戶并不能清晰定義及描述其需求、初始版本的呈現(xiàn)周期較長。
2、原型模型的原理即提前通過可視化的方式呈現(xiàn)需求,因此原型獲取的三種途徑一般為:
(1)利用模擬軟件系統(tǒng)的人機界面和人機交互方式
(2)真正開發(fā)一個原型
(3)尋求一個或幾個類似的軟件
3、螺旋模型實在快速原型的基礎上擴展的,支持大型軟件開發(fā),適用于面向規(guī)格說明、面向過程和面向?qū)ο蟮能浖_發(fā)方法,通常將軟件開發(fā)切割為多個周期,每個周期由 4 個階段組成:
(1)目標設定
(2)風險分析
(3)開發(fā)和有效性驗證
(4)評審
4、基于四代技術的模型,只側(cè)重于支持軟件的設計和實現(xiàn)階段,并不支持全過程,其主要特征:
(1)非過程化語言:可通過生成器代替編程語言
(2)與數(shù)據(jù)庫密切相關
敏捷方法
1、敏捷方法的特點
(1)強調(diào)“適應性”而非“預設性”
(2)強調(diào)“面向人的”而非“面向過程的”
2、敏捷方法的核心思想
(1)敏捷方法是適應型,而非可預測性
(2)敏捷方法是以人為本,而非以過程為本
(3)迭代增量式的開發(fā)過程
3、敏捷方法的主要內(nèi)容
(1)4 個核心價值觀
a、溝通:設計者、開發(fā)者和客戶之間
b、簡單:滿足當前需求,代碼簡單化
c、反饋
d、勇氣
(2)12 條過程實踐原則:簡單設計、測試驅(qū)動、代碼重構(gòu)、結(jié)對編程、持續(xù)集成、現(xiàn)場客戶、發(fā)行版本小型化、系統(tǒng)隱喻、代碼集體所有制、規(guī)劃策略、規(guī)范代碼、40 小時工作機制。
RUP
1、RUP 的 9 個核心工作流:業(yè)務建模、需求、分析與設計、實現(xiàn)、測試、部署、配置與管理、項目管理和環(huán)境。
2、RUP 的 4 個階段:初始、細化、構(gòu)造和移交.
3、RUP 的特點
(1)用例驅(qū)動
(2)以體系結(jié)構(gòu)為中心
a、體系結(jié)構(gòu)的設計與代碼設計無關,不依賴于程序語言
b、體系結(jié)構(gòu)層次的設計問題包括系統(tǒng)的總體組織和全局控制、通訊協(xié)議、同步、數(shù)據(jù)存取、
給設計元素分配特定功能、設計元素的組織、物理分布、系統(tǒng)的伸縮性和性能。
(3)迭代與增量
4、“4+1”視圖模型中不同人員對于視圖的關注重點不同,如下表
視圖名稱 | 關注點 |
---|---|
邏輯視圖 | 描述系統(tǒng)功能,最終用戶關注 |
實現(xiàn)視圖 | 描述系統(tǒng)配置、裝配,程序員關注 |
進程視圖 | 描述系統(tǒng)性能、吞吐,集成人員關注 |
部署視圖 | 描述系統(tǒng)安裝、拓撲結(jié)構(gòu),系統(tǒng)工程師關注 |
用例視圖 | 描述人機互動的系統(tǒng)行為,分析人員和測試人員關注 |
5、RUP 是一個通用的過程模板,包括開發(fā)指南、開發(fā)過程產(chǎn)物及過程中的角色說明,可用于
各類項目,因體系龐大,需要針對具體實例進行適當裁剪。
6、RUP 裁剪步驟
(1)確定開發(fā)過程涉及的工作流
(2)確定工作流的產(chǎn)出
(3)確定 4 階段間的演進
(4)確定每個階段的迭代計劃
(5)規(guī)劃工作流內(nèi)部結(jié)構(gòu)(難點)
軟件系統(tǒng)工具
1、軟件開發(fā)工具的衡量因素:功能、易用性、穩(wěn)健性、硬件要求和性能、服務和支持
2、軟件開發(fā)工具包括需求分析工具、設計工具、編碼與排錯工具、測試工具等。
??需求管理
1、軟件需求開發(fā)文檔批準后,確立開發(fā)的需求基線。
2、需求管理的主要活動包括:變更控制、版本控制、需求跟蹤、需求狀態(tài)跟蹤。
需求管理原則
1、CMM 模型第 2 級關鍵過程域增加需求管理,目標:
(1)為軟件需求建立基線
(2)軟件計劃、產(chǎn)品和活動與軟件需求保持一致
需求規(guī)格說明的版本控制
1、版本控制信息應包括變更內(nèi)容、日期、變更人員及變更原因。
需求屬性
1、需求屬性包括:創(chuàng)建時間、版本號、創(chuàng)建人、批準人、狀態(tài)、原因和依據(jù)、涉及子系統(tǒng)、
涉及產(chǎn)品版本號、驗收/接受的標準、優(yōu)先級、穩(wěn)定性。
需求變更
1、為嚴格控制軟件項目,需要確保:
(1)評估已提出的變更
(2)適當?shù)娜诉x評估和決策變更
(3)變更應及時通知所有人
(4)需求變更需要遵循一定程序
2、需求變更管理的目的是將變更產(chǎn)生的負面影響降到最低,過程包括:
(1)問題分析和變更描述
(2)變更分析和成本計算
(3)變更實現(xiàn)
3、需求變更應遵循的原則
(1)必須遵循變更控制程序
(2)變更未經(jīng)批準不得實施
(3)變更應有變更控制委員會進行評估和決策
(4)項目干系人有權獲悉變更信息
(5)變更庫中的原始文檔不得更改或刪除
(6)變更的實施均應可追溯到已批準的變更請求
4、變更控制委員會的總則/章程應包括變更控制委員會的目的、授權范圍、成員構(gòu)成、決策
流程及操作步驟。
需求跟蹤
1、需求跟蹤鏈(traceability link)類型
(1)客戶需求向前追溯到軟件需求(需求變更更新至需求規(guī)格說明書中)
(2)從軟件需求回溯相應的客戶需求(確認每個需求的源頭)
(3)從軟件需求向前追溯到下一級工作產(chǎn)品(逐步確保最終產(chǎn)品滿足需求)
(4)從產(chǎn)品部件回溯到軟件需求(驗證部件來源于)
需求變更的代價和風險
1、變更只能在項目時間、預算、資源等的限制允許范圍內(nèi)進行協(xié)商。
2、進行影響分析的能力依賴于跟蹤能力、數(shù)據(jù)的質(zhì)量和完整性。
??開發(fā)管理
1、范圍定義的輸入包括:項目章程(初始的范圍說明書)、項目范圍管理計劃、組織過程資
產(chǎn)(過程性成果)、批準的變更申請。
2、時間管理的過程包括:活動定義(WBS)、活動排序、活動資源估算、活動歷時估算、制定
進度計劃以及進度控制。
3、成本管理活動包括:成本估算、成本預算(基線)、成本控制。
配置管理、文檔管理
1、產(chǎn)品配置是指一個產(chǎn)品在其生命周期各個階段所產(chǎn)生的各種形式(機器可讀或人工可讀)
和各種版本的文檔、計算機程序、部件及數(shù)據(jù)的集合,構(gòu)成集合的元素稱為配置項。
2、配置項的分類:
(1)產(chǎn)品的工作成果,包括產(chǎn)品本身的文檔
(2)管理等過程中產(chǎn)生的文檔
3、配置項的屬性:名稱、標識符、文件狀態(tài)、版本、作者和日期等
4、文檔分類
(1)用戶文檔,包括功能描述、安裝文檔、使用手冊、參考手冊、操作員指南。
(2)系統(tǒng)文檔,和系統(tǒng)實現(xiàn)有關的文檔。
軟件開發(fā)的質(zhì)量與風險
1、質(zhì)量和等級的關系:質(zhì)量是需求/要求的滿足程度,等級是產(chǎn)品或服務的類別。
2、風險的必要條件:與損失或收益相關、存在偶然性或不確定性、需要抉擇。
??設計方法
結(jié)構(gòu)化分析與設計
1、結(jié)構(gòu)程序設計理論基礎中三種基本控制構(gòu)件包括:順序、分支、循環(huán)。
面向?qū)ο蟮姆治鲈O計
1、面向?qū)ο蟮姆治瞿P蜆?gòu)成包括:頂層架構(gòu)圖、用例與用例圖、領域概念模型。
2、面向?qū)ο蟮脑O計模型包括:軟件體系結(jié)構(gòu)圖、用例實現(xiàn)圖、類圖、狀態(tài)圖、活動圖等。
3、從分析到設計的步驟:
(1)根據(jù)用例設計實現(xiàn)方案(UML)
(2)設計技術支撐設施(非功能性公共支撐件)
(3)設計用戶界面(類圖)
??軟件的重用
1、重用/復用的軟件元素(軟部件):需求分析文檔、設計過程、設計文檔、程序代碼、測試用例和領域知識等。
2、軟件重用的分類
名稱 | 對象 | 舉例 |
---|---|---|
橫向重用 | 不同應用領域中的軟件元素 | 標準函數(shù)庫 |
縱向重用 | 共性應用領域間的軟部件 |
3、軟件重用的優(yōu)勢:提高生產(chǎn)率、降低開發(fā)成本、縮短開發(fā)周期、改善軟件質(zhì)量、提高靈活性和標準化程度。
??逆向工程與重構(gòu)工程
1、基本概念:通過分析已有的程序?qū)で蟊仍创a更高級的抽象表現(xiàn)形式(比如文檔)的活動就是逆向工程,是在不同抽象層級中進行的溯源行為,而重構(gòu)工程則是在同一抽象層級中轉(zhuǎn)換系統(tǒng)描述的活動。逆向工程得出的設計稱之為設計恢復,設計恢復不一定能夠抽象還原到原設計;對逆向工程所形成的系統(tǒng)進行修改或重構(gòu),生成的新版本稱為重構(gòu)工程。
2、逆向工程信息恢復的級別
級別 | 內(nèi)容 | 抽象級別 | 逆向工程恢復難度 | 工具支持可能性 | 人工參與程度 |
---|---|---|---|---|---|
實現(xiàn)級 | 語法樹、符號 | 遞增 | 遞增 | 遞減 | 遞增 |
結(jié)構(gòu)級 | 程序間的關系,如視圖 | 遞增 | 遞增 | 遞減 | 遞增 |
功能級 | 功能和程序段之間的關系 | 遞增 | 遞增 | 遞減 | 遞增 |
領域級 | 實體與應用域之間的關系 | 遞增 | 遞增 | 遞減 | 遞增 |
領域級 | 實體與應用域之間的關系 | 遞增 | 遞增 | 遞減 | 遞增 |
3、逆向工程信息恢復的方法
名稱 | 適用級別 | 具體方法 |
---|---|---|
用戶指導下的搜索與變換法 | 實現(xiàn)級、結(jié)構(gòu)級 | 通過查詢語句及輸出進行恢復 |
變換式方法 | 除領域級 | 自動分析法及基于特定庫的用戶指導變換法 |
基于領域知識的恢復法 | 功能級、領域級 | 一般用規(guī)則庫表示,不確定性最大 |
鉛板恢復法 | 實現(xiàn)級、結(jié)構(gòu)級 | 識別公共構(gòu) |
交流
對軟考有興趣的朋友可以進博主的交流群,目前有軟件設計師、高項、系統(tǒng)架構(gòu)師、系統(tǒng)分析師四個群。文章來源:http://www.zghlxwxcb.cn/news/detail-713587.html
- 群內(nèi)有歷年真題、電子書等資料可以自??;
- 無營銷、純交流群;
- 每周會有兩次送書活動一次三本,包郵到家。
交流入口文章來源地址http://www.zghlxwxcb.cn/news/detail-713587.html
到了這里,關于【軟考——系統(tǒng)架構(gòu)師】系統(tǒng)開發(fā)基礎知識的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!