Formula for calculating daily recommended calories

Assignment Help Software Engineering
Reference no: EM13920290


Objectives - You are required to document, test and refactor an existing application.


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.
The system analyst role is to design and analysis the requirements by drawing a use case diagram, class diagram and sequence diagram for finding the correct diet intake in calories for a given patient. While the developer role is to produce the code, however, in this scenario, you have given the written code for the application developed by the previous IT team. This application is badly in need of refactoring and even a casual viewing of the source code reveals many examples of the "code smells" (talked about in Fowler's book). You are only required to refactor the written code and test them based on the analysis and design produced by you as a system analyst. Finally, a report is given to the management about the defects in the design of the existing software by identifying the bad smells etc.

Your report should be written in the same manner as Fowler has done in the prescribed text - small refactoring's with code comparisons and UML diagrams (refer Fowler pp.1-65). Ask your tutor if you have any doubts.


A mark is awarded for each of the sections shown. Within each section, items affecting the category mark are listed.

Report detailing any "code smells" present in the code, and how you intend to refactor them out of the application. Your report should be complete and follow the guidelines for the presentation of academic work. The style of your report should be the same as that used by Fowler in his book ‘Refactoring'.

A refactored version of the system eliminating all identified code smells present in the initial code.

A class diagram illustrating the initial code and another class diagram illustrating the final refactored code (including all relevant dependencies).

A sequence diagram illustrating how the final refactored system processes a new patient's recommended daily intake of calories

Extensive NUnit tests for the complete refactored system.

Reference no: EM13920290

Examples of operational systems

Business operations traditionally use IT to "run the business". Examples of operational systems are ERP systems such as SAP, Oracle Business Suite, and Lawson or CRM applica

How to measure the return on the company investment

Describe an appropriate strategy for implementing the recommended improvement activities that you have identified. Explain how to measure the return on the company investment

Populate the graph with edges connecting concepts

Populate the graph with edges connecting concepts/classes as of the given statements above. You need to consider that these edges will be labelled by the predicate in the gi

Discuss how the erp software can be adapted

Please take an example of a service industry and discuss how the ERP software can be adapted to that industry. Will it be as effective in the service sector as in the manufa

The design development and deployment of a product

The design, development, and deployment of a product are the first steps toward a finished product ready for distribution in the marketplace. The next step is the evaluation

Identify trends in mobile software development

Identify trends in mobile software development and explain why they are relevant to the scenario described above. Explain how the different mobile platform will affect the dif

Context level dfd to level 0 dfd to illustrate sub-systems

Explode Context level DFD to Level 0 DFD to illustrate sub-systems (processes). Level 0 DFD illustrates internal data stores and how data flows through processes.

Evaluate principles of software engineering aspects

Demonstrate their ability to interpret a set of laws that are part of the principles of software engineering, to evaluate principles of software engineering aspects within a


Write a Review

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd