Presentation is loading. Please wait.

Presentation is loading. Please wait.

Andrew SuttonKent State University1 Software Modeling Andrew Sutton Department of Computer Science Kent State University.

Similar presentations


Presentation on theme: "Andrew SuttonKent State University1 Software Modeling Andrew Sutton Department of Computer Science Kent State University."— Presentation transcript:

1 Andrew SuttonKent State University1 Software Modeling Andrew Sutton Department of Computer Science Kent State University

2 Andrew SuttonKent State University2 Overview What is software modeling? Why do we model software? Modeling past and present Modeling in the future Modeling Tools

3 Andrew SuttonKent State University3 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]www.dictionary.com

4 Andrew SuttonKent State University4 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]

5 Andrew SuttonKent State University5 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.

6 Andrew SuttonKent State University6 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

7 Andrew SuttonKent State University7 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 20 th century? Probably came from the business world Used to visually model processes, business logic

8 Andrew SuttonKent State University8 Modeling State and Sequence Statecharts: mid 20 th 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

9 Andrew SuttonKent State University9 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

10 Andrew SuttonKent State University10 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)

11 Andrew SuttonKent State University11 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

12 Andrew SuttonKent State University12 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)

13 Andrew SuttonKent State University13 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

14 Andrew SuttonKent State University14 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

15 Andrew SuttonKent State University15 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

16 Andrew SuttonKent State University16 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

17 Andrew SuttonKent State University17 OMG Members Borland DaimlerChrysler Computer Associates EDS Hewlitt Packard Sun Microsystems Fujitsu Raytheon Lockheed Martin W3C Boeing GNOME Motorola NEC Nokia 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

18 Andrew SuttonKent State University18 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.


Download ppt "Andrew SuttonKent State University1 Software Modeling Andrew Sutton Department of Computer Science Kent State University."

Similar presentations


Ads by Google