国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
一、需求分析的概念和原則

3.1 需求分析的概念和原則

需求分析是發(fā)現、求精、建模和規(guī)約的過程。這一過程包括:詳細精化最初由系統(tǒng)分析員建立并在軟件項目計劃中確定的軟件范圍,創(chuàng)建所需數據流、控制流以及操作行為的模型,在此基礎上選擇的解決方案。
在可行性研究之后,我們對值得開發(fā)的軟件進行需求分析。

3.1.1 需求分析

需求分析是一種軟件工程活動,使得系統(tǒng)分析員能夠刻劃出軟件的功能和性能、指明軟件和其他系統(tǒng)元素的接口、并建立軟件必須滿足的約束。需求分析是軟件設計師進行軟件分解的基礎,需求分析建造了軟件處理的數據模型、功能模型和行為模型。需求分析為軟件設計師提供了可被翻譯成數據、體系結構、界面和過程設計的模型,最后,需求規(guī)約為軟件設計師和客戶提供了軟件建造完后,進行質量評估的依據。

1.軟件需求的概念和分類
在我們分析需求之前,先要了解需求的類別,在獲取需求時,按類別來處理就不容易遺漏。對需求有很多種不同的分類方法,其中的一種分類方法告訴我們需求應該包括:

  1. 第一是功能需求,這方面的需求指定系統(tǒng)必須提供的服務,通過需求分析應該劃分出系統(tǒng)必須完成的所有功能;
  2. 第二是性能需求,性能需求指定系統(tǒng)必須滿足的定時約束或容量約束,通常包括速度(響應時間)、信息量速率、主存容量、磁盤容量、安全性等方面的需求;
  3. 第三是可靠性和可用性需求,可靠性和可用性需求即需求定量地指定系統(tǒng)的可靠性與可用性;
  4. 第四是出錯處理需求,這類需求說明系統(tǒng)對環(huán)境錯誤應該怎樣響應,例如,如果一個系統(tǒng)接收到從另一個系統(tǒng)發(fā)來的違反協(xié)議格式的消息,該系統(tǒng)應該做什么?
  5. 第五是接口需求,接口需求描述應用系統(tǒng)與其環(huán)境通信的格式,常見的接口需求有用戶接口需求、硬件接口需求、軟件接口需求和通信接口需求;
  6. 第六是約束,約束描述了應用系統(tǒng)應遵守的限制條件,在需求分析階段提出這類需求,并不是要取代設計(或實現)過程,這只是反映了用戶或環(huán)境強加給項目的限制條件,常見的約束有:精度約束、工具和語言約束、設計約束、應該使用的標準、應該使用的硬件平臺等;
  7. 第七是逆向需求,逆向需求說明了軟件系統(tǒng)不應該做什么。理論上有無限多個逆向需求,我們應該僅選取能澄清真實需求且可消除發(fā)生誤解的那些逆向需求;
  8. 第八是將來可能提出的要求,應該明確地列出那些雖然不屬于當前系統(tǒng)開發(fā)范疇,但是據分析將來很可能會提出來的要求,這樣做的目的是,在設計過程中對系統(tǒng)將來可能的擴充和修改預做準備,以便一旦確實需要時能比較容易地進行這種擴充和修改。

2.需求分析的任務
需求分析的任務是借助于當前系統(tǒng)的物理模型(待開發(fā)系統(tǒng)的系統(tǒng)元素)導出目標系統(tǒng)的邏輯模型(只描述系統(tǒng)要完成的功能和要處理的數據),解決目標系統(tǒng)“做什么”的問題,所要做的工作是深入描述軟件的功能和性能,確定軟件設計的限制和軟件同其他系統(tǒng)元素的接口細節(jié),定義軟件的其他有效性需求,通過逐步細化對軟件的要求,描述軟件要處理的數據,并給軟件開發(fā)提供一種可以轉化為數據設計、結構設計和過程設計的數據與功能表示。必須全面理解用戶的各項要求,但這些要求不能全盤接受,只能接受合理的要求;對其中模糊的要求要做進一步澄清,然后決定是否采納;對于無法實現的要求要向用戶作充分的解釋。最后,將軟件的需求準確地表達出來,形成軟件需求說明書。其實現步驟如圖3.1所示。

 

