The term software engineering is made up of two words, software and engineering.
Software is more than just program code. A program is executable code, which serves some computational purpose. Software is considered a collection of executable files
programming code, associated libraries and documentation. Software when made for a specific requirement is called a software product.
Engineering, on the other hand, is about developing products using well-defined scientific principles and methods.
Thus, we can define software engineering as a branch of engineering associated with the development of software products using well-defined scientific principles, methods and procedures. The result of software engineering is an efficient and reliable software product.
Need for Software Engineering
The need for software engineering arises because of the higher rate of change in user requirements and the environment in which the software is working.
Big Software - It's easier to build a wall than a house or building, in the same way as the size of the software gets big engineering has to step up to give it a scientific process.
Scalability - If the software process were not based on scientific and engineering concepts, it would be easier to recreate new software than to scale an existing one.
Cost - As the hardware industry showed its massive manufacturing skills and lowered the price of computer and electronic hardware. But the cost of software remains high if the proper process is not adapted.
Dynamic Nature - The ever-increasing and adaptable nature of software depends greatly on the environment in which the user works. If the nature of software is always changing, new enhancements need to be made to the existing one. This is where software engineering plays a good role.
Quality Management - Better software development process provides better and quality software products.
Characteristics of Good Software
Aproduct can be judged by what it offers and how well it can be used. This software must satisfy for the following reasons:
- Operational
- Transitional
- Maintenance
Well-designed and well-designed software is expected to have the following characteristics:
Operational
This tells us how well the software performs in operations. It can be measured in:
- Budget
- Usability
- Efficiency
- Correction
- Functionality
- Reliability
- Security
Transitional
This aspect is important when software is moved from one platform to another:
- Portability
- Interoperability
- Reuse
- Adaptability
Maintenance
This aspect summarizes how well a software has the resources to maintain itself in the environment ever-changing:
- Modularity
- Maintainability
- Flexibility
- Scalability
In short, software engineering is a branch of computer science, which uses well-defined engineering concepts needed to produce efficient, durable, scalable, on-budget and on-time software products.
Post a Comment
0Comments