Site hosted by Angelfire.com: Build your free website today!

Home Up Contents Search Feedback Download

Phase 4
Security Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 Phase 6 Phase  7 Compiled by Muhammad Ahsan Shahzad

SYSTEMS ANALYSIS & DESIGN 

SYSTEM DESIGN AND ACQUISITION

· Phase 4: Systems Design 3 steps

  1. review system requirements
  2. design the system
  3. document/present the design
bulletStep 2: design the system
bulletoutput
bulletinput
bulletfiles and databases
bulletsystem architecture

Objectives (1st part)

bulletExplain the differences between logical and physical design
bulletDiscuss the objectives of systems design and provide guidelines for good design
bulletList and describe the major activities of the systems design phase
bulletDesign and use appropriate codes in systems design and development
bulletDiscuss types of output

Objectives (2nd part)

bulletDescribe the classifications of output reports and explain the differences among them
bulletDesign effective printed reports that will meet user requirements
bulletDesign screen reports that are easy to understand and use
bulletExplain output control concepts and methods

Systems Design Overview

bulletLogical vs. Physical Design
bulletLogical design defines necessary system requirements
bulletLogical design specifies what must take place, not how it will be accomplished
bulletPhysical design concerns how the system will be implemented
bulletPhysical design describes specific components and system specifications
bulletThe relationship between analysis and design
bulletLogical and physical design are related closely
bulletAnalysis should be completed before design
bulletDevelopers do not return from design to analysis work except in limited circumstances
bulletAn important fact is overlooked
bulletUsers have significant new needs
bulletLegal/governmental requirements change
bulletUnforeseen design issues or problems arise
bulletSystems design activities
bulletDesign the system
bulletOutput
bulletInput
bulletFiles and databases
bulletSystem architecture
bulletPresent the system design
bulletSystem design specification document  

General Guidelines for Systems Design

bulletCharacteristics of a well-designed system
bulletEffective
bulletSatisfies defined requirements
bulletAccepted by users
bulletReliable
bulletAdequately handles errors (input, processing, hardware, or human mistakes)
bulletMaintainable
bulletWell-designed and flexible
bulletFuture modifications considered
bulletDesign suggestions
bulletThree categories of considerations
bulletUser considerations
bulletData considerations
bulletProcessing considerations
bulletUser considerations
bulletMake the system user-friendly
bulletConsider where users receive output, or provide input to the system
bulletAnticipate future needs
bulletUsers
bulletInformation system
bulletOrganization
bulletData considerations
bulletEnter data where and when it occurs
bulletVerify data where it is input
bulletUse automated data-entry methods
bulletControl access for data entry
bulletReport all entries or changes to critical values
bulletEnter data into a system only once
bulletAvoid data duplication
bulletProcessing considerations
bulletUse a modular (structured) design
bulletDesign modules that perform a single function
bulletDesign tradeoffs
bulletDesign goals often conflict with each other
bulletEasier use might create more complex programming requirements
bulletMore flexibility might increase maintenance needed
bulletMeeting one user’s requirements might make it harder to satisfy another’s needs
bulletA major issue is quality versus cost

TRADEOFF

bulletGood design: the flexibility issue
bulletHardcoded (fixed) values are inflexible
bulletUsers’ needs constantly change
bulletVariable parameters can provide flexibility
bulletDefault values can be combined with user-defined parameters

Designing and Using Codes

bulletA code is a set of letters or numbers that represents an item of data
bulletCodes serve many useful purposes
bulletSave storage space and costs
bulletReduce data transmission time
bulletDecrease data entry time
bulletCan reveal or conceal information
bulletCan reduce input errors
bulletTypes of coding
bulletSequence codes
bulletBlock sequence codes
bulletClassification codes
bulletAlphabetic codes
bulletMnemonic codes
bulletSignificant digit codes
bulletDerivation codes
bulletCipher codes
bulletAction codes
bulletSelf-checking codes
bulletDeveloping a code
bulletKeep codes concise
bulletAllow for expansion
bulletKeep codes stable
bulletMakes codes unique
bulletUse sortable codes
bulletAvoid confusing codes
bulletMake codes meaningful
bulletUse a code for a single purpose
bulletKeep codes consistent

Introduction to Output Design

bulletUsers judge a system based on how well the output helps them perform their jobs
bulletOutput must be
bulletUseful
bulletAccurate
bulletUnderstandable
bulletTimely
bulletChecklist for output design
bulletDesign process depends on
bulletWhat is the purpose of the output?
bulletWho or what wants this information, why is it needed, and how will it be used?
bulletWhat information will be included?
bulletWhat format should be used?
bulletWhen will information be provided, and how often must it be updated?
bulletWill simultaneous user access be required?
bulletAre security or confidentiality issues involved that need to be considered?

Types of Output and Information Delivery

