IB Computer Science - Topic 1 - System Fundamentals

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/106

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

107 Terms

1
New cards

System

The complete set of components that work together to carry out a particular function. These include hardware, software, communications and people.

2
New cards

Input-Process-Output

Describes the structure of an information processing program or other process. It is the most basic structure for describing a process.

3
New cards

Feedback Loop

Allows outputs to be fed back into a system as inputs to allow for adjustment of a process.

4
New cards

The Context of a New System

The extent and limitations of a new system. The organisations issues such as user roles and underlying technology.

5
New cards

Organisational Issues for a New System

Mission/strategic: The strategic goals set by companies may need to change as new systems are implemented.

Data security: Data can be sold for marketing.

Operational dependency: Reliance on a single company for data retrieval and system operation.

6
New cards

The Need for Change Management

An approach to transitioning individuals, teams, and organisations to a desired future state. This is a structured approach for ensuring that changes are smoothly and successfully implemented to achieve lasting benefits.

Communication of the need for and benefits of change

Users may require training

Recruitment may be necessary to bring in suitable skillsets

Stakeholder support

Planning, milestones, completion date

Dependencies between project stages/components

Compatibility between old system and new system

Testing

7
New cards

Planning for Change

Alignment: Aligning the organisational goals with the new system?

Measurement: How will the success of the change be measured (what data should be collected before the changes)?

Communication: How will the change be communicated to stakeholders?

Compatibility: How compatible is the new system with existing dependent systems? What data conversion is required for the new system?

Installation: Which installation process would work best for the organisation?

8
New cards

Managing Change

Recognising changes in the broader business environment and adjusting other impacted systems.

Training employees on the appropriate changes.

Winning the support of the employees with the benefits of the changes.

Documenting the change process, in case problems arise after installation of the new system.

9
New cards

Legacy systems

Refers to outdated computer systems, programming languages or application software that are used instead of available upgraded versions.

10
New cards

Compatibility Issues

Historic data may not have to be converted into the new system format.

Cannot keep updated with latest technology (incompatible).

Legacy systems are high maintenance and may involve intricate patching and modifications.

User satisfaction and efficiency may be low.

11
New cards

International System Compatibility

When two systems interact or are integrated together there are a range of issues that might arise:

Character encoding systems may differ.

Database systems may be different.

Issues with usage rights of propriety systems.

Conflicting work cultures of those working with the systems. Also, conflicting organisational goals.

12
New cards

Software as a Service (SaaS)

Also referred to as "hosted applications", it is a software delivery method that provides access to software remotely as a web-based service. Its pricing is usually based on a monthly fee instead of software licensing.

13
New cards

Benefits of SaaS

Scalability - As an organisation grows, more users need to be added to a system, rather than purchasing additional in-house server hardware and buying more software licences, an organisation can simply adjust their monthly SaaS service subscription.

Accessibility - A browser and an internet connection is all that's usually required to access many SaaS applications.

Upgradeability - A service provider deals with hardware and software updates.

Resilience - Infrastructure and data reside in the cloud service provider's datacenter. If some from of disaster should occur on an organisation's premises, the system can be used remotely with internet.

Collaborative tools - Many SaaS solutions offer online tools for collaboration.

14
New cards

Limitations of SaaS

Data mobility - What happens to the data and systems of an organisation when a service provider fails? Or if a company needs to change SaaS vendor for another reason like cost?

Security - If sensitive company data and business processes are to be entrusted to third-party providers, then issues such as identity and access management need to be addressed.

Integration - Businesses that adopt multiple SaaS applications face the problem of software integration with other systems within a company.

Compliance - When data resides in a service provider's data centre, ensuring that an organisation complies with the relevant governmental data-protection regulations can be a problem.

Downtime / loss of connectivity - Outages do happen. Any downtime is irritating, but a lengthy outage of a critical system could prove disastrous. This is especially problematic in less developed countries, where the internet service is not as reliable.

15
New cards

Platform as a System (PaaS)

Offers the hardware, operating system and the infrastructure for running applications over the internet. The service provider has already built the infrastructure and the program, so all the developer has to do is write their program and display it. Maintenance is the responsibility.

16
New cards

Infrastructure as a Service (IaaS)

Form of cloud computing that provides virtualised computing resources over the internet.

17
New cards

Installation Processes

When a new system has been created and is ready to implement.

18
New cards

Direct Change Over

The old system is stopped completely, and the new system is started. All of the data that used to be input into the old system now goes into the new one.

Advantages - Takes minimal time and effort, the new system is up and running effectively.

