WO2000005659A1 - Ensemble d'analyse - Google Patents
Ensemble d'analyse Download PDFInfo
- Publication number
- WO2000005659A1 WO2000005659A1 PCT/US1999/016655 US9916655W WO0005659A1 WO 2000005659 A1 WO2000005659 A1 WO 2000005659A1 US 9916655 W US9916655 W US 9916655W WO 0005659 A1 WO0005659 A1 WO 0005659A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- datum
- user
- analysis package
- rules
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Definitions
- the present invention relates generally to the field of application software and more particularly to an analysis package and method.
- Integrated accounting and project software tools attempt to solve some of these problems. These tools combine the cost accounting aspects of project management with the cost accounting aspects of running a business. Unfortunately these software tools are mainly directed to providing real-time corporate financial information and limited to project management applictions. In addition, a manager needs not only financial information, but marketing, project and technical information. Managers are commonly interested in the future effects of their decision not the present situation. The integrated accounting and project tools do not provide these features.
- FIG. 1 is a front view of a computer capable of operating the invention in accordance with one embodiment of the invention
- FIG. 2 is a block diagram of the invention in accordance with one embodiment of the invention
- FIG. 3 is a block diagram of the invention in accordance with one embodiment of the invention.
- FIG. 4 is a block diagram of an input system of the invention in accordance with one embodiment of the invention.
- FIG. 5 is a schematic diagram of a data storage and scenario system of the invention in accordance with one embodiment of the invention.
- FIG. 6 is a flow chart of the steps used in operating the invention in accordance with one embodiment of the invention.
- FIGs. 7-12 are example screens of an interview system of the invention in accordance with one embodiment of the invention.
- FIGs. 13-14 are example screens of an output system of the invention in accordance with one embodiment of the invention.
- FIG. 15 is an example screen of an output system of the invention in accordance with one embodiment of the invention.
- FIG. 16 is a flow chart of the steps used in resolving circular references in accordance with one embodiment of the invention.
- FIG. 17 is a flow chart of the steps used in resolving circular references in accordance with one embodiment of the invention.
- FIG. 18 is a list of rules used in resolving a circular reference in accordance with one embodiment of the invention
- FIG. 19 is a flow chart of the steps used in implementing the rules to resolve a circular reference in accordance with one embodiment of the invention
- FIG. 20 is a front view of a computer capable of operating the invention in accordance with one embodiment of the invention.
- FIG. 21 is a block diagram of the invention in accordance with one embodiment of the invention.
- FIG. 22 is a flow chart of the steps used in the invention in accordance with one embodiment of the invention.
- FIGs. 23A-23B are example screens of an output system of the invention in accordance with one embodiment of the invention;
- FIG. 24 is an example screen of an interview system of the invention in accordance with one embodiment of the invention.
- FIG. 25 is an example screen of an output system of the invention in accordance with one embodiment of the invention.
- FIG. 26 is a flow chart of the steps used in the invention in accordance with one embodiment of the invention.
- FIGs. 27A-27F are example screens of an interview system of the invention in accordance with one embodiment of the invention.
- FIG. 28 is a flow chart of the steps used in the invention in accordance with one embodiment of the invention.
- FIG. 29 is an example of an interform system of the invention in accordance with one embodiment of the invention.
- FIG. 30 is an example of an interform system of the invention in accordance with one embodiment of the invention.
- FIG. 31 is a example of the commands used to operate the interform system in accordance with one embodiment of the invention.
- FIG. 32 is a flow chart of the steps used in the invention in accordance with one embodiment of the invention.
- FIGs. 33A-33B are charts that illustrate the step used by the interform system in accordance with one embodiment of the invention.
- FIGs. 34A-34B are charts that illustrate the step used by the interform system in accordance with one embodiment of the invention.
- FIG. 35 is a chart that illustrates the step used by the interform system in accordance with one embodiment of the invention.
- FIG. 36 is a flow chart of the steps used in the invention in accordance with one embodiment of the invention.
- the analysis package includes an input system for receiving data.
- An administrative system receives the data from the input system.
- a data storage and scenario system receives the data from the administrative system and forms a scenario case.
- An output system is connected to the administrative system and displays the scenario case.
- the analysis package allows for a variety input formats, such as keyboard, files, an interview subsystem and manipulation of graphical images.
- the analysis package provides graphic output views where logical. This greatly increases the user' s understanding of the implications of changes to the underlying assumptions (data).
- the package also provides trend rates relating to marketing analysis, financial analysis and project analysis.
- FIG. 1 is a front view of a computer 50 capable of operating the invention in accordance with one embodiment of the invention.
- the computer system 50 includes a monitor 52 for viewing input and output information.
- a mouse 54 track ball, track pad. etc.
- keyboard 56 are used to provide input and view results.
- the computer 50 includes a processor 58 connected to a memory 60.
- the memory may contain a spreadsheet application 62.
- the spreadsheet application 62 is used by the analysis package to perform mathematical operations and for storing data.
- FIG. 2 is a block diagram of the invention in accordance with one embodiment of the invention.
- the analysis package is structured in a client server model.
- a client application 70 requests data updates 72 and transmits data change requests 74 to a server application 76.
- the server application 76 has access to a data store 78.
- the client 70 controls a display 80.
- FIG. 3 is a block diagram of the invention in accordance with one embodiment of the invention.
- the analysis package 90 includes an input system 92 that receives a plurality of data.
- An administrative system 94 receives the plurality of data from the input system 92.
- a data storage and scenario system 96 receives the plurality data and forms a scenario case.
- An output system 98 connected to the administrative system displays the scenario case.
- FIG. 4 is a block diagram of an input system 1 10 of the invention in accordance with one embodiment of the invention.
- the input system 110 includes a keyboard 1 12 and mouse (track ball, etc.) 1 14 that can provide data directly to the administrative system 1 16 or to an interview subsystem 1 18.
- the interview subsystem 1 18 queries the user for some of the most relevant data for a given scenario, such as a software development project.
- the interview system would ask questions such as: the number of programmers working on a project? and what percentage of their time is devoted to the project?
- Files 120 can also be imported to provide input data.
- FIG. 5 is a schematic diagram of a data storage and scenario system 140 of the invention in accordance with one embodiment of the invention.
- the data storage and scenario system 140 includes a directory sheet 142 that lists every sheet in the data storage system 140.
- the directory sheet also provides other information about the sheets, such as title and location.
- a rules sheet 144 includes a sheet containing all the rules necessary to change data (a datum, modify a datum).
- the data storage and scenario system 140 has a plurality of rules sheets.
- One of the plurality of rules sheets includes a plurlaity of rules that are implemented if a user wants to change a calculated value. Other rules sheets deal with adding/deleting data or requirements.
- the data storage system 140 includes at least one data sheet 146.
- the data sheet 146 includes both raw input and calculated values.
- the plurality of data sheets 146 form the scenario case.
- the plurality of data sheets 146 includes a financial analysis data sheet, a project analysis data sheet and a market analysis data sheet.
- the plurality of data sheets 146 include a plurality of links between the data sheets
- the plurality of data sheets 146 includes a lock sheet (locking mechanism, data lock sheet) for each standard data sheet.
- the lock sheet stores which data items have been locked by a user.
- the data storage and scenario system 140 includes a default data sheet 148.
- a set of default data sheets 148 will corresponds to a specific business situation. For example one set of default data sheets corresponds to software development projects. Note that there may be a different interview subsystem for each set of default data sheets.
- FIG. 6 is a flow chart of the steps used in operating the invention in accordance with one embodiment of the invention. The process starts, step 160, by entering an input at step 162.
- the analysis package determines one of a plurality of data sheets that holds a datum of the datum addition at step 166.
- the datum of the datum addition is stored in the one of the plurlaity of data sheets at step 168.
- a view associated with the one of the plurality of data sheets is updated, which ends the process at step 172. In one embodiment, every view effected by the datum addition is updated.
- the input is a datum change.
- the analysis package finds a rules sheet associated with the datum change.
- the analysis package implements the plurality of rules required by the datum change to update at least one of the plurality of data sheets.
- a view associated with the at least one of the plurality of data sheets is updated.
- every view effected by the datum change is updated. Note that the analysis package allows a user to change calculated values as well as raw data. In one embodiment, the analysis package determines if one of the plurality of rules requires modifying a locked datum.
- the user When a rule requires modifying a locked datum, the user is sent a message.
- the message can be an error message and explain that a particular datum is locked.
- the plurality of rules include a first priority set of rules if no data is locked, and a second priority set of rules if one of the datums is locked. The sets of rules will cover every possible permutation of locked and unlocked data.
- the input is a datum deletion.
- the analysis package determines one of the plurality of data sheets that holds a datum of the datum deletion.
- the analysis package then deletes the datum of the datum deletion from the one of the plurality of data sheets.
- a view associated with the one of the plurality of data sheets is updated.
- every view effected by the datum deletion is updated.
- a user selects a type of product development they wish to analyze, for example, a software product, a semiconductor product or a telecommunication project.
- the analysis package then uses a plurality of default data sheets associated with the type of product development.
- an interviewing subsystem associated with type of product development is initiated.
- the interview subsystem receives a plurality of answers from a user.
- the input is a datum lock.
- the analysis package stores a rule that a datum associated with the datum lock is locked.
- the user manipulates a graphical image to make a change to a datum.
- FIGs. 7-12 are example screens of an interview system of the invention in accordance with one embodiment of the invention.
- FIG. 7 shows the general view 180 of the interview subsystem. This view allows a user to enter basic project data such as the name of the project 182, the start date of the project 184, the end date of the project 186, the labor burden rate of the resources assigned to work on the project 188 and the overhead burden rate of the resources assigned to work on the project 190.
- the lock icon next to the data input sections. When the user clicks on the lock the data is locked and cannot be changed either by the user or by the system. The user can unlock the data by clicking on the lock again.
- FIG. 8 shows the developers view 192 of the interview subsystem. This view allows the user to enter development information about the project. The view has several subviews. The user has selected the general information subview 194. Here - li the user enters the name of a developer 196, the monthly salary of the developer 198, and the annual salary increase of the developer 200.
- FIG. 9 shows the maintainers view 202 and the general information subview 204.
- the user can enter the name of the maintainer 206, the maintainer's annual salary 208 and the annual salary increase 210.
- FIG. 10 shows the market segments view 212 and the general information subview 214.
- the user can enter the name of the market segment 216, the market segment size 218, the rate at which the market segment will grow 220 and the target sales price 222.
- FIG. 11 shows the sales view 224 of the interview system.
- the user can enter the cost per unit sold 226, the fixed cost per unit sold 228 and the market window 230.
- FIG. 12 shows the requirements view 232 and the general information subview 234.
- the user can enter a requirement ID 236, a description of the requirement 238, the number of person hours required to complete the requirement 240, the development risk 242 and whether to enter the requirement into the baseline 244.
- FIGs. 13- 14 are example screens of an output system of the invention in accordance with one embodiment of the invention.
- FIG. 13 shows an output graph that plots the probability of completing the project versus the number of person months.
- a line 260 represents the planned number of person months. The user can edit the planned person months by dragging the line to a new position 262.
- FIG. 14 shows the graph after the change.
- the invention allows a user to manipulate a graphic image to provide input to the analysis package.
- FIG. 15 is an example screen 280 of an output system of the invention in accordance with one embodiment of the invention.
- the screen 280 shows four views: the requirements view 282; the development personnel view 284; the risk assessment view 286 and the effort estimation view 288. These views can be displayed (removed) by clicking on the associated icons 288.
- FIG. 16 is a flow chart of the steps used in resolving circular references in accordance with one embodiment of the invention.
- the process starts, step 300, by determining if a circular reference has been defined at step 302.
- the analysis package determines if a user wants to be able to directly modify a calculated value at step 304.
- the system displays a plurality of rule choices which ends the process at step 308.
- the user selects one of the plurality of rule choices.
- the plurality of rules are incorporated into a rules sheet.
- the user may then select a second of the plurality of rules choices.
- the second of the plurality of rule choices are incorporated into the rules sheet.
- the process of FIG. 16 can be part of the analysis package described in FIGs. 1- 15 or the process can stand alone. In a stand alone mode it would commonly be used with a spreadsheet application, however other applications are possible. .
- a first priority flag is associated with the one of the plurality of rule choices and a second priority flag is associated with the second of the plurality of rule choices.
- the process displays a rule that locks a selected variable.
- the process displays a rule that a selected variable varies directly with the calculated value.
- the process displays a rule that a selected variable varies in a preselected way with the calculated value.
- the process displays a rule that a selected variable is determined based on a control equation.
- FIG. 17 is a flow chart of the steps used in resolving circular references in accordance with one embodiment of the invention.
- the process starts, step 320, by determining if a value is a calculated value at step 322. When the value is a calculated value, the process determines the variables used to calculate the calculated value at step 324. The system then displays rule choices to the user at step 326. These first rules choices do not have any locked data or range limitations. The process then receives the user's selection as input at step 328. Next, the process displays the lock rule choices at step 330.
- the lock rules choices define how the process adjusts the remaining unlock variables when one or more variables are locked. The system requests that the user define a rule for every possible combination locked variables. The system receives the user's input at step 332.
- the system then displays the range rule choices at step 334.
- the user can select not to limit the range of any of the variables.
- the process asks for a rule when the variable hits a limit of its range.
- the process receives the user's input which ends the process at step 336.
- FIG. 17 is used in setting up the rules for resolving circular references.
- a second part of the invention is how the rules are implemented when a user changes the calculated value. The implementation part of the invention is explained in more detail with respect to FIG. 19.
- FIG. 18 is a list of rules used in resolving a circular reference in accordance with one embodiment of the invention. Note that the rules given are examples and other rules can also be defined.
- the calculated value is "F” and the variables are "A", “B”, “C”, “D”. and "E”.
- the user is first asked to apportion the change in F ( ⁇ F) among the change in A ( ⁇ A), the change in product BC ( ⁇ BC), and the change in exponential D E ( ⁇ D E ).
- the user defines a percentage (a, b, d) for each of the "sum variables". Note that if none of the "sum variables" are locked then a. b, d must add up to be one.
- the user then proceeds to define these percentages if any of the "sum variables" are locked.
- the user is required to define how to apportion the change in B ( ⁇ B) compared to the change in C ( ⁇ C). Commonly with an exponential, one or the other of the variables is locked. However, other rules are possible.
- the user is asked if he wants to limit the range of any of the variables. For instance, a user may never want a variable to have a value of less than zero. If a situation arises where the variable would normally be negative, the user is asked how the other variables are to be adjusted.
- FIG. 19 is a flow chart of the steps used in implementing the rules to resolve a circular reference in accordance with one embodiment of the invention. The process starts, step 340, by determining if a calculated value has been changed at step 342.
- the sum rules are applied at step 344. Note that the appropriate sum rule has to be selected based on which variables are locked.
- step 346 it is determined if the sum rule violates a range rule at step 346. When the sum rule does violate the range rules, an out of range rule is applied at step 348. When no range rule is violated, the product rules are applied at step 350. The process then determines if the product rule violates a range rule at step 352. When the product rule violates a range rule, the process applies the out of range rules at step 356. The process ends at step 356. Note that an exponential rule could also be applied with checks for violations of range rules.
- the present invention is a system and method for creating a relationship between a plurality of data and a graphic representation of that data.
- the invention displays that data in a graphical view. This invention allows decision-makers to quickly visualize the data in a graphical format and use that data to make informed decisions.
- the invention is embodied in a tool that can be used b y decision-makers to see multiple, graphical views of their data.
- the invention has a number of aspects of particular intere st to the user: the opening and closing of graphical views, th e entering of data, the presentation of graphics, the modifiability of the data, the viewing of data, and the propagation of changes.
- FIG. 20 is a block diagram of an exemplary computer s ys tem 400 suitable for practicing the invention.
- the computer sys tem 400 comprises a computer 402 having a processor 404 , memory (typically including both Random Access Memory
- the computer system 400 also includes a display 410, and a pointing device 412, which m a y be a mouse (other pointing devices, such as a trackball, stylus , light pen, or touch screen may also be used) and a keybo ard
- FIG. 21 is a block diagram of an exemplary system 420 i n accordance with the invention.
- the system 420 consists of a server 422 and a client 424 that exchange data.
- the server 422 has a storage space for data 426 in its memory.
- the u s er of the invention interacts with the invention through using the input devices (pointing device 412 and keyboard 414) an d viewing the display 410 that is connected to the client 424.
- the invention is a system and method for managing a plurality of data values that represent graphical views.
- the user of the invention shall interact with the invention through a process.
- Interface The user of the invention shall interact with the invention through the use of a mouse 412, a keyboard 414, or other input device.
- the preferred interface with the invention is shown i n FIGs. 23A-23B and FIG. 24.
- the user of the invention must be able to open and close the plurality of graphical views.
- the user may use th e pointing device 412 or keyboard 414.
- the user may use his mouse 412 to point to the view icons 506 in t h e view bar 502.
- the user clicks on a view icon 506 w ith his pointing device the corresponding graphical view opens 508, and the view icon now has a dark background 504 to serve as a visual cue to the user that the view is currently being displayed.
- the user of the invention may also use the keyboard 412 t o open and close graphical views. To do this, he chooses Window from the main menu (by holding down the Alt key while pressing the W key) and then selects the graphical view to open (by using the arrow key to highlight it in the list and pressing the Enter key).
- the user may have any number of views open at a time. I f the user of the invention has pressed the auto-tile button 5 10, then when the user opens and closes graphical views, the views will automatically tile in the working space. In this context, “automatically tile” means that each view will take up as much space as all other open views and that the view will be able to be seen completely. If the user of the invention has not pressed the auto-tile button 510, then when the user opens and closes graphical views, the views will simply open in the working space, and the user will be able to move them a n d resize them to suit his viewing preferences.
- the specific data that the user must enter into the invention are the factors needed to model the business decision that th e y are trying to make.
- the user must have sufficient general understanding of the factors, and their interdependencies. which make up the parts of the business decision.
- the d ata items that are editable by the user are called "primitive" d at a items.
- the user of the invention may manipulate a graphical i tem directly by using a pointing device to point to the item 462 an d dragging that graphical item to a new position 464.
- the value of the "Planned Person Months" item was 24 months before t h e users edited it (see FIG. 23 A, 466), and 36 months after th e user edited it (see FIG. 23B, 470).
- the user of the invention may enter data directly into editable areas
- the d ata entry view shown in FIG. 24 is merely one instance of such a view .
- the invention must determine the layout of the graphics o n the screen.
- the invention displays each graph (which is a view
- the invention allows the user to modify the underlying data 444 by (1 ) allowing the user to modify the underlying spreadsheet directly, or (2) allowing th e user to try to edit selected parts of any graph, and allowing t h e spreadsheet to use it's "seek" function to search for constants that it could change that would cause the graph edit to occur, o r
- This instance of the invention allows the user to modify the data by means of editing graphical objects directly, as well a s by allowing the user to edit primitive data values in th e Interview 480.
- the user can interact with the invention by manipulating graphical objects 462 in a graphical view 460 by using a mou se 412 or other pointing device.
- the user can move the graphical object 462 shown in FIG. 23A by passing the mouse pointer over the object until the shape of the mouse pointer changes into an East-West arrow.
- the user can then edit the value of the item 462 by pressing the left mouse button and moving th e mouse to the right 464 until the line is in the new desired position and releasing the left mouse button shown in FIG. 23B . This has the effect of changing the value of the underlying data from 24 person months 466 to 36 person months 470.
- Step 444 can be carried out in iteration with step 446, until the user is satisfied that they have all of the information needed in order to make a sound decision 448.
- the user may move any graphical object in any view, and instantly see the ramification of that change to all other affected data in all other views.
- This capability allows the user to perform illuminating what-if and scenario analysis on his data; saving snapshots of his data model at any time for future comparison.
- Step 446 consists of observing multiple views of the data to analyze it and make a business decision. Some people are better at understanding data when they see it in a textual format, while others comprehend graphs more easily. During this step, the user can view the data in a textual format (FIG.
- FIGs. 23A & 23B There are many graphical views available to the user of the embodiment of the invention.
- the user of the invention can open and close views b y clicking with the pointing device 412 on the icons 504 on th e view bar 502.
- the view bar 502 lists all of the views available to the user. The views are displayed to the user in the window
- the invention is tailored to product development, specifically software development.
- the user must have sufficient general understanding of the factors, and their interdependencies, which make up the parts of the decision of which features to include in which release of a software product.
- the user of the invention shall interact with the invention through a process.
- the preferred process is shown in FIG 26.
- the first step 520 for the user is to enter their basic data.
- the basic data items that are editable by the user are called “primitive" data items.
- the user observes the multiple views 522 as they display different perspectives of the data.
- the preferred method for the user to enter the primitive data into the invention is to use the Interview (FIGs. 27 A — 27F).
- the user can enter general project information on page one of the Interview FIG 27A. After the user clicks on the General tab of the Interview 540, he can enter basic project data such as the name of the project 542, the start date of the project 544. the end date of the project 546, the labor burden rate of the resources assigned to work on the project 548 and the overhead burden rate of the resources assigned to work on the project 550.
- the user can enter development information about the project on another page of the Interview FIG 27B. After the user clicks on the Developers tab 560, and the General
- Information sub-tab of the Interview 562 he can enter data such as the name of the developer 564, the monthly salary of the developer 566, and the annual salary increase of the developer 568.
- the user can enter maintenance information about the project on another page of the Interview FIG 27C. After the user clicks on the Maintainers tab 580, and the General Information sub- tab of the Interview 582, he can enter data such as the name of the maintainer 584, the monthly salary of the maintainer 586, and the annual salary increase of the maintainer 588.
- the user can enter information about the market of the software product on another page of the Interview FIG 27D. After the user clicks on the Maintainers tab 600, and the General Information sub-tab of the Interview 602, he can enter data such as the name of the market segment 604, the potential market size 606, and growth rate of the market 608, and the price at which he plans to sell the product in this market segment 610.
- the user can enter information about the expected sales of the software product on another page of the Interview FIG 27E. After the user clicks on the Sales tab 620, he can enter data such as the percentage cost per unit sold 622, fixed cost per unit sold 624, and the market window 626.
- the user can enter information about the requirements for the software product on another page of the Interview FIG 27F. After the user clicks on the Requirements tab 630, and the General Information sub-tab of the Interview 632, he can enter data such as an identification number for each requirement or feature 634, the text of the requirement 636, the effort estimation in hours for the requirement 638, the development risk for the requirement 640, and whether the requirement should be included in the current release of the software product or not 642.
- step 524 During step 524, he is modifying data; that is, he is making changes and adding details to the data already entered in step 520.
- the invention allows the user to modify the underlying data by (1 ) allowing the user to modify the underlying spreadsheet directly, or (2) allowing the user to try to edit selected parts of any graph, and allowing the spreadsheet to use it' s "seek" function to search for constants that it could change that would cause the graph edit to occur, or (3) allowing the user to edit any part of the graph and automatically propagate that change to the underlying data using InterForm, or (4) allowing the user to edit underlying data by means of an Interview that shows the user all of the primitive data elements in the data model.
- the preferred embodiments are the third and fourth.
- the user can interact with the invention to modify the data by manipulating graphical objects in a graphical view by using a mouse or other pointing device.
- the user may move any graphical object in any view, and instantly see the ramification of that change to all other affected data in any other view.
- This capability allows the user to perform illuminating what-if and scenario analysis on his data; saving snapshots of his data model at any time for future comparison.
- the user of the invention may manipulate a graphical item directly by using a pointing device to point to the item 462 and dragging that graphical item to a new position 464.
- a pointing device to point to the item 462 and dragging that graphical item to a new position 464.
- Months" primitive data item was 24 months before the users edited it (see FIG. 23A, 466), and 36 months after the user edited it (see FIG. 23B, 470).
- Step 522 can be carried out in iteration with step 524, until the user is satisfied that he has all of the information needed in order to make a sound business decision 526.
- Step 522 consists of observing multiple views of the data to analyze it and make a business decision.
- the user can view the data in a textual format (FIGs. 27A - 27F), or in a graphical format.
- the user can look at the data from any of 17 viewpoints, including views that display: Features, Effort Estimation, Release Schedule, Risk Assessment, Development Personnel, Maintenance Personnel, Market Segments, Units Sold by Quarter, Quarterly Revenue, Distribution of Revenue,
- the "Feature View” of the user's data shows all of the information for each proposed feature and whether or not that feature is to be included in the current release.
- the "Effort Estimation View” of the user' s data shows the probabilistic distribution of the cost to develop the features that have been included in the current release.
- the "Release Schedule View” of the user's data shows probabilistic distribution of the time it will take to develop the features which have been included in the current release.
- the “Risk Assessment View” of the user' s data shows the relative schedule risk, technical risk, and development risk.
- the "Development Personnel View” of the user' s data shows a list of all of the developers, along with their start and end dates and the percent of their time that they will spend working on this software project.
- the "Maintenance Personnel View” of the user's data shows a list of all of the maintainers, along with their start and end dates and the percent of their time that they will spend working on this software project.
- the ''Market Segments View” of the user ' s data shows detailed information for each of the market segments for this software product.
- the "Distribution of Revenue View” of the user's data shows projected distribution of revenue from sales and service per quarter for this software product in all market segments.
- the "Cumulative Units Sold View” of the user's data shows the projected cumulative units sold per quarter for this software product in all market segments.
- the "Cumulative Revenue View” of the user' s data shows the projected cumulative revenue from sales and service per quarter for this software product in all market segments.
- the "Distribution of Revenue View” of the user's data shows projected distribution of revenue from sales and service per quarter for this software product in all market segments.
- Cumulative Revenue View of the user's data shows projected cumulative distribution of revenue from sales and service per quarter for this software product in all market segments.
- the "Unit Cost/Price/Margin View” of the user' s data shows an analysis of product price, cost, and profit.
- the "Labor View” of the user ' s data shows details about the software projects labor costs.
- the "Sales vs. Service View” of the user ' s data shows relative sales and service income by quarter.
- the “Break Even Analysis View” of the user' s data shows when the financial break-even point will be realized for this software product.
- the user of the invention can open and close views by clicking with the pointing device 412 on the icons 506 on the view bar 502.
- the user clicks on a view icon 506 with his pointing device the corresponding graphical view opens
- the view bar 502 lists all of the views available to the user; both open and closed. At the user's request, the views are displayed to the user in the window 416 on the display 410. The user examines the views 508 to aid in his business decision.
- InterForm makes the determination of whether that suggested change can be made within the constraints of the model. If the change can be satisfied within the model, InterForm makes the change 654 and propagates the ramifications of the change to all of the other affected data items.
- the last step is to update all of the views (both graphical and textual) with all of the newly updated values 656.
- step 650 the user makes a modification to a data item.
- This modification can be made t o either a graphical data item or a textual data item (as in th e
- the invention determines the type of change that h as been requested by the user of the invention.
- the purpose of the InterForm portion of the invention is to determine if the requested change can be satisfied, and if so, to make that change. If the users requested data change can no t be satisfied (as determined by InterForm), the InterForm will notify the server, and the server will pass that notification message along to the client and thus the user.
- the InterForm must take t o determine if the user' s requested data modification could b e satisfied or not.
- the InterForm must locate the ru le for that requested change.
- Each data value that is editable b y the user of the invention is associated with a rule th at specifically states the actions that need to be taken when thi s value changes.
- the InterForm must scan that list and m ake sure that all of the actions could be carried out (given th e current state of the system). If that check is successful, t h e n InterForm implements the change that was requested by t h e user 654, and carries out all of the actions associated with th at change.
- the InterForm portion of the invention then notifies the server 422, which notifies the client 424, that the change was successfully made. All of the views in the user' s display 410 are then updated with the new data 656.
- the purpose of the InterForm portion of the invention is to determine if the requested change can be satisfied, and if so, to make that change. If the users requested data change can not be satisfied (as determined by InterForm), the InterForm will notify the server, and the server will pass that notification message along to the client and thus the user. There are several steps that the InterForm must take to determine if the users requested data modification could be satisfied or not. First of all, the InterForm must locate the rule for that requested change. Each data value that is editable by the user of the invention is associated with a rule that specifically states the actions that need to be taken when this value changes. The InterForm must scan that list and make sure that all of the actions could be carried out (given the current state of the system). If that check is successful, then InterForm implements the change that was requested by the user 654, and carries out all of the actions associated with that change.
- InterForm as a noun, refers to the InterForm function as written in Visual Basic in Microsoft Excel.
- a Rule Set 660, 690 is a set of all rules for a given User-
- a User-Requested Change is the value requested by the user of the invention.
- a Priority Rule Set is the set of all rules with a single priority within a Rule Set.
- a Rule Set can have one or more Priority Rule Sets. No more than one Priority Rule Set can be executed for each User-Requested
- a Rule is a single row in a Rule Set, and equates to a single row of information in the "InterForm Rules" spreadsheet contained in Microsoft Excel. It may include all information and an Excel formula needed to execute a User-Requested Change either in whole or in part.
- Each row in a rule set defines a single address in another sheet that represents three things: the value in that cell, that cells lock value, and that cell' s User Friendly Name code.
- User Friendly Name Code is an integer that points to a cell address that contains a descriptive definition of that cell' s value.
- the InterForm function receives a user-requested change through the parameters of its function 710.
- Six parameters 712, 714, 716, 718, 720, 722, are passed to InterForm from the server 422. These parameters contain all of the information needed to make the user-requested change.
- Step ( 1 ) InterForm scans all rows of the InterForm_Rules sheet inspecting the Requested Sheet column (FIG. 29, column b) for a match with strRequestedSheet 712. If a match is found then nRequestedRow 714 is checked to see if it is in the range defined by the Requested Min Row and Requested Max Row (FIG. 29, columns c and d). If the match fails then InterForm continues scanning the sheet. If a match is found then nRequestedCol 716 is checked to see if it is in the range defined by the Requested Min Column and Requested Max Column (FIG. 29, columns e and f). If a match is found then InterForm has found a matching Rule Set for the Requested Change. If all rows of the spreadsheet are scanned and no match is found, then an error is raised.
- Step (2) InterForm inserts nRequestedNew Value 718 in the Requested New Value / Priority column (622, column g) in the first row of the Rule Set.
- the value is 1300.
- Step (3) Runtime Row Offset and Runtime Column Offset are determined. Offsets are calculated based on the arguments passed in to InterForm (nRequestedRow 714 and nRequestedCol 716) and the Requested Min Row and Requested Min Column values in the first row of the Rule Set. Offsets are used to determine which of a large set of data is to be modified. In this example the first Requirement's Person Hours are being modified, therefore the row offset is 1. If the third Requirement' s Person Hours were being modified then the Runtime Row Offset would be 3. The calculated Row and
- Step (4) The Runtime Row Offset and Runtime Column Offset values are then entered into their respective columns for every rule in the current Rule Set.
- Each rule may or may not contain a formula in its Row Lock Status column (FIG. 29, column q). Once the Runtime Row Offset and Runtime Column Offsets are updated then the Row Lock Status for each row in the Rule Set is recalculated. A value of true indicates that the cell indicated by the address information (the Implicated Sheet column (FIG. 29, column i), Implicated Row column (FIG. 29, column j) and Implicated Column (FIG. 29, column k)) in that row is currently locked. A value of false indicates that it is currently unlocked.
- Step (6) The first row of each Priority Rule Set (not including the very first row of the entire Rule Set) contains a formula in the Priority Lock Status column (664, 666, 668, 670, 672, 674,
- Step (7) InterForm examines the Priority Lock Status for the first Priority Rule Set. If that value is false then all rules in that Priority Rule Set are unlocked and therefore can be executed (if there are no data validation errors). If the Priority Lock Status is true, then at least one of the rules in the Priority Rule Set has a value that is locked, therefore none of the rules may be executed. InterForm then skips to the next Priority
- Step (8) The first rule in a Priority Rule Set may or may not contain an Error check formula in the Error column (662, column u). At this point InterForm checks the value in that column. If the value is false or there is no value then there are no data validation or range errors and InterForm can continue. If there is an error code in the Error column then InterForm returns with a failed status to the calling program along with the error code. In this example there is no error code, therefore InterForm will continue processing.
- Step (9) The fifth argument in the call to InterForm is bDoImplicated 720 which is a Boolean flag to indicate whether to do the Requested Change (true) or simply to see if it can be done, but not to actually do it (false).
- bDoImplicated 720 is examined and, if false, InterForm returns with a success status (Didlt) to indicate that it is possible. If bDoImplicated is true then processing continues. In this example it is assumed that bDoImplicated is true.
- InterForm saves the current priority which corresponds to the first found unlocked Priority Rule Set.
- Step ( 1 1) InterForm executes the first rule 662 in the Rule Set.
- Step ( 12) InterForm jumps to the first rule of the current priority's Priority Rule Set 664. There is only one Priority Rule Set in this example.
- Step (13) All rules after the very first executed rule are called Implicated Changes. At this point InterForm executes all Implicated Changes 664, 666, 668, 670, 672, 674, 676, 678, 680, 682, 684 for the current Priority Rule Set.
- Step 15) The values found in the Implicated Sheet column (FIG. 29, column i), Implicated Row column (FIG. 29, column j) and Implicated Column column (FIG. 29, column k) are used to create an Excel address. This address points to the cell in another sheet whose value will be modified either by Excel or by InterForm. If the values in the Implicated Row or Implicated column have 2 numbers separated by a colon then that value represents a range. Those values then become loop boundaries. In this example the address for the first rule 662 is the Requirements sheet, row 16, column 3.
- Step (16) The current value in the New Value column (662, column 1) is copied to the Old Value column (662, column m). This value is also placed on an Undo stack.
- Step ( 19) The Implicated Sheet (662, column i), Implicated Row (662, column j) and Implicated Column (662. column k) values are entered in an array that will be passed back to the calling program along with a success or failure status and the number of Implicated Changes recorded in the array. In this example 'Requirements' ,' 16' , ' 3' is entered into this array.
- Step (20) Steps 15 - 19 are repeated for each Implicated Change 664, 666, 668, 670. 672, 674, 676. 678, 680. 682, 684 in the current Priority Rule Set.
- Step (21 ) Once all Implicated Changes are executed a success status is entered in the array.
- each Priority Rule Set may or may not have a formula in the Cascade Status column (684, column s) that indicates whether or not the Requested Change could be fully absorbed by the current Priority Rule Set. If this value is false or there is no formula then the Requested Change was fully absorbed and processing is complete. If this value is true then the current Priority Rule Set is locked and InterForm is called again (with the same arguments) in an attempt to complete processing the Requested Change at the next priority. In this case the cell is blank, indicating no formula, therefore the Requested Change was fully absorbed.
- Step (23) If the last row of the Priority Rule Set has a Cascade
- the Cascade Value column is inspected (684, column t). If the value in this column is true then the entire workbook is recalculated before the Cascade Status is evaluated. If the value is false or the cell is empty then processing continues.
- Step (24) Processing continues until (a) the Cascade Status for the current Priority Rule Set is false (or there is no Cascade
- Step (25) Upon returning from a recursed call to InterForm the previously locked Priority Rule Set is then unlocked.
- Step (26) InterForm returns the array of Implicated Changes to the server 422 along with a success status and the number of Implicated Changes in the array. This array is returned as a Variant 724.
- the server then notifies the client 424 that the change was successfully made. All of the views in the user' s display 410 are then updated with the new data 656.
- nRequestedCol 716 is checked to see if it is in the range defined by the Requested Min Column and Requested Max Column (FIG. 30, columns e and f). If a match is found then InterForm has found a matching Rule Set for the Requested Change. If all rows of the spreadsheet are scanned and no match is found, then an error is raised.
- Step (2) InterForm inserts nRequestedNewValue 718 in the Requested New Value / Priority column (692, column g) in the first row of the Rule Set.
- the value is 28.3.
- Step (3) Runtime Row Offset and Runtime Column Offset are determined. Offsets are calculated based on the arguments passed in to InterForm (nRequestedRow 714 and nRequestedCol 716) and the Requested Min Row and Requested
- Min Column values in the first row of the Rule Set. Offsets are used to determine which of many types of data are to be modified. In this example the Runtime Row Offset and Runtime Column Offsets are 0.
- Step (4) The Runtime Row Offset and Runtime Column Offset values are entered into their respective columns for every rule in the current Rule Set.
- Each rule may or may not contain a formula in its Row Lock Status column (FIG. 30, column q). Once the Runtime Row Offset and Runtime Column Offsets are updated then the Row Lock Status for each row in the Rule Set is recalculated. A value of true indicates that the cell indicated by the address information (the Implicated Sheet column (FIG. 30, column i), Implicated Row column (FIG. 30, column j) and Implicated Column (FIG. 30, column k)) in that row is currently locked. A value of false indicates that it is currently unlocked.
- Step (6) The first row of each Priority Rule Set (not including the very first row of the entire Rule Set) contains a formula in the Priority Lock Status column (694, 696, 698, 700, column r). Once the Row Lock Status has been updated for all rows in a Rule Set then the Priority Lock Status for each Priority Rule Set is recalculated.
- Step (7) InterForm examines the Priority Lock Status for the first Priority Rule Set. If that value is false then all rules in that Priority Rule Set are unlocked and therefore can be executed (if there are no data validation errors). If the Priority Lock Status is true, then at least one of the rules in the Priority
- Rule Set has a value that is locked, therefore none of the rules may be executed. InterForm then skips to the next Priority Rule Set, if there is one, and repeats this step. In this example the first Priority Lock Status is false (694, column r).
- Step (8) The first rule in a Priority Rule Set may or may not contain an Error check formula in the Error column (694, column u). At this point InterForm checks the value in that column. If the value is false or there is no value then there are no data validation or range errors and InterForm can continue. If there is an error code in the Error column then InterForm returns with a failed status to the calling program along with the error code. In this example there is no error code, therefore InterForm will continue processing.
- Step (9) The fifth argument in the call to InterForm is bDoImplicated 720 which is a Boolean flag to indicate whether to do the Requested Change (true) or simply see if it can be done, but not to actually do it (false).
- bDoImplicated 720 is examined and if false InterForm returns with a success status (Didlt) to indicate that it is possible. If bDoImplicated is true then processing continues. In this example it is assumed that bDoImplicated is true.
- Step (11) InterForm executes the first rule 692 in the Rule Set.
- Step ( 12) InterForm jumps to the first rule of the current priority's Priority Rule Set 694. There are two Priority Rule Sets in this example. The Priority Lock Status of the first Priority Rule Set is false therefore it will be executed. Step (13) All rules after the very first executed rule are called Implicated Changes. At this point InterForm executes all Implicated Changes 694, 696, 698, 700 for the current Priority Rule Set.
- Step (14) For each Implicated Change InterForm determines who is responsible for calculating the change by inspecting the Who Makes Change column (FIG. 30, column h). If the value in this column is Excel then it is an automatic calculation handled by Excel. If the value is InterForm or InterFor ⁇ X ecalc then the calculation is performed by the code in InterForm. The first rule is always an InterForm calculation. Implicated changes can be either either interform' s job or Excel' s job.
- Step 15) The values found in the Implicated Sheet column (FIG. 30, column i), Implicated Row column (FIG. 30, column j) and Implicated Column column (FIG. 30, column k) are used to create an Excel address. This address points to the cell in another sheet whose value will be modified either by Excel or by InterForm. If the values in the Implicated Row or Implicated column have 2 numbers separated by a colon then that value represents a range. Those values then become loop boundaries. In this example the address for the first rule 692 is the Wizard sheet, row 20, column 1.
- Step (16) The current value in the New Value column (692, column 1) is copied to the Old Value column (692, column m). This value is also placed on an Undo stack.
- Row (692, column j) and Implicated Column (692, column k) values are entered in an array that will be passed back to the calling program along with a success or failure status and the number of Implicated Changes recorded in the array.
- Wizard' ,' 20' , ' 1 ' is entered into this array.
- Step (20) Steps 15 - 19 are repeated for each Implicated Change 694, 696, 698, 700 in the current Priority Rule Set.
- Step (21 ) Once all Implicated Changes are executed a success status is entered in the array.
- Step (22) If the entire Requested Change could not be absorbed in the current Priority Rule Set the value in the Cascade Status column (700, column s) would be true.
- the Cascade Value column (700, column t) is false therefore a recalculation is not necessary to evaluate the Cascade Status value. Assume this is the case for now.
- Step (23) The current Priority Rule Set will now be locked. The value in the Priority Lock Status for the first Priority Rule Set will not be true (700, column r).
- Step (24) InterForm is now recursively called with the same arguments. Certain values have changed as a result of the rules in the first Priority Rule Set.
- Step (25) When InterForm inspects the Priority Lock Status of the first Priority Rule Set it will see that its value is true, therefore it will skip to the next Priority Rule Set 702, 704, 706, and inspect its Priority Lock Status which will be false.
- Step (26) The first rule of the Rule Set 692 will be executed.
- Step (27) InterForm will then jump to the priority 2 Priority Rule Set and continue execution.
- Step (28) After executing all the rules in that Priority Rule Set it will inspect the Cascade Status value which will be empty indicating that the Requested Change was fully executed.
- Step (29) InterForm will return an array with a success status to the calling program, which in this case is the first instance of InterForm.
- the server then notifies the client 424 that the change was successfully made. All of the views in the user's display 410 are then updated with the new data 656.
- Inteform can be used separate from the analysis package described above. When interform is used separately the user must provide a spreadsheet (other application) to interform. To do this, the user imports their spreadsheet, complete with circular references, into the software program embodiment of the invention.
- the invention must first examine the user' s spreadsheet for circular references 730. This is a matter of looking at each cell that contains a formula and keeping a list of all of the cells that are referenced by that cell. A simple tree is built to store this information. When the invention has finished viewing each cell, the entire tree can be scanned for sets of cells that cause a circle of references to be formed.
- FIG. 33A is a typical, common example of a user's spreadsheet that contains a circular reference. I n this example, cell A 744 of the user' s spreadsheet refers to cell B 746, which refers to cell C 748. The cyclical relationship is further illustrated in FIG. 33B. Cell A refers to cell B through relationship 750. Cell B refers to cell C through relationship 752. And cell C refers to cell A through relationship 754.
- FIG. 35 As a specific example of resolving circular references, refer to FIG. 35.
- the original circular formulas from the user ' s spreadsheet (column 742) are listed in FIG. 35.
- the new. no n - circular formulas, determined by the invention, are listed i n column 780.
- the invention must determine the best way to replace th e original, circular formulas. It can do this by ( 1 ) trying to resolve the circular reference by inference from the original formulas, (2) asking the user a series of questions to help determine the correct resolution of the circular reference, or (3) using a predefined set of rules and formulas.
- the preferred embodiment is the third, although all work.
- One resolution of the original circular reference is shown b y the formulas in 782 and 784.
- FIG. 36 As a specific instance of a user using the improved spreadsheet, see FIG. 36. Assume the user-alterable cell is cell A. Assume the initial value contained in cell A is 2, cell B is 4. and cell C is 6 790.
- the invention sets the value of x to 8.
- the invention subtracts a s much of x as possible without allowing B to go below 0. Therefore, the value in cell B gets set to 0.
- the value for x is now 4.
- th e invention now adds the remainder of x to C. Therefore the value in cell C gets set to 10.
- x is now equal to 0 794. The old circular reference problem was completely resolved by the invention.
- the final step is for the spreadsheet program to take over th e rest of the propagation of values.
- the only cell that does not have a value is cell A.
- the spreadsheet uses its normal method of propagation to compute the formula in thi s cell. Therefore the new value for cell A is 10 796. This is the value that the user suggested initially.
- the methods described herein can be implemented as computer-readable instructions stored on a computer-readable storage medium that when executed by a computer will perform the methods described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Educational Administration (AREA)
- Computational Linguistics (AREA)
- Game Theory and Decision Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU52246/99A AU5224699A (en) | 1998-07-24 | 1999-07-23 | Analysis package and method |
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US9405198P | 1998-07-24 | 1998-07-24 | |
| US9406698P | 1998-07-24 | 1998-07-24 | |
| US9407998P | 1998-07-24 | 1998-07-24 | |
| US60/094,051 | 1998-07-24 | ||
| US60/094,066 | 1998-07-24 | ||
| US60/094,079 | 1998-07-24 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2000005659A1 true WO2000005659A1 (fr) | 2000-02-03 |
Family
ID=27377645
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US1999/016655 Ceased WO2000005659A1 (fr) | 1998-07-24 | 1999-07-23 | Ensemble d'analyse |
| PCT/US1999/016654 Ceased WO2000005658A1 (fr) | 1998-07-24 | 1999-07-23 | Technique de propagation bidirectionnelle entre donnees dans des tableurs |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US1999/016654 Ceased WO2000005658A1 (fr) | 1998-07-24 | 1999-07-23 | Technique de propagation bidirectionnelle entre donnees dans des tableurs |
Country Status (2)
| Country | Link |
|---|---|
| AU (2) | AU5224699A (fr) |
| WO (2) | WO2000005659A1 (fr) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1540488A4 (fr) * | 2002-08-29 | 2008-01-16 | Press Sense Ltd | Systeme expert base sur une application de tableur informatique personnalisable par l'utilisateur final |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7640489B2 (en) | 2000-08-01 | 2009-12-29 | Sun Microsystems, Inc. | Methods and systems for inputting data into spreadsheet documents |
| EP1178414A1 (fr) * | 2000-08-01 | 2002-02-06 | Sun Microsystems, Inc. | Procédé et appareil pour l'introduction de données dans une feuille de calcul d'un tableur |
| CA2361242C (fr) | 2001-11-02 | 2010-11-30 | Cognos Incorporated | Moteur de calcul pour environnements olap |
| US7937363B2 (en) | 2001-11-02 | 2011-05-03 | International Business Machines Corporation | Calculation engine for use in OLAP environments |
| EP1308852A1 (fr) * | 2001-11-02 | 2003-05-07 | Cognos Incorporated | Un moteur de calcul à utiliser dans des environnements OLAP |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5255363A (en) * | 1990-06-19 | 1993-10-19 | Mentor Graphics Corporation | Graph-based programming system and associated method |
| US5276607A (en) * | 1990-03-28 | 1994-01-04 | Wordperfect Corporation | Method for optimal recalculation |
| US5652880A (en) * | 1991-09-11 | 1997-07-29 | Corel Corporation Limited | Apparatus and method for storing, retrieving and presenting objects with rich links |
| US5745712A (en) * | 1990-10-31 | 1998-04-28 | Borland International, Inc. | Graphical programming system and methods for assisting a user with creating screen objects on a screen device |
| US5796932A (en) * | 1994-01-14 | 1998-08-18 | Strategic Weather Services | User interface for graphically displaying the impact of weather on managerial planning |
-
1999
- 1999-07-23 WO PCT/US1999/016655 patent/WO2000005659A1/fr not_active Ceased
- 1999-07-23 WO PCT/US1999/016654 patent/WO2000005658A1/fr not_active Ceased
- 1999-07-23 AU AU52246/99A patent/AU5224699A/en not_active Abandoned
- 1999-07-23 AU AU52245/99A patent/AU5224599A/en not_active Abandoned
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5276607A (en) * | 1990-03-28 | 1994-01-04 | Wordperfect Corporation | Method for optimal recalculation |
| US5255363A (en) * | 1990-06-19 | 1993-10-19 | Mentor Graphics Corporation | Graph-based programming system and associated method |
| US5745712A (en) * | 1990-10-31 | 1998-04-28 | Borland International, Inc. | Graphical programming system and methods for assisting a user with creating screen objects on a screen device |
| US5652880A (en) * | 1991-09-11 | 1997-07-29 | Corel Corporation Limited | Apparatus and method for storing, retrieving and presenting objects with rich links |
| US5796932A (en) * | 1994-01-14 | 1998-08-18 | Strategic Weather Services | User interface for graphically displaying the impact of weather on managerial planning |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1540488A4 (fr) * | 2002-08-29 | 2008-01-16 | Press Sense Ltd | Systeme expert base sur une application de tableur informatique personnalisable par l'utilisateur final |
Also Published As
| Publication number | Publication date |
|---|---|
| AU5224699A (en) | 2000-02-14 |
| AU5224599A (en) | 2000-02-14 |
| WO2000005658A1 (fr) | 2000-02-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7610258B2 (en) | System and method for exposing a child list | |
| AU2018281314B2 (en) | Integrated system for rule editing, simulation, version control, and business process management | |
| US5630069A (en) | Method and apparatus for creating workflow maps of business processes | |
| US6964044B1 (en) | System and process for management of changes and modifications in a process | |
| JP4303617B2 (ja) | タスク実行のためのプロセス構造を定義するシステムおよび方法 | |
| US7015911B2 (en) | Computer-implemented system and method for report generation | |
| US6226652B1 (en) | Method and system for automatically detecting collision and selecting updated versions of a set of files | |
| US4742467A (en) | Automated programming system for machine creation of applications program source code from non-procedural terminal input | |
| US6560589B1 (en) | Method and system for use and maintenance of a knowledge base system | |
| US7051031B2 (en) | Method, system, and program for managing accesses to data objects by multiple user programs over a network | |
| US5428729A (en) | System and method for computer aided software engineering | |
| JP5238937B2 (ja) | セグメンテーション定義の作成 | |
| US20070214179A1 (en) | Searching, filtering, creating, displaying, and managing entity relationships across multiple data hierarchies through a user interface | |
| US20120137203A1 (en) | Computer-implemented method for displaying data values calculated by a spreadsheet-function | |
| US6591258B1 (en) | Method of incorporating knowledge into a knowledge base system | |
| EP1618488B1 (fr) | Systeme et procede pour gerer des operations d'insertions dans des instances de modeles extensibles recursifs dans une table de donnees | |
| US20040122699A1 (en) | Method and system for integrating workflow management with business intelligence | |
| RU2295752C1 (ru) | Способ управления синхронизацией обновлений программного обеспечения | |
| Harrison et al. | An intelligent business forecasting system | |
| Ray et al. | REPERTOIRE: a cross-system porting analysis tool for forked software projects | |
| WO2007079467A2 (fr) | Recherche, filtrage, création, affichage et gestion de relations entre entités sur de multiples hiérarchies de données á l'aide d'une interface utilisateur | |
| WO2000005659A1 (fr) | Ensemble d'analyse | |
| US7257622B2 (en) | File propagation tool | |
| US20070011144A1 (en) | Opportunity management, tracking, and reporting system | |
| JP4276717B2 (ja) | データベースシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH HU IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 09508772 Country of ref document: US |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| 122 | Ep: pct application non-entry in european phase |