System Analysis and Design

profileJuliusGikonyo
Attachment_1567495667.pdf

©Copyright: 2017 Tutorial 07 Prepared by Ravinda Wijesinghe 1/09/2019 Version 01.3 Page 1 of 8

HS2011 Systems Analysis and Design

Week 07 Tutorial Activities

Creating Data dictionary items (Dataflow descriptions, Datastore

descriptions and process descriptions)

This week we are focusing on how to create data dictionary items for your subsystem based on structured

requirement models that you have created up to week 06.

As we discussed in weeks 5 and 6, data flow diagrams graphically summarize interactions among three

types of internal system components—processes, data flows, and data stores—but additional details about

each component need to be described as part of the data dictionary. When creating a data dictionary, first,

each lowest level process needs to be described in detail. In addition, the analyst needs to define each

data flow in terms of the data elements it contains. Datastores also need to be defined in terms of the data

elements. Finally, the analyst also needs to define each data element.

Process descriptions

Each process on a DFD must be defined formally. There are several options for process definition, including

one that has already been discussed: process decomposition. As discussed previously, in a process

decomposition, a higher-level process is formally defined by a DFD that contains lower-level processes.

These lower-level processes may, in turn, be further decomposed into even lower-level DFDs.

Eventually, a point is reached at which a process doesn’t need to be defined further by a DFD. This point

occurs when a process becomes so simple that it can be described adequately by other methods: structured

English, decision tables, or decision trees (in this course we mainly focusing on the structured English way

of process definitions). With each method, the process is described as an algorithm and an analyst chooses

the most appropriate presentation format by determining which is most compact, readable, and

unambiguous. In most cases, structured English is the preferred method.

Structured English uses brief statements to describe a process very carefully. Structured English looks a

bit like programming statements but without references to computer concepts. Rules of structured

programming are followed, and indentation is used for clarity. For example, a simple set of instructions for

processing ballots after a vote is shown in Figure 7-1. Some statements are simply instructions. Other

statements repeat instructions. Still, other statements direct the program to execute one set of instructions

or the other. The procedure always starts at the top and ends at the bottom. Therefore, the rules of

structured programming apply. Note, though, that a process described by structured English isn’t

necessarily a computer program—it might be done by a person—so it is a logical model. It is unambiguous,

so anyone following the instructions will arrive at the same result.

©Copyright: 2017 Tutorial 07 Prepared by Ravinda Wijesinghe 1/09/2019 Version 01.3 Page 2 of 8

Figure 7 – 1

An example of a process description for the RMO Customer Support Sub System (CSS) is shown in Figure

7-2. Note how the process description provides more specific details about what the process does.

Figure 7 – 2

©Copyright: 2017 Tutorial 07 Prepared by Ravinda Wijesinghe 1/09/2019 Version 01.3 Page 3 of 8

Data Flow Definitions

A data flow is a collection of data elements, so data flow definitions list all the elements. For example, a

simplified New order data flow (to process 2.1 in Figure 7-2) consists of a customer name, credit card

number, and a list of catalogue item numbers and quantities. Some of these elements are actually

structures of other elements, such as a customer name consisting of first name, middle initial, and last

name. The system stores most of these data elements, so they coincide with the attributes of data entities

included in the ERD.

Sometimes, data flow definitions contain a more complex structure. In the New order example, each data

flow consists of many catalogue items and quantities (a repeating group). It is important to document this

structure. The notations for data flow definitions vary. One approach is simply to list the data elements, as

shown in Figure 7-3. The elements that can have many values are indicated. Another approach uses

algebraic notation, such as that shown in Figure 7-4. The data flow “equals” or “consists of” one element

plus another element and so on. Groups of elements that can have many values are enclosed in curly

braces. This example shows New order “equals” the customer name “plus” customer address “plus” credit

card information “plus” “one or more” inventory item number and quantity. In this example, the customer

name can be defined separately as a structure of elements. Figure 7-5 lists notations commonly used in

data flow descriptions.

Alternative 1: Figure 7 – 3 Data flow definitions simply listing elements

Alternative 2: Figure 7 – 4 Algebraic notation for data flow definition (New-Order)

