Understanding Quality in Conceptual Modeling

Shared by: lonyoo
Categories
Tags
-
Stats
views:
23
posted:
5/25/2010
language:
English
pages:
20
Document Sample
scope of work template
							Understanding Quality in
Conceptual Modeling

      Odd Ivar Lindland, Guttorm
        Sindre, Arne Sølvberg
     IEEE Software, March 1994
Contents

”A good model” !?!
  What are the properties of a good model?


A framework for quality considerations
  The quality framework
  Quality types and goals


Techniques and tools for improved quality
  Examples
Model Quality
   - what is a good model?
Quality assessment approaches
   quality of end-product depends to a great extent on
    the quality of early models (conceptual models,
    requirements)

   most quality frameworks appear as lists of desired
    properties of the considered systems

   our framework distinguishes between goals and
    means, and is based on linguistic concepts
Some common quality properties of
information system specifications
    appropriate - ability to capture germane concepts
    complete - everything the software shall do is included in the specification
    conceptually clean - simplicity, clarity, ease of understanding
    consistent - no requirement is in conflict with other requirements
    constructable - there is a systematic approach to formulating
     specifications
    executable - automatic execution of specifications
    expressive - everything relevant may be expressed without too much
     effort
    formal - specification in formal language permitting formal analysis of
     spec.
    precise - can find whether some realization does not meet some
     requirement
    testable
    traceable - the origin of each requirement statement is clear
    unambiguous, understandable, verifiable, minimal, modifiable,…..
Weaknesses of the “list-approach” to
quality assessment
  Many definitions are vague, complicated,
   undefined
  List is unstructured, and properties overlap
  Specification properties, language properties
   and model properties are intermixed
  Some properties are design/implementation
   directed
  Some goals are unrealistic/impossible to
   reach, e.g., completeness
The framework for model quality

                                 A
                        Actors
                        Pragmatic
                         quality



             Semantic                Syntactic
              quality                 quality    Modeling
D   Domain               Model                   language   L
                          M
Quality statements
 The language L consists of all of the statements that
  can be made according to the syntax

 The domain D consists of all possible statements that
  are both correct and relevant for the problem at hand

 The model M is the set of statements actually made

 The audience interpretation A is the set of statements
  that the audience thinks that the model contains
Quality Goals
 Syntactic quality:
    Goal: ”That the model is correct wrt. to the syntax of the modeling
     language”
    Statement:                         M\L=

 Semantic quality:
    Goal: ”The model shall contain a complete and correct representation of
     all relevant statements from the domain”
    Statement:        Correct: M \ D = , Complete: D \ M = 


 Pragmatic quality:
    Goal: ”The model is understood by all relevant actors. An individual
     actor must have understood the parts of the model relevant to him/her”
    Statement:                         "i , Mi = Ai
Quality types and means
Types of quality - more specific

                            Actor

                                 Pragmatic
                                  quality
                Semantic
                 quality

       Domain               Model                    Language
                                         Syntactic
                                          quality
                     Pragmatic
                      quality


                                                                Model qualities
                             Tool
                                                                Language-quality

                                                                Proess-qualities
Means for increased model quality
    Model Quality Goal     Means
       • Syntactic         Formal syntax of modelling language
           – Correct       Error prevention
                           Error detection
                           Error correction

       • Semantic          Statement insertion / deletion
           – Correct       Formal Semantics
           – Complete      Consistency-testing

       • Pragmatic         Inspection
            – Understood   Aesthetics, Readability
                           Visualisation, Filtering
                           Explanation-generation, Paraphrasing,
                           Translation
                           Execution, Animation, Simulation

       • Tool support      Can the model be supported by proper
                           tools and techniques?
CASE tools
                                                                 CSCW support:
                          Integrated modeling languages




Meta-Model


          Meta-Model:
          definition of model languages and
          relations between different                Tools and techniques for
          languages and perspectives.               improved model usage:
                                                       Syntax testing
                                                       Consistency checking
                                                       Simulation
          Repository:                                 Inspection
           Persistent model storage                    Explanatiion generation
           multi-user support                          Execution
                                                       Prototyping
                                                      …
