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