Chapter 6 Chapter 6 System Models Learning Objective Abstract presentations of systems whose requirements are being analyzed Frederick T Sheldon Assistant Professor of Computer Science Washington State University CS 422 Software Engineering Principles Chapter 6 Slide 1 From Software Engineering by I. Sommerville, 1996. Objectives N To explain the role of system models in the requirements analysis process N To show how different models can present complementary system information N To describe different types of system model N To introduce the notion of a data dictionary as a supplement to system models CS 422 Software Engineering Principles Chapter 6 Slide 2 From Software Engineering by I. Sommerville, 1996. Topics covered N Data-flow models N Semantic data models N Object models N Data dictionaries CS 422 Software Engineering Principles Chapter 6 Slide 3 From Software Engineering by I. Sommerville, 1996.
System modeling N System modeling helps the analyst to understand the functionality of the system and models are used to communicate with customers N Models are abstract - they always leave out some system information N Method-based analysis relies heavily on system modeling. Methods usually prescribe the models to be developed CS 422 Software Engineering Principles Chapter 6 Slide 4 From Software Engineering by I. Sommerville, 1996. Different types of system model N There are several complementary types of system model • Data-processing model • Composition model • Classification model • Stimulus-response model • Process model N This chapter covers data-flow models (data processing), semantic data models (composition) and object models (classification and aggregation) CS 422 Software Engineering Principles Chapter 6 Slide 5 From Software Engineering by I. Sommerville, 1996. Data-flow models N Show the processing steps as data flows through a system N Intrinsic part of many analysis methods N Simple and intuitive notation that customers can understand N Show end-to-end processing of data CS 422 Software Engineering Principles Chapter 6 Slide 6 From Software Engineering by I. Sommerville, 1996.
Order processing DFD Checked and Completed Signed Signed Send to signed order order form order form order form supplier + order Order notification details + Complete Validate Record blank order form order order order form Adjust available Order Signed budget details order form Order amount + account details Orders Budget file file CS 422 Software Engineering Principles Chapter 6 Slide 7 From Software Engineering by I. Sommerville, 1996. Data-flow diagrams N may be used to show processing at different levels of abstraction from fairly abstract to fairly detailed N May also be used for architectural description showing data interchange between the sub-systems making up the system N Not a good way to describe system interfaces CS 422 Software Engineering Principles Chapter 6 Slide 8 From Software Engineering by I. Sommerville, 1996. Equipment procurement DFD Delivery note Equipment Checked Delivery spec. spec. note Specify Accept Check Validate Get cost equipment delivery of delivered specification estimates required equipment items Spec. + Supplier supplier + Order Installation Equipment list estimate notification instructions spec. Place Supplier Find Choose Install equipment database suppliers supplier equipment order Order details + Installation Blank order acceptance form Accept Checked and delivered signed order form equipment Equipment details Equipment CS 422 Software Engineering Principles database Chapter 6 Slide 9 From Software Engineering by I. Sommerville, 1996.
CASE toolset DFD Input Valid Checked Design User design design design analysis report Design Design Design Report editor cross checker analyser generator and Referenced Checked designs design Output code Design Code skeleton Design database generator database CS 422 Software Engineering Principles Chapter 6 Slide 10 From Software Engineering by I. Sommerville, 1996. Semantic data models N Used to describe the logical structure of data processed by the system N Entity-relation model sets out the entities in the system, the relationships between these entities and the entity attributes N Widely used in database design. Can readily be implemented using relational databases CS 422 Software Engineering Principles Chapter 6 Slide 11 From Software Engineering by I. Sommerville, 1996. Notation for semantic data models < name > < name > An entity An entity or relation attribute < input cardinality > < name > < output cardinality > A relation between entities. An inheritance relation. The number of input entity instances An entity inherits the attributes of its is the input cardinality. The number related entity. The sub-type is referenced of output instances is the output by the arrow. cardinality. CS 422 Software Engineering Principles Chapter 6 Slide 12 From Software Engineering by I. Sommerville, 1996.
Software design semantic model Owner M-date Design Desc. C-date 1 1 1 has has has nodes links links N N N name Node Link name links 2 1 1 1 type type has has name type labels labels 1 N N Label is_a 1 Text Design text Icon bitmap label CS 422 Software Engineering Principles Chapter 6 Slide 13 From Software Engineering by I. Sommerville, 1996. Object models N Object models describe the system in terms of object classes N An object class is an abstraction over a set of objects with common attributes and the services (operations) provided by each object N Various object models may be produced • Inheritance models • Aggregation models • Service models CS 422 Software Engineering Principles Chapter 6 Slide 14 From Software Engineering by I. Sommerville, 1996. Object models N Natural ways of reflecting the real-world entities manipulated by the system N More abstract entities are more difficult to model using this approach N Object class identification is recognized as a difficult process requiring a deep understanding of the application domain N Object classes reflecting domain entities are reusable across systems CS 422 Software Engineering Principles Chapter 6 Slide 15 From Software Engineering by I. Sommerville, 1996.
Object class notation < class name > < attributes > < services > CS 422 Software Engineering Principles Chapter 6 Slide 16 From Software Engineering by I. Sommerville, 1996. Inheritance models N Organize the domain object classes into a hierarchy N Classes at the top of the hierarchy reflect the common features of all classes N Object classes inherit their attributes and services from one or more super-classes. these may then be specialized as necessary N Class hierarchy design is a difficult process if duplication in different branches is to be avoided CS 422 Software Engineering Principles Chapter 6 Slide 17 From Software Engineering by I. Sommerville, 1996. Library class hierarchy Library Item Catalog number Acquisition date Cost Type Status Number of copies Acquire Catalog Dispose Issue Return Publisher Item Recorded Item Title Title Publisher Medium Book Magazine Film Computer Program Author Year Director Version Edition Issue Date of Release Platform Publication date Distributor ISBN CS 422 Software Engineering Principles Chapter 6 Slide 18 From Software Engineering by I. Sommerville, 1996.
User class hierarchy Library user Name Address Phone Registration # Register De-register Reader Borrower Affiliation Items on loan Max. loans Staff Student Department Major subject Department phone Home address CS 422 Software Engineering Principles Chapter 6 Slide 19 From Software Engineering by I. Sommerville, 1996. Multiple inheritance N Rather than inheriting the attributes and services from a single parent class, a system which supports multiple inheritance allows object classes to inherit from several super-classes N Can lead to semantic conflicts where attributes/services with the same name in different super-classes have different semantics N Makes class hierarchy reorganization more complex CS 422 Software Engineering Principles Chapter 6 Slide 20 From Software Engineering by I. Sommerville, 1996. Multiple inheritance Book Voice recording Author Speaker Edition Duration Publication date Recording date ISBN Talking book # Tapes CS 422 Software Engineering Principles Chapter 6 Slide 21 From Software Engineering by I. Sommerville, 1996.
Object aggregation N Aggregation model shows how classes which are collections are composed of other classes N Similar to the part-of relationship in semantic data models CS 422 Software Engineering Principles Chapter 6 Slide 22 From Software Engineering by I. Sommerville, 1996. Object aggregation Course Title Number Year Instructor Lecture Assignment OHP slides Videotape notes Credits Slides Text Tape ids. Problems Solutions #Problems Text #Text CS 422 Software Engineering Principles Chapter 6 Slide 23 From Software Engineering by I. Sommerville, 1996. Service-usage models N These models show how services provided by one object are used by other objects N Must be used sparingly as, obviously, some objects provide common services which are used by many other objects in the system CS 422 Software Engineering Principles Chapter 6 Slide 24 From Software Engineering by I. Sommerville, 1996.
Recommend
More recommend