Software Engineering basics - Main Attributes of Software Engineering
Main Attributes of Software Engineering
These attributes help define what makes software high-quality, efficient, and useful. Think of them like a report card for software!
1. Correctness
-
The software does what it is supposed to do.
-
It meets all the requirements and functions properly.
Example: A billing system calculates totals correctly every time.
2. Reliability
-
The software works consistently without crashing or failing.
-
It can run for a long time without problems.
Example: An ATM machine must be reliable — you don’t want it to fail while taking out money.
3. Efficiency
-
The software uses system resources wisely, like memory, CPU, and battery.
-
It runs fast and smoothly.
Example: A game that loads quickly and doesn’t slow down your phone.
4. Usability
-
The software is easy to use and understand, even for beginners.
-
Good design, simple instructions, and user-friendly interface.
Example: A learning app where students can easily find lessons and submit homework.
5. Maintainability
-
The software is easy to fix, update, or improve.
-
Clean and well-organized code helps developers make changes quickly.
Example: Adding a new subject to an online classroom app without breaking other features.
6. Portability
-
The software can run on different devices or operating systems with little or no change.
Example: A messaging app that works on Android, iOS, and Windows computers.
7. Scalability
-
The software can handle more users or data as it grows.
-
It still performs well even when demand increases.
Example: A school portal that works well whether 50 or 5,000 students are using it at once.
8. Security
-
The software protects user data and prevents unauthorized access.
-
Important for apps that store personal, financial, or medical information.
Example: A banking app that requires a password or fingerprint to log in.