100% Generation: No More Excuses!

Size: px
Start display at page:

Download "100% Generation: No More Excuses!"

Transcription

1 100% Generation: No More Excuses! Steven M. Davelaar Custom Development Center of Excellence, Oracle Corporation Introduction Today, 100% generation with the Forms Generator is only achievable for real generation freaks, who are prepared to invest whatever time required to drive the Generator to its limits, applying all possible techniques and tricks to achieve the holy goal. The upcoming Designer/2000 release 2.0 will provide us with a number of long-waited features in the area of forms generation. This release promises to enable the main stream of Designer/2000 users to achieve generation rates of (close to) 100%. This paper addresses the issue of achieving 100% generation from two different angles: Organizational/mental perspective: what nontechnical conditions must be met to achieve high generation rates? Technical perspective: what does Designer/2000 release 2.0 offer? Although equally important, the focus of this paper will be more on the first question, the one that is often underestimated, or worse, completely ignored. However, answers to both questions are of limited value as long as we do not have a clear understanding of what 100% generation is (at least in the eyes of the author), and what the benefits are of this approach to system development. 100% Generation, What Is It? This paper assumes the following working definition of 100% generation: A form is 100% generated if after a change in either: template form, preference setting, table or column definition, module data usage, the form can be generated again from Designer/2000 and runs directly, without any changes required in the layout or generated source code. This does not mean that you do not hand code anymore! Complex business rules and navigational logic will always requires coding of (PL/SQL) program units. The big difference with non-generated forms is that the GUI event points that invoke the manually coded chunks of functionality are generated into the form. Some people react disappointed to this definition, as they were probably dreaming of the end of the programming days. Of course, declarative definitions of functionality are preferred above procedural coding. However, the benefits of 100% generation still apply with the above definition as the following section explains. 100% Generation, Why? This indeed is a very important question to raise, as the answer will largely determine the

2 costs you are willing to make to achieve this goal. Based on many years of field experience, I feel there are four main advantages of 100% generated systems: Higher flexibility and adaptability of the system Higher maintainability of the system: single source of information for all application components (client and server) current application models facilitate accurate and complete impact analysis a detailed blueprint of the application is built as the application is built. Higher quality of the system: enforced standards and layout across all generated forms and reports common item definition across forms. high quality code (through module re-use, optimized SQL, commonality) More robust system More robust means that the product is less likely to break. Similar to this notion is the converse - if the product does break, it is easier to fix. Templates, reusable module components, common procedures, and user preferences all combine to enforce consistency across all generated forms and expedite maintenance. Define it once and leverage it many times. From these benefits, it is very clear that the cost vs. benefit of 100% generation is one that must be looked at over its entire payback period, not just in the first incarnation. In the first-release of a system, using a rigorous model-based approach to engineering systems may require additional design time. However, the payback is in the medium to long-term. The iterative phases of system development, and especially its maintenance and enhancement phases are when payback for generation occurs. The declarative approach to design and generation, coupled with the use of templates and userpreferences expedites the iterative nature of today's' system development. From an enhancement and maintenance perspective, the fact that the application code is based on business models, makes for a significantly simpler and better managed evolution of the system. In other words, time and money is saved over an application s complete life-cycle for iterative development, maintenance and enhancement Planning a '100% Generation' Project Although the benefits discussed in the previous section are impressive, the longer-term nature of these benefits reveals at the same time why we fail so often in applying a (close to) 100% generation approach. The big pitfall here is the word 'Generation'. Most people regard this more or less as the opposite of 'Programming'. Of course, to a certain extent this is true, however, code generation still involves a lot of what I would call "Declarative Programming", and even procedural programming if complex business rule are involved. What does this mean: Generation usually does not create applications faster. Depending on the skills, experience and attitude of the developer (see next section), initial creation of the system can easily take longer than hand coding of the same system. Only very

3 experienced Designer/2000 users will show an increase in productivity during initial system development. This means that one of the most important prerequisites for achieving 100% generation is in the very beginning of the project: a reasonable project planning! If you have relatively inexperienced developers on your project, do not underestimate the learning time of Designer/2000 and the Forms generator in particular. Fortunately, it looks like Designer/2000 release 2.0 has done a great job in improving the usability of the tool. However, time will tell whether the assumed reduced complexity, and subsequent higher productivity, is really perceived for novice users. If you have no experience in estimating generation projects, a good rule of thumb is to use the same figures as you did for hand coded projects, assuming a good mix of inexperienced and experienced developers. When you work with novice users of Designer/2000, it is strongly recommended to start of with a small pilot project, preferably with one experienced Designer/2000 consultant who can coach your people. Double your hand coding figures for estimating such a pilot project! Although these figures may disappoint you, do not forget that, once the application has been created, ongoing maintenance and enhancement is dramatically improved via model-based design and build. Make sure you clearly communicate these longer-term advantages to the (internal) customer of the system. If you do not succeed in this, you probably will be forced to lower the estimates, as the customer probably will say something like "I thought you said you would simply 100% generate the whole application, why are the figures so high?" Required Skills and Attitude of Developer and Team Leader Provided that the project leader has put together a reasonable project planning, it is up to the developer to really achieve the goal of 100% generation. An obvious prerequisite for this task is that the developer should have working knowledge of the Designer/2000 Generators as well as Developer/2000. A less obvious requirement refers to a 'soft' skill of the developer: he/she should believe in a 100% generation approach, and understand the implications. Let me explain this with an analogy. It is widely accepted that shifting from procedural 3GL programming to event-driven 4GL programming, requires a significant mind shift of the developer. It is my strong believe that shifting from a 4GL hand coding approach, to model-based 4GL generation, requires a mind shift of the same magnitude. The more you are experienced in building Developer/2000 applications manually, the more 'mental barriers' you have to take to be successful in model-based generation with Designer/2000. The possible frustration this implies is best illustrated by the following quote: "I'm getting mad of all these generator preferences, it only takes me 10 minutes in Forms Designer" This, of course, is the great temptation. Therefore, it is often easier for people who are novice to both Designer/2000 and

4 Developer/2000 to learn and understand the Forms Generator, than for experienced Developer/2000 programmers. The latter group will have a tendency to work against the Designer/2000 tool instead of with the tool, at least in the beginning. If this is the situation, your role as team leader / project leader is critical: You should convince the developers of the importance of 100% generation. You should organize sufficient coaching capacity to help the developers in taking the mental and technical barriers. You should not put pressure on making task estimates as this will lead to further frustration. Remember, it is your fault, not the developers fault, that the task estimates are too optimistic (assuming you have read this paper ). Admitted, this attitude may have a bad effect on project progress in the short term, but the payback will be double in the longer-term. Not only will you deliver a system that has the benefits described earlier in this paper, you also end up with a staff of highly motivated, 100% generation believers. This may sound a little bit like a fairy tale, but I can tell you from field experience it is not! Compromising on Functionality? It is often heard that to be able to achieve 100% generation, you must be willing to compromise (considerably) on the functionality requested by the users. This brings me to another skill of the designer/developer, which is particularly important when a user-interactive project approach has been chosen that heavily relies on prototyping sessions (e.g. RAD): The Attitude towards the users who provide the requirements You are working according to the user s requirements and these should, of course, be reflected in the system. However, it is not always in the user s best interest that you implement requirements exactly the way they were expressed during the workshop session or interview without further analysis. In fact, requirements should not be of such detail that they completely prescribe the way you should implement them. This room for creativity on your side makes it challenging to come up with a solution that makes the user happy. But this room also exists on the users side and their creativity is often underestimated. You may have the feeling that you understand the different aspects of the user s requirements but they do not understand your concerns. It is crucial for good team-work between you and the user that you make sure you really DO understand the various reasons why the user wants a particular piece of functionality a certain way. In doing so, you will automatically find out all the pieces of functionality where the how is not so important to them and where you therefore have more room for inventive, easily generatable, design. On the other hand, you will find that there are pieces of functionality that really must work the way they want in order for the system to be a success. This valuable information should not go to waste and can only be the product of an open and constructive atmosphere during prototyping sessions. Modeling requirements together with future end-users is really giving and taking. Giving and taking is really one of the most important aspects of being a system analyst/designer, and should not be underestimated.

5 For the user participants, there is often only one thing that counts: the usability of the final system. Of course, that is a goal you have in common, but at this point you will understand there are other factors that you, as system analyst/designer, should take into account as well. Finally, the end users will benefit most from this attitude; although, in the short-term, not all their wishes may be fulfilled. In summary, generation considerations should always be taken into account but they can never outweigh the usability of the application. 100% Generation: Technical Issues Many courses, books and white papers are available which all discuss technical issues related to 100% generation of Developer/2000 applications. These conference proceedings already contain two other papers discussing this subject. At this point, I will stay with discussing relevant features of Designer/2000 release 2.0. References for more information on achieving 100% generation are included in the last section of this paper. What Does Designer/ Offer? Designer/2000 release 2.0 certainly has a lot to offer. A lot of effort is put in improving the usability and productivity of the tool. This paper does not intend to provide a full overview of release 2.0, it stays with the new features that impact the ability to achieve 100% generation of Developer/2000 applications: Application Logic Unbound Items Layout Generation Summaries and Derivations Navigation Application Logic The most important new feature of Designer/2000 Release 2.0 is the ability to record application logic or 'custom code' within the repository, and have the generators embed that code within the generated applications. This reduces the need for post-generation alterations to generated code and greatly improves the manageability and maintainability of systems developed using Designer/2000. The reverse engineering and design capture capabilities of Designer/2000 have also been extended to provide 100% reverse engineering of application logic as well as 100% generation. The repository will allow the storage and definition of application logic by holding the event model for each target language. For the Oracle Forms Generator this will mean that logic can be defined at form, block and item level for event points such as WHEN- VALIDATE-ITEM and PRE-INSERT. Each event point may have several pieces of code associated with it, some user defined - application logic, and some generated from declarative definitions - generated logic. You will be able to see the code that is to be generated from repository definitions and sequence their own application logic within the generated code chunks as required. If required, it will also be possible to replace generated application logic with the users own. Unbound Items Primary and Secondary Column Usages have been remodelled to allow items to be defined as bound to a column or unbound. A Module

6 Component can consist wholly of unbound items, thus allowing the generation of control blocks. An unbound item can have a domain associated and can be of any display datatype. Action Items The design level model has been extended to allow the definition of buttons - Action Items for a given window. Typically the buttons are used to: Navigate to another window Navigate to another module To initiate a process These action items can be graphically manipulated on the Module Data Diagram thus providing a mechanism for defining the navigation for a transaction independently of the data model for the modules. Layout Generation Although it is today possible to 100% generate an acceptable and aesthetically pleasing layout, it requires in depth knowledge of layout preferences, and foremost a lot of patience. Designer/2000 release 2.0 offers minor improvements in this problem area: Hierarchical Item Groups allow the user to nest item groups which can have different orientations. For example, this facilitates generation of vertically oriented groups, that include descriptor items that must be displayed to the right of the foreign key column. The Module Data Diagram will offer an additional view: The Layout View. This view gives an indication of what the module will look like when it is generated, hopefully decreasing the number of generations required to produce an acceptable layout. Tab Canvasses: Designer/2000 version 1.3 has an implementation of tabbed canvasses which is built using stacked canvasses as the tab pages and a poplist to control which page is visible. Release 2.0 will support the native implementation of true MS Windows 95 tabbed pages of Developer/2000 release 2.0. Prompt as an Item Property: In Developer/2000 release 2.0 the prompt will be a property of the item. Designer/ will support this feature in the Forms Generator. Assuming 100% generation, the main benefit will be the ability to generate multi-lingual applications without using Oracle Translation Manager. Summaries and Derivations The following enhancements are made to Forms generation of summary items and derivation items: They do not need to be displayed They can appear in lookup table usage's It can be the first item in a block Derivation expressions will be allowed to contain global variables, parameters, items on the form, and PL/SQL procedures/ functions The following Summary Types are supported: SUM, COUNT, AVG, MAX, MIN, VARIANCE and STDDEV Summary functions are allowed on derived items The value of a summary item reflects only those records that are actually in the block, even if a restricted query is imposed on the detail block. There will be an option to generate a 'database summary', the value reflecting all database records in a table (or a subset if governed by a WHERE clause)

