SlideShare una empresa de Scribd logo
1 de 43
System models
Objectives
• To explain why the context of a system should
  be modelled as part of the RE process
• To describe behavioural modelling, data
  modelling and object modelling
• To introduce some of the notations used in
  the Unified Modeling Language (UML)
• To show how CASE workbenches support
  system modelling
Topics covered
•   Context models
•   Behavioural models
•   Data models
•   Object models
•   CASE workbenches
System modelling
• System modelling helps the analyst to understand the
  functionality of the system and models are used to
  communicate with customers.
• Different models present the system from different
  perspectives
   – External perspective showing the system’s context or environment;
   – Behavioural perspective showing the behaviour of the system;
   – Structural perspective showing the system or data architecture.
Model types
• Data processing model showing how the data is processed
  at different stages.
• Composition model showing how entities are composed
  of other entities.
• Architectural model showing principal sub-systems.
• Classification model showing how entities have common
  characteristics.
• Stimulus/response model showing the system’s reaction
  to events.
Context models
• Context models are used to illustrate the
  operational context of a system - they show
  what lies outside the system boundaries.
• Social and organisational concerns may affect
  the decision on where to position system
  boundaries.
• Architectural models show the system and its
  relationship with other systems.
The context of an ATM system

                   Security
                    s ys tem

    Branch
                                 Acco un t
  accoun tin g
                                 da tabas e
    s ys tem

                  Auto -teller
                   s ys tem

    Branch
                                  Us age
    coun ter
                                 datab as e
    s ys tem

                 Main tenance
                   s ys tem
Process models
• Process models show the overall process and
  the processes that are supported by the
  system.
• Data flow models may be used to show the
  processes and the flow of information from
  one process to another.
Equipment procurement process
Behavioural models
• Behavioural models are used to describe the
  overall behaviour of a system.
• Two types of behavioural model are:
  – Data processing models that show how data is
    processed as it moves through the system;
  – State machine models that show the systems
    response to events.
• These models show different perspectives so
  both of them are required to describe the
  system’s behaviour.
Data-processing models
• Data flow diagrams (DFDs) may be used to
  model the system’s data processing.
• These show the processing steps as data flows
  through a system.
• DFDs are an intrinsic part of many analysis
  methods.
• Simple and intuitive notation that customers
  can understand.
• Show end-to-end processing of data.
Order processing DFD
Data flow diagrams
• DFDs model the system from a functional
  perspective.
• Tracking and documenting how the data
  associated with a process is helpful to develop
  an overall understanding of the system.
• Data flow diagrams may also be used in
  showing the data exchange between a system
  and other systems in its environment.
Insulin pump DFD
State machine models
• These model the behaviour of the system in response to
  external and internal events.
• They show the system’s responses to stimuli so are often used
  for modelling real-time systems.
• State machine models show system states as nodes and
  events as arcs between these nodes. When an event
  occurs, the system moves from one state to another.
• Statecharts are an integral part of the UML and are used to
  represent state machine models.
Statecharts
• Allow the decomposition of a model into sub-
  models (see following slide).
• A brief description of the actions is included
  following the ‘do’ in each state.
• Can be complemented by tables describing
  the states and the stimuli.
Microwave oven model
Microwave oven state description

     State                                           Description
Waiting      The oven is waiting for input. T he display shows the current time.
Half power   The oven power is set to 300 watts. The display shows ŌH powerÕ
                                                                     alf   .
Full power   The oven power is set to 600 watts. The display shows ŌF powerÕ
                                                                    ull    .
Set time     The cooking time is s et to the userÕ input value. The display shows the cooking time
                                                     s
             selected and is updated as the time is set.
Disabled     Oven operation is disabled for safety. Interior oven light is on. Display shows ŌN
                                                                                              ot
             readyÕ
                  .
Enabled      Oven operation is enabled. Interior oven light is off. Display shows Ō
                                                                                  Ready to cookÕ
                                                                                               .
Operation    Oven in operation. Interior oven light is on. Display shows the timer countdown. On
             completion of cooking, the buzzer is sounded for 5 s econds. Oven light is on. Display
             shows Ō
                   Cooking completeÕ w buzzer is sounding.
                                         hile
Microwave oven stimuli

    Stimulus                              Description