圖3.1 參考當前系統(tǒng)建立目標系統(tǒng)模型

(1)獲得當前系統(tǒng)的物理模型:首先,分析、理解當前系統(tǒng)是如何運行的,了解當前系統(tǒng)的組織機構、輸入/輸出、資源利用情況和日常數據處理過程,并用一個具體的模型來反映自己對當前系統(tǒng)的理解。此步驟也可以稱為“業(yè)務建模”,其主要任務是對用戶的組織機構或企業(yè)進行評估,理解他們的需要及未來系統(tǒng)要解決的問題,并用一個具體模型來反映自己對當前系統(tǒng)的理解。這一模型應客觀地反映現實世界的實際情況。當然,如果系統(tǒng)相對簡單,也沒必要大動干戈地進行業(yè)務建模,只要做一些簡單的業(yè)務分析即可。
(2)抽象出當前系統(tǒng)的邏輯模型:在理解當前系統(tǒng)“怎樣做”的基礎上,取出非本質因素,抽取出“做什么”的本質。
(3)建立目標系統(tǒng)的邏輯模型:分析目標系統(tǒng)與當前系統(tǒng)邏輯上的差別,明確目標系統(tǒng)要“做什么”,從而從當前系統(tǒng)的邏輯模型中,導出目標系統(tǒng)的邏輯模型。
(4)對目標系統(tǒng)邏輯模型進行補充,具體內容如用戶界面、啟動和結束、出錯處理、系統(tǒng)輸入輸出、系統(tǒng)性能、其他限制等等。

3.需求分析的主要工作
軟件需求分析可被劃分成5個工作階段:問題分析;問題評估和方案綜合;建模;規(guī)約;復審。
1. 汽車零件的主要供應商需要一個庫存控制系統(tǒng),系統(tǒng)分析員發(fā)現與當前的手工系統(tǒng)相關的問題包括:(1)不能快速地獲得部件的狀況;(2)更新卡片文件需要2至或3天的工作量;(3)由于沒有辦法查找相關廠商的部件信息,而使得對同一廠商同一貨品多次再訂貨,等等。一旦問題被標識出來,系統(tǒng)分析員將確定新系統(tǒng)該產生什么信息,以及將提供什么信息。
2. 客戶希望得到指明什么零件從庫存中取出、以及還剩余多少相似零件的日報表??蛻糁该饕坏┊斣摿慵x開倉庫時庫存管理員就該記載每個零件的標號。通過對當前問題和希望的信息(輸入和輸出)進行的評估,系統(tǒng)分析員開始綜合一個或多個解決方案。為了便于開始,必須詳細地定義系統(tǒng)的數據、處理功能和行為。
例3. 在例1與例2的基礎上,一些可以進一步思考內容是,一旦已經建立這些信息,就該考慮針對實現的基本體系結構,那么客戶/服務器方法似乎是合適的,但是它確實屬于在軟件計劃中概括的范圍嗎?似乎需要一個數據庫管理系統(tǒng),但是,該數據庫系統(tǒng)真的是用戶/客戶需要的嗎?繼續(xù)評估和綜合的過程,直至分析員和客戶均確信針對后面的開發(fā)步驟軟件確實已被適當地刻劃了。
3. 說明了在貫穿整個評估和綜合過程,分析員的主要焦點是“做什么”,而不是“怎么做”,即應該思考的是:系統(tǒng)會產生和使用什么數據?系統(tǒng)必須完成什么功能?將定義什么界面?會應用什么約束?。在問題評估和綜合解決方案的活動中,系統(tǒng)分析員創(chuàng)建系統(tǒng)模型,以便可以更好地理解數據流和控制流、處理功能和操作行為以及信息內容。

