Definition of Software Engineering
Software Development Life Cycle (SDLC)
Software is a collection of programs, instructions, and related data that tells a computer what to do and how to perform a particular task.
Software is
mainly classified into two main
types:
System Software and Application
Software.
1. System Software
System software controls and manages the computer
hardware and provides a platform for running application software.
It acts as an
interface
between the user/application software and computer hardware.
Examples:
- Operating systems – Windows,
Linux, Android
- Device drivers
- Language translators – Compiler,
Interpreter, Assembler
- Utility programs – Antivirus,
Disk Cleanup
Example:
Windows manages the computer's hardware and allows other programs to run.
Functions of System Software
1.
Manages computer hardware.
2.
Controls memory and CPU.
3.
Manages files and storage.
4.
Controls input and output devices.
5.
Provides a platform for application software.
6.
Provides security and system management.
Types of System Software
A.
Operating System
An Operating
System (OS) is the most important system software. It manages
hardware resources and provides services to application programs.
Examples:
- Windows
- Linux
- macOS
- Android
- iOS – iPhone, First released in June 2007
Functions:
- Process management
- Memory management
- File management
- Device management
- Security
- User interface
Example: When you open MS Word, the
operating system allocates memory and CPU resources to it.
B.
Device Drivers
A device driver is
software that allows the operating system to communicate with a hardware
device.
Examples:
- Printer driver
- Graphics driver
- Keyboard driver
- Audio driver
- Network driver
Example: When you connect a printer to a
computer, the printer driver helps the operating system communicate with the
printer.
C.
Language Translators
Computers understand machine
language, but programmers generally write programs using high-level or assembly
languages. Language
translators convert these programs into machine-understandable instructions.
There are three major types:
1. Compiler
A compiler
translates the entire source program into machine code before execution.
Examples: C, C++, Java compiler.
Advantages:
- Faster execution after compilation
- Reports errors during compilation
2. Interpreter
An interpreter
translates and executes a program line by line.
Example: Python commonly uses an
interpreter-based execution approach.
Advantage:
- Easy to test and debug individual
sections.
3. Assembler
An assembler
converts an assembly language program into machine language.
Assembly language → Assembler →
Machine code
D.
Utility Software
Utility software helps users maintain, protect,
and optimize a computer system.
Examples:
- Antivirus software
- Backup software
- Disk cleanup tools
- File compression software
- Disk management tools
Functions:
- Protects against malware
- Creates backups
- Removes unnecessary files
- Compresses files
- Monitors system performance
2. Application Software
Application
software is designed to help users perform specific tasks or solve
particular problems.
Unlike system software,
application software is mainly concerned with user-oriented tasks.
Examples
- MS Word → Creating documents
- MS Excel → Calculations and spreadsheets
- PowerPoint → Presentations
- Google Chrome → Web browsing
- Photoshop → Image editing
- VLC → Playing multimedia (VideoLAN Client)
Types
of Application Software
A. General-Purpose Software
General-purpose software is
developed to perform common tasks required by many users.
Examples:
- MS Word
- MS Excel
- PowerPoint
- Web browsers
- Media players
Example
MS
Word can be used by:
- Students for assignments
- Teachers for notes
- Businesses for reports
- Writers for documents
Therefore, it is general-purpose
software.
B. Special-Purpose Software
Special-purpose software is
developed to perform one particular type of task or solve a specific problem.
Examples:
- Railway reservation software
- Billing software
- Payroll software
- ATM software (Automated Teller Machine)
- Hospital management software
Example
An ATM system is designed mainly
for banking transactions such as:
- Cash withdrawal
- Balance enquiry
- Deposit
- Fund transfer
Therefore, it is special-purpose
software.
C. Customized Software
Customized software is developed according to
the specific requirements of a particular person or organization.
Examples:
- A college's customized student management
system
- A company's employee management system
- A hospital's customized patient
management system
Example
Suppose college needs software
with:
- Student attendance
- Examination management
- Fee management
- Results
- Student records
A software company can develop a
system specifically for that college. This is customized software.
3. Web-Based Software
Web-based software is accessed through a web browser
rather than being completely installed on the user's computer.
Examples:
- Gmail
- Google Docs
- Online
banking
- Online
shopping websites
- Learning
management systems
Advantages
- Can be
accessed from different devices
- Usually
requires less local installation
- Easy to
update centrally
- Useful for
remote access
4. Mobile Application
Software
Mobile applications are software programs designed
primarily for smartphones and tablets.
Examples:
- WhatsApp
- Google Maps
- Mobile
banking apps
- Educational
apps
- Shopping
apps
They are generally developed for platforms such as Android
and iOS.
5. Embedded Software
Embedded software is
software built into a hardware device to control its functions.
It is commonly found in:
- Washing
machines
- Microwave
ovens
- Cars
- Smart TVs
- Digital
cameras
- Medical
equipment
- Smart
watches
Example
A washing machine contains software that controls:
- Water level
- Washing time
- Spin speed
- Temperature
The software is embedded inside the device.
6. Open-Source and
Proprietary Software
Software can also be classified according to how its
source code and usage rights are provided.
Open-Source Software
The source code is made available under an open-source license,
allowing users and developers to study, modify, and redistribute it according
to the license terms.
Examples:
- Linux
- LibreOffice
- Mozilla
Firefox
Proprietary Software
The software is controlled by its owner or organization,
and its source code is generally not publicly available.
Examples:
- Microsoft
Windows
- Microsoft
Office
- Adobe
Photoshop
Difference Between
System Software and Application Software
|
System
Software |
Application
Software |
|
Manages computer resources |
Performs user-specific tasks |
|
Works closely with hardware |
Works mainly for the user |
|
Usually starts with or supports the system |
Usually launched when required |
|
Provides a platform for applications |
Runs on the platform provided by system software |
|
Examples: Windows, Linux, drivers |
Examples: Word, Excel, Chrome |
Simple Example
Think of a restaurant:
- System
software is like the kitchen infrastructure that
makes everything work.
- Application
software is like the specific services provided
to customers.
Similarly, the operating system provides the environment,
while applications perform tasks for the user.
No comments:
Post a Comment