Half power     The user has pressed the half power button
Full power     The user has pressed the full power button
T imer         The user has pressed one of the timer buttons
Number         The user has pressed a numeric key
Door open      The oven door switch is not closed
Door closed    The oven door switch is closed
Start          The user has pressed the start button
Cancel         The user has pressed the cancel button
Microwave oven operation
Semantic data models
• Used to describe the logical structure of data processed by
  the system.
• An entity-relation-attribute model sets out the entities in the
  system, the relationships between these entities and the
  entity attributes
• Widely used in database design. Can readily be implemented
  using relational databases.
• No specific notation provided in the UML but objects and
  associations can be used.
Library semantic model
Data dictionaries
• Data dictionaries are lists of all of the names used in the
  system models. Descriptions of the entities, relationships and
  attributes are also included.
• Advantages
   – Support name management and avoid duplication;
   – Store of organisational knowledge linking analysis, design and
     implementation;
• Many CASE workbenches support data dictionaries.
Data dictionary entries

   Name                           Description                        Type       Date
             Details of the published article that may be ordered by
Article                                                              Entity     30.12.2002
             people using LIBSYS.
             The names of the authors of the article who may be due
authors                                                             Attribute   30.12.2002
             a share of the fee.
             The person or organisation that orders a co py of the
Buyer                                                              Entity       30.12.2002
             article.
             A 1:1 relationship between Article and the Copyright
fee-                                                              Relation      29.12.2002
             Agency who should be paid the copyright fee.
payable-to
             The address of the buyer. T his is used to any paper
Address                                                           Attribute     31.12.2002
             billing information that is required.
(Buyer)
Object models
• Object models describe the system in terms of object classes
  and their associations.
• An object class is an abstraction over a set of objects with
  common attributes and the services (operations) provided by
  each object.
• Various object models may be produced
   – Inheritance models;
   – Aggregation models;
   – Interaction models.
Object models
• Natural ways of reflecting the real-world
  entities manipulated by the system
• More abstract entities are more difficult to
  model using this approach
• Object class identification is recognised as a
  difficult process requiring a deep
  understanding of the application domain
• Object classes reflecting domain entities are
  reusable across systems
Inheritance models
• Organise the domain object classes into a hierarchy.
• 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.
• Class hierarchy design can be a difficult process if duplication
  in different branches is to be avoided.
Object models and the UML
• The UML is a standard representation devised by the
  developers of widely used object-oriented analysis and design
  methods.
• It has become an effective standard for object-oriented
  modelling.
• Notation
   – Object classes are rectangles with the name at the top, attributes in
     the middle section and operations in the bottom section;
   – Relationships between object classes (known as associations) are
     shown as lines linking objects;
   – Inheritance is referred to as generalisation and is shown ‘upwards’
     rather than ‘downwards’ in a hierarchy.
Library class hierarchy
                                               Libr item
                                                  ary

                                       Catalogu e n umber
                                       Acqu is ition d ate
                                       Co st
                                       T e
                                       yp
                                       Status
                                       Nu mber o f co pies
                                           Acqu ir ()
                                                   e
                                           Catalogu e ()
                                           Disp os e ()
                                           Iss ue ()
                                           Retu rn ()




                Pu blis hed item                                     Reco rded item
              Title                                                 Title
              Pu blis her                                           Medium




      Bo ok                    Magazin e                     Film                 Co mpu ter
                                                                                   pro gram
A or
  uth                       Year                      Director
Ed ition                                              Date of releas e        V io n
                                                                               ers
                            Iss ue
Pu blicatio n da te                                   Distributo r            Platf m
                                                                                   or
ISBN
User class hierarchy
                   Libr u ser
                      ary

                Name
                Address
                Ph on e
                Reg istratio n #

                Reg ister ()
                De-reg ister ()




      Read er                                    Bo rrower
Af
 filiatio n                                Items o n loan
                                           Max. lo an s




                                   Staff                       Stu den t
                          Depar tment                   Majo r s ub ject
                          Depar tment p ho ne           Ho me ad dress
Multiple inheritance
• 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.
• This can lead to semantic conflicts where attributes/services
  with the same name in different super-classes have different
  semantics.
• Multiple inheritance makes class hierarchy reorganisation
  more complex.
Multiple inheritance

      Bo ok                           Vo ice record in g
Auth or                              Sp eak er
Ed ition                             Du ratio n
Pu blicatio n da te                  Reco rdin g date
ISBN




                      T in g bo ok
                       alk

                  # Tapes
