Computer Software:
Software is the set of instruction, data, or programs used to operate computer and execute
specific tasks.
It tells the computer how to function.
Software is created using programming language.
Programming language provides the structure and syntax needed to develop software
applications.
It compiled or interpreted into machine code that the computer can understand and execute.
Need for computer Software:
Task automation
Information processing
User Interface
Communication and connectivity
Entertainment and creativity
Business Application
Research and science
Education and learning
Healthcare and medicine
Types of software
1. System software
2. Application software
System software:
OS
Compilers
System utility software (anti-virus, backup and network manager)
Application software:
Word processing software (MS WORD)
Image editing software (PHOTOSHOP)
Media players (WINDOWS MEDIA, VLC PLAYER etc.,)
Web browser software (IE, CHROME etc.,)
System management programs:
These programs provide a set of tools and functionalities to monitor, optimize, troubleshoot,
and enhance the performance and reliability of computer systems.
They provide tools and functionalities that help users and system administrators to maintain and
optimize computer systems.
Reason for system management programs:
♦ System performance optimization
o Fine tune the system setting to ensure efficient utilization of hardware resources,
leading to better overall performance
♦ Troubleshooting and diagnostics
o Detect hardware failures, software conflicts or configuration issues helping users
troubleshoot and resolve issues more effectively.
♦ Security and antivirus protection
o Protects system from malware, viruses and other cyber threats. Regular scanning and
real time protection helps safeguard data and maintain system integrity.
♦ Data backup and recovery
o Provide backup and recovery tools to ensure users can restore their data and system
configuration when needed.
♦ System maintenance
o Keep the system running smoothly and prevent performance degradation over time.
System development programs:
The process of creating, designing, deploying and implementing new software applications or programs.
These tools assist developers in designing, coding, testing and deploying software systems.
Integrated development environments (IDES)
provide a complete set of tool for writing, testing and debugging code. they include
source code editor, build tools and debugger.
Version control systems
GIT allow developers to manage changes to their code over time, enabling collaboration
Among team members and provide history of code modification.
Bug tracking and issue management
helps track software defects and issues reported during development and post release. they
assist in organizing, prioritizing, and resolving issues efficiently.
Project management tools
it organizes and track the progress of software development projects. It aids in settling
deadlines, assigning tasks, and managing resources effectively.
Code review tool
Tool to facilitate the peer review process by allowing developers to review and
comment each other's code. Leading to better code quality and knowledge sharing.
Automated testing frameworks
Automating testing process, reducing manual efforts and ensuring software quality. It
includes unit testing, integration testing and end to end testing frameworks.
Continuous integration/continuous deployment
It automate the process of building, testing, and deploying software, make it easier to deliver
updates and improvements to users rapidly.
Documentation Generators
Tool assist developers in generating documentation for their code, API, and sysytem
architecture, promoting better understanding and maintainability of the software.
Modelling and design tools
Tool helps to create visual representation of system architecture, flowcharts, and
diagrams, aiding in the design phase.
Performance profiling tools
Analyze and measure the performance of software to identify and optimize code for better
efficiency.
Examples: Java, Python, Oracle, SQL, C++ etc.,
Standard Application programs
Word processing software (MS WORD, GOOGLE DOCS)
Spreadsheet software (MS EXCEL, GOOGLE SHEETS)
Presentation software (POWERPOINT, GOOGLE SLIDES)
Web browsers (IE, CHROME, OPERA)
Email Clients (GMAIL, OUTLOOK)
Media players (VLC, iTunes, MXPLAYER)
Image editing software (PHOTOSHOP, PAINT)
Unique application Programs
♦ CAD (Computer Aided Software): Used in Engineering, architecture and manufacturing
industries to create detailed design and blue prints.
♦ GIS (Geographic Information System) software: Used for mapping, spatial analysis and data
visualization in fields like geography, urban planning and environmental science.
♦ Medical Imaging software: Used in healthcare for viewing and analyzing medical images such as
X-rays, MRI and CT scans.
♦ Educational software.
♦ Language learning Software.
Problem Solving
It involves process of formulating a problem, analyzing it, and developing solution using algorithms and
programming concepts
♦ Defining the problem
♦ Algorithm Design
♦ Code and programming
♦ Data structure
♦ Testing and debugging
♦ Optimization
Structuring the logic
♦ Sequence
♦ Alternative selection
♦ Loops