模块化 组件化 工程化
The module in software is a small part of the software that is responsible for performing any kind of functionality. Sometimes, the term sub-program is also used to refer to the term module.
软件中的模块是软件的一小部分,负责执行任何类型的功能。 有时,术语“子程序”也用于指术语“模块”。
If we try to define the term module (or a sub-program), then it can be defined in several different ways, like "a module is a FORTRAN subroutine", or like "a module is a work assignment for an individual developer", etc. But what all they mean is the same.
如果我们尝试定义术语模块(或子程序),则可以通过几种不同的方式进行定义,例如“模块是FORTRAN子例程”或“模块是单个开发人员的工作分配”。等等。但是它们的意思是相同的。
A module can be thought as a mini each which performs any of the specific tasks of the software, and the software consists of various such mini software, which can also be called as sub-programs. Each of these sub-programs is individually capable of delivering a piece of functionality independently, and these can be accessed by the users either directly or indirectly with the help of interfaces.
可以将模块视为一个微型模块,每个模块均执行软件的任何特定任务,并且该软件由各种此类微型软件组成,这些微型软件也可以称为子程序。 这些子程序中的每一个都能够独立地独立提供一项功能,并且用户可以在界面的帮助下直接或间接地访问这些子程序 。
Modules are added into a software so that each of the functionalities can be easily identified and be understandable for other developers too. This type of Software building is known as component-based software. In this, there are different components of software and each of the components represents a modular, easy to debug and fix, and replaceable part of a system that wraps up and represents a set of interfaces.
将模块添加到软件中,以便可以轻松识别每个功能,其他开发人员也可以理解。 这种类型的软件构建称为基于组件的软件。 在这种情况下,软件具有不同的组件,并且每个组件都代表一个模块化,易于调试和修复的系统,并且是系统的可替换部分,其包装并代表一组接口。
The components based development of a software is a very effective way to develop software and has many benefits over developing the entire software under a single module. Some of the characteristics of a modular programming approach in software development are as follows:
基于组件的软件开发是一种非常有效的软件开发方式,与在单个模块下开发整个软件相比,具有许多优势。 软件开发中模块化编程方法的一些特征如下:
基于组件的软件开发的好处 (Benefits of component based software development)
Each and every functionality of the software is present in a separate module (or component). This makes the code readable and easy to understand for the other co-developers too. Also, the error detection and maintenance of certain features can also be done in a much simpler and easier way.
该软件的每个功能都存在于单独的模块(或组件)中。 这也使代码对于其他共同开发人员而言可读性强并且易于理解。 而且,某些功能的错误检测和维护也可以以一种非常简单和容易的方式完成。
Code reusability: The components of software can be reused in other software as it is without having to code them again. Therefore, through modular programming, each module can be used again and again as it provides independent functionalities, and hence this implements reusability of code.
代码可重用性 :该软件的组件可以按原样在其他软件中重用,而不必再次对其进行编码。 因此,通过模块化编程,每个模块都可以一次又一次地使用,因为它提供了独立的功能,因此可以实现代码的可重用性。
For adding any new feature into the software (in the maintenance part), a new module for it can be created and integrated with the mainline program. This provides us with an easy to add supplement features in our application whenever required.
为了将任何新功能添加到软件中(在维护部分中),可以为其创建一个新模块并将其与主线程序集成。 这使我们可以在需要时轻松地在应用程序中添加补充功能。
基于组件的软件开发的缺点 (Drawbacks of component based software development)
It is easy to develop separate modules for different functionalities in a software, but it becomes extremely hard to integrate together so that they can function together under a single software. So, the integration part is a massive challenge in front of the developers.
为软件中的不同功能开发单独的模块很容易,但是将它们集成在一起以使其可以在单个软件中一起运行却变得异常困难。 因此,集成部分是开发人员面临的巨大挑战。
Even if a module may be able to independently display a feature from the system, but when integrated, it must have some dependencies on other components, like for getting the data or some sort of indicating signals. So, this relationship establishment between the modules takes extra lines of code and also extra time for processing.
即使一个模块可能能够从系统中独立显示功能,但在集成时,它也必须对其他组件具有某些依赖性,例如获取数据或某种指示信号。 因此,模块之间的这种关系建立需要花费额外的代码行和处理时间。
翻译自: https://www.includehelp.com/basics/module-and-software-components-in-software-engineering.aspx
模块化 组件化 工程化