A Survey on Different Approaches to Automating the Design Phase in the Software Development Life Cycle

A Survey on Different Approaches to Automating the Design Phase in the Software Development Life Cycle

Sahana Prabhu Shankar, Harshit Agrawal, Naresh E.
DOI: 10.4018/978-1-7998-2772-6.ch018
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Software design is a basic plan of all elements in the software, how they relate to each other in such a way that they meet the user requirements. In software development process, software design phase is an important phase as it gives a plan of what to do and how to do it during the implementation phase. As the technology is evolving and people's needs in the technological field are increasing, the development of software is becoming more complex. To make the development process somewhat easy, it is always better to have a plan which is followed throughout the process. In this way, many problems can be solved in the design phase, for which a number of tools and techniques are present. One is known as Design Patterns. In software engineering, a design pattern is a general solution to commonly occurring problems in software design. A design pattern isn't a finished design that can be transformed directly into code.
Chapter Preview
Top

Different Phases In Software Development Life Cycle

But software development lifecycle (SDLC) is not only about the design phase it consists of a total of five phases:

  • 1.

    Requirement Engineering

  • 2.

    Design

  • 3.

    Implementation

  • 4.

    Integration and Testing

  • 5.

    Operations and Maintenance

We already have learned so much about the design phase. Before going to the automation techniques which are used in design phase let us first have a brief introduction about the rest of the phases.

Figure 1.

Phases of Software development lifecycle

978-1-7998-2772-6.ch018.f01
Top

Requirement Engineering

The requirement phase of software engineering serves as the architecture of the software development. It consists of analysing the needs of the stakeholders, discussing the proper approach to develop and maintain the software and finally documenting each and every process required. This is known as requirement engineering.

There are mainly two types of requirements:-

  • Functional Requirements: These include all the requirements which are essential in the designing of the software. They are the first hand requirements which clearly states the working of the developed software.

  • Non-Functional Requirements: These are the requirements which are not essential for the system working but are needed to make the software more usable and ensure better results. Example - security, maintainability, reusability etc.

The process involved in requirement engineering are:

  • Requirements elicitation

  • Requirements specification

  • Requirements verification and validation

  • Requirements management

Complete Chapter List

Search this Book:
Reset