bulletTechnology affects how people communicate and obtain information
bulletPrinters
bulletScreens
bulletPlotters
bulletAudio output
bulletE-mail
bulletLinks to Web pages
bulletAutomated facsimile system
bulletComputer output microfilm (COM)
bulletOther specialized devices
bulletPrinted output
bulletImpact printers
bulletLaser printers
bulletTurnaround documents
bulletAdvantages/disadvantages of printed output
bulletMany people prefer to work with paper
bulletPaper is portable
bulletPrinted output is expensive to purchase, print, store, and dispose of
bulletPrinted output is outdated quickly
bulletScreen output
bulletThe screen is the most familiar output device
bulletMonitor
bulletCRT (cathode ray tube)
bulletLCD (liquid crystal display)
bulletVDT (video display terminal)
bulletGraphical output allows various special effects and user-friendly features
bulletScreen output reflects immediate data changes
bulletOther types of information delivery
bulletAudio output
bulletAutomated facsimile and faxback systems
bulletE-mail
bulletLinks to Web pages
bulletSpecialized forms of output

Designing Printed Reports

bulletReports can be classified by content
bulletDetail reports
bulletException reports
bulletSummary reports
bulletReports also can be classified by distribution
bulletInternal reports
bulletExternal reports
bulletDetail reports
bulletProvide the most information
bulletAt least one line of output is produced for each record processed
bulletDetail reports can be quite lengthy
bulletControl-break reports
bulletUse a control field
bulletMust be sorted on the control field before printing
bulletA control break occurs when the control field value changes
bulletException reports
bulletShow only records that meet a specific condition
bulletUseful when particular information is required
bulletSpecial parameter queries can be used to select only the records that meet specified conditions
bulletSummary reports
bulletShow only subtotals and totals
bulletUseful for upper-level managers who do not require extensive detail
bulletInternal reports
bulletDistributed within the organization
bulletUsually printed on stock paper
bulletBlank, single ply, standard size
bulletLess expensive
bulletCan be used for many types of reports
bulletExternal reports
bulletDistributed outside the organization
bulletMight include statements, invoices, or paychecks
bulletUsually printed on special forms
bulletMore expensive than stock paper
bulletPaper must be changed for each report printing job
bulletMulti-part forms must be separated or decollated
bulletSpecial forms can use preprinted graphics and logos
bulletSpecial applications, such as checks, require special forms

 

bulletDesigning the report
bulletMost reports use graphical design
bulletChoice of typefaces and scalable fonts
bulletMore design flexibility
bulletSome reports are character-based
bulletPrinted on high-speed impact printers
bulletRequire printer spacing charts for layout and design
bulletStock paper reports
bulletPage heading lines
bulletColumn heading lines
bulletColumn heading alignment
bulletSpacing between columns
bulletOrder of data items on detail lines
bulletGrouping detail lines
bulletReport footing
bulletImproving a report design
bulletDocumenting a report design
bulletDesign Consistency
bulletSpecial form reports
bulletCan use printer spacing charts to design
bulletPlacement of preprinted graphics can be indicated
bulletFunctional and aesthetic design principles are important
bulletField labels should be short but descriptive
bulletAvoid nonstandard abbreviations
bulletOrder and placement of printed fields should be logical
bulletTotals should be identified clearly
bulletReport volume and time calculations
bulletAccurate estimates are necessary to
bulletDetermine whether printing capacity is adequate
bulletAchieve efficient printing operations
bulletEnsure timely delivery of finished reports
bulletProvide reliable forecasts of paper and storage needs
bulletFactors to consider
bulletTypes of printers
bulletPrint volume calculations
bulletPrint-time calculations

A KEY QUESTION

bulletThe problem: users receive many reports, but do not seem to read them
bulletThe solution?

Designing Screen Output

bulletMajor advantage is timeliness
bulletScreen output can be produced when and where needed
bulletDisadvantage - no tangible record
bulletWhen would you use screen output?
bulletScreen design considerations
bulletMany print design principles apply to screens
bulletScreens also need instructions and messages
bulletUsers require immediate Help and feedback
bulletCharacter-based screens
bulletScreen locations are plotted using columns and lines
bulletUse screen display layout forms
bulletMessages typically on top or bottom line
bulletGraphical screens
bulletScreen locations are plotted in inches or other units
bulletMore flexible designs are possible
bulletCharacter output
bulletHigh-resolution monitors allow more flexibility
bulletDisplay must be clear and easy to read
bulletFonts and typefaces must be chosen carefully
bulletHigh-resolution monitors allow more flexibility
bulletDisplay must be clear and easy to read
bulletFonts and typefaces must be chosen carefully
bulletScreens vs. printed output
bulletInformation might need redesign for smaller screen
bulletMultiple screens might be necessary
bulletColumnar or tabular designs are possible
bulletGraphical output
bulletGraphical displays can be very effective
bulletMany formats are possible
bulletPie charts
bulletMaps
bulletBar charts
bulletArea charts
bulletScatter diagrams
bulletUse descriptive titles, label each axis, and include a legend
bulletSpecial effects
bulletCharacter-based systems can use special effects
bulletHigh brightness
bulletBlinking
bulletReverse video
bulletUse of different colors for emphasis
bulletGraphical environment provides options
bulletCommand buttons
bulletBoxes and borders
bulletUnlimited use of color
bulletCustom menus, icons, and multiple windows

