Characteristics of Software
The main characteristics of software are:
Intangible Nature of Software
Software is intangible (invisible), meaning it has no physical form and cannot be touched or held like hardware such as a keyboard or monitor.
Its progress and quality are measured through documentation, reports, and testing.
Programming vs Software Engineering
| Programming | Software Engineering |
|---|---|
| Focuses mainly on writing code. | Focuses on the complete software development process. |
| Usually suitable for small projects. | Suitable for large and complex projects. |
| Often involves individual work. | Usually involves teamwork. |
| Mainly focuses on coding. | Includes planning, coding, testing, and maintenance. |
Types of Software
The main types of software are:
Four Fundamental Software Process Activities
The four fundamental software process activities are:
Waterfall Model
The Waterfall Model is a linear and sequential software development model in which development proceeds through distinct phases, and each phase must be completed before the next one begins.
Main Phases
Prototype Model
The Prototype Model is a software development model in which a quick, simplified, and incomplete version of the software (prototype) is built first. It is shown to the customer to obtain feedback and clarify requirements before developing the final product.
Main Steps
Spiral Model
The Spiral Model is an evolutionary software development model that combines the iterative nature of prototyping with the controlled steps of the Waterfall Model, with a strong focus on risk analysis.
Four Main Activities
Incremental Model
The Incremental Model develops software by dividing it into smaller parts called builds or increments. Each build is designed, tested, and implemented separately, and new features are added until the complete software is developed.