Disadvantages - If the new system fails, there is no back-up system, so there could be significant downtime while the system is fixed.

19
New cards

Parallel Running

The new system is started, but the old system is kept running in parallel for a while. All of the data that is input into the old system is also input into the new one. Eventually, the old system will be stopped, but only when the new system has been proven to work.

Advantages - If anything goes wrong with the new system, the old system will act as a back-up.

Disadvantages - Entering data into two systems, and running two systems together, takes a lot of time, expertise, and effort.

20
New cards

Phased Implementation

The new system is introduced in phases, gradually replacing parts of the old system until the new system takes over.

Advantages - Allows users to gradually get used to the new system. Staff training can be done in stages.

Disadvantages - If a sub part of the new system fails, there is no back-up for that sub part.

21
New cards

Pilot Running

One department of the business is given full implementation of the new system, similar to a 'trial version' of the system.

Advantages - All features of the new system can be fully trialled, and if something goes wrong, only a small part of the organisation is affected. The staff who were part of the pilot scheme can help train other staff.

Disadvantages - For the office/department doing the pilot, there is no back-up system if things go wrong. Tough the pilot may be successful, there's still a possibility that the system may not be capable of handling its full-scale requirements.

22
New cards

Data Migration

The process of importing legacy data to a new system. This can involve entering the data manually, moving disk files from one folder (or computer) to another, database insert queries, developing custom software, or other methods.

23
New cards

Legacy Data

The recorded information that exists in your current storage system, and can include database records, spreadsheets, text files, scanned images and paper documents.

24
New cards

Data Cleansing

The process of preparing legacy data for migration to a new system. Because the architecture and storage method of new or updated systems are usually quite different, legacy data often does not meet the criteria set by the new system, and must be modified prior to migration.

25
New cards

Data Validation

The process of ensuring that a program operates on clean, correct, and useful data. It ensures that the data meets a set of criteria, often called "validation rules".

26
New cards

Data Migration Issues

Planning issues - Insufficient time and resources allocated to migration of data between systems.

Incomplete data transfer and/or data glitches can lead to poor data quality and lost data.

Inadequate testing before or after migration.

Extended downtime for the system as data is in the process of being migrated.

27
New cards

Character Encoding

Each character is assigned with a unique value

28
New cards

American Standard Code for Information Interchange (ASCII)

One of the most popular character encoding sets. It represents uppercase and lowercase English alphabets, numbers, mathematical operators and symbols from integers with values between 0 and 127.

29
New cards

Unicode

A modern standard for text representation that defines each of the letters and symbols commonly used in today's digital and print media.

30
New cards

Internationalisation

The process of designing a software application so that it can potentially be adopted to various languages and regions without engineering changes.

31
New cards

Localisation

The process of adopting internationalised software for a specific region.

32
New cards

White-box testing

Tests the internal structures and algorithms of an application through code analysis. (The point of view of the programmer)

33
New cards

Advantages of White-Box Testing

Code Optimisation

- Facilitates the removing of unnecessary code and the finding of hidden errors in early phases of development.

Efficiency

- Two algorithms can solve the same problem correctly but have very different efficiencies. White-box testing can find where needless inefficiencies are.

Thoroughness

- Looking at the actual code can find potential causes of errors that Black-box testing could miss.

34
New cards

Disadvantages of White-box Testing

Technical Knowledge Required

- The tester must have knowledge of the system and programming skills due to the complexity of the testing.

Expensive and Time Consuming

- It's time intensive and thus can be expensive for the organisation to hire skilled testers.

35
New cards

Black-Box testing

Testing what the system is supposed to do, from the point of view of the user; with no knowledge of how the program does what it does

36
New cards

Advantages of Black-Box testing

Automated Testing

- Testers save time by focusing on software functionality. Comprehensive testing can be done quickly to check for expected output results.

Code Access not Required

- Specific programming knowledge is not required to run the test.

37
New cards

Disadvantages of Black-Box Testing

Limited by test cases

- The tests are only as good as the test data. It may not test all functionality thoroughly.

Interface issues

- Realistic Graphical User Interface (GUI) interactions may be difficult to stimulate and test with scripts.

38
New cards

Unit Test

A quality measurement and evaluation procedure. It evaluates how an individual unit of software code complies with its purpose. This testing is a form of black-box testing.

Benefits:

Early detection

- Problems are found early in the development cycle, making it easier to fix them.

Modular detection

- Unit testing allows code to be changed within a small unit of the system and then easily tested again without retesting entire systems.

39
New cards

Integration and System Testing

Occurs after each unit of the program has been successfully tested. They test the interactions between units and the complete, integrated system. This involves white-box and black-box testing.

