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.