4 3 1 For Traditional Application Systems

LANSA Application Design

4.3.1 For Traditional Application Systems

Given that the database is usually designed before the applications are created, you should first examine it closely and attempt to identify and define primary "objects".

For example, a database being used to store corporate order details may contain the following objects:

Customers

Orders

Products

 

Assign a unique 3 letter identifier (as per the guidelines previously discussed) to each identifiable object stored in the database. For example:

Customers

CUS

Orders

ORD

Products

PRO

 

Next, examine each object, and decide what "actions" must be performed to satisfy all business requirements. To each "action" (now called a FUNCTION) assign a unique identifier as recommended:

Customers (CUS)

maintain

CUS0001

show outstanding orders

CUS0002

print all

CUS0003

print by state

CUS0004

 

 Orders (ORD)

maintain

ORD0001

print

ORD0002

archive

ORD0003

 

 Products (PRO)

maintain

PRO0001

print details

PRO0002

print sales analysis

PRO0003

 

 

Finally, group the functions, which work on each object type into broad logical "categories". To each "category" (now called a PROCESS) assign a unique identifier as per the standards previously discussed:

Customers (CUS)

Work with customers (CUSWRK)

maintain

CUS0001

show outstanding orders

CUS0002

Produce customer reports (CUSREP)

print all

CUS0003

print by state

CUS0004

 

 

Orders (ORD)

Work with orders (ORDWRK)

maintain

ORD0001

print

ORD0002

archive

ORD0003

 

 

Products (PRO)

Work with products (PROWRK)

maintain

PRO0001

Produce product reports (PROREP)

print details

PRO0002

print sales analysis

PRO0003

 

 

Note that the assignment of functions to categories (i.e., processes) is completely arbitrary, and may even seem inconsistent at this stage. For instance both customer and product reports have been placed into separate processes, but order reports have not.

The most common mistake made at this stage is to consider that a process is merely a menu. It may certainly be used as a menu, and in many instances works just fine as a menu, but its most important use at this stage is its ability to logically "group" or "categorize" functions together.