Software Development Life Cycle (SDLC)

What is Software Development Life Cycle (SDLC)

SDLC Model

SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.

The following figure is a graphical representation of the various stages of a typical SDLC.
sdlc process

A typical Software Development life cycle consists of the following stages:

Stage 1: Planning and Requirement Analysis

Requirement analysis is the most important and fundamental stage in SDLC. It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational, and technical areas.

Planning for the quality assurance requirements and identification of the risks associated with the project is also done in the planning stage. The outcome of the technical feasibility study is to define the various technical approaches that can be followed to implement the project successfully with minimum risks.

Stage 2: Defining Requirements

Once the requirement analysis is done the next step is to clearly define and document the product requirements and get them approved from the customer or the market analysts. This is done through .SRS. . Software Requirement Specification document which consists of all the product requirements to be designed and developed during the project life cycle.

Stage 3: Designing the product architecture

SRS is the reference for product architects to come out with the best architecture for the product to be developed. Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS – Design Document Specification.

This DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity , budget and time constraints , the best design approach is selected for the product.

A design approach clearly defines all the architectural modules of the product along with its communication and data flow representation with the external and third party modules (if any). The internal design of all the modules of the proposed architecture should be clearly defined with the minutest of the details in DDS.

Stage 4: Building or Developing the Product

In this stage of SDLC the actual development starts and the product is built. The programming code is generated as per DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle.

Developers have to follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers etc are used to generate the code. Different high level programming languages such as C, C++, Pascal, Java, and PHP are used for coding. The programming language is chosen with respect to the type of software being developed.

Stage 5: Testing the Product

This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. However this stage refers to the testing only stage of the product where products defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.

Stage 6: Deployment in the Market and Maintenance

Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometime product deployment happens in stages as per the organizations. business strategy. The product may first be released in a limited segment and tested in the real business environment (UAT- User acceptance testing).

Then based on the feedback, the product may be released as it is or with suggested enhancements in the targeting market segment. After the product is released in the market, its maintenance is done for the existing customer base.

Visit Best Software Technologies Online Training with Real time Projects

Constraints in SQL server

Constraints

A constraint is a property assigned to a column or the set of columns in a table that prevents certain types of inconsistent data values from being placed in the column(s). Constraints are used to enforce the data integrity. This ensures the accuracy and reliability of the data in the database. The following categories of the data integrity exist:

  • Entity Integrity
  • Domain Integrity
  • Referential integrity
  • User-Defined Integrity

Entity Integrity ensures that there are no duplicate rows in a table.

Domain Integrity enforces valid entries for a given column by restricting the type, the format, or the range of possible values.

Referential integrity ensures that rows cannot be deleted, which are used by other records (for example, corresponding data values between tables will be vital).

User-Defined Integrity enforces some specific business rules that do not fall into entity, domain, or referential integrity categories.

Each of these categories of the data integrity can be enforced by the appropriate constraints. Microsoft SQL Server supports the following constraints:

  • PRIMARY KEY
  • UNIQUE
  • FOREIGN KEY
  • CHECK
  • NOT NULL

A PRIMARY KEY constraint is a unique identifier for a row within a database table. Every table should have a primary key constraint to uniquely identify each row and only one primary key constraint can be created for each table. The primary key constraints are used to enforce entity integrity.

A UNIQUE constraint enforces the uniqueness of the values in a set of columns, so no duplicate values are entered. The unique key constraints are used to enforce entity integrity as the primary key constraints.

A FOREIGN KEY constraint prevents any actions that would destroy link between tables with the corresponding data values. A foreign key in one table points to a primary key in another table. Foreign keys prevent actions that would leave rows with foreign key values when there are no primary keys with that value. The foreign key constraints are used to enforce referential integrity.

A CHECK constraint is used to limit the values that can be placed in a column. The check constraints are used to enforce domain integrity.

A NOT NULL constraint enforces that the column will not accept null values. The not null constraints are used to enforce domain integrity, as the check constraints.

Visit for SQL server Online Training

Sample Programs in VB

Sample Programs in VB

Program to check the range of a datatype

Public Class Max_Min_Values
Public Shared Sub Main()
Console.WriteLine(Integer.MaxValue)
Console.WriteLine(Integer.MinValue)
Console.WriteLine(Double.MaxValue)
Console.WriteLine(Double.MinValue)
End Sub
End Class

Prog to demonstrate In-Built AscW and ChrW Functions:

Class GetAscii
Shared Sub Main()
Dim str As String = Console.ReadLine()
Dim ch As Char = CChar(str)
Dim n As Integer = AscW(ch)
Console.WriteLine(n)
End Sub
End Class

Program to demonstrate If Statement

Public Class IfDemo
Shared Sub Main()
Dim a, b, c As Integer
Console.WriteLine("Enter 3 Numbers")
a = Integer.Parse(Console.ReadLine())
b = Integer.Parse(Console.ReadLine())
c = Integer.Parse(Console.ReadLine())
Dim max As Integer = a
If (b > max) Then max = b
If (c > max) Then max = c
Console.WriteLine("Greatest No is " & max)
End Sub
End Class

Class IfDemo2

Public Shared Sub Main(ByVal args() As String)
If (args.Length = 0) Then
Console.WriteLine("Please provide a number")
ElseIf (Not Integer.TryParse(args(0), 0)) Then
Console.WriteLine("Not a number")
ElseIf (Integer.Parse(args(0)) Mod 2 = 0) Then
Console.WriteLine("Even number")
Else
Console.WriteLine("Odd number")
End If
End Sub
End Class

