fbpx
维基百科

杰克逊系统开发

杰克逊系统开发Jackson system development)簡稱JSD,是一種線性的程序设计方法学,由邁克爾·安東尼·傑克遜英语Michael A. Jackson及約翰·卡梅倫(John Cameron)在1980年代提出。可視為是杰克逊结构化编程(JSP)的延伸。

杰克逊系统开发包括從設計需求到程式碼的完整軟體開發流程,並且著重在即時系統的應用[1]。也適用於資料處理系統的開發[2]。但此方法不易處理偶然及隨機性的事件,為其缺點[3]

歷史 编辑

杰克逊系统开发最早是由傑克遜在1982年在其發表的論文《系統開發方法》(A System Development Method)[4]及1983年的《系統開發》(A System Development)[5]中提出。

後來杰克逊系统开发繼續發展,也加了一些新的特徵,在約翰·卡梅倫1989年的論文選集《JSP and JSD》[6]及1992年版的LBMS JSD手冊[7]中都有說明。杰克逊系统开发的發展約在1990年初期告一段落,傑克遜後來轉向问题框架方法英语Problem Frames Approach的研究。

基本原則 编辑

杰克逊系统开发有以下三個基本的原則:

  • 在開發初期需要對現實世界的描述及建模,而不是針對系統需要的機能訂定規格或進行結構化。利用杰克逊系统开发產生的系統在尚未處理系統相關機能前,會先模擬現實世界的情形。
  • 一個有時序真實世界的良好模型應該也是有時間順序的,其主要目的是將真實世界的演變對映模擬現實世界系統的演變。
  • 實現系統的方式是基於從規格到一組有效率程序的轉換,程序需可以用軟體及硬體執行。

杰克逊系统开发的步驟 编辑

當杰克逊在1982年提出杰克逊系统开发時[4],此開發方式包括六個步驟

  1. 實體/動作
  2. 基本建模
  3. 互動機能
  4. 資料機能
  5. 系統時序
  6. 系統實現

後來將步驟再加以修改,變成三個階段[3][8]

  1. 建模階段(分析):包括實體/動作及實體結構二個步驟。
  2. 網路階段(設計):包括基本建模、機能及系統時序三個步驟。
  3. 實現階段(實現):只有實現一個步驟。

建模階段 编辑

在建模階段會建立實體結構圖(entity structure diagram),並識別系統中的實體、其動作、實體在其生命週期中的動作時序,和實體和其動作的屬性 。實體結構圖會使用傑克遜結構化編程中的「結構圖」來表示,實體結構圖的目的是建立系統及組織架構的完整描述,設計者需決定在系統中哪些部份重要,哪些部份不重要,此階段強調設計者和使用者的溝通。

網路階段 编辑

在網路階段會建立整個系統的模型,稱為「系統規格圖」(system specification diagram)或網路圖(network diagram),網路圖是呈現程序(以長方形表示)和彼此傳遞資料的方式,資料傳遞可能會用「狀態向量」(以有菱形的連線表示)或者是用「資料流」(以有圓形的連線表示)表示。此階段定義系統的機能.每一個實體都會成為網路圖中的一個程序或程式。外部程式之後會加入網路圖中,其目的是處理輸入、計算輸出並更新實體處理的資料,因此網路圖描述了整個系統,也描述各程序及各程式之間的資料和連接方式。

基本建模步驟處理現實世界的建模,而機能步驟中會加入產生輸出所需要的程序,系統時序步驟處理程序中的同步、並導入限制條件。

實現階段 编辑

實現階段中抽象的網路模型會轉換為實際的系統,以「系統實現圖」(system implementation diagram)表示,系統實現圖中的系統會呼叫各機能的模組,以實現對應的機能。資料流會以模組之間的呼叫來表示,資料庫的符號表示實體狀態向量的集合,也有特殊符號表示檔案的緩衝區(必需以規劃在不同的時段執行的程序來實現)。

實現階段的主要考量是系統的最佳化,藉由轉換的方式,可以合併程序,減少實際程序的數量。

相關的圖示 编辑

實體結構圖