Designing Other Outputs

bulletOutput to tapes and disks
bulletIn an integrated environment, data transfer is handled by interactive network design
bulletIn other cases, data transfer uses tapes or disks
bulletOutput from one program can be input to another
bulletAn output file format is a data structure that can be understood by another program or system
bulletTape or disk output design must calculate file volume
bulletOther output media
bulletFormat and contents depend on the output device and its requirements
bulletVarious output options exist
bulletPlotter output
bulletSeries of commands is formatted for the specific plotter being used
bulletComputer output microfilm (COM)
bulletOutput is recorded as images on roll or sheet film
bulletData scanned/stored in digital form

Output Control

bulletOutput integrity
bulletEnsure output is correct, complete, & secure
bulletInclude appropriate titles and dates on reports
bulletNumber pages consecutively
bulletIdentify the end of each report
bulletPrint/reconcile control totals/record counts
bulletReview error reports for possible causes
bulletCreate error file to flag uncorrected/reentered records
bulletOutput security
bulletProtects privacy rights and proprietary data
bulletImportant tasks to carry out
bulletControl the number of report copies
bulletDistribute reports only to authorized users
bulletStore sensitive reports in secure areas
bulletLabel all pages of confidential reports
bulletBurn/shred sensitive reports & other output
bulletInventory blank checks regularly
bulletStore signature forms securely  

Automated Design Tools

bulletReport generators
bulletIncluded in CASE tools & database programs
bulletPowerful, easy-to-use features
bulletEnter constant information (titles/headings)
bulletSpecify a print position for each item
bulletUse field sizes from data dictionary to create a design
bulletProduce a report definition
bulletCreates program code that can be modified
bulletScreen generators
bulletSimilar to report generators
bulletCreate displays using onscreen layout tools
bulletCompleting the report and screen designs
bulletEnsure consistency with data dictionary
bulletAutomate routine design tasks
bulletProduces rapid results
bulletDoes not guarantee good design
bulletStill must know and apply effective design to produce reports and screens that satisfy user requirements

Objectives

bulletDiscuss the objectives of systems input design
bulletExplain the differences among data capture, data entry, and data input
bulletExplain the differences between batch and online input
bulletList and describe the different types of data validation checks
bulletDiscuss effective source document design
bulletDesign input records
bulletDiscuss guidelines for effective screen design
bulletDescribe and design data entry screens, process control screens, graphical user interfaces, and Help screens
bulletExplain input control techniques

Introduction

bulletInput technology has changed greatly
bulletOutput quality depends on input quality
bulletOverall goals of input design
bulletUser-friendly interface
bulletInput processes that ensure data quality, accuracy and timeliness
bulletDefinitions
bulletData capture
bulletIdentification and recording of source data
bulletData entry
bulletConversion of source data into a computer-readable form
bulletData input
bulletProcess by which the computer-readable source data enters the information system

Input Design Objectives

bulletFour main input design objectives

1. Select input media and methods

2. Develop efficient input procedures

3. Reduce input volume

4. Reduce input errors 

bulletInput media and data entry methods
bulletBatch input method
bulletData entry is done over period of time
bulletCollection (batch) of data is input at one time
bulletOnline data entry method
bulletAlso called direct data entry
bulletData is validated and available immediately
bulletSource data automation
bulletCombines online data entry with online data capture
bulletUses magnetic data strips and swipe scanners
bulletCommon examples: ATMS, point-of-sale terminals, bar code readers, patient ID bracelets, libraries 
bulletDevelop efficient input procedures
bulletProcedures
bulletMust be efficient, timely, and logical
bulletMust identify potential bottlenecks
bulletReduce input volume
bulletLess volume means less time, effort, and cost
bulletFour guidelines

1. Input necessary data only

2. Do not input data that can be retrieved from system files or calculated from other data

3. Do not input constant data

4. Use codes

bulletReduce input errors
bulletFewer errors mean better data quality
bulletEight types of data validation checks

1. Sequence checks

2. Existence checks

3. Data type checks

4. Range checks

5. Reasonableness checks

6. Validity checks

7. Combination checks

8. Batch controls 

TRADEOFF

bulletShould users ever enter retrievable data for verification purposes?
bulletOnline data entry allows immediate verification, but batch input methods do not
bulletBatch input data can be verified by entering a second data item, such as a customer name in addition to a customer number, which must match a specific record when the data is input
bulletPros and cons: this method can detect invalid entries, but involves more time and expense

 A KEY QUESTION

