Meaning of Software Engineering
Software Engineering is made of two words:
- (A) Software
- (B) Engineering
(A) Software
Software means a collection of programs, data, and instructions used to perform tasks.
- MS Word
- Banking App
- Games
- ATM Software
(B) Engineering
Engineering means applying scientific knowledge, methods, tools, and techniques to solve problems.
Final Meaning
Software Engineering is the branch of engineering that deals with designing, developing, testing, maintaining, and improving software using proper methods.
Definition (Important for Exam)
Software Engineering is the systematic, disciplined, and measurable approach for development, operation, and maintenance of software.
2. Why Software Engineering is Needed?
Earlier software was developed without planning, causing:
- Late delivery
- High cost
- Errors/Bugs
- Poor quality
- Difficult maintenance
- Proper planning
- Better quality
- Low cost
- Fast development
- Easy maintenance
3. Characteristics of Good Software
A good software must have these qualities:
- 1. Correctness
- 2. Reliability
- 3. Efficiency
- 4. Usability
- 5. Maintainability
- 6. Portability
- 7. Security
- 8. Scalability
- 9. Reusability
4. Nature of Software
Software is different from hardware.
Hardware is manufactured in factories.
Software is created by coding.
2. Software Does Not Wear Out
Hardware gets old.
Software does not physically damage.
3. Software is Custom Built
Many software are developed as per customer needs.
4. Software is Intangible
Cannot touch software physically.
5. Software is Complex
Large software contains many modules.
4. Software Process
Meaning:
Software process is a set of activities used to produce good software product.
Handled by:
- Software Engineer
- Developer
5. Main Parts of Software Process
2. Software Development
3. Software Validation
4. Software Evolution
1. Software Specification
Means planning before development.
Includes:
- Customer requirements
- User needs
- Features list
- Functionalities
- Programming language selection
- Database selection
This is analysis stage.
2. Software Development
Actual creation of software.
Includes:
- Coding
- Designing
- Programming using language
Software is developed according to customer requirement.
3. Software Validation
Means testing software after development.
Includes:
- Check software works properly or not
- Check customer requirements completed or not
- Find errors
- Remove bugs
Done by tester.
4. Software Evolution
Means changing software after delivery.
When client requirement changes, software also changes.
Includes:
- New features
- Flexibility
- Scalability
- Updates
6. SDLC Models
Meaning:
SDLC = Software Development Life Cycle
These models are used by developers to build software.
7. Types of SDLC Models Mentioned
| Model Name |
|---|
| Waterfall Model |
| RAD Model |
| Spiral Model |
| V-Model |
| Incremental Model |
| Agile Model |
| Iterative Model |
| Big Bang Model |
