Software Design

 


In this article I will be teaching you about what design phase is all about as one of the phases of software development. Design Phase is a stage where pictorial representation of software takes place before the coding stage.

The software system design is produced from the outputs of the requirements phase. That is where the details on how the system will operate are produced. This phase encompasses hardware and software, communication, software design.

Meaning of software design:

A software design is a definitive engineering representation of some software products which is to be produced. A design can be traced back to the customer's needs and can be evaluated for quality as against predefined condition. In software engineering context, design priorities are on four major aspect of concern: interfaces, data, components, and architecture. The design process is very imperative. As a laborer, for instance someone would not attempt to build a house without an approved blueprint in order not to risk the customer satisfaction and structural integrity. In a similar way, the task to developing software products is the same. The emphasis in design is on quality. It is important to note that, this is the only phase in software development in which the customer’s needs are exactly converted into a final software product or system. As a result, software design serves as the blueprint for all software engineering steps that follow no matter which process model is being deployed. In the design process, the software specifications are converted into design models that show the details of the system architecture, data structures, interface, and components. Each design product is re-assessed for quality before going to the next phase of software development. So, in the end of the design process a design specification document is yielded. This document is comprises of the design models that describe the architecture, data, interfaces and components.

Design Specification Models are as follows:



Architectural design – this entails the relationships among the major structural elements of the software, the “design patterns” that can be used to attain the requirements that have been defined for the system, and the obstacles that affect the way in which the architectural patterns can be applied. It is obtained from the system specification, the analysis model, and the subsystem interactions defined in the analysis model.



Data design – produced by converting the analysis information model into data structures needed for the implementation of software. Part of the data design may occur in combination with the design of software architecture.



Interface design - explains how the software elements interact with one another, with other systems, and with human users. Much of the necessary information required is provided by the e data flow and control flow diagrams.



Component-level design – It changes the structural elements defined by the software architecture into procedural descriptions of software components using information acquired from the process.

Comments

The most viewed post

TMA solutions 2022

Blockchain Technology