bulletShould Prowler Products change to an online data entry system?
bulletPros: improved data accuracy, customer satisfaction, and company image
bulletCons: more expensive
bulletAlternatives?

Key Tasks in Input Design

bulletSix key tasks

1. Design data entry and input procedures

2. Design source documents for data capture, or devise other data capture methods

3. Design input data records

4. Design data entry screens

5. Design user interface screens

6. Design audit trails and system security measures 

Source Document Design

bulletSource documents
bulletRequest and collect input data
bulletCan trigger or authorize input actions
bulletProvide a record of the original transaction
bulletForm layout guidelines
bulletAllow sufficient space
bulletOffer clear instructions
bulletProvide logical organization
bulletUse captions effectively
bulletForm zones
bulletHeading zone
bulletControl zone
bulletInstruction zone
bulletTotals zone
bulletAuthorization zone
bulletSource documents can be external or internal 

Input Record Design

bulletInput record layout chart
bulletTo design and document batch input records
bulletMultiple record designs are used for transactions that involve constant and repeating data
bulletConstant fields (non-repeating data)
bulletRepeating fields
bulletInformation flow on a form
bulletShould be logical and easy to follow
bulletPoor design results in forms that are difficult to use, time-consuming, and prone to error 

Screen Design

bulletEffective screen design guidelines

1. Screens should be attractive and uncluttered

2. Information on a single screen should be displayed in a meaningful, logical order

3. Screen designs should be consistent

4. Messages should be specific, understandable, and professional

5. Messages should remain on the screen for an appropriate period of time

6. Special effects should be used sparingly

7. Users should receive feedback

8. Screen designs should be documented and approved as soon as possible 

bulletData entry screen design
bulletGuidelines

1. Restrict user access to screen locations where data is entered 2. Provide a descriptive caption for each field and show the user where to enter the data 3. Show a sample format if one is required 4. Require ending keystroke for every field 5. Do not require users to enter special characters 6. Do not require users to type leading zeroes or trailing spaces for alphanumeric fields 7. Do not require users to type trailing zeroes that follow a decimal point 8. Display default values that users can accept 9. Use default values for constant data 10. Display a list of acceptable values for fields with a limited number of valid choices 11. Provide a way to leave the data entry screen without inputting the current record 12. Provide an opportunity to confirm the accuracy of input data before entering it 13. Provide a means to move among form fields in a standard, or in another, order 14. Design the screen form to match the layout of the source document 15. Allow the operator to add, change, delete, and view records  16. Design a method to allow operators to search for a specific record   

TRADEOFF

bulletWhen should input data be validated? Is it better to check the values as soon as each value is entered, or wait until all fields are input? What issues should be considered?
bulletWhat type of field is involved, and does it affect other fields?
bulletCan data be validated at time of entry?
bulletCan missing data be obtained later?
bulletWhich method do users prefer? 

A KEY QUESTION

bulletAt Boolean Toys, should individual users be allowed to select data entry and validation methods, or should a standard method be required?
bulletWhat are the pros and cons of allowing different validation methods in the same system? 
bulletProcess control screen design
bulletUsers can control system actions with interactive menus and prompts
bulletMenu screens
bulletMenus display a list of user-selectable options
bulletMenu-driven system uses a hierarchy of main menus and submenus
bulletShortcut key combinations can be used in a menu design
bulletPrompt screens
bulletUser types a response to a prompt
bulletResponses can include commands
bulletStructured Query Language (SQL) can be used
bulletQuestion/answer screens can be used
bulletNatural language techniques can be used, similar to Internet search engines  
bulletGraphical user interfaces
bulletA GUI environment includes process control and data control, and are easy to use
bulletCommon features
bulletMenu bar
bulletToolbar
bulletDrop-down menus
bulletDialog, text, and drop-down list boxes
bulletOption (radio) buttons, toggle switches, and spin bars 
bulletHelp screen design
bulletSeveral methods to obtain Help
bulletClick a command button or toolbar
bulletPress a special key
bulletContext-sensitive Help
bulletProvides Help on the task in progress
bulletUser-selected Help
bulletHypertext
bulletUses links to display additional information on related topics
bulletHelp Screen Design guidelines
bulletProvide a direct route for users to return to the program after Help is obtained
bulletTitle every Help screen
bulletUse easy, simple, understandable Help text
bulletPresent attractive, uncluttered screens
bulletProvide appropriate examples
bulletUse hyperlinks
bulletInclude contact data for persons or departments responsible for assisting users 

Input Control

bulletMeasures to ensure that data is correct, complete, and secure
bulletEffective source document design
bulletData validity checks
bulletBatch input controls
bulletLog files for rejected records
bulletAudit trails
bulletData security measures, including encryption
bulletPassword and sign-on procedures
bulletRecords retention policies 

Automated Design Tools

bulletScreen and form generators
bulletUseful tools during input design as well as output design
bulletScreen and form generators interact with the data dictionary
bulletScreens and forms can include built-in field validation checks
bulletMock-ups can be produced quickly for user approval, together with design specifications

