Monday, February 26, 2007

How do you define software quality?

ISO 9126 provides a standardized way to evaluate software quality by defining six sets of attributes by which we can evaluate software. These attribute sets are functionality, reliability, usability, efficiency, maintainability, and portability. What do they mean by these standards?

Functionality refers to the existence of a set of functions and their associated properties. Functionality gets to the fundamental ability of a software application to perform the required tasks necessary to satisfy user and organizational needs.

Reliability refers to the stable performance of these functions under a variety of conditions across time.

Usability as approached by ISO 9126 deals with the effort needed for use, and user assessment and acceptance.

Efficiency is all about performance issues and the resources required to perform the software functions under various conditions over time.

Functionality, reliability, usability and efficiency are all characteristics observable by users or operators. The other two criteria for measuring software quality that are contained in ISO 9126 relate to the developers ability to interact with a given software application. It isn't only an assessment of the tools used, but also how well the tools were used to accomplish the need for these next criteria:

Maintainability looks at the effort required to make specific modifications. We all know that some applications are easier to maintain than others due to variations in documentation, organization and software architecture.

Portability, or the ability to run applications in new environments, can also be impacted by the developer, and not simply by the tools she uses. For example, an application that utilizes many environment specific utilities may be more difficult to port to a new environment where those utilities may be unavailable or handled in a different manner.

With eDeveloper V10, you gain a software development environment for application development, testing, and deployment that enhances software quality in all of these areas for a number of reasons. In future posts, will look at all of these areas in detail.

Thursday, February 22, 2007

Magic eDeveloper Enters the Podcast Age

Well folks, here it is the long awaited and much ballyhooed eDeveloper Contest podcast. Please click here and enjoy the first ever (and definitely not the last) Magic eDeveloper podcast.

Wednesday, February 07, 2007

Get Ready for Daylight Savings Time 2007

Does your application use a table that lists the date and time of the switch to/from Daylight Savings time? If so, be forwarned: Congress has changed the dates in the United States beginning in 2007! Canada and many Carribean countries have changed their DST timetables as well.

Previous start to DST: First Sunday of April (1 April 2007)
New start of DST: Second Sunday of March (11 March 2007)
Previous end of DST: last Sunday of October (28 October 2007)
New end of DST: first Sunday of November (4 November 2007)

What types of applications could be afected?

Scheduling Applications. The most obvious are calendaring or scheduling applications, especially those that accomodate multiple international time zones. One example might be an international air freight scheduling system. Another example would be CRM scheduling systems that send email notices that localize the time of a scheduled appointment.

Applications with Time Calculations. An application that performs calculations using minutes or hours could be thrown off. For example, piece workers who are paid bonuses based on exceeding a certain number of pieces in a given time period. The calculations could be off by 60 minutes or 1 hour.


Data Synchronization Batch Jobs Suppose one data center is scheduled to synchronize data at a given local time, say 2 am, and another data center is normally completing its batch jobs prior to that so that the synched data center has current information -- or at least they should have, but the foreign data center does not know that it is synchronizing to data that has not yet updated because of the time change. Since it is a batch job that has not completed, the information could be off by a complete 24 hours or more. Any reports generated against that information, or supply chain orders dependent on that information, could be seriously off.

Planes Will Not Fall Out of the Sky I talked to my colleagues about this and they reminded me that planes will not fall out of the sky. But it is worth considering now, whether any of your applications are dependent on accurate update of daylight savings time.

Monday, February 05, 2007

The New Report Generator

Important: The New Report Generator is Here

1. What is it good for?

Many years ago eDeveloper (then named Magic) used to come bundled with a report generator. This was an amazing tool, basically allowing end users to create their own reports by letting them run existing reports, create new reports, delete reports, duplicate reports, load reports created by others, view the results of an existing report, or print a report, based on warehouse type views created by developers. Some of you may have missed the new report generator that was slipped into eDeveloper V10.1. It sort of snuck in the side door with the 10.1 version and very little noise has been made about it to date. So let's correct that now: the report generator is back and its more powerful than ever. There are two other ways to deal with report generation that are documented in the Help files for eDeveloper. But the new Report Generator has its own help files from which I will summarize.

2. So, how do I use it?

2.1. Loading


  1. Create a component and then zoom to select the ReportingGenerator.eci application from the Add_On directory.

  2. In the task you want to work with, set the Print Data property in the Options tab of the Task Properties dialog box to Yes.

  3. Run the program that you want to print data from.

  4. Press CTRL+P to open the Report Generator. The Select Report screen opens.

2.2. Using the Generator
The Select Report screen helps you manage reports with the following options (available as buttons or options in the File menu):


  • New - Opens the Report Creation wizard where you can create a new report.

  • Edit - Lets you edit the report that you have selected.

  • Delete - Deletes the report that you have selected.

  • Duplicate - Copies the report that you have selected.

  • Load - Lets you use reports created by others for the same eDeveloper program. You do this by moving reports to a visible place on your computer and then clicking the Load icon. This enables you to select the required report. This option is in the File menu.

  • Preview - Provides a preview of the report that you have selected.

  • Print - Prints the report that you have selected.

2.2.1. Report Creation Wizard

The Report Generator is equipped with a wizard that helps you create your report easily, step by step. Click New in the Select Report screen to activate the Report Creation wizard.
The Report Creation wizard contains six simple steps, but you do not have to complete all six steps to create a report. You may complete your report and exit the wizard at any time by clicking Finish or Close.
If you click Finish, the wizard closes, the Design screen opens, and the information you have entered in the wizard screens is automatically saved.
If you click Close, the wizard closes, the Design screen opens, but the information you have entered will not be saved unless you click Save.
The six steps of the Report Generation Wizard are:

2.2.1.1. Setting

The Setting step lets you define your report name and layout.
The report default name is the name of the eDeveloper program where the Report Generator is activated

2.2.1.2. Columns

The Columns step lets you select the variables you want to display, and their order, in the report table.
The left part of the screen shows the available columns, which includes all the fields selected in the eDeveloper program. The right part of the screen shows the columns you selected to be included in your report.
On the Columns screen you can perform the operations listed below:
  • Rename a column by clicking on the column, and then clicking the button. Enter a new name in the Column Properties dialog box and click OK.Note: This only changes the column name for the current report.

  • Change the Date Format by marking a Date column you would like to change and pressing the button. You can edit the column name and change its date format in the Column Properties dialog box and click OK.Note: The default format for Date columns is dd/mm/yyyy.

  • Select all columns by pressing the button.

  • Select a variable by using one of the following methods:
    Drag a variable from the Available Items list to the Selected Items list.
    Select a variable and click the button.
    Double-click on a variable in the Available Items list.

  • Unselect all columns by pressing the button.

  • Unselect a column by marking the column and pressing the button.

  • Move a column up by marking it and clicking the button.

  • Move a column down by marking it and clicking the button

2.2.1.3. Sections

The Sections step lets you divide your report into subsections that are similar to the grouping in eDeveloper.
On the Sections screen you can perform the operations listed below:

  • Define Section Properties – Click on the section whose properties you want to define, and then click the button to:
    - Change the title of a section.
    - Choose if you want to start the section on a new page.
    - Choose if you want to print the section title on every page.

  • Select a column by using one of the following methods:
    - Drag a variable from the Available Items list to the Selected Items list.
    - Select a variable and click the button.
    - Double-click on a variable in the Available Items list.

  • Unselect all columns by pressing the button.

  • Unselect a column by marking the column and pressing the button.

  • Move a column up by marking it and clicking the button.

  • Move a column down by marking it and clicking the button.

2.2.1.4. Sorting
The Sorting step lets you define the sort order of the report.
On the Sorting screen you can perform the operations listed below:

  • Change the Sort order by selecting a column and pressing the button to open the Sort Properties dialog box and select the change.Note: The default sort order of a column is ascending.

  • Select the columns by using one of the following methods:
    - Drag a column from the Available Items list to the Selected Items list.
    - Select a column and click the button.
    - Double-click on a column in the Available items list.

  • Unselect all columns by pressing the button.

  • Unselect a column by marking the column and pressing the button.

  • Move a column up by marking it and clicking the button.

  • Move a column down by marking it and clicking the button.

