USING DATA MODEL PATTERNS FOR RAPID APPLICATIONS DEVELOPMENT

Similar documents
FROM A RELATIONAL TO A MULTI-DIMENSIONAL DATA BASE

HOW TO INTEGRATE A PAYPAL BUTTON INTO YOUR WEBSITE

Save by Ordering in Advance

The QuickStudy Guide for Zoho CRM

Rules for Chart Eligibility for the IRMA Official Charts Singles. Adopted by the Board of IRMA on the 5 th of September 2018

Setting up PayPal dues payment for Toastmasters clubs

IT322 Software Engineering I Student Textbook Exchange System Software Requirements Specification. Prepared by

Before you dive into learning how to use Sage Timeslips, performing a

Universal Model Framework -- An Introduction

Privacy Policy- Introduction part Personal Information

Module 6. Campaign Layering

Ecological Waste Management Ltd Privacy Policy

3 Steps To Create A Pipeline Full of Your Ideal Corporate Decision Makers Using LinkedIn

ITConnect KEEPING TRACK OF YOUR EXPENSES WITH YNAB

Software Engineering

. social? better than. 7 reasons why you should focus on . to GROW YOUR BUSINESS...

Cisco APIC Enterprise Module Simplifies Network Operations

General Simulation Principles

Using Images in FF&EZ within a Citrix Environment

1 SEO Synergy. Mark Bishop 2014

Bank Reconciliation in Sage One 1

Alongside this is AVB, an IEEE standards based technology that could stand on its own or underpin many of the existing networked audio protocols.

Final Examination CS 111, Fall 2016 UCLA. Name:

TABLE OF CONTENTS. TECHNICAL SUPPORT APPENDIX Appendix A Formulas And Cell Links Appendix B Version 1.1 Formula Revisions...

How to Guide. How to create mobile surveys. and forms START

ETS / ETA Collets and Nuts

1. What is AAE Travel Card? Currency Currency Code US Dollar Euro Pound Sterling Australian Dollar Canadian Dollar Hong Kong Dollar Thai Bhat

What options NETIM offers, including those related to gaining of access to and updating of information.

Objectives: 1. Introduce the course. 2. Define programming 3. Introduce fundamental concepts of OO: object, class

Exact General Ledger Setup and Operation

Exercise 6 - Addressing a Message

Meltem Özturan

Introduction CHAPTER1. Strongly Recommend: Guidelines that, if not followed, could result in an unusable application.

The chances are excellent that your company will

The language of

How to Request Courses (First Phase: Course Requests Lottery)

Checkout Western Marketplace

Workshop: Modeling Scenarios Using Data. Fiona Charles BCS SIGIST 22-Sept-2009

Quick Start Guide for Data Buyers

A national valuation database as a risk assessment tool

Math for Liberal Studies

E-invoice. Service Description

Answer: D. Answer: B. Answer: B

Emerging Market connectivity

Service Delivery Platform

Explanation of Data Element Data Element Potentially Legitimate purposes for Collection/Retention

Erasmus+ 2017/18 Timeline, Checklist & FAQs

SSL - Testing The Purchase Process. How To Make Test Purchases in Order to Understand the Purchase Process

QuickBooks 2010: The Basics

Experience the power of Drupal as a platform for content and commerce

Test designs for evaluating the effectiveness of mail packs Received: 30th November, 2001

FIN- Purchase Order Requisition Procurement Services

System development, design & implementation

Section 0.3 The Order of Operations

How to Use expense365

SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC

3.7 Denotational Semantics

Chapter Step by Step Guide for Implementing QuickBooks

Client-Account Receivable

Financials Module: General Ledger


Collector and Dealer Software - CAD 3.1

NAB AFL AUSKICK CO-ORDINATOR FOOTYWEB USER GUIDE

Software Design. Introduction. Software Design (Introduction) SERG

CS122 Lecture: Reuse, Components, Frameworks and APIs

Infor SyteLine ERP. Multi-Site Planning Guide. Infor Global Solutions, Inc Morris Road Suite 4100 Alpharetta, Georgia

A little more research on TEAC and their tapes revealed that, back in the early to mid 1980s, TEAC made a number of these tapes with real metal

Access Intermediate

Asking for information (with three complex questions, so four main paragraphs)

Table of Contents. Customer Profiling and List Segmentation 4. Delivering Unique, Relevant Content 7. Managing Campaigns Across Multiple Time Zones 10

Test Driven Development TDD

ADD/EDIT VENDOR. 1. To add a new vendor to the system from within the Accounts Payable module, navigate to: Accounts Payable Vendors.

Evalu8ing. Collaboration. Relationships. Performance.

1. How and where can I find the terms and conditions of my contract?

Sc r a n t o n Wi lk e s-ba r r e

Copyright 2009 Juniper Networks, Inc.

4 KEY FACTORS FOR DATA QUALITY ON A DATA LAKE (OR: HOW TO AVOID THE DATA SWAMP) JOSH HERRITZ MIOSOFT CORPORATION MIOsoft Corporation.

USING THE FINANCIAL AID COMMUNICATION SYSTEM

