×
>
<

Aptitude

Introduction to Software Engineering

What is Software Engineering?
Software Engineering

Software engineering is composed of two terms: software and engineering.

  • Software refers to the set of instructions that tells a computer what to do and how to perform any tasks.
  • Engineering involves building and designing something in an effective manner.

Software engineering is a branch of engineering focused on developing a software product using scientific principles and procedures. The goal is to create a reliable and high-quality product.

A software engineer is a person who develops and maintains software products. The study of developing and maintaining software is known as software engineering.

Goals of Software Engineering:
  1. Accuracy: The software product should be accurate as specified in the SRS document.
  2. Reliability: The software product should be trustworthy, performing tasks accurately within the specified time frame.
  3. Testability: The software should be testable to evaluate its functionality.
  4. Reusability: The code should be reusable in different applications with some modifications, enabling the creation of new products.
  5. Adjustability: The ability to modify the software for other purposes.
  6. Cost-effectiveness: Producing high-quality software without incurring excessive costs.
  7. Efficiency: Creating software without wasting time.
Advantages of Software Engineering:
  1. The software product provides user satisfaction and fulfills user requirements.
  2. Software engineers create more flexible products.
  3. Software requirement specification ensures better documentation.
  4. Cost-effective techniques help in making cost-saving products.
  5. Following scientific rules and methods saves time.
  6. Software engineering provides a comfortable working environment.
Disadvantages of Software Engineering:
  1. The rapidly changing nature of technology requires continuous knowledge updates.
  2. Training is necessary to learn new technologies and skills.
  3. Increased levels of physical and mental stress.
  4. Global competition.
  5. Job security issues leading to the need for higher job-retention skills.
  6. Software engineers often work long hours sitting in front of a computer.