抽象描述(abstract descriptions)那些需求被分析的系統

Slides:



Advertisements
Similar presentations
<<會計資訊系統課程講義>> 統一塑模語言(UML)語法精要 -- 物件導向概念、需求分析及系統分析
Advertisements

軟體工程 -物件導向程式設計與UML系統分析實作
第一章 資料結構導論 1-1 資料結構簡介 1-2 認識程式設計 1-3 演算法效能分析 1-4 物件導向程式設計與Java.
Ch02物件導向程式設計 物件導向系統分析與設計.
第10章 領域、概念與分析模型 10-1 再談物件導向分析 10-2 找出類別建立領域模型 10-3 指定責任建立概念模型
第六章 資料倉儲與採礦技術 6.1 資料倉儲與採礦定義 6.2 資料採礦之步驟與技術分類 6.3 資料採礦在顧客關係管理之應用
第二章 管理資訊系統概論暨資訊系統應用(Introduction to MIS and the Applications of IS)
第八章 信息系统开发概述.
D、結構化技術 主要的結構化技術 結構化程式設計 (Structured Programming)
資料庫設計 Database Design.
数据库技术及应用 华中科技大学管理学院 课程网址:
第6章 系统分析 6.1 概述 6.2 逻辑模型 6.3 逻辑结构分析 6.4 用例分析 6.5 概念类分析.
数据库原理与应用     制作人:王春玲         黄金燕         张惠萍         陈志泊 人民邮电出版社.
第一章 軟體工程 (Software Engineering Introduction)
第9章 面向对象方法学引论 9.1 面向对象方法学概述 9.2 面向对象的概念 9.3 面向对象建模 9.4 对象模型 9.5 动态模型
第八章 分析與設計階段 – 物件導向設計(OOD)
軟體需求 (Software Requirements)
企業會計資訊系統發展現況與電腦審計實務分享
形式语言与网络 计算环境构建 1.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
軟體原型 (Software Prototyping)
第二章 企業流程管理與企業資源規劃系統 Business Process Management &
需求工程行程 (Requirements Engineering Processes)
軟體工程 -物件導向程式設計與UML系統分析實作
缺失測試 (Defect Testing) 測試程式讓系統的缺失呈現.
Chap 3 資料庫模型與處理架構.
運籌管理 Chapter 12 資訊科技與運籌管理電子化 祝天雄 博士 99年12月 日.
物件導向系統分析與設計與UML.
單元3:軟體設計 3-2 順序圖(Sequence Diagrams)
创建型设计模式.
單元3:軟體設計 3-1實體關係圖 Ch 08 System models.
软件建模精要 面向对象软件建模技术.
第9章 類別圖與物件圖 9-1 類別圖與物件圖的基礎 9-2 類別圖的符號 9-3 類別關係 9-4 物件圖 9-5 繪製類別圖與物件圖
第4章 物件導向分析與設計簡介 4-1 物件導向的軟體系統開發 4-2 物件導向分析與設計 4-3 UML的物件導向分析與設計
SAP 架構及基本操作 SAP前端軟體安裝與登入 Logical View of the SAP System SAP登入 IDES
資料庫系統導論.
資訊系統文件化工具 東吳大學會計學系 謝 永 明.
第六章 : 資料模型之繪製 1. 前言 資料流程圖 ( DFD ) 及 處理邏輯工具
Formal Pivot to both Language and Intelligence in Science
软件工程 Software Engineering
軟體工程:如何開發軟體? 把它看成是一件工程。 那麼就會有一些工具、技術、方法,也有管理的議題。
A、資訊系統開發概論與課程簡介 何謂資訊系統? 為何需要系統分析師? 需要瞭解哪些知識? 領域知識? 資訊科技? 開發方法與技術? 課程簡介.
Advanced Basic Key Terms Dependency Actor Generation association
两种不同类别的软件: 功能预定义软件;用户驱动的软件。他们对软件工程方法有不同的需求
Abstract Data Types 抽象数据类型 Institute of Computer Software 2019/2/24
UML语言.
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
Answering aggregation question over knowledge base
成品检查报告 Inspection Report
第13章 設計模型 13-1 再談物件導向設計 13-2 建立互動圖 13-3 建立狀態機圖 13-4 設計模型的類別圖
ER Model.
梁文新 办公室:综合楼108 电 话: 软件工程导论 梁文新 办公室:综合楼108 电 话:
软件设计任务 从工程管理的角度来看,软件设计分两步完成。 概要设计,将软件需求转化为数据结构和软件的系统结构。
自我介紹 李易如 小c 桃園人 交大運管系 聽音樂、慢跑、旅遊 黃家耀老師lab.
從 ER 到 Logical Schema ──兼談Schema Integration
确定属性(Identifying attribute)
回顾.
An organizational learning approach to information systems development
李允中教授-軟體工程實驗室研究方向 觀點導向之軟體發展(Aspect-Oriented Software Development): 觀點導向軟體開發方法主要源自於重新思考軟體系統的模組化(Modularization)以及關注點分離的概念(Separation of Concerns)。當建構軟體系統功能時,往往會發現到除該功能本身之外,必須還要在這些功能上特別關注其他面向的考量,例如執行效能的面向、元件或模組的再利用性、系統的可靠程度等等。因此,一個軟體系統內,往往存在著這些錯綜交織的面向於軟體開發的
SAP 架構及基本操作 SAP前端軟體安裝與登入 Logical View of the SAP System SAP登入 IDES
IEEM 5352 Enterprise Integration
MODELING GENERALIZATION & REFINING THE DOMAIN MODEL
第一讲 面向对象方法学与信息系统建模.
Advanced Basic Key Terms Dependency Generalization Actor Stereotype
UML ISKM Lab.
面向对象建模 对象(object) 对象具有的含义: 现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。 在现实世界中:
SAP 架構及前端軟體安裝 Logical View of the SAP System SAP Frontend 7.1安裝 SAP登入
2014Fall 資訊模式 資料庫和資料模型 國立中央大學 資訊管理系 范錚強 updated 中央大學。范錚強.
作业 请您用星级模式评估您自己公司的一致性状况。 您的公司与它的战略执行一致吗?.
Presentation transcript:

