0% found this document useful (0 votes)
13 views3 pages

Class of Software

The document provides comprehensive notes on software, covering its definition, types (system, application, programming, middleware), components, and the software development life cycle (SDLC). It also discusses software licensing, quality attributes, development tools, trends, common errors, and career opportunities in the software field. Overall, it serves as a detailed guide for understanding software and its various aspects.

Uploaded by

pixofa1104
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views3 pages

Class of Software

The document provides comprehensive notes on software, covering its definition, types (system, application, programming, middleware), components, and the software development life cycle (SDLC). It also discusses software licensing, quality attributes, development tools, trends, common errors, and career opportunities in the software field. Overall, it serves as a detailed guide for understanding software and its various aspects.

Uploaded by

pixofa1104
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Absolutely!

Here's a complete set of notes on Software — including


definition, types, components, development process, and more.

💻 Software – Full Notes

1. Introduction to Software
 Definition: Software is a set of instructions, data, or programs used
to operate computers and execute specific tasks.
 Unlike hardware (the physical components), software is intangible.
 It acts as an interface between the user and the hardware.

2. Types of Software
a) System Software
 Helps run the hardware and system itself.
 Examples:
o Operating Systems (OS): Windows, Linux, macOS
o Utility Software: Antivirus, Disk Cleaners
o Device Drivers: Allow OS to communicate with hardware
b) Application Software
 Designed for end users to perform specific tasks.
 Examples:
o MS Word, Excel, VLC Player, web browsers
o Social media apps, video games, etc.
c) Programming Software
 Tools used by developers to write code.
 Examples:
o Text editors, compilers, debuggers, interpreters (e.g., GCC, VS
Code)
d) Middleware
 Software that connects different applications or services.
 Acts as a bridge between OS and apps or between two apps.

3. Components of Software
 Programs: The actual set of instructions written in code.
 Documentation: Manuals, help files, and technical specifications.
 Libraries: Prewritten code to help with specific functions.
 Configuration Files: Define settings and preferences.

4. Software Development Life Cycle (SDLC)


Steps involved in creating software:
1. Requirement Analysis: Understand what the user needs.
2. System Design: Plan how the software will work.
3. Implementation (Coding): Write the actual code.
4. Testing: Find and fix bugs or issues.
5. Deployment: Release the software to users.
6. Maintenance: Update and fix software after release.
Popular SDLC models:
 Waterfall Model
 Agile Methodology
 Spiral Model
 DevOps

5. Software Licensing
Defines how software can be used, modified, and distributed.
 Proprietary: Owned by a company, paid license (e.g., Microsoft
Office)
 Open Source: Free to use, modify, and share (e.g., Linux, Apache)
 Freeware: Free to use but not open-source
 Shareware: Free trial with paid version for full features

6. Software Quality Attributes


 Reliability: Performs without failure
 Usability: Easy to use and understand
 Efficiency: Uses system resources optimally
 Maintainability: Easy to fix and update
 Portability: Can run on different systems

7. Software Development Tools


 IDEs: VS Code, Eclipse, IntelliJ IDEA
 Version Control: Git, GitHub, GitLab
 Testing Tools: Selenium, JUnit
 Build Tools: Maven, Gradle
 CI/CD: Jenkins, Travis CI

8. Trends in Software
 Cloud-based software (e.g., SaaS)
 AI integration into software
 Cross-platform development (Flutter, React Native)
 Low-code/no-code platforms
 Cybersecurity-focused software

9. Common Software Errors


 Syntax Errors: Incorrect code format
 Logic Errors: Code runs but produces wrong result
 Runtime Errors: Errors during execution (e.g., divide by zero)
 Semantic Errors: Code meaning misunderstood by compiler

10. Careers in Software


 Software Developer / Engineer
 QA Tester
 DevOps Engineer
 UI/UX Designer
 System Analyst
 Mobile App Developer
 Web Developer

Would you like to combine this with your AI notes into one study guide or
presentation? Or want flashcards made from this too?

You might also like