4. 系統(tǒng)分析員的主要能力
毫無疑問,在整個系統(tǒng)分析活動中,系統(tǒng)分析員起著關鍵的作用,這意味著我們對系統(tǒng)分析員有著較高的期望,其本人也應該具備各項突出的能力。這些能力的主要表現如下:

  1. 能掌握抽象概念,能對其進行分類,能從中綜合出解的能力;
  2. 能從沖突或者混淆中吸取恰當事實的能力;
  3. 能弄清用戶環(huán)境的能力;
  4. 能偽用戶系統(tǒng)恰當配置軟硬件的能力
  5. 能較好地用書面和口頭形式進行溝通的能力;
  6. 有“從樹木見森林“的能力。

3.1.2 需求獲取

軟件需求分析中的相互溝通,總是要在兩方或多方間進行。系統(tǒng)分析員所問的第一組問題可以關注客戶、整體目標和收益。接下來的下一組問題使得系統(tǒng)分析員能夠對問題做更好的理解,使得客戶能夠表達其關于解決方案的感覺,例如:如何刻畫由某成功解決方案所產生的“好的”輸出?該解決方案強調了什么問題?能向我顯示或描述解決方案所應用的環(huán)境嗎?系統(tǒng)分析員所問的最后一組問題關注于會議的效果。例如:你是回答這些問題的合適人員嗎?你的回答是“正式的”嗎?我的提問和你想解決的問題相關嗎?其他人員可以提供附加信息嗎?其他我應該問你的問題嗎?
除了上述做法之外,也可以采用一種面向團隊的需求收集方法,該方法被應用在分析和規(guī)約的早期階段,被稱為便利的應用規(guī)約技術,即FAST技術,該方法鼓勵建立客戶和系統(tǒng)分析員之間的合作,由他們共同工作來標識問題、提出解決方案的要素、商議不同的方法以及刻畫出初步的解決方案需求。
FAST方法的基本原則是:

  1. 在中立的地點舉行會議,由系統(tǒng)分析員和客戶出席。
  2. 建立準備和參與會議的規(guī)則。
  3. 建議一個足夠正式的議程,以便可以對所有重要點的、而又是足夠非正式的問題進行自由交流。
  4. 有一個“協(xié)調者”控制會議過程。
  5. 使用一種“定義機制”(它可以是工作表、圖表、墻上膠黏紙或墻板)記錄有關信息。
  6. 會議的目標是標識問題、提出解決方案的要素、商議不同的方法以及在有利于完成目標的氛圍中,刻畫出初步的解決方案需求。

3.1.3分析原則

在過去20年,研究者已經開發(fā)出一些實用分析方法及相應的建模符號,每種分析方法有獨特的觀點,然而,所有分析方法都遵循以下操作原則:

  1. 必須表示可理解的問題信息域。
  2. 必須定義軟件將完成的功能。
  3. 必須表示軟件的行為(作為外部事件的結果)。
  4. 必須劃分描述信息、功能和行為的模型,從而能以層次的方式揭示細節(jié)。
  5. 分析過程應該從要素信息移向細節(jié)實現。

3.1.4 需求規(guī)格說明

軟件需求規(guī)格說明是分析任務的最終產物,美國國家標準局、IEEE(標準號830-1984)以及美國防部門均已提出了軟件需求規(guī)約(以及其他軟件工程文檔)的候選格式。
編寫需求的人必須描述的基本問題是:

  1. 功能——所設計的軟件要做什么;
  2. 性能——是指軟件功能在執(zhí)行過程中的速度、可使用性、響應時間、各種軟件功能的恢復時間、吞吐能力、精度、頻率等等;
  3. 強加給實現的設計限制——在效果、實現的語言、數據庫完整性、資源限制、操作環(huán)境等等方面所要求的標準;
  4. 屬性——可移植性、正確性、可維護性及安全性等方面的考慮因素;
  5. 外部接口——與人、硬件、其他軟件和其他硬件的相互關系。

