3.10. Review: Writing Mini Specifications

Reviewing the Specification

We chose structured language for our first version of the specification, and translated Stamford Brook’s information like this:

Mini specification 9 Assign Agency to Executive

For a NEW AGENCY

Find SALES EXECUTIVE(S) who has fewer than 10 SELLING relationships with

ADVERTISING AGENCY(s)

Select the executive with the least number of SELLING relationships

If more than one SALES EXECUTIVE has the least number

Select an executive with the earliest SERVICING START DATE for the

most recent SELLING relationship

Create an occurrence of ADVERTISING AGENCY

Create a SELLING relationship between ADVERTISING AGENCY and the

selected SALES EXECUTIVE

Set the SERVICING START DATE to today’s date

Figure 3.10.1: The mini specification for process 9 ASSIGN AGENCY TO EXECUTIVE.

The second line of the mini specification raises the first questions for the users: “What if there are no executives with fewer than ten agencies? Do I assign just anyone? Do I send an alert to sales management?” Unfortunately, Stamford Brook is away from the office this week, and cannot resolve these questions immediately. In the meantime, you can move on to other issues.

Combining the Models

We suggested that you needed the event-response data model in Chapter 3.9 for this part of the Project. Have a look at it now. Figure 3.9.2 shows which entities and relationships are involved in this particular event-response. For instance, the C inside the ADVERTISING AGENCY entity indicates that this event-response may create a new instance of that entity. So your mini specification must mention the creation of this entity. Similarly, the creation and referencing of the SELLING relationship and the referencing of the SALES EXECUTIVE must be defined in the specification.

While you can annotate the event-response data model to show the specific entities and relationships that are created, referenced, updated, and deleted, you need the mini specification to define the rules for these operations.

The mini specification also has a strong connection to the data dictionary. When the specification says “Create an instance of ADVERTISING AGENCY,” the meaning of ADVERTISING AGENCY has already been defined in the data dictionary (see Chapter 3.6 Complete Current Physical Model). This is true of all the relationships and data flows mentioned in the specification.

Using an Alternative Mini Specification

There is an alternative mini specification (see Figure 3.10.2) that is less procedural and consequently much briefer than the previous example. The data model represents the condition of the stored data after the system has responded to the event. It is included in the specification along with a minimal specification of the decisions to be made. The CRUD notation in the data model shows the possible actions of this event-response on the data.

This alternative specification method is just as complete as the first version, but by including the event-response data model, it is less wordy.

Image

Figure 3.10.2: This alternative mini specification combines the data model with structured language.

More Questions for the User

Mini specifications are usually the final component of the essential requirements model to be developed. When you write them, you confirm your understanding of the system’s business policy. Look for any inconsistencies and omissions remaining in your model. The detailed mini specification sometimes raises new questions, for example:

1. “Should the system send an acknowledgment to the agency telling them which sales executive has been assigned?”

2. “Should there be a data flow going to sales management, and/or the executive, telling them who has been assigned?”

3. “Who is chosen if all the sales executives are already selling to ten advertising agencies?”

That completes one mini specification. By the time you finish the Project, you will have specified all the processes in the essential model in a similar manner.

Image Ski Patrol

You didn’t have to use one of the two techniques that we demonstrated. Other techniques are quite acceptable, provided they convey the same policy we described.

If you did not write a satisfactory specification, we suggest some remedial work in Chapter 2.12 Mini Specifications. Pay particular attention to the exercises there. If you had trouble with the data model, a trip through the event-response data model in Chapter 2.11 Event-Response Models may be in order.

Regardless of the trouble you may be having, keep going. You’ve come too far with the Project to consider giving up. There are many more opportunities to practice and improve your skills.

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

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