Top Banner

of 18

System Design Lecure Notes

May 30, 2018

Download

Documents

saffu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/14/2019 System Design Lecure Notes

    1/18

    ******System Design******

    System Design: Is the preparation of the system specification in a detailed

    computer based solution is called physical design.

    System Architecture

    It defines the technology to be used to build the information system in

    terms of data, processes, interfaces and network components.

    It define the framework of the system design and specifically should

    answer the following questions:-

    System Architecture

    1. Will the system be centralized or distributed.

    2. Will the system data store be centralized or distributed.

    3. How much data store is required?

    4. What data store technology is used?

    5. Will the SW be purchased, built-in or both?

    6. What technology will be used to write programs?

    7. How user will interact with the system.8. How data will be input.

    9. How outputs will be generated.

    10. How the system will interface with already existing systems.

    ******Input Design******

    Input Design:The quality of the system inputs defines the quality of the

    system.

    Types of inputs

    Input form.

    Input screen.

    Web fills in form.

    Electronic data conversion

  • 8/14/2019 System Design Lecure Notes

    2/18

    The cycle through which paper data can be converted into electronic data.

    It contains three steps:

    Data capture: registration of paper data on a source docs.

    Data entry: entering data from source docs into electronic media.

    Data input: inputting data from electronic media into the DB system.

    Batch versus online inputs

    Batch: input process include data capture, data entry, and data input

    On-line: input process includes capture and input data directly to the

    computer using input screens.

    Online Input

    Input design objectives:

    Making input completion easy and efficient.

    Assuring accurate input completion.

    Assuring the consistency between forms and related screens.

    Making the screen and forms attractive.

    Assuring input satisfy the system requirements.

    Inputs should fit the user.

    Notes on making the input completion easy and efficient: Input should be designed such that volume of input is minimized: Capture only variable data.

    Don't capture constants data that can be completed.

    Use codes for appropriate attributes, when possible.

    Source documents should be easy to handle, when it will be used:

    Data

    Capture

    SourceDocument

    Data

    entry

    Disk

    Data

    input DB

    Data

    Capture

    Data

    input DB

  • 8/14/2019 System Design Lecure Notes

    3/18

    Include instructions. Minimize amount of handle.

    Keyed data should be squared (top down right - left).

    Assuring accurate input completion

    Internal controls:

    Monitoring number of inputs. (for both batch and on-line processing)

    Applying various recovery techniques such as:

    Completeness check.

    Limit/ Range check.

    Combination check.

    Picture check.

    --- Etc.

    External controls:

    Text box.

    Radio buttons.

    Check box.

    Combo box.

    General consideration:

    Clear and meaningful caption.

    List of choices should be ordered/ involving user.

    List of choices should be left justified/ right justified. Width of combo box is available for max width.

    Assume default values.

    Making screens & forms attractive

    Items should be arranged logically Leaving enough space for information to be entered

    Use different & appropriate fonts & colors

    Internet & intranet page design guidelines:

    Use variety of text boxes, buttons, drop-down menus, check boxes and

    radio buttons in the form.

    Provide clear usage instructions.

    Follow logical order to fill in page.

  • 8/14/2019 System Design Lecure Notes

    4/18

    Create feedback screen that refuses submission of the page until all

    necessary information has been entered.

    Provide a scrolling text box whenever you are in certain about how much

    spac3eis required by the costumer to fill in.

    If the pages are very lengthy, divide into separate pages.

    Form contents

    Heading (Name, Address, Logo )

    Identification and access (archiving code)

    Instructions for usage.

    Body (main part of the document).

    Signature & verification.

    Total.

    Issuing data

    Comments, if needed.

    Screen contents

    Heading.

    Body

    Menus / buttons

    Instructions if needed

    Hyperlinks.

    ******Output Design******

    Output: is the information delivered to the user through Intranet (LAN),

    extranet (WAN), World Wide Web (www) or manually by hands.

    Outputs can be on one of the following forms:-

    Printed reports. (printed or preprinted)

    Computer screens.

    Microforms. (microfilm, micro flash, )

    Audio outputs. Web pages

    Output Design Objectives can be:

    Should cover system requirements.

    should fit the user

    Output should be delivered in appropriate quantity.

  • 8/14/2019 System Design Lecure Notes

    5/18

    Output should be delivered in appropriate place (where needed). Output should be delivered in appropriate time (when needed)

    Choosing the right output form(type)

    Should cover system requirements.

    Output should perform a specific function.

    It should be defined according to system requirements.

    Should fit the user.

    To design user customized output.

    Output should address the user needs.

    Output should be delivered in appropriate quantity.

    System should provide user appropriate quantity of output to

    achieve his work.

    Keep the decision maker to decide quantities of output required.

    Output should be delivered in appropriate place (where needed). To insure the output is generated in the appropriate place.

    To insure the output is generated in the appropriate place to the

    right user.

    Output should be delivered in appropriate time (when needed).

    Providing output on time guarantee the high performance of the

    organization.

    Keep the decision maker involved to decide time provision of the

    outputs.

    Choosing the right output method according to the nature of the

    information system.

    Output screen design guidelines:

    Keep the screen simple

    Keep the screen presentation constant

    Facilitate user moment among screens

    Create an attractive screens Refer to input screen design

    Graphics can be included but the following should be defied:

    Purpose of the graph Kind of the data to be presented

    Audience of he graph

    Web sites considerations

  • 8/14/2019 System Design Lecure Notes

    6/18

    Use professional tools.

    To optimize time, quality, & performance

    Study other websites (professional and poor).

    To analysis their elements & how they are functioning

    To define weak points in the professional one

    Then create a model prototype for your own

    Use website evaluation forms.

    To distinguish weak & string points in your site & put an evaluation plan

    Consult books

    To enrich your knowledge about websites design & information

    Rationalize

    The usage of plug-ins audio & video to encourage the visitors to your site

    Plan ahead for your site, to define & cover:

    Structure.

    Contents. Graphics.

    Text.

    Presentation.

    Navigation.

    Promotion.

    Maintenance.

    ******User Interface******

    User Interface: Is the set of screens that represents the dialogue between

    the user and the computer that leads to achieve a user request.

    User Interface has two basic components:

    Presentation language

    Action language

    Types of user interface can be:

    Natural language interface

    Question & answers interface

    Menu interface

    Form fill inter face Command language interface

    Graphical user interface Other interfaces

  • 8/14/2019 System Design Lecure Notes

    7/18

    Natural language interface

    It is dream & ideal interface but not yet completely implemented.

    It is suitable to inexperienced users (no skill is needed).

    It is designed to use natural language.

    Question & answers interface

    It has 2 types :

    Receive answer as a "text" & accordingly do the required

    processing.

    Receive answer as a "button" & appropriate processing

    accordingly.

    Menu interface

    It has 4 types :

    List of items

    Pull-down menus

    Nested pull-down menu Pop-up menus

    List of items

    Menu with a lot of items which displayed the user is limited to a

    defined number of choices.

    The user selects one choice by key based on mouse.

    The system receives the choice and designate its nature & be

    appropriate processing accordingly

    Pull-down menus

    Displayed when the user activate it from a menu bar. The user selects a choice from the list of choices in the

    displayed pull-down menu.

    The systems receive the choice & do the appropriate processing

    accordingly.

    Nested pull-down menu

    It is the same as pull-down menu but for more than one level. It called also object menu & displayed when the user clicks on

    the mouse right button.

    It contain items specific to current object The systems do specific processing depending on the choice

    selected & nature of objects.

    Form fill interface

    Consists of a screen form, or web based for display by data items

    that represent parameter need to be filed by the user.

    Such needed parameters can be high lighted or flashed.

  • 8/14/2019 System Design Lecure Notes

    8/18

    Can be simplified by introducing the default values. Command-language interface

    It allows the user to control the application through out of

    commands.

    It is suitable to experienced users only.

    The mostly usually used command language in the SQL.

    Graphical user interface

    It allows direct manipulation of graphical objects in the screen.

    It depends, basically, on the drag & drop process.

    It requires more experienced users.

    Others user interface

    Styles interface

    It depends on a usage of special open for hand writing.

    It depends on the hand writing recognition.

    Touch sensitive screen It allows user to identify objects on the screen.

    It depends on the existence of a grid of light beams.

    Voice recognition

    It depends on the voice recognition module mounted and

    conversion to a corresponding commands that be executed by

    the system.

    Guidelines for dialogue design

    Meaningful communication.

    Minimal user action. Standard options and consistency.

    Meaningful communication

    System should present info. To user in a very clear form.

    Info. Should have a title in each screen.

    Using abbreviation in a limited way. Response from the user should be clearly defined.

    Provide instructions to the user to help.

    To provide the user with code meaning as well as data in editedformat (i.e. visual assist).

    Response from the user should be clear, definite and understood by

    the system.

    Minimal user action

  • 8/14/2019 System Design Lecure Notes

    9/18

    To minimize the user key strokes through: Keying codes instead of whole word or complete description. As

    the Code enters the system the forms automatically filled in.

    Supply the editing characters. i.e. dd/mm/yyyy

    Using default values.

    Providing pull down and pop up menus.

    combine between all the above is recommended

    Standard options and consistency

    System should be consistent of through out all different screens by:

    Locations of titles, date, time, feedback, messages,

    Way of exiting program.

    Way of obtaining helps.

    Standardizing colors, fonts, sizes,

    Standardizing icons, functions keys,

    Consistent usage of terminology. Consistent way of screens navigation i.e.: opera thumbnails

    System feedback for user

    Feedback from the system to the user can be necessary in the following

    cases:

    To notify the user that the computer has accepted his input.

    To notify the user that his input is in the correct/not correct form.

    To notify the user that there will be a delay in the processing.

    To notify the user that the request has been completed.

    To notify the user that the computer is unable to complete the request.

    ******Database Design******

    Database Design:Data storage is the heart of any information system.

    Database structure: it's the database technology including:

    DB management utilities.

    DB analysis and design case tools. DB application development tools.

    Database objectives:

    Making data available according to user needs.

    Assuming data integrity.

  • 8/14/2019 System Design Lecure Notes

    10/18

    Supporting efficient updating, storage and retrieval.

    Data can be stored in computer based system using two ways:

    Flat files.

    Database files (which ids central source of data that can be shared by

    many applications).

    Flat file can be organized under 4 files types:

    Mater files

    It contains master data, which are records that are relatively

    permanent; these records are in general very large.

    Each record contains primary key and several secondary keys & may

    apply a set of concatenated keys.

    It can be organized as: sequential, indexed sequential, a direct file

    organization.

    Examples: customer file , personal file, inventory file

    Transaction files

    It's used to enter changes that update master files.

    Its records are not every large.

    Examples: customer transaction file, personal transaction file

    Working files

    It's created during processing of other files as dummy files to help

    in processing. It's Helpful when it's needed to process specific files using more

    than one key.

    It should be deleted at the end of the run.

    Examples: sort and resort files

    Report files

    It's used when a program is to generate printed output. It's needed when the printed report request is more than the

    printing resources available.

    In this way, the printing requests are arranged in a queue &processed lates according to a specific strategy, this process is

    called spooling.

    Examples: spool files.

    File organization and accessing

  • 8/14/2019 System Design Lecure Notes

    11/18

    Sequential files:

    The records stored in dates according to a specific data item called

    the key of the file.

    When it is Sequential to Access that files it should go through

    entire file.

    This way is not recommended as it needs more searching time.

    It is suitable when all the records in the files are needed to be

    accessed.

    Indexed sequential files:

    The records are stored using a set of indexes created according to

    some data items.

    The records of that files be accessed using the same indexes.

    It is better than the sequential file since the search time a

    rationalized

    Direct files (Hash files) :

    The records are stored directly according to some hash function.

    The records of that file can be accessed using the same hash

    function.

    It is preferable in case the record to be accessed are substantially

    small

    Linked list files:

    Records are linked together by a set of pointers.

    It is achieved by using a set of pointers to direct multrecord located

    any where in the file needed.

    Database concepts

    Entity:it is an object or event that has a set of properties called attributes.

    Attributes:it represent an entity, the item the physical information of that

    property is called data item.

    A table (A relation):Contain data about an entity.

    A tuple:itrepresent a row, in one data base table, arrow is defined by a key

    attribute.

    Relationship:A relation between two tables, it can be: One to one

    One to many

    Many to many

    Key:it is a data item that can be used to identify a record it can be:

    Primary key

    Foreign key (secondary key)

  • 8/14/2019 System Design Lecure Notes

    12/18

    Concatenated key.

    Meta data about database:it is a description about the database that

    described for each data item (attribute) identification, name, length, type,

    usage, its range.

    Symbol:used to represent a database

    Database management system (DBMS)

    It is the heart of the database which allows the creation (generation)

    modification, and retrieval of data from database

    Database administrator (DBA)

    The personal that is responsible about achieving the data base objectives.he should insure the following:

    Bata sharing among verity of application

    Data accuracy and consistency

    The availability of required data for now and for the future

    The fulfillment of the data to the user needs

    Disadvantage of database

    It is location in one place meaning it is vulnerable to catastrophes

    Risk the only one person ,DBA is the responsible , privileged , andskilled to manage database

    Entity

    To one relation ship, exactly one

    To many, one or more

    To zero or more, only zero or one

    To zero or more, an be zero, one or more

    More than one, greater than one

  • 8/14/2019 System Design Lecure Notes

    13/18

    Database FilesFlat (conventional) files

    A collection of interrelated filesA collection of similar records

    Database types: hierarchal, network,

    related

    Files organization: sequential, indexed

    sequential, hash, direct

    More complexRelatively easy to design

    More costlyMore cheaper

    Can be used for multiple applicationBased only on one application

    More slowly, but going to improveImproved processing speed

    Ability to share data among more than one

    application

    Difficult to share one file among more

    than one application

    Limited and reduced redundancy but

    strolledDuplicate data lead to inconsistency

    Flexible and scalableInflexible & none scalable

    Data sharing increase the need foe back

    up & recovery produced users, security, &

    privacy enforcement

    More secure since data sharing is

    limited

    Terminologies: attribute, tuple, table,

    relationship

    Terminologies: field, record, master

    file, transaction file

    DBA is responsible for DB technology, DB

    design construction, security, performancetuning

    Data administrator is responsible for

    data architecture and Mgt.

    Good data model characteristics:

    Model simplicity

    It should describe only the entity that is intended to describe

  • 8/14/2019 System Design Lecure Notes

    14/18

    Model non-redundancy

    No duplicated data (attributes) in the level of the one entity

    Model flexibility & adaptability to future need model should fit the future

    use without redesigning the model

    Flexibility & adaptability means that the model is easy to change to

    accommodate with new needs.

    Integrity constraints

    They are the rules that govern changing & deleting records & help keep

    the data in the data in the database accurate.

    They provide the necessary controls & they can be:

    Key integrity

    Domain integrity

    Referential integrity

    Key integrity controls should cover:

    Every table should have one PK (may beconcatenated ) No two records should have the same key value

    It should have no null value

    Domain integrity controls should cover:

    Every attribute can have a set of values called attribute domain.

    No attribute can take range of values outside such domain

    Referential integrity controls should cover:

    Various table can be linked together through a FK

    The use of FK increases the flexibility of the model but increase therisk for referential integrity errors.

    Referential integrity errors happen when a FK points out to a non-

    existed record.

    This can be deleted by enforcing one of the rules:

    Any record can be deleted without regard to any record in other

    table. Deleting a record in the table is automatically followed by the

    deletion of matching records in related tables.

    Disallowing deleting a record before deleting all related recordsin other tables.

    Deleting a record in one setting the key of other related

    records to null value.

    Program design

    The main component in the system design is the program design

  • 8/14/2019 System Design Lecure Notes

    15/18

    The system, in general consists of a set of application and each application

    consists of a set of programs

    The programs constituting the one application should be linked together

    by a set of interfaces

    An application should start by a log in screen, when a user wants to enter

    a program m he must enter his user name and password

    The system should check the entered user name and password to ensure

    their correctness

    When the application ensures their correctness, he starts to apply access

    right control to define the data and function allowed to that user

    Accordingly the design should define and design a separate relation table

    that defines the user profile concerning the application that contains the

    access right max contents

    The designer of the application or the program should include

    The inputs.

    The outputs.

    The processing in details.

    The supported data.

    Various interfaces.

    For each application and program, the following should be stated:

    Identification and description.

    Programming technology used.

    List of programs constituting the one application, or list ofmodules constituting the one program.

    Supported database description.

    List of various tests.

    List of tests should cover

    Unit module testing.

    Integration testing.

    Program testing. Performance testing.

    Functional testing.

    Acceptance testing.

    For each type of testing a document is prepared containing:

    List of tests.

  • 8/14/2019 System Design Lecure Notes

    16/18

    Description of each test. Report for each test.

    Plan of test execution.

    Transaction design

    The backbone of any computerized system is the up to date

    supported database

    Database to be usable and effective, should be recent and up

    to date

    In some organizations, data base can be classified as:

    Main database that support day to day work or daily

    work, it should be up to date

    Historical database which is aseies of results generated

    from the main database as a result of a user queries done

    for a given period of time, this data is kept for historical

    user later on when needed

    Transaction processing

    A transaction can be any action done on the database that

    results in a modification or change or update to part or all the

    database contents

    A transaction can be processed under one of two modes :-

    Batch transaction processing :

    In which transaction are processed in batches. Its can

    be applied when transaction registration is documented

    on paper, i.e. offline or when the computer needed is not

    connected or not available, only on limited period of timeat the end of processing an over all report is generated

    to tell the user the status of processing of all

    transaction.

    Online transaction processing :

  • 8/14/2019 System Design Lecure Notes

    17/18

    In which the transaction are processed online as soon as

    they are available for each entered and processed, an

    interface menu should be displayed to the user to tell

    them the status of processing.

    When designing the transaction format it should include

    Transaction identification (key).

    Transaction type.

    Transaction date.

    ******Example******

    A company selling spares products, it receives customer order through its

    web site order form; it receives the customer order then generates the

    related invoice, it generates the related invoice & it generate two copies of

    the invoice one sent to the customer by e-mail and the other is sent to the

    store for further processing

    The processing can be as follows:-

    validate the data entered in the form to ensure: Existing of the customername, address, phone, fax and email a quantity against each product is

    greater than zero existence of the stored product in the database

    storing the validated orders in the data base

    generate the corresponding invoice as following:

    Pricing the indidal

    calculate the value of each product as quantity unit price

    Calculate t the invoice total value , stored the generated invoice in

    the database, send a copy to the customer by email, send another

    copy to store department input form Output form

    Related interface screen

    Define the system technical architecture

    Draw the data base schema

  • 8/14/2019 System Design Lecure Notes

    18/18

    State the varies program/mode required for implementing the

    simplicity

    Design the transaction