Contents

About the developmental trends in S/W engineering

   Mar 22, 2024     1 min read

This article examines the developmental trends in S/W engineering.

Software engineering has continued to evolve into what it is today.

In this article, we will discuss software reusability and re-engineering and CASE tools.

Software reuse

Software reuse is an important factor in reducing software development costs and increasing efficiency.

Reuse means utilizing already developed software assets in other projects or systems.

This helps developers reduce the cost and time of developing software from scratch.

How to reuse software Software reuse can be broadly divided into internal reuse and external reuse.

Internal reuse refers to the reuse of software that has already been developed within the same organization.

This can improve software development productivity within your organization and promote consistent development.

External reuse refers to utilizing software assets developed externally.

This can reduce development costs and improve quality by utilizing software that has already been proven in the external software market.

Software re-engineering

Software re-engineering is the process of analyzing existing software systems to improve them or restructure them to meet new requirements.

Re-engineering is an important approach to reduce software maintenance costs and improve the performance and quality of existing systems.

Main activities of re-engineering

  • Analysis: Analyze existing systems to determine requirements and identify problems.
  • Reconfiguration: Changing an existing system to a new architecture or design. This improves the maintainability and scalability of the system.
  • Reverse engineering: Analyzing the source code or design of an existing system to understand and document how the system operates.
  • Porting: Moving an existing system to another platform or environment, or integrating it with another system.

Computer-Aided Software Engineering (CASE)

CASE tools refer to tools used to support the software development process.

Features of CASE Tool

  • Requirements Management: Provides features to manage and track requirements.
  • Design and Modeling: Help with software design and support modeling.
  • Code generation: Automatically generates source code based on the designed model.
  • Testing and debugging: Supports testing and debugging of software.
  • Configuration management: Provides functions for software version management and configuration management.

Conclusion

Above, we briefly looked at software reusability, re-engineering, and CASE tools.

These concepts and tools play an important role in improving efficiency and quality in the software development process.