Examples                                                                                                                Hvorfor var
                                                                                                                          ordren
 View generation / Filtering                             Explanation generation                                        Ugyldig ?
          P1.1                                                          P1.1
                                                                    T
                   P1.3                                                        T   T
                                                                                       P1.3
                                                                                                T

                                  P1.4                                                                       P1.4


          P1.2
                                                                        P1.2
                                                                                                     T
                                                                                                     T
                                                                                                                    T
                                                                                                                    T
                                                                                                                         Flyten Ugyldig
                                                                    T
      T                                                                                                                 ordre ble sendt
                                                                                                                        av P1 fordi
                                                                                                                        Kundedata ikke
                                                P1.1                                                                    var gyldige
                                           T
                                                             P1.3
                                                       T T
                                                                    T
                                                                                              P1.4
                                                                                   T                     T
                                                P1.2                               T
                                                                                                         T
                                           T

 Simulation                                                                                                         Translation
          P1.1
     T
                       P1.3
                 T T
                              T
                                         P1.4
                                    T            T
          P1.2                      T
                                                 T
     T
Constructivity in DFD
             P1

              Motta
              Ordre


                      P1.1
  Kundedata           Telefon
                      Mottak    P1.3

                                Fyll ut
  Varedata                                         P1.4
                                                           godkjent
                                                   Sjekk
                      P1.2                                 ugyldig
                                                   ordre
                      Motta               ordrer
   Ordre
                      ferdig
                       utfylt
  Constructivity in PrM
              P1
Kundedata T
                             T
Varedata         Motta                  godkjent
                 Ordre                  ugyldig
Ordre                        T



                                 P1.1
        Kundedata        T
                                 Telefon
                                 Mottak               P1.3
                                           T      T
                                                                  T
                                                      Fyll ut
        Varedata                                                             P1.4
                                                                         T   Sjekk   T
                                 P1.2                                    T
                                                                             ordre   T
                         T
                                 Motta                          ordrer
         Ordre
                                 ferdig
                                  utfylt
Syntax checking
  A priori rules : never allowed

     inn-ordrer          ut-ordrer
                                      Check-list:
                                       Name
                                       Flows
                                       Triggers/Termination
  A posteriori rules : Not allowed
                                       Ports
       in a finished model             Flow content definitions
            P1                         Process specifications
           Name ?                      Data store content definitions
Explanation generation

   Syntax explanation
           P1                     This is a process symbol. A process is a
                                 dynamic concept that reads a set of input-
            name                 flows and generates a set of output-flows. All
                                 processes must have a name and an ID.


  Error explanation
           P1                     The diagram is illegal since P1 does not
           Receive               generate any ouput. All processes must
            Order                generate at least one output-flow.



                                  A data-flow cannot be directly connected
     inn-ordrer      ut-ordrer
                                 between two datastores.
Dynamic Explanation (in simulation)

   Why was the order rejected?
         P1               The flow ”Illegal order” was sent because
                         the input flow customer data was not legal
         Receive
          order




   Why was customer data illegal?
         P1               Customer data was illegal since the
                         customer have less than €500,- on her
         Receive
                         account. This violates R3: ”Orders from
          order
                         direct customers can only be accepted if the
                         customer has more than €500,- in balance”
Summary
  Models and modeling languages are subject to
   variation - ”as needed”
     Often tailored for specific purposes and adjusted for proper
      tool-support

  A good model?
     It depends … on
     the Domain (D), the Language (L), the Actors (A)
         Syntactic quality
         Semantic quality
         Pragmatic quality


  Proper tool support provides means for increased
   model quality

						
Other docs by lonyoo
Law in transition 2009
Views: 11  |  Downloads: 0
DOR-4054 Power of Attorney - PDF
Views: 60  |  Downloads: 1
Senior Legal
Views: 5  |  Downloads: 0
a list of stores where - Store address list
Views: 207  |  Downloads: 0
The Village Remodeler
Views: 42  |  Downloads: 0
ollovers Reduce SUV Safety
Views: 3  |  Downloads: 0
Sor Bor Hor
Views: 21  |  Downloads: 0