App02 BMI Calculator - BNU-CO453/ConsoleApps15 GitHub Wiki

App02: Body Mass Index Calculator

Description

Your BMI, or Body Mass Index, is a measure of your weight compared to your height. Accurate assessments of obesity are important, as being overweight or obese significantly increases your risk of a variety of medical conditions including type 2 diabetes, heart disease and cancer.

For most adults, BMI gives a good estimate of your weight-related health risks. If your BMI is over 35, your weight is definitely putting your health at risk, regardless of the factors below. However, there are some situations where BMI may underestimate or overestimate these risks in the 25-35 BMI range. The main ones are:

  1. Children
  2. Pregnant women.
  3. Muscle Builders
  4. BAME: Black, Asian and other minority ethnic groups.

Basic Features (aprox. 45%)

  1. Output a heading and a introduction explaining the application
  2. Prompts the use to enter their weight and height.
  3. Calculates and displays their BMI value.
    • BMI = (weight in kg) / (height in metres)2
  4. Outputs the WHO (World Health Organisation) weight status as illustrated below
WHO Weight Status BMI kg/m2
Underweight < 18.50
Normal 18.5 - 24.9
Overweight 25.0 - 29.9
Obese Class I 30.0 - 34.9
Obese Class II 35.0 - 39.9
Obese Class III >= 40.0

Advanced Features (75%)

  1. Allows users a choice of imperial units or metric units
    Imperial Units: weight in stones and pounds, height in feet and inches
    Metric Units: weight in Kilograms, height in metres
  2. Calculates and displays their BMI value in imperial or metric.
    • BMI = (weight in kg) / (height in metres)2
    • BMI = (weight in pounds) x 703 / (height in inches)2
  3. Add code to your project so that the use can choose between App01 and App02
  4. Displays a message explaining to BAME groups their extra risks.
  5. Outputs error message when an invalid number is entered
  6. Outputs an error message when an invalid choice is entered

Imperial BMI Units

Outstanding Features (85%)

  1. A Mobile Phone App version of the calculator or
  2. Adding adjustments for BAME, and Children

Design

UML Activity Diagram

The student should add an activity diagram here summarising the program activities

UML Class Diagram

The student should add a full class diagram here

Testing

Console Screen Shots

The student should add one or more example screen shot(s) here which shows the application from start to finish

  1. Starting the Application
  2. Inputting values
  3. Outputting results
  4. Displaying a message to BAME groups

Please replace this example console screen shot

BMI Calculator

Web Screen Shots

Please replace or remove these web example screen shots

BMI Chart Used

BMI Chart

Black Box OR Unit Tests

Test No Proposed Test Data Entered Expected Result Actual Result Comments
01 Underweight min height = 1.625, weight = 45.5 BMI = 17
02 Underweight max height = 1.625, weight = 47.1 BMI = 18

The student should either create a table of Black Box tests which tests the lowest and highest values for each health category and for each unit system (Metric and Imperial) (24 tests) OR should create 24 Unit tests
Alternatively one unit system could be tested using Black Box tests and the other using Unit Tests. This must be shared if working as pair programmers

Evaluation

The student should add five limitations or useful extensions that could be added to the application

  1. Improvement, Extension or limitation
  2. Improvement, Extension or limitation
  3. Improvement, Extension or limitation
  4. Improvement, Extension or limitation
  5. Improvement, Extension or limitation
⚠️ **GitHub.com Fallback** ⚠️