Component Object Architecture (COA) --- Model Development Life Cycle (MDLC) Process Dissertation

Submitted in partial fulfillment

Of the requirements for the Degree

Of

 

Doctor of Philosophy, Computer Science

At

Central Pacific University

Honolulu, Hawaii

By

Richard F. Kubli

 

Submitted to:

Anthony S. Russo, Ph.D, CS

Lead Computer Sciences Faculty Advisor

 

 

Central Pacific University

TABLE OF CONTENTS

ABSTRACT 5

DEDICATION 7

ACKNOWLEDGEMENT 8

VITA 9

LIST OF FIGURES 12

CHAPTERS 14

Chapter 1 --- Introduction 15

Hypothesis 15

Method of Proof 16

Study Design 17

Joint Application Development (JAD) Implications 18

Chapter 2 ---- System Development Life Cycle (SDLC) 19

Application Development Evolution --- Lessons Learned 21

Management and Control of the SDLC 23

The Elusive "Silver Bullet" 25

Component Object Models 26

Chapter 3 --- Visual Integrated Development Environments (VIDE) 29

Visual Component Object Oriented Rapid Application Development (VCOORAD) Tools 30

Component Object Libraries 31

Component Object Tailoring and Modeling 33

Component Object Independence 35

 

 

 

 

Chapter 4 --- Unified Modeling Language (UML) 37

Background 37

Obvious Problems --- Need for Standards 39

Universal Acceptance of UML 40

Object Oriented Development (OOD) Base 41

An Overview of Unified Modeling Language (UML) 42

Views 43

Diagrams 46

Model Elements 54

General Mechanisms 56

Extending UML 58

Modeling Applications with UML 61

Modeling Tools 64

Model Repository 67

Code Generation 69

Integration with Development Tools 71

Modeling Component Objects 73

Logical Architecture Model (LAM) 76

Physical Architecture Model (PAM) 78

Transition of LAM to PAM (Prototype) 80

Chapter 5 --- Model Development Life Cycle (MDLC) Process 81

Overview of the MDLC Process 81

Data Model Driven Architecture (DMDA) 84

 

 

 

 

Chapter 6 ---- Case Example 88

Case Overview 89

Data (Table) Component Container 91

Form Component Container 92

Query Component Container 94

Report Component Container 96

Major Beneficial Characteristics of Component Objects 98

 

Chapter 7 --- The Future 100

User/Developer Distinction 101

Logical/Physical Model Distinction 102

Component Object(s) Deployment, Distribution, and Scalability 103

Functional Richness/Component Richness 104

Component Assemblies 105

 

APPENDICIES 106

Acronyms 107

Glossary 111

BIBLIOGRAPHY 117

 

 

 

 

 

 

ABSTRACT

Component Object Architecture (COA) --- Model Development Life Cycle (MDLC) Process

By Richard F. Kubli, B.S., MBA

 

Application Architectures developed in the New Millennium rely on Visual Component Object Oriented Rapid Application Development (VCOORAD) Tools. The Object Oriented (OO) Paradigm has replaced the traditional Procedure Oriented (PO) Paradigm for the Programming/Coding or more aptly named Construction/Assembly Phase of the Systems Development Life Cycle (SDLC).

Visual Integrated Development Environments (VIDE) utilizing core OO Development Languages of Java, C++, Visual Basic (VB), and other VCOORAD Development Tools provide Libraries of Predefined Component Objects that can be tailored and assembled to construct just about any Application System that is required. Prototypes utilizing VIDE combined with VCOORAD can be assembled from Component Objects to provide a "Rapid Prototype" of the Application System.

The Problem that develops with this Scenario is that VCOORAD utilizing a Component Object Architecture (COA) Assembly Approach is used primarily at the "Back-End" of the SDLC, but ignores the "Front-End" Phases of the SDLC. As such, there is a disconnect or lack of consistency in utilizing COA throughout the SDLC.

No wonder these Physical Architecture Models (PAMs) or Prototypes do not accurately model Business Processes or scale properly to the Enterprise they target. Past experience has shown that the SDLC has always relied on Modeling Tools to produce Logical Architectural Models (LAMs), rather than utilizing Development Tools to produce PAMs from very beginning of the SDLC.

Unified Modeling Language (UML) is no exception to this past Practice. Even though UML applies standardization, consistency, and Object Oriented Technology (OOT) to modeling the SDLC, it still suffers from the inability to properly transition to the PAM of the Application System.

Computer Application System Engineering (CASE) and Modeling Tools have always lagged behind VCOORAD Tools. They also focus primarily on a "Top-Down" LAM Approach, rather than a "Bottom-Up" COA PAM Approach.

Thus the Hypothesis of this Dissertation will adapt the SDLC to utilize VCOORAD combined with COA throughout all Phases of the SDLC in a consistent manner. This Process will be called the Model Development Life Cycle (MDLC) Process. The MDLC Process will focus on transitioning a PAM or Prototype throughout the Phases of the SDLC utilizing a COA VCOORAD Driven Approach. The MDLC Process will transition through the SDLC on a "On Demand" Basis at any level within the COA.

 

 

 

DEDICATION

 

To my wife,

Sandra Lee Kubli,

for her support and perseverance.

 

To my parents,

Ken and Marion Kubli,

for all their faith in me.

 

To my wife's parents,

Maurice and Francis Walley,

for giving me Sandy.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AKNOWLEDGEMENT

 

 

I greatly appreciated the guidance, encouragement, and immediate feedback at all times of my Faculty Advisor, Dr. Anthony S. Russo, Ph.D, CS. Tony's help was instrumental in bringing out the best of me to produce this Dissertation.

As always a special thanks to my Parents for all their unwavering support and love throughout the years. I always told them that I had some unfinished Business after spending my first seven years in College without achieving my Ph.D. In retrospect, I am glad I waited forty years, because it means a lot more at this juncture of my life.

Lastly, to my wife of 36 years --- Thanks for putting-up with me, but you know I will never change. We have come along way since our beginning at 48 West Cleveland Drive, Buffalo, NY.

 

 

 

 

 

 

 

 

 

VITA

 

Richard F. Kubli

1376 N Spend A Buck Drive

Hernando, FL 34442

352-344-8076

www.rfka.com (24.129.184.120)

rfka@yahoo.com

 

 

Summary

Education

 

 

 

 

 

 

Affiliations

IT Experience

 

 

 

 

 

IT Teaching Experience

Mr. Kubli has taught IT courses at Bentley College, Fisher Junior College, Kennedy-Western University, Northeastern University, and various IT training organizations. He is an adjunct professor at Bentley College and Kennedy-Western University. He has designed, developed, at taught the following IT courses.

 

 

 

 

 

 

 

 

 

 

 

LIST OF FIGURES

 

 

Figure 2.1 --- The Circular SDLC 19

Figure 2.2 --- The Recurring SDLC 21

Figure 2.3 --- Application Development Trends 21

Figure 2.4 --- SDLC Directed Prototype 23

Figure 2.5 --- Component Prototype Model 26

Figure 3.1 --- Visual Basic (VB) 6.0 29

Figure 3.2 --- Predefined Component Objects 31

Figure 3.3 --- Design of a Command Button using VB 33

Figure 3.4 --- Implementation of a Command Button using VB 34

Figure 3.5 --- Design of a Command Button using Microsoft (MS) Access 35

Figure 4.1 --- Standard UML Views 43

Figure 4.2 --- Use-Case Diagram for an Insurance Business 46

Figure 4.3 --- Class Diagram for Financial Trading 47

Figure 4.4 --- Object Diagram/Class Diagram Comparison 48

Figure 4.5 --- State Diagram 48

Figure 4.6 --- Sequence Diagram 49

Figure 4.7 --- Collaboration Diagram 50

Figure 4.8 --- Activity Diagram 51

Figure 4.9 --- Component Diagram 52

Figure 4.10 --- Deployment Diagram 53

Figure 4.11 --- Common Model Elements 54

Figure 4.12 --- Relationship Model Elements 55

Figure 4.13 --- Adornments 56

Figure 4.14 --- Note containing a Comment 56

Figure 4.15 --- Modeling Tool that shows Properties for the Class Portfolio 57

Figure 4.16 --- Stereotype Extends UML 58

Figure 4.17 --- Properties/Tagged Values 59

Figure 4.18 --- Constraints 59

Figure 4.19 --- Application Model(s) 61

Figure 4.20 --- MDLC Process for Logical Architecture Model (LAM) 62

Figure 4.21 --- Modeling Tool (Rational Rose) 64

Figure 4.22 --- Enterprise Modeler Trainer 66

Figure 4.23 --- Model Repository 67

Figure 4.24 --- Modeling Tool --- Code Generation 69

Figure 4.25 --- Modeling Tools versus Development Tools 71

Figure 4.26 --- Microsoft (MS) Windows Component Object Hierarchy 73

Figure 4.27 --- Example of MS Access Application 75

Figure 4.28 --- The Enhanced SDLC 76

Figure 4.29 --- Prototype or PAM 77

Figure 4.30 --- Design of a PAM 78

Figure 5.1 --- MDLC Process for a PAM 81

Figure 5.2 --- Data Model versus Input Process Output (IPO) Architecture 84

Figure 6.1 --- PAM Case Example 88

Figure 6.2 --- Component Object Architecture (COA) PAM 89

Figure 6.3 --- COA PAM BIB Table Structure 91

Figure 6.4 --- COA PAM BIB Form Design 92

Figure 6.5 --- COA PAM BIB Form Implementation 93

Figure 6.6 --- COA PAM BIB Query Design 94

Figure 6.7 --- COA PAM BIB Query Implementation 95

Figure 6.8 --- COA PAM BIB Report Design 96

Figure 6.9 --- COA PAM BIB Report Implementation 97

CHAPTERS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Chapter 1 --- Introduction

 

 

Hypothesis

 

The Hypothesis of this Dissertation is that Visual Component Object Oriented Rapid Application Development (VCOORAD) Tools combined with Component Object Architecture (COA) have dramatically improved our capability to build and maintain Application Systems [Applemann]. However, the Information Technology (IT) Community has been slow to incorporate VCOORAD along with COA into the traditional Systems Development Life Cycle (SDLC) [Harris]. As such, too much effort is expended on the Logical Architectural Model (LAM) of the Application System as opposed to moving directly to the Physical Architectural Model (PAM) or Prototype [Kemerer].

VCOORAD provides for the construction/assembly of pre-defined, tested, and verified Component Objects that have already transitioned the Phases of the SDLC [Martin5]. The Re-Use Benefit afforded by Object Oriented Technology (OOT) is best realized by assembling Physical Components as opposed to Logical Components [RFK13].

 

 

 

 

 

Method of Proof

 

To prove the Hypothesis we take the following journey.

 

 

 

 

 

 

 

 

 

 

 

Study Design

 

