需求工程过程课件

上传人:痛*** 文档编号:241823698 上传时间:2024-07-27 格式:PPT 页数:66 大小:606KB
返回 下载 相关 举报
需求工程过程课件_第1页
第1页 / 共66页
需求工程过程课件_第2页
第2页 / 共66页
需求工程过程课件_第3页
第3页 / 共66页
点击查看更多>>
资源描述
需求工程程序蔡進義Chin-Yi Tsai(Matt)cytpmlab.iecs.fcu.edu.tw140.134.26.25/cyt 1Review功能性需求非功能性需求領域需求使用者需求系統需求 軟體需求文件2Review3Review需求的完整性與一致性完整它們應該包含所有需求功能的描述一致系統功能描述中不應該有衝突或矛盾的地方4Review需求產生衝突太空船系統為了減輕重量,系統使用的晶片數量必須減少為了減少電力的消耗,必須使用低電力的晶片然而,若使用低電力的晶片可能需要更多的晶片數量。這時候,哪一個需求是最重要的需求?5需求工程程序 發現、分析以及確認系統需求的程序6本章目的 描述一些主要的需求工程活動介紹數種需求擷取與分析的技術描述需求確認的重要性討論需求管理的角色以及如何支援需求工程的其他活動7本章內容 可行性研究 需求擷取與分析 需求確認 需求管理 8需求工程程序RE 使用的程序會根據應用領域、參與人員以及發展需求的組織有很大的差異然而,下列幾項通用活動則是所有程序共通的需求擷取需求分析需求確認需求管理9需求工程程序10可行性研究可行性研究可決定提出的系統是否有價值它是一項短暫活動,著重於檢查下列幾個重點此系統對組織的整體目標是否有貢獻?此系統是否可以利用目前的技術、在有限的成本以及時程限制下製作完成?此系統是否可以和其他現有系統做整合?11可行性研究實作依據對資訊的評估(需要什麼)、資訊的收集以及報表的撰寫詢問組織中的人員下列問題若系統無法實現,組織會如何處理?目前的程序有哪問題?提議的系統有何幫助?有哪些整合上的問題?是否需要新的技術?需要哪些技能?提議的系統必須支援哪些功能?12擷取與分析有時候稱為需求擷取或發現需求它包括讓技術人員與客戶一起合作找出相關的應用領域、應該提供的服務以及系統的操作限制等還可能牽涉到終端使用者、經理人員、負責維護的工程師、領域專家或是工會等。這些都稱為專案關係人(stakeholders)13專案關係人不知道他們真正要什麼專案關係人會以自己的辭彙來表示需求不同專案關係人可能會產生互相衝突的需求組織和政治的因素可能也會影響系統的需求分析過程中若需求遭變更可能會出現新的專案關係人,而造成商業環境的變更需求分析的問題14需求分析程序15程序活動瞭解領域(Domain understanding)收集需求(Requirements collection)分類(Classification)解決衝突(Conflict resolution)排列優先順序(Prioritisation)檢查需求(Requirements checking)16系統模型在需求分析活動中可能會產生不同模型需求分析可能牽涉到造成這些不同模型的三種結構化活動分割(Partitioning)。識別實體之間的結構化關係(部分關係)抽象化(Abstraction)。識別出各實體的一般化投射(Projection)。識別出觀察問題的不同方法17觀點式擷取法專案關係人代表觀察問題或問題觀點的不同方法這種多重觀點的分析非常重要,因為分析系統需求時沒有唯一正確的方法18銀行 ATM 系統此範例使用可以提供自動化銀行服務的自動櫃員機系統做說明這裡使用非常簡化的系統,它可以向擁有此系統的銀行客戶提供幾項服務,以及提供其他銀行的客戶某些有限的服務提供的服務包括有提取現今、傳送訊息(傳送要求某項服務的訊息)、要求對帳單以及轉帳等19自動櫃員機的觀點銀行客戶其他銀行的代表硬體與軟體的維護工程師行銷部門銀行經理與櫃檯人員資料庫管理師保全人員通訊工程師人事部門20觀點的類型資料來源或消化處(Data sources or sinks)負責產生或使用資料的觀點,分析過程包括辨識產出或消耗的資料以及視資料來源與消化處為合法的假設表示架構(Representation frameworks)此觀點可被視為是一種特殊的系統模型。使用單一表示方式可能會漏掉某些需求。這種觀點尤其適用於即時系統服務接收者(Receivers of services)系統外部以及從系統接收到服務的觀點,大部分適用於互動式系統21外部觀點很自然的可以將終端使用者視為系統服務的接收者這些觀點可以很自然的構築需求的擷取很容易決定觀點是否合理這些觀點和服務可以用來構築非功能需求22以方法為主的分析需求分析中廣泛運用的方法,依據某個結構化方法的應用來瞭解系統這些方法有不同的強調處,有些是特別為需求擷取而設計,有些則與設計方法比較接近這裡使用觀點式方法(viewpoint-oriented method,VORD)為例,它也可以用來說明觀點的使用方式23VORD 方法24VORD 程序模型識別觀點找出接收系統服務的觀點,以及辨識出提供給各個觀點的特定服務建構觀點 將相關的觀點組成階層架構,共通的服務放在階層架構的上層,下層觀點則繼承自上層觀點觀點文件修飾已辨識出的觀點和服務的描述 對應觀點與系統將分析轉換為物件導向式的設計25VORD 標準格式觀點範本服務範本文件:觀點名稱文件:服務名稱屬性:觀點資訊的屬性原理:觀點資訊的屬性事件:事件情境是描述系統針對觀點事件如何回應規格:關於服務規格服務:服務描述文件觀點:可收到的服務上的觀點名稱子VPs:子觀點名稱非功能需求:非功能需求上的限制性服務供應者:系統物件上可提供的服務26識別觀點27觀點服務資訊28觀點資料與控制資訊 29觀點階層架構 30顧客觀點和提取現金範本31情境法(Scenarios)情境用來描述系統實際的使用方式這個方法有助於需求擷取,因為用這個方法比抽象敘述更容易得到系統的需求情境法對概略的需求描述加入詳細資訊尤其有幫助32情境描述情境開頭的系統狀態描述 情境中正常的事件流程描述可能發生的問題以及解決方法的描述同一時間可能發生的其他活動情境完成後的系統狀態描述33事件情境法 事件情境法可以用來描述系統如何回應某些特殊事件,例如開始交易事件VORD 使用下列幾個慣用的圖形來表示事件情境欲提供與交付的資料控制資訊例快處理下一個預期的事件34事件情境開始交易35資料與控制分析的表示符號由觀點提供的資料以及要交給觀點的資料以橢圓表示進入或離開方塊的控制資訊表示在每個方塊的上方離開此方塊的資料表示在每個方塊的右邊 例外狀況則出現在方塊的下方預期發生的下一個事件名稱則以灰底顏色顯示在方塊中36例外狀況描述大部分的方法都不包含描述例外狀況的工具此例中,例外狀況有逾時:客戶可能在限定的時間內輸入錯誤的PIN,卡片會被退回。無效卡:無法辨識卡片,卡片也會被退回。遺失卡:卡片被辨識出為遺失卡,機器會自動收回此卡片。37使用個案 使用個案是 UML 中以情境為主的技術,它可以識別互動中的行為者,以及描述互動本身利用一組使用個案來描述系統中所有可能的互動利用順序圖在使用個案中加入詳細資訊,顯示系統處理事件的順序38借書使用個案 39圖書館使用個案 40目錄管理順續圖41社會與組織因素軟體系統常被用於社會和組織環境中,這些都會影響或甚至主導系統的需求社會與組織的因素不只是單一的觀點,而是會影響到所有觀點好的分析師必須對這些因素很敏感,但是目前並沒有有系統的方法來追蹤他們的分析42民族誌法(Ethnography)社會學家花許多時間來觀察與分析人們是如何工作人們不需要解釋或清楚的說明他們的工作可以觀察到重要的社會與組織因素民族誌的研究指出人們的工作通常會比簡單的系統模型更多且更複雜43民族誌法使用的範例有航管系統的研究合併民族誌法與雛形法雛形開發可以針對民族誌法分析出來的問題進行研究民族誌法的問題是,它研究的一些實際工作可能包含一些毫無相關的歷程記錄44民族誌法和雛形法45民族誌法的範圍人們實際工作時的需求,而不是指程序定義所建議的工作需求從合作及瞭解其他人員活動所衍生的需求 46需求確認用來確定需求是否定義了顧客真正想要的系統 需求錯誤造成的成本非常高,所以確認的動作很重要在系統交付之後修正需求錯誤的成本可能會比修護實作的錯誤高出100倍之多47需求檢查確實性:系統提供的功能是否能夠支援客戶的需求?一致性:是否有任何需求產生衝突?完整性:是否包含客戶所需的所有功能?實現性:需求是否可以在有限的預算和可用技術下實作完成?可驗證性:需求是否可以接受檢查?48需求確認技術需求審查 有系統的人為分析需求雛形法 使用可執行的系統模型來檢查需求,參見第 8 章測試案例產生法為需求發展測試案例以檢查其測試性自動化一致性分析 檢查結構化需求描述的一致性49需求審查在擬定需求定義時必須定期的進行審查客戶和承包商的人員都應該參與審查審查可以是正式的(有完整的文件)或非正式的。開發者、客戶和使用者之間若有良好的溝通便可以提早解決問題50審查檢查可驗證性(Verifiability):需求是否如敘述情形一樣能夠真的進行測試?可瞭解性(Comprehensibility):系統的採購人員或直接使用者是否能夠適當的瞭解這些需求?可追蹤性(Traceability):是否清楚的記錄需求來源?可調適性(Adaptability):需求是否可調整改變,而不會造成其他系統需求太大的影響?51自動化需求一致性檢查 52需求管理需求管理是在需求工程程序及系統開發期間管理需求變更的程序需求通常是不完整且不一致的在程序期間,當商業需求改變或是對正在開發的系統有更好的瞭解,就會出現新的需求不同觀點會不同的需求,而這些需求通常會產生矛盾53需求變更不同觀點產生的需求,其優先順序在開發過程中會有所改變系統的客戶可能會以商業的觀點來指定需求,而這些觀點可能會與終端使用者的需求產生衝突系統的商業和技術環境在開發的過程中也會有所改變54需求演化 55持久和短暫的需求 持久需求(Enduring requirements):指非常穩定的需求,來自組織的核心活動。例如,醫院通常會有醫生和護士。這些需求可能是從領域模型而來短暫需求(Volatile requirements):系統開發期間或系統開始運作之後可能發生改變的需求。若以醫院為例,政府的健保政策可能就會有隨時改變的需求56需求分類易變的需求(Mutable requirements)因組織的營運環境改變而造成的需求改變新出現的需求(Emergent requirements)顧客在系統開發期間瞭解系統的發展之後所出現的新需求隨之發生的需求(Consequential requirements)引進電腦系統之後所造成的需求相容需求(Compatibility requirements)根據某個特殊系統或組織中商業流程而來的需求57需求管理規劃 在需求工程程序期間,你必須規劃:需求識別 如何識別每一項個別的需求變更管理程序分析需求變更時的程序追蹤策略有關需求之間的關係、且需要進行維護的大量資訊支援的 CASE 工具幫助管理需求變更時所需的支援工具58可追蹤資訊(Traceability)可追蹤資訊是指需求、需求來源以及系統設計之間的關係來源可追蹤資訊 將需求與提出這些需求的專案關係人做一個連結需求可追蹤資訊將相依的需求做連結設計可追蹤資訊 將需求和設計做連結59可追蹤矩陣 需求代碼1.11.21.32.12.22.33.13.21.1UR1.2URU1.3RR2.1RUU2.2U2.3RU3.1R3.2R60CASE工具的支援儲存需求需求必須在一個安全的資料儲存處接受管理變更管理變更管理的程序是一個工作流程,每一個階段都可以進行定義,而這階段之間的資訊流也可以部分自動化可追蹤性管理可自動擷取需求之間的連結關係61需求變更管理應該將所有提出的變更套用至需求中主要階段問題分析:討論需求的問題並且提出變更變更分析與成本預估:評估變更對其他需求的影響變更實作:修改需求文件和其他文件,以反映變更62需求變更管理63重點整理 需求工程程序包括可行性研究、需求擷取與分析、需求規格制定、需求確認以及需求管理等需求分析是一個反覆性的程序,包括瞭解領域、收集需求、分類、解決衝突、排列優先順序以及確認等系統中的不同專案關係人會有不同的需求,因此所有的複雜系統都應該從各種不同觀點進行分析64重點整理 社會和組織因素對系統需求的影響甚大需求確認是一個檢查需求確實性、一致性、完整性、實現性以及可驗證性的程序商業的改變必然會對軟體系統的需求造成改變需求管理包含管理的規劃與變更管理65 Thank you拯畏怖汾关炉烹霉躲渠早膘岸缅兰辆坐蔬光膊列板哮瞥疹傻俘源拯割宜跟三叉神经痛-治疗三叉神经痛-治疗
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!