抽象描述(abstract descriptions)那些需求被分析的系統 系統模型 (System Models) 抽象描述(abstract descriptions)那些需求被分析的系統

主題 本文模型(context models) 行為模型(behavioural models) 資料模型(data models) 物件模型(object models) CASE工作平台(CASE workbenches)

系統塑模 (System Modelling) 系統塑模幫助分析師瞭解系統功能(functionality),而模型(models)用來與客戶溝通(communicate) 不同模型可由不同角度(perspective)來表示(present)系統 外部觀點(external perspective)表示系統的內容(context)或環境(environment) 行為觀點(behavioural perspective)表示系統的行為(behaviour) 結構觀點(structural perspective)表示系統或資料結構(data architecture)

結構性方法 (Structured Methods) 結構性方法將系統塑模(system modelling)合併(incorporate)為方法(method)的內在部分(inherent part of the method) 方法(methods)用以定義 一些模型(set of models) 推導這些方法的行程(process) 可應用於這些模型的規則(rules)及指南(guidelines) CASE工具可支援系統塑模作為結構方法的一部分

方法的弱點 (Method Weakness) 無法塑模(model)非功能性的系統需求 通常不包括某方法是否適合特定問題的資訊(whether a method is appropriate for a given problem) 可能產生太多文件(documentation) 系統模型有時會因太詳盡和困難以至於使用者無法理解

模型類型 (Model Types) 資料處理模型(data processing model)表示資料在不同階段該如何被處理 組合模型(composition model)表示實體(entities)如何由其它實體組成 結構模型(architectural model)表示主要的附屬系統(sub-systems) 分類模型(classification model)表示實體可有怎樣的共同特性(common characteristics) 激發/回應模型(stimulus/response model)表示系統對事件(events)的回應(reaction)

內容模型 (Context Model) 內容模型(context models)用來說明一個系統的界限(boundaries) 社會和組織(social and organisational)的關注(concern)可能會影響該如何界定系統的界限 架構模型(architectural models)表示一個系統及該系統與其它系統的關係

ATM系統的內容

行程模型 (Process Models) 行程模型(process models)表示完整的行程(overall process)以及系統所支援的行程 資料流模型(data flow models)可用來表示行程(processes)以及從一個行程到另一個行程的訊息流(flow of information)

設備取得行程 (Equipment Procurement Process)

行為模型 (Behavioural Models) 行為模型(behavioural models)描述系統的所有行為(overall behaviour) 兩類行為模型 資料處理模型(data processing models)表示資料於系統中流動時該如何處理 狀態機模型(state machine models)表示系統對於事件的回應(response) 當描述系統行為時需要這兩類的模型

資料流模型 每個以電腦為基礎(computer-based)的系統都是用來轉換資訊(information transform) .... system input output

資料流模型表示法 外部實體 (external entity) 行程(process) 資料流(data flow) 資料儲存體(data store)