Perfect Storms, Internet Economics, and the Future of the Internet

Open House Guide User Manual

Save time. Stay on Schedule. Reduce your work. Re-use Your Code with OS Changer

Design First ITS Instructor Tool

New Era In CNC Control and Maintenance

The Quick And Easy Affiliate Setup List

SOME TYPES AND USES OF DATA MODELS

Business Practice. 1.2 Resources must meet certain FERC specified requirements in order to qualify as Designated Network Resources.

NAB AFL AUSKICK FOOTYWEB USER GUIDE

Introduction to Architecture. Introduction to Architecture 1

Meaning & Concepts of Databases

Part 1: Transferring -Embedded Actions into Evernote

Privacy Policy. Effective date: 21 May 2018

Ordering Tool. The Cisco. Ordering Tool. User Guide

Context Switch DAVID KALINSKY

FAQ: Database Development and Management

Umoja Sales-Based Least-Out

Microsoft Dynamics GP Release Integration Guide For Microsoft Retail Management System Headquarters

Week 2 / Paper 1. The Design Philosophy of the DARPA Internet Protocols

*ANSWERS * **********************************

Digital Marketing Manager, Marketing Manager, Agency Owner. Bachelors in Marketing, Advertising, Communications, or equivalent experience

11. Build your Own Data Models

Transcription:

