4.6. Solutions: Data Dictionary

1. Title Page = Book Title
+ {Author Name}
+ Foreword Writer Name
+ Publisher Name + Publisher Address

Author Name = * Data element *

Book Title = * Data element *

It would also be correct to say that BOOK TITLE is made up of a main title and a subtitle.

City Name = * Data element *

Foreword Writer Name = * Data element *

Publisher Address = Street Number + Street Name + City Name
+ State + Zip Code

Publisher Name = * Data element *

State = * Data element *

Street Name = * Data element *

Street Number = * Data element *

Zip Code = * Data element *

2. Selling Price = [Standard Price | Special Price | Discounted Price]

The selling price can be one of three prices. Notice that this defines SELLING PRICE, not how each of the prices is calculated. One approach to defining the calculations for data elements is to use the mini specification. However, if you have a calculation that is referred to in many specifications, then you can define the calculation in the dictionary entry for the calculable data element. For example, to specify the calculation for DISCOUNTED PRICE:

Discounted Price = * Data element. Calculable as follows: (Standard
Price – (Standard Price multiplied by Discount Rate)).*

3. Personal Identity = [Name + Address + Date Of Birth | Social Security
Number]

Note what this definition is saying. Either you can have a name, address, and date of birth, or you can have a social security number.

4. Client Identifier = [Client Name | Client Acronym | Client Name
+ Client Acronym ]

Again, note what it says: either one, the other, or both.

5. This was a trick of the type that analysts have to deal with constantly. Because the English language has no precedence for and’s and or’s, the description could be

Invoice Line = Product Description + Quantity Sold + Selling Price

with the selling price defined as

Selling Price = [Undiscounted Price | Discounted Price | Special Price
+ Handling Charge]

Or the invoice line could be

Invoice Line = Product Description + Quantity Sold + Selling Price
+ Handling Charge

Selling Price = [Undiscounted Price | Discounted Price | Special Price]

The definitions in the data dictionary must have one and only one meaning. From the description you were given, though, you couldn’t possibly make a definitive entry. In this case, you can only establish the correct meaning with the users’ assistance.

6. Application = Name + Address
+ (Telephone Number)

The telephone number is not elementary, so you need another entry:

Telephone Number = Area Code + Local Number
+ (Extension)

7. Brewery Delivery Note = Pub Name
+ {Container Count + Ale Container Name
+ Ale Container Capacity}

If only one size of container is delivered to each pub, remove the braces. An additional entry is needed:

Ale Container Name = [“Pin” | “Firkin” | “Hogshead”
| “Barrel” | “Puncheon”]

Ale Container Capacity = [ 4 | 8 | 16 | 32 | 64]
* Units: gallons *

An alternative way to describe the data is

Brewery Delivery Note = Pub Name
+ {Pin Count}
+ {Firkin Count}
+ {Hogshead Count}
+ {Barrel Count}
+ {Puncheon Count}

Note that either definition of BREWERY DELIVERY NOTE allows the pub to receive, for example, a number of firkins and a number of barrels. In fact, they could get some of each size container. Because of the unusual nature of the names, a comment stating the capacity of each container name would be enlightening.

* Each ale container name has a fixed capacity in gallons: PIN 4, FIRKIN 8,
HOGSHEAD 16, BARREL 32, PUNCHEON 64. *

We leave it to you, dear reader, to find your own method of researching the capacities of beer containers.

8. Client File = {Client Acronym + Client Name
+ {Job Ident + Job Type + Start Date}
+ Contact Name}

An equivalent answer is

Client File = {Client Record}

and then

Client Record = Client Acronym + Client Name
+ {Job Record}
+ Contact Name

with

Job Record = Job Ident + Job Type + Start Date

The advantage of the second solution is that each entry is simpler. The disadvantage is that you have to look up more entries. Selecting an alternative depends on the number of items in an entry. Up to about ten items is okay; beyond that the entry gets a bit unwieldy.

9. Actor File = {Actor Header
+ {Part Application Record}
+ {Part History Record}}

The remainder of the definitions look like this:

Actor Header = * Green card *
Actor Name + Actor Address + Actor Date Of Birth

Part Application Record = * White card *
Part Classification + Producer Identity + Start Date
+ Salary Offered + Role Description

Part History Record = * Yellow card *
Part Classification + Date Started + Date Ended
+ Salary + Producer Identity
+ {Review}

Since the color of the card indicates its data content, the color is not part of the definition. However, the comment serves to help the users verify the entry. Note the use of DATE STARTED in the PART HISTORY RECORD, and START DATE in the PART APPLICATION RECORD. Different names are used because these elements have different meanings. DATE STARTED is an actual date, whereas START DATE is a proposal. Your finished data dictionary will need to contain a comment specifying the meaning of each of these data elements. For example,

Date Started = * Data element. The date that an actor started playing
a part.*

You could lessen potential confusion and remove the need for some of the data dictionary comments by improving the names of the data elements so they aren’t ambiguous. You could rename the three data elements in question as follows:

Date Part Started
Date Part Ended
Proposed Start Date

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

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