Object aggregation
• An aggregation model shows how classes that
  are collections are composed of other classes.
• Aggregation models are similar to the part-of
  relationship in semantic data models.
Object aggregation
Object behaviour modelling
• A behavioural model shows the interactions
  between objects to produce some particular
  system behaviour that is specified as a use-
  case.
• Sequence diagrams (or collaboration
  diagrams) in the UML are used to model
  interaction between objects.
Issue of electronic items
Structured methods
• Structured methods incorporate system
  modelling as an inherent part of the method.
• Methods define a set of models, a process for
  deriving these models and rules and
  guidelines that should apply to the models.
• CASE tools support system modelling as part
  of a structured method.
Method weaknesses
• They do not model non-functional system
  requirements.
• They do not usually include information about
  whether a method is appropriate for a given
  problem.
• The may produce too much documentation.
• The system models are sometimes too
  detailed and difficult for users to understand.
CASE workbenches
• A coherent set of tools that is designed to
  support related software process activities
  such as analysis, design or testing.
• Analysis and design workbenches support
  system modelling during both requirements
  engineering and system design.
• These workbenches may support a specific
  design method or may provide support for a
  creating several different types of system
  model.
An analysis and design workbench

                    Structu red             Repor t
       Data
                   diag ramming           gener atio n
    diction ary
                       too ls              facilities




                       Centr al              Qu ery
      Co de
                    inf ma tio n
                       or                  lan guage
    gener ator
                     repos ito ry          facilities




     Forms        Design , anal ys is
                                        Impo r t/e xpor t
    cr ea tion     and check in g
                                          facilities
      too ls           too ls
Analysis workbench components
•   Diagram editors
•   Model analysis and checking tools
•   Repository and associated query language
•   Data dictionary
•   Report definition and generation tools
•   Forms definition tools
•   Import/export translators
•   Code generation tools
Key points
• A model is an abstract system view.
  Complementary types of model provide
  different system information.
• Context models show the position of a system
  in its environment with other systems and
  processes.
• Data flow models may be used to model the
  data processing in a system.
• State machine models model the system’s
  behaviour in response to internal or external
  events
Key points
• Semantic data models describe the logical
  structure of data which is imported to or
  exported by the systems.
• Object models describe logical system
  entities, their classification and aggregation.
• Sequence models show the interactions
  between actors and the system objects that
  they use.
• Structured methods provide a framework for
  developing system models.

Más contenido relacionado

Destacado

Presentation ceipes hungary_2012
Presentation ceipes hungary_2012Presentation ceipes hungary_2012
Presentation ceipes hungary_2012CEIPES HUNGARY NGO
 
Munkahelyi stressz megelőzése
Munkahelyi stressz megelőzése Munkahelyi stressz megelőzése
Munkahelyi stressz megelőzése CEIPES HUNGARY NGO
 
Cinco características de um casamento saudável
Cinco características de um casamento saudávelCinco características de um casamento saudável
Cinco características de um casamento saudávelEder Silva
 
The benefits and detrimental effects of internet on students email
The benefits and detrimental effects of internet on students   emailThe benefits and detrimental effects of internet on students   email
The benefits and detrimental effects of internet on students emailwan zakaria wan rosli
 
Refleksi big sem 5
Refleksi big sem 5Refleksi big sem 5
Refleksi big sem 5Mahat Othman
 
7 foreign policy process (1)
7 foreign policy process (1)7 foreign policy process (1)
7 foreign policy process (1)Ayesha Bhatti
 

Destacado (12)

Expo abi
Expo abiExpo abi
Expo abi
 
Presentation ceipes hungary_2012
Presentation ceipes hungary_2012Presentation ceipes hungary_2012
Presentation ceipes hungary_2012
 
Munkahelyi stressz megelőzése
Munkahelyi stressz megelőzése Munkahelyi stressz megelőzése
Munkahelyi stressz megelőzése
 
Aibo
AiboAibo
Aibo
 
Cinco características de um casamento saudável
Cinco características de um casamento saudávelCinco características de um casamento saudável
Cinco características de um casamento saudável
 
The benefits and detrimental effects of internet on students email
The benefits and detrimental effects of internet on students   emailThe benefits and detrimental effects of internet on students   email
The benefits and detrimental effects of internet on students email
 
Refleksi big sem 5
Refleksi big sem 5Refleksi big sem 5
Refleksi big sem 5
 
