Software Engineering [Quick Revision]

Harshit Yadav
2 min readMay 3, 2020

Introduction to Software Engineering

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
  2. As a vehicle for delivering a product

Objectives of Software Engineering:

  1. Maintainability
  2. Correctness
  3. Re-usability
  4. Testability
  5. Reliability
  6. Portability
  7. Adaptability

Product vs Software Product

Classification of Software

On the basis of application:

  1. System Software
  2. Network and Web Application Software
  3. Embedded Software
  4. Reservation Software
  5. Business Software
  6. Entertainment Software
  7. Artificial intelligence Software
  8. Scientific Software
  9. Utilities Software
  10. Document Management Software

On the Basis of Copyright

  1. Commercial
  2. Shareware
  3. Free ware
  4. Public Domain

Software Development Models and Architecture

  1. Classic Waterfall Model

2. Iterative Waterfall Model

3. Spiral Model

4. Incremental Process Model

4. Rapid Application Development Model (RAD)

5. Agile Development

The Agile model was primarily designed to help a project to adapt to change requests quickly. So, the main aim of the Agile model is to facilitate quick project completion. To accomplish this task agility is required. Agility is achieved by fitting the process to the project, removing activities that may not be essential for a specific project. Also, anything that is wastage of time and effort is avoided

A few Agile SDLC models are given below:

  • Crystal -
  • Atern
  • Feature-driven development
  • Scrum
  • Extreme programming (XP)
  • Lean development
  • Unified process

Agile model is the combination of iterative and incremental process models. Steps involve in agile SDLC models are:

  • Requirement gathering
  • Requirement Analysis
  • Design
  • Coding
  • Unit testing
  • Acceptance testing

--

--