If you are working with Designer/2000, Oracle's powerful set of tools for information systems design and generation, this book will serve as your indispensable guide. Not only does it provide detailed and understandable documentation for every component of Designer/2000, it also shows how and when each of these tools comes into play in the context of the information systems development life-cycle. You will learn how these tools operate, how they should be used, and most importantly, how to adapt the information systems development process to take full advantage of their capabilities.
The Oracle® Designer/2000 Handbook includes:
* documentation for all of Designer/2000's strategy, analysis, design, and code-building tools, including the Process Modeller, the Entity-Relationship Diagrammer, the Database Design Wizard, the Data Diagrammer, the Application Design Wizard, the DDL Generator, and much more;
* an overview of the development process, with a work flow road map detailing the specific steps to take when building an application with Designer/2000;
* information on designing and generating forms and reports, including use of the Module Data Diagrammer, templates, and User Preferences;
* advice on how to customize the Designer/2000 toolset to improve your productivity;
* an explanation of how to capture existing applications with Designer/2000.
As you discover the purpose and significance of each Designer/2000 tool, you will gain invaluable insight into the software development process and how you can use Designer/2000 to create systems that better serve your clients.
Overview of Contents.
Conventions Used in This Book.
How to Get the Most Out of This Book.1. The Philosophy of Software Engineering.
Progress of Development Work and Decision Compression.
Is Designer/2000 Difficult to Learn and Use?
The Development Team.
Magic versus Technology.
II. COMPONENTS OF THE DESIGNER/2000 PRODUCT.2. Designer/2000 Components.
Brief Description of Designer/2000 Components.
Primary and Secondary Access Elements (PACs and SACs).
III. OVERVIEW OF WORK FLOW WITH DESIGNER/2000.3. The Full-Life Cycle Approach.
Functions and Entities.
Function to Entity Cross-References.
Business Units and Their Function Associations.
Transformation of Strategy and Analysis Phases into the Design and Implementation Phases Within the Designer/2000 Repository.
Refinement of the Database Design, Part 1.
Refinement of the Database Design, Part 2.
Refinement of Module Design After Module Is Created with Default Design Utilities.
Template Design and Module Generation.
User Documentation.4. Alternative Work Flow: Straight to Design.
Reverse Engineer the Data Design.
Refine the Reverse-Engineered Data Design.
Reverse Engineer the Programs.
Create a Default Logical Data Model and Logical Function Model.
Continue with (Re)Design.
IV. TOOLS THAT SPAN THE DEVELOPMENT LIFE CYCLE.
General GUI Characteristics.
Two Dreadfully Important Commands to Understand (How Not to Delete Something Accidentally).6. The Help System.
How to Get Help On-Line.
Annotating the Help Text.
Suggested Exercises: 1.7. Repository Object Navigator.
Object Hierarchy Window.
Application Window: Application System Commands.
Application Window: Navigation Commands.
Application Window: General Commands.
Application Window: Property Commands.
Object Hierarchy Window Commands.
Properties Window Commands.8. Repository Reports.
Reports That Should Become Your Best Friends.
Section V. CONCEPTS THAT SPAN THE DEVELOPMENT LIFE CYCLE.9. Application Systems Within Designer/2000.
What Does Designer/2000 Mean by "Application System"?10. Domains.
When Should I Use a Domain?
Can I Use Domains Instead of Reference Entities?
Why Use Domains?
Domain Allowable Values.
Useful Domain Reports.
Useful Domain Utilities.11. Document.
A Useful Document Report.
Suggested Exercises: 2.
VI. DESIGNER/2000 STRATEGY AND ANALYSIS TOOLS.12. Entity Relationship Diagrammer.
Embedded Objects in the Diagram.
Entity Definition Tab (Edit Entity).
Synonym Definition Tab (Edit Entity).
Relationship Definition Tab (Edit Relationship).
Attributes Tab (Edit Entity).
Attribute Detail Tab (Edit Entity).
Attribute Values Tab (Edit Entity).
Unique Identifier Definition Tab (Edit Entity).
Text Tab (Edit Entity).
Useful Entity, Attribute, or Relationship Reports.
Suggested Exercises: 3.13. Function Hierarchy Diagrammer.
Function Definition Tab (Edit Function).
Common Function Tab (Edit Function).
Triggers Tab (Edit Function).
How Can We Use Functions Triggering Functions?
Function Entity Usages Tab (Edit Function).
Defining Function/Entity Associations: The CRUDMatrix.
Function Attribute Usages Tab (Edit Function).
Useful Function Reports.
Suggested Exercises: 4.14. Dataflow Diagrammer.
Role of Dataflow Diagrams Within Designer/2000.
Definitions of Terms.
Datastore Definition Tab (Edit Datastore).
Datastore Contents Tab (Edit Datastore).
Dataflow Definition Tab (Edit Dataflow).
Dataflow Contents Tab (Edit Dataflow).
Useful Dataflow and Datastore Reports.15. Matrix Diagrammer.
Useful Matrix-Oriented Reports.
Suggested Exercises: 5.16. Process Modeller.
But We Aren't Re-engineering Our Business! Should We Use the Process Modeller Anyway?
How Does the Oracle Process Modeller Help?
Why Is This Diagrammer Presented "Out of Order"?
Diagram Element Types.
Diagram Display Modes.
Definition of Terms.
Organization (Business Unit).
Main Tab (Edit Process Step).
Specific Tab (Edit Process Step).
Resources Tab (Edit Process Step).
Multimedia Tab (Edit Process Step).
Multimedia Select Dialog Box.
Main Tab (Edit Flow).
Specific Tab (Edit Flow).
Resources Tab (Edit Flow).
Multimedia Tab (Edit Flow).
Useful Process Modeller Reports.
Suggested Exercises: 6.17. Completing the Strategy and Analysis Phases.
VII. TRANSFORMING THE LOGICAL DATA MODEL INTO THE PHYSICAL DATA DESIGN.18. Database Design Wizard.
Database Design Wizard Tabs.
Prepare Physical Definitions.
Table Mappings Tab (Database Design Wizard).
Run Options Tab (Database Design Wizard).
Options Tab (Database Design Wizard).
Column Mappings, Primary Keys, and Foreign Keys Tabs (Database Design Wizard).
Indexes Tab (Database Design Wizard).
Summary of the Work Process Up to Data Transformation.
Suggested Exercises: 7.
Gee Whiz!! Where Did All Those Horrible Column Names Come from? And Where Did Those EXTRA Columns Come from?!
Two Problems and an Example.
Getting Better Foreign Key Column Names.
A Snippet of Interesting Code.
Limitations and Warnings.
But What About Those Extra Columns?
Can I Safely Get Rid of Some of Those Columns?
VIII. DESIGNER/2000 DATA DESIGN TOOLS.19. Data Diagrammer.
Table Definition Tab (Edit Table).
Column Definition Tab (Edit Table).
Column Display Tab (Edit Table).
Key Constraints Tab (Edit Table).
Validation Tab (Edit Table).
Defining Views and Snapshots.
View Definition Tab (Edit View).
Defining a View.
Base Relations Tab (Edit View).
Base Cols Tab (Edit View).
Completing the Definition of a View.
Snapshot Definition Tab (Edit Snapshot).
Completing the Definition of a Snapshot.
Useful Database Design Reports.
The Table Quality Control Report Explained.
Suggested Exercises: 8.
IX. DESIGNER/2000 PROGRAM DESIGN TOOLS.
A Brief Overview of the Generation Process.
Inputs to the Generators.
The Generation Process.20. Application Design Wizard.
What to Expect.
Rules of Operation.
Application Design Wizard Checklist.21. Module Structure Diagrammer.
Structure of This Section.
Using the Module Structure Diagrammer.
Definition of Terms.
How the Generators Implement the Module Network.22. Defining Modules.
Module Definition Tab (Edit Module).
Implements Tab (Edit Module).
User Access Tab (Edit Module).
Group Access Tab (Edit Module).
Suggested Exercises: 9.
Defining Characteristics for Client Module Types.
Client Details Definition Tab (Edit Module).
Parameters Tab (Edit Module).
Using Parameters in a Report.
Completing the Definition of a Forms or Report Module.
Defining PL/SQL Server Code Modules.
Server Details Definition Tab (Edit Module).
Parameters Tab (Edit Module).
Program Data Tab (Edit Module).
Datastructure Tab (Edit Module).
Sample PL/SQL Package-Declarative Method.
Sample PL/SQL Package-Free Format Method.
Sample PL/SQL Package-Operating System Method.23. Module Data Diagrammer.
Definition of Terms.
Table Details Tab (Detailed Usages for Screen Module).
Table Layout Tab (Detailed Usages for Screen Module).
Table Text Tab (Detailed Usages for Screen Module).
Usage Tab (Detailed Usages for Screen Module).
Column Detail Tab (Detailed Usages for Screen Module).
Column Display Tab (Detailed Usages for Screen Module).
Column Text Tab (Detailed Usages for Screen Module).
Suggested Exercises: 10.
Defining Report Modules.
Table Details Tab (Detailed Usages for Report Module).
Column Detail Tab (Detailed Usages for Report Module).
Column Display Tab (Detailed Usages for Report Module).
Column Text Tab (Detailed Usages for Report Module).
Module Data Usage Utilities.24. Module Logic Navigator.
Useful Module Reports.
Suggested Exercises: 11.25. Preferences Navigator.
Definition of Terms.
X. DESIGNER/2000 CODE BUILDING TOOLS.26. Server Generator.
Utilities to Generate DDL.
Selection Tab (Generate DDL).
Objects Tab (Generate DDL).
Options Tab (Generate DDL).
Utilities to Reconcile Repository Object Definitions.27. Generate Module and Generate Module As.
Generate, Regenerate, Reverse-Engineer? What's the Difference?
Generate Tab (Generate Form).
Form Option Tab (Generate Form).
Other Tab (Generate Form).
Generating Menus with Security.28. Code Templates.
What Effect Do Templates Have?
Forms-Specific Template Information.
Interaction Between the Template and Preferences.
Reports-Specific Template Information.29. Regenerate Form.
Customizing Generated Forms Code: Regeneration.
A Helpful Regeneration Report.30. Reference Values, Help Text, and Code Controls.
Suggested Exercises: 12.31. Advanced Tips and Tricks.
How Do I get the DDL Generator to Recognize Schemas?
What If I Don't Know the Tablespace Names?
Specifying the Template at Generate Time.
Getting Generated Error Messages in Languages Other Than English.
Automatically Querying a Block on Entry to the Form.
Automatically Querying Based on Prior Context from Another Form.
Context-Showing Users What's Next on the Form (or What's Past).
Creating One Form for Both Character and GUI Mode.
Filtering What RON Shows.
XI. CUSTOMIZING YOUR DESIGNER/2000 TOOLSET.32. The Underlying Repository Database Design.
Properties and Property Types.
Suggested Exercises: 13.
Answers to Exercises.33. User Extensibility.
Why Use the API?
Components of the API.
Major Components of an API Program.
A Sample API Program.
API Components and Their Use.
Where to Find More Information.
Suggested Exercises: 14.
XII. MANAGING THE DESIGNER/2000 REPOSITORY.35. Repository Administration.
Maintain Users Tab.
Granting a User Access to an Application.
Sharing and Transferring Objects.
Code Configuration Control.
XIII. GOING BACKWARD: CAPTURING AN EXISTING APPLICATION.36. Reverse Engineer DDL.
Reverse Engineering DDL.
Sample Utility-The Case of the Missing Constraints.37. Reverse Engineer Forms and Reports.
Things to Check Before You Retrofit.
Running the Retrofit Utility.
Refining the Retrofitted Logical Data Model.
XIV. ASSIMILATING DESIGNER/2000 INTO YOUR SOFTWARE DEVELOPMENT PROCESS.
Keep an Eye on the Big Picture.
Consider the Way You Work.A. Installing the Sample Applications.
Survey 1: About Designer/2000.
Survey 1 Answers.C. Suggestions for Further Reading.
Purpose of This Appendix.
Beginning a New Application.
Upper Case Phase One: Strategy Stage.
Upper Case Phase Two: Analysis Stage.
Lower Case Phase One: Design Stage.
Lower Case Phase Two: Build Stage.Index. 0201634457T04062001
To our colleagues
This is the traditional place where authors explain what prompted them to write, as well as acknowledge those who helped with, or patiently endured, the writing of the book. It is traditional to bury at least one trenchant observation in this otherwise expendable prose so that the perceptive reader will at least skim through the passage. Allow us to be slaves to tradition in this one matter!
We could explain that we wrote this to promote a better understanding of Designer/2000, hoping to provide useful and pragmatic assistance to our professional colleagues in their daily work; and for students learning Designer/2000 as part of their curriculum. That would certainly be true, but not the whole truth.
One person mentioned that they couldn't write such a book, for they didn't know the tool well enough to do so. Our response? That we didn't either, but we expected to by the time we had finished writing! This was a learning opportunity for all involved, and not just limited to Designer/2000.
Perhaps the most important lesson was that a book of about five hundred pages is not the same amount of work as twenty papers twenty-five pages long. It is much more effort, by several orders of magnitude! Why this surprised us is a mystery; for we've long known that a five-hundred-entity application is far more difficult than twenty applications with twenty-five entities each.
That problem is the root of many software development failures. Many project leaders cut their teeth on small projects. They wonder why those who are working on larger projects are soooo slow and so bureaucratic. They often get their opportunity to work on large projects because of their successful track record on previous, smaller projects. Many of the techniques that they use to be successful on smaller projects do not scale up, just as some hardware/software solutions do not. Unfortunately, neither limitation is usually discovered until the appropriate level of stress is placed upon the system!
We have attempted to provide some guidance on proper usage as well as the reasoning behind the guidelines, hopefully in an entertaining manner. We hope that the reader will learn and follow the software development processes that underlie all good tools like Designer/2000. We have included a small list of suggested readings at the end of this book. All are worth reading, so have at them and enjoy!