IT1402e

Embed Size (px)

Citation preview

  • 7/30/2019 IT1402e

    1/72

    Modeling Methods

  • 7/30/2019 IT1402e

    2/72

    Modeling Methods

    How to structure the

    problem?

    Model

    Is a presentation of reality. Just a picture is worth a thousandof words, most system models are pictorial representations

    of reality.

    SAMP

    LEFLO

    ORPLAN

    The answer is just

    Simple, use MODELS

  • 7/30/2019 IT1402e

    3/72

    Models

    Logical Models Physical Models

    Show what a systemis or does?

    Show not only what asystem is or does? But

    also how the system is

    implemented.Other names:

    Implementation Model

    Technical model

    Other names:

    Essential modelConceptual model

    Business model

  • 7/30/2019 IT1402e

    4/72

    Process Modeling

    Process ModelingIs a technique for organizing and documenting the

    structure and flow of data through a systems Processes ,policies, and procedures to be implemented by a

    systems Processes.

    Context DiagramIllustrate the systems interface to the business and

    outside world, including other information systems.

  • 7/30/2019 IT1402e

    5/72

    Process Modeling

    Context Diagram

    Library System

    Member

    Librarian

    SupplierAdmission card

    Application

    Whole system as one process

    E.g. Context Diagram of a Library System

    Shows the major data flows into

    and from the application, and the

    system boundaries.

    System boundary

  • 7/30/2019 IT1402e

    6/72

    Process Modeling

    Shows the top level function defined to cover the scopeof the application. It also shows the major data flows into

    and from the application, and the system boundaries.

    Top level function is then decomposed to its component

    functions (5-9 typically).

    Context Diagram

  • 7/30/2019 IT1402e

    7/72

    Process Modeling

    Process ModelsDFD (data flow diagram)

    Data flow diagram (DFD)DFD is a tool that depicts the flow of data through a

    system and the processing performed by that system.

    Order

    Invoic

    e

    Delivery notes

    Supplier

    Purchasing

    Dept.

    Stores

    Document Flow Diagram can be the

    Starting point

  • 7/30/2019 IT1402e

    8/72

    Process Modeling

    Gane and Sarson Symbols

    Pay a bill

    Rounded rectangleRepresent processes or work to be

    done. E.g.: pay a bill, withdraw money,etc..

    BankSquareRepresent external agent. E.g.: bank,

    supplier, creditor, etc..

  • 7/30/2019 IT1402e

    9/72

    Process Modeling

    Bank Accounts

    Open end box

    Represent data store which is sometimes called files.

    E.g.: bank, supplier, creditor, etc..

    ArrowsRepresent data flows or input and

    output. E.g.: payment, bill, withdraw,etc

    The above notation is called Gane and Sarson.There are several competing symbols set for DFDs.

  • 7/30/2019 IT1402e

    10/72

    Process Modeling

    processA process is work performed on, or in response to,

    incoming data flows or conditions.

    Input

    Hrs. 52, Rtae Rs.20

    Output

    0

    Salary Rs. 1040Payroll

    Feed back

  • 7/30/2019 IT1402e

    11/72

    Process ModelingProcess DecompositionIs a act of breaking a system into its component

    subsystems, processes, and sub processes.

    0

    UCSC System

    1

    Payroll sub system

    2

    Registration sub System

    1.1

    Process2.1

    Process

    1.2Process

    2.2Process

    1.1.1Sub Process

    1.1.2Sub Process

    1.1.1.1

    1.1.1.2

    Therearedif

    ferentstyleof

    decompositio

    ndiagrams.

  • 7/30/2019 IT1402e

    12/72

    Process ModelingProcess Decomposition

    AdvantagesImprovedCommunication

    Analysis

    Design.

    Decomposition continues until the functions reach

    elementary level. (cannot be further decomposed)

  • 7/30/2019 IT1402e

    13/72

    Process Modeling

    Example:Consider a system in a bank whereby account

    holders get their withdrawals affected.

    Whenever an account holder wants to withdraw

    some cash, he presents a cheque or withdrawal slip.

    The account is checked for appropriate balance.

    If balance exists, the cash is paid and the account

    is updated.

  • 7/30/2019 IT1402e

    14/72

    Process ModelingProcess DescriptionThe name of the process is insufficient to explain the logic

    to implement the process.

    Processes in the system specification should be specified in

    such a way that they can be converted to computer program.

    I am Kamal.How can I?Hey! Not enough

    tell more.

    Use process

    description methods.

  • 7/30/2019 IT1402e

    15/72

    Process Modeling

    Methods of process description Structured English Decision Tree

    Decision Table

    Process Description

    If my IT marks more than 70 then grade is Distinction

    Else if mark more than 40 then PassElse Fail

    IT Subject

    Distinction* >70

    * >40Pass

    Fail

  • 7/30/2019 IT1402e

    16/72

    Process Modeling

    Structured English

    Syntax is very similar to block structured languages.

    Process Descriptions

    Example:

    IF credit limit exceeded

    THENIF Customer has bad payment history

    THEN refuse credit

    ELSE

    IF PURCHASE ABOVE Rs.1000/=THEN refuse credit

    ELSE refer to manager

    ELSE allow credit

  • 7/30/2019 IT1402e

    17/72

    Process Modeling

    Decision Tree

    Process Descriptions

    Credit limitexceeded

    Credit limit not

    exceeded Allow credit

    Bad payment history Refuse credit

    Good payment

    History

    Purchase below Rs.1000/=

    Purchase above

    Rs 1000 Refuse credit

    Refer to Manager

  • 7/30/2019 IT1402e

    18/72

    Process Modeling

    Decision Table

    Process Descriptions

    X

    Y

    NN

    X

    N

    YN

    XXXX

    XRefer Manager

    XRefuse

    N

    NN

    Y

    YN

    N

    NY

    Y

    NY

    N

    YY

    YPurchase above Rs.1000/=

    YGood payment history

    Allow Credit

    YCredit limit exceeded

    Conditi

    on

    Actio

    n

    Y-TRUE N-NOT TRUE X-TAKE ACTION

    Better way of describing logic involving multiple condition

  • 7/30/2019 IT1402e

    19/72

    Process ModelingData flowsData flows are the communication between processes and thesystem environment.

    Data flowRepresent an input of data to a process or the output of data (or

    information) from a process

    Data flow symbol

    Data flow name

    Data flow names should be descriptive noun and noun phrases

    that are singular. E.g. Order not Orders

  • 7/30/2019 IT1402e

    20/72

    Process ModelingControl flowRepresents a condition or non data event that triggers a process.

    Control flow symbol

    Control flow name

    I have to get up@ 5.00 a.m.

  • 7/30/2019 IT1402e

    21/72

    Process ModelingIllegal vs. legal data flow

    548B1 B2

    88B1

    8B1DS1

    8DS1 DS2

    B1 B1P1

    B1 DS1P1

    B1DS1 P1

    DS1 DS1P1

  • 7/30/2019 IT1402e

    22/72

    Example : DFD

    Consider a system in a bank whereby account holders

    get their withdrawals affected.

    Whenever an account holder wants to withdraw some

    cash, he presents a cheque or withdrawal slip.

    The account is checked for appropriate balance.

    If balance exists, the cash is paid and the account is

    updated.

    Process Modeling

  • 7/30/2019 IT1402e

    23/72

    Withdrawal

    Acknowledge

    Account

    Holder

    Cheque/Withdraw

    al Slip

    Account

    Holder

    Example

    Step 1 - Context Diagram

    Using Gane and Sarson, notation

    Bank

    Payment

    System

    Process Modeling

  • 7/30/2019 IT1402e

    24/72

    Withdrawal Acknowledge

    Account

    Holder

    Cheque/Withdrawal Slip

    Account

    Holder

    Valid

    Balance

    Current

    BalanceNew

    Balance

    1Verify

    A/C

    Balance

    2

    Debit

    Withdrawal

    AmountAccount Master

    Example

    Step 2 - First Level DFD

    Process Modeling

  • 7/30/2019 IT1402e

    25/72

    Data ModelingA model is a representation of reality.

    Logical model Physical model

    Logical functions describe any changes

    of value made by the processes on logicaldata.

    Whereas logical functions more closely

    mirror the subject world.

    Logical DFDs only illustrate what occurs

    without showing how it occurs.

    Physical-level functions are closer to the

    usage world (real world).

    Usually a physical device is used to

    transform data. E.g. Computer, person,

    etc.

    Physical DFDs show things happen, or

    the physical components.

  • 7/30/2019 IT1402e

    26/72

    Data ModelingEntity Relationship DiagramsDepicts data in terms of the entities and relationships

    described by data.

    Entities

    An entity is something about which the business needs tostore data. Synonyms entity type and entity class

    Example:

    Employee Paris Ball Payment Concepts

  • 7/30/2019 IT1402e

    27/72

    Data Modeling

    Entity:is a class of

    Persons Places Objects Events Concepts

    An entity instance is a single occurrence of an entity. Every

    entity must have an identifier or key to uniquely identifyeach instance.

    about which we need to capture and store data.

    Entity Relationship Diagrams

  • 7/30/2019 IT1402e

    28/72

    Data Modeling

    Symbol:

    Consider Martin notations.

    DEPARTMENTEMPLOYEE

    The named rounded rectangle represent the entity.

    A line represent the relationship.

    Entity Relationship Diagrams

  • 7/30/2019 IT1402e

    29/72

    Data Modeling

    Attribute:is a descriptive property or characteristics of an entity.Sometimes called as element, property, and field.

    A key is an attribute, or group of attributesthat assumes a unique value for each entity

    instance. It is some time called an identifier.

    EMPLOYEENIC_NO

    Name

    Address

    Age

    .

    .

    .

    This person can be identified using his ID number.

    Entity Relationship Diagrams

  • 7/30/2019 IT1402e

    30/72

    Compound Attribute is one that actually consist of otherattributes.

    Synonyms- composite attribute,

    concatenated attributedata structure.

    Example : Address

    Street Address

    City

    Country

    Postal Code

    Data Modeling

    Entity Relationship Diagrams

  • 7/30/2019 IT1402e

    31/72

    The values for each attribute are defined in terms of threeproperties:

    1. Data type What type of data can be stored in that

    attribute.2. Domain What values an attribute can legitimately take on.

    3. Default Is the value that will be recorded if not specifiedby the user.

    Data Modeling

    Entity Relationship Diagrams

  • 7/30/2019 IT1402e

    32/72

    RelationshipsNatural business association that exists between one or

    more entities

    May represent an event that links the entities or logicalaffinity that exits between the entities.

    E.g.. an EMPLOYEE assigns to a JOB

    EMPLOYEE Assigns

    Data Modeling

    Person married relationEntity Relationship Diagrams

    JOB

  • 7/30/2019 IT1402e

    33/72

    Cardinality

    Defines the minimum and maximum number of occurrences

    of one entity that may be related to a single occurrences of

    the other entity.

    or

    Exactly one

    Data Modeling

    Person married relation

    Exam

    ple:

    Entity Relationship Diagrams

  • 7/30/2019 IT1402e

    34/72

    I might bemarried or not

    Data Modeling

    I may havesome friends or

    none

    Entity Relationship DiagramsCardinality

    Zero or one

    Zero, one or more

  • 7/30/2019 IT1402e

    35/72

    Data ModelingEntity Relationship Diagrams

    Cardinality

    I have to work at

    least one, or more

    projects.

    I am working on

    many projects.

    One or more

    More than one

  • 7/30/2019 IT1402e

    36/72

    DegreeNumber of entities that participate in the relationship

    Degree =1

    Recursive Relationship Relationship that existsbetween different instances of the same entity.

    Data Modeling

    EMPLOYEE

    Supervise

    Entity Relationship Diagrams

  • 7/30/2019 IT1402e

    37/72

    Degree =2

    Binary Relationship - When two different entitiesparticipates in a relationship

    Data Modeling

    DEPARTMENT EMPLOYEEWorks for

    Entity Relationship Diagrams

    Degree

  • 7/30/2019 IT1402e

    38/72

    Degree =3

    Ternary or 3-ary Relationship -When more than two different

    entities participates in a relationship.

    Data Modeling

    PROJECT EMPLOYEE

    LOCATION

    ASSIGNMENT

    Entity Relationship Diagrams

    Degree

  • 7/30/2019 IT1402e

    39/72

    Object Modeling

    IntroductionThe object oriented approach differs from structured

    systems analysis and design.

    Thus, rather than modeling systems by data flows, E-Rdiagrams or process descriptions, all three components

    are integrated together into objects.

  • 7/30/2019 IT1402e

    40/72

    Object Modeling

    Introduction

    In Object Analysis you do not need to think in terms of

    building one large system.

    Instead we identify objects as independent entities having

    their own local goals.

    Such objects exchange messages between themselves

    to achieve a global goal of the large system.

  • 7/30/2019 IT1402e

    41/72

    Object Modeling

    Introduction

    What is an Object?

    Objects are the elements through which we understand theworld around us.

    Objects have

    recognizable identities or properties (what it knows)

    and

    particular behaviors or methods (What an object does)

    These identities and behaviors enables us to recognize

    them as discrete things

  • 7/30/2019 IT1402e

    42/72

    Object Modeling

    Human is an object

    Properties

    Skin tone

    Height

    Weight

    Etc

    Behavior

    Smile

    Run

    Walk

    Etc

    Ball,Sticka

    reotherob

    jects

  • 7/30/2019 IT1402e

    43/72

    Introduction

    The object oriented approach differs from structured

    systems analysis and design.

    Thus, rather than modeling systems by data flows, E-R

    diagrams or process descriptions, all three components

    are integrated together into objects.

    Data model

    E-R ModelData flow

    Object Modeling

  • 7/30/2019 IT1402e

    44/72

    Object Modeling

    Object-oriented analysis (OOA)

    OOA is a technique used to:

    Reuse existing components

    Define new or modified objects that will be

    combined with existing objects

    In order to produce useful business computing application.

    Reuse

    New Modify

  • 7/30/2019 IT1402e

    45/72

    Object Modeling

    Object modeling (OM)OM is a technique for identifying objects within the

    systems environment and the relationships betweenthose objects.

    Class room

    Identified objects in class room

    Teacher Book

    Chair Student

    Etc

  • 7/30/2019 IT1402e

    46/72

    Object ModelingClassA class is a set of objects that share common attributesand behavior. A class is sometimes referred to as anobject class.

    Smile ( )

    Run ( )

    Study ( )

    Name

    Age

    Grade

    Student

    Stud

    entC

    lass

    Open()

    Close()

    ISBNauthortype

    title

    copyright

    Book

    Book

    Cla

    ss

  • 7/30/2019 IT1402e

    47/72

    Object Modeling

    Generalization/Specialization

    Person

    Teacher Student

    Smile ( )

    Run ( )Eat ( )

    Name

    Age

    Gender

    PersonGeneralization/specializa

    tion is a technique whereinthe attributes and

    behaviors that are common

    to several types of objectclasses are grouped into

    their own class, called a

    supertype. The attributes

    and methods of thesupertype object class are

    then inherited by those

    object classes.

  • 7/30/2019 IT1402e

    48/72

    Object Modeling

    Generalization/Specialization

    Person

    Teacher Student

    Smile ( )

    Run ( )Eat ( )

    Name

    Age

    Gender

    Person

    A class supertype is anobject class whose

    instances store attributes

    that are common to one ormore class subtypes of the

    object.

  • 7/30/2019 IT1402e

    49/72

    Object Modeling

    Generalization/Specialization

    Person

    Teacher Student

    Smile ( )

    Run ( )Eat ( )

    Name

    Age

    Gender

    Person

    A class subtype is anobject class whose

    instances inherit some

    common attributes from aclass supertype, and then

    add other attributes that

    are unique to an instance

    of the subtype.

  • 7/30/2019 IT1402e

    50/72

    Subtype

    Supertype

    Example:

    Object Modeling

    Generalization/Specialization

    Non Academic

    Staff

    Academic Staff

    Postgraduate Under Graduate

    StudentStaff

    Department

  • 7/30/2019 IT1402e

    51/72

    UML Representation of Generalization/Specialization

    Department

    Name

    ID

    T.P No:

    Address

    Approval()

    Sent()

    Receive()

    Staff

    Name

    IDT.P No:

    Address

    Submit()

    Sent()

    Student

    Name

    IDT.P No:

    Address

    Schedule set()

    Lecture()

    Arrowhead

    indicates

    Generalization/

    Specialization

    relationship

    Object Modeling

    Generalization/Specialization

  • 7/30/2019 IT1402e

    52/72

    Object Modeling

    Object/Class relationship

    is a natural business association that exists between

    one or more objects/classes. Although objects can be developed independently of

    other objects, they also have a relationship to other

    objects. One such relationship is to use a link directly from one

    object to another : Association

    Example: There are many student in the each class

    Class Student1 1 *

    Studies

  • 7/30/2019 IT1402e

    53/72

    Multiplicity defines how many instances of one

    object/class can be associated with one instance of

    another object/class.

    Multiplicity

    Library Books1 1 *

    Object Modeling

    Allthelibra

    ryhavi

    ngalo

    tofbo

    oks

  • 7/30/2019 IT1402e

    54/72

    Multiplicity

    Object Modeling

    Works for

    DepartmentEmployee1Works for

    DepartmentEmployee

    1 orleave blank

    I am working for

    one and only

    departmentExactly one - 1

  • 7/30/2019 IT1402e

    55/72

    Object Modeling

    Some customers

    are paying much

    but some are not

    0..*Makes PaymentCustomer

    PaymentCustomerMakes *

    Zero or more 0..*

    Multiplicity

  • 7/30/2019 IT1402e

    56/72

    Object Modeling

    I am married

    0..1HasSpouseEmployee

    I am not married

    Zero or one 0..1

    Multiplicity

  • 7/30/2019 IT1402e

    57/72

    Object Modeling

    CourseUniversityOffers

    1..*

    We offer one or more

    courses

    One or more 1..*

    Multiplicity

  • 7/30/2019 IT1402e

    58/72

    Object Modeling

    GameTeam7..9Has

    sch

    eduled

    Brazil 2004

    We have to play 7 to

    9 games in 2004

    In year 2004 BRAZIL have to play 7, 8, or 9 games

    Specific range 7..9

    Multiplicity

    Games

  • 7/30/2019 IT1402e

    59/72

    Aggregation Relationship

    Object Modeling

    ChapterBook

    Composition Aggregation Relationship

    - Indicates Composition Aggregation Relationship

    1..*

    SADforBIT

    There are no books

    without chapter

    1..*

    Black filled diamond

  • 7/30/2019 IT1402e

    60/72

    Aggregation Relationship

    Object Modeling

    PlayerTeam

    Shared Aggregation Relationship

    Indicates shared

    Aggregation Relationship

    0..*

    0..*Team may have

    Ronaldo or not

    Diamond without filled

    0..*

  • 7/30/2019 IT1402e

    61/72

    Message

    Object Modeling

    A Message is passed when one object invokes one or

    more of another objects methods to request informationor some action.

    Dog can run & catch

    Catch the cat

    The catch message callcatch() method of dog

    then the catch method

    automatically call the run

    method.

  • 7/30/2019 IT1402e

    62/72

    Polymorphism

    Object Modeling

    It mean that the same named behavior may be completed

    differently for different objects.

    Polymorphism means many forms applied to object

    oriented technique.

    Op

    enaslid

    ingdoo

    r

  • 7/30/2019 IT1402e

    63/72

    ARCHITECTURAL PLAN

    Object Modeling

    Unified Modeling Language (UML)Only a notation that is now widely accepted as a standard

    for object modeling.

    UML DiagramsGives five different groups of diagrams to model a system.

    These deferent diagrams provides the development team adeferent perspective of the information system.

    ELEVATIONFLOOR PLAN

    Example: Well known Housing industry where they use lot of diagrams.

  • 7/30/2019 IT1402e

    64/72

    Object Modeling

    UML Diagrams

    Use Case Diagrams

    Graphically describe who will use the systems and in whatways the user expects to interact with the system.

  • 7/30/2019 IT1402e

    65/72

    Object Modeling

    UML Diagrams

    Class Diagrams

    Shows object classes that the system is composed of as wellas the relationship between those objects.

  • 7/30/2019 IT1402e

    66/72

    Object Modeling

    UML Diagrams

    Object Diagrams

    Similar to class diagrams, but instead of depicting objectclasses, they model actual object instances.

    Provide snap shot of the systems objects at one point in time

  • 7/30/2019 IT1402e

    67/72

    Object Modeling

    UML Diagrams

    Sequence Diagram

    Graphically depict how object interact with each other viamessages in the execution of a use case or operation.

  • 7/30/2019 IT1402e

    68/72

    Object Modeling

    UML Diagrams

    Collaboration Diagrams

    Similar to sequence diagrams but do not focus on the timingor sequence of messages. Instead they represent the

    interaction between the objects in a network format.

  • 7/30/2019 IT1402e

    69/72

    Object Modeling

    UML Diagrams

    State Diagrams

    Use to model the dynamic behavior of particular model. Theyillustrate an objects life cycle. During the life cycle the object

    can change to various states.

  • 7/30/2019 IT1402e

    70/72

    Object Modeling

    UML Diagrams

    Activity Diagrams

    Graphically depict the sequential flow of activities of either abusiness process or use case.

  • 7/30/2019 IT1402e

    71/72

    Object Modeling

    UML Diagrams

    Components Diagrams

    Used to graphically depict the physical architecture of thesystem.

  • 7/30/2019 IT1402e

    72/72

    Object Modeling

    UML Diagrams

    Deployment Diagrams

    Describe the physical architecture of the hardware andsoftware in the system.