The empirical data to support this Hypothesis is based on the following.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Joint Application Development (JAD) Implications

 

Another factor supporting the Hypothesis is that the Distinction between Developer and User is becoming less clear. Advances in IT have led to Joint Application Development (JAD) Approaches where Users actively participate in all Phases of the Traditional SDLC [O'Brien].

JAD is a progressive Trend fueled by VCOORAD Tools that provide a Common Forum for Project Teams of Developers and Users to build PAMs or Prototypes of the Application System. The Requirements, Analysis, and Design Phases become automatically verified when JAD is built into the Application Systems Development Process. When Users actively participate in the assembly, tailoring, testing, and verification of predefined Component Objects, chances are good that the ensuing PAM satisfies their Requirements.

No longer do we need to transition through the Phases of SDLC encumbered with voluminous documentation Deliverables that logically attempt to verify that each Phase has been completed satisfactorily. A much better approach is have Users and Developers work together to develop a PAM or Prototype of the Application System that can be tailored, tested, verified, and if necessary re-transitioned through the SDLC.

 

 

 

 

Chapter 2 --- System Development Life Cycle (SDLC)

 

Figure 2.1 --- The Circular SDLC

 

The Traditional System Development Life Cycle (SDLC) includes five Major Phases [Wetherbe][Shelly-Cashman][Kroenke1][Martin 7][Orr1][Orr2][Tudor].

The Traditional SDLC has existed since the early days of designing, developing, and installing Host/Centered (H/C) Application Systems (i.e. UNIVAC I in 1951) [Ralston]. Major Advances in Application Development Tools have occurred since 1951, yet the same Phases of the SDLC still persist.

The five Phases are performed in order starting with the Analysis Phase. Before beginning with next Phase, a Deliverable verifying the successful completion of the prior Phase is required. The Deliverable for the in most cases (i.e. Analysis through Development Phases) were in the form of a LAM. Many times these Logical Representations of a particular Phase did not clearly represent the Phase.

This approach for verification of a particular Phase of the SDLC through a "Documentation Representation/Review Process" has been called the "Waterfall Approach". The entire Application System is transitioned through the five Phases of the SDLC until we reach the last downstream Phase (i.e. Maintenance and Review). If we want to modify the PAM we must repeat the entire Process by porting "upstream" to the original starting point (i.e. Figure 2.1 --- Start Here).

 

Figure 2.2 --- The Recurring SDLC

 

This Recurring SDLC was the only option for filtering Maintenance Modifications through the SDLC. All the Phases had be performed and the "Documentation Deliverables" supporting each Phase had to be updated. More time was spent on Documentation than on implementing the Change.

 

Application Development Evolution --- Lessons Learned

 

 

Figure 2.3 --- Application Development Trends

 

The SDLC Process depends heavily on advances in Application Development Technology. Significant Advances in Application Systems Development include the following.

The real breakthrough has been the consolidation of these advances into a single Visual Component Object Oriented Rapid Application Development (VCOORAD) Environment. VCOORAD allows the SDLC to operate on a Modular or Component Basis. We can now transition through the Phases of the SDLC on a Component Basis as opposed to an Entire Application System Basis,

Moreover, VCOORAD coupled with Joint Application Development (JAD) allows the Front-End Phases of the SDLC (i.e. Analysis, Design, and Development) to collaborate with the "Back-End Phases (i.e. Implementation and Maintenance) on interactive basis. For example a pre-defined Component can be modified, enhanced, and tested in the Integrated Development Environment (IDE) provided by the VCOORAD Tool.

Management and Control of the SDLC

 

Figure 2.4 --- SDLC Directed Prototype

 

Management and Control of the SDLC is altered dramatically by VCOORAD. Voluminous Documentation required to support a myriad of LAMs can now be supported by a Component Based PAM. Users and Developers will actively participate collaboratively in this new use of the SDLC.

Likewise the Project Management Process of the Application Development Project will be modified accordingly. This is a positive change that will focus on the Prototype as the "Work-in-Progress" Product that can be designed, developed, and tested at the Component Object Level. Users as well as Developers will be responsible for design, development, and testing Phases.

 

 

 

No longer will the SDLC focus on Documentation to manage and control the Application System Development Project, but shift the focus for management and control to the Prototype. The Prototype will not only lift the "Documentation Burden" but provide a "Work-in Progress" PAM that can provide Training and generate real-time Documentation.

Applying the SDLC directed Prototype to the Management and Control Process truly empowers the People Resource of the Information System (I/S). I managed a large Project to develop, design, and implement a Statewide Financial System for the State of Connecticut in late 1970s [RFK25]. I remember the Project Team's frustration with the enormous amount of time spent on the Management and Control Process at the expense of the Application Development Process. I spent the majority of my time managing the Documentation and chairing Meetings to explain and justify LAMs of the proposed Financial System. Unfortunately, I did not have the VCOORAD Tools to demonstrate a PAM or 'Work-in Process" Prototype of the Financial System. The SDLC directed Prototype would have provided a PAM to State Officials, Legislators, and Other Consultants that would have allowed the Project Team to focus primarily on the End Product (i.e. The State Financial System).

 

 

 

 

 

The Elusive "Silver Bullet"

 

Over the years numerous Application Development Technologies were thought to provide the Panacea for improving the SDLC Process. In the 1970's Database was the "Silver Bullet". My experience is that there is no "Silver Bullet", but a series of evolutionary breakthroughs that when consolidated will have potential to improve dramatically the SDLC Process [Yourdan1][Page-Jones1][Davis2].

VCOORAD is one of those breakthroughs if applied appropriately to the SDLC can improve dramatically the SDLC Process. But the appropriate application often requires a change in perspective. The change in perspective afforded by VCOORAD is a migration from the LAM to the PAM. Re-directing our focus from a LAM to a PAM perspective will enhance, shorten, and improve the accuracy of the SDLC.

 

 

 

 

 

 

 

 

 

 

 

Component Object Models

 

Figure 2.5 --- Component Prototype Model

 

Component Object Models are Physical Models which produce "Working" Prototypes. Each Component described in Figure 2.5 is a PAM that can be transitioned interactively through all Phases of the Traditional SDLC via the VCOORAD Environment. Component Objects can be transitioned through the SDLC at the Component or Component Container Level (i.e. Form Container Component Object which contains a Command Button Component Object).

Component Objects can be transitioned independently through all Phases of the SDLC and/or transitioned as part of Component Object Container. For example, I developed a Visual Basic (VB) Application with some 250 Form Component Object Containers. Each Form had an "OK" Command Button Component Object. My objective was to ensure that the "OK" Command Button Component Object was designed, developed, and implemented consistently throughout the Application System [RFK22] [Masters][Petroutsos-Hough][RFK8][RFK9][Jamsa-Klander].

VCOORAD provided an Environment to transition the "OK" Command Button Component Object through all the Phases of the SDLC. Once the JAD Team was satisfied with the Prototype of the Command Button Component Object, the Component was added to each Form Component Object Container (i.e. In this example 250 times) [Ernst][RFK15].

As such, VCOORAD provides significant advantages over older Development Environments.

As such, VCOORAD does not change the SDLC, but enhances our ability to transition through the SDLC in a timely, accurate, scalable, and collaborative manner.

 

 

 

 

 

 

 

 

 

 

Chapter 3 --- Visual Integrated Development Environment (VIDE)

 

 

Figure 3.1 --- Visual Basic (VB) 6.0

 

A number of Visual Integrated Development Environments (VIDE) are available. In the Windows/Intel (WIN/TEL) World, Microsoft's Visual Studio Integrated Development Environment (IDE) has led the way [RFK8].

Figure 3.1 provides an example of VB 6.0 which is a member of the Visual Studio IDE.

Visual Component Object Oriented Rapid Application Development (VCOORAD) Tools

 

Visual Basic is an example of a VCOORAD Tool that allows transition through the Phases of the SDLC at the Component Object Level. VCOORAD Tools as depicted by the Visual Basic example include the following common elements.

Component Object Libraries

 

 

 

Figure 3.2 --- Predefined Component Objects

 

VCOORAD Tools provide a robust range of Component Objects that can be added to the Tool Box. VB 6.0, for example, contains over 50 standard predefined, tested, and executable Component Objects [MS1].

 

 

This number increases exponentially with each new release of VB. Over 3,000 Developers develop Component Objects that can be used in a number of VCOORAD Tools beside Visual Basic. Some VCOORAD Tools, including Visual Basic, allow you to develop your own new Component Objects.

A few years ago, one of my Clients who developed and marketed a Clinical Workstation System to Healthcare Providers, inquired on adding a Patient Scheduling Function to their System. Their first reaction was to purchase an established Patient Scheduling Package and integrate it into the Clinical Workstation System. My advice was to find a Component Object for Scheduling. I suggested this for the following reasons [RFK1].

A much better approach would be to use VCOORAD to extend the Clinical Workstation System through the addition of Component Objects.

 

Component Object Tailoring and Modeling

 

 

 

Figure 3.3 --- Design of a Command Button using VB

 

Figure 3.3 illustrates the tailoring of a predefined Command Button Component Object using VB. Note the Command Button in Work Area with the Caption Property = "OK". The Font Dialog Window is shown to demonstrate how the Font of the Caption was changed to T Arial, 12 pt, and Bold. The Font Dialog is the same Component Object that is used in other Microsoft (MS) Development Products (i.e. MS Access).

 

Figure 3.4 --- Implementation of a Command Button using VB

 

Figure 3.4 describes the implementation of the Command Button designed in Figure 3.3. Note this example describes how a Component Object (i.e. Command Button) is tailored and modeled as it is transitioned through the Phases of the SDLC.

The SDLC can be repeated or recycled for the Command Button until everyone on the JAD Team is satisfied. Each time a PAM of the Component is produced that can be further analyzed, designed, developed, implemented, and maintained.

Component Object Independence

 

 

 

Figure 3.5 --- Design of a Command Button using MS Access

 

Figure 3.5 describes the Design of a Command Button Component Object using MS Access as the VCOORAD Tool rather than VB that was used in Figure 3.3. Note the similarities in the Component Objects that comprise the VCOORAD Tool (i.e. Tool Box, Form Work Area, Property Box, etc.).

Note also the similarity in the Command Button Component Object. The predefined Component Objects that can be tailored, assembled, and prototyped are shared across the various VCOORAD Tools [Simpson-Robinson].

Thus Component Objects are transparent across VCOORAD Tools as well as Application Systems constructed/assembled from these Component Objects. This the epitome of "Open Systems" Application Development. I am writing this dissertation on my Server (i.e. NT 4.0) in a 2-Tier Client Server (C/S) Architecture Environment. I can even migrate my dissertation to my Client (i.e. Laptop -- WIN 98) and continue my work with out making any adjustments [RFK4][OHE].

As such, Component Objects not only traverse Application System boundaries but also Computer System Architectures. Moreover, Distributive Common Object Model (DCOM) and Common Object Request Broker Architecture (CORBA) are Distributive Component Object Architecture Technologies that distribute Component Objects across the Enterprise [RFK3][Appleman][Dickinson].

Thus Component Objects are independent of the Application System, Computer Systems Architecture, and Location.

 

 

 

 

 

 

 

Chapter 4 --- Unified Modeling Language (UML)

 

Object Oriented (OO) Programming began to take hold in the late 1980s with the advent of C++ and Smalltalk, but there was no Object Oriented Development (OOD) Methods to manage, control, and verify the development of these new OO Applications [RFK15][RFK20][Eriksson-Penker].

 

Background

 

UML is a Modeling Language that consolidates the efforts of three early Pioneers who applied OOD Methods to the Systems Development Life Cycle (SDLC). Grady Booch, James Rumbaugh, and Ivar Jacobson otherwise known as the "Three Amigos" had worked independently in the early 1990s, each on their own OOD Methods.

Grady Booch developed the Booch Method which described an Application as a "Number of Views". Each View was described in further detail by numerous "Model Diagrams". Each Diagram included numerous notations and symbols that were not very familiar or intuitive. They were also hard to draw. On the plus side, however, the Booch Method was hierarchical, iterative, and subject to "Top-Down" Decomposition [Martin6][Swann][McGowan-Kelly][RFK12].

 

 

James Rumbaugh, while at General Electric, developed the Object Modeling Technique (OMT) in 1991. OMT is based on a number of individual Models: The Object Model; The Dynamic Model; The Functional Model; and The Use-Case Model. Each of the Models work in consort to provide a complete description of the process of transforming a Requirements Specification to a Logical System Design Model.

Ivar Jacobson developed the Object Oriented System Engineering (OOSE)/Objectory Method in 1994. The OOSE/Objectory Methods focus on developing a Use-Case Model to define the Requirements Definition of an Application as viewed by an "External Actor". The Use-Case Model is then implemented throughout each Phase of the SDLC. The Objectory Method was adapted to model Business Processes and is used extensively in Business Process Re-engineering (BPR).

Two other OOD Methods were developed in the early 1990s to compliment the work of the "Three Amigos". The Fusion Method developed at Hewlett-Packard in 1994 enhanced many of their ideas, particularly interactions between Objects. Again the Fusion Method contained numerous Model Diagrams with unique notations and symbols. The second OOD Method is the Coad/Yourdan or Object Oriented Analysis (OOA)/OOD Method. This was one of the first OOD Methods and although easy to learn and use, it did not scale very well to handle complex Applications. The OOA/OOD Method is still valuable for introducing Novices to Object Oriented Technology (OOT) [Yourdan2].

Obvious Problems --- Need for Standards

 

Although the Work performed by these early Pioneers provided a Foundation for an OOD Methodology, the Foundation was based on a myriad of Views, Models, Diagrams, Notations, Symbols, Processes, and Model Development Tools. All these Components of each OOD Method had their own strengths and weaknesses. The Method Gurus finally realized that "consensus must be reached" or all their great Work would be lost. In 1994 Grady Booch and James Rumbaugh, while both working at Rational Software Corporation, started work on UML. Their goal was to create a new OOD Method that would unite the Booch and OMT Methods. Shortly thereafter in 1995, Ivar Jacobson joined them at Rational Software Corporation. At the same time Rational Software Corporation bought Objective Systems, a Swedish Company that distributed Objectory.

As such by 1995, the mechanism was established to consolidate the early Work and develop a Standard OOD Methodology called UML. Version 1.0 of UML was released in January 1997. UML has four major goals.

Universal Acceptance of UML

 

To achieve Universal Acceptance and Global usage, Rational Rose Corporation took the following steps.

 

 

 

 

 

 

 

 

 

 

 

 

Object Oriented Development (OOD) Base

 

UML is an Object Oriented Modeling (OOM) Language. As such, all the Components of UML are based on the OO Paradigm. Features of OOD incorporated into UML include:

 

 

 

 

 

 

An Overview of Unified Modeling Language (UML)

 

UML has a wide scope of applicability. Because UML is based on the OO Paradigm, it can model Business Processes, Software Applications, and other Object Domains. UML can also model all Phases of the SDLC.

UML includes the following major Components.

Views

 

Figure 4.1 --- Standard UML Views

 

An Object must be defined from a number of different aspects. UML provides 5 Standard Views.

The Use-Case View lays the foundation for the other 4 Views. It drives the development of the other Views. The Use-Case View is provided to Customers, Designers, Developers, and Testers to validate, verify, and reach a consensus of the "Usage of the System".

Whereas the Use-Case View describes "What Functions the Application provides?", the Logical View describes "How the Functions of the Application are provided?". As such, the Logical View is provided for Designers and Developers. The Logical View describes the Application's Static Structure (i.e. Classes, Objects, and their Associations). The Application's Dynamic Structure is also described in terms of the Message Interaction and Collaboration between Objects.

The Component View describes the hierarchy of the Implementation Modules (i.e. Classes/Objects). The Component View is provided for Developers to provide guidance for the Construction or Assembly Phase.

The Concurrency View deals with configuring the Application into discrete processes. The purpose of Concurrency View is to ensure efficient use of System Resources, handling of Asynchronous Communication Events, and Load Balancing of Application Processes. The Concurrency View is used by Developers and Integrators.

The Deployment View describes the Physical Deployment and Architecture of the Application. Specific Hardware, Software, Network, and People I/S Resources are described. The Deployment View is used by Developers, Integrators, and Testers. The Deployment View also describes how the Components defined in the Component View are deployed.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Diagrams

 

Diagrams provide the actual "Content" or schematic that use common Model Element Symbols to describe the View. Nine Standard Diagram Types are used in UML. Some Diagram Types are used in several Views. A View may contain many Diagram Types.

Figure 4.2 -- Use-Case Diagram for an Insurance Business

 

Figure 4.2 describes the Use-Case for an Insurance Business. Note two Principal Actors are described (i.e. Customer and Insurance Salesperson). The Functionality of the Application is described from the Viewpoint of the Actors. The View describes What Functionality is provided, but does not describe How it is to be provided.

 

Figure 4.3 --- Class Diagram for Financial Trading

 

The Class Diagram shows the Static Structure of the Classes in the Application. It describes the relationships or Class Associations. For example in above example the Customer Class owns the Portfolio Class. The Trader Class Handles the Portfolio Class. The Portfolio Class contains the Instrument Class which in turn contains the Bond, Stock, and Stock Option Classes. Numerous Class Diagrams support the Logical View which describes how the Functional Requirements of the Use-Case View are provided.

The Logical View consists of a number of Class Diagrams. Class Diagrams are hierarchical in nature and can be decomposed in a "Top-Down" Manner. A Class can participate in more than one Class Diagram.

Figure 4.4 --- Object Diagram/Class Diagram Comparison

 

The Object Diagram describes the Object Instances of the Classes. As such, the Object Diagram further decomposes the Class Diagram and provides more information regarding the Object's Execution.

Figure 4.5 --- State Diagram

The State Diagram complements the Class/Object Diagrams. The State Diagram describes the Object's various States and the corresponding Events that cause the State to change. A "Change of State" is referred to as a Transition. An Action that results from a Transition may also be shown in the State Diagram. The State Diagram is used to enhance the Logical View.

 

Figure 4.6 --- Sequence Diagram

 

The Sequence Diagram describes the sequence of "Messages" sent between Objects. The Object Boundaries (Domains) are described by the vertical dotted lines. The Messages are described by the solid horizontal lines with the directional arrow-head. The Sequence Diagram adds to the Logical View by describing the "Execution Flow" and interaction of the Application's Objects.

 

 

Figure 4.7 --- Collaboration Diagram

 

The Collaboration Diagram concentrates on showing the relationships, associations, and interaction between Objects. Message Arrows show the flow and direction of Messages between the Objects. Unlike the Sequence Diagram which emphasizes timing of the Object Interaction, the Collaboration Diagram emphasizes the "Message Interaction" between Objects or the Content.

Conditions, Iterations, and Return Values are also shown, so a Developer can follow various "Execution Flows" --- "Event-Object-Action" Collaboration of the Logical View.

Figure 4.8 --- Activity Diagram

 

The Activity Diagram describes the "Sequential Flow" of Activities. The Activity Diagram contains "Action States". Action States transition from one Action State to another when an Activity is performed (i.e. An Action is Taken). Actions are caused by either explicit (i.e. User) or implicit (i.e. System) Events. Control Flows specifying Conditions and Decisions describe the interaction of Activities. Activity Diagrams are used primarily to describe the Logical View.

 

 

 

 

 

Figure 4.9 --- Component Diagram

 

The Component Diagram describes the "Physical Structure" of the Code Components. The Component Diagram provides the "Bridge" between the Use-Case View and the Logical and Component Views (i.e. The What? to the How?). As such the Requirements Phase of the SDLC is viewed from both the What? and How? Perspective.

Dependencies between Components are described to provide direction to the Programming, Construction, and Assembly Phases of the SDLC. Components describe Interfaces they expose. Packages or Containers that group common Components are also described.

 

Figure 4.10 --- Deployment Diagram

 

The Deployment Diagram describes the "Physical Architecture" of the Application. The Hardware, Software, Network, and People Resources of the Information System (I/S) are delineated. Component Objects are distributed across the Physical Architecture to describe their Dependencies and Relationships.

The Deployment Diagram provides the Content for the Deployment View. A well defined Model will allow for the Navigation at the Component Level between the various Views of the Model. For example a Component in the Deployment View should be capable of being traced back to it's corresponding Component (Class) in the Use-Case View.

 

 

 

 

 

Model Elements

 

Figure 4.11 --- Common Model Elements

 

A common set of Model Elements provide "Content" to each of the 9 UML Diagram Types. A Model Element can be used in one or more Diagrams. However, there are rules governing which Model Elements that can be used in which Diagrams.

 

 

 

 

 

 

Figure 4.12 --- Relationship Model Elements

 

Four major Model Relationships are provided among Model Elements.

 

 

 

 

 

 

 

 

General Mechanisms

 

UML uses General Mechanisms to cover Contents of Views that can be described completely by Model Elements.

 

 

Figure 4.13 --- Adornments

 

Graphical Adornments add Semantics to the Standard Model Elements. For example Figure 4.13 use boldface and underlining to distinguish between a Class and an Object.

 

Figure 4.14 --- Note containing a Comment

 

Notes can be placed anywhere in a Model Diagram and contain any type of Information.

 

Figure 4.15 --- Modeling Tool that shows Properties for the Class Portfolio

 

Each Model Element has a Specification or set of Properties. Properties are not displayed in the Model Diagram, but can be listed, tailored, and extended for each Model Element.

Each Property has an associated Name and Tagged Value. A number of Predefined Properties such as Documentation, Responsibility, Persistence, and Concurrency are built into the Modeling Tool.

 

 

 

 

 

 

 

 

Extending UML

 

UML can be extended to Model any type of Object. Three major Extension Mechanisms are provided.

Figure 4.16 --- Stereotype Extends UML

 

The Stereotype Extension Mechanism defines a new Model Element based on an existing Model Element. For example Figure 4.16 extends the Customer Class by adding the Stereotype <<Actor>> which identifies Customer as an external User.

Stereotypes are based on all Model Element Types, as well as Relationship Element Types. A number of Stereotypes are predefined in UML. This allows the tailoring of the basic UML Model Elements, without the need to define new Model Elements.

The syntax for using a Stereotype is <<StereotypeName>>. As such a Class with a Stereotype <<Windows>> would denote that the particular Class is a Window Type of Class and therefore inherits Properties from the Windows Super-Class. The Properties of the Window Class are defined when the Stereotype Component Object is defined.

 

Figure 4.17 --- Properties/Tagged Values

 

Another UML Extension Mechanism results from the inherent OO Language Features incorporated in UML. The Model Elements themselves are Component Objects (i.e. Like the Predefined Stereotypes) that have Properties and Methods that can be used to extend or tailor a specific Model Element.

These Properties are called Tagged Values. A number of these Properties are predefined and thus shared among the Model Elements.

For example in Figure 4.17, Abstract is a predefined Property of the Class Instrument which includes User-Defined Tagged Values Author and Status.

 

Figure 4.18 --- Constraints

 

The Constraint Extension Mechanism limits the scope and usage of the Model Element. The Constraint is again a re-usable Component Object that can be repeatedly used in several UML Diagrams.

For example, Figure 4.18 associates the Person and Senior Citizen Group Classes. The Constraint associates only Persons who are older than 60 to the Senior Citizen Group. The Constraint can be given a name and used throughout the UML Model.

As such, all three UML Extension Mechanisms use OO Technology to re-use common UML Component Objects to extend, tailor, and adapt the UML Standard to Model a variety of Applications, Processes, and other Objects.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Modeling Applications with UML

 

Figure 4.19 --- Application Model(s)

 

UML is not used to build a single Application System Model, but is used to build multiple Application System Models for the various Phases of the SDLC. UML is SDLC Phase Independent. As such, UML is a Modeling Tool that produces Models of all Phases of the SDLC --- It does not dictate nor modify the Phases included in the SDLC.

Modeling with UML requires a method or process be initiated that is practical, utilizes the Modeling Tool effectively, and divides the work to be accomplished in successive steps of iteration. This method or process is called the Model Development Life Cycle (MDLC) Process.

The MDLC Process should not be confused with the SDLC. The MDLC Process defines the Phases of Work required to develop Models irregardless of what kind of Models (i.e. Processes, Application Systems, or other Objects) are being developed and what kind of Modeling Tools (i.e. UML, other CASE Tools, and /or Development Tools) are being used.

 

Figure 4.20 --- MDLC Process for Logical Architectural Model (LAM)

 

The MDLC Process described in Figure 4.20 defines the Process for using a Modeling Tool (i.e. UML) to produce a LAM of a Process, Application System, or any other Object.

The MDLC Process includes five discrete steps which are performed in an Iterative "Top-Down" Manner. Each step provides Interim Deliverables culminating with a LAM Prototype that can be tested, verified, and optimized.

Successive Iterations produce more detailed and formal decompositions of the LAM Model using specific Tools and Features provided with the Modeling Language utilized. When the Model is decomposed until the Evaluation Phase of the MDLC Process is completed to the Project Team's Satisfaction, the LAM Model is complete.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Modeling Tools

 

 

Figure 4.21 --- Modeling Tool (Rational Rose)

 

A Modeling Language such as UML requires Modeling Tools to draw, maintain, synchronize, reverse engineer, navigate, and provide consistency throughout the Model Views. Without the proper Tools, managing, maintaining, and controlling the MDLC Process would be impossible.

The Modeling Tool Market (i.e. The Traditional Computer Assisted System Engineering (CASE) Tool Market) trails the OOD Tool Market. The Modeling Tool Market has traditionally lagged behind Development Tool Market for incorporating advances in I/T.

 

 

 

The traditional Modeling Tools suffer from the syndrome of trying to be both a Modeling Tool and a Development Tool. This "Jack of all Trades" Approach has resulted in Modeling Tools that have failed in both efforts --- Failed at Modeling as well as Development.

Modeling Tools should provide the following Modeling Features, Functions, and Capabilities.

Figure 4.22 --- Enterprise Modeler Trainer

 

The Interchange Feature between Modeling Tools can be extended, enhanced, and preserved if Common Standards are incorporated in different Modeling Tools. Figure 4.22 describes a Model Training Tool that utilizes for Content Models developed by another Modeling Tool (Rational Rose). Interchange of Models becomes a "Practical Reality" if Modeling Standards (i.e. OMG UML Standard) are complied with across all the Modeling Tool Environments.

 

 

 

Model Repository

 

 

Figure 4.23 --- Model Repository

 

A Model Repository (Database) must be maintained to provide Work Group Collaboration capability on all Components of the Model(s). The Repository should provide the following Features, Functions ,and Capabilities.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Code Generation

 

 

Figure 4.24 --- Modeling Tool --- Code Generation

 

Some Modeling Tools generate Code Skeletons in a Target Programming Language from the Logical Model. These Code Skeletons generate the Physical Model (i.e. PAM) using parameters set in the Logical Model (i.e. LAM) [RFK19][RFK24].

OO Languages provide the Target Programming Language(s). The Property portion or Data Declaration portion of the Object(s) is generated. The Method portion is usually generated as a Code Skeleton, with the code details to be added by the developer who tailors the Object at "Run-Time". The 'Design-Time" tailoring can be provided by fine-tuning the "Property Box".

Different types of OO Languages are targeted (i.e. C++, Java, Visual Basic, and others). Structured Query Language (SQL) is usually targeted to generate Data Structures [RFK10][Martin9][Horstman-Cornell][Martin1]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Integration with Development Tools

 

Figure 4.25 --- Modeling Tools versus Development Tools

 

Modeling Tools are "finally" becoming more integrated with Development Tools. As such, the Modeling Tool no longer must keep pace with accelerated advances in I/T to generate the Physical Model (i.e. PAM) or Prototype of the Application System.

Integration of Modeling and Development Tools allows the Modeling Tool to control the Modeling Function and the Development Tool of choice to control the Development Function (Generation of the Prototype). As such the "Bridge" from the Logical and Physical Models is achieved.

 

 

 

 

 

The Integrated Modeling/Development Tool Environment provides an acceptable platform for supporting a MDLC Process that traverses all the Phases of the traditional SDLC. This Integrated Modeling Environment (IME) provides a Common Platform for the following Environments.

 

Modeling Component Objects

 

Figure 4.26 --- Microsoft (MS) Windows Component Object Hierarchy

 

Modeling Standard Component Objects typically found in OOD Application Systems can best be modeled using a Visual Component Object Oriented Rapid Application Development (VCOORAD) Tool such as VB, MS Office, MS Access, Delphi, and Others. Each of these Rapid Application Development (RAD) Tools allow the Developer/User to assemble/construct Component Objects from predefined Component Objects [RFK14][Martin1][Appleman].

MS Windows Development Products share throughout the Product Line Component Objects. In fact Visual Basic for Applications (VBA) provides the foundation for the MS Office Product(s). VBA that is used for the Code Component Objects Portion of Access is identical to the same Code Component Objects used in Visual Basic.

 

 

 

Microsoft has also taken the Component Object Development Process another step to allow increased re-use, extension, and enhancement of pre-defined Component Objects. A common Integrated Development Environment (IDE) that is neutral with regard to the Development Language used to Assemble/Construct Component Objects. Visual Studio 7.0 will allow the Developer/User to Assemble/Construct Component Objects with a variety of Program Development Languages (i.e. Visual Basic, Visual C++, Visual C# (i.e. C Sharp), Visual J++, Visual InterDev, Visual FoxPro, and Others). Moreover, Components developed in one Program Development Language can be re-used, enhanced, or extended by any of the other Program Development languages or Application Development Products. (i.e. MS Office) [Dietel1][Dietel2][RFK6].

This concept of Component Object "Re-use" is not just restricted to Microsoft Products but extends to all Products based on the Widows-Intel (WINTEL) Platform. Some 3,000 Independent Developers develop Component Objects for the WINTEL Platform.

Given this trend in developing Application System Architectures, modeling of Component OO Application Systems can best be accomplished using VCOORAD Tools rather than Modeling Tools or traditional CASE Tools. VCOORAD Tools provide a "Working Physical Model" (i.e. Prototype) that can be evaluated in a "Real World" Environment.

 

 

 

 

Figure 4.27 --- Example of MS Access Application

 

Figure 4.27 displays a "RFK Associates, Inc.'s Homegrown" Accounting Application System ---- General Accounting Management System (GAMS). GAMS was modeled in two hours. The Initial Model has been refined over the last three years as new requirements developed. It is based on common Component Objects that have been extended, tailored, and enhanced to meet my Requirements.

 

 

 

Logical Architectural Model (LAM)

 

The Logical Architectural Model (LAM) is described by the Use-Case, Logical, Component, and Concurrency Views of UML. The LAM is has traditionally been used to model the Front-End Phases of the SDLC.

 

Figure 4.28 --- The Enhanced SDLC

 

The Front-End Phases (Requirements and Analysis Phases) of the SDLC are described by a LAM. The purpose of the LAM is ensure that the Front-End Phases are properly transitioned to the Back-End Phases (Development and Implementation Phases) of the SDLC. The Design Phase provides for that Transition. This is the Juncture where Modeling Tools give way to Development Tools.

Full CASE provides the seamless linkage of the Front-End and Back-End Phases. Integrated CASE incorporates a Project Management Phase to manage, control, and verify the Complete Modeling Process --- Logical Architectural Model (LAM) to the Physical Architecture Model (PAM).

The Project Management Phase provides the glue ensure the proper Transition between the LAM and the PAM.

 

Figure 4.29 --- Prototype or PAM

 

Advances in VCOORAD Tools combined with Joint Application Design (JAD) have provided opportunity to create a Prototype (i.e. A working PAM) to support the Design, Development, and Implementation Phases of the SDLC. VCOORAD allows us to construct, assemble, and enhance registered Physical Component Objects. For example, a "Command Button" Object Component has already transitioned through the Front-End Phases of the SDLC.

We do not have develop a LAM for this Component Object. We can "go directly" to the PAM by re-using Component Objects that have already been Physically Architected. Nor do we have to develop Use-Case, Logical, Component, and Concurrency Views of UML for these Registered Component Objects.

Physical Architectural Model (PAM)

 

Figure 4.30 --- Design of a PAM

 

The PAM (Prototype) of the Command Button Component Object for the Cornucopia Switchboard Form is described in Figure 4.30. The Design Phase of the MDLC is modeled with "Property Boxes" specifying behavior of the Command Button Component Object that can be extended, tailored, and enhanced at "Design Time". Note the Macro named Sales Options extends the Command Button Component Object by launching the Sales Options Form when the Command Button responds to a "On Click" Event.

The Implementation of the PAM (Prototype) can be verified immediately by merely launching the Command Button Component Object. Thus the Component Object can be Modeled (Prototyped) through the Design, Implementation, and Testing Phases of the MDLC.

Prototyping or Modeling the PAM provides a Process for instant implementation, testing, and verification to allow Designers/Developers/Users (Joint Application Development (JAD)) to prove the Design. This would not be possible using the LAM.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Transition of Logical Model Architecture (LMA) to Physical Model Architecture (PMA) --- Prototype

 

Thus as VCOORAD Tools have become more robust, the MDLC has become more focused on the PAM. Furthermore, VCOORAD Tools have also become more "User Friendly". User have become empowered and work collaboratively with Developers in JAD Environments. Thus the distinction between Developer and User has faded dramatically.

As such the Requirements, Analysis, Design, Implementation, and Testing/Verification Phases of the traditional MDLC have transitioned to the complete purview of the VCOORAD tool when approached at the Component Object Level. Natural Hierarchies of Components established initially by Windows makes this a reality --- How many times will we re-architect a Command Button?

VCOORAD has made the Traditional MDLC obsolete. VCOORAD allows us to develop individual Component PAMs and then assemble the individual Components PAMs building Higher Level PAMs that comply with the Component Object's Hierarchy --- Much Like a Component Object "Bill of Materials".

Whereas LAMs were built in a "Top-Down" Decomposition Manner, PAMs are built in a "Bottom-Up" Re-composition Manner. LAMs use Logical Components --- PAMs use Physical Components.

Chapter 5 --- Model Development Life Cycle (MDLC) Process

 

The Process of the Traditional SDLC transitioned by a VCOORAD Tool at the Component Object Level to produce a PAM called a Prototype is referred to as the Model Development Life Cycle (MDLC) Process [RFK3][RFK4][RFK5].

 

Overview of the MDLC Process

 

 

Figure 5.1 --- MDLC Process for a PAM

 

The MDLC Process is based on the use of a VCOORAD Tool to direct the development of a Physical Architecture Model (PAM) or Prototype. This requires an Integrated Development Environment (IDE) that provides a seamless connection between all the Phases of the Traditional SDLC [Fitzgerald-Stallings].

The seamless connection allows the Developers/Users of the Joint Application Development (JAD) Team to transition a Component Object or an Assembly of Component Objects through the Phases of the Traditional SDLC to produce a PAM or Prototype. The Prototype can be tested and verified immediately to the complete satisfaction of the JAD Team.

The Unified Modeling Language (UML) Methodology standardized Object Oriented Modeling (OOM) Technology with a primary focus on the development of Logical Architectural Models (LAM)s. The MDLC Process supports many of the OOM concepts pioneered and standardized by the UML Methodology [Eriksson-Penker].

The MDLC Process, however, while extending the UML Methodology also deviates to a major extent.

 

Data Model Driven Architecture (DMDA)

 

Figure 5.2 --- Data Model versus Input Process Output (IPO) Architecture

 

The IPO Architecture (IPOA) has given way to the Data Model Driven Architecture (DMDA) for the Application System. IPOA mirrored the Architecture of the General Purpose Programmable Computer envisioned by John von Neumann in 1945. IPOA was the LAM for the first Commercial Application System (i.e. UNIVAC I in 1951) [Ralston][RFK2].

IPOA persisted until the middle 1990s when VCOORAD Tools combined with Relational Database Management Systems (RDBMS) began to state their presence as viable Application Development Tools. Prior to this time, Application Systems Development took the following steps [Sanders][RFK13][RFK28].

This approach made Custom Application System Developers very happy. They had the opportunity to "re-invent the wheel" many times over for the same Application System. Application System Development Back-logs became unacceptable to Users as Developers spent most of their time maintaining the Custom Application Systems they initially created.

 

Finally the "Man-Machine" Interface in the form of the Graphical User Interface (GUI) surfaced. GUIs had a dramatic break-through impact on the Application Development Process. A common metaphor for Users and Developers alike was born. It's ironic that GUI's had a more dramatic impact on Development Tools than the Application Systems produced by the Development Tools [RFK7].

The use of GUIs in Development Tools turned JAD from a "Pipe-Dream" to a Reality. Finally the end for the "Document Centered" SDLC was in sight. No longer were Users and Developers pitted as Adversaries in the SDLC, but now had the motivation to collaborate as Partners [RFK6].

Another significant development was precipitated by the GUI. GUI Components such as Text Boxes, Combo-Boxes, Command Buttons, and many others were created. A common nomenclature of Physical Predefined Component Objects were created that Developers and Users alike could understand and use productively.

These GUI Component Objects became the "Building Blocks" for the Form (i.e. We no longer have Screens thanks to VB) and Report Elements of the Data Model Driven Architecture (i.e. See Figure 5.3). The Form and Report Elements or Component Object Containers replaced the Input and Output LAMs with actual PAMs that Users could Analyze, Design, Develop, Implement, and Maintain [Martin5].

 

 

In the beginning these Component Objects that formed the "Building Blocks" for the GUI were just Visual Controls (i.e. VB 3.0). However, they quickly grew to become full fledged Component Objects complete with an extensive set of Properties, Methods, and Interfaces. The same group of Component Objects that originally replaced the Input and Output Functions of the IPOA with the Form and Report Elements of the DMDA formed the essential "Building Blocks" for the Query and Table Elements of the DMDA [Neibauer].

A host of Component Developers joined the revolution created initially by VB. Some 3,000 Independent Developers develop a host of Component Objects used in a number of VCOORAD Tools. These Predefined Component Objects can be used by numerous JAD teams to construct Application Systems for a number of different Computer System Architectures [RFK2][RFK3][RFK4][RFK5].

As such everything in the DMDA is predefined, tested, and verified with the exception of the Data Model. Get the Data Model correct and you have 90% of the Application System completed. The Table Element then becomes the "Critical Success" Factor for Application System. As seen by the DMDA described in Figure 5.2, The Table Element drives the Query, Form, and Report Elements of the PAM.

 

Chapter 6 --- Case Example

 

 

Figure 6.1 ---- PAM for Case Example.

 

The Case Example develops a PAM or Prototype based on the DMDA described in Figure 6.1. The Case Example prototypes the Bibliography and Appendices for this Dissertation.

 

 

 

 

Case Overview

 

 

Figure 6.2 --- Component Object Architecture (COA) PAM.

 

The COA Prototype contains Tables, Forms, Queries, and Reports for the Bibliography and Appendices of this Dissertation. The COA Prototype complies with the DMDA described in Figure 6.1. Microsoft (MS) Access is used as the VCOORAD Tool.

 

 

 

The VCOORAD Tool allowed the Construction/Assembly of the Table, Query, Form, and Report Component Object Containers from the Component Object Libraries that were incorporated into the Tool. Moreover, I was able to transition through the Phases of the SDLC at any stage of the Prototype Development for any Component. For example I could prove and verify the Report Component at various stages of loading Data via the Form Component to the Table Component.

The COA Prototype was used to develop and maintain the following Tables.

The Bibliography, Acronyms, and Glossary are exported in the "Rich Text" Format and inserted into this Dissertation. This approach greatly enhanced the Dissertation Construction Process, while allowing the primary focus to remain on proving the Hypothesis.

Moreover, it provided a primary relevant working example of the application of a PAM (Prototype) to solving a real problem. A real problem of maintaining the Bibliography and Appendices for a "Work in Progress" Dissertation.

 

 

 

Data (Table) Component Container

 

 

 

Figure 6.3 --- COA PAM BIB Table Structure

 

The Bibliography Table Structure is shown in Figure 6.3. A number of iterations through the Phases of the SDLC and associated Component Object Containers were cycled before the current PAM was accepted.

 

 

 

Form Component Container

 

 

 

Figure 6.4 --- COA PAM BIB Form Design

 

The Form Component Object Container for the Bibliography Form is described by Figure 6.4. Note the Tool Box that contains the individual Component Objects that were used to populate the Container (i.e. Label and Text Box Components).

The Form was constructed from available Component Objects that came with the VCOORAD Tool. The Component Object's Properties were tailored at "Design Time" to customize the Form.

 

Figure 6.5 --- COA PAM BIB Form Implementation

 

The Implementation of the Bibliography Form is described in Figure 6.5. Note that the Bibliography Table includes 83 Bibliography References. Managing the 83 References as the Dissertation progressed without an Application System would have been very difficult to say the least,

The VCOORAD Tool allows the Form Component Object Container to transition through the Phases of the SDLC as References were added to the Bibliography to test, modify, and verify the Form Prototype.

 

Query Component Container

 

 

 

Figure 6.6 --- COA PAM BIB Query Design

 

The Query Component Object Container for the Bibliography Query is described in Figure 6.6. Note the Query Design is segmented into two parts. The Query Source (i.e. Table(s) or Query(s)) and the Query By Example (QBE) Grid. The QBE Grid generates a Structured Query Language (SQL) Statement or the SQL Statement can be entered directly.

 

 

Figure 6.7 --- COA PAM BIB Query Implementation

 

The Implementation of the Bibliography Query is described in Figure 6.7. Again the Query Component Object Container can be transitioned through the Phases of the SDLC. This can be performed at any stage of Development to test, modify, and verify the Container or any of it's Component Objects.

Testing the Query PAM is important because the Query Component Object Container is the source for the Report Component Object Container in the DMDA.

 

Report Component Container

 

 

 

Figure 6.8 --- COA PAM BIB Report Design

 

The Report Component Object Container for the Bibliography Report is described in Figure 6.8. Note the Toolbox containing the Component Objects that are used to Construct/Assemble the Report are the same as those that were used to Construct/Assemble the Form Component Object Container.

 

 

 

Figure 6.9 --- COA PAM BIB Report Implementation

 

The Implementation of the Bibliography Report is described in Figure 6.9. Note the Report is sorted in alphabetic order by REFERENCE. This is because the Query (i.e. See Figure 6.6) sorts the records extracted from the table by REFERENCE. The Bibliography Query is the Source for the Report.

 

 

 

 

 

Major Beneficial Characteristics of Component Objects

 

 

Component Objects facilitate the MDLC Process for a number of reasons as illustrated by the above Case Example.

 

 

Chapter 7 --- The Future

 

The Future looks bright for Component Object Architecture (COA). Object Oriented Technology (OOT) coupled with COA and supported by VCOORAD Tools have revolutionized Application System Development [Appleman][Ernst].

Past History has shown the SDLC to persist since the days of the first Computer Application (i.e. UNIVAC I in 1951). However, the Process of traversing the SDLC was constrained by a lack of a MDLC based on Physical Architectural Modeling using COA "Building Blocks". Without these Physical Executable 'Building Blocks" and a VCOORAD Tool to Construct/Assemble them into a PAM (Prototype), the full and potential Benefits of the SDLC remained elusive [Ralston].

As such, the Future looks bright because all the pieces have finally after 50 Years come together. The Elusive "Silver Bullet" Developers have been looking for the last 50 Years may become a little less elusive [RFK6].

Thus a major Paradigm Shift in the SDLC has occurred. LAMs are giving way to PAMs and Prototypes. The implications of this Paradigm shift on Future Application Systems Development are expected to be dramatic [RFK23][Yourdan3][RFK29][RFK18][Currid-Eggleston].

 

 

 

User/Developer Distinction

 

COA has empowered the User to a much greater extent than the Windows Graphical User Interface (GUI). Joint Application Design has become Joint Application Development (JAD) as I have renamed it appropriately. Users now actively participate in all phases of the SDLC.

As such, the distinction between User and Developer continues to become less distinct. This trend is expected to continue at even a greater rate than in past years. Developers do not program or code anymore. Rather they build Predefined, Tested, Verified, and Industry Accepted (Standard) Component Objects. Users Assemble the Component Objects to form the Application System. Thus Users have assumed the role traditionally performed by Developers.

The People Resource of the Information System (I/S) has always been the limiting Resource. COA impacts this limitation in a positive manner to the greatest extent. As such, COA is a "Major Breakthrough" for ensuring the continued improvement in Application Systems Development for the Future.

 

 

 

 

 

 

Logical/Physical Model Distinction

 

COA provides the means to produce the PAM immediately. The major problem from the beginning with the SDLC was that it depended primarily on Logical Representations of Phase Deliverables. As such Users and Developers failed to Communicate. The Application System Implemented failed to provide the Solution envisioned by the Analysis Phase. As such, there was a major disconnect between the LAM and PAM.

Traversing all the Phases of the SDLC in a rapid manner to produce a PAM or Prototype at any level of Decomposition provides immediate feedback of the viability of the Model. The Difficulty of evaluating a LAM representation of an Application System is eliminated. An instantaneous PAM allows all Phases of the SDLC to be verified in a timely and accurate manner.

COA has allowed the instantaneous production of the PAM. The MDLC Process based on a PAM or Prototype will continue to gain favor over the LAM Approaches such as UML. VCOORAD Tools allow Users as well as developers to practice the MDLC Process in conjunction with COA. Users will continue to have a difficult time with UML's unnecessary Abstract Nature fostered by it's focus on a LAM.

Methodologies that focus on PAMs that are intuitive, understandable, and final product oriented will continue to gain favor in the Future. The distinction between LAMs and PAMs will wane because LAMs will become extinct in favor of PAMs..

Component Objects Deployment, Distribution, and Scalability

 

COA improves the deployment, distribution, and scalability of Component Objects. N Tier Client Server (C/S) Architectures have become a major Beneficiary of COA. Distributive Common Object Model (DCOM) and Common Object Request Broker Architecture (CORBA) are C/S Architectures that view Component Objects as ubiquitous throughout the C/S Architecture [RFK4].

Component Objects are predefined, stand-alone, and executable Objects complete with Properties, Methods, and Application Program Interfaces (APIs) that can be deployed on any Tier(s) and distributed to any Tier(s) of the C/S Network. As such, COA becomes the fuel for the C/S Architecture Machine [OHE].

Deploying Component Objects under DCOM or CORBA in a C/S Architecture provides significant opportunity for distributing Component Objects to the Client or other Server Tiers. This decreases the Total Cost of Ownership (TCO) and facilitates the Application System Deployment and Upgrade Process. Microsoft Transaction Server (MTS) is an example of a N-Tier C/S Architecture were all the Component Objects are deployed and distributed from a single Server (i.e. Component Object Server) [Vaughn].

Component Objects developed on a single source Machine will be ubiquitous in terms of their Deployment, Distribution, and Scalability. This is definite Future Trend that will fuel N-Tier C/S Architecture.

Functional Richness/Component Richness

 

The Application System Selection Process, especially the Request for Proposal (RFP), has always relied on the "Functional Richness" of the Application System Alternative. Unfortunately, "Functionally Rich" Applications are usually "Architecturally Poor" [RFK27].

Until COA the choice was easy. Structured programming, Fourth Generation Languages (4GLs), Relational Database Management Systems (RDBMS), and others failed to shift this Perception. All these I/T Application Development Advances failed to perform as expected because they were based on Logical "Top-Down" Decomposition Models. COA on the other hand is based on a Physical "Bottom-Up" individual Component Construction/Assembly Approach [Martin3][RFK17][RFK21][RFK16].

COA along with VCOORAD Tools allows Predefined Component Objects to be assembled into Component Object Containers. The Component Object can instantaneously be Prototyped to test, verify, and evaluate the Application System Solution. Individual Component Objects do not have to be re-designed --- only tailored.

Thus the trend has shifted from Re-Working "Top-Down" through entire Application System to Re-Assembly and Replacement of Component Objects that comprise the Application System. The COA Approach has changed our Perspective for maintaining and Developing Application Systems --- LAM Perspective to a PAM Perspective.

Component Object Assemblies

 

COA views Application System Development similar to the view of Product Development. An Automobile and an Application System can be Physically Modeled (Prototyped). The Automobile as well as the Application System are Constructed/Assembled from Predefined, Engineered, and Standard Components and/or Sub-Assemblies.

PAM based on COA and the accompanying MDLC Process is similar to an Automobile Assembly Operation, without the burdens of economies of scale. Independent Component Developers provide Component Object Assemblies that are Constructed/Assembled into the Application System.

Like the Automobile Industry, Application Software Vendors will submit specifications to Independent Component Developers for Component Object Assemblies to replace Application Functions developed under the older LAM. The Application Vendor will then use COA and VCOORAD to incorporate the Component Object Assembly into the Application System.

Thus the trend for the Future will shift the emphasis from a LAM of the entire Application System to a PAM of the Component Object Sub-Assembly. This Trend would not be possible without COA, VCOORAD, and the MDLC Process.

 

 

 

 

APPENDICES

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Acronyms

4GL Fourth Generation Languages

AP Application Package

BPR Business Process Re-engineering

C/S Client Server

CASE Computer Application System Engineering

COA Component Object Architecture

CORBA Common Object Request Broker Architecture

DCOM Distributive Common Object Model

DMDA Data Model Driven Architecture

GAMS General Accounting Management System

GUI Graphical User Interface

HLL High Level Language

I/S Information Systems

IDE Integrated Development Environment

Monday, March 26, 2001 Page 1 of 4

 

IME Integrated Modeling Environment

IPO Input Process Output

IPOA IPO Architecture

IT Information Technology

JAD Joint Application Developent

LAM Logical Archiitectural Model

MDLC Model Development Life Cycle

MS Microsoft

MTS Microsoft Transaction Server

OMG Object Management Group

OMT Object Modeling Technique

OO Object Orieneted

OOA Object Oriented Analysis

OOD Object Orieneted Development

OOL Object oriented Language

Monday, March 26, 2001 Page 2 of 4

 

OOSE Object Oriented Systems Engineering

OOT Object Orienetd Technology

PAM Physical Architectural Model

PO Procedure Oriented

QBE Query By Example

RAD Rapid Application Development

RDBMS Relational Database Management Systems

RFP Request For Proposal

SDLC Systems Development Life Cycle

SQL Structured Query Language

TCO Total Cost of Ownership

UML Unified Modeling Language

VBA Visual Basic for Applications

VCOORAD Visual Component Object Oriented Rapid Application Development

WIN/TEL Windows/Intel

Monday, March 26, 2001 Page 3 of 4

 

XML Extended Mark-up Language

Monday, March 26, 2001 Page 4 of 4

Glossary

Abstract Class A Class with no instances.

Action A Procedure of executable Statements.

Action Expression Expression that results in Actions.

Action State Actions executed while in the State.

Activation Execution of an Action.

Active Object Object that has own Thread of Control.

Activity Diagram Shows interactions, focusing on the work performed.

Actor Something external that interacts with the System.

Aggregate Relationship where one Class consists of Another

Analysis Examines a Problem and produces a Solution.

Application Executable Program.

Application Architecture Description of Components of an Application System.

Association Relationship of Classes.

Attribute Characteristic of an Component Object

Tuesday, March 20, 2001 Page 1 of 6

 

Behavior How a Component Object responds to a Stimulus

Bind Tightly Connect Component Objects.

Boundary Object Component Objects that communicate with Actors.

Call Connects Methods within Classes

Class Basis for Component Object.

Class Diagram Defines Class Relationships

Collaboration How Component Objects Interact.

Collaboration Diagram Describes how Component Objects Interact.

Component A Physical Implementation of an Object.

Component Diagram Describes Software Component Relationships.

Concrete Class Class that has Component Object Instances.

Dependency Dependent Relationship between Objects.

Deployment Diagram Describes Run-Time Architecture.

Design Describes the Solution of the Analysis.

Diagram View Element that shows Model Elements.

Tuesday, March 20, 2001 Page 2 of 6

 

Document Documentation Representation of an Object.

Element Base Graphical Symbols.

Enity Object Base Element for Modeling Objects.

Event Significant Occurrence.

Friend Dependency Level.

Generalization Relationship between General and Special Class.

Global Scope throughout entire Application System.

Inheritance Same as Generalization.

Instance Member of a Class.

Interaction How Component Objects perform specific Method.

Interaction Diagram Generic for Sequence, Collaboration, and Activity Diagrams.

Interface External accessible behavior of a Class.

Label Detail Diagram Content.

Library Component Object Libraries.

Link Connection between Component Objects.

Tuesday, March 20, 2001 Page 3 of 6

 

Member Part of a Class.

Message How Component Objects Communicate.

Metaclass Class that can instantiated to other Classes.

Metamodel Model that describes a Model.

Method Implementation of an Operation.

Model Abstract description of an Application System

Model Element Base Concepts within UML.

Modeling Language Language used to express Models.

Name Identify an Object.

New Indicates an Object is created.

Node Physical Objects.

Note Comment attached to a Diagram.

Operation Function or Method.

Package Grouping Mechanism --- Group of Classes.

Pattern Reusable Solution.

Tuesday, March 20, 2001 Page 4 of 6

 

Persistence Stored Objects.

Primitive NonClass.

Process Set of related Activities that satisfy a Objective.

Projection Model Elements projected into Diagrams.

Property Attributes of the Component Object.

Recursion Operation that calls itself.

Relationship Semantic connection among Model Elements.

Semantics The meaning of an Object.

Sequence Diagram Describes Component Object Interaction.

State Object State based on prior Activity.

State Diagram Describes Object Life Cycles.

Stereotype Element that extends the Semantics of UML.

Subclass Class that is a specialization of another Class.

Substate State within a State.

Superclass Class which is a Generalization of another Class.

Tuesday, March 20, 2001 Page 5 of 6

 

System Set of Items organized in some way.

Tagged Value Value of a Property.

Thread Shared Process.

Transient Constraint on the Life Cycle of an Object.

Transition relationship between two States.

Type Objects that share same Properties and Methods.

Use Case Model of System from Actor's Perspective.

Use Case Diagram Describes the Use Case Model.

Value Type Domain for an Object.

View Different Models for the same Application System.

View Element Projection of Model Elements.

Tuesday, March 20, 2001 Page 6 of 6

BIBLIOGRAPHY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BIBLIOGRAPHY

REFERENCE: Appleman

AUTHOR: Dan Appleman

TITLE: Developing COM/ActiveX Components with Visual Basic 6

PUBLISHER: SAMS

VOLUME/CHAPTER: All

DATE: 1999

WEB: samspublishing.com

COMMENT: Founder of Desaware, Inc. ---- Component Developer Firm

REFERENCE: Currid-Eggleston

AUTHOR: Currid and Eggleston

TITLE: Novell's Introduction to Networking, 2nd Edition

PUBLISHER: IDG Books Worldwide/Novell Press

VOLUME/CHAPTER: All

DATE: 2000

WEB: idgbooks.com

COMMENT: Cheryl C. Currid and Mark A. Eggleston

REFERENCE: Davis1

AUTHOR: Stephen R. Davis

TITLE: Learn J++ Java Now

PUBLISHER: Microsoft Press

VOLUME/CHAPTER: All

DATE: 1996

WEB: microsoft.com

COMMENT: J++ in the Visual Studio IDE

Tuesday, March 20, 2001 Page 1 of 28

 

REFERENCE: Davis2

AUTHOR: William S. Davis

TITLE: Tools and Techniques for Structured Systems Analysis and Design

PUBLISHER: Addison-Wesley Publishing Company

VOLUME/CHAPTER: All

DATE: 1983

WEB:

COMMENT:

REFERENCE: Deitel1

AUTHOR: Harvey M. and Paul J. Deitel

TITLE: How to Program Java, 3rd Edition

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 1999

WEB: deitel.com

COMMENT: Best OOD Programming Source for Java

REFERENCE: Deitel2

AUTHOR: Harvey M. and Paul J. Deitel

TITLE: C++ How to Program --- Introducing OOD with UML, 3rd Edition

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 2001

WEB: deitel.com

COMMENT: Best Application of OOD to C++ Programming like companion book to Java

Programming

Tuesday, March 20, 2001 Page 2 of 28

 

REFERENCE: Demarco

AUTHOR: Tom DeMarco

TITLE: Structured Analysis and System Specification

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 1979

WEB:

COMMENT: Yourdan Press Computing Series

REFERENCE: Dickinson

AUTHOR: Brian Dickinson

TITLE: Developing Structured Systems

PUBLISHER: Yourdan, Inc.

VOLUME/CHAPTER: All

DATE: 1980

WEB:

COMMENT:

REFERENCE: Eriksson-Penker

AUTHOR: Erikson and Penker

TITLE: UML Toolkit

PUBLISHER: Wiley Computer Publishing

VOLUME/CHAPTER: All

DATE: 1998

WEB:

COMMENT: Hans-Erik Eriksson and Magnus Penker

Tuesday, March 20, 2001 Page 3 of 28

 

REFERENCE: Ernst

AUTHOR: Warren Ernst

TITLE: ActiveX

PUBLISHER: SAMS.net

VOLUME/CHAPTER: All

DATE: 1996

WEB: mcp.com

COMMENT: ActiveX Componnets

REFERENCE: Fitzgerald-Stallings

AUTHOR: Fitzgerald and Stallings

TITLE: Fundamentals of Systems Analysis, 2nd Edition

PUBLISHER: John Wiley & Sons

VOLUME/CHAPTER: All

DATE: 1981

WEB:

COMMENT:

REFERENCE: Gane-Sarson

AUTHOR: Gane and Sarson

TITLE: Structured Systems Analysis

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 1979

WEB:

COMMENT:

Tuesday, March 20, 2001 Page 4 of 28

 

REFERENCE: Harris

AUTHOR: David Haris

TITLE: Systems Analysis and Design, 2nd Edition

PUBLISHER: The Dryden Press

VOLUME/CHAPTER: All

DATE: 1999

WEB:

COMMENT: For the Small Enterprise

REFERENCE: Horstman-Cornell

AUTHOR: Horstmann and Cornell

TITLE: Core Java 2---Volume1 Fundamentals

PUBLISHER: Sun Microsystems Press

VOLUME/CHAPTER: All

DATE: 1999

WEB: sunmicrosystems.com

COMMENT: Cay S. Horstmann and Gary Cornell

REFERENCE: Jamsa-Klander

AUTHOR: Jamsa and Klander

TITLE: 1001 Visual Basic Programmer's TIPS

PUBLISHER: JAMSA Press

VOLUME/CHAPTER: All

DATE: 1997

WEB:

COMMENT: Kris Jamsa and Lars Klander ---- Great TOC --- Can find a model for anything in VB.

Tuesday, March 20, 2001 Page 5 of 28

 

REFERENCE: Kemerer

AUTHOR: Chris F. Kemerer

TITLE: Software Project Management

PUBLISHER: The McGraw-Hill Companies, Inc.

VOLUME/CHAPTER: All

DATE: 1997

WEB:

COMMENT: SDLC History and Case Studies

REFERENCE: Kroenke1

AUTHOR: David M .Kroenke

TITLE: Business Computer Systems, 2nd Edition

PUBLISHER: Mitchell Publsihing, Inc.

VOLUME/CHAPTER: All

DATE: 1984

WEB:

COMMENT:

REFERENCE: Kroenke2

AUTHOR: David M. Kroenke

TITLE: Database Processing Fundamentals, Design, and Implementation

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 2000

WEB:

COMMENT:

Tuesday, March 20, 2001 Page 6 of 28

 

REFERENCE: Martin1

AUTHOR: James Martin

TITLE: Rapid Application Development

PUBLISHER: MacMillan Publishing Company

VOLUME/CHAPTER: All

DATE: 1991

WEB:

COMMENT: First with the RAD Concept

REFERENCE: Martin2

AUTHOR: James Martin

TITLE: Fourth-Generation Languages

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 1985

WEB:

COMMENT:

REFERENCE: Martin3

AUTHOR: James Martin

TITLE: Representative 4GLs

PUBLISHER: Prentice -Hall

VOLUME/CHAPTER: All

DATE: 1986

WEB:

COMMENT:

Tuesday, March 20, 2001 Page 7 of 28

 

REFERENCE: Martin4

AUTHOR: James Martin

TITLE: 4GLs from IBM

PUBLISHER: Prentice-Hall

VOLUME/CHAPTER: All

DATE: 1986

WEB:

COMMENT:

REFERENCE: Martin5

AUTHOR: James Martin

TITLE: Application Development without Programmers

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 1982

WEB:

COMMENT:

REFERENCE: Martin6

AUTHOR: James Martin

TITLE: An Information Systems Manifesto

PUBLISHER: Prentice Hall, Inc.

VOLUME/CHAPTER: All

DATE: 1984

WEB:

COMMENT:

Tuesday, March 20, 2001 Page 8 of 28

 

REFERENCE: Martin7

AUTHOR: James Martin

TITLE: Design and Strategy for Distributed Data Processing

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 1981

WEB:

COMMENT:

REFERENCE: Martin8

AUTHOR: James Martin

TITLE: Managing the Data-Base Environment

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 1983

WEB:

COMMENT:

REFERENCE: Martin9

AUTHOR: James Martin

TITLE: Computer Data-Base Organization

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 1975

WEB:

COMMENT:

Tuesday, March 20, 2001 Page 9 of 28

 

REFERENCE: Masters

AUTHOR: Gary Masters

TITLE: Visual Basic 6 Complete

PUBLISHER: Sybex, Inc.

VOLUME/CHAPTER: All

DATE: 1999

WEB: sybex.com

COMMENT: Collaboration of Many VB Experts

REFERENCE: McGowan-Kelly

AUTHOR: McGowan and Kelly

TITLE: Top-Down Structured Programming Techniques

PUBLISHER: Mason/Charter Publishers, Inc.

VOLUME/CHAPTER: All

DATE: 1975

WEB:

COMMENT: Clement L. McGowan and John R. Kelly

REFERENCE: Morrison

AUTHOR: Michael Morrison

TITLE: JavaBeans

PUBLISHER: SAMS.net

VOLUME/CHAPTER: All

DATE: 1997

WEB: mcp.com

COMMENT: JavaBeans Component Objects

Tuesday, March 20, 2001 Page 10 of 28

 

REFERENCE: MS1

AUTHOR: Microsoft Press

TITLE: Microsoft Office 97 Object Model Guide

PUBLISHER: Microsoft Press

VOLUME/CHAPTER: All --- 33 Pages

DATE: 1996

WEB: microsoft.com

COMMENT: MS Office Object Model

REFERENCE: MS2

AUTHOR: Microsoft Press

TITLE: Building Applications with Microsoft Access for Windows 95

PUBLISHER: Microsoft Press

VOLUME/CHAPTER: All

DATE: 1995

WEB: microsoft.com

COMMENT: Data Model Driven Architecture

REFERENCE: Neibauer

AUTHOR: Alan Neibauer

TITLE: Small Business Solutions for Networking

PUBLISHER: Microsoft Press

VOLUME/CHAPTER: All

DATE: 2000

WEB: microsoft.com

COMMENT: Describes Network Architecture for the Small Business Enterprise

Tuesday, March 20, 2001 Page 11 of 28

 

REFERENCE: O'Brien

AUTHOR: James A. O'Brien

TITLE: Introduction to Information Systems, 9th Edition

PUBLISHER: Irwin McGraw-Hill

VOLUME/CHAPTER: All

DATE: 2000

WEB:

COMMENT: Essentials for the Internetworked Enterprise

REFERENCE: OHE

AUTHOR: Orfali, Harkey, and Edwards

TITLE: Client/Server Survival Guide, 3rd Edition

PUBLISHER: John Wiley & Sons, Inc.

VOLUME/CHAPTER: All

DATE: 1999

WEB:

COMMENT: Robert Orfali, Dan Harkey, and Jeri Edwards

REFERENCE: Orr1

AUTHOR: Kenneth T. Orr

TITLE: Structured Systems Development

PUBLISHER: Yourdan Press, Inc.

VOLUME/CHAPTER: All

DATE: 1977

WEB:

COMMENT:

Tuesday, March 20, 2001 Page 12 of 28

 

REFERENCE: Orr2

AUTHOR: Kenneth T. Orr

TITLE: Structured Requirements Definition

PUBLISHER: Ken Orr and Associates, Inc.

VOLUME/CHAPTER: All

DATE: 1981

WEB:

COMMENT:

REFERENCE: Page-Jones1

AUTHOR: Melir Page-Jones

TITLE: The Practical Guide to Structured Systems Design

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 1988

WEB:

COMMENT: Yourdan Press Computing Series

REFERENCE: Page-Jones2

AUTHOR: Meiler Page-Jones

TITLE: The Practical Guide to Structured Systems Design

PUBLISHER: Yourdan, Inc.

VOLUME/CHAPTER: Page-Jones

DATE: 1980

WEB:

COMMENT:

Tuesday, March 20, 2001 Page 13 of 28

 

REFERENCE: Petroutsos-Hough

AUTHOR: Petroutsos and Hough

TITLE: Visual Basic 6 Developer's Handbook

PUBLISHER: Sybex, Inc.

VOLUME/CHAPTER: All

DATE: 1999

WEB: sybex.com

COMMENT: Evangelos Petroutsos and Kevin Hough

REFERENCE: Prague-Irwin

AUTHOR: Prague and Irwin

TITLE: Access 97 Bible

PUBLISHER: IDG Books Worldwide, Inc.

VOLUME/CHAPTER: All

DATE: 1997

WEB: idgbooks.com

COMMENT: Cary N. Prague and Michael R. Irwin

REFERENCE: Ralston

AUTHOR: Ralston and Meek

TITLE: Encyclopedia of Computer Science

PUBLISHER: Mason/Charter Publishers, Inc.

VOLUME/CHAPTER: page 1439-1451

DATE: 1976

WEB:

COMMENT: Complete Historical Referenece --- John Von Neumann

Tuesday, March 20, 2001 Page 14 of 28

 

REFERENCE: RFK1

AUTHOR: Richard F. Kubli

TITLE: CSC 514 Computer Applications in Medicine

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 11/2000

WEB:

COMMENT: KBW Course Work Pursuant to Ph.D. in Computer Science

REFERENCE: RFK10

AUTHOR: Richard F. Kubli

TITLE: Advanced Visual Basic (AciveX/COM Components)

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1999

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK11

AUTHOR: Richard F. Kubli

TITLE: Business Information Systems Analysis and Design

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1996

WEB:

COMMENT: Designed, Developed, and Delivered Course

Tuesday, March 20, 2001 Page 15 of 28

 

REFERENCE: RFK12

AUTHOR: Richard F. Kubli

TITLE: Analysis Modeling and Design

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1998

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK13

AUTHOR: Richard F. Kubli

TITLE: Data Management with SQL (Oracle)

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1998

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK14

AUTHOR: Richard F. Kubli

TITLE: Rapid Application Development Technology

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE:

WEB:

COMMENT: Designed, Developed, and Delivered Course

Tuesday, March 20, 2001 Page 16 of 28

 

REFERENCE: RFK15

AUTHOR: Richard F. Kubli

TITLE: Object Oriented Technology

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1999

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK16

AUTHOR: Richard F. Kubli

TITLE: Relational Databases (Oracle)

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1997

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK17

AUTHOR: Richard F. Kubli

TITLE: Management of Local Area Networks

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 2000

WEB:

COMMENT: Designed, Developed, and Delivered Course

Tuesday, March 20, 2001 Page 17 of 28

 

REFERENCE: RFK18

AUTHOR: Richard F. Kubli

TITLE: Fundamentals of WAN and LAN

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 2000

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK19

AUTHOR: Richard F. Kubli

TITLE: Introduction to JAVA

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 2000

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK2

AUTHOR: Richard F. Kubli

TITLE: CSC 526 Information Technology in the Business Environment

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 12/2000

WEB:

COMMENT: KBW Course Work Pursuant to Ph.D. in Computer Science

Tuesday, March 20, 2001 Page 18 of 28

 

REFERENCE: RFK20

AUTHOR: Richard F. Kubli

TITLE: Object-Oriented Design (UML)

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1999

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK21

AUTHOR: Richard F. Kubli

TITLE: Relational Database Management Systems (MS Access)

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1997

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK22

AUTHOR: Richard F. Kubli

TITLE: VB/Java Script

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1998

WEB:

COMMENT: Designed, Developed, and Delivered Course

Tuesday, March 20, 2001 Page 19 of 28

 

REFERENCE: RFK23

AUTHOR: Richard F. Kubli

TITLE: Internet and the World Wide Web

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1998

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK24

AUTHOR: Richard F. Kubli

TITLE: Introduction to Programming C++

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 2001

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK25

AUTHOR: Richard F. Kubli

TITLE: State of Connecticut

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1977

WEB: 24.129.184.120

COMMENT: Consulting Project

Tuesday, March 20, 2001 Page 20 of 28

 

REFERENCE: RFK26

AUTHOR: Richard F. Kubli

TITLE: Catholic Health Alliance

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1985

WEB: 24.129.184.120

COMMENT: Consulting Project

REFERENCE: RFK27

AUTHOR: Richard F. Kubli

TITLE: Lawrence General Hospital

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1990

WEB: 24.129.184.120

COMMENT: Consulting Project

REFERENCE: RFK28

AUTHOR: Richard F. Kubli

TITLE: Baystate Health System Y2K Review

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1998

WEB: 24.129.184.120

COMMENT: Consulting Project

Tuesday, March 20, 2001 Page 21 of 28

 

REFERENCE: RFK29

AUTHOR: Richard F. Kubli

TITLE: PRTC Legacy System Extension/Enhancement

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1999

WEB: 24.129.184.120

COMMENT: Consulting Project

REFERENCE: RFK3

AUTHOR: Richard F. Kubli

TITLE: CSC 610 Computer Systems Architecture

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1/2001

WEB:

COMMENT: KBW Course Work Pursuant to Ph.D. in Computer Science

REFERENCE: RFK4

AUTHOR: Richard F. Kubli

TITLE: CSC 530 Client/Server Architecture

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1/2001

WEB:

COMMENT: KBW Course Work Pursuant to Ph.D. in Computer Science

Tuesday, March 20, 2001 Page 22 of 28

 

REFERENCE: RFK5

AUTHOR: Richard F. Kubli

TITLE: CSC 570 Network Technologies and Architectures

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 2/2001

WEB:

COMMENT: KBW Course Work Pursuant to Ph.D. in Computer Science

REFERENCE: RFK6

AUTHOR: Richard F. Kubli

TITLE: Applied Software Project Management

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1999

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK7

AUTHOR: Richard F. Kubli

TITLE: Business Through Information Technology

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 2000

WEB:

COMMENT: Designed, Developed, and Delivered Course

Tuesday, March 20, 2001 Page 23 of 28

 

REFERENCE: RFK8

AUTHOR: Richard F. Kubli

TITLE: Visual Basic Programmimg Environment

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1998

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: RFK9

AUTHOR: Richard F. Kubli

TITLE: Visual Basic Application Development

PUBLISHER: N/A

VOLUME/CHAPTER: All

DATE: 1998

WEB:

COMMENT: Designed, Developed, and Delivered Course

REFERENCE: Sanders

AUTHOR: G. Lawrence Sanders

TITLE: Data Modeling

PUBLISHER: Boyd & Fraser Publishing Company

VOLUME/CHAPTER: All

DATE: 1995

WEB:

COMMENT:

Tuesday, March 20, 2001 Page 24 of 28

 

REFERENCE: Shelly-Cashman

AUTHOR: Shelly and Cashman

TITLE: Business Systems Analysis and Design

PUBLISHER: Anaheim Publishing Company

VOLUME/CHAPTER: All

DATE: 1981

WEB:

COMMENT: Gary B. Shelly and Thomas J. Cashman

REFERENCE: Simpson-Robinson

AUTHOR: Simpson and Robinson

TITLE: Access 2000

PUBLISHER: SYBEX, Inc.

VOLUME/CHAPTER: All

DATE: 1999

WEB:

COMMENT: Alan Simpson and Celeste Robinson

REFERENCE: Sun

AUTHOR: Sun

TITLE: JavaBeans and the world beyond Windows

PUBLISHER: Sun Microsystems, Inc.

VOLUME/CHAPTER: All --- 20 pages

DATE: 1997

WEB: sunmicrosystems.com

COMMENT: Interoperability --- Ease of Development --- Open Architecture ---

JavaBeans/Component Architecture

Tuesday, March 20, 2001 Page 25 of 28

 

REFERENCE: Swann

AUTHOR: Gloria Harrington Swann

TITLE: Top-Down Structured Design Techniques

PUBLISHER: Petrocelli Books, Inc.

VOLUME/CHAPTER: All

DATE: 1978

WEB:

COMMENT:

REFERENCE: Tudor

AUTHOR: D.J. Tudor and I.J. Tudor

TITLE: Systems Analysis and Design

PUBLISHER: Blackwell Publishers, Inc.

VOLUME/CHAPTER: All

DATE: 1995

WEB:

COMMENT:

REFERENCE: Vaughn

AUTHOR: William R. Vaughn

TITLE: Hitchhiker's Guide to Visual Basic and SQL Server, 6th Edition

PUBLISHER: Microsoft Press

VOLUME/CHAPTER: All

DATE: 1998

WEB:

COMMENT: Best Source for Modeling ADO Connections

Tuesday, March 20, 2001 Page 26 of 28

 

REFERENCE: Wetherbe

AUTHOR: James C. Wetherbe

TITLE: Cases in Systems Design

PUBLISHER: West Publishing Company

VOLUME/CHAPTER: All

DATE: 1979

WEB:

COMMENT:

REFERENCE: Yourdan-Constantin

e

AUTHOR: Yourdan and Constantine

TITLE: Structured Design

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 1979

WEB:

COMMENT: Edward Yourdan and Larry L. Constantine

REFERENCE: Yourdan1

AUTHOR: Edward Yourdan

TITLE: Techniques of Program Structure and Design

PUBLISHER: Prentice-Hall, Inc.

VOLUME/CHAPTER: All

DATE: 1975

WEB:

COMMENT:

Tuesday, March 20, 2001 Page 27 of 28

 

REFERENCE: Yourdan2

AUTHOR: Edward Yourdan

TITLE: Managing The System Life Cycle

PUBLISHER: Yourdan, Inc.

VOLUME/CHAPTER: All

DATE: 1982

WEB:

COMMENT:

REFERENCE: Yourdan3

AUTHOR: Edward Yourdan

TITLE: How to Manage Structured Programming

PUBLISHER: Yourdan, Inc.

VOLUME/CHAPTER: All

DATE: 1976

WEB:

COMMENT:

Tuesday, March 20, 2001 Page 28 of 28

LAST PAGE (BLANK PAGE) !!!!