Problem: Analyzing an Image Stream

Your boss has asked you to lead the development of a new image-analysis system. The system will take input from the new image-capture system that your company is creating and produce a stream of analyzed data. As you start looking into what's needed, you realize that the image processing will take a series of stages to transform the data from the raw input into the desired output form, as shown in Figure 10-1. These transformations are filtering the data as it streams by.

images

Figure 10-1: Image-analysis stages.

Your first thought is to build one big system to process all the input, as you see in Figure 10-2. The resulting system will be bigger than your workgroup can build in the required time frame. You realize that this project is an opportunity to get to know those guys in the other group down the hall better and get them to help. It also will give you more experience coordinating big projects across the organization.

images

Figure 10-2: One big system that does everything.

But after thinking about it more, and after initial discussions with the other guys, you realize that the solution of one big system won't work and that you're better off working separately on each of the needed transformation stages than producing a big combined system. This realization ...

Get Pattern-Oriented Software Architecture For Dummies now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.