Thursday, December 10, 2015

Software Engineering : Important concepts for IT Officer

Some questions from software engineering are always asked in IBPS IT officer exam  and other exams for Computer and IT Engineers like RRB.  Here will discuss only topics that are important for MCQ based exams.

Software engineering is an approach for software development.  The small software can be made without following software engineering principles but to make bigger software companies follow some principles mentioned in software engineering.

As the readers of this article will be Engineers who have studied the whole subject regarding this topic, we will discuss only important topics and not the whole software engineering process.

Sliding Window Planning
As software project is of long term duration, its planning requires much care and attention. Any unrealistic time and resources estimates can result in slipping of schedule. The delays can cause customer's dissatisfaction and adversely affect reputation. To overcome this problem, project manager undertake project planning in stages.  This technique of staggered planning is known as sliding window planning. In this technique, starting from the initial plan, the project is planned more accurately in successive development stages.

Black Box Testing
To test the software we need to give too much data, and observe the results. Thus it's not possible to manually test software for various data sets. To solve the problem, 'Test Suite'  is designed to test a software.
In Black Box Testing,  test cases are designed from an examination of the input/output values only and no knowledge of design or code is required. Following are two main approaches of designing black box test case.
1. Equivalence class portioning
2. Boundary value analysis Equivalence Class Partitioning
The domain of input values is partitioned into a set of Equivalence classes. This Partitioning is done such that the behavior of the program is similar for every input data belonging to the same Equivalence class.
E. G.  To test a software that find a square of a number between 0 to 10000, we should test the software with three set of data.  One negative number, one number between 0 and 10000, and one number greater than 10000.

Boundary Value Analysis

Programming errors frequently occur at the boundaries of different Equivalence classes of input. The reasons behind such errors might be purely psychological as they often fail to see the special processing required at the input at boundaries.

Verification And Validation

Verification is the process if determining whether the output of software development conforms to that of its previous phase.
Validation is the process if determining whether a fully developed system conforms to its requirements.  Thus, while verification is concerned with phase containment of errors, the aim of validation is that final product is error free.

Software Development Life Cycle (SDLC)

-Project Planning & Feasibility Study
-System Analysis & Definition of requirements
-System Design
-Integration and Testing
-Acceptance, Installation

Waterfall Model
It's a sequential software development process, in which progress is seen as steadily downwards like a waterfall. Main phases involved are Conception, Initiation, Analysis,  Design, Construction, Testing and Maintenance.

Read Our Post on DBMS


Post a Comment