Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

4. Taming the Beast Named Complexity > 4.6. Managing Complexity

4.6. Managing Complexity

Many of the benefits of modularity can be gleaned from the definition of a software module. Deployable! Manageable! Reusable! Composable! Indeed, they are substantial benefits. But, the greatest benefit of modularity is that it helps us tame the complexity of a software system as it evolves. By taming complexity, it’s much easier to understand the impact of change within large software systems. Because 90 percent of the total cost of a system involves making change to an existing system, this is a substantial benefit. Modularity is the work we do to help manage the complexity of a system as it evolves. It’s time for an example that illustrates this benefit.

4.6.1. Illustrating the Benefit

Figure 4.6 illustrates the benefit of modularity. The top-left quadrant shows a sample system with a relatively complex class structure. When change occurs within a single class, shown circled in the bottom-left quadrant, understanding the impact of change is difficult. It appears possible that it can propagate to any class dependent on the circled class. Assessing the impact of change requires that we analyze the complete class structure. The ripple effect appears significant, and change instills fear.


  

You are currently reading a PREVIEW of this book.

                                                                                                                    

Get instant access to over $1 million worth of books and videos.

  

Start a Free Trial


  
  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint