The ERROS Business Model is stored in two parts - that provided as part of the ERROS Application Creation System and user additions to that base. These do not affect the ERROS base definitions.
The specification implies that two entity types are required -
1. Customers
2. Video tapes
An ERROS entity type, User personal and business name, which stores all existing contact names, both personal and business, already exists and can be usedfor customers, as either a person or a business could rent a tape. This existing definition can therefore be re-used.
Two of the required attributes for User personal and business name already are already defined -
name and/or number
telephone number, speech
The definitions of these attributes are appropriate for the new application and therefore can be re-used. Only video(s) currently rented needs defining as a new user defined attribute and then as an additional attribute of User personal and business name.
Video tape is a new entity type, not previously defined in ERROS, so this must be created, together with two attributes -
name and/or number
currently rented to
The attribute video(s) currently rented of the entity type User personal and business name is a relationship with the entity type Video Tape and this relationship can be expressed in the following semantic network diagram -
where currently rented to is the inverse of video(s) currently rented.
These changes to the database definitions are stored in the ERROS database, in which, when the application creation process is complete, the user data for the application will also be stored. Since the database has a complete audit trail and is journalled, with commitment control in use, all the database definition changes are recorded in that audit trail. Traditional application creation methods involve programming and there is normally no audit trail for changes made to programs.
User Personal and Business NameThe entity type User Personal and Business Name has the attribute name and number put, as the identifying attribute, in its first level menu. This determines the identifiers that will be available to operators. The following attributes are defined in its second level menu, accessible only after a record has been retrieved.
Video tape
video(s) currently rentedThe entity type Video tape has name and/or number put, as the identifying attribute, in its first level menu and currently rented to in its second level menu.
telephone number,speech.
Initial menus are then created for the application. One new term, Videos, is put in the ERROS thesaurus and then used as a menu name. The other menu name chosen customers already exists in the thesaurus. The application is now nearly complete.
The fourth stage is to grant authority to use the application and then test it. Testing will only consist of putting in two or three records in each part of the database and visually checking the results. As no programs have been generated, no program testing is required. The test is simply to ensure that the database definition extensions were correct. If they are not, it should be very obvious during testing.
As a final stage, once the application has been tested and approved by the end user, some HELP information could be put in the already structured ERROS HELP database. This is an integral part of the overall ERROS database. (ROLL up for MORE)
No special back up procedures need to be created for the new application as no new database files or tables have been created.
Although this sample application is obviously very simplistic in the number of functions and types of data that it makes available, in many other respects, it is very sophisticated and has powerful features such as browsing that allow an operator to browse through his database. Thus he can look up a telephone number, then find who is (or are) at that telephone number and then find out what tapes if any the person is currently renting. Equally the operator could look up a particular tape (by name or number) and then immediately find out who was renting that tape, and then their telephone number and also what other tapes they were renting. The specification did not mention that there could be multiple copies of each tape. Yet the application can handle the same title being rented to more than one customer at a time and the customers renting more than one tape at a time as ERROS allows "many to many" relationships by default.
No decision needs to be made in the system design process about the maximum number of tapes that can be rented by any customer at any time as ERROS, by default, allows repeating attributes. You can restrict the number later if the user requests this.
The specification made no mention of the need to know the date on which a tape was rented. Although this is a feature that needs to be added, the information can be found by pressing/clicking just one function key after selecting the particular tape and customer combination as the audit trail automatically shows when the information was added to the database, and, providing this was done at the time the customer rented the tape, the date (and time) on which the tape was rented will be the date and time the information was entered.
No mention was made in the specification of file sizes. There was no need for the application creator to ask that question as the new application will allow the entry of 1 billion customers and 1 billion tapes (the practical limitation will be disk space) and, in theory at least, each customer could rent a copy of each of the 1 billion tapes!
Thus the application can be used and meets the specification. It may only provide the most basic needs for an information system, but it has very high reliability and rapid performance (normally sub second response times even on the slowest AS/400 model, the B10). It has only taken a very few minutes to create. When the user starts to operate the application, he will soon learn at least some of its limitations and then he can make requests for enhancements. Most or all of those enhancements can be made whilst the application is being used. It will be such a short time since he made his original request that he should remember why he wanted particular features or perhaps why he did not request features that he now realises are important.
The specification should have mentioned the importance of the rental date, and that there will be multiple copies of most tapes, each with its own individual number. It should also have mentioned that the shop will also sell Video tapes outright and that rental stock must be handled in a different way from stock for sale. As applications created using ERROS are open ended, these points can now be corrected.
All the screens that you need to see and change when using the ERROS Business Modeller to define the ERROS Database Extensions are shown in this document. They are all real screens dumps in HTML, taken when operating the Business Modeller using the AS/400 Workstation Gateway. The only changes to them were to remove the IP address of the server used. Two (?) screens that were not saved originally were added later.
You will notice how ERROS continually changes the prompts it displays to assist operators and how the list of available function keys changes dynamically as you move from screen to screen and as your authority changes.
The main steps are -
1.1 Starting the ERROS Business Modeller Application
1.2 Create the new User Entity Type A(Video Tape). Before creating a new user entity type, you should always check that an appropriate ERROS defined entity type does not already exist. However, Video tape is not an ERROS entity type and thus must be created as a user entity type.
1.3 Relate the new Entity Type A(Video Tape to its Identifying Attribute. The user has not specified what this is, but it seems reasonable to assume that this would be Name and/or number.
1.4 Create New Attribute of Entity type A(currently rented to) for the new entity type. Before creating a new user attribute, you should ensure that it does not already exist as an ERROS defined attribute. When you have completed this stage, you have defined the new attribute, but will not define the entity type of which it is an attribute until the next stage.
1.5. Relate the New Attribute currently rented to to the Entity Type A Video Tape so that it is now an attribute of that entity type.
1.6 Create the New User Attribute video(s) currently rented for the ERROS entity type User Personal and Business Name.
1.7 Relate the new attribute video(s) currently rented to to the ERROS entity type User Personal and Business Name.
1.8 Define the Relationship between the entity type User Personal and Business Name and the entity typeVideo Tape.
When completed these seven steps, you have completed all necessary changes to the business model.
In other words, you have defined all the extensions to the existing
data definitions that are required for your application.
The ERROS Business Model is stored in two parts - that provided as part of the ERROS Application Creation System and user additions to that base. These do not affect the ERROS base definitions.
The specification implies that two entity types are required -
1. Customers
2. Video tapes
An ERROS entity type, User personal and business name, which stores all existing contact names, both personal and business, already exists and can be usedfor customers, as either a person or a business could rent a tape. This existing definition can therefore be re-used.
Two of the required attributes for User personal and business name already are already defined -
name and/or number
telephone number, speech
The definitions of these attributes are appropriate for the new application and therefore can be re-used. Only video(s) currently rented needs defining as a new user defined attribute and then as an additional attribute of User personal and business name.
Video tape is a new entity type, not previously defined in ERROS, so this must be created, together with two attributes -
name and/or number
currently rented to
The attribute video(s) currently rented of the entity type User personal and business name is a relationship with the entity type Video Tape and this relationship can be expressed in the following semantic network diagram -
where currently rented to is the inverse of video(s) currently rented.
These changes to the database definitions are stored in the ERROS database, in which, when the application creation process is complete, the user data for the application will also be stored. Since the database has a complete audit trail and is journalled, with commitment control in use, all the database definition changes are recorded in that audit trail. Traditional application creation methods involve programming and there is normally no audit trail for changes made to programs.
User Personal and Business NameThe entity type User Personal and Business Name has the attribute name and number put, as the identifying attribute, in its first level menu. This determines the identifiers that will be available to operators. The following attributes are defined in its second level menu, accessible only after a record has been retrieved.
Video tape
video(s) currently rentedThe entity type Video tape has name and/or number put, as the identifying attribute, in its first level menu and currently rented to in its second level menu.
telephone number,speech.
Initial menus are then created for the application. One new term, Videos, is put in the ERROS thesaurus and then used as a menu name. The other menu name chosen customers already exists in the thesaurus. The application is now nearly complete.
The fourth stage is to grant authority to use the application and then test it. Testing will only consist of putting in two or three records in each part of the database and visually checking the results. As no programs have been generated, no program testing is required. The test is simply to ensure that the database definition extensions were correct. If they are not, it should be very obvious during testing.
As a final stage, once the application has been tested and approved by the end user, some HELP information could be put in the already structured ERROS HELP database. This is an integral part of the overall ERROS database. (ROLL up for MORE)
No special back up procedures need to be created for the new application as no new database files or tables have been created.
Although this sample application is obviously very simplistic in the number of functions and types of data that it makes available, in many other respects, it is very sophisticated and has powerful features such as browsing that allow an operator to browse through his database. Thus he can look up a telephone number, then find who is (or are) at that telephone number and then find out what tapes if any the person is currently renting. Equally the operator could look up a particular tape (by name or number) and then immediately find out who was renting that tape, and then their telephone number and also what other tapes they were renting. The specification did not mention that there could be multiple copies of each tape. Yet the application can handle the same title being rented to more than one customer at a time and the customers renting more than one tape at a time as ERROS allows "many to many" relationships by default.
No decision needs to be made in the system design process about the maximum number of tapes that can be rented by any customer at any time as ERROS, by default, allows repeating attributes. You can restrict the number later if the user requests this.
The specification made no mention of the need to know the date on which a tape was rented. Although this is a feature that needs to be added, the information can be found by pressing/clicking just one function key after selecting the particular tape and customer combination as the audit trail automatically shows when the information was added to the database, and, providing this was done at the time the customer rented the tape, the date (and time) on which the tape was rented will be the date and time the information was entered.
No mention was made in the specification of file sizes. There was no need for the application creator to ask that question as the new application will allow the entry of 1 billion customers and 1 billion tapes (the practical limitation will be disk space) and, in theory at least, each customer could rent a copy of each of the 1 billion tapes!
Thus the application can be used and meets the specification. It may only provide the most basic needs for an information system, but it has very high reliability and rapid performance (normally sub second response times even on the slowest AS/400 model, the B10). It has only taken a very few minutes to create. When the user starts to operate the application, he will soon learn at least some of its limitations and then he can make requests for enhancements. Most or all of those enhancements can be made whilst the application is being used. It will be such a short time since he made his original request that he should remember why he wanted particular features or perhaps why he did not request features that he now realises are important.
The specification should have mentioned the importance of the rental date, and that there will be multiple copies of most tapes, each with its own individual number. It should also have mentioned that the shop will also sell Video tapes outright and that rental stock must be handled in a different way from stock for sale. As applications created using ERROS are open ended, these points can now be corrected.
All the screens that you need to see and change when using the ERROS Business Modeller to define the ERROS Database Extensions are shown in this document. They are all real screens dumps in HTML, taken when operating the Business Modeller using the AS/400 Workstation Gateway. The only changes to them were to remove the IP address of the server used. Two (?) screens that were not saved originally were added later.
You will notice how ERROS continually changes the prompts it displays to assist operators and how the list of available function keys changes dynamically as you move from screen to screen and as your authority changes.
The main steps are -
1.1 Starting the ERROS Business Modeller Application
1.2 Create the new User Entity Type A(Video Tape). Before creating a new user entity type, you should always check that an appropriate ERROS defined entity type does not already exist. However, Video tape is not an ERROS entity type and thus must be created as a user entity type.
1.3 Relate the new Entity Type A(Video Tape to its Identifying Attribute. The user has not specified what this is, but it seems reasonable to assume that this would be Name and/or number.
1.4 Create New Attribute of Entity type A(currently rented to) for the new entity type. Before creating a new user attribute, you should ensure that it does not already exist as an ERROS defined attribute. When you have completed this stage, you have defined the new attribute, but will not define the entity type of which it is an attribute until the next stage.
1.5. Relate the New Attribute currently rented to to the Entity Type A Video Tape so that it is now an attribute of that entity type.
1.6 Create the New User Attribute video(s) currently rented for the ERROS entity type User Personal and Business Name.
1.7 Relate the new attribute video(s) currently rented to to the ERROS entity type User Personal and Business Name.
1.8 Define the Relationship between the entity type User Personal and Business Name and the entity typeVideo Tape.
When completed these seven steps, you have completed all necessary changes to the business model.
In other words, you have defined all the extensions to the existing
data definitions that are required for your application.
If you are not signed on, then obtain your user Id. and Password from your AS/400 administrator, sign on, start the ERROS
Business Modeller Application. If you are not authorised to the ERROS Business Modeller, you will need to get authority
from your ERROS coordinator.
Follow the following steps.
1.1.1 The ERROS Business Modeller is used to define the database extensions required for the application.
When you have started the ERROS Business Modeller, ERROS will display the following screen -
ERROS will display the following screen -
Before creating a new user entity type, you should always check that an appropriate ERROS defined entity type does not already exist. However, Video tape is not an ERROS entity type and thus must be created as a user entity type. This can be done with the following steps -
1.2.1. Key, as a User defined term, in the name of the new User entity type
Video tape
from your ERROS Diagram and press ENTER.
ERROS will display the following screen -
1.2.2. Press F9, as instructed, to add the term to the repository (if it had already existed, you would type the number to its left, press ENTER and got to step 4).
ERROS will display the following screen -
ERROS will display the following screen -
1.2.4. As prompted, press ENTER to add further details.
ERROS will display the following screen -
1.2.5. The term you are adding is a User entity type. Select that option by typing the number to its left (2), and press ENTER.
ERROS will display the following screen.
ERROS will display the following screen -
This shows that you have now created the new user entity type Video tape, although you have not yet defined the attributes for this. In ERROS, you can define attributes after you have created the entity type, and can add further attributes at any time, without having to shut down and re-organise the database, and without being concerned with the impact of the additional attributes on existing applications. With traditional databases, you cannot create a new file until you have defined all the fields. Adding new fields to existing traditional files is not so simple, and every traditional application that uses such files will have to be changed, even if the new field is not required in those applications.
1.3.1. The next step is to relate the user entity type just created to its attribute(s). The first attribute is the identifying attribute; in this case, name and/or number. This is already defined as an ERROS defined attribute, so you can re-use that definition (using the inbuilt object-oriented capabilities of the ERROS Neural Database).
Press ENTER to add further details, as prompted.
ERROS will display the following screen -
1.3.2 From the list of these displayed, select attribute(s) include by typing the number to its left and press ENTER.
ERROS will display the following screen -
1.3.3 Since you wish to re-use an existing ERROS defined attribute, select Attribute (ERROS defined) by typing the number to its left and press ENTER.
ERROS will display the following screen -
1.3.4 Type the word
name
and press ENTER.
ERROS will display the following screen -
1.3.5 Select the one you require (name and/or number) by typing the number to its left and press ENTER.
ERROS will display the following screen -
1.3.6 Accept the defaults for this relationship (including the "Y" that indicates that this is the "PRIME identifier of the Entity type" ) by pressing ENTER (as prompted in red).
ERROS will display the following screen -
1.3.7 As you do not, in this example, wish to re-use any more, press F3 to return.
ERROS will display the following screen -
1.3.8 Press F3 to return to the user defined terms screen.
ERROS will display the following screen -
The next step is to create the new attribute currently rented to (NOTE: Before creating a new user attribute, you should ensure that it does not already exist as an ERROS defined attribute).
1.4.1 Type in the name from the top of your ERROS diagram as the attribute of user entity type A, in this example
currently rented to
and press ENTER.
ERROS will display the following screen -
ERROS will display the following screen -
1.4.3 This shows that you are about to CREATE a new user defined term of currently rented to. Press ENTER to confirm (as prompted in red).
ERROS will display the following screen -
1.4.4 As instructed, press ENTER to add further details.
ERROS will display the following screen -
This time, the term you are adding is a user attribute, so select that option (by typing the number to its left) and press ENTER.
ERROS will display the following screen -
1.4.6 In this instance you will need to change the value for DATA Identifiers - Surrogate (currently "C") to "R" by overtyping the current value, then press ENTER to make the change.
ERROS will display the following screen -
1.4.7 As instructed, press ENTER to add further details.
ERROS will display the following screen -
ERROS will display the following screen -
1.5.2 Press F9 to create a relationship with the entity type of which you wish it to be an attribute.
ERROS will display the following screen -
ERROS will display the following screen -
1.5.4 Press ENTER to accept this (if there is more than one, type the number to its left and then press ENTER).
ERROS will display the following screen -
ERROS will display the following screen -
1.5.6 Press F3 to retuned to the User defined terms screen.
ERROS will display the following screen -
The next stage is to define the new attribute video(s) currently rented for the existing ERROS entity type, User Personal and Business name.
1.6.1 Type in the full name of the new, inverse. attribute (i.e. attribute of user entity type B) shown at the bottom of your ERROS diagram. This is video(s) currently rented.
ERROS will display the following screen -
ERROS will display the following screen -
1.6.4. As instructed, press ENTER to add further details.
ERROS will display the following screen -
ERROS will display the following screen -
ERROS will display the following screen -
1.6.7 As instructed, press ENTER to add further details.
ERROS will display the following screen -
1.7.1 Select user defined entity type of which attribute by typing the number to its left and press ENTER.
ERROS will display the following screen -
1.7.2 Press F9 to create a relationship with the entity type of which you wish it to be an attribute.
ERROS will display the following screen -
ERROS will display the following screen -
1.7.4 Type
User per*
and press ENTER.
ERROS will display the following screen -
1.7.5 Press ENTER to accept this.
ERROS will display the following screen.
ERROS will display the following screen -
This shows that you have now defined a new attribute (video(s) currently rented) for the existing entity type B (User personal and business name).
1.8.1. The next step is to define the relationship between the two entity types in your application. Press F12 to add further details.
ERROS will display the following screen -
ERROS will display the following screen -
ERROS will display the following screen -
1.8.5 Key in the full name(or part name followed by an *) of entity type A
Video tape
and press ENTER.
ERROS will display the following screen -
ERROS will display the following screen -
ERROS will display the following screen -
1.8.8 Press ENTER (as prompted) to add further information.
ERROS will display the following screen -
ERROS will display the following screen -
1.8.10 Select the attribute of entity type A that is at the top of your ERROS diagram currently rented to and press ENTER (note: this will not be the identifying attribute e.g. not name).
ERROS will display the following screen -
ERROS will display the following screen -
1.8.12 Press ENTER (as prompted) to add further details.
ERROS will display the following screen-
ERROS will display the following screen -
ERROS will display the following screen -
Video Tape
and press ENTER.
ERROS will display the following screen -
ERROS will display the following screen -
ERROS will display the following screen -
1.8.18 Press ENTER to add further details.
ERROS will display the following screen -
ERROS will display the following screen -
ERROS will display the following screen -
ERROS will display the following screen -
In other words, you have defined all the extensions to the existing data definitions that are required for your application.
An experienced operator will complete the process so far in about 2 minutes. The whole process adds just 40 records to the ERROS database and no new files or programs are created.
1.8.22 Press F3 twice to return to the list of applications to which you are authorised. The next step is to create the application.