Presentation is loading. Please wait.

Presentation is loading. Please wait.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.

Similar presentations


Presentation on theme: "©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008."— Presentation transcript:

1 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008

2 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 2 System modelling l System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers.

3 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 3 System models l Different models present the system from different perspectives External (or Context) perspective Show the system’s context or environment; Behavioural perspective Show the behaviour of the system; Structural perspective Show the system or data architecture.

4 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 4 Model types l Data processing model Shows how data is processed at different stages l Composition model Shows how entities are composed of other entities l Architectural model Shows principal sub-systems

5 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 5 Model types l Classification model Shows how entities have common characteristics l Stimulus/response model Shows the system’s reaction to events.

6 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 6 Context Models

7 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 7 Context models l Context models Illustrate the operational context of a system Show what lies outside system boundaries l Social and organisational concerns may affect the decision on where to position system boundaries. l Ideally, the boundaries between the system and its environment are identified clearly.

8 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 8 Context models l 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

9 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 9 The context of an ATM system

10 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 10 Process models l Process models Show the overall process and the processes that are supported by the system. l Data flow models may be used to show the processes and the flow of information from one process to another.

11 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 11 Equipment procurement process

12 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 12 Behavioral Models

13 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 13 Behavioural models l Behavioural models Describe overall behaviour of a system. l Two types of behavioural model are: Data processing models State machine models

14 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 14 Data-processing models l Data flow diagrams (DFDs) Used to model the system’s data processing. l Show processing steps as data flows through a system. l Part of many analysis methods. l Simple and intuitive notation l Show end-to-end processing of data.

15 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 15 Order processing DFD

16 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 16 Data flow diagrams l Model systems from a functional perspective. l May show data exchange between a system and other systems in its environment.

17 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 17 Insulin pump DFD

18 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 18 State machine models l Model the behaviour of the system in response to external and internal events. l Show the system’s responses to stimuli l Often used for modelling real-time systems. l Show system states as nodes and events as arcs between these nodes. When an event occurs, the system moves from one state to another.

19 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 19 Statecharts l Allow the decomposition of a model into sub- models. l A brief description of the actions is included following the ‘do’ in each state. l Can be complemented by tables describing the states and the stimuli.

20 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 20 Microwave oven model

21 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 21 Microwave oven state description

22 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 22 Microwave oven stimuli

23 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 23 Microwave oven operation

24 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 24 Semantic data models l Describe the logical structure of data processed by the system. l Entity-relation-attribute (ERA) model l Widely used in database design. Can readily be implemented using relational databases.

25 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 25 Library semantic model

26 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 26 Data dictionaries l Lists of all of the names used in the system models. Descriptions of the entities, relationships and attributes are also included. l Advantages Support name management and avoid duplication; Store of organisational knowledge linking analysis, design and implementation; l Many CASE workbenches support data dictionaries.

27 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 27 Data dictionary entries

28 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 28 Object models l Describe the system in terms of object classes and their associations. l An object class is an abstraction over a set of objects with common attributes and the services (operations) provided by each object. l Various object models may be produced Inheritance models; Aggregation models; Interaction models.

29 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 29 Distinguishing Principles of OO l Principles that distinguish object-orientation from function-orientation (imperative programming) Encapsulation Inheritance Polymorphism

30 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 30 Types of Relationships in OO 1. “is a” - inheritance 2. “has a” - encapsulation (aggregation) 3. “association” - anything else

31 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 31 Object models l Natural ways of reflecting the real-world entities manipulated by the system More abstract entities are more difficult to model using this approach l Object class identification is recognised as a difficult process Requires a deep understanding of the application domain l Object classes reflecting domain entities are reusable across systems

32 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 32 Inheritance models l Organise the domain object classes into a hierarchy. l Classes at the top of the hierarchy reflect the common features of all classes. Object classes inherit their attributes and services from one or more super-classes. these may then be specialised as necessary. l Class hierarchy design can be a difficult process if duplication in different branches is to be avoided.

33 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 33 Object models and the UML l The UML is a standard representation devised by the developers of widely used object-oriented analysis and design methods. l It has become an effective standard for object-oriented modelling.

34 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 34 Library class hierarchy

35 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 35 User class hierarchy

36 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 36 Multiple inheritance l 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. l This can lead to semantic conflicts where attributes/services with the same name in different super-classes have different semantics. l Multiple inheritance makes class hierarchy reorganisation more complex.

37 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 37 Multiple inheritance

38 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 38 Object aggregation l An aggregation model shows how classes that are collections are composed of other classes. l Aggregation models are similar to the part-of relationship in semantic data models.

39 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 39 Object aggregation

40 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 40 Object behaviour modelling l Shows interactions between objects. l Sequence diagrams (or collaboration diagrams) in the UML are used to model interaction between objects.

41 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 41 Issue of electronic items


Download ppt "©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008."

Similar presentations


Ads by Google