COMPUTER SYSTEM
A computer system is a complete, functional setup that includes both hardware and
software components working together to perform computation, data processing,
and storage tasks.
Components of a Computer System
A. Hardware:
i. Input Devices: Keyboard, mouse, scanner.
ii. Output Devices: Monitor, printer, speakers.
iii. Processing Unit: Central Processing Unit (CPU) – the brain of the computer.
iv. Memory/Storage Devices: RAM (temporary memory), Hard Drive, SSD
(permanent storage).
v. Communication Devices: Network cards, Wi-Fi adapters, etc.
B. Software:
i. System Software (e.g., operating systems like Windows, Linux)
ii. Application Software (e.g., Microsoft Word, web browsers)
iii. Programming Software (e.g., compilers, IDEs)
iv. Utility Software (e.g., antivirus, file management tools)
C. Users:
i. End-users, developers, system administrators, etc.
D. Data:
i. Raw facts and figures processed to produce information.
Basic Operation of a Computer System
ii. Input – Data entered via input devices.
iii. Processing – CPU processes the input data.
1
iv. Storage – Temporary (RAM) or permanent (Hard Drive).
v. Output – Results shown via monitors, printers, etc.
Evolution of Software Engineering
Software Engineering is the application of engineering principles to software
development in a methodical, measurable way.
Early Days:
1940s–1950s: Software written in machine language or assembly. Programs were
simple and hardware-specific.
1960s: Introduction of high-level languages like FORTRAN and COBOL. Programs
became more complex, but no formal methods for managing software.
1968 NATO Conference: The term "Software Engineering" was officially recognized
due to the "software crisis" – delays, budget overruns, and project failures.
Key Milestones:
1970s – Waterfall Model Introduced
Sequential phases: Requirements → Design → Implementation → Testing →
Maintenance.
1980s – Rise of Object-Oriented Programming
Languages like C++, Smalltalk.
1990s – Iterative and Incremental Development
Prototyping, Rational Unified Process (RUP).
2000s – Agile and DevOps
Agile manifesto promotes collaboration, flexibility, and customer feedback.
DevOps combines development and IT operations for faster, reliable releases.
2
Today – AI-Driven Development, Low-Code/No-Code Platforms
Focus on automation, reusability, and speed.
Principles of Software Engineering:
i. Requirements analysis
ii. System design
iii. Implementation
iv. Testing and validation
v. Maintenance
vi. Project management and documentation
Importance of Software in Modern Technology
Software is at the core of almost every technological advancement in the modern
world.
A. In Daily Life:
i. Mobile apps (WhatsApp, Google Maps)
ii. E-commerce (Jumia, Amazon)
iii. E-learning (Zoom, Google Classroom)
B. In Businesses:
i. ERP systems for business management
ii. CRM for customer relationship
iii. Payroll, finance, and HR tools
C. In Government and Public Services:
i. E-governance, digital ID systems, tax filing systems
ii. Smart city solutions
D. In Engineering and Science:
3
i. CAD software for design
ii. MATLAB for simulations
iii. Data analysis in research
E. In Emerging Technologies:
i. Artificial Intelligence (AI): Facial recognition, chatbots, recommendation
systems.
ii. Internet of Things (IoT): Smart homes, connected devices.
iii. Cloud Computing: Google Drive, AWS, Azure.
iv. Cybersecurity: Intrusion detection, encryption software.
F. In Education:
i. E-books, online testing, simulations.
ii. Learning Management Systems (LMS).