7 The Generator does not restrict where summary items are displayed. It will display summary items in the block that they are defined in. Navigation The navigation model of the Forms Generator has been improved significantly and is now more in line with the expected behavior of most windows users. Areas the navigation has improved are: Navigation Scope: a preference controls if the generated form should have it's navigation bounded within each window. This causes the application to behave much more like a normal windows application where the cursor only navigates within the window and not between windows. Navigation Style: preferences are provided to set the Navigation Style of an item to either Same record, Change Record or Change Block. The item navigation style can be set differently for single-record and multi-record blocks. Window Management: preferences control if code to close child windows and child opened forms is generated. Mnemonic Access Keys: it will be possible to generate mnemonic access keys (ALT+letter) for buttons. Context Information: To pass context information when navigating to another form, you will be able to use parameters and map these parameters to items in each module. References With Headstart Designer/2000 and CDM Advantage, Oracle Consulting Services offers a complete and integrated toolkit that enables 100% generation of custom development systems using Designer/2000: The following components are included: CDM Method books to choose the optimal development approach using Designer/2000 (Classic, RAD or Lite), providing detailed descriptions of the roles, tasks and deliverables as well as automated support in the form of deliverable templates and template work breakdown structures. CDM Designer/2000 Standards and Guidelines for systems analysis, design and generation provide detailed guidance in how to use Designer/2000 in an optimal way. Headstart Template Package enables 100% generation of CDM GUI standards and guidelines, saving weeks of development time. Headstart Utilities provide automated quality assurance by checking and enforcing the CDM Designer/2000 standards, and automating time-consuming and error-prone tasks. Contact your local Oracle representative for more information or send an to cdminfo@us.oracle.com. or qms@nl.oracle.com Biographical Information Steven M. Davelaar Senior Principal Consultant Quality Management Services Rijnzathe PV de Meern Oracle Netherlands Phone: Fax: sdavelaa@nl.oracle.com

Hello everyone, how are you enjoying the conference so far? Excellent!

Hello everyone, how are you enjoying the conference so far? Excellent! 1 Hello everyone, how are you enjoying the conference so far? Excellent! I m Andy Sutton, the e-builder User Experience Lead, and I m here to talk to you about User Experience. In this session, we re going

More information

Introduction. A Brief Description of Our Journey

Introduction. A Brief Description of Our Journey Introduction If you still write RPG code as you did 20 years ago, or if you have ILE RPG on your resume but don t actually use or understand it, this book is for you. It will help you transition from the

More information

CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018

CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018 CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018 OVERVIEW... 2 SUMMARY OF MILESTONE III DELIVERABLES... 2 1. Blog Update #3 - Low-fidelity Prototyping & Cognitive Walkthrough,

More information

Concepts of Usability. Usability Testing. Usability concept ISO/IS What is context? What is context? What is usability? How to measure it?

Concepts of Usability. Usability Testing. Usability concept ISO/IS What is context? What is context? What is usability? How to measure it? Concepts of Usability Usability Testing What is usability? How to measure it? Fang Chen ISO/IS 9241 Usability concept The extent to which a product can be used by specified users to achieve specified goals

More information

Oracle Forms and Oracle APEX The Odd Couple

Oracle Forms and Oracle APEX The Odd Couple Oracle Forms and Oracle APEX The Odd Couple About me 2 Francis Mignault CTO and Co-founder, Insum Solutions 30+ years with Oracle DB, 14+ years with APEX. (Forms 2.3 / Oracle 5) Books: Expert Oracle Application

More information

Business Requirements Document (BRD) Template

Business Requirements Document (BRD) Template Business Requirements Document (BRD) Template Following is a template for a business requirements document (BRD). The document includes many best practices in use today. Don t be limited by the template,

More information

THINGS YOU NEED TO KNOW ABOUT USER DOCUMENTATION DOCUMENTATION BEST PRACTICES

THINGS YOU NEED TO KNOW ABOUT USER DOCUMENTATION DOCUMENTATION BEST PRACTICES 5 THINGS YOU NEED TO KNOW ABOUT USER DOCUMENTATION DOCUMENTATION BEST PRACTICES THIS E-BOOK IS DIVIDED INTO 5 PARTS: 1. WHY YOU NEED TO KNOW YOUR READER 2. A USER MANUAL OR A USER GUIDE WHAT S THE DIFFERENCE?

More information

FIVE BEST PRACTICES FOR ENSURING A SUCCESSFUL SQL SERVER MIGRATION

FIVE BEST PRACTICES FOR ENSURING A SUCCESSFUL SQL SERVER MIGRATION FIVE BEST PRACTICES FOR ENSURING A SUCCESSFUL SQL SERVER MIGRATION The process of planning and executing SQL Server migrations can be complex and risk-prone. This is a case where the right approach and

More information

Human-Computer Interaction: An Overview. CS2190 Spring 2010

