軟體原型 (Software Prototyping)

Slides:



Advertisements
Similar presentations
軟體工程 -物件導向程式設計與UML系統分析實作
Advertisements

第一章 認識程式語言.
醫電產品法規實務診斷方案 工業技術研究院量測技術發展中心 2014 年 3 月 4 日.
(原Protel)Altium公司 中国大学计划推介
软件工程实践 软件学院 高海昌 作业提交 课件下载
软件质量保证与测试 第2讲 软件测试的基本概念和方法
顏協邦 慧盟資訊 商業智慧導入服務部 資深經理
第一章 系統開發概論 1-1 系統開發概論 1-2 常見的資訊系統 1-3 系統開發生命週期 1-4 系統開發方法論簡介.
第9章 系統建置.
GIS教学体系探讨 ——以北京大学本科教育为例 邬 伦
全球科研项目整合检索系统 海研网
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 3 C H A P T E R INFORMATION SYSTEM DEVELOPMENT.
欢迎各位 Nice to Meet U.
第 5 章 软件项目需求管理.
標準本位評量的實施方法 慈濟大學教育研究所 張景媛.
第一章 軟體工程 (Software Engineering Introduction)
天文望远镜集成建模研究 杨德华 南京天文光学技术研究所 30 NOV, 年中国虚拟天文台年会 广西师范大学 桂林
软件工程 主讲:饶国政 天 津 大 学.
Some Effective Techniques for Naive Bayes Text Classification
第1章 程式語言與Visual Basic的基礎
ISO 9001條文簡介 ( 2000年版) ISO9001訓練教材之二 顧問師 林弘炤.
軟體需求 (Software Requirements)
企業會計資訊系統發展現況與電腦審計實務分享
形式语言与网络 计算环境构建 1.
Symbian OS介绍 概述 第一部分.
Topic 06 行銷資訊系統的開發方法.
第一章 軟體工程概論.
東華三院呂潤財紀念中學 叢蔣漢校長 2012年4月20日 (星期五)
分布式对象标准介绍 企业要构建多层分布式系统,必须遵循分布式标准,基于什么样的标准将直接影响到企业应用系统的开放性和可扩展性。目前业界分布式对象技术主要有三种架构标准: Microsoft的COM/DCOM/COM+ OMG组织的 CORBA。 Sun Microsystems的Enterprise.
需求工程行程 (Requirements Engineering Processes)
Chapter 3 Case Studies.
軟體工程 -物件導向程式設計與UML系統分析實作
缺失測試 (Defect Testing) 測試程式讓系統的缺失呈現.
具備可攜性及通話品質量測功能之軟體電話架構設計與實作
單元3:軟體設計 3-2 順序圖(Sequence Diagrams)
BizTalk Server 2004.
China Standardization activities of ITS
第5章 方案工程(Solutions Engineering)
品質管理系統 華南品規課 鴻准精密模具有限公司 2018/12/6.
Introduction to OpenGL (1)
SAP 架構及基本操作 SAP前端軟體安裝與登入 Logical View of the SAP System SAP登入 IDES
Programmable Logic Architecture Verilog HDL FPGA Design
邏輯設計 Logic Design 顧叔財, Room 9703, (037)381864,
第五章 辦公室生產力工具 在研讀本章內容之後,學習者將能瞭解下列學習目標: 運用各種應用軟體做為生產力工具。 整合應用軟體的使用趨勢。
服務於中國研究的網絡基礎設施 A Cyberinfrastructure for Historical China Studies
Computing and SE II Chapter 4: Requirements Engineering
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
SAP R/3架構及前端軟體安裝 Logical View of the R/3 System SAP Frontend 6.2安裝
Chap 4 軟體品質保證.
高速工具機驅動系統與機械結構剛性整合設計
梁文新 办公室:综合楼108 电 话: 软件工程导论 梁文新 办公室:综合楼108 电 话:
虚 拟 仪 器 virtual instrument
課程報告 使用開放原始碼工具實作軟體產品線方法
模式与实践:Windows Mobile 5.0应用程序架构
徐迎晓 复旦大学软件学院 实现模型 徐迎晓 复旦大学软件学院.
多媒体技术 中南大学信息科学与工程学院 黄东军.
SAP 架構及基本操作 SAP前端軟體安裝與登入 Logical View of the SAP System SAP登入 IDES
IEEM 5352 Enterprise Integration
熊博安 嵌入式系統實驗室 國立中正大學資訊工程學系
Enterprise Resource Planning System 企業資源規劃系統
业务流程重组 1.概念 业务流程重组(BPR ,Business Process Reengineering)强调以业务流程为改造对象和中心、以关心客户的需求和满意度为目标、对现有的业务流程进行根本的再思考和彻底的再设计,利用先进的制造技术、信息技术以及现代化的管理手段、最大限度地实现技术上的功能集成和管理上的职能集成,以打破传统的职能型组织结构(Function-Organization),建立全新的过程型组织结构(Process-Oriented.
Paper Prototyping Michael Tsai 2011/10/14.
模式模擬資訊共通平台發展研究 張誠博士 中山科學研究院 系統發展中心.
UML ISKM Lab.
React.js.
Operating System Software School of SCU
案例分析: THE NEXTGEN POS SYSTEM
SAP 架構及前端軟體安裝 Logical View of the SAP System SAP Frontend 7.1安裝 SAP登入
陳昭珍 國立臺灣師範大學圖書資訊學研究所副教授
Presentation transcript:

軟體原型 (Software Prototyping) 軟體快速發展以驗證其需求(validate requirements)

主題 軟體行程中的原型 (prototyping in the software process ) 原型技術 (prototyping techniques) 使用者介面原型 (user interface prototyping)

原型 (Prototyping) 快速發展(development)的方法 可以被視為降低需求風險的活動

引出需求(requirements elicitation) 幫助理解系統需求 引出需求(requirements elicitation) 藉由執行(experiment)原型系統以查看系統如何支援他們的工作 驗證需求(requirements validation) 揭示需求的錯誤和疏漏(omission)

原型的優點 可以暴露(expose)軟體使用者及開發者間的誤會(misunderstanding) 遺漏的服務(missing services)可能被偵測到(detected),錯亂(confusing)的服務可能被發掘(identified) 在行程的較早階段(early in the process)就有可執行的系統(working system)使用

原型可視為用以推導系統規格(deriving system specification)的基礎 系統能支援使用者訓練(user training)及系統測試(system testing)

軟體行程中的原型

原型化步驟 丟棄式原型(throw-away prototyping) 演化式原型(evolutionary prototyping)

Approaches to Prototyping (原型化步驟)

丟棄式原型 目標 驗證(validate)或推導(derive)系統需求之後即丟棄(discarded) 用以降低需求風險(requirements risk) 開始處理不清楚的需求(poor understood)

丟棄式原型不應被視為是最終系統(final system),因為 某些系統特性(system characteristics)可能被遺漏(left out) 沒有長期維護的規格(no specification for long-term maintenance) 不佳的結構(poorly structured)及不易維護(difficult to maintain) 難以將原型調整(tune the prototype)到能符合非功能性需求

原型難免缺乏文件記錄 (inevitably undocumented) 系統結構在發展期間會因改變(changes)而受影響(degraded through changes made) 一般的組織內質化標準(normal organisational quality standards)可能無法適用

丟棄式原型 (Throw-Away Prototyping)

演化式原型 (Evolutionary Prototyping) 目標 先產生初始的原型系統(initial prototype),並經過許多階段的修訂(refined)以至得到最終系統 從最易被理解的那些需求開始

特性 適用於那些無法被預先發展的系統 Ex. AI系統和使用者界面系統 需藉助允許迅速系統迭代(system iterations)開發的技術

驗證是不可能的(verification is impossible) 驗證意味著顯示系統的適當性(adequacy of the system) 規格(specification)、設計(design)和實施(implementation)是糾結(intertwined)在一塊的 發展過程是陸續以遞增(increments)方式交付給使用者

加速系統交付(accelerated delivery of the system) 優點 加速系統交付(accelerated delivery of the system) 迅速的交付(delivery)和建置(deployment) 使用者參與系統開發(user engagement with the system) 較可能滿足使用者需求

演化式原型 (Evolutionary Prototyping)

以原型當作規格 (Prototypes as Specifications) 部份需求(e.g. safety-critical functions)可能無法用原型來表示 非功能性需求在系統原型中無法測試(cannot be adequately tested)

遞增式開發 (Incremental Development) 在整體架構建立後開發及交付增量(increments) 傾向以結合原型方法的優點與一種更易管理的行程(more manageable process)及更好的系統架構進行

遞增式開發 (Incremental Development)

2. 快速原型技術 (Rapid Prototyping Techniques) 用於迅速發展的技術 動態高階語言(dynamic high-level language ) 資料庫程式設計 (database programming) 元件及應用組合(component and application assembly) 視覺化程式設計(visual programming)是繼承大多數原型開發系統的方法

動態高階語言 (Dynamic High-Level Language) 包括功能強大之資料管理工具(powerful data management facilities)的語言 需要在執行時能提供大量支援的系統(large run-time support system) 提供極佳的UI (User Interface)發展工具(facilities)的語言 具有一個整合式的支援環境(integrated support environment),其工具(facilities)可用於原型系統的語言

原型語言 (Prototyping Languages)

原型語言的選擇 應用領域的問題是什麼(application domain of the problem)? 需與使用者進行怎樣的互動(user interaction)? 該語言需要怎樣的支援環境(support environment)? 系統的不同部分可由不同語言開發 (different parts of the system may be programmed in different languages)

資料庫程式語言 (Database Programming Languages) 用於開發商業系統之領域相關特定語言(domain specific language)需建立在資料庫管理系統(database management system)之上 通常包含資料庫查詢語言(database query language),螢幕產生程式(screen generator),報表產生程式(report generator)及試算表(spreadsheet) 可與CASE toolset整合 語言(Language)+環境(environment)被稱為第四代語言(4GL)

資料庫程式設計 (Database Programming)

元件及應用組合 (Component and Application Assembly) 原型可由下列項目迅速被建立 再利用元件(a set of reusable components) 接合這些元件的機制(mechanism to‘glue’these components) 合成機制(composition mechanism)需包含 控制工具(control facilities) 元件溝通機制(component communication mechanism)

再利用的原型開發 (Prototyping with Reuse) 應用層開發(application level development) 整個應用系統是與原型結合起來,以便能共享共通的功能(functionality) 例如,若需要文字處理(text preparation),則需要標準的文書處理器(word processor)

元件層開發(component level development) 個別元件(individual component)都整合在一個可實作系統的標準架構(standard framework) 架構(framework)可能是 腳本語言(a scripting language)

一種整合架構,如CORBA (Common Object Request Broker Architecture,通用物件請求代理架構) CORBA標準由物件管理組織(OMG)設立並進行控制 CORBA定義了一系列API,通訊協議,和物件/服務資訊模型用於使得異質應用程式能夠互相操作,這些應用程式用不同的程式語言編寫,執行在不同的平台上 CORBA因此為定義明確的物件提供了平臺和位置的透明性,這些物件是分散式計算平臺的基礎

組合再利用元件 (Reusable Component Composition)

複合文件 (Compound Documents) 附有主動式元素(a document with active elements)(如試算表)的文件允許使用者做計算(computation) 每個被啟動的元素(active element)都有一個相關的應用程式(associated application),當該元素被選取時,其應用程式會被喚起(invoked) 該文件可被視為是不同應用程式的整合器(integrator)

在複合文件中應用程式的連結 (Application Linking in Compound Documents)

一個原型系統由包括文字元素(text elements),表格(tables)和聲音檔(sound files)的複合文件組成 關連性應用(associated applications) 處理文字元素的文書處理器(word processor for text elements) 處理表格的試算表(spreadsheet for tables) 播放聲音檔的音效播放器(audio player for sound files)

視覺化程式設計 (Visual Programming) 腳本語言(scripting languages)如Visual Basic支援視覺化程式設計 原型是藉著從標準項目(standard items)所建立的使用者界面(user interface)及與這些項目相關的元件(associating components with these items)所開發出來 需要大型元件庫(large library of components)來支援這類發展

再使用的視覺化程式設計 (Visual Programming with Reuse)

上圖表示元件及相關的顯示元素(the components associated with some of the display elements)

3. 使用者介面原型 (User Interface Prototyping) 無法有效(effective)地預先指定(pre-specify)使用者界面的外觀和感覺(look and feel)(原型(prototype)是必要的) 使用者界面產生器可用來”畫”(draw)使用者界面及模擬界面元件的功能(simulate its functionality with components associated with interface entities) Web界面可用網站編輯器(web site editor)以產生其原型

參考資料 Ian Sommerville, Software Engineering, 7th ed., Addison-Wesley,2004.