2.2.1.5. Filtering


The Filtering step lets you define an expression that will filter the report result.
Create a filtering expression by dragging and dropping Functions, Operations, or Variables (variable names are preceded by ~) from the right list to the left working area.
Click Test to check if the expression you created is valid.


2.2.1.6. Accumulators


The Accumulators step lets you create Accumulators for your report, such as the total salaries amount or employee count.
Create a new Accumulator by selecting a column from the Available Items list on the left and moving it to the Selected Items list on the right.
On the Accumulators screen you can perform the operations listed below:

  • Define the Accumulator type by selecting an accumulator and clicking the button.Note: The default type for numeric data is SUM, and the default type for all other data is Count.

  • Select the Accumulators by using one of the following methods:
    - Drag a column from the Available Items list to the Selected Items list.
    - Select a column and click the button.
    - Double-click on a column in the Available items list.

  • Unselect all Accumulators by pressing the button.

  • Unselect an Accumulator by marking the column and pressing the button.

  • Move an Accumulator up by marking it and clicking the button.

  • Move an Accumulator down by marking it and clicking the button.
2.2.2. The Design Screen
The main screen of the Report Generator is the design screen, which lets you graphically design and save the report.
To help you create a better report with less effort, the Design screen contains the tools listed below:

2.2.2.1. Drawing Aids Palette
The Drawing Aids palette helps you arrange the Elements and Variables you have added to the report. The buttons on this palette identify the available operations, and a ToolTip describes each operation.

2.2.2.2. Elements List Palette
The Elements List palette lets you add elements to your report. There are three types of Elements:

  • Variables – All the fields you selected in the invoking eDeveloper program with the names you gave them.

  • Added Variables – The variables you added to the report using the Variables Management Tool.

  • Internal Elements that help you design your report properly, including:
    Rectangle
    Image
    Line
    Simple Text
    Report Title
    Date
    Page Number
2.2.2.3. Report Generation Design Toolbar
The Report Generator Design toolbar lets you perform the operations needed to create your report. The toolbar buttons include:

  • Saves your report with the changes you made.

  • Displays the report you created.

  • Print the report.

  • Similar to the Wizard’s Setting screen.

  • See Variables Management Tool.

  • Similar to the Wizard’s Columns screen.

  • Similar to the Wizard’s Sections screen.

  • Similar to the Wizard’s Sorting screen.

  • Similar to the Wizard’s Filtering screen.

  • Similar to the Wizard’s Accumulators screen.

  • Lets you redesign the screen according to the default values. When you press this button, all the changes you made will be lost

  • Displays the Elements List Palette.

  • Displays the Drawing Aides Palette.

2.2.2.4. Variables Management Tool
Click on the Report Generator Design Toolbar to add and remove Variables and User Questions to your report.
Adding Variables:

  • To add a new variable, press the Add Variable button, enter the variable name, select the variable type, and click OK to open a Column Properties dialog box.

  • Create an expression by dragging and dropping Functions, Operations, or Variables (variable names are preceded by ~) from the right list to the left working area.

  • Click Test to check if the expression you created is valid.

  • Click OK to complete the new variable creation.

  • Adding User Questions
    The User Questions mechanism lets you ask the user who will run the report questions that will influence the report result data. Click the Add User Question button, enter the Name and Question type in the Add New Variable dialog box, and click OK to continue. You can later find your question by this name in the Expression Editor.
    In the User Question dialog box, enter the question you want the user to see and the default value of the answer.

  • Removing Variables and User Questions
    To remove a variable or user question you added to the report, select the variable you want to remove, and click the Remove variable button.

  • The Remove variable button is only applicable for variables and user questions you created in the Report Generator.
2.3. Summary

No more simple reports hustle. The new report generator allows developers to create a view using main application entities linked to each other. The column names can be changed to user friendly names in the Dataview tab. Users can then create simple reports based on that view, allowing developers to concentrate on what they do best.