Human-Computer Interaction: An Overview. CS2190 Spring 2010 Human-Computer Interaction: An Overview CS2190 Spring 2010 There must be a problem because What is HCI? Human-Computer interface Where people meet or come together with machines or computer-based systems

More information

Web Evaluation Report Guidelines

Web Evaluation Report Guidelines Web Evaluation Report Guidelines Graduate Students: You are required to conduct a usability test for your final project in this course. Please review the project description and the evaluation rubric on

More information

This report will document the key themes arising from the testing, and make recommendations for the development of the site.

This report will document the key themes arising from the testing, and make recommendations for the development of the site. Cloudworks usability testing February 2011 In this laboratory test four participants were given a series of nine short tasks to complete on the Cloudworks site. They were asked to verbalise their thought

More information

Process of Interaction Design and Design Languages

Process of Interaction Design and Design Languages Process of Interaction Design and Design Languages Process of Interaction Design This week, we will explore how we can design and build interactive products What is different in interaction design compared

More information

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 Introduction to User Stories CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 1 Goals Present an introduction to the topic of user stories concepts and terminology benefits and limitations

More information

Learning to Provide Modern Solutions

Learning to Provide Modern Solutions 1 Learning to Provide Modern Solutions Over the course of this book, you will learn to enhance your existing applications to modernize the output of the system. To do this, we ll take advantage of the

More information

Promoting Component Architectures in a Dysfunctional Organization

Promoting Component Architectures in a Dysfunctional Organization Promoting Component Architectures in a Dysfunctional Organization by Raj Kesarapalli Product Manager Rational Software When I first began my career as a software developer, I didn't quite understand what

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

Table of contents. TOOLKIT for Making Written Material Clear and Effective

Table of contents. TOOLKIT for Making Written Material Clear and Effective TOOLKIT for Making Written Material Clear and Effective Table of contents U.S. Department of Health & Human Services Centers for Medicare & Medicaid Services Table of contents Overview of the Toolkit The

More information

IMI WHITE PAPER INFORMATION MAPPING AND DITA: TWO WORLDS, ONE SOLUTION

IMI WHITE PAPER INFORMATION MAPPING AND DITA: TWO WORLDS, ONE SOLUTION n ao in i f rpp a t IMI WHITE PAPER INFORMATION MAPPING AND DITA: TWO WORLDS, ONE SOLUTION Abstract Introduction Information Mapping is a structured writing method with a long and successful history. It

More information

SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV

SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV 1 SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV 12 th June, 2013 Instructor Information 2 Course Instructor:

More information

FUNCTIONAL BEST PRACTICES ORACLE USER PRODUCTIVITY KIT

FUNCTIONAL BEST PRACTICES ORACLE USER PRODUCTIVITY KIT FUNCTIONAL BEST PRACTICES ORACLE USER PRODUCTIVITY KIT Purpose Oracle s User Productivity Kit (UPK) provides functionality that enables content authors, subject matter experts, and other project members

More information

Up and Running Software The Development Process

Up and Running Software The Development Process Up and Running Software The Development Process Success Determination, Adaptative Processes, and a Baseline Approach About This Document: Thank you for requesting more information about Up and Running

More information

balancer high-fidelity prototype dian hartono, grace jang, chris rovillos, catriona scott, brian yin

balancer high-fidelity prototype dian hartono, grace jang, chris rovillos, catriona scott, brian yin balancer high-fidelity prototype dian hartono, grace jang, chris rovillos, catriona scott, brian yin Problem and Solution Overview A healthy work-life balance is vital for both employers and employees.

More information

Cross-Browser Functional Testing Best Practices

Cross-Browser Functional Testing Best Practices White Paper Application Delivery Management Cross-Browser Functional Testing Best Practices Unified Functional Testing Best Practices Series Table of Contents page Introduction to Cross-Browser Functional

More information

Quick Web Development using JDeveloper 10g

Quick Web Development using JDeveloper 10g Have you ever experienced doing something the long way and then learned about a new shortcut that saved you a lot of time and energy? I can remember this happening in chemistry, calculus and computer science

More information

MAKING THE BUSINESS CASE MOVING ORACLE FORMS TO THE WEB

MAKING THE BUSINESS CASE MOVING ORACLE FORMS TO THE WEB MAKING THE BUSINESS CASE MOVING ORACLE FORMS TO THE WEB About Us Agenda Strategic Direction of Oracle Forms Applications Migration Options Migrating to 10g and 11g Migrating to J2EE and ADF Migrating to

More information

Problem and Solution Overview: An elegant task management solution, that saves busy people time.

Problem and Solution Overview: An elegant task management solution, that saves busy people time. An elegant task management solution, that saves busy people time. Team: Anne Aoki: Storyboarding, design, user studies, writing Alex Anderson: User studies, design Matt Willden: Ideation, writing, user

More information

cs465 principles of user interface design, implementation and evaluation

cs465 principles of user interface design, implementation and evaluation cs465 principles of user interface design, implementation and evaluation Karrie G. Karahalios 24. September 2008 1. Heuristic Evaluation 2. Cognitive Walkthrough 3. Discuss Homework 3 4. Discuss Projects

More information

Oracle Warehouse Builder 10g Release 2 Integrating Packaged Applications Data

Oracle Warehouse Builder 10g Release 2 Integrating Packaged Applications Data Oracle Warehouse Builder 10g Release 2 Integrating Packaged Applications Data June 2006 Note: This document is for informational purposes. It is not a commitment to deliver any material, code, or functionality,

More information

Heuristic evaluation is a usability inspection technique developed by Jakob Nielsen. The original set of heuristics was derived empirically from an

