Software Engineering – Introduction

This article aims to make developers understand the importance of software engineering. The article covers the advantages of following software engineering principles while developing software applications.

What is software engineering?
In fact software engineering is the whole process of creating software. It includes entire life cycle of software. Software engineering ensures software quality and software productivity. Software engineering includes large set of principles, methods, and techniques to build software to achieve success in software development. Software engineering aids in building high quality software systems.

What happens if we don't follow software engineering principles/guidelines?
If we don't follow software engineering principles, software can break down anytime or may result in low quality software systems. Following the software engineering guidelines are very important to ensure the quality of the software system. Not following software engineering guidelines may result in death, as most of the health devices and transport machines are controlled and guided by software systems.

What happens if we follow and use software engineering disciplines?
By using software engineering disciplines, we can build "Quality" software than just some random software. It ensures that software will be built within the given money and time constraints by using tools and techniques which are guided by the methodologies provided as part of software engineering. Complying with software engineering guidelines can result in increasing developers' productivity.

Which software development models/processes are more popular?
Popular software development models/processes are listed below:
1. Waterfall Model
2. Evolutionary Model
3. Unified Software Process (USP)
4. Agile Model

What are the phases involved in software development?
Phases involved in software development life cycle model are listed below:
• Requirement engineering
• Design
• Implementation
• Verification & Validation
• Maintenance

How to do software development?
Software development needs effort to turn an abstract idea into a concrete software. Software process involves breaking down of a complex development task into smaller tasks. Making use of tools plays a major role in software development. When it comes to the matter of software development, we make use of tools for software development. We use Integrated Development Environment (IDE) and Version Control System (VCS) for software development. IDE helps to write, run, debug, and test the code which defines the final software. IDEs are nothing but advanced program editors. Examples for IDEs are: Visual Studio, Eclipse, Net Beans, JCreator, and Xamarin Studio etc. VCS aids in saving, restoring, and checking differences between different versions of the code. Examples for VCS are: Tortoise SVN, Git, Team Foundation Server etc.


Author: Sridhar Thota10 May 2015 Member Level: Gold   Points : 4

SDLC(Software Development Life Cycle) contains following phases.
In this phase business analysts will gather the system requirements from the client.
They analyze the collected requirements and they prepare a SRS(system requirements specification) document.

Based on the SRS document designers will design low level and high level designs.
They prepare design document.

DNS Member.
"Hope for the best.. Prepare for the worst.."

Author: Sridhar Thota11 May 2015 Member Level: Gold   Points : 6

Based on design documents, developers will code the application.
Developers perform white box testing i.e., unit testing and integration testing.
Then the application is sent for next phase.

Test engineers will write the test cases according to the client requirements and executes test cases.
They perform black box testing by verifying that application is working as per client requirement or not.

User acceptance test in conducted in presence of client. If everything is ok then product is delivered.
Application is installed in the client location.

If client want any changes in the application, which is already developed then it is taken as request for change and it comes under maintenance.
This maintenance period is depending up on the agreement made with the client.


DNS Member.
"Hope for the best.. Prepare for the worst.."

  • Do not include your name, "with regards" etc in the comment. Write detailed comment, relevant to the topic.
  • No HTML formatting and links to other web sites are allowed.
  • This is a strictly moderated site. Absolutely no spam allowed.
  • Name: