Compt Sc Flashcards
Von Neumann Bottleneck
CPU is a lot faster than data/instruction transfer between it and RAM, so a lot of time is wasted by CPU just waiting for data/instructions to arrive after processing.
Effect minimised by Harvard.
Control Unit
Manages communication between other PC components
Manages the FDE cycle
Arithmetic Logic Unit
Performs arithmetic and logical operations.
Registers
Store temporary data while instructions are executed.
Cache
Store frequently used instructions or data.
Buses
Transfer control signals, data or addresses between components.
Serial Access
Data is accessed/stored in chronological order.
Sequential Access
Data is accessed/stored in some order (alphabetical, ascending…)
Indexed Sequential Access
Records have indexes associated with them in a table, which point to their location in memory where the fields are stored sequentially.
Random/Hash Access
A hashing algorithm output for a given record/field is the address in memory where it is stored.
- Calculation done on data in [KEY FIELD]
- Collision are two same memory addresses calculated by alg. for diff. data.
- Overflow areas/serial files are needed
- May be too slow
- Re-hashing needed
Sequential
Master file is copied field-by-field into a new file while the transaction file’s changes are appended into the new file in sequence.
Output is two master files, one backup, one new
Direct Access
Transaction file is appended onto the end of the master file.
Recommended to make a backup of the old master fiel beforehand for a backup.
Backups
A redundant copy of recent data made frequently.
Important to make periodic backups in case data is lost and relatively recent data can be used instead.
Can be generational (grandfather-father-son, three separate backups are made periodically.) and full, differential or incremental (whole, difference from last whole, difference from last). Exists in case one is corrupted.
Can be made on magnetic tape, cloud storage. On-site or off-site.
Archiving
Archival data, such as old software systems or out-of-data, is stored in case it becomes useful in the future.
Procedural Programming
Step-by-step instructions followed.
Algorithm carries out calculations or other actions.
Each step is controlled tightly.
Mark-Up Programming
Defines the structure and formatting of text files when viewed for presentation.
HTML (used in tandem with JavaScript to create dynamic sites)
Tags used.
Feasibility Study
Investigation made on a project before anything else to find whether it is feasible.
Feasibility Study - Technical
Are enough resources available?
Are developers skilled enough?
Feasibility Study - Economical
Does the project fall within budget?
Will a profit be made?
Feasibility Study - Political
Is the project controversial?
Would integrity be compromised?
Feasibility Study - Legal
Does the project comply with legistlation?
Feasibility Study - Operational
Will the project solve the problem?
Feasibility Study - Scheduling
Can the project be done within a reasonable time?
Design Analysis - Investigation and Analysis techniques
Reading documentation - Find current data flow and data structure layout
Questionnaire/Interview - Find out improvements or properties of the system from the stakeholders. (Questionnaire if distributed over large area, interview if specific people w/ lot of info)
Observing - Find out how the current system is being used by the stakeholders directly. they may not be entirely honest.
Research - Desktop searching for similar systems in order to discover inputs/outputs, data structures used, data flow, processing.
Design Analysis - Design
Input/Output
Data Structures & Methods of Access
Processing Methods (algortihms used)
Design Analysis - Testing
Unit - Each unit of the software is tested individually to evaluate valid inputs and outputs.
Integration - Units are connected and their interaction is tested.
System - The software system as a whole is tested. Includes Alpha and Beta (end-user) testing.
Acceptance - The system is evaluated for its compliance with the user’s requirements.
Design Analysis - Testing test data
Typical, extreme, erroneous
Design Analysis - Changeover
Direct - The old system is immediately exchanged for the new.
Parallel - The old and new systems are run in tandem until the organisation is confident to remove the old one.
Pilot - The new system is introduced in only one branch and is rolled out everywhere later.
Phased - Parts of the new system replace the old over time.
Design Analysis - Maintenance
Perfective - New features are added or performance is improved.
Adaptive - Changes made to suit new user requirements.
Corrective - Error patching and bugfixing.
Design Analysis - Documentation
User - Instructions on how to use the system for the users.
Maintenance - Details on the workings of the software system for IT staff, including variable lists, algorithms, inputs and outputs, data flow, data structures.
Contingency Plans
Before - Risk analysis and staff training
During - Staff response, contingency plan carried out
After - Backups retrieved and new hardware/software issued, recovery measures.
Utility Software
Antivirus
Backups
Compression
Defragmentation
Firewall
Resource management
Storage Devices (FAT & NTFS)
Input and output (devices)
Main memory (virtual memory)
Processing (seamless)
Misc. Hardware (drivers)