Heuristic evaluation is a usability inspection technique developed by Jakob Nielsen. The original set of heuristics was derived empirically from an Heuristic evaluation is a usability inspection technique developed by Jakob Nielsen. The original set of heuristics was derived empirically from an analysis of 249 usability problems (Nielsen, 1994). -Preece

More information

Small changes. Big results.

Small changes. Big results. FileMaker Developer Conference 2017 Presenter Series Small changes. Big results. A guide to perfecting user interface. Martha Zink, Soliant Consulting, Inc. FileMaker Developer Conference DevCon is an

More information

every Website Packages

every Website Packages every every Website Packages So you ve decided you need a new website.. Congratulations! It s a big step venturing into the rabbit hole of the interwebs and you don t want to take a wrong turn. We love

More information

6.001 Notes: Section 17.5

6.001 Notes: Section 17.5 6.001 Notes: Section 17.5 Slide 17.5.1 Now, let's look at one example in which changing the evaluation model allows us to explore a very different kind of computational problem. Our goal is to show how

More information

Module 10A Lecture - 20 What is a function? Why use functions Example: power (base, n)

Module 10A Lecture - 20 What is a function? Why use functions Example: power (base, n) Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Module 10A Lecture - 20 What is a function?

More information

Usability Tests and Heuristic Reviews Planning and Estimation Worksheets

Usability Tests and Heuristic Reviews Planning and Estimation Worksheets For STC DC Usability SIG Planning and Estimation Worksheets Scott McDaniel Senior Interaction Designer 26 February, 2003 Eval_Design_Tool_Handout.doc Cognetics Corporation E-mail: info@cognetics.com! Web:

More information

ebook library PAGE 1 HOW TO OPTIMIZE TRANSLATIONS AND ACCELERATE TIME TO MARKET

ebook library PAGE 1 HOW TO OPTIMIZE TRANSLATIONS AND ACCELERATE TIME TO MARKET ebook library PAGE 1 HOW TO OPTIMIZE TRANSLATIONS AND ACCELERATE TIME TO MARKET Aligning people, process and technology to improve quality and speed to market To succeed in the global business arena, companies

More information

GIS LAB 1. Basic GIS Operations with ArcGIS. Calculating Stream Lengths and Watershed Areas.

GIS LAB 1. Basic GIS Operations with ArcGIS. Calculating Stream Lengths and Watershed Areas. GIS LAB 1 Basic GIS Operations with ArcGIS. Calculating Stream Lengths and Watershed Areas. ArcGIS offers some advantages for novice users. The graphical user interface is similar to many Windows packages

More information

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution: Whitepaper The Challenge: Enterprise JavaBeans (EJB) represents a new standard in enterprise computing: a component-based architecture for developing and deploying distributed object-oriented applications

More information

Software Quality. Martin Glinz. Thomas Fritz. Lecture 7 UI Design, Usability & Testing. Many thanks to Meghan Allen and Daniel Greenblatt.

Software Quality. Martin Glinz. Thomas Fritz. Lecture 7 UI Design, Usability & Testing. Many thanks to Meghan Allen and Daniel Greenblatt. Institut für Informatik Software Quality Lecture 7 UI Design, Usability & Testing Thomas Fritz Martin Glinz Many thanks to Meghan Allen and Daniel Greenblatt. Overview Introduction to UI design User-centered

More information

Heuristic Evaluation. An Analysis of The Toronto Public Library Website. By: Chris Dacol

Heuristic Evaluation. An Analysis of The Toronto Public Library Website. By: Chris Dacol Heuristic Evaluation An Analysis of The Toronto Public Library Website By: Chris Dacol Global High-level Evaluation After evaluating the Toronto Public Library desktop website I have identified several

More information

Contractors Guide to Search Engine Optimization

Contractors Guide to Search Engine Optimization Contractors Guide to Search Engine Optimization CONTENTS What is Search Engine Optimization (SEO)? Why Do Businesses Need SEO (If They Want To Generate Business Online)? Which Search Engines Should You

More information

Relay For Life Fundraising

Relay For Life Fundraising Relay For Life Fundraising The Art and Science of Asking for Donations Relay For Life Online Committee Table of Contents TABLE OF CONTENTS... 2 INTRODUCTION... 3 THE ART OR HUMAN SIDE OF ASKING... 4 THERE

More information

A learning initiative for all What is it? - What does it cost? Usability Mapping. By CAT - i

A learning initiative for all What is it? - What does it cost? Usability Mapping. By CAT - i A learning initiative for all What is it? - What does it cost? Usability Mapping By CAT - i Safety and documentation cannot be separated. We will never know how much harm we prevented. We must always know

More information

The Journey of a Senior System Center Consultant Implementing BSM

The Journey of a Senior System Center Consultant Implementing BSM November 2014 The Journey of a Senior System Center Consultant Implementing BSM AUTHOR: APPROVED CONSULTING, JONAS LENNTUN Amsterdam - New York Ottawa - Dallas www.savision.com sales@savision.com 1.1 How

More information

COPYRIGHTED MATERIAL. Getting Started with Google Analytics. P a r t

COPYRIGHTED MATERIAL. Getting Started with Google Analytics. P a r t P a r t I Getting Started with Google Analytics As analytics applications go, Google Analytics is probably the easiest (or at least one of the easiest) available in the market today. But don t let the

More information

List Building Income

List Building Income How to Build a Virtual Empire of Recurring Customers for Passive Income! Module 04: Maximize Your Leads and Sales Conversions Important Learning Advisory: To experience better learning, it is recommended

More information

Joint Application Design & Function Point Analysis the Perfect Match By Sherry Ferrell & Roger Heller

Joint Application Design & Function Point Analysis the Perfect Match By Sherry Ferrell & Roger Heller Joint Application Design & Function Point Analysis the Perfect Match By Sherry Ferrell & Roger Heller Introduction The old adage It s not what you know but when you know it that counts is certainly true