Program to demonstrate Select statement

Public Class SelectDemo
Shared Sub Main()
Dim grade As String
Console.WriteLine("Enter a grade")
grade = Console.ReadLine()
Select Case (grade)
Case "E" , "e"
Console.WriteLine("Excellent")
Case "G" , "g"
Console.WriteLine("Good")
Case Else
Console.WriteLine("No Such Grades")
End Select
End Sub
End Class
Public Class SelectCases
Shared Sub Main()
Dim n As Integer
Console.WriteLine("Enter a Number")
n = Integer.Parse(Console.ReadLine())
Select Case (n)
Case 1
Console.WriteLine("Case 1")
Case 2, 3
Console.WriteLine("Case 2,3")
Case 4 To 7
Console.WriteLine("Case 4 To 7")
Case Is < 9
Console.WriteLine("Case Is < 9") Case Is > 9
Console.WriteLine("Case Is > 9")
End Select
End Sub
End Class

Program to demonstrate While loop

Public Class WhileDemo
Shared Sub Main()
Dim marks, count, total As Integer
Dim avg as Double
Console.WriteLine("Enter 6 Subject marks")
While (count < 6)
marks = Integer.Parse(Console.ReadLine())
total += marks
count += 1
End While
avg = total / 6
Console.WriteLine("Total is " & total)
Console.WriteLine("Average is " & avg)
End Sub
End Class

Program to demonstrate While loop

Public Class WhileDemo
Shared Sub Main()
Dim marks, count, total As Integer
Dim avg as Double
Console.WriteLine("Enter 6 Subject marks")
While (count < 6)
marks = Integer.Parse(Console.ReadLine())
total += marks
count += 1
End While
avg = total / 6
Console.WriteLine("Total is " & total)
Console.WriteLine("Average is " & avg)
End Sub
End Class

Program to generate table using For loop

Class Table
Shared Sub Main()
Dim n As Integer
Console.Write("Table of: ")
n = Integer.Parse(Console.ReadLine())
Dim s As String = ""
For i As Integer = 1 To 10
s &= n & "*" & i & "=" & n * i & vbCrLf
Next
Console.WriteLine(s)
End Sub
End Class

Program to print a range of numbers

Dim m, n, incr As Integer
Console.Write("Enter Starting Number: ")
m = Integer.Parse(Console.ReadLine())
Console.Write("Enter Ending Number: ")
n = Integer.Parse(Console.ReadLine())
Console.Write("Increment By: ")
incr = Integer.Parse(Console.ReadLine())
For i As Integer = m To n Step incr
Console.WriteLine(i)
Next i

Program to generate a triangle using For loop

Class Triangle
Public Shared Sub Main()
For i As Integer = 1 To 10
For j As Integer = 1 To i
Console.Write("*" & " ")
Next
Console.WriteLine()
Next
Dim n, m, o As Integer
For n = 10 To 1 Step -1
For o = 0 To n - 1
Console.Write(" ")
Next
For m = n To 10
Console.Write("* ")
Next
Console.WriteLine()
Next
End Sub
End Class

Class PalindromeProgram
Shared Sub Main(ByVal args As String())
Dim str As String
str = Console.ReadLine()
Dim n As Integer = str.Length
For i As Integer = 0 To n \ 2
If (str(i) <> str(n – i – 1)) Then
Console.WriteLine(“Its not a palindrome”)
Return
End If
Next
Console.WriteLine(“Its a palindrome”)
End Sub
End Class

Program to demonstrate Arrays

Public Class Array_Example
Public Shared Sub Main()
Dim ar() As Integer = {1, 2, 3, 4, 5}
Console.WriteLine(ar.Length)
For Each tmp As Integer In ar
Console.WriteLine(tmp)
Next
ReDim ar(10)
For Each tmp As Integer In ar
Console.WriteLine(tmp)
Next
End Sub
End Class

Program to demonstrate Arrays and Array class

Class Program
Shared Sub Main()
Dim ar(-1) As Integer
While (True)
Select Case GetOption()
Case 1
ar = CreateArray()
Case 2
Array.Sort(ar)
Case 3
Array.Reverse(ar)
Case 4
PrintArray(ar)
Case 5
Console.WriteLine("Thank you")
Return
Case Else
Console.WriteLine("Invalid option")
End Select
End While
End Sub
Shared Function GetOption() As Integer
Console.WriteLine("1. Create")
Console.WriteLine("2. Sort")
Console.WriteLine("3. Reverse")
Console.WriteLine("4. Print")
Console.WriteLine("5. Exit")
Console.Write("Enter your option: ")
Return Integer.Parse(Console.ReadLine())
End Function
Shared Function CreateArray() As Integer()
Console.Write("Enter the array length: ")
Dim n As Integer
n = Integer.Parse(Console.ReadLine())
Dim ar(n - 1) As Integer
For i As Integer = 0 To n - 1
Console.Write("Enter the " & i & "th value: ")
ar(i) = CInt(Console.ReadLine())
Next
Return ar
End Function
Shared Sub PrintArray(ByVal ar As Integer())
For Each value As Integer In ar
Console.Write(value & " ")
Next
Console.WriteLine()
End Sub
End Class