大師兄的信息化管理學(xué)習(xí)筆記(七):中間件技術(shù)
大師兄的信息化管理學(xué)習(xí)筆記(九):UML語言
一、軟件工程
- 軟件工程(Software Engineering)是指應(yīng)用計(jì)算機(jī)科學(xué),數(shù)學(xué)及管理科學(xué)等原理阱表,以工程化的原則和方法來解決軟件問題的工程畔乙。
- 方法:完成軟件工程項(xiàng)目的技術(shù)手段,支持整個(gè)軟件聲明周期忙厌。
- 工具:自動(dòng)或半自動(dòng)地支持軟件的開發(fā)和管理凫岖,支持文檔生成。
- 過程:貫穿軟件開發(fā)的各個(gè)環(huán)節(jié)逢净。
二哥放、軟件需求
1. 關(guān)于軟件需求
- 軟件需求是指用戶對新系統(tǒng)在功能歼指、行為、性能甥雕、設(shè)計(jì)約束等方面的期望踩身。
- IEEE:軟件需求是指用戶解決問題或達(dá)到目標(biāo)所需的條件或能力,是系統(tǒng)或系統(tǒng)部件要滿足合同社露、標(biāo)準(zhǔn)惰赋、規(guī)范或其他正式規(guī)定文檔所需具有的條件或能力,以及反應(yīng)這些條件或能力的文檔說明呵哨。
2. 軟件需求的層次
層次 | 描述 |
---|---|
業(yè)務(wù)需求 | 反應(yīng)企業(yè)或客戶對系統(tǒng)高層次的目標(biāo)要求赁濒,通常來自項(xiàng)目投資人、客戶孟害、客戶單位的管理人員拒炎、市場營銷部分或產(chǎn)品策劃部門等。 |
用戶需求 | 用戶的具體目標(biāo)挨务,或用戶要求系統(tǒng)必須能完成的任務(wù)击你。用戶需求描述了用戶能使用系統(tǒng)來做些什么。 |
系統(tǒng)需求 | 從系統(tǒng)的角度來說明軟件的需求谎柄,包括功能需求丁侄,非功能需求和設(shè)計(jì)約束等。 |
2.1 系統(tǒng)需求
- 功能需求:規(guī)定了開發(fā)人員必須在系統(tǒng)中實(shí)現(xiàn)的軟件功能朝巫,通常通過系統(tǒng)特性的描述表現(xiàn)出來鸿摇。
- 非功能需求:系統(tǒng)必須具備的屬性或品質(zhì),如可維護(hù)性劈猿、可用性拙吉、效率等
- 設(shè)計(jì)約束:限制條件或補(bǔ)充規(guī)約,通常是對系統(tǒng)的約束說明揪荣。
3. 需求的特征
- 正確性:用詞準(zhǔn)確筷黔,數(shù)據(jù)來源準(zhǔn)確
- 完整性:不遺漏,有必要信息輔助設(shè)計(jì)和實(shí)現(xiàn)
- 可行性:在一定環(huán)境和限制條件下可實(shí)施
- 一致性:與其他需求或高層需求不矛盾
- 劃分優(yōu)先級:指明需求重要性
- 可理解性:減少專業(yè)術(shù)語仗颈、描述清晰佛舱、必要的說明
- 可驗(yàn)證性:有方法可檢測需求是否實(shí)現(xiàn)了
- 可追蹤性:項(xiàng)目全生命周期跟蹤需求
- 可修改性:容易修改、記錄修改內(nèi)容
- 無歧義性:對所有需求說明的讀者都只能有一個(gè)明確統(tǒng)一的解釋
三. 需求工程
內(nèi)容 | 描述 |
---|---|
需求獲取 | - 確定和理解項(xiàng)目干系人的需求和約束的過程挨决。 - 方法包括用戶訪談请祖、問卷調(diào)查、采樣凰棉、清潔串聯(lián)板损拢、聯(lián)合需求計(jì)劃等。 |
需求分析 | - 提煉撒犀、分析和審查已經(jīng)獲取的需求福压,以確保所有項(xiàng)目干系人清楚各項(xiàng)需求的含義掏秩,發(fā)現(xiàn)遺漏和不足。 - 需求分析方法包括SA方法和OOA方法等荆姆。 |
編寫規(guī)約 | - 形成軟件需求規(guī)格說明書SRS蒙幻,是相關(guān)方對需求的共同理解,是開發(fā)的基礎(chǔ)胆筒。 - GB/T8567-2006提供了SRS的文檔模板和編寫指南邮破。 |
需求驗(yàn)證 | - 在系統(tǒng)分析階段檢測SRS中的錯(cuò)誤,節(jié)省時(shí)間和資金仆救。 - 一般通過需求評審和需求測試工作來對需求進(jìn)行驗(yàn)證抒和。 |
1 質(zhì)量功能部署QFD
- QFD(quality Function Deployment), 是一種將用戶要求轉(zhuǎn)化成軟件需求的技術(shù)。
- 其目的是最大限度地提升軟件工程過程中用戶的滿意度彤蔽,確保產(chǎn)品設(shè)計(jì)滿足客戶需求和價(jià)值摧莽。
- QFD將需求分為三類:
類別 | 描述 |
---|---|
常規(guī)需求 | 也稱普通需求,包含客戶對項(xiàng)目的最基本需求顿痪,是客戶對整個(gè)項(xiàng)目最關(guān)心的部分镊辕。 |
期望需求 | 客戶可能沒有表達(dá)明確或沒有明確提出的需求,但是會讓客戶提升對項(xiàng)目的滿意度蚁袭。 |
意外需求 | 也稱興奮需求征懈,用戶要求范圍外的功能呢或性能,不實(shí)現(xiàn)也不影響購買決策揩悄。 |
2 需求分析的目的
- 檢測和解決需求之間的沖突卖哎。
- 發(fā)現(xiàn)軟件的邊界,以及軟件與其環(huán)境如何交互虏束。
- 詳細(xì)描述系統(tǒng)需求棉饶,以導(dǎo)出軟件需求。
3. 結(jié)構(gòu)化分析方法SA
- 結(jié)構(gòu)化分析是軟件工程中的一種方法镇匀,其建立的模型的核心是數(shù)據(jù)字典。
- 結(jié)構(gòu)化分析有三個(gè)層次的模型:
3.1 數(shù)據(jù)模型
-
E-R圖也稱實(shí)體-聯(lián)系圖(Entity Relationship Diagram)袜啃,提供了表示實(shí)現(xiàn)類型汗侵、屬性和聯(lián)系的方法,用來描述顯示世界的概念模型群发。
3.2 功能模型
-
DFD圖(Data Flow Diagram,數(shù)據(jù)流圖)晰韵,從數(shù)據(jù)傳遞和加工的角度,用圖形方式表示信息系統(tǒng)中數(shù)據(jù)的移動(dòng)方式熟妓。
3.3 行為模型
-
STD圖(State Transform Diagram狀態(tài)轉(zhuǎn)換圖)雪猪,描述系統(tǒng)的狀態(tài)和引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,指出作為特定事件的結(jié)果將執(zhí)行哪些動(dòng)作起愈。
4. 面向?qū)ο蠓治龇椒∣OA
- 運(yùn)營OO方法對問題域進(jìn)行分析和理解只恨,找出描述問題域和系統(tǒng)功能所需的類和對象译仗,最終產(chǎn)生OOA模型。
4.1 用例模型
- 描述系統(tǒng)功能
-
主要表現(xiàn)形式是用例圖
4.2 分析模型
- 靜態(tài)模型:類和對象的組成關(guān)系官觅。
- 動(dòng)態(tài)模型:對象及系統(tǒng)組成部分之間如何銅線纵菌,實(shí)現(xiàn)系統(tǒng)行為。
5. 軟件需求規(guī)格說明書SRS
- SRS(Software Requirement Specification,軟件需求規(guī)格說明書)是需求開發(fā)活動(dòng)的產(chǎn)物休涤,目的是使系統(tǒng)干系人與開發(fā)團(tuán)隊(duì)對系統(tǒng)的初始規(guī)定有共同的理解咱圆,使之稱為整個(gè)開發(fā)工作的基礎(chǔ)。
- 根據(jù)GB/T 8567-2006功氨,SRS應(yīng)包括:
內(nèi)容 | 描述 |
---|---|
范圍 | 本部分包括SRS適用的系統(tǒng)和軟件的完整標(biāo)識序苏,簡述SRS適用的系統(tǒng)和軟件的用途,描述系統(tǒng)和軟件的一般特性捷凄。 |
引用文件 | 列出SRS中引用的所有文檔的編號忱详、標(biāo)題、修訂版本和日期纵势。 |
需求 | 是SRS的主體部分踱阿,詳細(xì)描述軟件需求。 |
合格性規(guī)定 | 定義一組合格性的方法钦铁,以確保需求得到滿足软舌。 |
需求可追蹤性 | 從SRS中每個(gè)軟件配置項(xiàng)的需求到其涉及的系統(tǒng)(或子系統(tǒng))的雙向可追蹤性。 |
尚未解決的問題 | 說明軟件需求中的尚未解決的遺留問題牛曹。 |
注解 | 包含有助于理解SRS的一般信息佛点,如背景信息、詞匯表黎比、原理等超营。 |
附錄 | 提供那些為便于維護(hù)SRS而單獨(dú)編排的信息(如圖標(biāo)、分類數(shù)據(jù))阅虫。 |
6. 需求驗(yàn)證
- 需求驗(yàn)證也稱為需求確認(rèn)演闭,主要內(nèi)容包括:
- 確定SRS正確地描述了預(yù)期的、滿足項(xiàng)目干系人需求的系統(tǒng)行為和特征颓帝;
- SRS中的軟件需求是從用戶需求米碰、業(yè)務(wù)規(guī)格和其他來源中正確推導(dǎo)而來的;
- 需求是完整和高質(zhì)量的购城;
- 需求的表示在所有地方都是一致的吕座;
- 需求為后續(xù)的系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)和測試提供了足夠的基礎(chǔ)