外部實體 (External Entity) 資料的產生者(producer)或消耗者(consumer) Examples: 人、設備、感應器、以電腦為基礎(computer-based)的系統 資料總是起源於某處(originate somewhere)並且被傳送到他處(be sent to something)

行程 (Process) Examples: 計算稅款,確定地區, 資料需以某種方式被處理以達成系統功能 資料轉換器(data transformer)(將輸入轉換成輸出) Examples: 計算稅款,確定地區, 制定報告格式(format report), 展示圖型(display graph) 資料需以某種方式被處理以達成系統功能

資料流 (Data Flow) 資料流(data flows)貫穿系統,以輸入為起點 並轉換為輸出 base area height compute triangle area area height

資料儲存體 (Data Stores) 資料常被暫時儲存以便稍後使用 sensor # sensor #, type, location, age look-up sensor data report required type, location, age sensor number sensor data

資料處理模型 (Data-Processing Models) 資料流圖表(data flow diagrams)用以模型化(model)系統的資料處理 當資料流經過系統時可用以表示處理步驟(processing steps) 許多分析方法中的內在部分 (intrinsic [內在的] part) 簡單和直覺(intuitive)的表式法(notation)讓客戶易於瞭解 表示端點到端點(end-to-end)的資料處理

訂單處理的DFD (Order Processing DFD)

資料流圖表 (Data Flow Diagrams) DFDs從功能的角度(functional perspective)模型化(model)系統 對資料與行程的關聯做追蹤(tracking)和製作文件(documenting)有助於對系統完整的瞭解 資料流圖表可用來表示系統間的資料交換(data exchange)

CASE Toolset DFD

狀態機塑模 (State Machine Modeling) 事件 (events) 行為 (behavior) Outside world Application

系統狀態 (The States of a System) 一些可觀察情況(observable circumstances)的集合,該情況可描述在不同時間的行為特性(characterizes the behavior) 狀態變遷(state transition) 由一種狀態轉移到另一種狀態的行動(movement)

事件(event) 行動(action) 一個可讓系統產生某種可預期行為的事件 因變遷(transition)的結果(consequence)所產生的行程(process)

狀態機塑模 (State Machine Modeling) 編列不同的系統狀態(系統行為如何?) 說明系統如何從一種狀態轉移到另一種狀態(系統如何改變狀態?) 說明事件(indicate event) 說明行動(indicate action) 畫出狀態轉換圖(state transition diagram)

狀態轉換圖表示法 (State Transition Diagram Notation) 事件導致轉換(event causing transition) 發生行動(action that occurs) new state

狀態轉換圖 (State Transition Diagram) reading operator commands making copies reloading paper problem state full invoke read-op-input full and start invoke manage-copying copies done empty invoke reload paper jammed invoke problem-diagnosis not jammed

微波爐模型 (Microwave Oven Model)

微波爐狀態描述 (Microwave Oven State Description)

微波爐外部刺激 (Microwave Oven Stimuli)

狀態圖 (Statecharts) 允許將模型分解(decomposition)成子模型 (sub-models) 在每個狀態(state)之‘do’ 後的行動(action)應有簡單的描述 可藉由表格的補充(complemented)以說明狀態(states)和刺激(stimuli)

微波爐操作 (Microwave Oven Operation) Emitter 輻射源

資料模型及實體—關連狀態圖 (Data Model and Entity Relationship (E-R) Diagram) 用以描述系統中資料處理(data process)的邏輯結構(logical structure) 實體關係屬性模型(entity-relation-attribute model),定義系統中實體、實體間關係和實體屬性 廣泛用於資料庫設計,可以很容易地用關連性資料庫(relational databases)實作 UML沒有為實體關係屬性模型提供特殊的符號表示,但可使用物件(objects)和關連(associations)

為何使用資料塑膜 (Why Data Modeling?) 資料物件(data objects)和資料處理(data processing)可各自獨立被檢查(examine) 聚焦(focus attention)在資料領域上(data domain) 在用戶的抽象水平上(customer’s level of abstraction)建立模型 指明資料物件(data objects)間如何彼此相關聯(relate)

