




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、復旦大學計算機科學與工程系 軟件工程課程1復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程2 軟件項目中百分之四十至百分之六軟件項目中百分之四十至百分之六十的問題都是在需求分析階段埋下的十的問題都是在需求分析階段埋下的“禍禍根根” 。 可許多組織仍在那些基本的項目功可許多組織仍在那些基本的項目功能上采用一些不合規范的方法,這樣導致能上采用一些不合規范的方法,這樣導致的后果便是一條鴻溝(期望差異)的后果便是一條鴻溝(期望差異)開發開發者開發的與用戶所想得到的軟件存在著巨者開發的與用戶所想得到的軟件存在著巨大期望差異。大期望差異。復旦大學計算機科學與工程系復旦大學計算
2、機科學與工程系 軟件工程課程軟件工程課程3 在軟件工程中,所有的風險承擔者在軟件工程中,所有的風險承擔者(stakeholder)都感興趣的就是需求分析階段。都感興趣的就是需求分析階段。 這些風險承擔者包括客戶、用戶、業務或這些風險承擔者包括客戶、用戶、業務或需求分析員需求分析員(負責收集客戶需求并編寫文檔,以負責收集客戶需求并編寫文檔,以及負責客戶與開發機構之間聯系溝通的人及負責客戶與開發機構之間聯系溝通的人)、開、開發人員、測試人員、用戶文檔編寫者、項目管發人員、測試人員、用戶文檔編寫者、項目管理者和客戶管理者。理者和客戶管理者。 這部分工作若處理好了,能開發出很出色這部分工作若處理好了,
3、能開發出很出色的產品,同時會使客戶感到滿意,開發者也倍的產品,同時會使客戶感到滿意,開發者也倍感滿足、充實。若處理不好,則會導致誤解、感滿足、充實。若處理不好,則會導致誤解、挫折、障礙以及潛在質量和業務價值上的威脅。挫折、障礙以及潛在質量和業務價值上的威脅。因為需求分析奠定了軟件工程和項目管理的基因為需求分析奠定了軟件工程和項目管理的基礎。礎。復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程4需求工程概述需求工程概述需求獲取需求獲取需求分析、協商與建模需求分析、協商與建模需求規約與驗證需求規約與驗證需求管理需求管理復旦大學計算機科學與工程系復旦大學計算機科學與工程
4、系 軟件工程課程軟件工程課程5需求獲取需求獲取需求分析、協商與建模需求分析、協商與建模需求規約與驗證需求規約與驗證需求管理需求管理復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程6 Alan Davis 把需求工程定義為把需求工程定義為“直到直到(但不包括)把軟件分解為實際架構構(但不包括)把軟件分解為實際架構構件之前的所有活動件之前的所有活動” Herb Krasner定義了需求工程的五階段定義了需求工程的五階段生命周期:需求定義和分析、需求決策、生命周期:需求定義和分析、需求決策、形成需求規格、需求實現與驗證、需求形成需求規格、需求實現與驗證、需求演進管理演進
5、管理 Matthias Jarke和和Klaus Pohl提出了三提出了三階段周期的說法:獲取、表示和驗證階段周期的說法:獲取、表示和驗證 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程7 本書將軟件需求工程細分為:本書將軟件需求工程細分為:需求獲取、需求分析與協商、系統建模、需求規約、需求驗證和和需求管理六個階段。六個階段。復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程8 需求開發和需求管理之間的區別需求開發和需求管理之間的區別復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程9需求工程概述需求工程概
6、述需求分析、協商與建模需求分析、協商與建模需求規約與驗證需求規約與驗證需求管理需求管理復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程10 功能需求功能需求 性能需求性能需求 用戶或人的因素用戶或人的因素 環境需求環境需求 界面需求界面需求 文檔需求文檔需求 數據需求數據需求 資源使用需求資源使用需求 安全保密要求安全保密要求 可靠性需求可靠性需求 軟件成本消耗與開軟件成本消耗與開發進度需求發進度需求 其他非功能性要求其他非功能性要求 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程11 下面這些定義是需求工程領域中常見術語的定義說明
7、。下面這些定義是需求工程領域中常見術語的定義說明。 軟件需求包括三個不同的層次軟件需求包括三個不同的層次業務需求、用戶業務需求、用戶需求和功能需求(包括非功能需求)。需求和功能需求(包括非功能需求)。 業務需求(業務需求(business requirement)反映了組織)反映了組織機構或客戶對系統、產品高層次的目標要求,它們在項機構或客戶對系統、產品高層次的目標要求,它們在項目視圖與范圍文檔中予以說明。目視圖與范圍文檔中予以說明。 用戶需求(用戶需求(user requirement)文檔描述了用戶)文檔描述了用戶使用產品必須要完成的任務,這在使用實例(使用產品必須要完成的任務,這在使用實
8、例(use case)文檔或方案腳本(文檔或方案腳本(scenario)說明中予以說明。)說明中予以說明。 功能需求功能需求(functional requirement)定義了開發人定義了開發人員必須實現的軟件功能,使得用戶能完成他們的任務,員必須實現的軟件功能,使得用戶能完成他們的任務,從而滿足了業務需求。所謂特性(從而滿足了業務需求。所謂特性(feature)是指邏輯)是指邏輯上相關的功能需求的集合,給用戶提供處理能力并滿足上相關的功能需求的集合,給用戶提供處理能力并滿足業務需求。業務需求。 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程12復旦大學計算機
9、科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程13 需求獲取時期的主要工作:需求獲取時期的主要工作: 歸納和整理用戶提出的各種問題和要歸納和整理用戶提出的各種問題和要 求;求; 弄清用戶企圖通過軟件達到的目的;弄清用戶企圖通過軟件達到的目的; 借助各種工具和方法,陳述用戶提出借助各種工具和方法,陳述用戶提出 的實際需求,并標定軟件的作用范的實際需求,并標定軟件的作用范 圍。圍。復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程14 需求獲取方法包括兩個方面:需求獲取方法包括兩個方面: 指導開發小組獲取用戶需求的方法框架。指導開發小組獲取用戶需求的方
10、法框架。 支持控制此項活動進展的過程控制機制。支持控制此項活動進展的過程控制機制。復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程15 建立順暢的通信途徑建立順暢的通信途徑 訪談與調查訪談與調查 觀察用戶操作流程觀察用戶操作流程 組成聯合小組組成聯合小組 用況(用況(Use Case) 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程16 建立分析所需要的通信途徑,以保證能建立分析所需要的通信途徑,以保證能順利地對問題進行分析。順利地對問題進行分析。復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程17 在
11、具體的實踐中,通常采用折衷的方法,即適當在具體的實踐中,通常采用折衷的方法,即適當地計劃好面談,但不要過于詳細,允許有一定的地計劃好面談,但不要過于詳細,允許有一定的靈活性。一般按照如下原則進行準備:靈活性。一般按照如下原則進行準備: 所提問的問題應該循序漸進,從整體的方面開始提問,接下來的問題應有助于對前面的問題更好的理解和細化; 不要限制用戶對問題的回答,這有可能會引出原先沒有注意的問題; 提問和回答在匯總后應能夠反映用戶需求的全貌。 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程18 例子:例子:“賽艇比賽成績計算系統賽艇比賽成績計算系統”的第的第一次面談
12、的準備計劃一次面談的準備計劃 初次與初次與Dartchurch航行俱樂部的航行秘書(航行俱樂部的航行秘書(DR)接觸,面談有關)接觸,面談有關事宜。事宜。(在電話交談時,了解到他們希望得到的是一個在電話交談時,了解到他們希望得到的是一個“價廉價廉”的,的,基于基于PC的系統,以用于計算賽艇比賽成績的系統,以用于計算賽艇比賽成績)時間:時間:2005-6-5地點:對方場地地點:對方場地主要問題主要問題確定基本問題。確定基本問題。確定確定DR的角色的角色還涉及其它人員嗎?還涉及其它人員嗎?調查財物方面事宜。調查財物方面事宜。系統(大致上)是如何運作的?系統(大致上)是如何運作的?當前存在的問題是什
13、么?當前存在的問題是什么?他們都希望做些什么?他們都希望做些什么?復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程19 1. 調查提綱或調查表調查提綱或調查表 2. 小型調查會議小型調查會議 3. 個別訪問個別訪問 4. 現場調查現場調查 5. 資料資料 6. 調查工具調查工具復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程20 1. 不要用計算機專業術語與用戶或用戶不要用計算機專業術語與用戶或用戶領域專家交談領域專家交談 2. 不要使用不要使用“你應該你應該”這樣的字眼這樣的字眼 3. 始終記住自己最近一段工作中要達到始終記住自己最
14、近一段工作中要達到的目標,引導用戶說出你需要的信息的目標,引導用戶說出你需要的信息 4. 要善于把用戶中職位高的人和職位低要善于把用戶中職位高的人和職位低的人的談話結合起來分析的人的談話結合起來分析復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程21 到用戶的實際工作環境中對用戶的工作流到用戶的實際工作環境中對用戶的工作流程進行觀察,了解用戶實際的操作環境、程進行觀察,了解用戶實際的操作環境、操作過程和操作要求,對照用戶提交的問操作過程和操作要求,對照用戶提交的問題陳述,對用戶需求可以有更全面、更細題陳述,對用戶需求可以有更全面、更細致的認識。致的認識。 復旦大學
15、計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程22 便利的應用規約技術(Facilitated Application Specification Techniques , FAST) :打破用戶(需方)和開發者:打破用戶(需方)和開發者(供方)的界限,共同組成一個聯合小(供方)的界限,共同組成一個聯合小組,發揮各自的長處,共同負責項目的組,發揮各自的長處,共同負責項目的推進,這樣有助于發揮各自優勢并增進推進,這樣有助于發揮各自優勢并增進解和協調解和協調 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程23 誤解:由于分析員并非該應用領域的
16、專家,使得在需求獲取時,誤解誤解:由于分析員并非該應用領域的專家,使得在需求獲取時,誤解了用戶潛在的隱含假設。了用戶潛在的隱含假設。 交流障礙:領域專家同一個新手交談時的用詞往往并不足以解決問題。交流障礙:領域專家同一個新手交談時的用詞往往并不足以解決問題。 缺乏共同語言:由于需求分析員和系統用戶的經歷和教育背景不同,缺乏共同語言:由于需求分析員和系統用戶的經歷和教育背景不同,他們之間通常缺乏足夠的溝通。他們之間通常缺乏足夠的溝通。 “完整性完整性”問題:軟件工程師希望提出系統需求的用戶領域專家能清晰、問題:軟件工程師希望提出系統需求的用戶領域專家能清晰、簡明和完備地描述出確實可行的系統需求,
17、然而,所要的需求知識在其最簡明和完備地描述出確實可行的系統需求,然而,所要的需求知識在其最初階段可能是模糊、不完備甚至是不正確的。初階段可能是模糊、不完備甚至是不正確的。 需求永遠不會穩定:用戶對軟件的需求常常會發生變化,并且是不可需求永遠不會穩定:用戶對軟件的需求常常會發生變化,并且是不可預測的。預測的。 用戶意見不統一:大系統往往有各種不同的用戶,他們往往有互相沖用戶意見不統一:大系統往往有各種不同的用戶,他們往往有互相沖突的需求和不同的需求優先次序,尋求折衷是不容易的。突的需求和不同的需求優先次序,尋求折衷是不容易的。 錯誤的要求:系統的定購者(付錢的人)和系統的使用者經常不是一錯誤的要
18、求:系統的定購者(付錢的人)和系統的使用者經常不是一個人,定購者由于受到組織或經費的限制,提出的需求會與最終用戶的需個人,定購者由于受到組織或經費的限制,提出的需求會與最終用戶的需求相沖突。求相沖突。 認識混淆:有時系統的目標和系統的需求會發生混淆。目標是系統應認識混淆:有時系統的目標和系統的需求會發生混淆。目標是系統應達到的更為一般的特征,而需求應是可測試的。達到的更為一般的特征,而需求應是可測試的。復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程24 1. 了解系統需求了解系統需求 2. 市場調查市場調查 3. 訪問用戶和用戶領域專家訪問用戶和用戶領域專家 4
19、. 考察現場考察現場復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程25需求工程概述需求工程概述需求獲取需求獲取需求規約與驗證需求規約與驗證需求管理需求管理復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程26 需求獲取結束后,分析活動對需求進行分需求獲取結束后,分析活動對需求進行分類組織,分析每個需求其它需求的關系來,類組織,分析每個需求其它需求的關系來,檢查需求的一致性、重疊和遺漏的情況,檢查需求的一致性、重疊和遺漏的情況,并根據用戶的需要對需求進行排序。并根據用戶的需要對需求進行排序。 在需求獲取階段,經常出現以下問題:在需求獲取
20、階段,經常出現以下問題: 用戶提出的要求超出軟件系統可以實現的范圍或實現能力; 不同的用戶提出了相互沖突的需求 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程27 深入描述軟件的功能和性能深入描述軟件的功能和性能 確定軟件設計的約束和軟件同其它確定軟件設計的約束和軟件同其它系統元素的接口細節系統元素的接口細節 定義軟件的其它有效性需求定義軟件的其它有效性需求復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程28 需求分析研究的對象是軟件項目的用戶需求分析研究的對象是軟件項目的用戶要求要求 準確地表達被接受的用戶要求準確地表達被接受的用
21、戶要求 確定被開發軟件系統的系統元素確定被開發軟件系統的系統元素 將功能和信息結構分配到這些系統元素將功能和信息結構分配到這些系統元素中中復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程29 需求分析的任務需求分析的任務就是借助于當前系統的就是借助于當前系統的邏輯模型導出目標系統的邏輯模型,解邏輯模型導出目標系統的邏輯模型,解決目標系統的決目標系統的 “做什么做什么” 的問題。的問題。復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程30 通常軟件開發項目是要實現目標系統的通常軟件開發項目是要實現目標系統的物理模型物理模型 目標系統的具
22、體物理模型是由它的邏輯目標系統的具體物理模型是由它的邏輯模型經實例化,即具體到某個業務領域模型經實例化,即具體到某個業務領域而得到的而得到的復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程31 信息域:包括信息內容、信息流、以及信包括信息內容、信息流、以及信息結構。息結構。 信息內容信息內容表示了單個數據和控制對象,目標軟件所有處理的信息集合由它們構成。 例如,數據對象“工資”是一組重要數據體的組合:領款人的姓名、凈付款數、付款總額、扣除額等等 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程32 信息流信息流表示了數據和控制在系統中
23、流動時的變化方式,輸入對象被變換為中間信息(數據和/或控制),然后進一步被變換為輸出 信息結構信息結構表示了各種數據和控制項的內部組織 數據或控制項將被組織為數據或控制項將被組織為n維表還是樹形結構?維表還是樹形結構? 在結構的語境內,什么信息是和其他信息相關的?在結構的語境內,什么信息是和其他信息相關的? 信息包含在單個結構中,還是使用不同的結構?信息包含在單個結構中,還是使用不同的結構? 在某信息結構中的信息如何和在另一個結構中的在某信息結構中的信息如何和在另一個結構中的信息相關?信息相關? 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程33復旦大學計算機科
24、學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程34【例【例1】假設需要制造一個帶有四個按鈕和兩個燈泡的盒子并具有以】假設需要制造一個帶有四個按鈕和兩個燈泡的盒子并具有以下功能:下功能: 有四個按鈕輸入,分別稱為有四個按鈕輸入,分別稱為B1,B2,B3和和B4; 有兩個燈泡作為輸出,分別稱為有兩個燈泡作為輸出,分別稱為L1和和L2; B1是打開電源的按鈕;是打開電源的按鈕; B4是關閉電源的按鈕;是關閉電源的按鈕; B2和和B3 是操作按鈕;是操作按鈕; 在在B1被按下后及被按下后及B4被按下前,系統應稱為電源打開狀態;被按下前,系統應稱為電源打開狀態; 在在B4被按下后及被按下
25、后及B1被按下前,系統應稱為電源關閉狀態;被按下前,系統應稱為電源關閉狀態; 在電源關閉狀態下,在電源關閉狀態下,B2和和B3按鈕不起作用;按鈕不起作用; 在電源關閉狀態下,燈應不亮;在電源關閉狀態下,燈應不亮; 從最近一次電源打開狀態算起,如果從最近一次電源打開狀態算起,如果B2被按下的次數比被按下的次數比B3被被按下的次數多,按下的次數多,L1亮,否則亮,否則L2亮。亮。 任何時候都不能有一個以上的燈泡亮;任何時候都不能有一個以上的燈泡亮; 如果其中的一個燈泡出現故障,另一個燈泡應以如果其中的一個燈泡出現故障,另一個燈泡應以2秒鐘的間隔秒鐘的間隔閃爍,而不管閃爍,而不管B2和和B3的操作過
26、程。當的操作過程。當B4按下時,閃爍停止;當按下時,閃爍停止;當B1被按下時,閃爍重新開始。當故障被排除后閃爍停止,系統恢復被按下時,閃爍重新開始。當故障被排除后閃爍停止,系統恢復正常狀態。正常狀態。復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程35 1. 對于在燈泡出現故障時是否要記錄下對于在燈泡出現故障時是否要記錄下B2和和B3的操作過程的操作過程 2. 系統記錄或不記錄系統記錄或不記錄B2和和B3的操作,對的操作,對于故障排除后系統的反應如何于故障排除后系統的反應如何復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程36 問題抽
27、象方法要求分析人員在分析過程中要求分析人員在分析過程中捕捉用戶描述或問題本身固有的捕捉用戶描述或問題本身固有的一般-特殊關系 首先關注一般問題的解決途徑,進而指導首先關注一般問題的解決途徑,進而指導特殊問題的解決方法。特殊問題的解決方法。 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程37 問題分解的目的是要能以層次化的方式的目的是要能以層次化的方式對問題進行分解和不斷細化。對問題進行分解和不斷細化。 較大規模或較為復雜的問題可以被分解為若干子問題進行理解和分析 分解可以逐級進行,直至子問題被分解為一個容易分析理解的部分 例如橫向分解橫向分解縱向分解縱向分解復旦
28、大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程38 需要能夠表達和理解問題的信息域和功能域 要能以層次化的方式對問題進行分解和不斷細化 要給出系統的邏輯視圖和物理視圖復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程39復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程40 協商的過程就是討論需求沖突,找出每協商的過程就是討論需求沖突,找出每個人都滿意的折衷方案個人都滿意的折衷方案 協商不是簡單的邏輯或技術上的爭論協商不是簡單的邏輯或技術上的爭論 要注意組織和行政方面的因素要注意組織和行政方面的因素 不一致的目
29、標 責任的喪失或轉移 組織文化 組織管理態度和士氣 部門差異 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程41 通常會議是解決沖突最快的方式通常會議是解決沖突最快的方式 參加者應該包括發現沖突、遺漏或重疊參加者應該包括發現沖突、遺漏或重疊的分析員,以及可以解決發現的問題的的分析員,以及可以解決發現的問題的項目相關人員項目相關人員 會議應該討論那些非正式討論不能解決會議應該討論那些非正式討論不能解決的問題的問題 通常會議分為三個階段:通常會議分為三個階段: 敘述階段 討論階段 決策階段 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課
30、程42 在軟件需求分析階段,所創建的模型,要在軟件需求分析階段,所創建的模型,要著重于描述系統要著重于描述系統要做什么做什么,而不是,而不是如何去如何去做做 目標軟件的模型不應涉及軟件實現細節目標軟件的模型不應涉及軟件實現細節 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程43 建模工具的使用在用戶和系統分析人員之建模工具的使用在用戶和系統分析人員之間建立了統一的語言和理解的橋梁,同時間建立了統一的語言和理解的橋梁,同時系統分析人員借助建模技術對獲取的需求系統分析人員借助建模技術對獲取的需求信息進行分析,排除錯誤和彌補不足,確信息進行分析,排除錯誤和彌補不足,確
31、保需求文檔正確反映用戶的真實意圖。保需求文檔正確反映用戶的真實意圖。 常用的分析和建模方法有面向數據流方法、常用的分析和建模方法有面向數據流方法、面向數據結構方法和面向對象的方法。面向數據結構方法和面向對象的方法。 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程44常用的分析方法:常用的分析方法: 面向數據流的結構化分析方法 (SA) 面向數據結構的Jackson方法 (JSD) 面向數據結構的結構化數據系統開發方法 (DSSD) 面向對象的分析方法 (OOA)復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程45需求工程概述需求工程
32、概述需求獲取需求獲取需求分析、協商與建模需求分析、協商與建模需求管理需求管理復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程46 軟件需求規約是分析任務的最終產物,通軟件需求規約是分析任務的最終產物,通過建立完整的信息描述、詳細的功能和行過建立完整的信息描述、詳細的功能和行為描述、性能需求和設計約束的說明、合為描述、性能需求和設計約束的說明、合適的驗收標準,給出對目標軟件的各種需適的驗收標準,給出對目標軟件的各種需求。求。 需求規約作為用戶和開發者之間的一個協需求規約作為用戶和開發者之間的一個協議,在之后的軟件工程各個階段發揮重要議,在之后的軟件工程各個階段發揮重
33、要作用。作用。 復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程47 1從現實中分離功能,即描述要從現實中分離功能,即描述要“做什做什么么”而不是而不是“怎樣實現怎樣實現”。 2要求使用面向處理的規約語言(或稱要求使用面向處理的規約語言(或稱系統定義語言),討論來自環境的各種刺激可系統定義語言),討論來自環境的各種刺激可能導致系統做出什么樣的功能性反應,來定義能導致系統做出什么樣的功能性反應,來定義一個行為模型,從而得到一個行為模型,從而得到“做什么做什么”的規約。的規約。 3如果被開發軟件只是一個基于計算機如果被開發軟件只是一個基于計算機的系統中的一個元素,那么
34、整個大系統也包括的系統中的一個元素,那么整個大系統也包括在規格說明的描述之中。在規格說明的描述之中。 4規約必須包括系統運行環境。規約必須包括系統運行環境。復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程48 5規約必須是一個認識模型,而不是設規約必須是一個認識模型,而不是設計或實現的模型。計或實現的模型。 6規約必須是可操作的,以便能夠利用規約必須是可操作的,以便能夠利用它決定對于任意給定的測試用例,已提出的解它決定對于任意給定的測試用例,已提出的解決方案是否都能滿足規約。決方案是否都能滿足規約。 7規約必須允許不完備性并允許擴充。規約必須允許不完備性并允許擴充
35、。 8規約必須局部化和松散耦合。它所包規約必須局部化和松散耦合。它所包括的信息必須局部化,這樣當信息被修改時,括的信息必須局部化,這樣當信息被修改時,只要修改某個單個的段落(理想情況)。同時,只要修改某個單個的段落(理想情況)。同時,規約應被松散地構造(即松耦合),以便能夠規約應被松散地構造(即松耦合),以便能夠很容易地加入和刪去一些段落。很容易地加入和刪去一些段落。復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程49. 引言引言 A.系統參考文獻系統參考文獻B.整體描述整體描述C.軟件項目約束軟件項目約束. 信息描述信息描述 A.信息內容表示信息內容表示B.信息
36、流表示:信息流表示: 數據流數據流 控制流控制流. 功能描述功能描述 A.功能劃分功能劃分 B.功能描述:功能描述: 處理說明處理說明 限制限制局限局限 性能需求性能需求 設計約束設計約束 支撐圖支撐圖 C.控制描述控制描述 控制規約控制規約 設計約設計約束束. 行為描述行為描述 A.系統狀態系統狀態 B.事件和響應事件和響應. 檢驗標準檢驗標準 A.性能范圍性能范圍B.測試種類測試種類C.期望的軟件響應期望的軟件響應D.特殊的考慮特殊的考慮. 參考書目參考書目. 附錄附錄復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程50引言:陳述軟件目標,在基于計算機的系統語
37、境內:陳述軟件目標,在基于計算機的系統語境內進行描述。進行描述。信息描述:給出軟件必須解決問題的詳細描述,記:給出軟件必須解決問題的詳細描述,記錄信息內容和關系、流和結構。錄信息內容和關系、流和結構。功能描述:描述解決問題所需的每個功能。其中包:描述解決問題所需的每個功能。其中包括,為每個功能說明一個處理過程;敘述設計約束;括,為每個功能說明一個處理過程;敘述設計約束;敘述性能特征;用一個或多個圖形來形象地表示軟敘述性能特征;用一個或多個圖形來形象地表示軟件的整體結構和軟件功能與其他系統元素間的相互件的整體結構和軟件功能與其他系統元素間的相互影響。影響。行為描述:描述作為外部事件和內部產生的控
38、制特:描述作為外部事件和內部產生的控制特征的軟件操作。征的軟件操作。檢驗標準:描述檢驗系統成功的標志。即對系統進:描述檢驗系統成功的標志。即對系統進行什么樣的測試,得到什么樣的結果,就表示系統行什么樣的測試,得到什么樣的結果,就表示系統已經成功實現了。它是已經成功實現了。它是“確認測試確認測試”的基礎。的基礎。參考書目:包含了對所有和該軟件相關的文檔的引:包含了對所有和該軟件相關的文檔的引用,其中包括其他的軟件工程文檔、技術參考文獻、用,其中包括其他的軟件工程文檔、技術參考文獻、廠商文獻以及標準。廠商文獻以及標準。附錄:包含了規約的補充信息,表格數據、算法的:包含了規約的補充信息,表格數據、算法的詳細描述、圖表以及其他材料。詳細描述、圖表以及其他材料。復旦大學計算機科學與工程系復旦大學計算機科學與工程系 軟件工程課程軟件工程課程51n 軟件需求說明書軟件需求說明書n 數據要求說明書數據要求說明書n 初步的用戶手冊初步的用戶手冊n 修改、完善與確定軟件開發實施計劃修改、完善與確定軟件開發實施計劃復旦大學計算機科學與工程系復旦大學計算機科
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 濰坊理工學院《電算化財務管理》2023-2024學年第二學期期末試卷
- 中國地質大學(北京)《宋詞研究》2023-2024學年第二學期期末試卷
- 東莞職業技術學院《國際知識產權法(B)》2023-2024學年第二學期期末試卷
- 終身教育平臺建設方案
- 蘭州博文科技學院《化工過程安全》2023-2024學年第二學期期末試卷
- 七臺河職業學院《中學體育教學技能訓練》2023-2024學年第二學期期末試卷
- 浙江國際海運職業技術學院《矩陣理論與應用》2023-2024學年第二學期期末試卷
- 商丘醫學高等專科學校《工控軟件基礎》2023-2024學年第二學期期末試卷
- 2025標準工業廠房租賃合同范本
- 心理健康課件小學逐字稿
- 工程承包再轉讓合同協議
- (廣東二模)2025年廣東省高三高考模擬測試(二)歷史試卷(含答案)
- 2025湖南建投集團春季校園招聘239人筆試參考題庫附帶答案詳解
- 2025-2030全球冰雪產業經營效益與發展投資策略建議研究報告
- 反邪教測試題及答案
- 業務合規制度培訓
- GB/T 14601-2025電子特氣氨
- 民航安全檢查掌握人身檢查課件
- 湖北省武漢第二中學2025屆高三3月高考模擬考試數學試題試卷
- 《集中用餐單位落實食品安全主體責任監督管理規定》解讀與培訓
- 2025年上半年生態環境部信息中心招聘工作人員22人重點基礎提升(共500題)附帶答案詳解
評論
0/150
提交評論