軟件需求是對目標系統(tǒng)特性和功能的描述。需求傳達了用戶對軟件產(chǎn)品的期望。從客戶的角度來看,需求可以是明顯的或隱藏的、已知的或未知的、預期的或意外的。
從客戶那里收集軟件需求、分析和記錄它們的過程稱之為需求工程。
需求工程的目標是開發(fā)和維護復雜的和描述性的“系統(tǒng)需求規(guī)范”的文件。
這是一個四步驟的過程,其中包括:
讓我們來看看這個過程。
當客戶接近組織以開發(fā)所需的產(chǎn)品時,它會粗略地想出軟件必須執(zhí)行的所有功能以及軟件期望的所有功能。
分析人員參考這些信息,詳細研究所需的系統(tǒng)及其功能是否可以開發(fā)。
可行性研究的重點是組織的目標。研究分析了軟件產(chǎn)品是否可以在實施、項目對組織的鞏縣、成本約束以及根據(jù)組織的價值觀和目標方面實際實現(xiàn)。它探討了項目和產(chǎn)品的技術方面,例如可用性、可維護性、生產(chǎn)力和集成能力。
這一階段的輸出應該是一個可行性研究報告,其中應包含對管理層是否開展該項目的充分評論和建議。
如果可行性報告對承接該項目是肯定的,下一階段就從收集用戶的需求開始。收集來自各利益相關方的要求后,系統(tǒng)分析員創(chuàng)建SRS文檔.分析師和工程師與客戶和最終客戶溝通,以了解他們對軟件你應該提供什么以及他們希望軟件包含哪些功能的想法。
SRS(Software Requirement Specification,軟件需求規(guī)格)是系統(tǒng)分析師在從各個利益相關者那里收集需求后創(chuàng)建文檔。
SRS定義了預期軟件將如何與硬件、外部接口、操作速度、系統(tǒng)響應時間、軟件跨各種平臺的可移植性、可維護性崩潰后恢復速度、安全性、質量、限制等交互。.
從客戶那里收到的要求是用自然語言編寫的。系統(tǒng)分析師有責任用技術語言記錄需求,以便軟件開發(fā)團隊能夠理解它們并對其有用。
SRS應該具備以下功能:
開發(fā)需求規(guī)范后,將驗證本文檔中提到的需求。用戶可能會要求非法、不切實際的解決方案,或者專家可能會錯誤地解釋要求。如果不將其扼殺在萌芽狀態(tài),這將導致成本的巨大增加??梢愿鶕?jù)以下條件檢查要求:
可以使用以下圖表描述需求獲取過程。
需求獲取是通過與客戶、最終用戶、系統(tǒng)用戶和其他與軟件系統(tǒng)開發(fā)有利益關系的人溝通,找出預期軟件系統(tǒng)需求的過程。
有多種方法可以發(fā)現(xiàn)需求:
面試時收集需求的有力媒介。組織可能會進行多種類型的面試,例如:
組織可以通過詢問他們對即將到來的系統(tǒng)的期望和要求,在不同的利益相關者只之間進行調查。
一份帶有預先定義的客觀問題和相應選項的文件被交給所有利益相關者回答,這些問題被收集和編譯。
這種技術的一個缺點是,如果問卷中沒有提到某個問題的選項,這個問題會無人注意。
工程師和開發(fā)團可以分析需要新系統(tǒng)的操作。如果客戶已經(jīng)有一些軟件來執(zhí)行某些操作,則對其進行研究并收集建議系統(tǒng)的要求。
每個軟件都屬于某個領域類別。該領域的專家可以極大地幫助分析一般和特定需求。
在不同的利益相關者之間舉行非正式辯論,并記錄他們的所有意見以供進一步的需求分析。
原型設計是在不添加詳細功能的情況下構建用戶界面,以供用戶解釋預期軟件產(chǎn)品的功能。它有助于更好地了解需求。如果客戶端沒有安裝供開發(fā)者參考的軟件,并且客戶端不知道自己的需求,則開發(fā)者根據(jù)最初提到的需求創(chuàng)建原型。將原型展示給客戶并記錄反饋??蛻舴答佔鳛樾枨笫占妮斎?。
專家團隊訪問客戶的組織或工作場所。他們觀察現(xiàn)有安裝系統(tǒng)的實際工作情況。他們觀察客戶端的工作流程以及如何處理執(zhí)行問題。團隊本身得出了一些有助于形成軟件與其需求的結論。
收集軟件需求是整個軟件開發(fā)項目的基礎。因此,它們必須清晰、正確和定義明確。
一個完整的軟件需求規(guī)格必須是:
我們應該嘗試了解在需求獲取階段可能會出現(xiàn)什么樣的需求,以及從軟件系統(tǒng)中期望什么樣的需求。
從廣義上講,軟件需求應分為兩類:
與軟件功能方面相關的需求屬于這一類、
它們定義了軟件系統(tǒng)的內部和來自軟件系統(tǒng)的功能和功能性。
例子:
與軟件功能方面無關的需求屬于這一類。它們是用戶假設的軟件的隱含或預期特征。
非功能性需求,包括:
需求按邏輯分類為:
在開發(fā)軟件,'必須擁有'必須執(zhí)行,“應該有”的爭論與利益相關者和否定的問題,而“可能”和“愿望清單”,可以保持軟件更新.
UI(User Interface,用戶界面)是任何軟件、硬件或混合系統(tǒng)的重要組成部分。一個軟件被廣泛接受,那么它是:
用戶的接受程度主要取決于用戶如何使用軟件。UI 是用戶感知系統(tǒng)的唯一途徑。一個性能良好的軟件系統(tǒng)還必須配備有吸引力、清晰、一致和響應迅速的用戶界面。否則軟件系統(tǒng)的功能不能方便的使用。如果一個系統(tǒng)提供了有效使用它的方法,那么它就被認為是好的。下面簡要提到用戶界面要求:
IT 組織中的系統(tǒng)分析師是一個人,他分析提議系統(tǒng)的需求并確保正確和正確地構思和記錄需求。分析師的角色始于 SDLC 的軟件分析階段。分析師有責任確保開發(fā)的軟件滿足客戶的需求。
系統(tǒng)分析員有以下職責:
軟件度量可以理解為量化和符號化軟件各種屬性和方面的過程。
軟件指標為軟件過程和軟件產(chǎn)品的各個方面提供度量。
軟件度量是軟件工程的基本要求。它們不僅有助于控制軟件開發(fā)過程,而且有助于保持最終產(chǎn)品的卓越質量。
據(jù) Tom·DeMarco 的說法,“你無法控制你無法衡量的東西?!庇盟脑捳f,軟件度量的重要性不言而喻。
讓我們來看看一些軟件指標:
更多建議: