Software is a program or set of programs containing instructions that provide desired functionality. And Engineering is the process of designing and building something that serves a particular purpose and finds a cost-effective solution to problems.    Software Engineering is a systematic, disciplined, quantifiable study and approach to the design, development, operation, and maintenance of a software system.   Dual Role of Software:  1. As a product –    tIt delivers the computing potential across networks of Hardware. tIt enables the Hardware to deliver the expected functionality. tIt acts as an information transformer because it produces, manages, acquires, modifies, displays, or transmits information. 2. As a vehicle for delivering a product –      tIt provides system functionality (e.g., payroll system) tIt controls other software (e.g., an operating system) tIt helps build other software (e.g., software tools) Objectives of Software Engineering:  tMaintainability –  tIt should be feasible for the software to evolve to meet changing requirements. tEfficiency –  tThe software should not make wasteful use of computing devices such as memory, processor cycles, etc. tCorrectness –  tA software product is correct if the different requirements as specified in the SRS document have been correctly implemented. tReusability –  ... See the full answer