More information

Git with It and Version Control!

Git with It and Version Control! Paper CT10 Git with It and Version Control! Carrie Dundas-Lucca, Zencos Consulting, LLC., Cary, NC, United States Ivan Gomez, Zencos Consulting, LLC., Cary, NC, United States ABSTRACT It is a long-standing

More information

Taming Rave: How to control data collection standards?

Taming Rave: How to control data collection standards? Paper DH08 Taming Rave: How to control data collection standards? Dimitri Kutsenko, Entimo AG, Berlin, Germany Table of Contents Introduction... 1 How to organize metadata... 2 How to structure metadata...

More information

AS10473 Design Workflow from Concept to Construction Documents Design Workflow from Concept to Construction Documents

AS10473 Design Workflow from Concept to Construction Documents Design Workflow from Concept to Construction Documents Design Workflow from Concept to Construction Documents Laura Kay Smith Kasian Architecture Interior Design and Planning LTD. Learning Objectives Learn how to effectively create a process leading from design

More information

2/18/2009. Introducing Interactive Systems Design and Evaluation: Usability and Users First. Outlines. What is an interactive system

2/18/2009. Introducing Interactive Systems Design and Evaluation: Usability and Users First. Outlines. What is an interactive system Introducing Interactive Systems Design and Evaluation: Usability and Users First Ahmed Seffah Human-Centered Software Engineering Group Department of Computer Science and Software Engineering Concordia

More information

What s New in Pentana v5.0

What s New in Pentana v5.0 What s New in Pentana v5.0 VERSION 5.0 SEPTEMBER 2016 Table of Contents Introduction... 2 Major New Features... 3 Windows User Interface (WPF UI)... 3 Ideagen Theme... 3 Data Grid Improvements... 3 Set

More information

REPORT MICROSOFT PATTERNS AND PRACTICES

REPORT MICROSOFT PATTERNS AND PRACTICES REPORT MICROSOFT PATTERNS AND PRACTICES Corporate Headquarters Nucleus Research Inc. 100 State Street Boston, MA 02109 Phone: +1 617.720.2000 Nucleus Research Inc. TOPICS Application Development & Integration

More information

Interaction Design. Task Analysis & Modelling

Interaction Design. Task Analysis & Modelling Interaction Design Task Analysis & Modelling This Lecture Conducting task analysis Constructing task models Understanding the shortcomings of task analysis Task Analysis for Interaction Design Find out

More information

Creating accessible forms

Creating accessible forms Creating accessible forms Introduction Creating an accessible form can seem tricky. Some of the questions people commonly ask include: Can I use protected forms? How do I lay out my prompts and questions?

More information

Events in Oracle Eloqua

Events in Oracle Eloqua A Marketing Geek s Guide to: Events in Oracle Eloqua ABOUT THIS SERIES Oracle Eloqua is the most powerful marketing automation platform on the market. It has the ability to scale to the needs of the largest

More information

Formatting Documents (60min) Working with Tables (60min) Adding Headers & Footers (30min) Using Styles (60min) Table of Contents (30min)

Formatting Documents (60min) Working with Tables (60min) Adding Headers & Footers (30min) Using Styles (60min) Table of Contents (30min) Browse the course outlines on the following pages to get an overview of the topics. Use the form below to select your custom topics and fill in your details. A full day course is 6 hours (360 minutes)

More information

Agenda Birds Do It: Migrating Forms to Java EE Web A Case Study

Agenda Birds Do It: Migrating Forms to Java EE Web A Case Study Agenda Birds Do It: Migrating Forms to Java EE Web A Case Study The migration requirement Technology decision process Challenges, successes, lessons learned Government Technology Conference (GTC) East

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

Power BI 1 - Create a dashboard on powerbi.com... 1 Power BI 2 - Model Data with the Power BI Desktop... 1

Power BI 1 - Create a dashboard on powerbi.com... 1 Power BI 2 - Model Data with the Power BI Desktop... 1 Our course outlines are 1 and 2 hour sessions (all courses 1 hour unless stated) that are designed to be delivered presentation style with an instructor guiding attendees through scenario based examples

More information

Working Material. The Regulatory Authority Information System. RAIS 3.0 with SQL Server Extensions. Programmer s Guide. Part I Advanced Customization

Working Material. The Regulatory Authority Information System. RAIS 3.0 with SQL Server Extensions. Programmer s Guide. Part I Advanced Customization Working Material The Regulatory Authority Information System RAIS 3.0 with SQL Server Extensions Programmer s Guide Part I Advanced Customization Document version 1/12/2006 Contents 1 Introduction...1

More information

Automatic Coding by Section in NVivo

Automatic Coding by Section in NVivo What is Section Coding? Automatic Coding by Section in NVivo You can use heading styles (or more simply headings ) applied to paragraphs in your documents to automatically code the text in paragraphs following

More information

Workbooks (File) and Worksheet Handling

Workbooks (File) and Worksheet Handling Workbooks (File) and Worksheet Handling Excel Limitation Excel shortcut use and benefits Excel setting and custom list creation Excel Template and File location system Advanced Paste Special Calculation

More information

ORACLE TRAINING CURRICULUM. Relational Databases and Relational Database Management Systems

ORACLE TRAINING CURRICULUM. Relational Databases and Relational Database Management Systems ORACLE TRAINING CURRICULUM Relational Database Fundamentals Overview of Relational Database Concepts Relational Databases and Relational Database Management Systems Normalization Oracle Introduction to

More information

The Business Case for Network Segmentation

The Business Case for Network Segmentation Modern network segmentation to reduce risk and cost Abstract Modern network segmentation, also known as microsegmentation, offers a new way of managing and securing your network, offering tremendous benefits

More information