實體結構圖表示系統中各實體之間的關係及其動作,包括以下的內容:

  • 實體:實體是系統中的一個物件。
  • 動作:此是指實體進行的動作及那些會影響其他實體的動作。
  • 序列結構:此處的定義和杰克逊结构化编程的定義相同,利用序列結構來表示許多循序執行的動作,由左到右依序執行。
  • 選擇結構:表示需由二個或二個以上的動作中選擇一個進行,選擇結構方塊的右上角會標示圓圈。
  • 迭代結構:表示重複執行一個動作,選擇結構方塊的右上角會標示星號,一般迭代結構中只進行一個動作。
  • 虛無元件:虛無元件表示像類似選擇結構中,某些情形下不需進行任何動作。
網路圖

網路圖(Network Diagram)表示各程序之間的交互關係,有些會稱為系統規格圖(System Specification Diagram),網路圖包括以下的內容:

  • 程序:程序表示系統的機能,一般程序會和外界的實體藉由資料流連結建立關係。
  • 資料流連結(datastream connection):在資料流連結中,程序A(產生資料流的程序)程序主動送出資料給程序B。
  • 狀態向量連結(state vector cnspection):在狀態向量連結中,程序B(讀取狀態向量的程序)程序讀取程序A產生的狀態向量資訊。

資料流連結和狀態向量連結的差異在於主動的程序不同:在資料流連結中,產生資料流的程序A是主動程序,程序A依其選定的時間主動將資料傳送給程序B;在狀態向量連結中,產生狀態向量的程序A是被動程序,接收狀態向量的程序B定期去讀取程序A的狀態向量。簡單來說,資料流連結是訊息傳遞的抽象化,狀態向量是輪詢(由一個程序主動定期讀取其他許多程序的資料)的抽象化,狀態向量也是資料庫查詢的抽象化。

相關條目 编辑

  • 杰克逊结构化编程
  • 邁克爾·安東尼·傑克遜英语Michael A. Jackson
  • 问题框架方法英语Problem Frames Approach

參考資料 编辑

  1. ^ IEC 61508-7:1997 Functional safety of electrical/electronic/ programmable electronic safety-related systems Part 7 Overview of techniques and measures p59
  2. ^ 陳平; 禇華. 软件设计师教程. 北京: 清华大学出版社有限公司. 2006: 169 [2012-05-25]. ISBN 7302129576. (原始内容于2019-12-07). 
  3. ^ 3.0 3.1 Decision systems Inc. (2002), Jackson System Development (页面存档备份,存于互联网档案馆). Accessed 24 Nov 2008.
  4. ^ 4.0 4.1 "A System development method 互联网档案馆的,存档日期2012-02-06." by M. A. Jackson, published in Tools and notions for program construction: An advanced course, Cambridge University Press, 1982
  5. ^ System Development, M. A. Jackson, Prentice Hall, 1983
  6. ^ JSP and JSD: The Jackson Approach to Software Development, ed. John R. Cameron (IEEE Computer Society Press, ISBN 0-8186-8858-0, 1989)
  7. ^ LBMS Jackson system development, Version 2.0 Method manual by LBMS (Learmonth, Burchett Management Systems), John Wiley & Sons, ISBN 0-471-93565-4; 1992
  8. ^ 宋柱梅; 赵振宇,李庆亮. 基于模型的软件开发方法研究 (PDF). 深圳信息职业技术学院学报. 2009年12月, 7 (4): 10–13 [2012-05-25].  [永久失效連結]