Systems Analysis and Design

8       As always, these notes are a supplement to, not a substitute for, class attendance.  

File and Database Design

Objectives

bulletDefine the terms entity, file, record, and attribute and discuss the various types of keys
bulletDraw an entity-relationship diagram, and explain the types of entity relationships
bulletDefine cardinality, cardinality notation, and crow’s foot notation
bulletExplain normalization, including examples of first, second, and third normal form
bulletCompare and contrast database management and file processing environments
bulletExplain various types of database organization, including hierarchical, network, and relational design
bulletDescribe various types of files, including master, transaction, table, work, history, and security
bulletDiscuss file and database control measures 

Data Terminology and Concepts

bulletDefinitions
bulletEntity: a person, place, thing, or event for which data is collected and maintained
bulletField (attribute): a single characteristic or fact about an entity
bulletRecord: a collection of fields that describes one instance of an entity
bulletFile: a set of records that contains data about a specific entity
bulletKey field: a field used to locate, retrieve, or identify a specific record
bulletPrimary key
bulletCandidate key
bulletForeign key
bulletSecondary key
bulletKey fields
bulletPrimary keys
bulletA field or combination of fields that uniquely and minimally identifies each member of an entity
bulletA primary key composed of more than one field is called a multivalued key
bulletCandidate keys
bulletAny field that could serve as primary key
bulletAny field that is not a primary key or candidate key is called a nonkey field
bulletForeign keys
bulletA field in one file that matches a primary key value in another file
bulletExample: the advisor number is a foreign key in the STUDENT file that matches a primary key value in the ADVISOR file
bulletA foreign key need not be unique
bulletA combination of two or more foreign keys can form a unique primary key value
bulletReferential integrity ensures that a foreign key value cannot be entered unless it matches a primary key value in another file
bulletSecondary keys
bulletA field or combination of fields that can be used to access or retrieve records
bulletSecondary keys do not need to be unique

Data Relationships and Entity-Relationship Diagrams

bulletEntity-relationship diagrams (ERDs)
bulletAn ERD is a graphical model that shows relationships among system entities
bulletEach entity is a rectangle, labeled with a noun
bulletEach relationship is a diamond, labeled with a verb
bulletTypes of relationships
bulletOne-to-one (1:1)
bulletOne-to-many (1:M)
bulletMany-to-many (M:N)
bulletA full ERD shows all system relationships
bulletOne-to-one (1:1) relationship
bulletExists when exactly one of the second entity occurs for each instance of the first entity
bulletExamples
bulletOne office manager heads one office
bulletOne vehicle ID number is assigned to one vehicle
bulletOne driver drives one delivery truck
bulletOne faculty member is chairperson of one department
bulletOne-to-many (1:M) relationship
bulletExists when one occurrence of the first entity can be related to many occurrences of the second entity, but each occurrence of the second entity can be associated with only one occurrence of the first entity
bulletExamples
bulletOne individual owns many automobiles
bulletOne customer places many orders
bulletOne department employs many employees
bulletOne faculty advisor advises many students
bulletMany-to-many (M:N) relationship
bulletExists when one instance of the first entity can be related to many instances of the second entity, and one instance of the second entity can be related to many instances of the first
bulletExamples
bulletA student enrolls in one or more classes, and each class has one or more students registered
bulletA passenger buys tickets for one or more flights, and each flight has one or more passengers
bulletAn order lists one or more products, and each product is listed on one or more orders
bulletA full ERD shows all system relationships
bulletExamples
bulletA sales rep serves one or more customers, but each customer has only one sales rep
bulletA customer places one or more orders, but each order has only one customer
bulletAn order lists one or more products, and each product can be listed in one or more orders
bulletA warehouse stores one or more products, and each product can be stored in one or more warehouses
bulletCardinality
bulletDescribes how instances of one entity relate to another
bulletMandatory vs. optional relationships
bulletCrow’s foot notation is one method of showing cardinality
bulletMost CASE products support the drawing of ERDs

 

bulletCreating an ERD

1. Identify the entities

2. Determine all significant events or activities for two or more entities

3. Analyze the nature of the interaction

4. Draw the ERD

Normalization

