Struggling to comprehend or memorize the first chapter into IB computer science? Fret not, follow me as we dive into the fundamentals of systems in a simplified manner! A topic of huge prevalence under the realm of computer science :3
Table of Contents
Software life cycle
This refers to the stages for which the development of a new system needs to pass through to replace the current system
- Existing system analysis
- Requirements specification
- Software design
- Software implementation
- Testing and debugging
- New system installation
- Maintenance
Systems in Organizations
Feasibility study
An assessment of the practicality of the proposed new system and analyzes the viability of the newer system to determine whether the project will succeed. There are 5 main areas to consider for feasibility, which we will call as TELOS as the acronym:
- Technical feasibility: Is the existing technology enough to implement the new system
- Economic feasibility: Is it cost-effective
- Legal feasibility: Are there any conflicts between the new system and the laws/regulations
- Operational feasibility: Are the existing organizational procedures & practices sufficient to maintain the new system
- Schedule feasibility: Is it time-effective? How long will it take to implement the new system?
Legacy system
- Old technology, hardware, system or software within an organization
Business merger
- Combination of 2 or more different business entities
Software incompatibility
A situation where different software and/or systems cannot operate on the same computer/on a network
- Example: Linux App Images cannot work on Windows
Changeover: Changing of a particular software or employees within an organization
SaaS (Software as a Service)
A software distribution model where a cloud provider hosts applications and makes them available to end users over the internet
- Also known as on-demand software
- Used by organizations such as Netflix
- Allows data and software to be hosted on a server/datacenter
- Clients can access through the Internet
- More expensive than initial software
- Advantages:
- Lower initial cost
- Easy access from anywhere
- App is ready to use
- Easy to upgrade
- Easy to predict cost of initial implementation (subscription)
- Disadvantages:
- Internet connection dependent
- Security and confidentiality
- Risk of data loss
- Dependence on a third party
- Not as powerful as on-premise solutions
- Advantages:
Changeover
- Changeover is transitioning or moving from an old system to a new system
Types of changeover:
- Parallel changeover: Both systems work together in parallel for a short period. If there are problems -> quickly reverted
- Big bang/Direct/Immediate changeover: An immediate and total changeover of the system, completely overriding the old one. Possesses high risks
- Pilot changeover: usually for organizations with multiple sites/systems. Implemented on one single site first. If it’s successful -> gradual introduction to other sites
- Phased changeover: A transition with stages and phases. Slowly overriding over the old system
Data migration
- Transfer of data between data types, storages and systems, which is usually automatic
Types of testing
- Functional testing: testing individual functions, commands and input methods -> to check that each function performs as it expected
- Data testing: normal/data at limits/abnormal/extreme data put into the the system to check if the data works as intended with the program
- Alpha testing: testing before the program is released and available to the public, usually by producers
- Beta testing: testing done by a small selection of the public for comments and suggestions by the users. Can be used to find bugs
- Dry-run testing: done using pen-and-paper by the programmer, where you mentally run the algorithm
- Unit testing: individual parts of the system are tested independently
- Integration testing: testing with all the parts working together at the same time for verification
- User acceptance testing: testing done to see if the capabilities of the system/software meets the demands of the customer
- Debugging: used to find bugs in a program
Validation vs verification
- Valid: Checking if it’s suitable or acceptable
- Checking for acceptable data
- Verify: Checking if it’s exactly the same
- Checking for accuracy and the data itself
Documentation
- Code comprehension features and/or instructions to use
Data loss
- Error condition where data is lost/corrupted/destroyed due to system failure, negligence or processing errors
Redundancy
- Duplication of devices and data with the intention of securing and backing up
Failover system
- Computer system on standby capable of switching to a secondary system on failure, error and malfunction. Failover is not the same as switchover (Failover: automatic error reduction vs Switchover: change)
Updates
- New versions of software. Patches, upgrades, releases
System Design Basics
- Hardware: physical elements of a computer (i.e. CPU, motherboard, RAM, GPU (standalone or integrated), etc.)
- Software: series of computer instructions that runs a process
- Peripheral: auxiliary devices to use with a computer (i.e. mouse, keyboard, mic, etc)
- Network: big connection system between computers and devices
Privacy vs anonymity
- Privacy is the process of keeping data, especially sensitive data private and secure
- Anonymity is the state of hiding one’s identity for malicious purposes
Security
- Protection of hardware, software and systems
Top-down design
- A problem solving technique by dividing it into sub-problems
- Also known as stepwise refinement.
Pseudocode
- It is exactly what it says! Pseudo = half and half. It’s code but, not working or executable code. It is for focusing on logic and algorithms.
Accessibility vs usability
- able to be used vs how effect the program is in achieving end goals
Woohoo! We’re done with a quick revision guide to topic 1 now!! Let’s ace our IB exams!!
Wanna check out topic 2 (Computer organization) of computer science?? Click here
Do you take Math AAHL as well? Here’s a guide of one of the relevant topics within IB Math AAHL!
Bibliography:
- IBDP Core Computer science textbook
- https://id.pinterest.com/pin/7810999345691788/
- https://id.pinterest.com/pin/134193263890725901/
- https://id.pinterest.com/pin/15340454975490835/
- https://id.pinterest.com/pin/695876579951634907/
- https://images.app.goo.gl/TUKDdW2wirVz3sPr6
- https://images.app.goo.gl/4AcV8CMtbxWPeXkm8