2.4. Data Viewpoint

Adventures in Data Modeling

Mysterious things are happening at the NanoSoft Corporation. Its people are completing their software projects on time and within budget.

Unfortunately, you work for PicoSoft. Naturally, your boss wants to know how NanoSoft does it, and has selected you to go on a spying mission. You must penetrate their office sometime after the NanoSoft systems developers go home (they are always able to leave on time) and discover their secret systems methods. If you are caught or captured, the Secretary will deny any knowledge of you and your mission.

Sometime after dark, you enter the office through an air shaft. It’s very dark inside, and you have to feel your way. Blind groping gives way to limited sight as your eyes become accustomed to the dark. You discover you’re in the part of NanoSoft where the analysts work. (You spot a sign saying “Analysts’ Section,” and you have terrific powers of deduction.) There is a book on each of the desks. You grab one and stuff it into your trench coat pocket. (Of course you’re wearing a trench coat. What else could you wear on a spying mission?) More wandering in the dark and you find a whiteboard attached to the wall. The board bears the heading “New Projects.” You presume this has something to do with their new projects (powers of deduction again), and you unscrew it from the wall. As you grope your way toward the exit, you pass a notice board. The printing on one notice is barely discernible in the dark, but the heading “Analyst” catches your interest. You remove the paper from the notice board, then make your escape through the unlocked basement.

Image

Figure 2.4.1: What’s a nice analyst like you doing in a place like this?

Back in the office the next morning, your workmates and the boss gather ’round as you show off your ill-gotten plunder. The first two items are revealed (in shameful daylight) in Figures 2.4.2 and 2.4.3.

Image

Figure 2.4.2: A page from one of the analysts’ books.

Image

Figure 2.4.3: The analysts’ whiteboard.

“Can you make sense of all this?” your boss asks.

“No problem,” you say. “While nobody’s here from NanoSoft to tell us what they do, I know what they remember. After all, they’re writing this stuff in books and on notice boards because they have to remember it. Once we can understand what they remember, we’ll understand what they do.”

And then you tell them how to do it. “The book belongs to an analyst. All the analysts have one. Using the facts they’re recording, I can build a data model for part of what they are doing. It looks like this,” you say as you draw Figure 2.4.4.

Image

Figure 2.4.4: The diagram you drew to explain NanoSoft’s working policy.

“Each of the boxes represents whatever information they need to remember about a subject. For example, I know they have a unique number for the model, so models must be important to them. I’ve drawn a box for MODEL, and one of the data items inside the box is a model number. I may find more information about the model later, and I will store it in that box.

“The analyst’s name is on the book, which indicates that the analyst is important, so I have another box to store any data about ANALYST. The book tells me that analysts are interested in models and business areas, so I add another box for BUSINESS AREA.

“The diamonds give the reasons that they keep the information. You can see here where it says that an analyst has a BUILDING relationship with a model. The analysts write down all the models that they build, and this indicates there is some reason to remember which models are built by which analysts. Of course, an analyst can build more than one model, so I show the relationship as one analyst is building N, or many, models. While I know there is a reason to remember which analysts build which models, I don’t yet know what it is.

“Now look at the whiteboard. Each new project covers a number of business areas. Under the heading ‘Reuse’ and beside each business area are certain numbers. Look, some of the numbers are the same as the model numbers in the analyst’s book. This has to mean there’s a connection between the new project and the models. Or, to be more precise, I can add a diamond to link BUSINESS AREA to MODEL.

“Now for the paper from the notice board.” (This is shown in Figure 2.4.5.)

Image

Figure 2.4.5: The notice removed from the board.

“This name at the top of the list is the same as that on the book, so that establishes a connection. If I add the connection to the model, I get Figure 2.4.6.”

Image

Figure 2.4.6: The finished model.

“What does it mean?” asks your admiring boss.

“It means,” you begin, “that we now know how NanoSoft is completing software projects on time and within budget—the analysts are reusing their models. Look at this model. It tells you they keep track of which models have been built by which analysts, and which business areas the models cover. When they start new projects, they look at the business area of that project, and decide which models from previous projects can be reused. That must save them a lot of time. No wonder they always finish their projects within budget.

“Now here is the best part. Whenever they reuse a model,” and here you pause for dramatic effect, “the originating analyst receives a ten-dollar bonus.”

Your boss and workmates are now looking at you with admiration. “Could this be the time,” you wonder to yourself, “to ask for a raise?”

Learning What a System Does By What It Remembers

In your secret mission to NanoSoft, you learned about their policy of reusing models. (Reusing models is a good idea, and we’ll discuss this topic later in this book. For the moment, however, forget their policy and concentrate on how you learned it.) You analyzed NanoSoft’s memory and found out that it was in the form of the data they stored on notice boards and in books. When you modeled these data, you revealed the policy, or the reason, for storing the data.

The task of analysis is to understand a system. The data flow model helps you to understand the system by breaking up its functionality into small, digestible pieces and by revealing the data flows and stores used by those pieces. The data model, by contrast, reveals the system by connecting the pieces of stored data used to support the system’s processes.


The facts remembered by a system reveal what that system does. Your task as an analyst is to understand the system. By investigating why the system’s facts are remembered, you will uncover the system’s reason for existence.


The memory of any system reveals almost everything about it. For example, what is stored in your own memory? You have a unique set of information collected from your experiences, work, family, education, environment, and so on. There is no other human with a memory identical to yours because there is no other human who has done exactly the same things you have. People of different cultures and in different occupations have different facts to remember. The memory of an Alaskan oil worker is substantially different from that of a South Sea island fisherman. Similarly, you would know if someone is a brain surgeon or a boat builder by knowing the contents of his or her memory.

Why Analyze the Stored Data?

There are certain advantages to analyzing a system by inspecting its memory and building a data model of it:

1. The data model gives a global view of the system. The system’s memory is shared by most of the processes in the system and is not owned by any single process. By building a data model, you understand the policy in a broad, system-wide context, not just in isolated fragments.

2. The data model is an abstraction. It looks at the information without regard to how the data are kept and without regard to whether or not the data are intended to be part of any future computer system. This means that your view of the business is in no way limited by technological constraints.

3. The data model specifies the requirements for stored data, but they are independent from the technology that uses the data. This device-independent specification means that you can subsequently design files that insulate the users’ applications from the storage medium. The result is a system that will be more easily adapted to future technological changes.

4. The data model represents the real purpose, or business policy, of the system. Thus, by building this model, you ensure that you ask all the right questions about the policy. The model then gives you a vehicle for ensuring that all the answers you get provide a consistent view of that policy.

A commonly (but falsely) held belief is that you can define the stored data requirements by simply providing data that are sufficient to produce the output of the current computer system. This working-backward-from-the-reports approach makes the erroneous assumption that today’s computer output meets the essential requirements for the business system and will continue to meet them for any future incarnation of the system. Such an approach also means that the analysis is being unnecessarily restricted to the current computer system. The computer output is only part of the story, limited by the technology available at the time the output was first generated.

To discover the rest of the story, you must understand the underlying reason for keeping the data in the system. The reason for storing or retrieving the data is as important as the data itself.

Summary

The data model is an abstraction. It shows the system’s stored information only; and because of its viewpoint, it disregards the processes that use the information. It also shows the information without any regard to the way that the system happens to implement the information.

For example, the model doesn’t consider whether the data will be stored in a computer database, in a book, remembered by a person, or whatever. When you look at the data separately from the storage technology, you ensure that you see the real data, not data organized for the convenience of some database or filing arrangement.

The data model is another analysis tool that you’ll use when you are studying systems. In this case, you are studying what the system remembers and, by knowing what it remembers, you are able to determine what it does.

Let’s go on to build some data models.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.2.240