In this article, we shall focus something other than what we have covered in our previous articles. We shall not deal with Database Management though it is important part of application designing.
We have various definitions for an application but we believe it to be a software package that satisfies the needs of the end user. To design such a project, a project leader needs to consider designing and analysis part. Along with designing the project, one needs to think of user-friendliness of the application.
We would suggest you use Microsoft Project for designing the project and managing it. Divide the project with differ rent modules and decide the time guidelines for completing those modules. We’ll take one of our applications as an example, Clinical Management System.
The system had following modules:
- Doctor Specific: Entry of the details of Different Doctors, their available times, searching for their records, Appointments.
- Patient Specific: New/Old Case, Patient Entry, Diagnosis, Printing
- Inventory Specific: Expenses, Returns, Balance Sheets
- Program Specific: Users & Passwords, Birthday Reminders, Emails
- Database Specific: Backup, Restore Facilities.
In each of the projects, there are various phases/modules that require taking detailed analysis of the possible options with the data, data flow and data security. It is important to analyze all the possible alternatives and find appropriate solution to it. For above project, following decision trees need to be analyzed.
While entry of doctor, one needs to check whether the Details of the doctor are pre-entered or not. If the doctor is available, the appointment can be given to the patient.
To check whether the case is old one or new. If it is a new case, enter the details of patient along with photograph. While diagnosis, the doctor enters the symptoms and the software finds out the prescriptions for same combination. If no records are found, we are required to add a new prescription at the very instant of diagnosis.
Check validity of users and check the password authenticity. It needs to send birthday mails to patients whose birthday is on the current day automatically.
When these conditions are met, what action the software should take and when conditions other than those defined, one needs to provide proper algorithm. We prefer to prepare decision trees as per the modules. You can choose any other method, which suites you.
After proper analysis of the problem, we need to design the application, which is described in the next topic.
Analysis to Design Transition involves
· Identification of Requirements
When the requirements are to be considered, one needs to understand different types of requirements such as System Requirements, Memory Requirements and Cost Factors. But at the programming aspects, the programmer needs to think of various issues like security of data, security from piracy, effect of malicious code on the application data and speed of operation.
· Design Standards.
While programming one needs to understand the need of uniformity of code, which is also a part of designing. One should adhere to naming conventions and should provide commenting so as to have readability.
Design, if considered to be one that appears on screen, should be simple and decent. Tips regarding where to enter data and its format should be provided where necessary.
Each and every module should be first tested thoroughly before giving it to the customer. The programmer should test the complete project on Three-Value System. As per the Three-Value System, the data should be entered in three different modes like Low value, Medium Value and High Value.
Third party software are also available for testing purposes. It’s advisable to use this software only when you’re selling your product at a good price because these third-party software are costly.
User Friendly means involves
· Onscreen Help
There are three ways to help a user while he is doing data entry.
- Provide him with a single line help at bottom of screen which we call tip
(Use a StatusBar).
- Help him by a help box at an un-occupied part of screen.
(Use frames with different background color for this)
- Provide him a help when he presses F1.
(Use Microsoft Help Workshop for creating help)
· No maintenance
These days maintenance is one of the biggest issues. Maintenance also includes updating the software without any paying additional costs. Effects of virus attacks should also be considered.
After we have created our application, it’s the time to make the setup file. To create a setup file, we use Package and Deployment Wizard that is bundled with Microsoft Visual Studio as shown in Figure 1.
We browse the project and then click on Package to proceed ahead. The wizard will then search the dependencies of the application.
When we intend to make an executable setup.exe, we select Standard Setup Package as seen in Figure 2. Another case is Dependency File which is used to create a file listing information about the run-time components required by your application.
Select the folder in which we would like to store the package (see Figure 3). Include the drivers which are intended to be included in the application.
Figure 1: Package and Deployment Wizard
Figure 2: Packaging Type
Figure 3: Selecting Package Folder
Many of the applications require databases and other text files, which need to accompany the application such as .hlp, .mdb, .htm, .txt etc (See Figure 4).
Figure 4: Addition of Files
In the next step, we decide the distribution type of the application. We can distribute the application in a single cab or in multiple cabs. If we select deployment with multiple disks, we can specify the capacity of disk from 360K to 2.88MB.
Figure 5: Cab Options
The last stage is to add Installation Title to the application. In our example, we have used Clinical Management System. (See Figure 6)
In Windows, we group the application in Programs Menu. The group in which the application can be listed and the items under that group can be decided as shown in Figure 7.
Figure 6: Installation Title Screen
Figure 7: Icons
Some of the files may be used by several applications and will be un-installable only if all the Applications using them are uninstalled. These files are shared files. It is better to include OCX and DLL files as shared files. (See Figure 8).
Figure 8: Shared Files
We then click on Finish to complete this package and make a SETUP.EXE. This setup file can be loaded on disk and distributed.
Note: This series was first published in DeveloperIQ and was co-authored by Puneet Ghanshani with Pranjali Bakeri in 2005-2006.