Assignment
AssignmentAssignment
Assignment
 
3 national power
3 national power3 national power
3 national power
 
Isoquant
IsoquantIsoquant
Isoquant
 
7 foreign policy process (1)
7 foreign policy process (1)7 foreign policy process (1)
7 foreign policy process (1)
 
Esei ba
Esei baEsei ba
Esei ba
 

Similar a 8 system models

Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes arvind pandey
 
Unit 3 system models
Unit 3 system modelsUnit 3 system models
Unit 3 system modelsAzhar Shaik
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8Siddharth Ayer
 
System Modelling
System ModellingSystem Modelling
System ModellingIanBriton
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
Lab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagramLab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagramFarah Ahmed
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
Presentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptxPresentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptxazida3
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering arvind pandey
 
Chapter 3_Architectural Styles.pptx
Chapter 3_Architectural Styles.pptxChapter 3_Architectural Styles.pptx
Chapter 3_Architectural Styles.pptxRushikeshChikane1
 
Chapter 3_Architectural Styles.pptx
Chapter 3_Architectural Styles.pptxChapter 3_Architectural Styles.pptx
Chapter 3_Architectural Styles.pptxRushikeshChikane2
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.pptRAJESH S
 
Unit three Advanced State Modelling
Unit three Advanced State ModellingUnit three Advanced State Modelling
Unit three Advanced State ModellingDr Chetan Shelke
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with umlsabin kafle
 

Similar a 8 system models (20)

Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
Unit 3 system models
Unit 3 system modelsUnit 3 system models
Unit 3 system models
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8
 
System Modelling
System ModellingSystem Modelling
System Modelling
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
Use case modeling
Use case modelingUse case modeling
Use case modeling
 
Lab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagramLab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagram
 
Intoduction to uml
Intoduction to umlIntoduction to uml
Intoduction to uml
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Presentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptxPresentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptx
 
system model.pptx
system model.pptxsystem model.pptx
system model.pptx
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Week 5
Week 5Week 5
Week 5
 
Chapter 3_Architectural Styles.pptx
Chapter 3_Architectural Styles.pptxChapter 3_Architectural Styles.pptx
Chapter 3_Architectural Styles.pptx
 
Chapter 3_Architectural Styles.pptx
Chapter 3_Architectural Styles.pptxChapter 3_Architectural Styles.pptx
Chapter 3_Architectural Styles.pptx
 
Dynamic modeling
Dynamic modelingDynamic modeling
Dynamic modeling
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
Unit three Advanced State Modelling
Unit three Advanced State ModellingUnit three Advanced State Modelling
Unit three Advanced State Modelling
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
 

Más de Ayesha Bhatti (16)

Ds lab handouts
Ds lab handoutsDs lab handouts
Ds lab handouts
 
Chap 5 project management
Chap 5 project managementChap 5 project management
Chap 5 project management
 
A2
A2A2
A2
 
11 topic 9 ooa
11 topic 9 ooa11 topic 9 ooa
11 topic 9 ooa
 
10 architectural design
10 architectural design10 architectural design
10 architectural design
 
10 architectural design (1)
10 architectural design (1)10 architectural design (1)
10 architectural design (1)
 
8 bop
8 bop8 bop
8 bop
 
8 bop (1)
8 bop (1)8 bop (1)
8 bop (1)
 
7 foreign policy process
7 foreign policy process7 foreign policy process
7 foreign policy process
 
5 cold war era 1
5 cold war era 15 cold war era 1
5 cold war era 1
 
1 introduction
1 introduction1 introduction
1 introduction
 
1 introduction (1)
1 introduction (1)1 introduction (1)
1 introduction (1)
 
A1
A1A1
A1
 
Project final
Project finalProject final
Project final
 
Assignment 3
Assignment 3Assignment 3
Assignment 3
 
Aibo
AiboAibo
Aibo
 

