Software Engineering Interview Questions and Answers

Software Engineering interview questions

These Software Engineering questions have been designed for various interviews, competitive exams and entrance tests. We have covered questions on both basic and advanced concepts which will help you improve your skills to face interview questions on Software Engineering.

Who is this Java interview questions designed for?

All the developers, programmers and software engineers will find these questions extremely useful. All freshers, BCA, BE, BTech, MCA and college students wanting to make a career in Software Development will be highly benefited by these questions.

Software Engineering interview questions topics

This section covers Software Engineering topics like - software engineering concepts, SDLC, SDLC models, software project management, function points, project estimation, software configuration management, change control, software requirement specification, cohesion, coupling, validation, verification etc.

1. What is software engineering?

Answer:

Software engineering is the process of analyzing user needs and designing, constructing and testing end user applications. The outcome of software engineering is an efficient and reliable software product.

2. Explain the difference between computer software and computer program.

Answer:

A computer program is piece of programming code that performs a specific task when executed by a computer.

Software is broad term that includes Programs, Installation Manual and Documentation.

3. Why do you need to learn software engineering concepts?

Answer:

Software engineering concept helps to design and build reliable, high-quality software products.

It helps to create and improve large software systems.

Software engineering ensures that the application is built consistently, correctly, on time and on budget and within requirements.

4. What is software process or Software Development Life Cycle (SDLC)?

Answer:

The software development life cycle is also known as the software development process. SDLC is a structure that consists of a detailed plan describing how to develop, maintain and replace specific software.

The entire SDLC process divided into the following stages:

Requirement Gathering
System Analysis
Design
Coding
Testing
Installation/Deployment
Maintenance

5. What are SDLC models available?

Answer:

There are several software development models followed by various organizations:

Waterfall Model - This model involves finishing each phase completely before commencing the next one.

V-Shaped Model - It is an extension of the waterfall model, instead of moving down in a linear way, the process steps are bent upwards after the implementation and coding phase, to form the typical V shape. The major difference between the V-shaped model and waterfall model is the early test planning in the V-shaped model.

Prototyping Model - It refers to the activity of creating prototypes of software applications

Spiral Model - This model of development combines the features of the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and complicated projects.

Iterative Model - Iterative process starts with a simple implementation of a subset of the software requirements and iteratively enhances the evolving versions until the full system is implemented.

Incremental model - In this model, each module passes through the requirements, design, implementation and testing phases.

6. What are various phases of SDLC?

Answer:

The various phases of SDLC are:

Requirement Gathering
System Analysis and Design
Coding
Testing
Implementation

7. What is software project management?

Answer:

Software project management is process of managing all activities in such a way that software should be created within time, within budget and with less effort.

8. What is project estimation?

Answer:

Project estimation involves calculation of the cost of development in terms of efforts, time and resources.

This estimation can be derived from past experience, by consulting experts or by using pre-defined formulas.