Customise, test and amend software applications Introduction 2 Constructing forms and reports 3 Using advanced form techniques 3 Using advanced report techniques 4 Toolbars 6 Creating menu systems 8 Automating the StartUp 8 Testing and client feedback 10 Testing process overview 11 Amending to meet client requirements 12 Documenting the changes 13 Summary 14 Check your progress Reading: Customise, test and amend software applications 2005 15 1 Introduction After reviewing the needs analysis and other materials, you can commence your design. Customising existing packaged software involves analysing the chosen software package and its features, and building a solution within the scope of that program. The program may be spreadsheet, database or another type of application. In this Reading we’ll focus on the development of a customised application using a relational database. There are many database programs to choose from. Some of the more commonly known are Microsoft Access, Foxpro and SQL Server, Filemaker Pro and Apple/Claris Works. Most have trial versions available for download. All of these are well supported with plenty of free tutorials and resources available on the Internet. You’ll need to create the forms, reports and other documents used by an organisation, test them, and talk with the people who use the system to make sure that they suit their needs. You should find out what aspects of the system work well, and where improvements can be made. After the client testing phase you make any required amendments to the software, documenting changes along the way. The systems development lifecycle (SDLC) involves similar stages regardless of the size or scope of the project. SDLC is a systems approach to developing applications and is made up of stages: 2 1 The software concept — identifies and defines a need for the new system 2 Analysis — analyses the requirements of the end users 3 The design — creates a blueprint for the design with specifications for hardware, software, user interface and data 4 Constructing, coding, and debugging 5 System testing and evaluation. Reading: Customise, test and amend software applications 2005 Constructing forms and reports Most database applications include tools to make the construction of the forms and reports in your application easy to do by following a few simple prompts. Take the time to familiarise yourself with the package that you have chosen to use. There are many useful tutorials and text books available. Some suggestions have been noted in the Research section of this Learning Pack. Once the objects have been set up you are able to modify them to suit the design requirements as specified by your client during the analysis and design phases of the project. You do this by changing the View of the object. For example, if you are using Microsoft Access this is done in Design View. In Filemaker Pro this is done in Layout View. Find out how to do this in the program you are using. Using advanced form techniques Forms are used for displaying information or accepting user input. Although you can use tables to input information, forms give capabilities to be useful, informative and attractive to the user. All the detail on a form is contained in objects called controls. Bound controls are linked to data fields in the underlying table or query. They can be used to enter, edit, display and print data. Unbound controls are not linked to the data fields in the underlying table or query. They can be used to display information such as form title, labels for data fields, boxes and lines to organise the form into sections, and graphics to make the form more attractive. Using a form is an efficient way to enter data because it can save time and prevent typing errors by: matching paper forms on which data is collected using lists or combo boxes from which values are chosen rather than requiring the user to type repetitive data perform calculations or summarise data. When designing forms in most software applications, each object on the form has its own properties. In Microsoft Access you can add objects to the form from the Control Toolbox. If it doesn’t come up on your screen automatically you can click on the button on the toolbar, or choose the View Menu (Toolbox). Reading: Customise, test and amend software applications 2005 3 By right-clicking on the object and selecting Properties you are able to make changes to the way the object ‘behaves’ — including its appearance, control source (what it is bound to), and any ‘events’ that may occur — such as opening a form because of a command button being ‘clicked’. The properties will look different depending on what the object is — eg a text box has different properties to an image. Using advanced report techniques Multi-table reports Reports can be constructed using fields from more than one table. In doing so, it takes account of the relationships between tables. Many database programs have tools to help you construct your reports. You can then modify the design to suit the requirements of your client. For example, in Microsoft Access, the Report Wizard makes it very easy to construct complex reports using fields from many tables. You do not have to construct separate queries on which to base the report. The wizard does that automatically in the background. Computed fields in reports Reports can contain labels, and text boxes (which are bound to fields from the database). It is also possible to add text boxes whose data is computed from the fields in your tables or queries. For example, if you were creating a report containing the fees paid by Customers, it would be possible to introduce a computed field where the fees were added together, giving the total fees paid. Example Figure 1: Microsoft Access report in Design View showing calculated fields 4 Reading: Customise, test and amend software applications 2005 Below are some examples of different calculations that can be performed in Microsoft Access and their meanings. Calculation Meaning =[Subtotal] + [Delivery] The sum of the values of the Subtotal and Delivery fields =[DueDate]—[InvoiceDate] The difference between the values of the DueDate and InvoiceDate fields =IIf([Confirmed] = ‘Yes’, ‘Order Confirmed’, ‘Order Not Confirmed’) Displays the message ‘Order Confirmed’ if the value of the Confirmed field is Yes; otherwise, it displays the message ‘Order Not Confirmed’ =Sum([Fee]) Uses the Sum function to display the sum of the values of the Fee field Group totals Where items in a report are grouped, it is often convenient to include in the footer of a group a total of a particular field for each group. For example, if you had a report containing orders and order lines, with a total price for each order line, then you could include a group total which gives the total price for the order. Example In Microsoft Access you click on View (Sorting and Grouping) or the button on the toolbar. Figure 2: Microsoft Access report — Sorting and Grouping Options Practice Use the Internet or built-in help menus to find out how to change the properties of an object on a form and report with the software package you are using. To practice, change the background colour of a text box on your form. Reading: Customise, test and amend software applications 2005 5 Toolbars Depending on which application you are using, you can make changes to the toolbars and create special customised toolbars for your client. Most users never make any changes to the toolbars provided. However, it’s very easy to remove toolbar buttons which you never use and replace them with buttons for commands which you do use. Also, when you develop your own macros, you might like to run these from your own personally-designed toolbar buttons. You can have several, if you like, each with a set of buttons for specific tasks. You can also decide which toolbars you want displayed at any time and can change their position on the screen. You can tailor the user environment with customised toolbars by: adding new toolbars to the taskbar. adding new buttons to toolbars. changing the order in which the buttons appear. removing buttons and toolbars that you don’t need. By creating customised toolbars you can remove unnecessary features and add additional features to enhance the application. This has several benefits such as: easier for the end user to learn end-users are less likely to access features of the program that they do not require (and that the developer would rather they didn’t)! better navigation through the system. You will need to understand the way the end-user uses software programs to best design toolbars to suit their needs. Not all end users can use a mouse, and some simply prefer not to. Make sure wherever possible in your application, you include keyboard shortcuts. In many applications such as Microsoft Office Applications, this can be done by using the ampersand (&) symbol before the letter you wish to use as the short cut. Below is an example of a customised toolbar containing only buttons and commands necessary to using the customised application: Figure 3: A customised toolbar 6 Reading: Customise, test and amend software applications 2005 Example In the Microsoft Office Suite you can customise toolbars by selecting Customise from the Tools menu. The Customise window gives you the options to create new or modify existing toolbars and commands. Figure 4: The Customise window in Microsoft Office Suite Investigate Use the Internet or built-in Help menus to find out how to do this in your database application. Reading: Customise, test and amend software applications 2005 7 Creating menu systems Automating the StartUp If you want to make using the customised application easy for the users, it is a good idea to have the menu form open automatically when the database is opened. A shortcut to the application can then be placed on the desktop. You will need to check what features are available in the software application you are using. There are several ways of opening a form or carrying out other actions when the database starts. Example In Microsoft Access the most common way is to set the Startup Form property in the Startup Dialog box. It is opened from Startup in the Tools menu. Figure 5: Startup Dialog Box in Microsoft Access The form you want to use as your main menu can be selected from the dropdown box Display Form/Page. Alternatively in Microsoft Access, you can create a macro that opens a form and any other actions that you want to carry out when the file is first opened. These are named as AutoExec. This allows you to include additional actions whenever the file is opened. Be careful not open a form in both the Startup 8 Reading: Customise, test and amend software applications 2005 dialogue window and the AutoExec macro. The AutoExec macro is run after the startup properties and overwrites it. Microsoft Access also has a built in tool for creating menu systems, which is called the Switchboard Manager. Click on Tools / Database utilities / Switchboard Manager. You can have as many switchboard pages as you need in the application, and as with all aspects of your customised application it is a good idea to plan the design first. Once you have given the switchboard a name, by clicking on Edit you can add items to it — for example, a button to open a form or a button to exit the application. Investigate Take the time now to examine the database software that you have chosen to use, and find out what tools are available to help create the menu system for the customised application. You might try using the Help menu or search the Internet to find out what is available. Reading: Customise, test and amend software applications 2005 9 Testing and client feedback Every object such as tables, forms, queries or reports, which are created in the database, must be tested thoroughly. Testing a database system is a vast topic, indeed a subject on its own. The first stage for you as the software developer is to test the application before handing it over to the client. It’s also a good idea to get somebody unfamiliar with the application to use it and enter data. Because you are familiar with the design you will know how it should be entered — unlike somebody that hasn’t used it before. This is a great way of finding potential problems. Test data should be designed according to the purpose of the customised application. The aim of most software customisations is to develop an application which allows quick and easy data entry and minimises the possibility of data entry error. You should consider the following issues when designing test data: 10 Test data should verify the correct operation of completed components of the database. Data used must test each component and help to identify any design errors overlooked in earlier stages of the customisation. Test data should also identify all possible limitations of our design. That is, it should show us how the tested component will respond to incorrect data entry, such as data out of the defined range, entry of an incorrect data type and missing data. Entering test data should identify any system limitations related to entering data. For example, if the data value to be entered into a field is within a small range of possible entries, then a lookup combo box or a list box with pre-set data values to choose from will be a good option to make the software more user friendly. For example for a field in a table which records addresses, the field for ‘State’ could be a drop down box containing QLD, NSW, ACT, VIC, TAS, SA, WA, and NT. Many people have good keyboarding skills and avoid using a mouse whenever possible. You need to test whether our application allows keyboard only data entry for this type of user, and that tab orders have been set correctly. Another technique to help data entry and reduce the possibility of a data entry error is to use default values. They appear in every record, unless it is replaced by a different value entered by the user. Reading: Customise, test and amend software applications 2005 After the new system is installed, an acceptance and handover procedure occurs. This involves the user being satisfied that the project has been successful and accepting the software for use. It can involve a testing process where users formally accept the new system, or it may be an informal acceptance. Quality customer service is one of the most important attributes of any successful project. It ensures the client is gaining confidence with the new system and using it to its full capabilities. Post implementation reviews are an important way of ensuring the client is satisfied with the product and that the product or system is functioning as intended. A post implementation review is conducted after the hand over of the system. It consists of a questionnaires and interviews to staff members, to analyse how the system is performing and the levels of user acceptance. Questionnaires and interviews can be carried out with staff identified as key users of the system. The results of the review are analysed for evaluation. A meeting takes place to discuss the findings of the review. From the results of the review key stakeholders will be able to identify any new issues or further action that may need to take place. Testing process overview The testing process can be summarised into the following stages: 1 Testing 2 3 4 Test each component of the new system thoroughly. Handover System delivered to client & installed Conversion of old system (transferring data if necessary) User training System used in ‘normal’ operational setting Amend the system according to client requirements Post implementation review — may lead to further modifications Continuing use may lead to or identify further enhancements or changes Obtain client agreement — sign off Reading: Customise, test and amend software applications 2005 11 Amending to meet client requirements During the testing period some limitations and errors in the system will be discovered. You will be able to correct them quickly after they are reported. However, during the same period, your client may discover many new possibilities for the customised software. Some of these new requirements will be easy to add to the existing system. Others may require a system redesign and can be difficult to implement. Any new changes may have an impact on the existing system and need to be analysed before implementation. For example, if the client wants to add new information which could be added as a field to a table or a new table in the database, such changes may not have a big impact on the front end. However, if the client requires changes which alter the existing relationship between tables, then such a change may have a huge impact on the front-end section of the database. The amount of work which will be required to redesign a collection of forms, queries and reports may make the suggested changes not feasible to implement. You need to carefully analyse any new requirements from the client (it’s actually starting the systems development lifecycle all over again) because it is quite common that changes which appear small and easy to implement can lead to large, difficult to implement tasks. If new client requirements and amendments lead to a major system redesign, you need to explain to your client all the implications of such changes, particularly development time and costs that will be incurred as a result. 12 Reading: Customise, test and amend software applications 2005 Documenting the changes Creating a well-customised application is often an ongoing process, so be prepared to handle changes to the structure of the application throughout its development. It would make life easy if the requirements for your application could be ‘carved in stone’ from the beginning, but the reality is that this rarely happens. Documenting changes helps with project version control, and reporting to clients on work carried out. Bugs and other issues with the software need to be tracked because for the purposes of locating and fixing bugs in future projects. It is also important if there is more than one person working on the project, that everybody can identify changes that have been made, and the details of any change such as: date who made the change what was the problem or issue what was the solution and steps taken to address the problem or issue who approved the ‘change’ if it is completed or further action is required. Change management and its documentation is a critical ingredient for project success. There are many software packages available specifically for tracking change throughout the systems development lifecycle. You could also keep a simple log of changes by using software you already have such as a word processing, spreadsheet, or database package. Reading: Customise, test and amend software applications 2005 13 Summary Most database applications include tools to make the construction of the forms and reports in your application easy to do, by following a few simple prompts. Take the time to familiarise yourself with the package that you have chosen to use. Once the objects have been set up you are able to modify them to suit the design requirements as specified by your client during the analysis and design phases of the project. Toolbar design is effective if you use the following guidelines: remove unnecessary features include links to all essential application areas remember to use keyboard shortcuts where possible organise tasks logically. Create a form to use as a main menu for the system. By doing this users can click on buttons to go to forms or reports without having to understand the software application it was created in. Some database programs have features that will guide you through a series of simple steps to do this. The testing process can be summarised into the following stages: 1 Testing 2 Handover 3 Amend the system according to client requirements 4 Obtain client agreement — sign off. During the testing period some limitations and errors in the system will be discovered or your client may discover many new possibilities for the customised software. Some of these new requirements will be easy to add to the existing system. Others may require a system redesign and can be difficult to implement. Be sure to analyse the new requirements accurately and report them back to your client before making amendments. Change management and its documentation is a critical ingredient for project success. When developing software keep a simple log of changes and any bugs or issues by using software you already have such as a word processing, spreadsheet, or database package. Include information such as date, who made the change, what was the problem or issue, what was the solution and steps taken to address the problem or issue, who approved the change, if it is completed or if further action is required. 14 Reading: Customise, test and amend software applications 2005 Check your progress Now you should try and do the Practice activities in this topic. If you’ve already tried them, have another go and see if you can improve your responses. When you feel ready, try the ‘Check your understanding’ activity in the Preview section of this topic. This will help you decide if you’re ready for assessment. Reading: Customise, test and amend software applications 2005 15