You are on page 1of 18
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.",,.) Software Modeling: “The practice of creating and analyzing software models.” ne again] Andrew Sutton Kent State University 4 Software Modeling Andrew Sutton Department of Computer Science Kent State University Andrew Sutton Kent State University 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 Andrew Sutton Kent State University 1 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 Mode?” wy dictionary com| Andrew Sutton Kent State University 3 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 Andrew Sutton Kent State University 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" century? Probably came from the business world Used to visually model processes, business logic Andrew Sutton Kent State University 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 Andrew Sutton Kent State University Overview What is software modeling? Why do we model software? Modeling past and present Modeling in the future Modeling Tools Andrew Sutton Kent State University 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 Andrew Sutton Kent State University 13 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 Andrew Sutton Kent State University 14 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 Andrew Sutton Kent State University 16 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. Andrew Sutton Kent State University 18 Modeling State and Sequence Statecharts: mid 20" 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 Andrew Sutton Kent State University OMG Members Borland DaimlerChrysler Gentelware Computer Associates DARPA EDS Bank of America Hewlitt Packard France Telecom R&D Sun Microsystems ie Transportation oe loneywell Fujitsu GlaxoSmithKline Raytheon Oracle Lockheed Martin Sandia National Laboratories W3c NATO Boeing Arizona State University GNOME Ohio University Motorola Johns Hopkins University NEC Syracuse University Nokia Kings College London Andrew Sutton Kent State University 17 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) Andrew Sutton Kent State University 10 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) Andrew Sutton Kent State University 12 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. Andrew Sutton Kent State University 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 Andrew Sutton Kent State University

You might also like