8 system models

  • 2. Objectives • To explain why the context of a system should be modelled as part of the RE process • To describe behavioural modelling, data modelling and object modelling • To introduce some of the notations used in the Unified Modeling Language (UML) • To show how CASE workbenches support system modelling
  • 3. Topics covered • Context models • Behavioural models • Data models • Object models • CASE workbenches
  • 4. System modelling • System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers. • Different models present the system from different perspectives – External perspective showing the system’s context or environment; – Behavioural perspective showing the behaviour of the system; – Structural perspective showing the system or data architecture.
  • 5. Model types • Data processing model showing how the data is processed at different stages. • Composition model showing how entities are composed of other entities. • Architectural model showing principal sub-systems. • Classification model showing how entities have common characteristics. • Stimulus/response model showing the system’s reaction to events.
  • 6. Context models • Context models are used to illustrate the operational context of a system - they show what lies outside the system boundaries. • Social and organisational concerns may affect the decision on where to position system boundaries. • Architectural models show the system and its relationship with other systems.
  • 7. The context of an ATM system Security s ys tem Branch Acco un t accoun tin g da tabas e s ys tem Auto -teller s ys tem Branch Us age coun ter datab as e s ys tem Main tenance s ys tem
  • 8. Process models • Process models show the overall process and the processes that are supported by the system. • Data flow models may be used to show the processes and the flow of information from one process to another.
  • 10. Behavioural models • Behavioural models are used to describe the overall behaviour of a system. • Two types of behavioural model are: – Data processing models that show how data is processed as it moves through the system; – State machine models that show the systems response to events. • These models show different perspectives so both of them are required to describe the system’s behaviour.
  • 11. Data-processing models • Data flow diagrams (DFDs) may be used to model the system’s data processing. • These show the processing steps as data flows through a system. • DFDs are an intrinsic part of many analysis methods. • Simple and intuitive notation that customers can understand. • Show end-to-end processing of data.
  • 13. Data flow diagrams • DFDs model the system from a functional perspective. • Tracking and documenting how the data associated with a process is helpful to develop an overall understanding of the system. • Data flow diagrams may also be used in showing the data exchange between a system and other systems in its environment.
  • 15. State machine models • These model the behaviour of the system in response to external and internal events. • They show the system’s responses to stimuli so are often used for modelling real-time systems. • State machine models show system states as nodes and events as arcs between these nodes. When an event occurs, the system moves from one state to another. • Statecharts are an integral part of the UML and are used to represent state machine models.
  • 16. Statecharts • Allow the decomposition of a model into sub- models (see following slide). • A brief description of the actions is included following the ‘do’ in each state. • Can be complemented by tables describing the states and the stimuli.
  • 18. Microwave oven state description State Description Waiting The oven is waiting for input. T he display shows the current time. Half power The oven power is set to 300 watts. The display shows ŌH powerÕ alf . Full power The oven power is set to 600 watts. The display shows ŌF powerÕ ull . Set time The cooking time is s et to the userÕ input value. The display shows the cooking time s selected and is updated as the time is set. Disabled Oven operation is disabled for safety. Interior oven light is on. Display shows ŌN ot readyÕ . Enabled Oven operation is enabled. Interior oven light is off. Display shows Ō Ready to cookÕ . Operation Oven in operation. Interior oven light is on. Display shows the timer countdown. On completion of cooking, the buzzer is sounded for 5 s econds. Oven light is on. Display shows Ō Cooking completeÕ w buzzer is sounding. hile
  • 19. Microwave oven stimuli Stimulus Description Half power The user has pressed the half power button Full power The user has pressed the full power button T imer The user has pressed one of the timer buttons Number The user has pressed a numeric key Door open The oven door switch is not closed Door closed The oven door switch is closed Start The user has pressed the start button Cancel The user has pressed the cancel button
  • 21. Semantic data models • Used to describe the logical structure of data processed by the system. • An entity-relation-attribute model sets out the entities in the system, the relationships between these entities and the entity attributes • Widely used in database design. Can readily be implemented using relational databases. • No specific notation provided in the UML but objects and associations can be used.
  • 23. Data dictionaries • Data dictionaries are lists of all of the names used in the system models. Descriptions of the entities, relationships and attributes are also included. • Advantages – Support name management and avoid duplication; – Store of organisational knowledge linking analysis, design and implementation; • Many CASE workbenches support data dictionaries.
  • 24. Data dictionary entries Name Description Type Date Details of the published article that may be ordered by Article Entity 30.12.2002 people using LIBSYS. The names of the authors of the article who may be due authors Attribute 30.12.2002 a share of the fee. The person or organisation that orders a co py of the Buyer Entity 30.12.2002 article. A 1:1 relationship between Article and the Copyright fee- Relation 29.12.2002 Agency who should be paid the copyright fee. payable-to The address of the buyer. T his is used to any paper Address Attribute 31.12.2002 billing information that is required. (Buyer)
  • 25. Object models • Object models describe the system in terms of object classes and their associations. • An object class is an abstraction over a set of objects with common attributes and the services (operations) provided by each object. • Various object models may be produced – Inheritance models; – Aggregation models; – Interaction models.
  • 26. Object models • Natural ways of reflecting the real-world entities manipulated by the system • More abstract entities are more difficult to model using this approach • Object class identification is recognised as a difficult process requiring a deep understanding of the application domain • Object classes reflecting domain entities are reusable across systems
  • 27. Inheritance models • Organise the domain object classes into a hierarchy. • 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. • Class hierarchy design can be a difficult process if duplication in different branches is to be avoided.
  • 28. Object models and the UML • The UML is a standard representation devised by the developers of widely used object-oriented analysis and design methods. • It has become an effective standard for object-oriented modelling. • Notation – Object classes are rectangles with the name at the top, attributes in the middle section and operations in the bottom section; – Relationships between object classes (known as associations) are shown as lines linking objects; – Inheritance is referred to as generalisation and is shown ‘upwards’ rather than ‘downwards’ in a hierarchy.
  • 29. Library class hierarchy Libr item ary Catalogu e n umber Acqu is ition d ate Co st T e yp Status Nu mber o f co pies Acqu ir () e Catalogu e () Disp os e () Iss ue () Retu rn () Pu blis hed item Reco rded item Title Title Pu blis her Medium Bo ok Magazin e Film Co mpu ter pro gram A or uth Year Director Ed ition Date of releas e V io n ers Iss ue Pu blicatio n da te Distributo r Platf m or ISBN
  • 30. User class hierarchy Libr u ser ary Name Address Ph on e Reg istratio n # Reg ister () De-reg ister () Read er Bo rrower Af filiatio n Items o n loan Max. lo an s Staff Stu den t Depar tment Majo r s ub ject Depar tment p ho ne Ho me ad dress
  • 31. Multiple inheritance • 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. • This can lead to semantic conflicts where attributes/services with the same name in different super-classes have different semantics. • Multiple inheritance makes class hierarchy reorganisation more complex.
  • 32. Multiple inheritance Bo ok Vo ice record in g Auth or Sp eak er Ed ition Du ratio n Pu blicatio n da te Reco rdin g date ISBN T in g bo ok alk # Tapes
  • 33. Object aggregation • An aggregation model shows how classes that are collections are composed of other classes. • Aggregation models are similar to the part-of relationship in semantic data models.
  • 35. Object behaviour modelling • A behavioural model shows the interactions between objects to produce some particular system behaviour that is specified as a use- case. • Sequence diagrams (or collaboration diagrams) in the UML are used to model interaction between objects.
  • 37. Structured methods • Structured methods incorporate system modelling as an inherent part of the method. • Methods define a set of models, a process for deriving these models and rules and guidelines that should apply to the models. • CASE tools support system modelling as part of a structured method.
  • 38. Method weaknesses • They do not model non-functional system requirements. • They do not usually include information about whether a method is appropriate for a given problem. • The may produce too much documentation. • The system models are sometimes too detailed and difficult for users to understand.
  • 39. CASE workbenches • A coherent set of tools that is designed to support related software process activities such as analysis, design or testing. • Analysis and design workbenches support system modelling during both requirements engineering and system design. • These workbenches may support a specific design method or may provide support for a creating several different types of system model.
  • 40. An analysis and design workbench Structu red Repor t Data diag ramming gener atio n diction ary too ls facilities Centr al Qu ery Co de inf ma tio n or lan guage gener ator repos ito ry facilities Forms Design , anal ys is Impo r t/e xpor t cr ea tion and check in g facilities too ls too ls
  • 41. Analysis workbench components • Diagram editors • Model analysis and checking tools • Repository and associated query language • Data dictionary • Report definition and generation tools • Forms definition tools • Import/export translators • Code generation tools
  • 42. Key points • A model is an abstract system view. Complementary types of model provide different system information. • Context models show the position of a system in its environment with other systems and processes. • Data flow models may be used to model the data processing in a system. • State machine models model the system’s behaviour in response to internal or external events
  • 43. Key points • Semantic data models describe the logical structure of data which is imported to or exported by the systems. • Object models describe logical system entities, their classification and aggregation. • Sequence models show the interactions between actors and the system objects that they use. • Structured methods provide a framework for developing system models.