What is software engineering?

Software + Engineering
Software:
                                 A computer program that can take instructions and provide desired functions and features when executed.

Engineering:
                                      The process of using knowledge and principal to design, build and analyze objects.

Software engineering:

The process of developing and maintaining software in a systematic, disciplined, and quantifiable  manner is called software engineering.

 

 Objective of software engineering:

  • Maintainability 
  • Correctness
  • Reusability 
  • Testability
  • Reliability
  • Portability
  • Adaptability

 How engineers solve problem

Understand the problems 

  • Who are the stake holders
  • What features are required
  • Can the problems be represented graphically
Plan the solutions
  • Have you seen similar problem before?
  • Can sub problem be defined
  • Can a designed model be created
Carry out the plan
  • In each component part of solution proveable correct
  • Is source code traceable to design model
Examine the result
  • Is a testing strategy applied
  • Check appropriate result

Principle of software engineering

Think through the problem completely before implementation
Divide and conqure
Kiss(Keep it simple and stupid)
Learn especially from mistakes
Maintain the vision
What you produce other will consume
Be open to future
Plan ahead for reuse