使用者工具

網站工具


se2021:modeling

國立屏東大學 資訊工程學系 物件導向軟體工程 (last updated September 6, 2021)

4. 軟體塑模

4.1 軟體塑模(Software Modeling)

  • To develop software is to build a MACHINE, simply by describing.1)
  • A software engineer needs only make a description of the required machine. Describing the required machine is usually not a simple task.
  • A system is “a set or arrangement of elements that are organized to accomplish some predefined goal by processing information.”2)
    • 舉例來說:學生選課系統、銷售系統或是一輛車等等
  • 一個系統(System)可分解成數個子系統(Subsystem)的集合

Fig. 1: 系統與子系統

  • A model is a simplified representation of (part of) a system. It is written in a language with well-defined syntax and semantics, and represents certain specific aspects of a system.
  • A model is a simplification of reality.
  • We build models so that we can better understand the system we are developing.
  • We build models of complex systems because we cannot comprehend such system in its entirely.
  • The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped.
  • Every model may be expressed at difference levels of precision.
  • The best models are connected to reality.
  • No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models.
  • Models are not right or wrong; they are more or less useful. 3)

Fig. 2: 系統與模型

  • 一個特定的系統可以被各式各樣的模型的從不同的觀點呈現,例如:靜態和動態的模型等等

Fig. 3: 系統可以擁有不同的模型

  • Modeling(塑模)就是軟體工程的活動
    • 塑模允許我們去使用某些比現實簡單、可靠或便宜的東西。
    • 塑模允許我們以簡單的方式處理,來避免複雜性和危險。
  • Modeling的構思4)
    • 物件導向設計就是關於塑模
    • 模型中的基本元件應該描述“things” 而非”action”或“processing”。
    • Modeling allows us to use something that is simpler, safer or cheaper than reality instead of reality for some purpose. A model represents reality for the given purpose; the model is an abstraction of reality in the sense that it cannot represent all aspects of reality. This allows us to deal with the world in a simplified manner, avoiding the complexity, danger and irreversibility of reality.5)
    • So, modeling is a means for dealing with the complexity. Complex systems are generally described by more than one model from the various kinds of views. Modeling then means constructing an abstraction of a system that focuses on interesting aspects and ignore irrelevant details.
1)
Michael Jackson, “The World and the Machine”, ICSE, pp. 283-292, 1995.
2)
Webster Dictionary
3)
Martin Fowler, “Analysis Patterns: Reusable Object Models”, Addison-Wesley, ISBN 0-201-89542-0, 1997.
4)
John Daniels, “Models and Abstraction”, Object Expert, Vol.1(3), Mar./Apr. 1998.
5)
Jeff Rothenberg, “The Nature of Modeling”, Artificial Intelligence, Simulation, and Modeling, John Wiley & Sons, New York, pp. 75-92, 1989.
se2021/modeling.txt · 上一次變更: 2021/09/06 20:07 由 junwu

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki