1 / 18

Software Modeling

Andrew Sutton <SDML> Department of Computer Science Kent State University. Software Modeling. Overview. What is software modeling? Why do we model software? Modeling past and present Modeling in the future Modeling Tools. Definition of Model.

marnin
Télécharger la présentation

Software Modeling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Andrew Sutton <SDML> Department of Computer Science Kent State University Software Modeling Kent State University

  2. Overview What is software modeling? Why do we model software? Modeling past and present Modeling in the future Modeling Tools Kent State University

  3. Definition of Model “A schematic description of a system, theory, or phenomenon that accounts for its known or inferred properties and may be used for further study of its characteristics: a model of generative grammar; a model of an atom; an economic model”[www.dictionary.com] Kent State University

  4. Definition of Software Model Software Model: “A description (textual or visual) of any aspect of a software system such as requirements, architecture, behavior, deployment: the development process model, a requirements model, concurrency model.”[me] Software Modeling: “The practice of creating and analyzing software models.”[me again] Kent State University

  5. Examples of Software Models Development methodologies are models of how people collaborate to produce software. A system design is a model of the structure of classes or modules in a system's implementation. A flow chart visually models an algorithm's logic. Pseudo code textually models an algorithm's logic. Kent State University

  6. Why Do We Model Software? Several camps in modeling: Those who use models to communicate about software Those who use models to validate software Those who use models to generate software Kent State University

  7. A History of Software Modeling Pseudo-code: The orginal software model Has origins in mathematics Used to informally describe the behavior of algorithms using code-like constructs Flowcharts: mid 20th century? Probably came from the business world Used to visually model processes, business logic Kent State University

  8. Modeling State and Sequence Statecharts: mid 20th century? Specification & Description Language (SDL): 1976 Describes state machines, events and constraints Used by telecom industry to validate WAN protocol stacks Has both textual description language and visual representations Kent State University

  9. Modeling State and Sequence Message Sequence Charts (MCS): mid 80's Describes sequence of state changes and communications between objects/modules State machines don't show time ordering Extended MCS (EMCS) combines SDL, MCS for more accurate sequence modeling Kent State University

  10. Data Modeling Various data models: late 60's to early 80's Network model, file system model, hierarchy model Entity-Relation Model: Chen, 1976 Formal definition of entities and relations Supercedes previous data models Entity-relation diagrams (ERD) Kent State University

  11. Object-Oriented Modeling OO Modeling (in general): starts in late 70's Typically associated with engineering methodologies Descriptive (not formal) visual representations of classes in a software system During the 80's number of OO modeling languages or techniques jumps from ~10 to ~50 Modeling Language Set of elements used to pictorally represent ideas Kent State University

  12. Object Oriented Modeling Three personalities Grady Booch, Ivar Jacobson, James Rumbaugh Introduce engineering methodology with software modeling OMT: Rumbaugh 1991 Provides notation for static and dynamic software modeling (classes and behaviors) Kent State University

  13. Object Oriented Modeling OOSE: Jacobson 1992 Describes visual notation for use cases (requirements modeling) OOSE is a “use case driven approach” to engineering The Booch Method: Booch 1993 Combines different models for logical, physical, static and dynamic aspects of a system Kent State University

  14. The Origins of UML 1994 – Booch, Rumbaugh join Rational, anounce merging of methodologies at OOPSLA 1995 – Booch, Rumbaugh publish the Unified Method at OOPSLA, Jabson joins Rational 1996 – The “three amigos” rename the Unified Method to the Unified Modeling Language Kent State University

  15. The Standardization of UML 1997 – Rational proposes UML as a standard notation to the Object Management Group, UML 1.1 adopted 2003 – OMG publishes UML 1.5, most recent “stable” version of UML 2004 – OMG publishes UML 2.0, the newest version of the standard Kent State University

  16. Who Is the OMG? Object Management Group Consortium of corporations collaborting on industry (not ISO) standards. Responsible for CORBA Who is involved? See next slide Kent State University

  17. Gentelware DARPA Bank of America France Telecom R&D GE Transportation Honeywell GlaxoSmithKline Oracle Sandia National Laboratories NATO Arizona State University Ohio University Johns Hopkins University Syracuse University Kings College London OMG Members Borland DaimlerChrysler Computer Associates EDS Hewlitt Packard Sun Microsystems Fujitsu Raytheon Lockheed Martin W3C Boeing GNOME Motorola NEC Nokia Kent State University

  18. Modeling Now and Later Model Driven Architecture (MDA) Generate software through models (code generation, generative programming) Metamodeling Define or extend modeling languages for different purposes Model transformations, mappings, etc. Kent State University

More Related