Introduction to Software Engineering

The term software engineering is the product of two words, software, and engineering.

  • The software is a collection of integrated programs.
  • Engineering is the application of scientific and practical knowledge to invent, design, build, maintain, and improve frameworks, processes, etc.
Software engineering is defined as a process of analyzing user requirements and then designing, building, and testing software application which will satisfy those requirements.


What was the Software Crisis?

  • It was in the late 1960s when many software projects failed.
  • Many software became over budget. Output was an unreliable software which is expensive to maintain.
  • Larger software was difficult and quite expensive to maintain.
  • Lots of software not able to satisfy the growing requirements of the customer.
  • Complexities of software projects increased whenever its hardware capability increased.
  • Demand for new software increased faster compared with the ability to generate new software.
All the above issues lead to ‘Software Crisis.’

The Solution

Solution was to the problem was transforming unorganized coding effort into a software engineering discipline. These engineering models helped companies to streamline operations and deliver software meeting customer requirements.



Need of Software Engineering

The necessity of software engineering appears because of a higher rate of progress in user requirements and the environment on which the program is working.

  • Huge Programming: It is simpler to manufacture a wall than to a house or building, similarly, as the measure of programming become extensive engineering has to step to give it a scientific process.
  • Adaptability: If the software procedure were not based on scientific and engineering ideas, it would be simpler to re-create new software than to scale an existing one.
  • Cost: As the hardware industry has demonstrated its skills and huge manufacturing has let down the cost of computer and electronic hardware. But the cost of programming remains high if the proper process is not adapted.
  • Dynamic Nature: The continually growing and adapting nature of programming hugely depends upon the environment in which the client works. If the quality of the software is continually changing, new upgrades need to be done in the existing one.
  • Quality Management: Better procedure of software development provides a better and quality software product.




No comments:

Post a Comment