Question
I need a program created using Java. Details below. I have the first part which is just the basic program, but now I need the
I need a program created using Java. Details below. I have the first part which is just the basic program, but now I need the extra features to be added.
EXTRA FEATURES FOR THE PROGRAM
Finally, three features make the software even more useful. The first is a what-if inquiry. The second finds peak concentration. The third calculates when to take a dosage to reach a predefined concentration.
2ND FEATURE FOR THE PROGRAM
Peak Level Feature The second inquiry feature is about peak concentration. The user wants to know at what point in the future is the concentration going to be at its highest. This question can come in two forms. The first form is using only the current list of dosages. The second form is using the current list of dosages and a what-if dosage following the pattern of the first feature. Hint: keep in mind that peak concentration can occur before the users inputted time.
Objective This project tests your ability to organize code coherently and to produce a valuable software solution. Parts and grading The most number of points for this exercise is 230. Each part is worth a predetermined number of points. It is as follows: 1. 100 points testing The software is useless to the client if testing doesnt cover the entirety of the code. Tests that cover boundary conditions and exceptions receive more points. Tests that do not cover boundary conditions and exceptions drastically decrease the amount of points under this part. Every public method must have a test. Every class must have a test class. All logic needs a test. All input needs a test. All output needs a test. Remember that tests are specific. They test a specific expectation. Hint: While Im grading the project, I will not hold back trying to find a way to break your program. If I break your program and you at least have a test that covered the area, but did so unsatisfactorily, thus allowing me to break your program, I will not deduct as many points. Were human. Its therefore difficult to recognize every possibility. But not testing an area at all is avoidable. If I break your program because of a method and the method had no test at all, I will deduct a lot of points. Its better to have more tests than to skimp on tests. 2. 60 points implementation Organization of code, use of interfaces, good separation of concerns, minimizing dependencies, effective use of objects, and thorough commenting and descriptive naming make up the metric under this part. Keep these ideas in mind: Interfaces guide implementation; Objects depend more on interfaces than other objects to minimize dependencies; Simple code is better code. 3. 40 points documentation Use whichever documentation framework or program you want to use. You must explain to me every part of the program through documentation. The document must be user-friendly. It must have an index and thorough descriptions of classes, fields, methods, interfaces, enumerations, and resources. It is not necessary to include test classes, fixtures, or their contents in documentation. If you do include them, it should be in a separate file. Documentation must be in PDF format. 4. 30 points git Youll have to use git for this project. How well you use it affects the points under this part. The more commits you make, the better. The more descriptive the commits you make, the better. INFX-499 Project 1 Page 2 of 3 v.1 Requirements The user wants a program to track how much medicine is in a patients body. Concentration is typically an amount in units per liter.1 But the user doesnt need something so precise. The formula to use is simpler. It is the total amount of medicine left from each dose at a given time. Context A dose is when the patient takes the medicine and the size. Each time the patient takes a dose, the medicine follows a concentration formula. The first part of the formula is the rise. This rise starts right after the patient takes the medicine. It is how the medicine increases in the body. The second part of the formula is the fall. This fall dictates how the amount of medicine decreases in the body. For each dose, the amount of medicine in the body rises in a linear fashion. It starts at zero. Then it steadily increases until a peak. That peak happens at Tmax. At that time, the amount of medicine in the body is equal to the size of the dose. If, for example, a patient takes 20 mg at noon and the Tmax is 1 hour, then at 1 hour, the patients body has the full 20 mg of the medicine. Once the amount of medicine reaches Tmax, it begins to fall. The half-life is the amount of time the concentration needs to decrease by half. Thus, if the half-life is two hours and the largest concentration is 20 mg, then two hours after Tmax, concentration is at 10 mg. Four hours after Tmax, concentration is at 5 mg. Six hours after Tmax, concentration is at 2.5 mg, and so on. Setup The user expects to initially set three parameters. The parameters are the name of the medicine, the Tmax, and the half-life. Basic Feature The user wants to enter information about doses. The input is in two forms. The first is just the amount of the medicine. The second is the amount and the time the patient takes it. If the input is in the first form just the amount, the software must assume that the patient is taking the medicine now. The dose time is thus the current time. But if the input is in the second form includes both amount and time, the software must use the inputted time, not the current time. Additional Features The user wants to do more than just enter information about the medicine and when the patient takes a dose. Other functionality includes listing all doses, removing a dose, clearing all doses at once, displaying current concentration amount, displaying concentration amount at a specified time, saving all doses when the program closes, and optionally loading saved doses when the program reopens. 1 This program is a simplified version of the amount of medicine in a persons body. The actual pharmacological formula considers many factors. The size of the person and percent of the medicine availability in the body are a few of those factors not considered in this version. INFX-499 Project 1 Page 3 of 3 v.1 Advanced Features Finally, three features make the software even more useful. The first is a what-if inquiry. The second finds peak concentration. The third calculates when to take a dosage to reach a predefined concentration. What-If Feature For the first feature, the user wants to test a scenario of the patient taking a dosage. The scenario is a whatif. It wont permanently add to the list of dosages. The scenario is of a dosage at that moment or of a dosage at a time in the future. Thus, the input is dosage and time. If the input doesnt include a time, the software uses the current time. The output is the concentration amount at the time specified in the input. It considers the current list of dosages and the scenario dosage to make that determination. Peak Level Feature The second inquiry feature is about peak concentration. The user wants to know at what point in the future is the concentration going to be at its highest. This question can come in two forms. The first form is using only the current list of dosages. The second form is using the current list of dosages and a what-if dosage following the pattern of the first feature. Hint: keep in mind that peak concentration can occur before the users inputted time. When to Dose Feature The final feature is a when question. The user wants to know when to give a patient the next dosage to ensure the concentration level maxes out at a certain amount. This question needs only the current list of dosages and input from the user on the max level of concentration sought. User Interface The user didnt specify whether to use a GUI or command-line application. Either will work. Keep in Mind This user is notorious for changing requirements. Its always an addition, something that doesnt scrap whats already there. Its important to keep in mind that the user may want to, say, input multiple dosages at a time. But this user is also very particular. Its not acceptable to code outside the specific requirements. In other words, just do whats in the current requirements; no more, no less.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started