資料物件(Data Object)是什麼? 物件是一個由一套屬性(a set of attributes)(資料項(data items))所描述,且能在軟體(系統)內被處理(manipulate)的實體 一個物件(object)的實例(instance)(如一本書)可被唯一識別(如使用ISBN#) 每個物件在系統中扮演一個必要的角色,系統若不擷取(access)這些物件的實例就無法運作 每個物件由屬性(attribute)來描述,而屬性本身也就是資料項(data items)

物件類型 (Typical Objects) 外部實體(external entities),如printer, user或sensor 事物(things),如reports, displays或signals 事件(occurrences or events),如interrupt或alarm 角色(roles),如manager, engineer或salesperson 組織單元(organizational units),如division或team 地點(places),如manufacturing floor 結構(structures),如employee record

資料物件及屬性 (Data Objects and Attributes) 資料物件包含一套屬性做為一個物件的觀點(aspect)、品質(quality)、特性(characteristic),或描述者(descriptor) object: automobile attributes: make model body type price options code

關係是什麼? 關係 : 指明連結性(connectedness),是系統必須記得(remember)的事實(fact) 可能存在幾個關係的實例(instances of a relationship) 物件彼此間可能存在許多不同的關係(objects can be related in many different ways)

ERD表示符號 (0, m) (1, 1) object relationship 1 2 常見形式之一 其它常見形式 attribute

建立一個ERD Level 1 Level 2 Level 3 塑模(model)全部資料物件(data objects)(實體(entities))以及與其它物件的連結(connections) Level 2 塑模全部實體及關係(entities and relationships) Level 3 塑模全部實體,關係及能提供更深一層的屬性

ERD實例 request for service customer places (1,1) (1,m) (1,1) standard task table (1,n) work order generates (1,1) (1,1) (1,1) selected from work tasks (1,w) consists of (1,w) (1,i) materials lists

軟體設計語意模型 (Software Design Semantic Model)

資料字典 (Data Dictionary) 一種類似正規的文法(quasi-formal grammar),用以描述軟體將處理(process)和建立(create)的資料內容(content of data) 一種能描述控制資料(control data)以及控制資料可能值(如on或off)的表示法(notation) 一個包含where used/how used資訊的儲存庫(repository) 一種能以人工(manual)方式或以CASE tools表示的表示法(notation)

建立一個資料字典 (Building a Data Dictionary)

資料字典表式法 (Data Dictionary Notation) Delimit (設)定…的範圍

資料字典實例

物件導向觀念 (The OO Mindset) 物件(objects) 問題域(problem domain)

關鍵概念 (Key Concepts) 信息(messages) 類別及類別繼承 (classes and class hierarchies) 事例(instances) 繼承(inheritance) 抽象化及隱藏(abstraction and hiding) 物件(objects) 屬性(attributes) 方法(methods) 封裝(encapsulation) 多型(polymorphism) 信息(messages)

類別 (Classes) 物件導向的想法開始於將類別(class)定義成 樣板(template) 一般化描述(generalized description) 圖型(pattern) 藍本(blueprint):描述一些相似項目(similar items)的集合

元類(metaclass)(或稱為superclass)是一種類別的集合(collection of classes) 一個類別項目(a class of items)一旦被定義, 即可定義一個類別的特定實例(a specific instance)

建立類別 (Building a Class)

類別是什麼? occurrences roles organizational units things places external entities things occurrences roles organizational units places structures class name attributes: operations:

封裝/隱藏 (Encapsulation/Hiding) 該物件封裝處理資料所需的資料和邏輯程序 以實現”資訊隱藏” method # 1 data # 2 # 4 # 5 # 6

資訊隱藏 (Information Hiding) 模組 • 演算法 (algorithm) 控制 界面 • 資料結構 (data structure) • 外部介面的細節 (details of external interface) • 資源分配策略 (resource allocation policy) 客戶端 "secret" 特殊設計決定

為何要資訊隱藏 ? 降低副作用(side effects)的可能性 限制局部設計決定(local design decision)對全域性的衝擊(global impact) 透過控制介面(controlled interface)強調溝通(communication) 不鼓勵使用全域資料(global data) 導入封裝(leads to encapsulation),一個高品質設計的屬性(attribute) 可產生更高品質的軟體(higher quality software)

類別階層 (Class Hierarchy) chair table desk "chable" instances of chair furniture (superclass) subclasses of the furniture superclass

方法—運算,服務 (Methods—Operations, Services) 可執行程序(executable procedure)被封裝在類別(class)裡,是被用來作用(operate)在被定義在類別裡的部分資料屬性(one or more data attributes) 方法(method)是透過訊息傳送(message passing)而啟動(invoked)

信息 (Messages)

物件模型 (Object Models) 物件模型是以物件類別(object class)來描述系統 物件類別是一個架構於具共通屬性(common attributes)及由每個物件所提供之服務(操作)(services (operations))之物件集合的抽象理念(abstraction) 可用以生產不同的物件模型 繼承模型(inheritance models) 集成模型(aggregation models) 交互作用模型 (interaction models)

系統以自然的方式(natural ways)反應系統如何操控(manipulate)現實世界的實體(real-world entities) 物件模型較難塑模(model)較抽象的實體 物件類別的識別(object class identification)被認為是一個困難的行程(difficult process),因它需要對應用領域(application domain)有深入的理解 物件類別反映出領域實體(domain entities)在跨系統時的重複使用性(reusable across systems)

繼承模型 (Inheritance Models) 將領域物件類別(domain object classes)組織成階層式架構(hierarchy) 位於階層頂端(top)的類別可反映所有類別的共同特色(common features) 物件類別由一個或多個super-classes繼承他們的屬性和服務 物件類別可根據需要客製化(specialized)屬性和服務

統一塑模語言 (Unified Modelling Language) 由被廣泛使用之物件導向分析及設計方法的 開發者所提出 已成為物件導向塑模(object-oriented modelling)的一個有效標準(effective standard)

表示法(notation) 物件類別表示為在頂端有名字(name)的長方形(rectangles),屬性(attributes)位於中間,而操作(operation)在底部 在物件類別之間的關係(relationships)(或稱為關連(association))以連結物件的線段(lines)來表示 繼承(inheritance)常被視為一般化(generalisation),在階層中表示upwards (非downwards)的關係

圖書館類別階層 Library class hierarchy

使用者類別階層 User class hierarchy

多重繼承 (Multiple Inheritance) 相較於由單一父類別(single parent class)繼承屬性與服務,支援多繼承(multiple inheritance)系統則允許物件類別繼承多個super-classes 可能造成在不同super-classes中,屬性與服務的名字(name)相同,但語意卻不同的衝突(semantic conflicts) 使得類別階層重組更為複雜(hierarchy reorganisation more complex)

多重繼承 (Multiple Inheritance)

物件集成 (Object Aggregation) 集成模型(aggregation model)表示集合(collection)而成的類別(class)如何由其它類別組合而成(compose) 類似於在語意資料模型(semantic data models)中的部分關係(part-of relationship)

物件集合 (Object Aggregation)

物件行為塑模 (Object Behaviour Modelling) 行為模型(behavioural model)表示物件間的相互作用(interactions),此可用以產生特定系統行為的使用事例(use-case) 在UML中的序列圖(sequence diagrams )(或合作圖(collaboration diagrams)可用來塑模(model)物件間的相互作用(interaction)

電子版出版品 (Issue of Electronic Items)

上圖顯示一個序列圖(sequence diagram) 物件(objects)標示在圖的上方 操作(operations)由有標記的箭頭表示 操作順序(sequence of operations)從上到下

腳本(scenario) 圖書館使用者先擷取目錄(accesses the catalogue),查看該項目是否有電子版本,若是,則要求該項目的電子版本 基於版權問題,這必須被授權, 因此需要一個該項目和該使用者間許可(license)的系統交易(transition) 之後,該出版項目會先被傳送到網路伺服器物件(network server object)進行壓縮(compression),最後才寄給該使用者

CASE工作平台 (CASE Workbenches) 由一些緊密相關的工具(coherent set of tools)結合而成,用以支援相關的軟體行程活動,如分析、設計或測試 分析和設計工作平台(analysis and design workbenches)支援系統在需求工程和系統設計期間的塑模(modeling) 這些工作平台可支援某種特定的設計方法(a specific design method)或可支援以建立幾種不同類型的系統模型

分析及設計工作平台 (An Analysis and Design Workbench)

分析工作平台元件 (Analysis Workbench Components) 圖形編輯器(diagram editors) 建立資料流圖(data-flow diagrams),物件階層(object hierarchies),實體關聯圖(entity-relationship diagrams)等 模型分析及查核工具(model analysis and checking tools) 處理設計並回報告有關錯誤(errors)和異常(anomalies)的情況 儲存庫(repository)及相關的查詢語言(associated query language) 允許設計者(designer)在儲存庫中尋找設計(design)及相關的設計資訊

資料字典(data dictionary) 維護關於在系統設計中使用到之實體(entity)的資訊 報告定義及產生工具(report definition and generation tools) 從中央儲存庫(central store)取得資訊並自動產生系統文件(documentation) 格式定義工具(forms definition tools) 允許制定螢幕(screen)和文件(document)的格式(formats)

輸入/輸出工具(import/export facilities) 允許中央儲存庫(central repository)與其它開發工具(development tools)交換資訊 程式碼產生工具(code generation tools) 從中央儲存庫內的設計(design)自動產生程式碼或程式骨幹架構(code skeletons)

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