Skip to content
Related Articles

Related Articles

Software Engineering | Introduction to Software Engineering
  • Difficulty Level : Easy
  • Last Updated : 19 Feb, 2021

Software is a program or set of programs containing instructions which provide desired functionality . And Engineering is the processes of designing and building something that serves a particular purpose and find a cost effective solution to problems. 

 

Software Engineering is a systematic 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 network of Hardware.
  • It enables the Hardware to deliver the expected functionality.
  • It acts as 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, software can be transferred from one computer system or environment to another.
  8. Adaptability – 
    In this case, software allows differing system constraints and user needs to be satisfied by making changes to the software.
  9. Interoperability – Capability of 2 or more more functional units to process data cooperatively.

Program vs Software Product: 
 

  1. A program is a set of instructions which is given to a computer in order to achieve a specific task whereas a 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 :