延伸閱讀 编辑

  • John R. Cameron (1989).The Jackson Approach to Software Development, IEEE Computer Society Press, Silver Spring.
  • Jackson Software Development Methods (页面存档备份,存于互联网档案馆) web page
  • Michael A. Jackson (1982).
  • Michael A. Jackson (1983). System development, Prentice Hall, Englewood Cliffs, New Jersey, 1983. (In het Nederlands gepubliceerd in 1989 bij Academec Service onder de titel: Systeemontwikkeling volgens JSD.)
  • SmartDraw (2005). How to draw Jackson System Development (JSD) Diagrams) (页面存档备份,存于互联网档案馆

外部連結 编辑

杰克逊系统开发, jackson, system, development, 簡稱jsd, 是一種線性的程序设计方法学, 由邁克爾, 安東尼, 傑克遜, 英语, michael, jackson, 及約翰, 卡梅倫, john, cameron, 在1980年代提出, 可視為是杰克逊结构化编程, 的延伸, 包括從設計需求到程式碼的完整軟體開發流程, 並且著重在即時系統的應用, 也適用於資料處理系統的開發, 但此方法不易處理偶然及隨機性的事件, 為其缺點, 目录, 歷史, 基本原則, 的步驟, 建模階段, 網路階段,. 杰克逊系统开发 Jackson system development 簡稱JSD 是一種線性的程序设计方法学 由邁克爾 安東尼 傑克遜 英语 Michael A Jackson 及約翰 卡梅倫 John Cameron 在1980年代提出 可視為是杰克逊结构化编程 JSP 的延伸 杰克逊系统开发包括從設計需求到程式碼的完整軟體開發流程 並且著重在即時系統的應用 1 也適用於資料處理系統的開發 2 但此方法不易處理偶然及隨機性的事件 為其缺點 3 目录 1 歷史 2 基本原則 3 杰克逊系统开发的步驟 3 1 建模階段 3 2 網路階段 3 3 實現階段 3 4 相關的圖示 4 相關條目 5 參考資料 6 延伸閱讀 7 外部連結歷史 编辑杰克逊系统开发最早是由傑克遜在1982年在其發表的論文 系統開發方法 A System Development Method 4 及1983年的 系統開發 A System Development 5 中提出 後來杰克逊系统开发繼續發展 也加了一些新的特徵 在約翰 卡梅倫1989年的論文選集 JSP and JSD 6 及1992年版的LBMS JSD手冊 7 中都有說明 杰克逊系统开发的發展約在1990年初期告一段落 傑克遜後來轉向问题框架方法 英语 Problem Frames Approach 的研究 基本原則 编辑杰克逊系统开发有以下三個基本的原則 在開發初期需要對現實世界的描述及建模 而不是針對系統需要的機能訂定規格或進行結構化 利用杰克逊系统开发產生的系統在尚未處理系統相關機能前 會先模擬現實世界的情形 一個有時序真實世界的良好模型應該也是有時間順序的 其主要目的是將真實世界的演變對映模擬現實世界系統的演變 實現系統的方式是基於從規格到一組有效率程序的轉換 程序需可以用軟體及硬體執行 杰克逊系统开发的步驟 编辑當杰克逊在1982年提出杰克逊系统开发時 4 此開發方式包括六個步驟 實體 動作 基本建模 互動機能 資料機能 系統時序 系統實現後來將步驟再加以修改 變成三個階段 3 8 建模階段 分析 包括實體 動作及實體結構二個步驟 網路階段 設計 包括基本建模 機能及系統時序三個步驟 實現階段 實現 只有實現一個步驟 建模階段 编辑 在建模階段會建立實體結構圖 entity structure diagram 並識別系統中的實體 其動作 實體在其生命週期中的動作時序 和實體和其動作的屬性 實體結構圖會使用傑克遜結構化編程中的 結構圖 來表示 實體結構圖的目的是建立系統及組織架構的完整描述 設計者需決定在系統中哪些部份重要 哪些部份不重要 此階段強調設計者和使用者的溝通 網路階段 编辑 在網路階段會建立整個系統的模型 稱為 系統規格圖 system specification diagram 或網路圖 network diagram 網路圖是呈現程序 以長方形表示 和彼此傳遞資料的方式 資料傳遞可能會用 狀態向量 以有菱形的連線表示 或者是用 資料流 以有圓形的連線表示 表示 此階段定義系統的機能 每一個實體都會成為網路圖中的一個程序或程式 外部程式之後會加入網路圖中 其目的是處理輸入 計算輸出並更新實體處理的資料 因此網路圖描述了整個系統 也描述各程序及各程式之間的資料和連接方式 基本建模步驟處理現實世界的建模 而機能步驟中會加入產生輸出所需要的程序 系統時序步驟處理程序中的同步 並導入限制條件 實現階段 编辑 實現階段中抽象的網路模型會轉換為實際的系統 以 系統實現圖 system implementation diagram 表示 系統實現圖中的系統會呼叫各機能的模組 以實現對應的機能 資料流會以模組之間的呼叫來表示 資料庫的符號表示實體狀態向量的集合 也有特殊符號表示檔案的緩衝區 必需以規劃在不同的時段執行的程序來實現 實現階段的主要考量是系統的最佳化 藉由轉換的方式 可以合併程序 減少實際程序的數量 相關的圖示 编辑 實體結構圖實體結構圖表示系統中各實體之間的關係及其動作 包括以下的內容 實體 實體是系統中的一個物件 動作 此是指實體進行的動作及那些會影響其他實體的動作 序列結構 此處的定義和杰克逊结构化编程的定義相同 利用序列結構來表示許多循序執行的動作 由左到右依序執行 選擇結構 表示需由二個或二個以上的動作中選擇一個進行 選擇結構方塊的右上角會標示圓圈 迭代結構 表示重複執行一個動作 選擇結構方塊的右上角會標示星號 一般迭代結構中只進行一個動作 虛無元件 虛無元件表示像類似選擇結構中 某些情形下不需進行任何動作 網路圖網路圖 Network Diagram 表示各程序之間的交互關係 有些會稱為系統規格圖 System Specification Diagram 網路圖包括以下的內容 程序 程序表示系統的機能 一般程序會和外界的實體藉由資料流連結建立關係 資料流連結 datastream connection 在資料流連結中 程序A 產生資料流的程序 程序主動送出資料給程序B 狀態向量連結 state vector cnspection 在狀態向量連結中 程序B 讀取狀態向量的程序 程序讀取程序A產生的狀態向量資訊 資料流連結和狀態向量連結的差異在於主動的程序不同 在資料流連結中 產生資料流的程序A是主動程序 程序A依其選定的時間主動將資料傳送給程序B 在狀態向量連結中 產生狀態向量的程序A是被動程序 接收狀態向量的程序B定期去讀取程序A的狀態向量 簡單來說 資料流連結是訊息傳遞的抽象化 狀態向量是輪詢 由一個程序主動定期讀取其他許多程序的資料 的抽象化 狀態向量也是資料庫查詢的抽象化 相關條目 编辑杰克逊结构化编程 邁克爾 安東尼 傑克遜 英语 Michael A Jackson 问题框架方法 英语 Problem Frames Approach 參考資料 编辑 IEC 61508 7 1997 Functional safety of electrical electronic programmable electronic safety related systems Part 7 Overview of techniques and measures p59 陳平 禇華 软件设计师教程 北京 清华大学出版社有限公司 2006 169 2012 05 25 ISBN 7302129576 原始内容存档于2019 12 07 引文使用过时参数coauthors 帮助 3 0 3 1 Decision systems Inc 2002 Jackson System Development 页面存档备份 存于互联网档案馆 Accessed 24 Nov 2008 4 0 4 1 A System development method 互联网档案馆的存檔 存档日期2012 02 06 by M A Jackson published in Tools and notions for program construction An advanced course Cambridge University Press 1982 System Development M A Jackson Prentice Hall 1983 JSP and JSD The Jackson Approach to Software Development ed John R Cameron IEEE Computer Society Press ISBN 0 8186 8858 0 1989 LBMS Jackson system development Version 2 0 Method manual by LBMS Learmonth Burchett Management Systems John Wiley amp Sons ISBN 0 471 93565 4 1992 宋柱梅 赵振宇 李庆亮 基于模型的软件开发方法研究 PDF 深圳信息职业技术学院学报 2009年12月 7 4 10 13 2012 05 25 引文使用过时参数coauthors 帮助 永久失效連結 延伸閱讀 编辑John R Cameron 1989 The Jackson Approach to Software Development IEEE Computer Society Press Silver Spring Jackson Software Development Methods 页面存档备份 存于互联网档案馆 web page Michael A Jackson 1982 A systems development method Michael A Jackson 1983 System development Prentice Hall Englewood Cliffs New Jersey 1983 In het Nederlands gepubliceerd in 1989 bij Academec Service onder de titel Systeemontwikkeling volgens JSD SmartDraw 2005 How to draw Jackson System Development JSD Diagrams 页面存档备份 存于互联网档案馆 外部連結 编辑Jackson Development Methods 页面存档备份 存于互联网档案馆 Tutorial on JSD 取自 https zh wikipedia org w index php title 杰克逊系统开发 amp oldid 72290628, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。