bulletRecord design process that identifies and avoids data problems and redundancy
bulletSpecifies the fields and the primary key
bulletNormalization analyzes record structure through four stages
bulletUnnormalized records
bulletFirst normal form (1NF) records
bulletSecond normal form (2NF) records
bulletThird normal form (3NF) records
bulletFirst normal form
bulletUnnormalized records contain a repeating group
bulletA repeating group refers to a single record that has multiple values in a particular field
bulletExample: multiple product numbers in a single order record
bulletA 1NF record cannot have a repeating group
bulletTo convert an unnormalized record to 1NF, the repeating group must be removed
bulletExpand the primary key to include the primary key of the repeating group
bulletThe new primary key is a combination of the original primary key and the key of the repeating group
bulletInstead of a single record with a repeating group, the result is many records, one for each instance of the repeating group
bulletSecond normal form (2NF)
bulletTo be in second normal form, a record must be in 1 NF, and all nonkey fields must be functionally dependent on the entire primary key - not just part of it
bulletFunctional dependency means that a value in one field determines a value in another field
bulletIf the primary key is a single field, then any record in 1 NF is automatically in 2 NF
bulletIn 2NF, all nonkey fields are functionally dependent on the entire primary key
bulletTo convert a 1NF record to 2NF
bulletCreate a new record design for each field (or combination of fields) in the primary key
bulletPlace remaining fields with the appropriate record
bulletThe result will be several records, each with a primary key field (or combination of fields) that determines the values of the other fields in that record
bulletThird normal form (3NF)
bulletTo be in 3NF, a record must be in 2NF and no nonkey field is functionally dependent on another nonkey field
bulletIn 3NF, all nonkey fields are functionally dependent on the primary key, the entire key, and nothing but the key
bulletTo convert a 2NF record to 3NF
bulletRemove all nonkey fields that depend on another nonkey field and place them in a new record that has the determining field as a primary key

 

bulletA normalization example (see page 8.15)
bulletIdentify the entities
bulletADVISOR
bulletSTUDENT
bulletCOURSE
bulletIdentify the relationships
bulletOne advisor advises many students (1:M)
bulletStudents take one or more courses, and courses have one or more students (M:N)
bulletDocument the unnormalized record
bulletNote the repeating group of courses
bulletConvert the unnormalized record to 1 NF
bulletRemove the repeating group
bulletCreate a primary key composed of the original primary key (student number) and the primary key of the repeating group (course number)
bulletThe result is one record for each instance of the combination primary key
bulletConvert the 1 NF record to 2NF
bulletCreate a separate record design for each field and combination of fields in the primary key
bulletPlace functionally dependent fields with an appropriate primary key
bulletThe result is three records instead of one, each with a unique primary key
bulletNow all nonkey fields are dependent on the entire primary key, not just a portion of it
bulletConvert the 2NF record to 3NF
bulletThe STUDENT record contains a nonkey field (advisor name) that is dependent on another nonkey field (advisor number)
bulletCreate a new record with advisor number as the primary key
bulletRemove the dependent nonkey field (advisor name) and include it in the new record
bulletNow all nonkey fields are dependent on the entire primary key, and nothing but the key

Steps in Database Design

bulletFour steps in database design

1. Create the initial ERD

2. Assign all data elements to entities

3. Create 3NF designs for all records, taking care to identify all primary, secondary, and foreign keys

4. Verify all data dictionary entries

Database Management

bulletPotential problems in a file processing environment
bulletData redundancy
bulletInconsistent data
bulletInefficiency

 

bulletDatabase management design
bulletA database is a structure that can store data about many entities and the relationships among them
bulletElements of database management systems
bulletA database management system (DBMS) is used to create, access, and control a database
bulletData definition language (DDL)
bulletData manipulation language (DML)
bulletQuery language
bulletData dictionary
bulletUtility programs
bulletCharacteristics of database management systems

1. Scalability

2. Better support for client/server systems

3. Economy of scale

4. Sharing of data

5. Balancing conflicting requirements

6. Enforcement of standards

7. Controlled redundancy

8. Security

9. Increased programmer productivity

10. Data independence

bulletA DBMS is more powerful, complex, and expensive than a file processing system
bulletEffective security, backup, and recovery procedures are essential
bulletData is a company-wide resource
bulletData mining enables users to extract information from anywhere in the organization

Database Models

bulletHierarchical databases
bulletData is organized like a family tree or organization chart
bulletThe parent record at the top of the hierarchy is the root record
bulletPointers are used to navigate and access records
bulletNetwork databases
bulletThe network database model is shown as a set of records arranged in one-to-many relationships
bulletA relationship between two records is called a set, which includes owner and member records
bulletA record can be a member of multiple sets

 

bulletRelational databases
bulletData is organized into two-dimensional tables, or relations
bulletEach row is a tuple (record) and each column is an attribute (field)
bulletA common field appears in more than one table and is used to establish relationships
bulletBecause of its power and flexibility, the relational database model is the predominant design approach
bulletObject-oriented databases
bulletThe object-oriented approach focuses on data rather than processes
bulletAn object-oriented definition includes objects, methods, messages, and inheritance
bulletAn object is a unit of data, along with the actions that can affect that data
bulletMethods are actions defined for an object
bulletA message is a request to execute a method
bulletInheritance allows a subclass to take on the characteristics of an object
bulletA file is a set of logical records that contains data about an entity
bulletTypes of Files
bulletTable files
bulletTransaction files
bulletWork files
bulletSecurity files
bulletHistory files
bulletData storage formats
bulletEBCDIC
bulletASCII
bulletPacked decimal 

