Skip to content
Related Articles

Related Articles

Improve Article
Software Engineering | Introduction to Software Engineering
  • Difficulty Level : Easy
  • Last Updated : 08 Jun, 2021

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 – 
 

  • It delivers the computing potential across networks of Hardware.
  • It enables the Hardware to deliver the expected functionality.
  • It acts as an information transformer because it produces, manages, acquires, modifies, displays, or transmits information.

2. As a vehicle for delivering a product – 
 



  • It provides system functionality (e.g., payroll system)
  • It controls other software (e.g., an operating system)
  • It helps build other software (e.g., software tools)

Objectives of Software Engineering: 

  1. Maintainability – 
    It should be feasible for the software to evolve to meet changing requirements.
  2. Efficiency – 
    The software should not make wasteful use of computing devices such as memory, processor cycles, etc.
  3. Correctness – 
    A software product is correct if the different requirements as specified in the SRS document have been correctly implemented.
  4. Reusability – 
    A software product has good reusability if the different modules of the product can easily be reused to develop new products.
  5. Testability – 
    Here software facilitates both the establishment of test criteria and the evaluation of the software with respect to those criteria.
  6. Reliability – 
    It is an attribute of software quality. The extent to which a program can be expected to perform its desired function, over an arbitrary time period.
  7. Portability – 
    In this case, the software can be transferred from one computer system or environment to another.
  8. Adaptability – 
    In this case, the software allows differing system constraints and the user needs to be satisfied by making changes to the software.
  9. Interoperability – Capability of 2 or more functional units to process data cooperatively.

Program vs Software Product: 

  1. A program is a set of instructions that are given to a computer in order to achieve a specific task whereas software is when a program is made available for commercial business and is properly documented along with its licensing. Software=Program+documentation+licensing.
  2. A program is one of the stages involved in the development of the software, whereas a software development usually follows a life cycle, which involves the feasibility study of the project, requirement gathering, development of a prototype, system design, coding, and testing.
     

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

 

My Personal Notes arrow_drop_up
Recommended Articles
Page :