40
New cards

User Acceptance Testing (UAT)

The last phase of the software testing process. Actual software users test the software to make sure it can handle required tasks in real world scenarios, according to specifications. Often divided into Alpha and Beta testing.

41
New cards

Alpha Testing

A group of programmers within the organisation examine early versions to see how the system performs. It is conducted when the software may still be unstable or has incomplete data functionality.

42
New cards

Beta Testing

Is conducted when the software is close to being ready for release and has complete functionality and the developers believe that there are few to no errors. It reduces failure risks and increases the quality through customer validation. Direct feedback from customers is a major advantage.

43
New cards

Automated Testing

Used when there are tests that can't be accomplished by manual testing because they would consume too much time and resources. It is when another software is used to check the performance of the software

44
New cards

Static Program Analysis

Analysis of computer software that is performed without actually executing programs. Is performed on the source code.

45
New cards

Dynamic Program Analysis

Performed by executing programs with a set of test inputs and comparing the results to expected outputs.

46
New cards

Automated Load Testing

Used to test online services. They evaluate the performance of a system while simulating the resource consumption equivalent to hundreds or thousands of simultaneously connected users.

47
New cards

Continuous Integration (CI)

Automated testing throughout development.

48
New cards

User Documentation

Information included with software that delivers instructions on how to properly use a program for its intended purpose.

49
New cards

Optimised Installation/Configuration

Installing and configuring systems by be complicated, poor configuration during the setup process can lead to inefficient use.

50
New cards

Tutorials

Users are guided through a process one step at a time. It is not always practical to create a complete one.

51
New cards

Online Documentation

This would require an internet connection in order to access the documentation. They can be updated in real time.

52
New cards

Printed Manual

This cannot be directly accessed through a computer, and if the physical copy is lost, they would lose access to the documentation. Things cannot be automatically searched.

53
New cards

Live Chat

Online support can also be through a live chat, or a video session, whereby you can get real-time support from a technician. This support gives a feeling of being supported by a real person and this is preferred by many people. Its target is to resolve specific problems quickly.

54
New cards

Embedded Assistance

Many systems will now come with user documentation such as tooltips and dynamic page content within the system itself.

55
New cards

Hardware

An encompassing term that refers to all the physical parts that make up a computer, such as the motherboard, CPU, RAM, and power supply.

56
New cards

Components

Internal hardware devices that make up the computer and ensure that it is functional.

57
New cards

Peripherals

External hardware devices that are not essential to a computer's functions.

58
New cards

Software

An organised collection of computer data and instructions, that can construct a computer to perform specific tasks.

59
New cards

System Software

A base for application software that helps the computer operate.

60
New cards

Programming Software

A set of tools to aid the developers to write programs.

61
New cards

Application Software

Intended to perform certain tasks, and is either a single program or a collection of smaller programs.

62
New cards

Network

A group of two or more computer systems linked together via a wired or wireless communication medium

63
New cards

Computer/Data Network

A telecommunications network that allows computers to exchange data.

64
New cards

Local Area Networks (LANs)

The computers are geographically close together in the same building.

65
New cards

Wide Area Networks (WANs)

The computers and LANs are spread over greater distances within the same city or local region. They care connected by telephone lines or radio waves.

66
New cards

Metropolitan Area Networks (MANs)

A data network designed to provide coverage for an entire town or city.

67
New cards

Home Area Networks (HANs)

A network contained within a user's home that connects the digital devices of its residences.

68
New cards

Server

A computer that is dedicated to managing network resources. They are referred to as dedicated because they carry out hardly any other tasks apart from their tasks.

69
New cards

Email Server

An application usually installed on dedicated hardware that stores incoming mail for distribution to local users and sends out out outgoing messages.

70
New cards

DNS Server

Manages and processes internet domain names and their associated records on an IP (Internet Protocol) based network. Their most basic function is to translate a domain name into its respective IP address.

71
New cards

Print Server

A computer that can process print-related jobs for a network of computers.

72
New cards

Router

A device that analyses the content of data packets transmitted within a network to determine whether the source and destination are on the same network or whether data must be transferred from one network type to another.

73
New cards

Firewall

Blocks unauthorised access from external public or private networks. It is an integrated system of hardware and software.

74
New cards

Client Network Computer

Is at the receiving end of a service in a client/server model networking system.

75
New cards

Thin Client

Has minimum functions that uses the resources provided by a host computer and its job is usually just to display results processed by a server.

76
New cards

Thick/Fat client

Runs its own applications and only relies on a server for data storage. It is more expensive than a thin client as it needs a faster processor and more resources such as memory.

