1 / 29

CS 425/625 Software Engineering System Models

Learn about different system models including behavioral, data, object, and contextual models as outlined in Chapter 7 of Ian Sommerville's "Software Engineering" textbook. Understand various perspectives for system modeling and types of models used in software engineering.

Download Presentation

CS 425/625 Software Engineering System Models

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. CS 425/625 Software EngineeringSystem Models Based on Chapter 7 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6th Ed., Addison-Wesley, 2000 and on Ch7 PowerPoint presentation available at the book’s web-site: www.comp.lancs.ac.uk/computing/resources/IanS/SE6/Slides/index.html September 29, 2003

  2. Outline • System Models • Contextual Models • Behavioral Models • Data Models • Object Models

  3. Introduction. • System models are used to specify the system to be built in a more detailed way • Typically, system models are graphical descriptions of the system, its services and its constraints • Various perspectives for system modeling: • Context • Behavior • Structure

  4. .Introduction • The production of system models is usually guided by methods, e.g., SSA (Structured Systems Analysis), SADT (Structured Analysis and Design Technique), OMT (Object Modeling Technique), etc. • In practice, various models, not bound to methods, could be combined to describe the system and its requirements • Main types of system models: • Data Processing Models • Composition Models • Architectural Models • Classification Models • Stimulus-Response Models

  5. Context Models… • Contextual modelsshow the system and its environment • Ideally, the boundaries between the system and its environment are identified clearly • Dependencies between the computer-based system and systems from the environment are highlighted

  6. .Context Models.. • Various models can be used for context modeling: • Very simple, high level architectural models show the system and its connections with environmental components • High level process models indicate main process activities • High-level data-flow diagrams depict data transformations and data transfers

  7. ..Context Models. • Example of architectural model for system context specification: an ATM system and its environment [Fig. 7.1, Somm00]

  8. …Context Models • Example of process model for system context specification: an equipment procurement system [Fig. 7.2, Somm00]

  9. Behavioral Models……. • Behavioral models specify the overall behavior of the system: • Data-flow models (or data-flow diagrams, DFD) are suitable for data-driven systems • State machine models (or stimulus-response models) are appropriate for event-driven systems

  10. .Behavioral Models…... • Data-flow models show the system in terms of: • Data stores [graphical representation: rectangles] • Data transformations (data processing operations) [graphical representation: rounded rectangles] • Data movements (data transfers) [graphical representation: directed lines]

  11. ..Behavioral Models….. • State machine models describe system behavior using two main modeling elements: • States [represented using rounded rectangles] • Transitions [shown as directed links between states]

  12. …Behavioral Models.... • A DFD example: an order processing system [Fig. 7.3, Somm00]

  13. ….Behavioral Models… • State machine diagrams depict the behavior of the system in terms of responses to events • Real-time systems are essentially event-driven systems • The system is assumed to be in one of its possible states at any given moment of time. A transition to another state is triggered by the occurrence of an event • David Harel’s statechartsare included in the UML (Unified Modeling Language); DFDs are not part of UML

  14. …..Behavioral Models.. • Example of state machine diagram: A microwave oven controller [Fig. 7.5, Somm00]

  15. …...Behavioral Models. • The statecharts notation used in UML allows: • Specification of composite states (states that have sub-states), thus supporting model decomposition • Description of actions performed while in a state: • Entry actions • State actions (activities) • Exit actions • Description of transitions: • Events that trigger the transition • Conditions under which transitions occur • Actions on transitions, if any

  16. …....Behavioral Models • Example of composite state: microwave oven [Fig. 7.7, Somm00]

  17. Semantic Data Models… • Data models describe the logical structure of data processed by the system • The Entity-Relationship-Attribute model, ERA (also known as Entity-Relationship model, ER) shows: • Entities in the system • Relationships between entities • Attributes of entities and relationships • Cardinality constraints (e.g., “one” or “many”)

  18. .Semantic Data Models.. • Data dictionaries are repositories of information pertaining to the elements of the system models. They are useful to manage the namespace of the system models as well as to supply a cross-reference tool for analysis, design, implementation, and evolution.

  19. ..Semantic Data Models. • An ERA example: a software design description [Fig. 7.8, Somm00]

  20. …Semantic Data Models • Data dictionary: examples of data entries [Fig. 7.9, Somm00]

  21. Object Models…….. • Objected-oriented modeling is centered around the concepts of objectand class • An objectis an entity described in terms of attributes (data) and operations (functionality) • A class is a template for objects that have similar features (attributes and operations). • More exactly, the objects that belong to the same class have the same structure and behavior, e.g., davidsAlarmClock is an object (instantiation) of the class AlarmClock

  22. .Object Models……. • The distinguishing principles of object-oriented (OO) technology are: • Encapsulation • Inheritance • Polymorphism

  23. ..Object Models…… • Objects provide more natural ways to model real-life entities • Both structure (class diagrams) and behavior (e.g., interaction diagrams and state diagrams) can be described • A class diagram shows: • Classes • Relationships between classes • Constraints • Annotations

  24. …Object Models….. • The value of OO comes from: • Greater modeling power • Increased reusability and extensibility • Improved control of complexity

  25. ….Object Models…. • Example of class hierarchy: a library system [Fig. 7.10, Somm00]

  26. …..Object Models… • Another example of class hierarchy: Library users [Fig. 7.11, Somm00]

  27. ……Object Models.. • Example of multiple inheritance [Fig. 7.12, Somm00]

  28. …….Object Models. • Example of class structure with aggregation [Fig. 7.13, Somm00]

  29. ……..Object Models • Example of sequence diagram [Fig. 7.14, Somm00]

More Related