New Delhi, India
minigranth@gmail.com

Introduction To Software Engineering

Created with Sketch.

Software Engineering Tutorial



[fblike]

Software Engineering : Introduction

  • Software Engineering is the branch of computer science and is a discipline that deals with development of quality software within budget, which are deliverable on time and meets the various requirements of the users.
  • A software can be defined as the combination of programs, documentation and working procedures all together.
  • Also, a software contains the set of instructions which are responsible carrying out specific tasks and procedures.

Software Engineering is the application of systematic, disciplined, quantifiable approach to development, operation and maintenance of software” --- As per IEEE

OR

The establishment and use of sound engineering principles in order to obtain economically developed software that is reliable and works efficiently on real machines” --- Fritz Bauer

OR

A discipline whose aim is the production of quality software, software that is delivered on time, within budget and that satisfies its requirements” --- Stephen Schach

 

Software Engineering : Terminologies

  1. Process : A software engineering process defines the route from which quality software are developed in an effective manner. If the processing route is not followed properly, the end product will not function as expected and it will suffer.
  2. Product : A product is something that is produced or developed or being generated using some certain processes. It is also called as set of deliverables.
  3. Deliverables : When developing the software, certain modules of that software including the documentation(user manual),source code etc. are passed on to the client/customers.
  4. Milestones : Milestones are the small steps that are pre-decided before developing any product. From requirement gathering to designing a product and from development to deployment of a product, each phase consists of milestones of time and cost which decides the pace at which any product is developed.
  5. Productivity : Productivity can be defined as the output observed from given amount of input in a given interval of time.

 

Software Engineering : Myths

  • Myths are the common false beliefs that anyone can have which is directly or indirectly associated with the software product. Developers and management can be categorized into directly associated parties and customers & real time users of those software products can be categorized into indirectly associated parties.
  • Believing in these myths can be very harmful with respectful the software product which can lead to false presumptions among customers and clients. Some of the common myths with respect to the developers, managers and customers are:
    • If a software has been codded completely, no other steps are required i.e. the product is developed fully.
    • Quality of software depends upon the look, feel an infrastructure the company possess and not on the company’s track record.
    • Higher the number of features and functionalities, better will be the software product.
    • Size and experience of development team can increase the pace of software development.        
    • It is easier to make changes in the software product, after it is developed completely.

 

Software Engineering : Software Characteristics

  • Use of software product is in process from a long time now. This is because of the major characteristics software products possesses. These characteristics are :
    • It is possible to update features of software time to time.
    • Software are developed and not manufactured.
    • Software are adaptable and flexible.
    • Software are digital and not physical. Hence, they does not wear and tear out upon excessive usage.
    • Function-ability.
    • Maintainability.
    • Re-usability.
    • Usability.
    • Security.
    • Efficiency.
    • Portability.
    • Modularity.

 

Software Engineering : Applications

 

This image describes the various applications of software engineering.

Software Engineering : Applications