77
New cards

Security Issues

Malware infections (e.g. viruses, Trojan horses, spyware).

Automated Denial of Service (DOS) attacks.

Manual attacks by hackers (e.g. code injection).

Unauthorised distribution of data by malicious employees.

78
New cards

Methods of Avoiding Security Issues

Using strong firewalls.

Using malware scanning tools on incoming network traffic.

Implementing strict security policies and practices.

Limiting network access to only where it is necessary.

79
New cards

Privacy issues

An ethical issue. Leaking of user information by attackers.

Accidentally sharing information with more people than intended.

Companies collecting data on employees.

Identity theft.

80
New cards

Censorship

An ethical issue. Some of the information may be deemed inappropriate by the company administration, or government networks may set up firewalls to block traffic bound for certain destinations.

81
New cards

Addiction

A social issue. It may be a catalyst for an unhealthy lifestyle. Interpersonal social skills might deteriorate because people spend too much time on social networks.

82
New cards

Dependency

A social issue. Network failure may literally mean business failure. Organisations are becoming more affected by the possible threats of networks.

83
New cards

Stakeholders

A person, group, or organisation that is actively involved in a project, is affected by its outcome, or can influence its outcome.

Project leader.

Project team members.

Upper management.

Developers.

Testers.

End users.

84
New cards

Defining a Problem

What kind of output should be produced?

Where will the input data come from and who will it be entered and validated?

Should computers be used at all?

Should standard software packages be sued?

Who will have responsibility for the input, processing, and output of the system?

85
New cards

Interviews

In-depth data collection through consultation of different stakeholders.

86
New cards

Questionnaires

A larger process of data collection from a wide range of stakeholders, though less flexibility and depth than an interview.

87
New cards

Existing Literature

Used to compare the system requirements and functionality with other turn-key systems.

88
New cards

Turn-key system

A computer system that has already been developed. They include all the hardware and software necessary for the system.

89
New cards

Advantages/Disadvantages of Interview

Advantage - More detailed data can be gathered compared to a questionnaire. Interesting topics can be pursued.

Disadvantage - Time consuming, not easy to classify or quantify qualitative data. It is costly.

90
New cards

Advantages/Disadvantages of Questionnaire

Advantage - Many people can be reached quickly. Results can be analysed with numerical methods.

Disadvantage - People may not respond, questions cannot be clarified as they can be in an interview. Biased questions and untruthful answers. Time-consuming.

91
New cards

Advantages/Disadvantages of Existing Study, System Documentation

Advantage - The data required to be input and the outputs produced can be identified.

Disadvantage - The documents may not tell the whole story without the people that use them.

92
New cards

Exclusion of End User

Poorly defined requirements - The opportunity to get feedback on what the product needs to accomplish is lost. The requirements may not be well defined.

Lack of buy-in - End users will not be invested in the solution, and can lead to a negative reaction and loss of business.

Errors/modifications are not identified - Later on, the system may have to undergo major changes.

93
New cards

Misuse of Information/Data Privacy

An ethical issue. Electronic systems and data collection reach into all levels of government, businesses, and personal lives. Companies with access to this data have a distinct advantage when competing in the market place.

94
New cards

System Development Life-Cycle (SDLC)

Composed of a number of clearly defined and distinct work phases that are used by system developers to plan for, design, build, test, and deliver systems.

95
New cards

Stage 1: Requirement Analysis

System Development Life Cycle 1. This is the planning stage:

Defining criteria for success.

Gathering information.

Defining scope.

Defining inputs and outputs.

96
New cards

Stage 2: System Design

System Development Life Cycle 2. This is where data models, prototype designs and testing plans are developed. A more detailed feasibility report can be produced at this stage, including a cost-benefit analysis.

97
New cards

Stage 3: Implementation

System Development Life Cycle 3. The process of creating the system. This is the coding phase.

98
New cards

Stage 4: Testing and Installation

System Development Life Cycle 4. This is where the tests planned during the design phase are applied to check that the system works correctly.

99
New cards

Stage 5: Evolution and Maintenance

System Development Life Cycle 5. Small changes may be able to be handles with maintenance (patches or minor updates for software systems). Larger changes caused by internal or external factors might redefine the requirements of a system.

100
New cards

Agile System Development (ASD)

An iterative development process that emphasises close collaboration between the development team and system users throughout the development of a system. It promotes:

Individuals and interactions over processes and tools.

Working software over comprehensive documentation.

Customer collaboration over contract negotiation.

Responding to change of following a plan.

Software is seen as an organism!