TRADEOFF

bulletWhat is the best way to store date fields?
bulletIssues to consider
bulletYear 2000 problem
bulletISO format options
bulletJulian date format
bulletExtended Julian date format
bulletAbsolute date format

A KEY QUESTION

bulletThe problem: different date formats exist in various countries where SoccerMom operates
bulletThe question: should SoccerMom adapt to the standard of each country, or should it use a single international format? What are the arguments both ways?

File Access

bulletThe file access method determines how programs read and write records
bulletTwo main methods are used
bulletSequential access method
bulletProgram reads all records in order until the end of the file is reached
bulletRandom access method
bulletProgram can read any logical record without having to access all preceding records

 

 File Organization

bulletThe file organization approach determines the way logical records are physically stored in a file
bulletAlternatives
bullet Sequential organization
bullet Direct organization
bullet Indexed organization 
bulletSequential organization
bulletTwo methods of sequential organization
bulletRecords are stored in physical sequence as they occur
bulletRecords are stored in primary key order
bulletDirect organization
bulletWith direct organization, a record is stored based on a formula that uses the record’s primary key, which must be numeric
bulletTwo methods of direct organization
bulletKey-addressing techniques
bulletHashing (randomizing) techniques
bulletIndexed organization
bulletWith indexed organization, a separate index file contains the key value and data file location for each logical record
bulletSeveral types of indexed organization exist
bulletIndexed random organization
bulletIndexed sequential organization
bulletISAM
bulletVSAM
bulletFile organization advantages and disadvantages
bulletDirect file organization
bulletIndexed organization 

File and Database Control

Control must include measures to ensure that data is correct, complete, and secure

bullet Passwords
bullet Encryption
bullet Backup and recovery procedures
bullet Audit trail files
bullet Audit fields

Systems Analysis and Design  9

As always, these notes are a supplement to, not a substitute for, class attandance.

Systems Architecture
bulletPhase Three, Step Two, Part Four
bulletSystems Planning
bulletSystems Analysis
bulletSystems Design
bulletReview Requirements
bulletDesign the System
bulletoutput design
bulletinput design
bulletfile and database design
bulletsystem architecture
bulletDocument/Present the System  

Objectives

bullet Define the term system architecture and describe how it relates to the organization and functions of a business system
bullet Discuss major processing methods, including batch, online, centralized, and distributed processing
bullet Describe local and wide area networks
bullet Explain the characteristics of distributed systems and client/server architecture
bullet Discuss the major processing functions of data input, validating, updating, sorting, and reporting
bullet Describe standard backup and recovery methods for batch and online processing systems
bullet Discuss the differences between traditional systems development and object-oriented development
bullet Define the contents of the system design specification document

Systems Architecture

bullet System architecture refers to the logical and physical design of a system, including hardware, software, data, procedures, and people
bullet System architecture is the last task in the systems design phase of the SDLC
bullet The end product of the systems design phase is the system design specification

Processing Methods

bullet An information system operates in an environment that contains one or more specific platforms
bulletAn environment, or platform, consists of a particular combination of hardware, systems software, and processing methods
bulletMost companies have progressed from multiuser or stand-alone environments to a powerful, interconnected operating environment
bullet Online processing
bulletInteractive
bulletAllows a dialog between the user and the system
bulletIncreases productivity
bullet Batch processing
bulletData is collected and processed in groups (batches)
bulletTypical method for large amounts of data that are processed periodically, such as paychecks
bulletBatch processing can take place at off-peak times 
bullet Combined online and batch processing
bulletTypically captures transactions in an online mode
bulletMay or may not update files online
bulletUsually uses the data captured online as input for batch processing
bulletExamples are banks, retail sales, and grocery stores 
bullet Centralized and distributed processing
bulletTrend has been toward distributed data entry and access, rather than centralized operations
bulletTerminology
bulletCentralized processing
bulletDistributed system
bulletData communication network
bulletDistributed processing
bulletDistributed database management system (DDBMS)
bulletData processing center
bulletFile server design
bulletClient/server architecture

Local Area Networks and Wide
Area Networks

bullet Networks are classified as local area networks (LANs) or wide area networks (WANs) depending on geographical scope and equipment required
bullet A network allows hardware, software, and data resources to be shared
bullet Topology is the way a network is configured
bullet A protocol is a set of data transmission standards
bulletA popular protocol is TCP/IP
bullet Nodes are individual locations on a network

Client/Server Systems

bullet Divide processing between a central server and one or more clients
bullet A client handles the entire user interface
bulletData entry
bulletEditing
bulletData query
bullet Typical transaction
bulletThe client submits a request for information from the server
bulletThe server responds with the results
bullet Client/server advantages
bulletClient/server systems are scalable, powerful, and flexible
bulletBusinesses can size their systems easily to a changing environment
bulletCommunication is possible across multiple platforms
bulletNetwork load is reduced
bulletResponse time is improved

 A KEY QUESTION

