Software Engineering as a thesis topic — its basics and its phases

Techsparks
Aug 8, 2017 · 3 min read

Software engineering is a good choice for writing a thesis in M.Tech for computer science students considering the fact that software is the core of this technical world. Following are the basics of software engineering and its phases.

What is software engineering?

Software Engineering is a branch of engineering concerned with the development of software products in a systematic way. The result of software engineering is an effective and genuine software product. The development of software passes through various phases from gathering its requirements to its testing.

SDLC phases for software development

SDLC stands for software development lifecycle and is a sequence of steps for development of software product. SDLC goes through the following phases for the development of software:

· Requirement Gathering

· Feasibility Study

· Designing

· Coding/Implementation

· Testing

· Deployment

· Maintenace

Requirement Gathering

It is the first phase of software development in which planning of the software development is done, requirements are gathered and analysis of these requirements is done. Requirements are analysed by studying the older such systems or products.

Feasibility Study

After carrying out the planning of the software, feasibility study of the software product is done by a team of experts and professional. During this feasibility study, the team checks whether the product can actually be made or not taking into consideration all the aspects — technical, economical, practical using certain algorithms. It is also checked that whether the software product to be made will fulfil all the user requirements.

Software Design

After conducting a feasibility study of the product, designing of the product is done. In this phase, the design of the software is prepared on the basis of software requirements. It defines the overall architecture and framework of the software and serves as an input to the next phase which is the coding phase.

Coding/Implementation

In this phase, the software is actually implemented by a team of developers. It is also known as programming phase as in this phase developers write executable code in a certain programming language.

Testing

In this phase, the testing of the code is done by developers to check unidentified errors and bugs. Following are the types of testing done:

· Unit Testing — Testing of individual units of the code.

· Integration Testing — In this testing, individual modules are combined and then tested.

· System Testing — In this whole of the system is tested.

· Acceptance Testing — After system testing, acceptance testing is done to check whether the system meets user requirements or not.

Deployment

After testing phase is over, the product is deployed to the end user for use. Users perform beta testing on the product and give their feedback to the development team if they find any error or bug in the product.

Maintenance

After successful deployment of a software product, timely updating of the product is done by a maintenance team with respect to the changes in the user environment. This team is responsible for solving the problems faced by the consumers while using the software product.

Software Engineering is a broad field and this article is just a part of it. There are models of software engineering also like waterfall, v-shaped, spiral, iterative. Thus it is a good topic for writing a thesis in M.Tech for computer science students.