The Hidden Costs of Free Database Auditing Comparing the total cost of ownership of native database auditing vs. Imperva SecureSphere

The Hidden Costs of Free Database Auditing Comparing the total cost of ownership of native database auditing vs. Imperva SecureSphere Comparing the total cost of ownership of native database auditing vs. Imperva SecureSphere Executive Summary To achieve compliance for regulatory mandates, many organizations turn to the free auditing

More information

The Information Technology Program (ITS) Contents What is Information Technology?... 2

The Information Technology Program (ITS) Contents What is Information Technology?... 2 The Information Technology Program (ITS) Contents What is Information Technology?... 2 Program Objectives... 2 ITS Program Major... 3 Web Design & Development Sequence... 3 The Senior Sequence... 3 ITS

More information

V6 Programming Fundamentals: Part 1 Stored Procedures and Beyond David Adams & Dan Beckett. All rights reserved.

V6 Programming Fundamentals: Part 1 Stored Procedures and Beyond David Adams & Dan Beckett. All rights reserved. Summit 97 V6 Programming Fundamentals: Part 1 Stored Procedures and Beyond by David Adams & Dan Beckett 1997 David Adams & Dan Beckett. All rights reserved. Content adapted from Programming 4th Dimension:

More information

Top of Minds Report series Data Warehouse The six levels of integration

Top of Minds Report series Data Warehouse The six levels of integration Top of Minds Report series Data Warehouse The six levels of integration Recommended reading Before reading this report it is recommended to read ToM Report Series on Data Warehouse Definitions for Integration

More information

Portfolio. Mihai Marin

Portfolio. Mihai Marin Portfolio Mihai Marin Case Study No. 1 AXA Insurance - Travel Insurance: Redesign Quote & Buy Journey The Brief As a result of the Travel Quote & Buy journey not being fully mobile optimised, it was becoming

More information

Product Review: James F. Koopmann Pine Horse, Inc. SoftTree s SQL Assistant. Product Review: SoftTree s SQL Assistant

Product Review: James F. Koopmann Pine Horse, Inc. SoftTree s SQL Assistant. Product Review: SoftTree s SQL Assistant Product Review: James F. Koopmann Pine Horse, Inc. SoftTree s SQL Assistant Introduction As much as database vendors would like us to believe that databases are easy to use, databases in fact become more

More information

Now, we can refer to a sequence without having to use any SELECT command as follows:

Now, we can refer to a sequence without having to use any SELECT command as follows: Enhancement in 11g Database PL/SQL Sequence: Oracle Database 11g has now provided support for Sequence in PL/SQL. Earlier to get a number from a sequence in PL/SQL we had to use SELECT command with DUAL

More information

Intelligent Agents in CloudDeakin

Intelligent Agents in CloudDeakin SENSES e L e a r n i n g p r o j e c t Intelligent Agents in CloudDeakin Intelligent Agents are automatic emails sent to students in response to their actions. It is an efficient way to personalise the

More information

Cognitive Disability and Technology: Universal Design Considerations

Cognitive Disability and Technology: Universal Design Considerations Cognitive Disability and Technology: Universal Design Considerations Clayton Lewis Coleman Institute for Cognitive Disabilities RERC-ACT clayton.lewis@colorado.edu Prepared for AUCD Training Symposium,

More information

CPU DB Data Visualization Senior Project Report

CPU DB Data Visualization Senior Project Report CPU DB Data Visualization Senior Project Report Marek Moreno ( mmoren14@calpoly.edu ) Ruchita Patel ( rpatel31@calpoly.edu ) 16 June 2017 Introduction Project Overview/Executive Summary Given the CPU database

More information

INTRODUCTION BACKGROUND DISCOVERER. Dan Vlamis, Vlamis Software Solutions, Inc. DISCOVERER PORTLET

INTRODUCTION BACKGROUND DISCOVERER. Dan Vlamis, Vlamis Software Solutions, Inc. DISCOVERER PORTLET FRONT-END TOOLS TO VIEW OLAP DATA Dan Vlamis, Vlamis Software Solutions, Inc. dvlamis@vlamis.com INTRODUCTION Discoverer release 10g uses BI Beans to present Oracle OLAP data. It gets its power from BI

More information

1 Introduction. 2 Web Architecture

1 Introduction. 2 Web Architecture 1 Introduction This document serves two purposes. The first section provides a high level overview of how the different pieces of technology in web applications relate to each other, and how they relate

More information

chapter 3 the interaction

chapter 3 the interaction chapter 3 the interaction ergonomics physical aspects of interfaces industrial interfaces Ergonomics Study of the physical characteristics of interaction Also known as human factors but this can also be

More information

The first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below.

The first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below. Graphing in Excel featuring Excel 2007 1 A spreadsheet can be a powerful tool for analyzing and graphing data, but it works completely differently from the graphing calculator that you re used to. If you

More information

Overview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen

Overview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen Overview of the course User-Centred Design Fang Chen 6 lectures, 3 hr each. L 1: April 6, 9-12, user-centered design concept L2: April 14, 9-12, usability concept L3. user-centered requirement study L4.

More information

Object Oriented Programming

Object Oriented Programming Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering

More information

Mathematics and Computing: Level 2 M253 Team working in distributed environments

Mathematics and Computing: Level 2 M253 Team working in distributed environments Mathematics and Computing: Level 2 M253 Team working in distributed environments SR M253 Resource Sheet Specifying requirements 1 Overview Having spent some time identifying the context and scope of our

More information

Requirement Engineering within an Agile Environment BY KEJI GIWA. Digital Bananas Technology

Requirement Engineering within an Agile Environment BY KEJI GIWA. Digital Bananas Technology Requirement Engineering within an Agile Environment BY KEJI GIWA HLR Workshop Requirement Catalogue Product Planning Sprint Planning Meeting Keyscreens Use Case / Epic Stories Implement Wireframes DBT

