Rapid Application Development of a Decision Support System using Object Oriented Programming
|
|
|
- Felicia Conley
- 9 years ago
- Views:
Transcription
1 Rapid Application Development of a Decision Support System using Object Oriented Programming Amy Roehrig, Trilogy Consulting Corporation, Pleasant Grove, UT Abstract Constantly changing business needs require flexible, easily modifiable Decision Support Systems (DSS). An added level of complexity is introduced by changes to the underlying data location, structure, meaning, or scale. Object Oriented design techniques provide us with a mechanism for crafting DSS which are scalable as well as easily modified. Utilizing specific design patterns, we can provide a system that will work with changing data structures and meanings, and the growth of business logic. This paper presents an Object Oriented design approach to the development of a Decision Support System. It presents solutions to the problems of providing flexibility, usability, and maintainability in one package. The techniques explored are of general interest to anyone involved in application development. Extensive knowledge of SAS/AF, other SAS products involved, or Object Oriented design is not required to derive benefit from the theories presented here. Introduction The task: design a decision support system (DSS) for a company which had previously operated on human hunch, and do it quickly. The complicating factors: the data, the business logic, and the users. The data supporting the new system was in a state of flux, with much of its development delayed beyond the need for decision support. Thus, the system needed to be flexible in its handling of the data: in structure, scale, and location. Additionally, the business logic was embryonic, and the DSS needed to be able to grow with the sophistication of its users. Supporting models of varying complexity needed to be incorporated into the system without requiring programmer action. Lastly, the user interface needed the ability to be changed and customized to the needs of the users. The specifications for the task began to describe a system which could have any piece changed at will without adverse affects on the rest of the system. The solution: an object oriented design. By using objects with standardized interfaces (Norton, 1997), we can design a system that is flexible in both form and function. This type of approach provides us with the ability to plug in objects (or groups of objects) to meet new requirements while minimizing ripple effects. Thus, changes to one part of the the system will have little or no effect on other parts. Additionally, Object Oriented Programming (OOP) provides us with the ultimate in scalability. We can prove the decision support concept with a small amount of data in a prototype, and then scale it up to work with larger amounts of data for larger decisions. As the practice of DSS gains wider acceptance with the company, we can port it to other business units that have become envious of our technology. OK, wishful thinking, but with separation of business logic, supporting data, and the interface, we could! Page 1
2 SAS and OOP While the design screamed for an object oriented approach, the decision to use OOP was not a simple one. There is a certain technical difficulty in leaving behind traditional modular design. Encapsulating functions and data together? What could the world be coming to? Pretty soon we ll have dogs and cats living together, then mass hysteria! (Bill Murray, Ghostbusters). Be that as it may, the need was there and all that remained was to create a functional design and implement it. Simple, right? Well, sort of. SAS/AF provides us with extensive tools for object oriented programming. Some of the OOP buzzwords that SAS supports are inheritance, delegation and event driven action. These concepts are basic to the design, so I will briefly discuss them here. Inheritance provides us with the ability to subclass a particular object and have it inherit characteristics of the parent. Thus, if I create an object called an automobile, I can subclass it into sedans, coupes, minivans, and dune buggies. All of my subclasses will inherit the traits of 2 axles, 4 wheels, a steering wheel, an internal combustion engine, and a body with n doors. They will also inherit the ability to start the engine, stop the engine, go forward, go backward, turn left, turn right, enter passengers and exit passengers. For my electric car, I can override the internal combustion engine to give it an electric motor and batteries. Also, I can override the method I use for start and stop of the electric motor as opposed to the parent class, which used an internal combustion engine. However, my other characteristics and methods apply to all of my automobiles, so these will be inherited. These classes and subclasses are then used to create objects, such as my car, your car, and my brother s dune buggy. Inheritance Class: Auto Another important concept is delegation. Suppose I create a class called motor and have subclasses which are the internal combustion engine and the electric motor. My automobile could actually be a composite made up of many parts (or objects) of which the motor is one. Thus, my automobile object will delegate the start and stop engine actions to its motor object, providing me with the flexibility to add a solar power subclass in a future model. The constant across all of the subclasses of motor is the interface to the object, which I've called start engine and stop engine. Once again, the classes cue the automobile and the motor. These are used to create the actual objects. My car is an object of the automobile class/sedan subclass. It delegates certain functions to its engine, which is of the internal combustion class. Delegation Attributes: Axels: 2 Wheels:4 Doors: n Subclass: Sedan Subclass: Coupe Subclass: Van Page 2
3 Delegated Start Engine Class:Auto Class:Engine A last OOP concept which SAS supports in part is event-driven action. Thus, when a particular object changes its state, it can send an event declaring that change to another object(s). It is up to the second object to determine what response, if any, is appropriate for that change. How is this different than a traditional modular programming procedural call? For one thing, the first object doesn t have to wait around for the second object to do its business. For another, the changing state of the second object will dictate the responding action. The first object has no knowledge of the state of the second object at the time of the event because they are encapsulated. Rather than passing parameters to tell the second object what to do, only an event and descriptive information about the event is sent. I said that SAS supports this concept only in part because certain events user initiated events (such as a mouse button being clicked and held) are not directly programmable in SAS, v6.12. Design Patterns Since the tools are available, there are no excuses for avoiding an OOP design, except for a lack of knowledge and experience. This is where the book Design Patterns (Gamma, et. al., 1995) becomes invaluable. For a reasonable price, one can buy the knowledge and experience of experts. The patterns provided are a collection of useful deigns to solve many common programming dilemmas. Two patterns which were of immediate use are the Abstract Factory and the Template Method. The Abstract Factory is class of objects whose sole purpose is to create other objects. Each object that it creates in this design is a modified Template Method object to execute a particular part of the decision support algorithm. The main thrust of a Template Method is that it allows the designer to vary parts of a large or complex algorithm without changing the entire thing each time. This allows for maintenance programming to be broken down into more manageable pieces and minimize adverse ripple effects. Thus, our system design allows for the Abstract Factory to examine the current state (location, scale, etc.) of the data or business logic and to create the appropriate objects to process that data. The usefulness of this arrangement in a changing system should be apparent. As the data or business logic changes, the abstract factory can create different objects to manage the changing conditions. Pattern Specifics-Abstract Factory In the case of our decision support system, the supporting data could be in many locations, individual or summary in structure. Our abstract factory, EST_MGR, or estimate manager, creates engines depending on these conditions and then delegates responsibilities to these new objects. The four engines are: Page 3
4 Extract, which obtains the external data; Combine, which combines external data with internally stored variables; Analyze, which calculates performance measures; Optimize, which actually performs the decision support. All three objects are affected by the structure (individual vs. aggregate) of the data, which is what they have in common with each other. However, only Extract needs to determine the location of the data, only Combine needs knowledge of internally stored data, and only Analyze needs to interact with the business logic. The engines, once created, are ready to perform specific tasks depending on the state of the data. This state was provided by the abstract factory during creation of the engines (instantiation). After the factory has created these objects, all further commands to the factory are delegated to the appropriate engine. The events and other objects which drive these commands have no need to keep track of the engines, the factory which created them will do that. Extract Com bine Analyze Optimize Pattern Specifics-Template Methods Furthermore, the factory can choose from a menu of different combinations of extract, combine, and analyze, because these three templates can have an unlimited number of different incarnations. Each version of Extract will support the same interface with the decision support system and respond to the command to obtain the data. However, the location and structure of the data will determine which subclass will be substituted in by the factory during engine creation. Likewise, as our business logic matures, different Analyze engines can be developed without affecting performance of Extract and Combine. There are bonus advantages to this design which we have yet to realize. Because we can have an infinite number of engines for business logic, we can maintain backward compatibility in future versions. This means that 3 years after a marketing campaign was run we will be able to re-evaluate it using the same logic we used 3 years earlier without having to search up old software. Version Control! How about that? Structural Data Objects We now have a flexible design for the overall decision support, but what about some of the nitty gritty details? OOP helps us out there as well. For example, this DSS needs to allow user input for different scenario analyses, as well as certain variables used in the business model. The user population should be able to segment the data flexibly and provide analysis results at varying levels of summarization. Additionally, there were some variables which were absolutely required to be associated with certain data. The result was a structural data object which was subclassed over half a dozen ways. Specific needs and required variables were handled in over-ridden methods, but each Page 4
5 instantiation (or object) of the data type inherited the ability to obtain its own structure, maintain and modify attributes, save, delete, select for analysis, and relate to other data in a parent/child relationship. By using these structural data objects, we were able to provide variability in segmentation schemes without losing items required by the business logic. As the business needs change, new data subclasses can be introduced as necessary. In fact, by using different catalogs containing the class definitions, it is possible to substitute in entire groups of related objects simultaneously. The reason we have this flexibility is that the class definition for non-visible objects is loaded at run-time. By dividing data subclass definitions up into different catalogs, we can select the appropriate class definition on the fly. With the current set of structural data objects, our segmentation is already very flexible, as required in direct marketing. Users can define aggregates of data which are based on any scheme they desire, without any need for reprogramming. To provide this capability, these data objects were managed through the use of another object, the structural data collection. While an individual data object only knows its children, the data collection can also keep track of siblings. This assists in building selection lists and maintaining referential integrity. Additionally, each data object can have collections of children that are related. This structure makes possible the ability to recursively copy or delete a data item and all of its dependents. It also allows the ability to select certain items into a collection while excluding others, thus providing for dynamic definition of relationships between data. An example of the use of this is the product object. Each product has a collection of child objects defining specific price points. These price points are siblings in the collection. The products are also collected as siblings for use by the campaign. What about the users? All of the items I ve discussed have been nonvisual objects, but this structure lent itself to an easy to implement graphical user interface (GUI). Because of the standard interface supported by the data and data collection objects, a generalized viewer was easily developed. Each frame created with the viewer class utilizes the generalized viewer, as well as any custom code of its own. The viewer provides a toolbox of capabilities including: clear the display, undo changes, save changes, create a copy, delete, and segment (create children). The viewer handles certain automatic tasks such as the creation of a data collection and interacting with the data collection to request a selection list or an action on the data. The frames which utilize the viewer are almost completely unrestricted in appearance and custom functionality, beyond the requirement for identifying the data being viewed. By maintaining a standard interface for the data and data collection classes, the generalized viewer can work with any subclass. Our general viewer is independent of the business logic, allowing for changes to either independently. Additionally, for each data subclass, we have the option to customize the view in whatever way we desire to enforce business needs. While it isn t necessary to use the viewer to implement the non-visual objects, the viewer allowed for extremely rapid application development (RAD). Rather than spending development time on routine data acquisition and display programming for each individual subclass of the data type, with all of the associated debugging, I was able to concentrate on custom tasks. For example, in one data type there are required financials handled entirely by the general viewer. In another the user has the ability to interactively define their own variables and Page 5
6 values to provide for experimental business models. The Bottom Line(s) The arsenal of capabilities provided by SAS made it possible to transform classic object oriented design theory into a functioning application. While a DSS is normally custom designed and developed, this application combines flexibility with customizability in a neat, easily maintained pattern. Objects remain encapsulated and independent of each other wherever possible. In those cases where changing conditions affect a group of objects, we used an object factory to allow modification and growth without mixing the interface and the business logic. Even business logic was broken down into smaller parts to allow more minimization of ripple effects and ease maintenance woes. Because we ve provided options for our inputs and business functions, we can scale our DSS up when our needs exceed the current system. We also have the ability to go across platforms and to store our data in an external database management system. By merely plugging in a new input object that utilizes SAS/Connect and/or SAS/Access, our DSS can be used on data throughout the company. Last, but not least, the standard interfaces of these objects make rapid application development truly rapid, with interfaces rising naturally to fit the custom needs of users. Hooray for our side! and other countries. indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies. Amy Roehrig Trilogy Consulting, Incorporated 1932 West 680 North Pleasant Grove, UT (801) [email protected] REFERENCES Gamma, Erich, Richard Helm, Ralph Johnson, John Vlissides (1995), Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley Publishing Company. Norton, Andy (1997), "Object Interfaces," in Proceedings of the Twenty-Second Annual SAS Users Group International Conference. Cary, NC: SAS Institute, Inc. ACKNOWLEDGMENTS Thank you to Sally Goostrey and Andy Norton for reviewing this paper and offering their helpful comments. SAS, SAS/AF, SAS/CONNECT, and SAS/Access are registered trademarks or trademarks of SAS Institute Inc. in the USA Page 6
SAS Guide to Applications Development
SAS Guide to Applications Development Second Edition SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2004. SAS Guide to Applications Development,
Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying
Guide to SAS/AF Applications Development
Guide to SAS/AF Applications Development SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2012. Guide to SAS/AF Applications Development. Cary, NC:
Interfacing SAS Software, Excel, and the Intranet without SAS/Intrnet TM Software or SAS Software for the Personal Computer
Interfacing SAS Software, Excel, and the Intranet without SAS/Intrnet TM Software or SAS Software for the Personal Computer Peter N. Prause, The Hartford, Hartford CT Charles Patridge, The Hartford, Hartford
SAS, Excel, and the Intranet
SAS, Excel, and the Intranet Peter N. Prause, The Hartford, Hartford CT Charles Patridge, The Hartford, Hartford CT Introduction: The Hartford s Corporate Profit Model (CPM) is a SAS based multi-platform
Johannes Sametinger. C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz A-4040 Linz, Austria
OBJECT-ORIENTED DOCUMENTATION C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz A-4040 Linz, Austria Abstract Object-oriented programming improves the reusability of software
Programming in Access VBA
PART I Programming in Access VBA In this part, you will learn all about how Visual Basic for Applications (VBA) works for Access 2010. A number of new VBA features have been incorporated into the 2010
Exercise 8: SRS - Student Registration System
You are required to develop an automated Student Registration System (SRS). This system will enable students to register online for courses each semester. As part of the exercise you will have to perform
Lecture 7 Notes: Object-Oriented Programming (OOP) and Inheritance
Introduction to C++ January 19, 2011 Massachusetts Institute of Technology 6.096 Lecture 7 Notes: Object-Oriented Programming (OOP) and Inheritance We ve already seen how to define composite datatypes
Content Author's Reference and Cookbook
Sitecore CMS 6.5 Content Author's Reference and Cookbook Rev. 110621 Sitecore CMS 6.5 Content Author's Reference and Cookbook A Conceptual Overview and Practical Guide to Using Sitecore Table of Contents
Chapter 12 Programming Concepts and Languages
Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution
Gadget: A Tool for Extracting the Dynamic Structure of Java Programs
Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Juan Gargiulo and Spiros Mancoridis Department of Mathematics & Computer Science Drexel University Philadelphia, PA, USA e-mail: gjgargiu,smancori
9.1 SAS. SQL Query Window. User s Guide
SAS 9.1 SQL Query Window User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2004. SAS 9.1 SQL Query Window User s Guide. Cary, NC: SAS Institute Inc. SAS
Sample- for evaluation only. Advanced PowerPoint. TeachUcomp, Inc. A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc.
A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc. 2010 Advanced PowerPoint TeachUcomp, Inc. it s all about you Copyright: Copyright 2010 by TeachUcomp, Inc. All rights reserved. This
Quick Start Guide Getting Started with Stocks
Quick Start Guide Getting Started with Stocks Simple but Sophisticated Don t let the name fool you: the scan may be simple, but behind the curtain is a very sophisticated process designed to bring you
Structural Design Patterns Used in Data Structures Implementation
Structural Design Patterns Used in Data Structures Implementation Niculescu Virginia Department of Computer Science Babeş-Bolyai University, Cluj-Napoca email address: [email protected] November,
PHP Code Design. The data structure of a relational database can be represented with a Data Model diagram, also called an Entity-Relation diagram.
PHP Code Design PHP is a server-side, open-source, HTML-embedded scripting language used to drive many of the world s most popular web sites. All major web servers support PHP enabling normal HMTL pages
SAS BI Dashboard 4.4. User's Guide Second Edition. SAS Documentation
SAS BI Dashboard 4.4 User's Guide Second Edition SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2013. SAS BI Dashboard 4.4: User's Guide, Second
The Benefits of Component Object- Based SCADA and Supervisory System Application Development
The Benefits of Component Object- Based SCADA and Supervisory System Application Development By Steven D. Garbrecht, Marketing Program Manager for Infrastructure and Platforms Table of Contents 1. Overview...
Changes to AdWords Reporting A Comprehensive Guide
Overview AdWords Changes to AdWords Reporting A Comprehensive Guide Table of Contents I. Basic Reporting Options II. Individual Reports III. Report Metrics IV. Conclusion Introduction Reporting in AdWords
ABSTRACT FACTORY AND SINGLETON DESIGN PATTERNS TO CREATE DECORATOR PATTERN OBJECTS IN WEB APPLICATION
ABSTRACT FACTORY AND SINGLETON DESIGN PATTERNS TO CREATE DECORATOR PATTERN OBJECTS IN WEB APPLICATION Vijay K Kerji Department of Computer Science and Engineering, PDA College of Engineering,Gulbarga,
Data Warehousing. Paper 133-25
Paper 133-25 The Power of Hybrid OLAP in a Multidimensional World Ann Weinberger, SAS Institute Inc., Cary, NC Matthias Ender, SAS Institute Inc., Cary, NC ABSTRACT Version 8 of the SAS System brings powerful
Carl R. Haske, Ph.D., STATPROBE, Inc., Ann Arbor, MI
Using SAS/AF for Managing Clinical Data Carl R. Haske, Ph.D., STATPROBE, Inc., Ann Arbor, MI ABSTRACT Using SAS/AF as a software development platform permits rapid applications development. SAS supplies
SAS BI Dashboard 4.3. User's Guide. SAS Documentation
SAS BI Dashboard 4.3 User's Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2010. SAS BI Dashboard 4.3: User s Guide. Cary, NC: SAS Institute
How to test and debug an ASP.NET application
Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult
Task Scheduler. Morgan N. Sandquist Developer: Gary Meyer Reviewer: Lauri Watts
Morgan N. Sandquist Developer: Gary Meyer Reviewer: Lauri Watts 2 Contents 1 Introduction 4 1.1 Start Up........................................... 4 1.1.1 Scheduled Tasks..................................
Bitrix Site Manager 4.1. User Guide
Bitrix Site Manager 4.1 User Guide 2 Contents REGISTRATION AND AUTHORISATION...3 SITE SECTIONS...5 Creating a section...6 Changing the section properties...8 SITE PAGES...9 Creating a page...10 Editing
Scheduling. Getting Started. Scheduling 79
Scheduling 9 Scheduling An event planner has to juggle many workers completing different tasks, some of which must be completed before others can begin. For example, the banquet tables would need to be
Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6
The Researches on Unified Pattern of Information System Deng Zhonghua,Guo Liang,Xia Yanping School of Information Management, Wuhan University Wuhan, Hubei, China 430072 Abstract: This paper discusses
a. Inheritance b. Abstraction 1. Explain the following OOPS concepts with an example
1. Explain the following OOPS concepts with an example a. Inheritance It is the ability to create new classes that contain all the methods and properties of a parent class and additional methods and properties.
What you should know about: Windows 7. What s changed? Why does it matter to me? Do I have to upgrade? Tim Wakeling
What you should know about: Windows 7 What s changed? Why does it matter to me? Do I have to upgrade? Tim Wakeling Contents What s all the fuss about?...1 Different Editions...2 Features...4 Should you
Produced by Flinders University Centre for Educational ICT. PivotTables Excel 2010
Produced by Flinders University Centre for Educational ICT PivotTables Excel 2010 CONTENTS Layout... 1 The Ribbon Bar... 2 Minimising the Ribbon Bar... 2 The File Tab... 3 What the Commands and Buttons
SAS Enterprise Guide A Quick Overview of Developing, Creating, and Successfully Delivering a Simple Project
Paper 156-29 SAS Enterprise Guide A Quick Overview of Developing, Creating, and Successfully Delivering a Simple Project Ajaz (A.J.) Farooqi, Walt Disney Parks and Resorts, Lake Buena Vista, FL ABSTRACT
Semantic Object Language Whitepaper Jason Wells Semantic Research Inc.
Semantic Object Language Whitepaper Jason Wells Semantic Research Inc. Abstract While UML is the accepted visual language for object-oriented system modeling, it lacks a common semantic foundation with
Paper 10-27 Designing Web Applications: Lessons from SAS User Interface Analysts Todd Barlow, SAS Institute Inc., Cary, NC
Paper 10-27 Designing Web Applications: Lessons from SAS User Interface Analysts Todd Barlow, SAS Institute Inc., Cary, NC ABSTRACT Web application user interfaces combine aspects of non-web GUI design
Chain of Responsibility
Chain of Responsibility Comp-303 : Programming Techniques Lecture 21 Alexandre Denault Computer Science McGill University Winter 2004 April 1, 2004 Lecture 21 Comp 303 : Chain of Responsibility Page 1
Bluetooth Installation
Overview Why Bluetooth? There were good reasons to use Bluetooth for this application. First, we've had customer requests for a way to locate the computer farther from the firearm, on the other side of
Manage Software Development in LabVIEW with Professional Tools
Manage Software Development in LabVIEW with Professional Tools Introduction For many years, National Instruments LabVIEW software has been known as an easy-to-use development tool for building data acquisition
Business Portal for Microsoft Dynamics GP 2010. User s Guide Release 5.1
Business Portal for Microsoft Dynamics GP 2010 User s Guide Release 5.1 Copyright Copyright 2011 Microsoft. All rights reserved. Limitation of liability This document is provided as-is. Information and
A Comparison of Programming Languages for Graphical User Interface Programming
University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange University of Tennessee Honors Thesis Projects University of Tennessee Honors Program 4-2002 A Comparison of Programming
Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk
Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk Physical Architecture As stated earlier, architecture can be defined at both a logical
About SharePoint Server 2007 My Sites
SharePoint How To s / My Sites of 6 About SharePoint Server 007 My Sites Use your My Site to store files and collaborate with your co-workers online. My Sites have public and private pages. Use your public
Design Patterns. Design patterns are known solutions for common problems. Design patterns give us a system of names and ideas for common problems.
Design Patterns Design patterns are known solutions for common problems. Design patterns give us a system of names and ideas for common problems. What are the major description parts? Design Patterns Descriptions
NINTEX WORKFLOW TIPS AND TRICKS. Eric Rhodes
NINTEX WORKFLOW TIPS AND TRICKS Eric Rhodes Table of Contents Eric Rhodes 1 Label It 2 Document Your Workflows with Action Labels Going Way Back 3 Backup Workflows with the Export Feature Name That Variable
Working with Tables. Creating Tables in PDF Forms IN THIS CHAPTER
Working with Tables T ables are part of many PDF forms. Tables are commonly set up with columns and rows having a header at the top that describes the content for each column and two or more rows of data
How can I manage all automation software tasks in one engineering environment?
How can I manage all automation software tasks in one engineering environment? With Totally Integrated Automation Portal: One integrated engineering framework for all your automation tasks. Answers for
Instructions for the installation of drivers and data reading software (TOOLBOX 4) The simple and reliable way to measure radioactivity.
The simple and reliable way to measure radioactivity. Instructions for the installation of drivers and data reading software (TOOLBOX 4) EN 06/2015 2015 GAMMA-SCOUT GmbH & Co. KG Instructions for Driver
Database Automation using VBA
Database Automation using VBA UC BERKELEY EXTENSION MICHAEL KREMER, PH.D. E-mail: [email protected] Web Site: www.ucb-access.org Copyright 2010 Michael Kremer All rights reserved. This publication,
SweetPea3R-200 User Guide Version 1.1
SweetPea3R-200 User Guide Version 1.1 For safety and warranty information, please refer to the Quick Start Guide included in the box with your unit. Thank you for purchasing a SweetPea3. As this is a new
Previewing & Publishing
Getting Started 1 Having gone to some trouble to make a site even simple sites take a certain amount of time and effort it s time to publish to the Internet. In this tutorial we will show you how to: Use
Copyright 2006 TechSmith Corporation. All Rights Reserved.
TechSmith Corporation provides this manual as is, makes no representations or warranties with respect to its contents or use, and specifically disclaims any expressed or implied warranties or merchantability
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
Using Karel with Eclipse
Mehran Sahami Handout #6 CS 106A September 23, 2015 Using Karel with Eclipse Based on a handout by Eric Roberts Once you have downloaded a copy of Eclipse as described in Handout #5, your next task is
Enhancing the SAS Enhanced Editor with Toolbar Customizations Lynn Mullins, PPD, Cincinnati, Ohio
PharmaSUG 016 - Paper QT1 Enhancing the SAS Enhanced Editor with Toolbar Customizations Lynn Mullins, PPD, Cincinnati, Ohio ABSTRACT One of the most important tools for SAS programmers is the Display Manager
The Phases of an Object-Oriented Application
The Phases of an Object-Oriented Application Reprinted from the Feb 1992 issue of The Smalltalk Report Vol. 1, No. 5 By: Rebecca J. Wirfs-Brock There is never enough time to get it absolutely, perfectly
Assignment # 2: Design Patterns and GUIs
CSUS COLLEGE OF ENGINEERING AND COMPUTER SCIENCE Department of Computer Science CSc 133 Object-Oriented Computer Graphics Programming Spring 2014 John Clevenger Assignment # 2: Design Patterns and GUIs
Static Analysis and Validation of Composite Behaviors in Composable Behavior Technology
Static Analysis and Validation of Composite Behaviors in Composable Behavior Technology Jackie Zheqing Zhang Bill Hopkinson, Ph.D. 12479 Research Parkway Orlando, FL 32826-3248 407-207-0976 [email protected],
Twin A Design Pattern for Modeling Multiple Inheritance
Twin A Design Pattern for Modeling Multiple Inheritance Hanspeter Mössenböck University of Linz, Institute of Practical Computer Science, A-4040 Linz [email protected] Abstract. We introduce
Singletons. The Singleton Design Pattern using Rhapsody in,c
Singletons Techletter Nr 3 Content What are Design Patterns? What is a Singleton? Singletons in Rhapsody in,c Singleton Classes Singleton Objects Class Functions Class Variables Extra Functions More Information
Microsoft Office Access 2007 Training
Mississippi College presents: Microsoft Office Access 2007 Training Course contents Overview: Fast, easy, simple Lesson 1: A new beginning Lesson 2: OK, back to work Lesson 3: Save your files in the format
A First Set of Design Patterns for Algorithm Animation
Fifth Program Visualization Workshop 119 A First Set of Design Patterns for Algorithm Animation Guido Rößling CS Department, TU Darmstadt Hochschulstr. 10 64289 Darmstadt, Germany [email protected] Abstract
Intellect Platform - Tables and Templates Basic Document Management System - A101
Intellect Platform - Tables and Templates Basic Document Management System - A101 Interneer, Inc. 4/12/2010 Created by Erika Keresztyen 2 Tables and Templates - A101 - Basic Document Management System
Course MS10975A Introduction to Programming. Length: 5 Days
3 Riverchase Office Plaza Hoover, Alabama 35244 Phone: 205.989.4944 Fax: 855.317.2187 E-Mail: [email protected] Web: www.discoveritt.com Course MS10975A Introduction to Programming Length: 5 Days
Migrating to Excel 2010 from Excel 2003 - Excel - Microsoft Office 1 of 1
Migrating to Excel 2010 - Excel - Microsoft Office 1 of 1 In This Guide Microsoft Excel 2010 looks very different, so we created this guide to help you minimize the learning curve. Read on to learn key
Custom Tasks for SAS. Enterprise Guide Using Microsoft.NET. Chris Hemedinger SAS. Press
Custom Tasks for SAS Enterprise Guide Using Microsoft.NET Chris Hemedinger SAS Press Contents About This Book... ix About The Author... xiii Acknowledgments...xv Chapter 1: Why Custom Tasks... 1 Why Isn
IP Interface for the Somfy Digital Network (SDN) & RS485 URTSII
IP Interface for the Somfy Digital Network (SDN) & RS485 URTSII Internet Protocol (IP) Interface Product Options Cat # 1810815 IP Interface Only Cat # 1810870: Interface and DB9/RJ45 Adapter (9015028)
Workplace Giving Guide
Workplace Giving Guide 042612 2012 Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any form or by any means, electronic, or mechanical, including photocopying,
Voice Driven Animation System
Voice Driven Animation System Zhijin Wang Department of Computer Science University of British Columbia Abstract The goal of this term project is to develop a voice driven animation system that could take
Making the Right Choice
Tools & Automation Making the Right Choice The features you need in a GUI test automation tool by Elisabeth Hendrickson QUICK LOOK Factors to consider in choosing a GUI testing tool Treating GUI test automation
Sample- for evaluation purposes only. Advanced Crystal Reports. TeachUcomp, Inc.
A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc. 2011 Advanced Crystal Reports TeachUcomp, Inc. it s all about you Copyright: Copyright 2011 by TeachUcomp, Inc. All rights reserved.
Chapter. Managing Group Policy MICROSOFT EXAM OBJECTIVES COVERED IN THIS CHAPTER:
Chapter 10 Managing Group Policy MICROSOFT EXAM OBJECTIVES COVERED IN THIS CHAPTER: Implement and troubleshoot Group Policy. Create a Group Policy object (GPO). Link an existing GPO. Delegate administrative
Newton Backup Utility User s Guide. for the Windows Operating System
Newton Backup Utility User s Guide for the Windows Operating System K Apple Computer, Inc. 1995 Apple Computer, Inc. All rights reserved. Under the copyright laws, this manual may not be copied, in whole
Agilent Evolution of Test Automation Using the Built-In VBA with the ENA Series RF Network Analyzers
Agilent Evolution of Test Automation Using the Built-In VBA with the ENA Series RF Network Analyzers Product Note E5070/71-2 An easy-to-learn and easy-to-use programming language 1. Introduction The Agilent
Discover The Benefits Of SEO & Search Marketing
Discover The Benefits Of SEO & Search Marketing Central Ohio SEO http://centralohioseo.com I. What is Search Engine Optimization II. The benefits to quality seo services III. Our SEO strategy at Central
A Graphical User Interface Testing Methodology
A Graphical User Interface Testing Methodology Ellis Horowitz and Zafar Singhera Department of Computer Science University of Southern California Los Angeles, California 90089-0781 USC-CS-93-550 Abstract
Google Analytics Guide
Google Analytics Guide 1 We re excited that you re implementing Google Analytics to help you make the most of your website and convert more visitors. This deck will go through how to create and configure
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
Flowcharting, pseudocoding, and process design
Systems Analysis Pseudocoding & Flowcharting 1 Flowcharting, pseudocoding, and process design The purpose of flowcharts is to represent graphically the logical decisions and progression of steps in the
Finding and Opening Documents
In this chapter Learn how to get around in the Open File dialog box. See how to navigate through drives and folders and display the files in other folders. Learn how to search for a file when you can t
Embedded Software development Process and Tools: Lesson-1
Embedded Software development Process and Tools: Lesson-1 Introduction to Embedded Software Development Process and Tools 1 1. Development Process and Hardware Software 2 Development Process Consists of
UML for C# Modeling Basics
UML for C# C# is a modern object-oriented language for application development. In addition to object-oriented constructs, C# supports component-oriented programming with properties, methods and events.
TRAVEL MANAGEMENT SYSTEM MILEAGE CLAIMS Procedure
TRAVEL MANAGEMENT SYSTEM MILEAGE CLAIMS Procedure Making a claim: For your ease of use we have tried, wherever possible to keep the format of the online mileage form the same as the current paper forms
Multi-user Collaboration with Autodesk Revit Worksharing
AUTODESK REVIT WHITE PAPER Multi-user Collaboration with Autodesk Revit Worksharing Contents Contents... 1 Autodesk Revit Worksharing... 2 Starting Your First Multi-user Project... 2 Autodesk Revit Worksets...
Notes on Excel Forecasting Tools. Data Table, Scenario Manager, Goal Seek, & Solver
Notes on Excel Forecasting Tools Data Table, Scenario Manager, Goal Seek, & Solver 2001-2002 1 Contents Overview...1 Data Table Scenario Manager Goal Seek Solver Examples Data Table...2 Scenario Manager...8
Toad for Oracle 8.6 SQL Tuning
Quick User Guide for Toad for Oracle 8.6 SQL Tuning SQL Tuning Version 6.1.1 SQL Tuning definitively solves SQL bottlenecks through a unique methodology that scans code, without executing programs, to
Subversion Integration for Visual Studio
Subversion Integration for Visual Studio VisualSVN Team VisualSVN: Subversion Integration for Visual Studio VisualSVN Team Copyright 2005-2008 VisualSVN Team Windows is a registered trademark of Microsoft
Improved Software Testing Using McCabe IQ Coverage Analysis
White Paper Table of Contents Introduction...1 What is Coverage Analysis?...2 The McCabe IQ Approach to Coverage Analysis...3 The Importance of Coverage Analysis...4 Where Coverage Analysis Fits into your
NTFS permissions represent a core part of Windows s security system. Using
bonus appendix NTFS Permissions NTFS permissions represent a core part of Windows s security system. Using this feature, you can specify exactly which coworkers are allowed to open which files and folders
Paper FF-014. Tips for Moving to SAS Enterprise Guide on Unix Patricia Hettinger, Consultant, Oak Brook, IL
Paper FF-014 Tips for Moving to SAS Enterprise Guide on Unix Patricia Hettinger, Consultant, Oak Brook, IL ABSTRACT Many companies are moving to SAS Enterprise Guide, often with just a Unix server. A surprising
COMMUNICATIONS... 1 COMMUNICATIONS...
Communications COMMUNICATIONS... 1 COMMUNICATIONS... 2 MAINTAIN OWNERS... 3 COMMUNICATIONS MENU... 6 Activate TOPS imail... 6 Select Plan... 7 Contact Info... 7 Billing Info... 8 Setup... 9 Configure TOPS
About XML in InDesign
1 Adobe InDesign 2.0 Extensible Markup Language (XML) is a text file format that lets you reuse content text, table data, and graphics in a variety of applications and media. One advantage of using XML
All in the Family: Creating Parametric Components in Autodesk Revit
All in the Family: Creating Parametric Components in Autodesk Revit Matt Dillon D C CADD AB2100 The key to mastering Autodesk Revit Architecture, Autodesk Revit MEP, or Autodesk Revit Structure software
Hands-On: Introduction to Object-Oriented Programming in LabVIEW
Version 13.11 1 Hr Hands-On: Introduction to Object-Oriented Programming in LabVIEW Please do not remove this manual. You will be sent an email which will enable you to download the presentations and an
Content Author's Reference and Cookbook
Sitecore CMS 6.2 Content Author's Reference and Cookbook Rev. 091019 Sitecore CMS 6.2 Content Author's Reference and Cookbook A Conceptual Overview and Practical Guide to Using Sitecore Table of Contents
B.Sc (Computer Science) Database Management Systems UNIT-V
1 B.Sc (Computer Science) Database Management Systems UNIT-V Business Intelligence? Business intelligence is a term used to describe a comprehensive cohesive and integrated set of tools and process used
Creating and Managing Shared Folders
Creating and Managing Shared Folders Microsoft threw all sorts of new services, features, and functions into Windows 2000 Server, but at the heart of it all was still the requirement to be a good file
Installing a Personal Server on your PC
Installing a Personal Server on your PC A personal or WAMP server is a private server you can install on your PC to run many scripts pretty much as they ll run in the real world. There are some restrictions