USING DATA MODEL PATTERNS FOR RAPID APPLICATIONS DEVELOPMENT David C. Hay Essential Strategies, Inc. :+$7$5('$7$02'(/3$77(516" The book Data Model Patterns: Conventions Thought 1 presents a set standard data models describing standard business situations. These model patterns can be used in a variety businesses in a large number industries, the simple reason that all businesses are in fact structured in very similar ways. The personnel function, accounting, and order processing are similar, regardless who is doing them. For this reason, it is possible develop a generic pattern and then apply it many companies. For example, Figure 1 shows a model an. Any sales or purchase order any company must look like this. Note that instead entities cusmer or vendor, you have here. A is simply any person or organization that is interest the enterprise. Here each is playing the role cusmer or vendor. Specifically, each may be a one or more S, and each may be a one or more S. If the seller is one our own departments, the order is ( us) a. If the buyer is one our own departments, it is (also us) a. For clarity, and are shown as sub-types, although this is not strictly accurate. Note that it is possible the same (ourselves or someone else) be both the and the the same. Is that a or a? The model also shows that each must be composed one or more LINE S, where each LINE must be the purchase one and only one COMMODITY. :+$7,65$3,'$33/,&$7,216'(9(/230(17" Rapid Applications Development (known these days as RAD ) is a wish. The applications development process is composed so many steps that we want believe that some are unnecessary. If we could limit ourselves doing just the necessary ones, perhaps we could significantly cut the amount time develop systems. 1 David C. Hay, Data Model Patterns: Conventions Thought, Dorset House Publishers, New York:1996. Essential Strategies, Inc. - 1 - Data Model Patterns and RAD

To be sure, many ols have been developed recently speed up the process. In addition CASE ols strategic planning and analysis, there are ols which allow program code be produced so quickly that if the result isn t quite what was desired, it can be redone equally quickly. LINE part composed PRODUCT ACTIVITY / SERVICE COMMODITY Figure 1: A Data Model Pattern This latter development has encouraged developers think that perhaps the time spent planning and designing systems could be short-circuited and all we would have do is a series pilot developments and corrections. A system would be built by evolution, rather than design. This also has the advantage involving the user in the process in a direct and tangible way. For a relatively simple system, this approach can work. For the average industrial strength application, however, skipping analysis and design will have the effect lengthening the overall time produce a ble system rather than shortening it. After all, creating something as complex as a human being, evolution by natural selection can work if you have billions years available. Essential Strategies, Inc. - 2 - Data Model Patterns and RAD

:+$77,0(&$1%(6$9('" All right, then, what can we do shorten the time required build a system? If we cannot eliminate strategy, analysis and design, can we at least reduce the length time they require? The answer is yes at least in some kinds situations. The time required develop a set strategic data models in an organization can be saved by using standard models. It is still useful interview the main players determine priorities, objectives, and constraints, and it is also a good idea feed the models back these people ensure that they understand and agree the general concepts. But if you don t have build the models scratch. If there are no unusual circumstances, you may be able outline a strategic study in less than a month. You may even be able establish a framework the analysis project in less than a week. When doing detailed analysis, using the standard models as a starting point will save many weeks modeling eft. Using these models is also protection if a strategy study was not done. If you are addressing order processing without addressing manufacturing, example, it is comting know that the standard order processing model is basically compatible with standard manufacturing environments. As the analysis itself, the standard models are sufficient that you could begin the project with a feedback session, although a few key interviews up front are useful establishing the basic parameters the operation and its interests. These models are not inviolate. From the feedback session and the follow-up interviews, lots variations may be called. Figure 2, example, shows an elaboration on the model a particular client. Essential Strategies, Inc. - 3 - Data Model Patterns and RAD

LINE part composed CONSIGN- MENT MATERIAL HEDGE PRODUCT SLAB COIL OTHER CURRENCY HEDGE ACTIVITY / SERVICE COMMODITY Figure 2: Client s Model Essential Strategies, Inc. - 4 - Data Model Patterns and RAD

Note that the basic structure survived, but with several twists. This is an aluminum manufacturer, so PRODUCT S are either SLABS raw aluminum, COILS finished aluminum, or OTHER materials used in the plant. This is an international client, so it is also true that each must be in terms one and only one CURRENCY. Moreover,h it turns out that this company hedges currency, since the product may be delivered and paid many months in the future. A kind then, may be a CURRENCY HEDGE which is the purchase, not a COMMODITY, but a CURRENCY at a future date. Thus a CURRENCY HEDGE () may be in terms Bahraini Dinars, the purchase Japanese Yen in four months. Similarly, a MATERIAL HEDGE may be added, which is the purchase raw materials at a guaranteed price at some point in the future. A more esoteric variation is a LETTER OF CREDIT or some other kind bank guarantee. (See Figure 3.) While this is an exotic extension, even this has the same structure as the sales order whose payment is being guaranteed. Indeed one the application constraints is that (since each LETTER OF CREDIT must be guarantee one and only one ) the terms and attributes the LETTER OF CREDIT must be identical those the. Note that, by starting with a standard model, the discussion immediately focuses on that which is unique the organization. It is not necessary reinvent the models scratch. Moreover, even when dealing with ostensibly new things, it is ten possible take standard structures and extend them cover them. If standard data models are possible, what about standard models the other kinds things that concern a system developer: functions, locations, people, events, and motivation? The time required produce a function model can also be reduced, if you recognize that the structure many functions reflects the structure the data. The data maintenance functions, implemented by data entry and retrieval modules, reflect the structure the data base. Standardization data structures can, a large extent, have the effect standardizing these functions. For example, in Figure 4, you could expect there be the functions Enter sales order and Define product type. Other functions involve more complex activities the business, and these must be defined specifically. Essential Strategies, Inc. - 5 - Data Model Patterns and RAD

LETTER OF CREDIT guaranteed by guarantee LINE part composed CONSIGN- MENT MATERIAL HEDGE CURRENCY HEDGE EXCHANGE RATE in term s funds converted converted CURRENCY PRODUCT SLAB COIL OTHER ACTIVITY / SERVICE COMMODITY Figure 3: Letter Credit Essential Strategies, Inc. - 6 - Data Model Patterns and RAD

LINE part composed EXCHANGE RATE in terms funds converted converted CURRENCY PRODUCT ACTIVITY / SERVICE COMMODITY Figure 4: Functions Against the Data Model The modeling techniques currently available describing locations and organization structure are relatively primative. Such as they are (organization charts and network diagrams), they can usually be done quickly. It is not clear whether there are standard patterns event models. Essential Strategies, Inc. - 7 - Data Model Patterns and RAD

Constraints, reflecting business rules, will have be implemented by modules attached the database or the data entry structures. It remains be seen whether there exist anything like constraint patterns. Some data model structures imply constraints: must be one..., may be no more than one..., must be either one... or one... Models which have multiple paths between two entities imply the need business rules be expressed, in order keep the two paths consistent, but there is nothing in the model say what those rules would be. In many cases, however, the rules are very specific the business situation. In Figure 5, the rule on PRODUCT STRUCTURE ELEMENT is that no loops are permitted. This is a standard rule that may be invoked whenever there is a structure type entity. On the other hand, the rule that a CURRENCY HEDGE may only be compose LINE S currencies is probably specific this business, since CURRENCY HEDGE was invented specifically this business. There is nothing in the nature data model patterns themselves that can make dealing with and implementing constraints any easier. But there is nothing else in RAD do so either. PRODUCT STRUCTURE ELEMENT LINE part composed the use the use in part composed PRODUCT ACTIVITY / SERVICE COMMODITY Figure 5: No Patterns in Business Rules Essential Strategies, Inc. - 8 - Data Model Patterns and RAD

$3352$&+ If no more time is available, it is possible condense the strategy study publication a statement objectives and direction. During analysis, patterns are a very effective way develop an initial model the kind organization you are trying analyze, so that you can get a feedback session immediately. Then the bulk the analyst s time can be devoted solely dealing with the things that are unique this organization. 1(7())(&7 Every project is different, and it is impossible say definitively how much time can be saved by using patterns, but based on the author s experience, it is not unreasonable expect that strategy studies, the modeling which could take three four months, could be done in a month or less. Similarly, requirements analysis projects, which would otherwise be the magnitude four six months could be reduced one two months. The time design is not shortened by the use patterns, although CASE ols are effective at quickly translating models designs. In fact, after the initial protype, design could be lengthened as designers make decisions convert generic entities more concrete tables. (The order entity, example, becomes separate S and S tables.) So, if you want develop systems rapidly, don t leave important steps out. Just do them faster. RAD at the expense thoughtful design is a bad bargain. Essential Strategies, Inc. - 9 - Data Model Patterns and RAD