More information

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 06 Object-Oriented Analysis and Design Welcome

More information

3Lesson 3: Web Project Management Fundamentals Objectives

3Lesson 3: Web Project Management Fundamentals Objectives 3Lesson 3: Web Project Management Fundamentals Objectives By the end of this lesson, you will be able to: 1.1.11: Determine site project implementation factors (includes stakeholder input, time frame,

More information

For example, let's say that we have the following functional specification:

For example, let's say that we have the following functional specification: FRAME IT: THE NUTS AND BOLTS OF RAD Marty Brown, CommScope, Inc., Claremont, NC INTRODUCTION The road to finishing a quality application does not have to be a long and confusing one. With the advent of

More information

10 TESTED LANDING PAGE ELEMENTS GUARANTEED TO IMPROVE CONVERSIONS

10 TESTED LANDING PAGE ELEMENTS GUARANTEED TO IMPROVE CONVERSIONS 10 TESTED LANDING PAGE ELEMENTS GUARANTEED TO IMPROVE CONVERSIONS CONTENTS 1. INTRODUCTION 2. WHAT IS A LANDING PAGE? 3. WHY IS A LANDING PAGE IMPORTANT? 5. THE 10 ESSENTIAL PAGE ELEMENTS 12. PUTTING IT

More information

Refreshing Your Affiliate Website

Refreshing Your Affiliate Website Refreshing Your Affiliate Website Executive Director, Pennsylvania Affiliate Your website is the single most important marketing element for getting the word out about your affiliate. Many of our affiliate

More information

Grade Point Scales Standard Honors AP/College A B C D F Sample file

Grade Point Scales Standard Honors AP/College A B C D F Sample file 64 Transcripts Weighted Cumulative GPA When your student works extra hard and takes honors or college courses, they deserve a little credit. The best way to reflect this is through their GPA. They deserve

More information

Creating a Departmental Standard SAS Enterprise Guide Template

Creating a Departmental Standard SAS Enterprise Guide Template Paper 1288-2017 Creating a Departmental Standard SAS Enterprise Guide Template ABSTRACT Amanda Pasch and Chris Koppenhafer, Kaiser Permanente This paper describes an ongoing effort to standardize and simplify

More information

Moving from a Paper to Paperless validation effort and how to get the most efficient mix of Manual vs. Automated testing.

Moving from a Paper to Paperless validation effort and how to get the most efficient mix of Manual vs. Automated testing. Moving from a Paper to Paperless validation effort and how to get the most efficient mix of Manual vs. Automated testing. Overview The desire to use tools to increase validation productivity with the consequent

More information

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist IBM Podcast [ MUSIC ] Welcome to this IBM podcast, Realizing More Value from Your IMS Compiler Upgrade. I'm Kimberly Gist with IBM. System z compilers continue to deliver the latest programming interfaces

More information

VIDEO 1: WHY IS THE USER EXPERIENCE CRITICAL TO CONTEXTUAL MARKETING?

VIDEO 1: WHY IS THE USER EXPERIENCE CRITICAL TO CONTEXTUAL MARKETING? VIDEO 1: WHY IS THE USER EXPERIENCE CRITICAL TO CONTEXTUAL MARKETING? Hello again! I m Angela with HubSpot Academy. In this class, you re going to learn about the user experience. Why is the user experience

More information

Week - 03 Lecture - 18 Recursion. For the last lecture of this week, we will look at recursive functions. (Refer Slide Time: 00:05)

Week - 03 Lecture - 18 Recursion. For the last lecture of this week, we will look at recursive functions. (Refer Slide Time: 00:05) Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 03 Lecture - 18 Recursion For the

More information

Rapid Application Development [RAD]

Rapid Application Development [RAD] Rapid Application Development [RAD] RAD In Solution Delivery,, Beyond Prototypes www.lytecube.com Author: Girish Bellalcheru CTO, Lytecube.com Abstract Rapid application development has traditionally been

More information

Case study on PhoneGap / Apache Cordova

Case study on PhoneGap / Apache Cordova Chapter 1 Case study on PhoneGap / Apache Cordova 1.1 Introduction to PhoneGap / Apache Cordova PhoneGap is a free and open source framework that allows you to create mobile applications in a cross platform

More information

By Chung Yeung Pang. The Cases to Tackle:

By Chung Yeung Pang. The Cases to Tackle: The Design of Service Context Framework with Integration Document Object Model and Service Process Controller for Integration of SOA in Legacy IT Systems. By Chung Yeung Pang The Cases to Tackle: Using

More information

SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT

SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT Question: Difference between Verification and Validation? Answer: Verification ensures the product is designed to deliver all functionality to the customer;

More information

BTEC Nationals IT - Unit2 FAQs

BTEC Nationals IT - Unit2 FAQs BTEC Nationals IT - Unit2 FAQs Q1 Q2 I need more clarity on what is required in the design task Is it expected that the race officials are entering times as raw times and then the table is set up so it

More information

COMP 388/441 HCI: Introduction. Human-Computer Interface Design

COMP 388/441 HCI: Introduction. Human-Computer Interface Design Human-Computer Interface Design About Me Name: Sebastian Herr Born and raised in Germany 5-year ( BS and MS combined) degree in Business & Engineering from the University of Bamberg Germany Work experience

More information

Fast Track Model Based Design and Development with Oracle9i Designer. An Oracle White Paper August 2002

Fast Track Model Based Design and Development with Oracle9i Designer. An Oracle White Paper August 2002 Fast Track Model Based Design and Development with Oracle9i Designer An Oracle White Paper August 2002 Fast Track Model Based Design and Development with Oracle9i Designer Executive Overivew... 3 Introduction...

More information