Software Engineering: Analysis & Design
Introduction
The UB Health Services is a medium size hospital capable of handling few tens of patients. The hospital is to develop diet control software for the patients who are recovering from their illness. In the current scenario, the hospital does have software, capable of finding the diet requirement for a given patient. However, the existing software is poorly designed and developed by the previous IT team. You have joined this hospital as multifaceted IT person who has capacity to play dual roles - as a system analyst and as a developer.
In UB Health Services, you are given an application for calculating the recommended daily intake of calories. The application has the following general requirements:
1. The application has the formula for calculating daily recommended calories and the calculation is based on the patient's personal data and it varies according to the patient's gender. Here are the formulas:
Male: 66 + (6.3 × body weight in lbs.) + (12.9 × height in inches) - (6.8 × age in years)
Female: 655 + (4.3 × weight in lbs.) + (4.7 × height in inches) - (4.7 × age in years)
2. The application is also required to calculate an ideal-weight. The idea was for the application to be able to calculate a patient's ideal weight based on height, along with calculating daily calories. As before, the calculation depends on gender, so there are separate formulas for men and women. Here are the formulas:
Male: 50 + 2.3 kg per inch over 5 feet
Female: 45.5 + 2.3 kg per inch over 5 feet
3. The next requirement is to save patient historical data so that doctors could easily track his patients' progress. Therefore, for this requirement, application needed to capture some data that could be used to identify the patient.
4. Identification of the patient by using Medicare number.
5. Separation of the calculation operation and the operation of persisting patient data: These two actions should be separated to be able to perform some ad hoc calculations without having to input a patient's name and Medicare number. In addition, users could save the data only when they were sure that all the entries were correct.
6. For implementing persistence of a patient's history, a few alternatives are available, such as a flat file, a database (e.g., Access), or even a spreadsheet. In the given application, a flat file was used. You are required to change this to a database or XML file.