Software Prototyping o validate requirements 1 prototyping in
- Slides: 40
軟體原型 (Software Prototyping) o 軟體快速發展以驗證其需求(validate requirements)
主題 1. 軟體行程中的原型 (prototyping in the software process ) 2. 原型技術 (prototyping techniques) 3. 使用者介面原型 (user interface prototyping)
n 原型可視為用以推導系統規格(deriving system specification)的基礎 n 系統能支援使用者訓練(user training)及系 統測試(system testing)
o 原型化步驟 n 丟棄式原型(throw-away prototyping) n 演化式原型(evolutionary prototyping)
Approaches to Prototyping (原型化步驟)
o 丟棄式原型不應被視為是最終系統(final system),因為 n 某些系統特性(system characteristics)可能被 遺漏(left out) n 沒有長期維護的規格(no specification for long-term maintenance) n 不佳的結構(poorly structured)及不易維護 (difficult to maintain) n 難以將原型調整(tune the prototype)到能符 合非功能性需求
n 原型難免缺乏文件記錄 (inevitably undocumented) n 系統結構在發展期間會因改變(changes)而 受影響(degraded through changes made) n 一般的組織內質化標準(normal organisational quality standards)可能無法適 用
丟棄式原型 (Throw-Away Prototyping)
n 驗證是不可能的(verification is impossible) n 驗證意味著顯示系統的適當性(adequacy of the system) n 規格(specification)、設計(design)和實施 (implementation)是糾結(intertwined)在一塊的 n 發展過程是陸續以遞增(increments)方式交付給使 用者
o 優點 n 加速系統交付(accelerated delivery of the system) o 迅速的交付(delivery)和建置(deployment) n 使用者參與系統開發(user engagement with the system) o 較可能滿足使用者需求
演化式原型 (Evolutionary Prototyping)
以原型當作規格 (Prototypes as Specifications) o 部份需求(e. g. safety-critical functions)可能無法 用原型來表示 o 非功能性需求在系統原型中無法測試(cannot be adequately tested)
遞增式開發 (Incremental Development)
2. 快速原型技術 (Rapid Prototyping Techniques) o 用於迅速發展的技術 n 動態高階語言(dynamic high-level language ) n 資料庫程式設計 (database programming) n 元件及應用組合(component and application assembly) o 視覺化程式設計(visual programming)是繼承大多數原 型開發系統的方法
動態高階語言 (Dynamic High-Level Language) o 包括功能強大之資料管理 具(powerful data management facilities)的語言 o 需要在執行時能提供大量支援的系統(large run-time support system) o 提供極佳的UI (User Interface)發展 具 (facilities)的語言 o 具有一個整合式的支援環境(integrated support environment),其 具(facilities)可用於原型系 統的語言
原型語言 (Prototyping Languages)
原型語言的選擇 o 應用領域的問題是什麼(application domain of the problem)? o 需與使用者進行怎樣的互動(user interaction)? o 該語言需要怎樣的支援環境(support environment)? o 系統的不同部分可由不同語言開發 (different parts of the system may be programmed in different languages)
資料庫程式語言 (Database Programming Languages) o 用於開發商業系統之領域相關特定語言(domain specific language)需建立在資料庫管理系統(database management system)之上 o 通常包含資料庫查詢語言(database query language), 螢幕產生程式(screen generator),報表產生程式 (report generator)及試算表(spreadsheet) o 可與CASE toolset整合 o 語言(Language)+環境(environment)被稱為第四代語 言(4 GL)
資料庫程式設計 (Database Programming)
元件及應用組合 (Component and Application Assembly) o 原型可由下列項目迅速被建立 n 再利用元件(a set of reusable components) n 接合這些元件的機制(mechanism to‘glue’these components) o 合成機制(composition mechanism)需包含 n 控制 具(control facilities) n 元件溝通機制(component communication mechanism)
o 元件層開發(component level development) n 個別元件(individual component)都整合在一 個可實作系統的標準架構(standard framework) n 架構(framework)可能是 o 腳本語言(a scripting language)
組合再利用元件 (Reusable Component Composition)
在複合文件中應用程式的連結 (Application Linking in Compound Documents)
o 一個原型系統由包括文字元素(text elements), 表格(tables)和聲音檔(sound files)的複合文件 組成 o 關連性應用(associated applications) n 處理文字元素的文書處理器(word processor for text elements) n 處理表格的試算表(spreadsheet for tables) n 播放聲音檔的音效播放器(audio player for sound files)
視覺化程式設計 (Visual Programming) o 腳本語言(scripting languages)如Visual Basic支 援視覺化程式設計 n 原型是藉著從標準項目(standard items)所建 立的使用者界面(user interface)及與這些項 目相關的元件(associating components with these items)所開發出來 o 需要大型元件庫(large library of components)來 支援這類發展
再使用的視覺化程式設計 (Visual Programming with Reuse)
o 上圖表示元件及相關的顯示元素(the components associated with some of the display elements)
3. 使用者介面原型 (User Interface Prototyping) o 無法有效(effective)地預先指定(pre-specify)使 用者界面的外觀和感覺(look and feel)(原型 (prototype)是必要的) o 使用者界面產生器可用來”畫”(draw)使用 者界面及模擬界面元件的功能(simulate its functionality with components associated with interface entities) o Web界面可用網站編輯器(web site editor)以產 生其原型
參考資料 o Ian Sommerville, Software Engineering, 7 th ed. , Addison-Wesley,2004.
- Explore evolve validate prototype
- Self-validation worksheet
- Master validation plan
- Validate scope process
- Verify vs validate
- Explore evolve validate prototype
- Ptv validate
- Validate affirm build bridge
- Janette toral
- Rapid prototyping model in software engineering
- Prototyping process in software engineering
- Incremental deployment
- User interface prototyping in software engineering
- What are the benefits of prototyping
- Requirement vs specification
- Inverse requirements
- Inverse requirements in software engineering
- What is domain requirements in software engineering
- Requirements discovery techniques in software engineering
- Domain requirements in software engineering
- Domain requirements
- Domain requirements in software engineering
- 7 tasks of requirement engineering
- Unambiguous requirements in software testing
- Comp 201
- Domain requirements examples
- Characteristics of requirements
- Hardware and software requirements
- Source and sink analysis in software engineering
- What is domain requirements
- Applied software project management
- Ieee srs
- Visual models for software requirements
- Volere template
- Open source electronics prototyping platform
- List various rapid prototyping data formats
- Fountain model in software engineering
- Iterativ inkrementelles vorgehensmodell
- Prototyping elicitation technique
- Horizontal prototype
- Define rapid prototyping