下面給出一種軟件需求規(guī)格說明的撰寫大綱。
表3.1 軟件需求規(guī)格說明的大綱


目錄
1 前言
1.1 目的
1.2 范圍
1.3 定義、縮寫詞、略語
1.4 參考資料
2 項目概述
2.1 產品描述
2.2 產品功能
2.3 用戶特點
2.4 一般約束
2.5 假設和依據
3 具體需求
3.1 功能需求
3.1.1 功能需求1
3.1.1.1 引言
3.1.1.2 輸入
3.1.1.3 加工
3.1.1.4 輸出
3.1.2 功能需求2
……
3.1.n 功能需求n
3.2 外部接口需求
3.2.1 用戶接口
3.2.2 硬件接口
3.2.3 軟件接口
3.2.4 通信接口
3.3 性能需求
3.4 設計約束
3.4.1 其他標準的約束
3.4.2 硬件的限制
…………
3.5 屬性
3.5.1 安全性
3.5.2 可維護性
…………
3.6 其他需求
3.6.1 數據庫
3.6.2 操作
3.6.3 場合適應性
…………

附錄
索引

3.1.5 評審

下面的問題會被提出并確認:

  1. 敘述的軟件目標與系統(tǒng)的目標是否保持一致?
  2. 已經描述了所有系統(tǒng)元素的重要接口嗎?
  3. 已經定義了合適的問題域的信息流和結構嗎?
  4. 圖是否清楚?每個圖可以沒有文字補充而單獨存在嗎?
  5. 是否主要的功能保留在規(guī)定范圍中,并且均已合適地描述?
  6. 軟件的行為和它所必須處理的信息及必須完成的功能是否一致?
  7. 設計約束是可現實的嗎?
  8. 是否考慮過開發(fā)的技術風險?
  9. 是否考慮過其他可選的軟件需求?
  10. 校驗標準是否被詳細地陳述?它們對成功描述的系統(tǒng)是合適的嗎?
  11. 是否存在不一致性、是否信息被忽略或存在冗余?
  12. 和客戶全面接觸過嗎?
  13. 是否用戶復審過初步的用戶手冊或原型?
  14. 計劃的估算受到什么樣的影響?

下面的指南是針對詳細的規(guī)約復審而提出的:

  1. 著重于說服性的連接詞(例如,當然、因此、明確地、顯然地、緊隨的),并問“為什么”。
  2. 觀察含糊的術語(例如,一些、有時、經常、通常、一般地、大多數、大多數的),并進行澄清。
  3. 當給出了不完整的列表時,確定已理解了所有的項。關鍵是查找“等等、如此這樣”。
  4. 確定陳述的范圍沒有包含未陳述的假設(例如,從10到100的校驗代碼范圍究竟是整數?實數?還是復數?)
  5. 小心含糊的動詞如“處理、拒絕、處制、跳過、限制”等,它們可以以很多方式來解釋。
  6. 小心含糊的代詞(例如,I/O模塊與數據校驗模塊通信,且設置它的控制標志,那么標志是誰的?)
  7. 查找蘊含了確定性的語句(例如,總是、每次、所有、無、永不),然后要求證明它們。
  8. 當某術語被明確地定義在某地方,力圖用該定義去替換其他的出現術語。
  9. 當用語句描述某結構,畫出圖以幫助理解。
  10. 當刻畫計算時,至少試驗兩個例子。

一旦復審完成,軟件需求規(guī)格說明就變成了客戶與軟件工程師之間的軟件開發(fā)“合約”。但在軟件需求規(guī)格說明完成后也可能被修改,但是,客戶應該注意,每個事后的修改是對軟件范圍的擴展,因此可能存在著增加成本或延長項目進度等情況。

 

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
需求分析模板
需求分析(二)內容
最新分享
軟件系統(tǒng)開發(fā)分為哪幾個步驟?
ERP監(jiān)理方法系列③:企業(yè)調研、需求分析階段監(jiān)理
【信管1.7】軟件工程(一)需求工程
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服