©Copyright: 2017 Tutorial 07 Prepared by Ravinda Wijesinghe 1/09/2019 Version 01.3 Page 4 of 8

Figure 7 – 5 Dataflow notations

Please refer Lecture 06 for more examples regarding algebraic notation style of dataflow definitions.

Data Store Definitions

Because a datastore on the DFD represents a data entity on the ERD, no separate definition is typically

needed (except perhaps a note referring the reader to the ERD). If data stores aren’t linked to an ERD, the

analyst simply defines the data store as a collection of elements (possibly with a structure) in the same way

data flows are defined.

Data Element Definitions

Data element definitions describe a data type, such as string, integer, floating-point, or Boolean. Each

element should also be described to indicate specifically what it represents. Sometimes these descriptions

are very specific. Date of sale might be defined as the date the payment for the order was received.

Alternately, the date of sale might be the date an order is placed. Sometimes, different departments in the

same company have different definitions for the same element, so it is very important for the analyst to

confirm exactly what the element means to users.

Other parts of a data element definition vary depending on the type of data. A length is usually defined for

a string. For example, a middle initial might be one character maximum, but how long should a first name

be? Numeric values usually have a minimum and maximum value that can be defined as a valid range.

Sometimes, specific values are allowed for the element, such as valid codes. If the element is a code, it is

important to define the valid codes and their meaning. For example, code A might mean ship immediately,

code B might mean hold for one day, and code C might mean hold shipment pending confirmation. Some

sample data element definitions are shown in Figure 7-6.

©Copyright: 2017 Tutorial 07 Prepared by Ravinda Wijesinghe 1/09/2019 Version 01.3 Page 5 of 8

Figure 7 – 6 Data element definitions

Analysts need to maintain a central store of all these definitions as a project reference and to ensure

consistency. A data dictionary is a repository for definitions of data flows, data stores, and data elements.

A data dictionary may be a simple loose-leaf notebook or word processing file in smaller development

projects. In larger projects, a project management or documentation tool usually holds the data dictionary.

The data dictionary may also hold process descriptions.

Tutorial discussion question

Q1

The following questions relate to a library. Each of the questions represents only one event. For each

event provide a dataflow dictionary description of the dataflows.

a) A new customer registers to join a library. She provides her name, date of birth, address and phone

number. These details are recorded and she is issued with a membership card which has her name

and membership number and date of membership.

b) A member borrows books from the library. She passes her membership card across a scanner

which records her membership number. She then scans the books. The system obtains the book

numbers from the labels on the books. When finished, the system records the loans and issues a

borrowing slip to the member which includes the membership number, titles of the books borrowed

and due date for each book. Each book has its own due date as this can vary from book to book.

c) A member returns her books. The librarian scans the books for the book numbers. Borrowing

records are updated. The system alerts the librarian if a book has been reserved and provides the

©Copyright: 2017 Tutorial 07 Prepared by Ravinda Wijesinghe 1/09/2019 Version 01.3 Page 6 of 8

membership number and name of the member who reserved the book. If the book was overdue

then a fine is recorded against the member.

d) A member is browsing the book catalogue. She finds a book she would like to reserve and selects

the book for reservation. If the book is available in the library the system replies with a message

“Book available” else it records a reservation for that book.

e) Each evening at midnight, the library system automatically runs a program that finds book loans

that are overdue. The system determines the member who has borrowed the book and sends an

email to the member. The email includes the member number, member name, the title of the book

borrowed and the due date of the book plus a message requesting the book be returned.

f) A member has been issued a fine. The member pays the fine and the librarian records the amount

paid. The payment is recorded and a receipt is issued which details the member number and name,

amount paid and date paid. If there is still any amount outstanding the receipt also includes the

outstanding amount.

Q2:

The following questions are based on ‘Acme Garage Lilydale’. Please complete the following for proposed

Car Service Management System:

• Provide 3 dataflow definitions based on 3 events.

• Provide one process description

• Provide 3 data store and related data element descriptions.

Acme Garage Lilydale

The Acme Garage specialises in repairing cars. The owner is Geoff who has worked in the field for many

years and owns 3 garages around Victoria. There are 30 full time and part time employees currently working

in his business. In the Lilydale location, there is Mary and Kim, who look after customer enquiries, maintain

