[Skip Navigation] [Remove Frame] [CS372] [Text Version] cs372/a6.html Fri Sep 14 15:09:29 PDT 2007


    System Modeling

      We have already discussed one of the most popular tools: Data Modeling: [ a5.html ] and this discusses other ways of "Drawing a picture of a system". Later we will get to some very detailed tools [ r1.html ] (Rules and procedures), [ r2.html ] (requirements), and [ r3.html ] (Specifications).


      A glossary is one of the must useful documents you can develop when analysing an enterprise.

      All a glossary does is record the meanings given to the words and phrases that are used in different parts of the enterpise.

      You can use 3><5 cards, text files, spread sheets, or even a small data base.

      A glossary can grow into a data dictonary if you add detailed information on the processes, external entities, and data for the enterprise. This in turn becomes the information you must have to design new systems.

      Basic Scenarios


        A basic scenario can be used to describe any pattern of activity that you either observe in the real world, imagine as existing, or plan to be part of your future system.

        A scenario is no more than a sequence of very simple actions by subjects.


        1. Monica gets the mail.
        2. Monica puts each item from the mail in a pigeon hole.
        3. Faculty takes mail from their pigeon hole.
        4. Faculty puts mail in trash can.

        Keep Them Simple

        To keep them simple use only the following actions (borrowed from Basic English).
      1. action::="does"|"makes"|"puts"|"gets"|"goes"|"takes"|"gives"|"lets"|"keeps"|"sends" | "says" | "inputs" | "outputs".

        Make each step in the sequence follow this syntax

      2. event::=subject action (object|) #(N(direction) (target|)) period,

        where a direction is one of

      3. direction::="in"|"on"|"to"|"from"|"off"|"thru"|"by"|"of"|"after"|"before"|"at"|"with"|"over"|"under"|"up"|"down"|"among"|"about"|"between"|"across"|"out",

        The subjects, objects, and targets can be any noun phrase.

        .Exercise Write Basic Scenario describing what happens when you

        1. Pumping gas.
        2. Register for a class.
        3. Submit CS372 assigned work.
        4. Plan to interview someone.
        5. Write a program.


        Notice that a basic scenario has no branches, conditions, exceptions, extensions.

        For these an activity diagram can be used ... with each activity documented by a basic scenario

        Also See

        [ usage_scenarios.html ]

      . . . . . . . . . ( end of section Basic Scenarios) <<Contents | End>>


        "Never talk top the user without a prototype in your hand".

        What is a prototype

        A prototype A prototype is not
        can be an executable programuseful to the users
        can have a data basefull of all the real data
        demonstrates how something appears to worka finished product
        works on some inputcompletely correct
        is produced quicklya high quality long term project
        runsefficient on real data
        tests ideasa program test
        is for the useralways executable code
        provokes discussionthe best possible solution to the problem
        Can be used to sell a projecta promise that a project is feasible

        Prototypes in other areas

          Story Boards

          A poster showing the successive screens/pages as a scenario is executed.

          The term comes form the movie industry where directors use them. You will often find images of story boards as "extras" on DVDs. [ search?cat=img&cs=utf8&q=story+board&rys=0&itag=crv ]

          These are not high-tech prototypes. Use a board and stick cards on it.

          Used as a basis of planning and discussion.

          Mock Ups

          A mock up looks like the real thing and may even do some things but is not properly constructed. [ search?cat=img&cs=utf8&q=Mock+up&rys=0&itag=crv ]

          It's possible the term comes from publishers. A computer example is faking a web page to show its look-and-feel.

          Concept Cars

          Many automobile companies produce strange and wonderful one off cars in exhibitions to show what is possible. [ search?cat=img&cs=utf8&q=concept+car&rys=0&itag=crv ] Most don't make it into production.

          Use to sell a new system to management?

          Bread Boards

          Once upon a time electronic engineers would try out ideas on the kitchen table and use a bread board to hold the wires in place.

          To this day you can buy special electronic breadboards: [ search?cat=img&cs=utf8&q=Bread+board&rys=0&itag=crv ] Typically an untidy mess of wires with many inputs, meters, and probes attached to it.

          Used by software people to try out an algorithm -- full of extra outputs and with a user interface designed for techies. Don't let the user see these!

          Scale Models

          A scale model has all the functionality of the final system but does not have the full data base. It's purpose is to spot performance problems early.

        . . . . . . . . . ( end of section Prototypes in other areas) <<Contents | End>>

      . . . . . . . . . ( end of section Prototypes) <<Contents | End>>

      Logical and Mathematical Models

      There have been experiments in using logic and discrete math to describe the behavior of a system in abstract form and then execute the model to see if the ideas work. It is also possible to manipulate them to search out unwanted behaviors. These are a part of [ ../cs556/ ] Formal Methods.

    . . . . . . . . . ( end of section System Modeling) <<Contents | End>>


  1. TBA::="To Be Announced".
  2. TBD::="To Be Done".