What is Software Engineering? Definition, Basics, Characteristics

What is Software Engineering?

Software engineering is defined as a process of analyzing user requirements and then designing, building, and testing software application which will satisfy those requirements.

Let's look at the various definitions of software engineering:

In this software engineering tutorial, you will learn:

Why Software Engineering? Software Crisis & its Solution:

What was the Software Crisis?

All the above issues lead to 'Software Crisis.'

The Solution

Solution was to the problem was transforming unorganized coding effort into a software engineering discipline. These engineering models helped companies to streamline operations and deliver software meeting customer requirements.

Why Software Engineering is Popular?

Here are important reasons behind the popularity of software engineering:

Relationship of Software Engineering with Other Disciplines

Here, how software engineering related to other disciplines:

Challenges of Software Engineering

Here are some critical challenges faced by software engineers:

Attributes for Software Products

The characteristics of any software product include features which are displayed by the product when it is installed and put in use.

They are not the services which are provided by the product. Instead, they have related to the products dynamic behavior and the use made of the product.

Examples of these attributes are:

Efficiency, reliability, robustness, maintainability, etc. 

However, the relative importance of these characteristics varies from one software system to another.

Product Characteristics Description
Maintainability The software should evolve to meet the changing demands of the clients.
Dependability Dependability includes various characteristics. Dependable software should never cause any physical or economic damage at the time of system failure.
Efficiency The software application should overuse system resources like memory and processor cycle.
Usability The software application should have specific UI and documentation.

Optimizing the above attribute is very challenging. For example, offering a better UI can reduce system efficiency.

Characteristics of Good Software

Any software should be judged by what it offers and what are the methods which help you to use it.

Every software must satisfy the following attributes:

Here are some important characteristics of good software developed by software professionals

Operational

This characteristic let us know about how well software works in the operations which can be measured on:

Transitional

This is an essential aspect when the software is moved from one platform to another:

Maintenance

This aspect talks about how well software has the capabilities to adapt itself in the quickly changing environment:

Summary

 

YOU MIGHT LIKE: