模块化 组件化 工程化

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)

  1. 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.

    该软件的每个功能都存在于单独的模块(或组件)中。 这也使代码对于其他共同开发人员而言可读性强并且易于理解。 而且,某些功能的错误检测和维护也可以以一种非常简单和容易的方式完成。

  2. 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.

    代码可重用性 :该软件的组件可以按原样在其他软件中重用,而不必再次对其进行编码。 因此,通过模块化编程,每个模块都可以一次又一次地使用,因为它提供了独立的功能,因此可以实现代码的可重用性。

  3. 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)

  1. 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.

    为软件中的不同功能开发单独的模块很容易,但是将它们集成在一起以使其可以在单个软件中一起运行却变得异常困难。 因此,集成部分是开发人员面临的巨大挑战。

  2. 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

模块化 组件化 工程化

模块化 组件化 工程化_软件工程中的模块和软件组件相关推荐

  1. 软件项目中的决策分析_软件工程中的决策管理

    软件项目中的决策分析 Every day we make a lot of decisions. I always wonder why, in so much companies, there is ...

  2. vant引入组件报错_强烈推荐优秀的Vue UI组件库

    在我们实际开发中常常因为项目周期短不得不引入一些UI框架来辅助开发 那常见的比较好的UI框架有那些呢(基于VUE) Element UI组件库 (pc端) Element,一套为开发者.设计师和产品经 ...

  3. teleport 组件的作用_新发现!新型焊带助组件输出功率增加2.1%

    广告位招租 银金属化浆料制造商Heraeus用一年多的时间在户外测试,结果表明,其与 Ulbrich Solar Technologies合资生产的新型选择性涂层焊带提高了光伏组件的输出功率. Her ...

  4. 工程中多个不同类型线程池_软件工程中不同类型的设计策略

    工程中多个不同类型线程池 As we know that the designing phase is probably the second phase in the software develo ...

  5. 手机屏幕xy坐标软件_软件工程中的xy问题

    手机屏幕xy坐标软件 XY problem is classified as a communication problem in which the person who asks the ques ...

  6. java 耦合性_软件工程中的耦合性和解耦合性是什么意思?

    我也来通俗地讲一讲,说的不好请勿喷. 简单概括:耦合就是程序中的一部分跟其他部分之间的关系.解耦合就是把必要的耦合理顺,同时尽量减少不必要的耦合(这一句其实就是高内聚低耦合的通俗解释). 如何看待耦合 ...

  7. 组件化开发_思维导图

    @沉木

  8. ueditor上传组件显示乱码_最全面的移动端 UI组件设计详解:中篇

    上一期给大家讲解了<最全面的移动端UI组件设计详解:上篇>,主要分享了:布局组件和导航组件2个部分:这次给大家带来:基础组件.表单组件和反馈组件详解,希望你在设计APP.小程序.H5页面中 ...

  9. .Net调用Office Com组件的原理及问题检索com类工厂组件检索 COM 类工厂中 CLSID 为 {XXX} 的组件失败

    .net调用office组件进行Excel.Word.ppt的一些操作,需要做一下操作: 1.正确全面的安装office 2.DCOM配置权限(64位系统要添加32位组件[mmc -32]) (1.) ...

最新文章

  1. Linux Shell 命令--tr
  2. bzoj2091: [Poi2010]The Minima Game DP
  3. 【ABAP】 屏幕图片显示Demo
  4. 【C/C++多线程编程之四】终止pthread线程
  5. 基于.NET Core的简单,跨平台,模块化的电子商务系统-SimplCommerce
  6. C++编译代码的时候提示‘getInstance’ is not a member of ‘A’ A a = A::getInstance();解决办法
  7. java打印三角形,菱形。任意边长大小
  8. 量子计算机西南交大,交大量子光电实验室
  9. 宁波大学考研复试C语言设计,2021年宁波大学考研复试名单及复试方案汇总
  10. Facebook又开两处AI实验室,在西雅图和匹兹堡招兵买马
  11. 引导页的圆点滑动效果
  12. Quidway S系列交换机
  13. layui 确认,取消弹窗
  14. OA自动化制造自动化
  15. 不变初心数 (15 分) C语言
  16. SQL语言的分类及(DDL、DML、DQL)使用语法
  17. 《士兵突击》哪些最精彩的话语
  18. CDH6.3配置安装实操
  19. 实现嵌入式linux自动同步网络时间---NTP
  20. “笨办法”学Python3,Zed A. Shaw, 习题13

热门文章

  1. Es6学习笔记(7)----数组的扩展
  2. 微信小程序实战–集阅读与电影于一体的小程序项目(八)
  3. 限制input 内部字数
  4. 上传图片截图预览控件不显示cropper.js 跨域问题
  5. DOM BOM document window 区别
  6. CSS--居中方式总结
  7. 教务管理及教材订购系统设计文档
  8. 常见的虚拟机需要配置的服务
  9. (7)MySQL的事务
  10. 并发编程-concurrent指南-阻塞队列BlockingQueue