The IB CS SL Book - Topic 1
from IB students, to IB students, for IB students
Catelogue:
- Core
- System fundamentals
- Computer organization
- Computer organization
- Computer architecture
- Secondary memory
- Operating systems and application systems
- Binary representation
- Simple logic gates
- Computer organization
- Networks
- Networks
- Network fundamentals
- Data transmission
- Wireless networking
- Networks
- Computational thinking, problem-solving and programming
- General principles
- Think procedurally
- Think logically
- Thinking ahead
- Thinking concurrently
- Thinking abstractly
- Connecting computational thinking and program design
- Introduction to programming
- Nature of programming language
- Use of programming language
- General principles
- Option
- Option D: Object-oriented programming
- Internal Assesment
Core
Topic 1: System fundamentals
According to Wiki Pedia, a system is a regularly interacting or independent group of items forming a unified whole. For developing a system, we always go through an organized way, which is the System life cycle
System life cycle refers to the stages through which development of a new system passes through.
1. System in organizations
1. Planning and system installation
1.1.1 The context for which a new system is planned
A new system can be created in order to replace a system that is inefficient, no longer suitable for its original purpose, redundant or out-dated.
- Increase productivity or qualify of the output / minimize cost
- New system should reduce errors or flaws of existing one.
A computer system includes hardware, software, people working with it or using it, and the immediate environment.
Planning a new system is the process of thinking about various details and organizing the activities requried to achieve the desired goal.
When planning a new system, the extent or limitations of the new system should be considered. (e.g. Whether it fixes current flaws/bugs; what changes did it do on the current system) To be in mind that there are also organizational issues related to the installation of systems (e.g. users, actual human that are using these systems).
Example question:
- What are the components of a computer system?
- In what context a new system is developed?
1.1.2 The need for change management
When a system / organization needs to make changes / shifts (e.g. Creating new services; merging existed businesses; upgrade systems), efficient change management need to be carried to ensure the success.
Change management involves various parameters and is a process of shifting individuals, teams, and departments from the present state to a desired state.
There are a number of factors that need to be managed to ensure the change is successful. The way that change is managed can have significant effects on employers and employees.
Successful change management guarantees that all stakeholders accept and embrace changes in their working environements.
- Maximize benefits
- Minimize the negative impacts
Example question:
- Define change management
- Outline the requirements of a successful change management
1.1.3 Compatibility issues resulting from situations including legacy system or business merges.
Legacy system refers to an old technology, hardware, computer system, or application program.
- Such system may still be in use for such reasons:
- Its data can't be converted to newer formats
- Its application can't be upgraded
- The exchange of data between legacy and new systems is a factor that the administration needs to pay special attention to.
Any organizations or people may still use legacy systems. Using of such systems could cause problems that must be considered when making changes. These problems can be:
- incompatibility with new software / data formats
- high maintenance cost
- security issues: easy to be exploited
Examples of legacy systems can be:
- Outdated web server. (e.g. IIS 4.0)
- Outdated operating system (e.g. Windows XP)
- Outdated web browsers (e.g. IE 6)
Any organizations can merge sometimes, and this process is business merger.
Business merger is the combining of two or more business entities.
- All departments of both companies need to ensure all subsystems are compatible.
When doing such merges, there are several strategies to integrate merged entities and their systems.
This is the four strategies for integration
- Keep both systems
- Pros: develop them to have the same functionality
- Cons: high maintenance cost
- Replace both systems with a new one
- Pros: only one system is needed, and there will be no policy issues or maintenance issues.
- Cons: increased initial cost
- Select the best systems from each company and combine them
- Pros: only one set of systems are selected, low maintenance cost, with the most effective system.
- Cons: It's very difficult for employees to work with a system for another company.
- Select one company's systems and drop the others
- Pros: easy to implement change, low maintenance cost.
- Cons: Policy problems
When organizations interact, particularly on an international basis, there may be issues of software compatibility and language differences, which may greatly increase communication problems.
When mergering computer systems, the softwares incompatibility could be a problem.
Software incompatibility is where different software entities or systems can't operate satisfactorily, cooperately, or independently, on the same computer, or on different computers linked by LAN or WAN (Networks).
Example questions
- Define business merger
- Outline the four ways of integration of business merges.
- What are examples of legacy systems and what are the problems of them?
1.1.4 Different systems implementation.
Business software can opeate on client's infrastructure or a dedicated server. There are four ways of cloud computation that provides business software/service on dedicated server instead of operate on client's infrastructure. The IB only requires the understanding of SaaS, the other three ways are not required to understand.
- SaaS (Software-as-a-service) allows software data to be hosted and managed centrally on a remote datacenter
- Examples:
- Kognity
- Managebac
- GoogleDoc
- Pros:
- Low initial cost and requires few investments in installation, maintenance, and upgrading.
- Scalable solution. (Can be applied to all scale dynamically. e.g. It can be used in a 10 people workshop, or it can be sacled up to a 1000 people school)
- Cons:
- Slow performance (depends on internet connection)
- Possible dataloss (when the provider is out of business, or when the provider is attacked)
- Integrate with other solutions is hard, since it's provided by other people
- The remote host may be in a different time zone and this can have significant effects on end-users.
- Examples:
- IaaS (Infrastructure-as-a-service)
- PaaS (Platform-as-a-service)
- NaaS (Network-as-a-service)
Example questions
- Explain the difference between SaaS and software running on client's computer systems.
- Outline the pros and cons of SaaS.
1.1.5 Alternative installation process
In organizations, sometimes we changeover our systems.
Changeover is the process of putting the new system online and retiring old ones.
Choice of implementation (conversion, changeover) method includes following four methods:
- Parallel: Both systems work in parallel for a short period of time.
- Pros:
- low risk
- Cons:
- training period is extended
- adoption of new system takes longer
- higher cost due to the maintenance of two seperate systems
- Pros:
- Direct (immediate): Plugs in new system and unplugs the old one at the same time.
- Pros:
- less cost
- Cons:
- risky, dangerous when new one is not working
- need to be trained properlly
- Pros:
- Pilot: New systems is introduced in one of the sites and extended to other sites over time.
- Pros:
- low risk
- pilot sites serve as models for the rest
- Cons:
- only work with multiple sites
- Pros:
- Phased: Converts one module of the system at a time.
- Pros:
- low risk
- Cons:
- Training period is extended
- Adoption of new system takes longer
- Pros:
Example questions
- Outline the process of direct change over.
- Outline the risk of each alternative installation process.
1.1.6 Problems that may arise as a part of data migration
Data migration refers to the transfer of data between different formats, storage types and computer systems.
Data migration happens when an organization changes, upgrades, or merges its information systems. Several problems may occur:
- Incapability of moving the information due to parameters such as incompatibility
- Data may be lost or not transfered due to an incomplete data transfer or errors during the process.
- Data may also be misinterpreted due to incompatibilities.
The four stages of data migration are:
Extract $\longrightarrow$ Transform $\longrightarrow$ Load $\longrightarrow$ Validate
Example question
- Define data migration
- Outline the data migration process & list possible problems related to it.
1.1.7 Various types of testing
When developing a program or a computer system, testing is needed to validate the system or to find ways to improve the system.
Testing can happen in different ways in different phases.
Functional testing tests individual commands, text input, menu functions, etc.
- Confirms that they perform and function correctly according to design specifications
Data testing is when normal, abnormal and extreme data is put into the system.
- Normal data will be used to check if the program is correct.
- Data at the limits should be also tested.
- Extreme data will be outside the normal limits. These data should be rejected during validation testing.
- Abnormal data (illegal data) that are really didn't expect (e.g. When program ask for numbers, user input "dog" into the program)
Alpha testing is done before the software product is made available to general public.
Beta testing includes comments and suggestions of the users. Users outside company are involved in the testing.
Dry-run testing is conducted using pen-and-paper by the programmer. Programmers mentally run the algorithm.
Unit testing: individual parts of the system are tested seperatedly.
Integration testing: the entire system is tested at the same time to verify that all components can work together.
User acceptance testing is used to determine if the system satisfies the customer needs.
Debugging is a systematic process of finding and correcting the bugs in a program.
Validation is the process of evaluating whether data input follows appropriate specifications.
Verifications is the process of ensuring data input is the same as original source.
Distinguish between Validations and Verifications
- Validation: are we developing the correct system?
- Validation: are we developing the system correctly?
- Verification: does the product meet the consumer needs?
- Verification: does the product with a specific regulation or condition?
There are programs that can test other programs, thereby automating parts of the testing process and reducing costs. (e.g. GDB, linter, SSL checker, etc.) Inadequate testing can reduce employee productivity and lead to end-user dissatisfaction.
Example questions
- Define unit testing
- Outline the various types of dat in data testing.
Real ib questions in Topic 1.1 Part 1
- Identify two features that need to be considered when planning a new computing system for an organization. [M14/P1/TZ0 Section A - Q1]
A large company has taken over another business. This takeover has required various changes to be made. One of the changes requires data migration. [M17/P1/TZ0 Section B - Q11]
a. i Define the term data migration
a. ii Describe two problems, concerning data migration, which the company may have to overcome.b. Other than data migration, describe two aspects of change management that may arise from this takeover.
- Outline one problem of maintaining legacy systems. [M16/P1/TZ0 Section A - Q1]
An international organization has offices located across several countries. For some of its activities, for example human resource management, it has been decided to adopt a “Software-as-a-Service” (SaaS) solution in order to keep the running costs low. [M14/P1/TZ0 Section B - Q13]
a. Describe the features of SaaS.
b. Discuss the limitations of SaaS in relation to security.
An examination office of a university must securely store students’ examination papers and their grades. The office keeps the documentation of past students for two years. After two years the office only stores the student grades. All documentation of current students is frequently accessed for other operations and the volume of the data increases quickly. [M16/P1/TZ0 Section B - Q11]
The examination office needs to upgrade the computing resources for their operations, and this will require data migrationd. Discuss two possible problems that may occur during data migration
e. Outline one economic aspect that the examination office needs to take into account to parallel running.
A hardware shop supplies a wide variety of bathroom equipment. There are 15 shop assistants who serve customers, 3 office staff who handle the administration, and a manager. A specialized company is asked to design and implement a new computer system for the shop. [N15/P1/TZ0 Section B - Q7]
The new system is implemented using parallel running.
d. i) Outline what is meant by parallel running.
d. ii) Outline one reason for choosing parallel running as opposed to a direct changeover
- Explain what is meant by beta testing. [M14/P1/TZ0 Section A - Q2]
- Describe the use of beta testing. [M17/P1/TZ0 Section A - Q1]
- Explain what is meant by user acceptance testing. [M16/P1/TZ0 Section A - Q2]
2. User focus
1.1.8 Importance of user documentation
The context of user documentation:
- Programs and systems may become increasingly complex
- User's way of thinking may differ from the developers
- With appropriate external documentation, there will be a user manual explaining every component.
There are two types of documentation: internal documentation and external documentation.
Internal documentation is the code comprehension features and details provided as part of the source code itself.
- Appropriate module headers
- Appropriate comments
- Useful and meaningful variable names
- Useful module, classes, methods, and function headers
- Appropriate code indentation
- Appropriate code structuring
- Appropriate use of enumerated types
- Appropriate use of constant identifiers
- Appropriate use of data types defined by the user
External documentation is typically written as a separate document from the program software requirements specification document, etc.
Example questions:
- Distinguish between internal document and external document.
- Which parts of code can be internal document?
1.1.9 Different methods of providing user documentation
There are many method of providing user documentation (mainly external documents). Different methods all have different suited scenarios and different pros and cons.
Manuals can be provided online or offline
- Online manual: potential use of multimedia features
- Offline manual: can be read without use of a PC. Can be accessed without internet connection.
Email support: users contact support team to resolve any problems.
Embedded assistance / integrated user assistance: excellent way to increase usability of a software.
- Context-specific
- Task-specific
FAQs (frequently asked questions) gives users answers to a common set of problems.
Live chat sessions is a type of real time support that is extremely useful for emergency situations.
Online portals can provide many ways of documents
- Updated manuals
- Support pages
- FAQs
Remote desktop connection connects directly to the usesr's PC through internet.
The quality of user documentation can affect the rate of implementation of the new system.
Example questions:
- Outline the possible methods of providing user documentation of a web-browser software.
1.1.10 Different methods of delivering user training
Organization or software sometimes requires user training to help the user master the software or computer system. There are several methods of delivering these trainings. The quality of the delivery of user training can affect the rate of implementation of the new system.
Self-instruction / self-study allows user to learn in his/her own time.
- No tuition fee
- Lack of guidance / teacher support
Formal classes
- Disadvantage shy members
- Allow exchange ideas easily
- With teacher's instruction
Remote/distance learning/online training
- Allows participants take part in high quality courses
- Time efficient
- Require network infrastructure
- Inappropriate for immature learners.
Example questions:
- Compare self-study and formal classes.
Real ib questions in Topic 1.1 Part 2
A new higher level programming language is being developed. [N16/P1/TZ0 Section B - Q9]
c. State one method of providing user documentation.
- Discuss one advantage and one disadvantage of printed material, when compared to online support, as a method to provide user documentation. [M16/P1/TZ0 Section A - Q3]
- State two items of documentation that are usually included for the user in a software package. [N13/P1/TZ0 Section A - Q1]
A small hotel buys a software package to manage their bookings [N15/P1/TZ0 Section A - Q4]
a. Describe two types of documentation that should be provided with the software package.
b. State two methods of delivering user training.
3. System backup
Computer system sometimes breaks, and the data may be lost. There aren't ways to prevent any system from breaking, but there is way to diminish the cost of these failures.
1.1.11 Causes of data loss
Data loss refers to an error condition where data is lost or destoryed due to system failure.
Causes | Solution |
---|---|
Accidental deletion | Use file recovery program |
Administrative errors | Need for care |
Misplacement | Data can't be found. Restrucutre data organization |
Building fires | Store data in two locations |
Closing program without saving file | Need for care, use of autosave features |
Computer virus | Need antivirus software, regular backups |
Continnued use after signs of failure | Need for SMART tech. Need for PC checkup. Regular backups |
$\vdots$ | $\vdots$ |
There are a lot more causes than listed here. Causes do include malicious activities and natural disasters, such as earthquake, building fire, attackers, etc. Unfortunately, malicious activity may be a result of activities by employees within the organization or intruders.
1.1.12 Consequences of dataloss in a specified situation.
There are different consequences depending on the exact context. There are several common consequences:
- High cost, even life danger (e.g. lost of patient data)
- Discomfort / disappointment from clients
- Lost of key data (e.g. commercial transaction data)
Example consequences includes loss of medical records, cancellation of a hotel reservation without the knowledge of the traveller, etc.
1.1.13 Range of methods that can be used to prevent data loss
There are several methods to prevent data loss when errors occur, or even prevent the errors from occuring.
- Regular backup using hard disks or magnetic tapes
- Firewall installation
- Data storage in two or more locations (offsite storage)
- Removed hard copies (printed versions of data)
- Install antivirus programs
- Human error reduction / failsafe
- Online auto bakcup (iCloud, Google Driver, etc.)
Sometimes we use redundancy to secure the data.
Redundancy is the duplication of storage devices & stored data of a computer system, with the intention of securing the stored data.
Diskettes, CDs, DVDs, USB are removable media that are used for fast data backup.
Sometimes just securing the data through storage media or data redundancy is not enough. For a continued service, sometimes we use a failover system.
Failover system is a computer system which is on standby capable of switching to a spare computer system upon hardware failure, network failure, etc.
- vs. Switchover, failover is automatic & handles abnormals without human interaction
Example questions
- Define redundancy
- Outline how removable media can be used to prevent data loss.
- Define failover system
- Distinguish failover system from switchover system
Real ib questions in Topic 1.1 Part 3
- Identify two causes of data loss. [M17/P1/TZ0 Section A - Q2]
A customer buys an item in a small local shop and pays with a credit card. The sales transaction data is input to a computer at the point of sale. Prices are downloaded every morning from a central computer at the company headquarters. The credit card is verified with the card authorization centre and then the receipt is printed. [N14/P1/TZ0 Section B - Q9]
All programs and data should be protected from theft, destruction, manipulation and alteration in this process.
c. Identify three causes of data loss.
d. Describe why data loss is a more serious problem than the loss of software or hardware for a sales company.
e. Identify two methods of preventing data loss.
An insurance company holds a large database of information about its customers, including the date of their next payment. [M15/P1/TZ0 Section B - Q8]
c. Outline the consequences of data loss to customers and to the company.
d. Describe one method that the company could use to prevent data loss.
4. Software development
1.1.14 Strategies for managing releases and updates
There are variety of ways in which updates and patches are made available and deployed. This includes automatic
updates received on a regular basis online.
Patches are used to update applications by fixing known bugs and vulnerabilities.
Upgrades contain novel functionalities or characteristics, cumulative bug fixes.
Updates improve the product in a minor way by adding functionality or fixing known bugs.
Releases are final, working versions of software applications.
Performance issues related to the inability to install updates may hinder end-users and reduce compatibility between systems in geographically diverse locations.
Real ib questions in Topic 1.1 Part 4
- Identify two reasons for releasing a software update [M17/P1/TZ0 Section A - Q3]
2. System design basics
1. Components of a computer system
1.2.1 Hardware, software, peripheral, network, human resources
There are five major parts of a computer system.
Computer hardware: The physical elements of a computer. (e.g. Screen, CPU, etc.)
Computer software: A series of instructions that can be understood by a CPU. These instructions guide the CPU to perform specific operations. Software is comprised of both program and data.
Peripheral device: any auxiliary device that can communicate and work with a computer. A peripheral device extends the capabilities of the computer system it is connected to. (e.g. mouse, keyboard, printers, etc.) The peripheral is not a core/essential part of the computer. (Computers can work without them!)
Computer network: A set of computer systems that are interconnected and share resources, as well as data. (e.g. LAN, WAN, etc.)
Human resources: People who are used or could be used in an organization, business, or economy.
Example question
- Identify the components of a computer system.
- Distinguish whether peripheral devices are needed for a computer to work.
1.2.2 The roles a computer can take in a networked world
In the current age, almost everything connects to some kind of network. Your computers are connected to Internet through cables or wireless, your cellphones connecte to cellular stations, and even your watches, lamps, ACs, and TVs are all connected to Internet Of Things through Bluetooth or WiFi.
There are various roles that a computer can take in this world, including: client, server, email server, DNS server, router and firewall.
A client receives data via network, whereas the server has saved data on it and offers it to clients.
A server may be a program or a computer that provides service requested by clients connected over a network.
A client is an average computer or terminal used to access a computer-based system.
An email server is the equivalent of post office that manages the flow of email in and out of the network, checks that an email address is valid, allows users to access their emails.
A router is a networking device that accept incoming quanta of information (packets), reads their destination and distributes them across networks, according to a routing table or routing policy. (Think of the job of postman, or fork on the rails)
1.2.3 Discuss the social and ethical issues associated with a networked world.
An introduction of a new system may affect thousands or millions of users. (e.g. the Internet) The social and ethical issues include:
-
Reliability: how well an IT system functions. Computer failures cause data loss, time loss, injury or even death. Reliability determines the value of the system.
-
Integrity: Protecting the completeness of the data. If data is out of date / incomplete / been purposely or unintentionally altered, the data lacks integrity.
-
Inconsistency: Problems may arise if information is duplicated and only one copy is updated, causes inconsistency.
-
Security which refers to the protection of hardware, software, peripherals, and computer networks from unauthorized access.
-
Anonymity: When an individual uses an IT system to conceal his/her true identity in order to cyber-bully others or commit illegal actions, privacy becomes anonymity.
-
Intellectual property: Copyright laws are designed to protect intellectual property from unauthorized and illegal reproduction.
-
Surveillance: using IT to monitor individuals or groups of people either with or without their knowledge or permission.
Real ib questions in Topic 1.2 Part 1
- Many different people and organizations upload scientific materials to the internet. A student uses data from the internet in a science project. Outline two ethical issues concerning this use of the internet. [N16/P1/TZ0 Section A - Q5]
2. System design and analysis
1.2.4 Relevant stakeholders when planning a new system
Stakeholders are individuals, teams, groups or organizations that have an interest in the realization of a project or might be affected by the outcome of a project.
The end-user is the person who is going to use this product. A relevant stakeholder can also be a frequent user of the current system.
For example, a university online library system may have several stakeholders: librarians, students, professors, people from the community, web hosting/service providing company, the university itself, etc. Each stakeholder may make suggestions of improvements to the system, and they may spot flaws, etc.
Example question
- Identify the stakeholders of a new business record keeping program in a sales company.
1.2.5 Describe methods of obtaining requirements from stakeholders.
Gahtering information / details about an existing system or obtaining stakeholders' requirements can be done in these ways:
-
Interviewing stakeholders
- Structured interview are standardlized and prescribed.
- Set of prepared questions
- Stakeholders can't express their thoughts freely.
- Unstructured interview are flexible.
- Without prepared questions.
- Yield data that is too difficult to summarize
- Structured interview are standardlized and prescribed.
-
Questionnaires
- Effective when the questions are carefully constructed to elicit unambiguous responses.
- Closed or restricted questionnaires involve "yes" or "no" answers, short responses and box checking.
- Easy for statistical analysis
- Tabular presentation of data
- Open or unrestricted questionnaires involve free response questions
- Allow greater depth of response
- Difficult to interpret or summarize
- Guarantees uniformitiy of questions, yeild data easier for comparison
-
Direct observation
- Makes possible the collection of different types of data
- Independent of user bias
- Time consuming
- People sometimes change their behavior when they know they are observed.
Example question:
- Compare between the use of interview and questionnaires.
1.2.6 Appropriate techniques for gathering the information needed to arrive at a workable solution.
1.2.7 Construct suitable representations to illustrate system requirements.
Before talking about suitable representations to illustrate system requirements, we need to first introduce the three types of processing.
- Online processing (interactive): Data processing performed by a single processor through the use of equipment that it controls. (e.g. hotel booking)
- Real-time processing: Data processing performed on-the-fly in which generated data influences the actual process taking place. (e.g. games)
- Batch processing: Data processing performed on data that have been composed and processed as a single unit.
The major way to represent these systems is by using System flowcharts, data flow diagrams, and structure charts.
A system flowchart refers to the description of a data processing system, including the flow of data but excluding the details of such system.
The legend of flowcharts:
A Data flow diagram may usually be used to describe the problem to be solved. A DFD shows how data flow, but does not specify the type of data.
The legend of DFDs:
A Structure chart describes functions and sub-functions of a system, as well as the relationship between modules of a program.
This part of knowledge will be re-examined in Topic 4: Computational thinking. The questions are usually grouped with Topic 4 questions. Please refer to Topic 4 if you want more details of these representations of programs or algorithms.
Example questions:
- Draw a DFD to represent the process of register a book loan in a library management program.
1.2.8 Describe the purpose of prototypes to demonstrate the proposed system to the client
A prototype is either a working or non-working preliminary version of the final product / simple version of the final system.
Prototypes are used to demonstrate how the final product will work.
A prototype can:
- Attracts the attention of client
- Provide a concept for investors to make decisions.
- Encourages active participation between users and developers.
- Gives an idea of the final product.
- Helps the identification of problems with efficiency or design.
- Increase development speed.
Example question:
- Describe how prototypes benefits users/investors of a system.
1.2.9 The importance of iteration during the design process
Iterations refers to the representation of a set of instructions for a specific number of times or until the operation yield a desired result.
Even the best designers cannot design perfect products in a single attempt, so an iterative design methodology should be adopted.
Example question:
- Define iteration
1.2.10 Possible consequences of failing to involve the end-user in the design process
If the analysis of design does not involve all key stakeholders including the client and end users, the developed system may either solve a different problem or deal with issues that are outside of the project's scope.
1.2.11 Social and ethical issues associated with the introduction of new IT systems
Machines and smart robots are replacing countless human jobs and put millions of people into unemployment. Introduction of new computer systems may cause social disturbance. The impact of computer systems on society must be examined.
Computerized systems may cause people to drift apart from the physical world and become enclosed in virtual environments. Using of smart phones and social media may deprive people's social and interaction opportunities.
When people have to study and familiarize with a new computer system, it may also put stress on them.
Real ib questions in Topic 1.2 Part 2
An examination office of a university must securely store students’ examination papers and their grades. The office keeps the documentation of past students for two years. After two years the office only stores the student grades. All documentation of current students is frequently accessed for other operations and the volume of the data increases quickly. [M16/P1/TZ0 Section B - Q11]
b. Describe how direct observations on the current system may provide information to help propose a suitable new system
A prototype of the new system is created to present to the examination office.
c. Describe the purpose of this prototype.
A hardware shop supplies a wide variety of bathroom equipment. There are 15 shop assistants who serve customers, 3 office staff who handle the administration, and a manager. [N15/P1/TZ0 Section B - Q7]
A specialized company is asked to design and implement a new computer system for the shop.a. i) Identify two different types of users of the system
a. ii) Explain the role of users in the process of developing the new computer system
b. Describe why it is useful to produce more than one prototype of the new system.
- Construct a systems flowchart for the process described below. [N13/P1/TZ0 Section A - Q8]
- A transaction file held on disk is validated.
- An error report which gives details of invalid transactions is printed out.
- All valid transactions are stored on a disk file, which is then sorted.
A customer buys an item in a small local shop and pays with a credit card.The sales transaction data is input to a computer at the point of sale. Prices are downloaded every morning from a central computer at the company headquarters. The credit card is verified with the card authorization center and then the receipt is printed. [N14/P1/TZ0 Section B - Q9]
a. Draw and label a system flow chart to represent this process in the shop.
3. Human interaction with the system
1.2.12 Usability
Accessibility refers to the potential of a service, product, device or environment to serve and meet the needs of as many individuals as possible.
Frequently, accessibility is studied with disabled people (people with special needs). They use various assistive technologies. Be in mind that accessibility can also be influenced by the internet connection, power supply, etc. (e.g. Online video streaming service)
Usability refers to the potential of a product, application or website to accomplish user goals. It refers to effectiveness, efficiency and satisfaction in a specific context of use.
Ergonomics (human engineering) refers to the design of safe and comfortable products or systems. (e.g. Keyboards are shaped by ergonomic consideration in order to improve user's comfort.)
Example question
- Define accessibility
1.2.13 Usability problems with commonly used digital devices
Overall usability problems:
- Complexity/Simplicity: Amount of effort to find a solution.
- Effectiveness: Comparison of user performance against a predefined level.
- Error: Number of errors, type of errors and time needed to recover from errors.
- Learnability: Time used to accomplish tasks on the first use.
- Memorability: Time, number of button clicks, pages, and steps used by users when they returned to the device after a period of not using it.
- Readability: Reading speed
- Satisfaction: Attitude of users towards applications after using them.
Device specific common usability problems
- GPS/Navigation system
- Small screen
- Low-quality speakers
- Antenna with poor performance, makes it hard to receive a satellite signal.
- Inaccurate geographical data
- Outdated street data
- Inefficient routing software
- Tablets
- Accidental touches lead to undesired selections.
- Difficult to learn different gestures
- Bad scaling/zoom control
- Difficult-to-use control features
- Small side buttons
- Poorly written instructions
- Game consoles
- Some portable consoles have small screens
- Buttons may be too small
- Difficult to use outdoors (brightness)
- Short battery life
- PCs
- Excessive keyboard use cause strain injury
- Excessive use of a large bright screen causes eye issues
- Poor room lighting leads to distracting reflections
- Hard for left-handed people
- Digital cameras
- Incorrect calibration of touch screen
- Need to hold camera vertically
- Inadequate flash light
- Buttons are too small
- Some cameras require special software
- Mobile phones
- Keyboard is very small to use / people with bad eyesight can't use it
- Too many unused features
- MP3 Devices
- Tiny buttons
- Insufficient memory
- Fragile
- Lack of screen
- Lack of NLP system (Voice control, etc.)
- Can use sensors / gestures to increase usability (e.g. shake the device)
Example question
- Outline the possible usability problem associated with cameras.
- Identify the ways to increase the usability of a MP3.
1.2.14 Methods that can be used to improve the accessibility of systems.
You can use your creativity in this section! It's basically add / improve features to address the usability problems mentioned in last section. Examples include: touch screen, voice recognition, text-to-speech, braille keyboard.
1.2.15 Identify a range of usability problems that can occur in a system
Now it's applying the knowledge of usability into real life examples!
The key is to identify each usability problem according to what you learned in last two sections, and make improvements based on the context. Don't be afraid of using your creativity and ability to mind-storm.
There aren't a lot of these questions in the exam. It's more about design tech, less about computer science. The questions in the exam about usability are mostly about identify problems and ways to fix them.
Example questions
- Identify usability problems related to a voice recognition system and make improvements.
1.2.16 Discuss the moral, ethical, social, economic and environmental implications of the interaction between humans and machine
Well... Apart from those ethical issues we talked before, this topic is more about "ethics". We really can't teach you anything here. Examples include the debate of AI, using of new IT system for education, health issues related to IT systems, etc.
Real ib questions in Topic 1.2 Part 3
- State three potential usability issues with cell phones [N16/P1/TZ0 Section A - Q1]
Human interaction with the computer system includes a range of usability problems. [N15/P1/TZ0 Section A - Q1]
a. Define the term usability.
b. Identify two methods that could be used to improve the accessibility of a computer system.
- Outline one usability issue associated with the design of mobile device. [M14/P1/TZ0 Section A - Q4]