This website includes Education Information like a programming language, job interview question, general knowledge.mathematics

Education log

PageNavi Results No.

Ads

Saturday, September 5, 2020

concepts of design in software engineering

 

concepts of design in software engineering

Introduction to design process

             The main aim of design engineering is to generate a model which shows firmness, delight and commodity.

             Software design is an iterative process through which requirements are translated into the blueprint for building the software.

 

 

The core design concepts in software engineering should be followed to create a successful program or application. This lesson will go through those main design concepts and explain how each one plays a role in software development.

Basics of Software Design

In the field of software development, there are many stages of planning and analysis before the project is finalized and development can formally begin. Design always comes before development, and functional design makes coding and maintenance very simple.

There are seven main principles to keep in mind in the design model in object-oriented programming (OOP):

             Abstraction

             Patterns

             Separation of data

             Modularity

             Data hiding

             Functional independence

             Refactoring

Each of these is an essential part of the design model and must be met if one wishes to develop a successful software system. Each principle must be considered and thoroughly reviewed before the testing phase of the software can begin.

Abstraction & Patterns

Our first principle, abstraction, is the process of hiding complex properties or characteristics from the software itself to keep things more simplistic. This allows for a much higher level of efficiency for complex software designs since it allows the developers to list out only the necessary elements or objects required. In this principle, the developer will define the properties, type of functions, and the interface for each of said objects in the project. The developers will be able to hide the complicated and unnecessary details in the background while retaining core information in the foreground.

We use patterns to identify solutions to design problems that are recurring and can be solved reliably. A pattern must be guaranteed to work so that it may be reused many times over, but it also must be relevant to the current project at the same time. If the said pattern does not fit into the overall design function of the current project, it might be possible to reuse it as a guide to help create a new pattern that would be more fitting to the situation.

There are three main patterns:

             Architectural, which is a high-level pattern type that can be defined as the overall formation and organization of the software system itself.

             Design, which is a medium-level pattern type that is used by the developers to solve problems in the design stage of development. It can also affect how objects or components interact with one another.

             And, finally, idioms, which are low-level pattern types, often known as coding patterns, and are used as a workaround means of setting up and defining how components will be interacting with the software itself without being dependent on the programming language. There are many different programming languages all with different syntax rules, making this a requirement to function on a variety of platforms.

 

Design concepts

The set of fundamental software design concepts are as follows:

 

1. Abstraction

             A solution is stated in large terms using the language of the problem environment at the highest level abstraction.

             The lower level of abstraction provides a more detail description of the solution.

             A sequence of instruction that contain a specific and limited function refers in a procedural abstraction.

             A collection of data that describes a data object is a data abstraction.

2. Architecture

             The complete structure of the software is known as software architecture.

             Structure provides conceptual integrity for a system in a number of ways.

             The architecture is the structure of program modules where they interact with each other in a specialized way.

             The components use the structure of data.

             The aim of the software design is to obtain an architectural framework of a system.

             The more detailed design activities are conducted from the framework.

 

 

 

 

No comments:

Post a Comment