bullet R/Way has several options
bulletContinue with a file-based system running on the current file server and three workstations
bulletImplement a relational database running on the existing file server platform
bulletDesign a new client/server environment
bullet R/Way should consider cost, data file characteristics, ability to handle legacy data, projected growth, and network load

Processing Functions

bullet All processing functions must be documented
bulletData input and validating
bulletUpdating
bulletSorting
bulletReporting
bullet Data input and validating
bulletIn online processing the system handles data entry, data input, and validation as a transaction is entered
bulletWith batch processing, data entry and validation are separate functions, and a specific way to handle transaction errors is necessary
bulletRequire all transactions to be correct before any processing
bulletUse a program to correct the transaction file
bulletCreate a suspense file for transaction errors
bullet Updating
bulletUpdating (file maintenance) is the process of adding, changing, or deleting records in a master or table file
bulletAn audit file is required
bulletDeletion methods
bulletLogical deletion uses flags, and restoration is possible
bulletPhysical deletion occurs when data is no longer required
bullet Sorting
bulletA major task in file-based systems
bulletTransaction files must be sorted before a batch update takes place
bulletIn a database environment, physical sorting is not necessary because the DBMS uses indexes when processing, accessing, and displaying records
bullet Reporting
bulletA major function of online and batch processing systems
bulletReports can be designed with report generators and 4GL tools
bulletMost commercial database programs have report generation capability built into the package

Processing Support

bullet Every system will encounter problems
bullet"Bugs"
bulletHardware failures
bulletSystems software errors
bulletUser mistakes
bulletPower fluctuations
bullet The objective is to anticipate problems and develop methods to recover from them 
bullet Five major support functions
bulletBackup
bulletRecovery
bulletFile retention
bulletRestart
bulletStart-up processing 
bullet Backup and recovery
bulletDifferent strategies are required for batch and online processing
bulletBatch processing involves restoring the backup master and running the transaction file again
bulletOnline recovery strategies include
bulletLog (journal) files that recreate transactions
bulletMultiple high-capacity disks
bulletStreaming tape devices
bullet File retention
bulletThe length of time that a file needs to be stored
bulletDetermined by combination of legal and processing requirements
bulletUpdating cycles are called generations
bulletGrandparent, parent, and child strategy
bulletLegal requirements must be considered 
bullet Restart
bulletAfter a program is interrupted by an error, the first step is to correct the problem and restart the system
bulletA specific restart procedure is required
bulletCommon techniques include the use of checkpoints and program status indicators
bullet Start-up processing
bulletNeeded when making the transition from the current system to a new system
bulletCreate new master files from existing data
bulletMight require special data conversion programs
bulletStart-up processing and file conversion tasks are discussed in Chapter 11, which covers systems implementation

Software Design

bullet Program considerations
bulletIdentify specific processing functions for each program, and review all process descriptions
bulletGuidelines
bulletUse a separate update program to maintain each master file
bulletProvide a validation program for each update program that does not perform its own validation
bulletReduce the number of report programs if possible
bulletIdentify any programs required to perform special processing 
bullet Program documentation
bulletIn a file-based system, specific program documentation must be assembled
bulletProgram identification
bulletPurpose of the program
bulletProcessing requirements

 

 Systems Design Completion

bullet System design specification
bulletPresents the complete design for the new system, along with detailed costs, staffing, and scheduling requirements for the next SDLC phase, systems implementation
bulletProgrammers rely on the system design specifications as they develop the necessary programs and system functions
bulletThe contents of the system design specification depend on the company standards and the complexity of the system
bullet Management Summary
bulletSystem Components Details
bulletProgram Design
bulletOutput Design
bulletInput Design
bulletFile and Database Design
bulletSupport Processing Design
bulletEnvironmental Requirements
bulletImplementation Requirements
bulletTime and Cost Estimates
bulletAppendices
bullet Approvals
bulletReview and approval process continues throughout the SDLC
bulletObtaining design approval from users is especially important
bulletOther approvals are needed from IS department members and management
bulletThe system design specifications should be distributed well in advance of the presentation
bullet Technical and management presentations
bulletSeveral presentations usually are made to
bulletOther information systems department staff
bulletTop IS management
bulletCompany management
bulletVarious decisions are possible including
bulletProceed with systems development
bulletPerform additional work on system design
bulletTerminate the project

 

 

Information Request Form

Select the items that apply, and then let us know how to contact you.

Send whole literature
Send SDLC literature
Send latest Developments

Name
Title
Company
Address
E-mail
Phone

Notice: These notes are intended to be a supplement, not a substitute, to attending class.

 

 

Home ] Up ]

Send mail to webmaster@it4castudents.cjb.net with questions or comments about this web site.
Copyright © 2003 Muhammad Ahsan Shahzad
Last modified: 05/17/03