System
Diagrams
           Table of Contents
•   Modeling
•   Class diagram
•   Use case diagram
•   Sequence diagram
•   Activity diagram
•   E-R diagram
•   Data flow diagram
                  Modeling
• A model is an abstraction of something for the purpose of
  understanding it before building it.
   - Both physical models and computer models are usually
cheaper than building a complete system.
   - Communication with customers
   - Visualization
   - Reduction of complexity
   - Abstract view of the system
                Class Model
• A class describe a group of objects with the same properties.
• Objects in a class have the same attributes and behaviour.
• Class diagram provides a graphical notation for modelling
  classes and their relationships.
              Attributes and Operations
• An operation is a function or procedure that may be applied to
  or by objects in a class.
• A method is the implementation of an operation for a class.
Links and Associations
                        Multiplicity
• Multiplicity specifies the number of instances of one class that
  may relate to single instance of an associated class.
• Ex: 1; 1…* ; 3…5 ; 0…1 ; *
• Multiplicity is constraint on cardinality.
                     Generalization
• Relationship between superclass and subclasses.
                          Visibility
• Visibility refers to the ability of a method to reference a
  feature from another class.
• It has possible values of public (+), private (-), protected (#).
N-ary associations
                    Aggregation
• Aggregation is string form of association in which an
  aggregate object is made of constituent parts.
• Part-whole relationship
• Aggregation vs. Association
                     Composition
• Composition is a form of aggregation with two additional
  constraints:
  1. A constituent part can belong to at most one assembly.
  2. It has a coincident lifetime with the whole assembly.
Example Airline System
Example:
             Guidelines for class diagrams
•   Try to avoid n-ary associations.
•   Restrict generalization upto 4-5 levels.
•   Don’t get confused between aggregation and composition.
•   Associations are bidirectional, without specifying arrows.
•   Try to use minimal number of classes, avoid redundancy.
     Interaction Modelling
• Class model describes the objects in a system and their
  relationships, and the interaction model describes how the
  objects interact.
• Interactions can be modelled at different levels of abstractions.
• At high level, use cases describe how a system interacts with
  outside actors.
• Sequence diagram provides more detail and show the
  messages exchanged among a set of objects over time.
• Activity diagram provides further detail and show the flow of
  control among the steps of a computation.
            Use Case Model
• Actor: object or set of objects that communicates directly with
  the system.
• Use case: functionality that a system can provide by
  interacting with actors.
                      Conti…
UML use case diagrams are ideal for:
• Representing the goals of system-user interactions
• Defining and organizing functional requirements in a system
• Specifying the context and requirements of a system
• Modeling the basic flow of events in a use case
        Use case diagram
      symbols and notation
• Use cases: Horizontally shaped ovals that represent the different uses that
  a user might have.
• Actors: Stick figures that represent the people actually employing the use
  cases.
• Associations: A line between actors and use cases. In complex diagrams,
  it is important to know which actors are associated with which use cases.
• System boundary boxes: A box that sets a system scope to use cases. All
  use cases outside the box would be considered outside the scope of that
  system. For example, Psycho Killer is outside the scope of occupations in
  the chainsaw example found below.
• Packages: A UML shape that allows you to put different elements into
  groups. Just as with component diagrams, these groupings are
  represented as file folders.
                Use Case Relationships
• Include relationship
• Exclude relationship
• Generalization relationship
           Guidelines for use case diagrams
•   The actors need not be always persons.
•   Distinct behaviour sequence (exceptions) and error conditions.
•   Multiple actors can participate in a use case.
•   Every use case should have at least one actor, and every actor
    should participate in at least one use case.
           Sequence Model
• A sequence diagram shows participants in an interaction and
  the sequence of messages among them.
• Lifeline
• Message
• Concurrent signals
• Each use case requires one or more sequence diagrams to
  describe its behaviour.
• Each sequence diagram shows a particular behaviour sequence
  of a use case.
         Guidelines for sequence diagrams
• Break large interactions into small tasks and prepare a
  sequence diagram for each of them.
• Prepare separate sequence diagram for each error condition.
            Activity Model
• An activity diagram shows flow of control, similar to a
  sequence diagram, but focuses on operations rather than
  objects.
• Unlike a flow chart, an activity diagram can show both
  sequential and concurrent flow of control.
• Branches
• Initiation and termination
• Concurrent activities (fork and merge)
          Guidelines for activity diagrams
• Concurrent activities means that the activities can complete in
  any order. Before a merge can happen, all inputs must first
  complete.
• If there are conditions, at least one must be satisfied when an
  activity completes.
                   E-R Model
• The ER model defines the conceptual view of a database.
• ER Model is a database modeling technique that generates an
  abstract diagram or visual representation of a system’s data
  that can be helpful in designing a relational database. These
  diagrams are known as entity-relationship diagrams, ER
  diagrams or ERDs.
• It works around real-world entities and the associations among
  them.
• At view level, the ER model is considered a good option for
  designing databases.
     ER Model Concepts
•ER model has three main concepts:
 o Entities(and their entity types and entity sets)
 o Attributes (simple, composite, multivalued)
 o Relationships (and their relationship types and relationship
   sets)
                   Entity
• An entity is an object that exists and is distinguishable
  from other objects.
• Entities are specific objects or things in the real-world
  that are represented in the database.
• Entity may be an object with a physical existence for
  example student.
• Entity may be an object with a conceptual existence
  for example a company, a job, a university course.
             Entity Sets
• An entity set is a set of entities of the same type
  that share the same properties.
• The set of all persons who are customers at a
  given bank can be defines as the entity set
  customer.
• The entity loan might represent the set of all
  loans to be awarded by a particular bank.
                Attribute
• An entity is represented by a set of attributes, that is
  descriptive properties possessed by all members of an
  entity set.
o For example, an STUDENT entity may have the
  attributes ID, Name, Address, Gender, Birth Date.
Notations
     Types of Attributes
•Simple or Atomic Attribute
•Composite Attribute
•Single-Valued Attribute
•Multivalued Attribute
•Stored Attribute
•Derived Attribute
    Simple or Atomic Attribute
• It cannot be divided into simpler components
  Example age of an employee.
        Composite Attribute
• Composite Attributes can be divided into smaller subparts,
  which represent more basic attributes with independent
  meanings.
• The attribute may be composed of several components. For
  example: Address(House#, Street, City, State, ZipCode,
  Country), or Name(FirstName, MiddleName, LastName).
• Composition may form a hierarchy where some components are
  themselves composite.
Example
          Single Valued
            Attribute
• Single valued attribute has a single value for a
  particular entity.
• E.g.: age of employee. There can be only one value for
  this.
 Multi-valued Attribute
• Multi-valued attribute has multiple values.
• Example: skill set of employee
• Another example, employee entity set with the attribute
  phone number.
• An employee may have zero, one or several phone
  numbers.
     Derived Attribute and Stored
              Attribute
• The value of this type of attribute can be derived from
  the values of other related attributes or entities.
E-R Diagram with Composite, Multi-valued, And Derived Attributes
     Mapping Cardinalities
• Mapping cardinality or cardinality ratio express the number of
  entities to which another entity can be associated via a
  relationship set.
• Most useful in describing binary relationship sets, although they
  can contribute to the description of relationship sets that involve
  more than two entity sets.
• For a binary relationship set R between entity sets A and B, the
  mapping cardinalities must be one of the following:
o   One to one
o   One to many
o   Many to one
o   Many to many
Participation Constraints
• Total Participation − Each entity is involved in the
  relationship. Total participation is represented by double lines.
  E.g. every loan entity to be related to at least one customer
  through borrow relationship.
• Partial participation − Not all entities are involved in the
  relationship. Partial participation is represented by single lines.
  E.g. the participation of customer in the borrower relationship
  set is partial as not all customer has borrowed loan from bank.
                       E-R Diagrams
 An E-R diagram can express the overall logical structure of a
  database graphically.
    Rectangles represent entity sets.
    Diamonds represent relationship sets.
    Lines link attributes to entity sets and entity sets to relationship
      sets.
    Ellipses represent attributes
         Double ellipses represent multi-valued attributes.
         Dashed ellipses denote derived attributes.
    Underline indicates primary key attributes.
    Double Lines indicate total participation of an entity in a
      relationship set.
    Double rectangles represent weak entity sets.
                   Example 1
• Library System
                   Example 2
• Banking System
        Data Flow Diagram
• Data flow diagram is graphical representation of flow of data in an
  information system. It is capable of depicting incoming data flow,
  outgoing data flow and stored data.
• It views a system as a function that transform the input into desired
  output .
• There is a prominent difference between DFD and Flowchart.
   o The flowchart depicts flow of control in program modules with all
      computation, loops.
   o DFDs depict flow of data in the system at various levels.
   o DFD does not contain any control or branch elements.
Creating Data Flow Diagrams
  Steps:
  1.Create a list of activities
  2.Construct Context Level DFD
  (identifies external entities and processes)
  3.Construct Level 0 DFD
  (identifies manageable sub process )
  4.Construct Level 1- n DFD
  (identifies actual data flows and data stores )
  5.Construct further levels if required
Symbols
Creating Data Flow Diagrams
    Production Example
           Creating Data Flow Diagrams
       Example                Steps:
The operations of a simple    1. Create a list of activities
lemonade stand will be used
                              2. Construct Context Level DFD
to demonstrate the creation      (identifies sources and sink)
of dataflow diagrams.
                              3. Construct Level 0 DFD
                                 (identifies manageable sub processes )
                              4. Construct Level 1- n DFD
                                 (identifies actual data flows and data stores )
           Creating Data Flow Diagrams
       Example                 1. Create a list of activities
Think through the activities
that take place at a
lemonade stand.
                                    Customer Order
                                    Serve Product
                                    Collect Payment
                                    Produce Product
                                    Store Product
           Creating Data Flow Diagrams
       Example                 1. Create a list of activities
Also think of the additional
activities needed to support
the basic activities.
                                    Customer Order
                                    Serve Product
                                    Collect Payment
                                    Produce Product
                                    Store Product
                                   Order Raw Materials
                                   Pay for Raw
                                   Materials
                                   Pay for Labor
            Creating Data Flow Diagrams
       Example               1. Create a list of activities
Group these activities in
some logical fashion,
possibly functional areas.
                                  Customer Order
                                  Serve Product
                                  Collect Payment
                                  Produce Product
                                  Store Product
                                  Order Raw Materials
                                  Pay for Raw Materials
                                  Pay for Labor
           Creating Data Flow Diagrams
       Example               2. Construct Context Level DFD
                                (identifies sources and sink)
Create a context level
diagram identifying the            Context Level DFD (Level 0)
sources and sinks (users).
           Creating Data Flow Diagrams
       Example               3. Construct Level 0 DFD
Create a level 0 diagram        (identifies manageable sub processes )
identifying the logical                     Level 1DFD
subsystems that may exist.
           Creating Data Flow Diagrams
       Example               4. Construct Level 1- n DFD
Create a level 1                (identifies actual data flows and data stores )
decomposing the processes                    Level 2 DFD
in level 0 and identifying
data stores.
           Creating Data Flow Diagrams
       Example               4. Construct Level 1 (continued)
Create a level 1
decomposing the processes                   Level 2 DFD
in level 0 and identifying
data stores.
           Creating Data Flow Diagrams
       Example               4. Construct Level 1 (continued)
Create a level 1
decomposing the processes                                 Level 2 DFD
in level 0 and identifying    Order Decision
                                                                        PURCHASE
data stores.                                      3.1                    ORDER
                                               Produce
                                               Purchase
Customer Order                                  Order        Quantity On-Hand
Serve Product                                                              RAW
                                                          Quantity       MATERIALS
Collect Payment                Received                   Received
                                Goods
                                                  3.2
Produce Product                                Receive
                                                Items
Store Product                                                              RECEIVED
                                                                            ITEMS
                                          Payment Approval
Order Raw Materials
                                                                            VENDOR
Pay for Raw Materials                           3.3
                                                Pay
                                               Vendor
Pay for Labor
                                 Payment
           Creating Data Flow Diagrams
       Example               4. Construct Level 1 (continued)
Create a level 1
decomposing the processes                                  Level 2 DFD
in level 0 and identifying   Time Worked
data stores.                                      4.1                TIME CARDS
                                                Record
                                                 Time
Customer Order                                  Worked        Employee ID
Serve Product                                                          EMPLOYEE
Collect Payment
                             Payroll Request
                                                  4.2
                                                                   Unpaid time cards
Produce Product                                Calculate
                                                Payroll
Store Product                                                               PAYROLL
                                           Payment Approval
Order Raw Materials
                                                 4.3
Pay for Raw Materials                           Pay
                                               Employe
                                                  e                  PAYMENTS
Pay for Labor
                                 Payment
                    Process Decomposition
                                          1.1        1.2
                             1.0
                                         Record    Receive
                             Sale
                                         Order     Payment
                                           2.1       2.2         2.3
                              2.0
                                          Serve    Produce      Store
                           Production
                                         Product   Product     Product
            0.0
         Lemonade
          System
                                           3.1
                              3.0                     3.2       3.3
                                        Produce
                            Procure-               Receive      Pay
                                        Purchase
                             ment                   Items      Vendor
                                         Order
                                           4.1                   4.3
                                                      4.2
                             4.0         Record                  Pay
                                                   Calculate
                            Payroll       Time                 Employe
                                                    Payroll
                                         Worked                   e
Context Level (Level 0)   Level 1       Level 2
Example (Library System
         DFD)
       Fig: Level - 0 Context Level
                   DFD
                                      74
Continued…
   Fig: Level - 1 DFD
                        75
Continued…
   Fig: Level - 2 DFD
                        76
        Control Flow Model
              (CFD)
• The CFD shows the same processes as in DFD but rather than showing
  data flow they show control flows.
• CFD show how events flow among processes. It also shows how
  external events activate the processes.
• The dashed arrow is used to represent the event.
• A solid bar is used to represent the window. This window is used to
  control the processes used in the DFD based on the event that is passed
  through the window.
• Instead of representing control process directly in the model the
  specifications are used to represent how processes are controlled.
• When a data input is given to the process a data condition should occur
  to get the control output.
• There are two commonly used representation of specification: Control
  Specification(CSPEC) & Process Specification (PSPEC).
                                                                            77
 Designing Control Flow
       Diagrams
• There are certain applications which are event driven rather
  than being data driven. They produce control information rather
  than producing data. Such applications can be modeled with the
  control information along with data flow modeling.
• A graphical model used to represent the control information
  along with the data flow model is called control flow model.
• Following guidelines are used to draw CFD:
   o List all sensors that can be read.
   o List all the interrupt conditions.
   o List all the data conditions.
   o List all the switches actuated by the operator.
   o Use noun/verb parsing techniques to identify control information.
   o Describe behaviour of system by identifying the states. Define the transition between the
     states.
   o Avoid common errors while specifying the control.
                                                                                                 78
Example (CFD)
CFD                   DFD
         Obtained
         temperature
      Maximum            Check &
                         convert
      temperatur
                       temperature Converted
      e
                                    temperature
              PSPEC
              If obtained temp > max temp
                set above_temp = TRUE
              Else
                set above_temp = FALSE
              Begin
                 temp_conversion algorithm
              End
              End if;
                                                  79
       Control Specification
            (CSPEC)
• The CSPEC is used to represent two things –
   o The behaviour of the system when an event occurs.
   o The processes that get invoked on occurrence of particular event.
• The CSPEC represents the system in two ways –
   o State Transition Diagram
       • It is a collection of states and events.
   o Program Activation Table
       • The program activation table represents the input events, output and process
          activation in tabular form.
                                                                                    80
      Process Specification
            (PSPEC)
• The PSPEC is used to describe the inner workings of the
  process represented in a data flow diagram.
• The process specification describes the input to the function,
  the algorithm, constraints imposed by the function,
  characteristics of the process.
• The process specification is used to describe the working of
  the process.
• The process specification is given by Program Design
  Language (PDL).
                                                               81
                Continued…
• The data dictionary defines the data unambiguously.
• One can give the detailed description of data items using data
  dictionary.
• For large systems size of data dictionary will be large and will
  be hard to maintain manually. So for such large system
  automated tools (CASE) is used.
                                                                 82
                        Example
Name:                   Passenger
Alias:                  None
Where used/ How used:   Passenger’s query (input)
                        Ticket (output)
Description:
Passenger =             Passenger_Name + Passenger_Address
Passenger_Name =        Last_name + First_name + Middle_name
Passenger_Address =     Local_address + Community_address + Zip_code
Local_Address=          House_number + Street_name +
                        (Appartment_name)
Community_Address=      City_name + [State_name | Province_name]
                                                                       83
             State Diagrams
• A state diagram is used to represent the condition of the
  system or part of the system at finite instances of time. It’s
  a behavioral diagram and it represents the behavior using
  finite state transitions. State diagrams are also referred to
  as State machines and State-chart Diagrams. These terms
  are often used interchangeably. So simply, a state diagram is
  used to model the dynamic behavior of a class in response to
  time and changing external stimuli. We can say that each and
  every class has a state but we don’t model every class using
  State diagrams. We prefer to model the states with three or
  more states.
          Uses of statechart
              diagram
• We use it to state the events responsible for change in state
  (we do not show what processes cause those events).
• We use it to model the dynamic behavior of the system .
• To understand the reaction of objects/classes to internal or
  external stimuli.
                      Conti…
• Firstly let us understand what are Behavior diagrams? There
  are two types of diagrams in UML :
  Structure Diagrams – Used to model the static structure of a
  system, for example- class diagram, package diagram, object
  diagram, deployment diagram etc.
• Behavior diagram – Used to model the dynamic change in the
  system over time. They are used to model and construct the
  functionality of a system. So, a behavior diagram simply
  guides us through the functionality of the system using Use
  case diagrams, Interaction diagrams, Activity diagrams and
  State diagrams.
    Basic components of a
     state chart diagram
• Initial state – We use a black filled circle represent the initial
  state of a System or a class.
• Transition – We use a solid arrow to represent the transition
  or change of control from one state to another. The arrow is
  labelled with the event which causes the change in state.
                       Conti…
• State – We use a rounded rectangle to represent a state. A state
  represents the conditions or circumstances of an object of a
  class at an instant of time.
• Fork – We use a rounded solid rectangular bar to represent a
  Fork notation with incoming arrow from the parent state and
  outgoing arrows towards the newly created states. We use the
  fork notation to represent a state splitting into two or more
  concurrent states.
• Join – We use a rounded solid rectangular bar to represent a
  Join notation with incoming arrows from the joining states and
  outgoing arrow towards the common goal state. We use the join
  notation when two or more states concurrently converge into
  one on the occurrence of an event or events.
• Self transition – We use a solid arrow pointing back to the
  state itself to represent a self transition. There might be
  scenarios when the state of the object does not change upon the
  occurrence of an event. We use self transitions to represent
  such cases.
• Composite state – We use a rounded rectangle to represent a
  composite state also. We represent a state with internal
  activities using a composite state.
• Final state – We use a filled circle within a circle notation to
  represent the final state in a state machine diagram.
EXAMPLE
             Data Dictionary
• The data dictionary can be defined as an organized collection of
  all the data elements of the system with precise and rigorous
  definitions so that user and system analyst will have a common
  understanding of inputs, outputs, components of stores and
  intermediate collection.
• The data models are less detailed hence there is a need of data
  dictionary.
• Data dictionaries are lists of all the names used in system models.
• Descriptions of the entities, relationships and attributes are also
  included in data dictionary.
• The data dictionaries are implemented as a part of structured
  analysis and design tool.
                                                                        94
                      Continued…
• Data dictionary stores following information:
         Name                                     Description
 Name                Primary name of data or control item, the data store or external
                     entity
 Alias               Other name used for the name
 Where-used       or Describes where the data control item is used and how the item
 how is used         is used
 • Notations used in data dictionary are:
           Data Construct               Notation                       Meaning
     Composition                            =                   Is composed of
     Sequence                               +                   And
     Selection                             [|]                  Or
     Repetition                            { }N                 Repetition of N items
                                           ( )                  Optional data
                                           *…*                  Commented information
                                                                                        95
Any Questions??
THANK YOU