(Create, Retrieve, Update, Delete) customer profiles, generate customer invoices, process invoices and

payments. Bill and Ben are car mechanics. Peter looks after the ordering processes.

When customers come to have their cars repaired, their initial contact is with Kim or Mary. Before Kim or

Mary accept their requests, they check the database system to ensure any previous work that the

customer has requested has been paid for satisfactorily. This can be generated by their current computer

system (when customer’s car registration number is entered into the computer, the system will provide

relevant feedback). If there are outstanding payment issues with the car registration number, the customer

will be required to pay all outstanding bills before their new requests are accepted. Customer details are

kept in a Customer file and details of each job are kept in a Job file under car registration numbers. If all

is ok, Kim or Mary will accept the vehicles and pass the jobs to the mechanics: Bill and Ben.

©Copyright: 2017 Tutorial 07 Prepared by Ravinda Wijesinghe 1/09/2019 Version 01.3 Page 7 of 8

They will check the car and identify problems, parts required and estimated completion time. They will need

to complete forms which include all relevant information and forward to Kim or Mary who will check the

lists and calculate the cost. They will then call the customer for confirmation. If customers agree, Mary or

Kim will notify the mechanics to go ahead and repair the car. After the job is completed, labour hours and

parts used are recorded in the Job file. The mechanics will notify Mary or Kim, who will prepare invoices

and call customer to collect the cars. Customers can pay when they pick up the cars or within 30 days.

Reminder emails will be sent to customers a week before the due date. If payment is not made within 30

days, the follow up emails will be sent to customer advising of a 10% penalty. At the end of every week,

computer systems will generate reports, e.g., Jobs and used parts, Customer Payment report…

Acme need to keep stock of frequently used parts (e.g., spark plugs, oil filters, air filters) which are purchased

regularly from suppliers. Acme’s suppliers are mainly local, however for some special parts for expensive

cars, they also purchase from overseas suppliers. The computer system will monitor the stock level

automatically. For those parts from local suppliers where the inventory level drops down to quantities of

3, then notification will be sent to Peter, who supervisors the ordering processes. Peter has to contact

suppliers and lodge a replacement order. However, for those parts from overseas suppliers, the notification

will be sent when the inventory level drops to quantity of 5. Less frequently used parts are ordered as

required. Once they have a reliable supplier, they tend to stick with them, so they only ever have one

supplier for each part. Supplier details are recorded and filed in the database. In the case where stock is

ordered, details of the order are recorded in the Order file. Peter works in the office and maintains the

ordering processes. All parts are recorded in the database ‘Parts’ file. The parts database should be

identified to the supplier allowing Peter to create, add, update, delete and modify both supplier and part

tables. If ordered parts haven’t arrived within 10 days, the system automatically notifies Peter, who will

contact suppliers immediately. The computer system will generate several reports by end of each month,

e.g., ordering parts with the suppliers, delivered orders, an unpaid invoice report and an unfilled orders

report. These reports will be sent to the Acme’s owner Geoff.

A copy of all orders is stored in an Order file, where invoices and parts are checked against the goods

received and are then attached to the order. If everything is correct, Peter will update the order and stock

details on the system. He will then pass the invoices, (including the cost of the parts) to Mary or Kim who

look after accounting and payments.

Mary or Kim will pay the invoices within 10 days after the delivery. If invoices haven’t been paid in 10 days,

the auto notification will be sent to their email to remind them that the orders are outstanding. At the end

of the month, the system will generate reports on invoices paid during the month, the parts list which

details the names of the parts, quantities, single costs and total costs.

Most of the data entry involves simple business transactions (recording customer information, job

information, parts information, supplier information, managing orders, receiving payments and making

payments). As mentioned previously, a variety of information is extracted from the system through

enquiries and the generation of periodic reports. This information is used by Geoff, the owner of the

garage, to manage the business.

©Copyright: 2017 Tutorial 07 Prepared by Ravinda Wijesinghe 1/09/2019 Version 01.3 Page 8 of 8

Assignment activities (individual) – Create data dictionary items for your

subsystem – i.e. you need to create data flow descriptions, data store

descriptions and process descriptions for your subsystem. Refer to

assignment marking rubric for more information. Please also be mindful

about submission due date.