Computer science revision notes Flashcards
Reasons for a new system:
Reasons for a new system:
Old system is inefficient
Old system is no longer suitable for its original purpose or is outdated
To increase productivity and quality of output
To increase efficiency and minimize costs
Extent of a new system update depends on
Extent of a new system update depends on how much time, software, hardware, people needed and the immediate environment. May need to train employees to use the system, fire employees (e.g. secretary not needed if salespersons input orders from home PC), get more hardware (e.g. employees need PC and network need to be implemented), change server location, etc.
To decide whether the project is worth pursuing
To decide whether the project is worth pursuing (Compatibility issues/ strategies for mergers/ data migration/ hosting system/ installation processes are issues to be considered in the planning stage, once the project is deemed worth pursuing), use:
Telos
Change managment
Technical feasibility: Is available technology sufficient and advanced enough to implement the system?
Economic feasibility: Is the new system cost effective? Are funds sufficient?
Legal feasibility: Are there conflicts between the system and laws/ regulations?
Operational feasibility: Are existing organisational procedures sufficient to support maintenance and operation of the new system?
Schedule feasibility: How long will it take to implement?
Change management: Shifting people, departments and organisations from one state to the desired state. Need to maximise benefits and minimise impact of change on people so that stakeholders accept the change in environment. Issues regarding planning the system must be resolved, e.g. students informed of double-sided printing to make use of the new feature
Compatibility issues
Compatibility issues
Business mergers: Two businesses combine. Need to ensure systems are compatible. Incompatibility can arise from…
Language differences: Communication issues and different interpretations. Software incompatibility: Different software/ systems can’t operate well on the same computer or same network.
Legacy systems: Old tech, hard/software, computer system or program. Some still satisfy user needs and data cannot be converted to newer formats, or applications upgraded, so organisation continues use of legacy systems even if newer technology is available.
Strategies for merging:
Strategies for merging:
1. Keep both systems, develop to have same functionality (high maintenance cost)
2. Replace both systems with a new one (high initial cost)
3. Combine best systems from both companies (hard for employees to work with system from another company)
4. Only use one company’s info systems (policy issues)
Using client hardware VS hosting systems remotely
Locally hosted system:
Using client hardware VS hosting systems remotely
Locally hosted system: Software is installed and operated on client’s own hardware/ infrastructure. Like paying to buy the product/ software package and owning it. E.g. set up open source message board system on your own web server.
PROS:
Best for large, complex systems.
Only pay once, excluding maintenance (if you don’t pay it, can still continue to use the software but not updated versions).
Can control the data yourself in a secure data centre, less risk of data loss as you yourself can use redundancy to whatever extent you want.
CONS:
Higher initial cost than remote
Harder to predict total cost (maybe more expensive in long run with maintenance payments)
Have to maintain yourself (hire IT personnel).
Remote hosted system: Software As A Service (SaaS) solution. Hardware is elsewhere, updated centrally. Users can access data and operate software from the cloud and pay for service on a subscription basis. e.g. sign up for message board system where others take care of maintenance. PROS:
Lower initial cost
Can predict overall cost easier
Best for when organisation doesn’t have necessary hardware already
You don’t have to maintain it yourself
Data secure in data centre
CONS:
Relying on a third party= risk of data loss if provider shuts down
Legislation in country of provider may be weaker than in user’s country Performance generally lower than on-premise solutions
Remote host in different time zone, can be inconvenient for end-users? Depends on internet connection
Using client hardware VS hosting systems remotely
Definiton, pros and cons for both
Using client hardware VS hosting systems remotely
Locally hosted system: Software is installed and operated on client’s own hardware/ infrastructure. Like paying to buy the product/ software package and owning it. E.g. set up open source message board system on your own web server.
PROS:
Best for large, complex systems.
Only pay once, excluding maintenance (if you don’t pay it, can still continue to use the software but not updated versions).
Can control the data yourself in a secure data centre, less risk of data loss as you yourself can use redundancy to whatever extent you want.
CONS:
Higher initial cost than remote
Harder to predict total cost (maybe more expensive in long run with maintenance payments)
Have to maintain yourself (hire IT personnel).
Remote hosted system: Software As A Service (SaaS) solution. Hardware is elsewhere, updated centrally. Users can access data and operate software from the cloud and pay for service on a subscription basis. e.g. sign up for message board system where others take care of maintenance. PROS:
Lower initial cost
Can predict overall cost easier
Best for when organisation doesn’t have necessary hardware already
You don’t have to maintain it yourself
Data secure in data centre
CONS:
Relying on a third party= risk of data loss if provider shuts down
Legislation in country of provider may be weaker than in user’s country Performance generally lower than on-premise solutions
Remote host in different time zone, can be inconvenient for end-users? Depends on internet connection
Installation processes (adv/dis)
the 4 changeovers
Installation processes (adv/dis)
Implementation/ conversion: Putting new system online and retiring old one. Types… Parallel: Both systems run parallel to each other at first to compare outputs until satisfied
with the new system, terminate old one. If new system fails, can revert to old one = less risk, ideal for critical systems e.g. nuclear power station. But higher cost. Not efficient if systems have different input/outputs/ processes. Workers may be trained to use new system for nothing.
Direct/ Big Bang: Set up new one and terminate old one at the same time. Preferred if system not critical, due to higher risk as system might not function well. Less costly. Pilot: In organisations with multiple sites. New system is introduced in one of the sites (pilot site/group) then introduced to others if successful. Less risk. Worker training Phased: Convert one module at a time e.g. per department. Training period and implementation takes longer
Problems with data migration
Problems with data migration
Data migration: Transferring data between formats, storage types and/or computer systems when switching to a new system/ changing/ upgrading/ merging. Problems/ risks… Incompatibility with file formats in the new system- could lead to incomplete or incorrect data transfer
Non-recognisable data structures and formats- result in a mismatch of data, e.g. in customer records
Data lost or corrupted during transfer due to transmission faults/lack of adequate storage. Not usable at destination
Data misinterpretation due to conventions in different countries e.g. date, measurements, currencies
Different validation rules between companies- could lead to inconsistent/incorrect results Might not be able to use data while transferring, problem if it’s large and takes long
Types of test
Types of testing
Types of testing
Testing is important because it identifies problems to be fixed, areas for improvement and determines whether system/ software fulfils requirements. If not done properly, inadequate system= inadequate employee productivity, reduced efficiency and output, increased costs= end user dissatisfaction.
1. Alpha testing: Offering early development version to other developers before available to general public, get feedback.
2. Beta testing: Provide version to select group of users outside of company (closed beta) or to public (open beta) and receive real-world feedback. But user report is not always best quality, and there are many reports of the same bugs.
3. User acceptance testing: Usually last stage, provided to clients as a last-minute check that the product satisfies target audience
4. Debugging: Systematically finding and correcting bugs/errors. Some programs do it automatically = cheaper and faster.
User documentation
User documentation
Important so users can understand, use and make the most of the system. Ensures users can quickly adapt to the software/ system with minimal costs/inefficiencies. Can include… Requirements- identify attributes, characteristics and functions
Technical- details on how to install and configure the product
End user- manuals for end user, support staff and system administrators. Details on how to
use the product
Marketing- how to market the product, analysis of market demand
User training methods (adv/dis)
User training methods (adv/dis)
Self-instruction: People can use resources like manuals, websites, video tutorials etc. to learn on their own. Easiest and cheapest with more flexible time for user but usually only used for easy/ common use programs with sufficient documentation as effectiveness depends on user motivation and ability to work on their own.
Formal classes: Classroom setting, free discussion. Students can exchange ideas, direct interaction with expert. But may be harder for members who work better on their own and self-assured students may dominate discussions
Remote/ online training: Larger variety of courses online, can access any time, easier to set up and include new members = cheaper. But excludes those without infrastructure/ internet or IT skills to use it, might not be as effective (especially with dependent learners)
Causes of data loss:
what are the consequences
Measures to prevent data loss
Causes of data loss:
User error: Accidental deletion, closing before saving
Natural disasters: Fire, flood, earthquake
Malicious activities: Someone purposefully deleting/ altering/ stealing data (can be employee or external hacking)
Computer viruses: Destruction/ corruption of data
Power failure
Consequences can be serious e.g. hospital: puts lives in danger, may have to repeat tests and procedures. In other situations, can cut into revenue if dissatisfied customer tells others e.g. customer makes reservation but there’s no record of it or free rooms so they have to go elsewhere.
Measures to prevent data loss
1. Regular backups: On hard disks/ magnetic tape, online or on removable media (e.g. USB, CDs) for fast backup and storage
2. Offsite storage: Data backups stored in different geographical location 3. Firewall and antivirus: Prevent virus infections
4. Failover systems: Computer system that system can switch to in case of hardware/ software/ network failure. Often switches automatically to reduce time
Software deployment
It’s important that users can install updates because otherwise they might not have fixes for bugs and errors or be able to benefit from added features/ improvements leading to performance issues. Especially for organisations with different locations- different sites could have different versions of the software, leading to incompatibility.
Causes of data loss:
User error: Accidental deletion, closing before saving
Natural disasters: Fire, flood, earthquake
Malicious activities: Someone purposefully deleting/ altering/ stealing data (can be employee or external hacking)
Computer viruses: Destruction/ corruption of data
Power failure
Consequences can be serious e.g. hospital: puts lives in danger, may have to repeat tests and procedures. In other situations, can cut into revenue if dissatisfied customer tells others e.g. customer makes reservation but there’s no record of it or free rooms so they have to go elsewhere.
Measures to prevent data loss
1. Regular backups: On hard disks/ magnetic tape, online or on removable media (e.g. USB, CDs) for fast backup and storage
2. Offsite storage: Data backups stored in different geographical location 3. Firewall and antivirus: Prevent virus infections
4. Failover systems: Computer system that system can switch to in case of hardware/ software/ network failure. Often switches automatically to reduce time
Software deployment
It’s important that users can install updates because otherwise they might not have fixes for bugs and errors or be able to benefit from added features/ improvements leading to performance issues. Especially for organisations with different locations- different sites could have different versions of the software, leading to incompatibility.
Causes of data loss:
User error: Accidental deletion, closing before saving
Natural disasters: Fire, flood, earthquake
Malicious activities: Someone purposefully deleting/ altering/ stealing data (can be employee or external hacking)
Computer viruses: Destruction/ corruption of data
Power failure
Consequences can be serious e.g. hospital: puts lives in danger, may have to repeat tests and procedures. In other situations, can cut into revenue if dissatisfied customer tells others e.g. customer makes reservation but there’s no record of it or free rooms so they have to go elsewhere.
Measures to prevent data loss
1. Regular backups: On hard disks/ magnetic tape, online or on removable media (e.g. USB, CDs) for fast backup and storage
2. Offsite storage: Data backups stored in different geographical location 3. Firewall and antivirus: Prevent virus infections
4. Failover systems: Computer system that system can switch to in case of hardware/ software/ network failure. Often switches automatically to reduce time
Software deployment
It’s important that users can install updates because otherwise they might not have fixes for bugs and errors or be able to benefit from added features/ improvements leading to performance issues. Especially for organisations with different locations- different sites could have different versions of the software, leading to incompatibility.
Types of updates (i.e. reasons for updates)
Types of updates (i.e. reasons for updates)
Patches: Used to fix known bugs and vulnerabilities. May introduce new bugs though Updates: Fix bugs, add minor functionalities, usually free
Upgrades: As well as bug fixes, add new major functionalities or characteristics, often need to be bought
Releases: Final, working applications gone through testing
Strategies for alerting users about updates
Strategies for alerting users about updates
Automatic: Cookie is placed on the machine when software is registered and installed, communicates with the developer automatically when software is started up. If update is available, messages and alerts are sent back to the machine
Sending an email: User registers email and other details when installing software. Email sent to the registered user with a link to download the update
Roles of a computer in a networked world
Roles of a computer in a networked world
Client: Piece of computer hardware/software that accesses services made available by server, by sending requests to server
Server: Program/host computer that fulfils requests from client programs or computers across network and shares info to clients
Email server: Message transfer agent that transfers electronic messages from one computer to another in a network
DNS (Domain Name Server): Server that translates web addresses written in letters (more memorable for humans) to the numeric IP (Internet Protocol) address
Router: Connects networks together to forward data packets between networks, deciding where to send information so it is received by one network and then sent to another until it reaches its destination
Firewall: Controls incoming and outgoing network traffic, determining what data packets should b
Ethical/ social issues with the networked world
Ethical/ social issues with the networked world (interconnecting computers): (also ethical issues associated with introduction of new IT systems)
Security: Protecting hardware, software, peripherals, data and networks from unauthorized access
Privacy: Controlling how and to what extent data is accessed and used by others, to protect identity e.g. GPS location services on phone, data sold to companies. But there’s also problems with anonymity e.g. cyber bullying, hacking, terrorism etc.
Censorship: Some info may be deemed inappropriate. Network manager could make sure no other computers can access it. e.g. China blocking sites.
People and machines: Easier communication, more information and efficiency etc. BUT addiction, real life neglect, lack of sleep, health problems, car accidents, technical unemployment, digital alterations (e.g. fake videos, fake news etc).
Digital divide and equality of access: Inequalities regarding use and access to computer systems in different environments/ countries, leads to inequality in info and education access
Surveillance: Monitoring people e.g. for law enforcement, employers, traffic control etc. Ethics of privacy and knowledge/ consent to surveillance
Globalisation & cultural diversity: Spread info and reduce political, geographical, financial boundaries. BUT diminishing of traditional cultures
Ethical/ social issues with the networked world (interconnecting computers):
Ethical/ social issues with the networked world (interconnecting computers): (also ethical issues associated with introduction of new IT systems)
Security: Protecting hardware, software, peripherals, data and networks from unauthorized access
Privacy: Controlling how and to what extent data is accessed and used by others, to protect identity e.g. GPS location services on phone, data sold to companies. But there’s also problems with anonymity e.g. cyber bullying, hacking, terrorism etc.
Censorship: Some info may be deemed inappropriate. Network manager could make sure no other computers can access it. e.g. China blocking sites.
People and machines: Easier communication, more information and efficiency etc. BUT addiction, real life neglect, lack of sleep, health problems, car accidents, technical unemployment, digital alterations (e.g. fake videos, fake news etc).
Digital divide and equality of access: Inequalities regarding use and access to computer systems in different environments/ countries, leads to inequality in info and education access
Surveillance: Monitoring people e.g. for law enforcement, employers, traffic control etc. Ethics of privacy and knowledge/ consent to surveillance
Globalisation & cultural diversity: Spread info and reduce political, geographical, financial boundaries. BUT diminishing of traditional cultures
Environment
How the system will benefit the company
Practical issues to consider when networking:
Practical issues to consider when networking:
Practical issues to consider when networking:
Reliability: How consistently a computer system functions according to its specifications, with minimal system failure. Having a long mean time between failures. Failure can = data/time/revenue loss, injury etc.
(Data) integrity & consistency: Maintenance of accuracy and consistency of data. Must be complete, up-to-date, unaltered. Is inconsistent if there’s different versions of data (duplication)
Standards and protocols: Rules followed in development of systems, including proprietary standards (e.g. computers compatible with Microsoft operating system), industry standards (formally decided, e.g. USB), de facto standards (e.g. QWERTY keyboard)
Prototype:
Iteration
Illustrating system requirements:
Data Flow Diagrams (DFD) show
Prototype: Early sample, version or model of a system/software/hardware, displaying the minimum necessary features, used to test and gather feedback on a new concept or system from clients. Clients can follow development closely and see the changes as they are made. Iteration (iterative design): Where solutions/code/prototypes are designed, developed, tested and evaluated in repeated cycles. With each iteration, additional features may be added until there is a fully functional software.
This involves end user participation. Failure to involve end user in design process can lead to software not suitable for its intended use because of lack of feedback- has adverse effect on user productivity, efficiency etc. Need effective collaboration and communication between client, developer and end-user.
Illustrating system requirements:
Flowcharts show flow of data through program, can show all types of processing and can refer to hardware as well as programs, files, databases etc.
Data Flow Diagrams (DFD) show how data is stored and moved through the system, but not type of data or storage.
Central Processing Unit (CPU):
Control Unit (CU):
Arithmetic Logic Unit (ALU):
Registers:
Central Processing Unit (CPU): Component of a computer system which interprets/ processes and executes program instructions.
Control Unit (CU): Fetches data/ instructions from memory, decodes it into commands and controls transfer of data/instructions among other units of CPU.
Arithmetic Logic Unit (ALU): Performs arithmetic and logical calculations/operations
Registers: Small, very fast circuits that store intermediate values from calculations or instructions inside the CPU
Memory Address Register (MAR): Stores address of next instruction to be decoded and executed. Connected to RAM through Address Bus
Memory Data Register (MDR): Stores data of instruction most recently taken from RAM, i.e. instruction about to be executed. Connected to RAM through Data Bus
Primary memory:
Read Only Memory (ROM):
Primary memory: Only storage directly accessible by CPU
Random Access Memory (RAM): Stores data and instructions of program currently being run. Data stored in memory locations that each have a unique address that the CPU uses. Data constantly moved and overwritten. RAM is volatile- all data/ instructions are deleted once there’s no power
Read Only Memory (ROM): Stores permanent instructions and data of programs used to boot and operate the computer (e.g. Basic Input Output System). Cannot be overwritten. Non-volatile, data and instructions remain even when there’s no power. Smaller than RAM.
Cache memory: Type of memory that is smaller and accessed faster than RAM since closer to the CPU. Stores most frequently used data and instructions so CPU has to access the slower RAM less often and performance speeds up. Computer checks if there’s a copy of data in cache before accessing main memory.