Modularity in software engineering




















Easy Normal Medium Hard Expert. Writing code in comment? Please use ide. Load Comments. What's New. Most popular in Software Engineering. More related articles in Software Engineering. We will wind up our discussion with the relevant terms coupling and cohesion along with the benefits of modularity.

Now, whenever a customer requests to develop software we can use or integrate these modules to develop new software. The required modules can be selected and integrated to develop new software in this way, we can customize the software according to users need. Consider an example, we all have been playing Legos to build different structures. Here we have several components i. Similarly, we can break the complex codes into different components and using or integrating those components you can create a new program to develop new software.

Consider that if we have to divide an automobile into several subsystems then the components or subsystems would be: engines, breaks, wheels, chassis etc. Here you can observe all the subsystems are independents of each other as much as possible. And these components can be integrated to design a new automobile. To understand the importance of modularity, consider that we have a monolithic software that has a large program including a single module.

Now if we ask any software engineer to understand this large program, then it is not that easy for him to do so. There will be a lot of local variables, global variables their span of reference, several control paths etc.

This will increase the complexity of the large program making it hard to digest. You want to make use of open source and leverage third-party specialist expertise. You would in this case aim to create modules with the aim to source them from a strategic partner. What we did was to partner with an American company that had a proxy server with compression technology, and they then made their APIs available to us.

Using these APIs we could develop services aimed at the cell phone service providers and make a viable and attractive solution. We also discovered that we needed a WAP protocol stack, so we found a Finnish company with a commercially available WAP-stack that we could plug into. We just bumped into challenges that had to be solved and found a way to solve them with strategic partners. By developing new features faster, and more frequently, you can provide new software and hardware products that better meet customer needs.

You can also work with the continuous release of new features, while maintaining quality and not putting product reliability at risk. This has been a real issue and in some cases it still is.

It is an important software engineering principle. It is a web application by dividing a large module into simple and small modules. For example Computer system consists of several modules such as input-output system, speakers, memory, CPU and so on.

Each module has its own defined functionality but when they are put together the complete functionalities of a system are realized. It can take place in two ways such as composition or decomposition.



0コメント

  • 1000 / 1000