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 LanguagesAP
Application PackageBPR
Business Process Re-engineeringC/S
Client ServerCASE
Computer Application System EngineeringCOA
Component Object ArchitectureCORBA
Common Object Request Broker ArchitectureDCOM
Distributive Common Object ModelDMDA
Data Model Driven ArchitectureGAMS
General Accounting Management SystemGUI
Graphical User InterfaceHLL
High Level LanguageI/S
Information SystemsIDE
Integrated Development EnvironmentMonday, March 26, 2001 Page 1 of 4
IME
Integrated Modeling EnvironmentIPO
Input Process OutputIPOA
IPO ArchitectureIT
Information TechnologyJAD
Joint Application DevelopentLAM
Logical Archiitectural ModelMDLC
Model Development Life CycleMS
MicrosoftMTS
Microsoft Transaction ServerOMG
Object Management GroupOMT
Object Modeling TechniqueOO
Object OrienetedOOA
Object Oriented AnalysisOOD
Object Orieneted DevelopmentOOL
Object oriented LanguageMonday, March 26, 2001 Page 2 of 4
OOSE
Object Oriented Systems EngineeringOOT
Object Orienetd TechnologyPAM
Physical Architectural ModelPO
Procedure OrientedQBE
Query By ExampleRAD
Rapid Application DevelopmentRDBMS
Relational Database Management SystemsRFP
Request For ProposalSDLC
Systems Development Life CycleSQL
Structured Query LanguageTCO
Total Cost of OwnershipUML
Unified Modeling LanguageVBA
Visual Basic for ApplicationsVCOORAD
Visual Component Object Oriented Rapid Application DevelopmentWIN/TEL
Windows/IntelMonday, March 26, 2001 Page 3 of 4
XML
Extended Mark-up LanguageMonday, 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 AnotherAnalysis
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 ObjectTuesday, March 20, 2001 Page 1 of 6
Behavior
How a Component Object responds to a StimulusBind
Tightly Connect Component Objects.Boundary Object
Component Objects that communicate with Actors.Call
Connects Methods within ClassesClass
Basis for Component Object.Class Diagram
Defines Class RelationshipsCollaboration
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 SystemModel 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) !!!!