Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Page 1 of 27
Table of Contents
2.2.1 Abstraction/Refinement . . . . . . 8
2.2.5 Storyboards . . . . . . . 12
2.2.9 Algorithms . . . . . . . . 17
Page 2 of 27
3.2 User Documentation: Manuals Help and FAQ . . . . 23
Page 3 of 27
STAGE 1: Defining and Understanding the Problem
This software aims to calculate the amount of paint needed to cover the surface of a given
object. Paint is a part of everything; it is an essential part of design and building. It is very prevalent
in our world today, but there is a widespread problem. Many times, people either overestimate or
underestimate the amount of paint needed to paint over surfaces. Our program helps calculate the
amount of paint required to cover the whole surface of an object, which can be seen below. By
precisely calculating the amount of paint needed, unnecessary wastage can be avoided, and the hassle
of purchasing paint again can also be avoided by using this software.
Our program will be called the Paint Calculator. To use this program, several inputs are
needed. These inputs include the likes of the number of shapes that will be painted, the spread rate of
the paint (Liters needed per sq. meter), and also the dimensions of the shape that will be calculated.
After inputting the data, the user will need to verify if the shape is a 2-dimensional shape or a
3-dimensional shape. There will be three choices given for each dimension, which are a rectangle,
circle, and a triangle for the 2D, and cube, sphere, and also pyramid for the 3D. The surface area will
be calculated based on the data input by the user. After that, the amount of paint needed will be
calculated by the multiplication of the surface area, the number of shapes, and also the spreading rate
of the paint. This result, the amount of paint will then be displayed to the user in Litres.
For the objective requirements, the software needs to determine the surface area of the
respective shape. From acquiring the surface area, we can calculate the amount of paint required to
cover the surface. This software must be able to use the proper formulas for different shapes to
process the data from the user’s input (spreading rate of the paint (meters covered per liter of paint),
height, length, width, and number of coats, its 2D or 3D shape) and produce the output of the amount
of paint needed. The input data has to be able to hold up to 2 decimal places.The output, which is the
amount of paint necessary to cover the area of the object in liters, from this software must show an
exact result of up to 2 decimal places.
Page 4 of 27
1.3 Objective Boundaries
In our objectives, there are certain boundaries that we have established in developing our
solution. Our software cannot store data, as the software only needs to immediately generate an
output after processing of the user’s input. Therefore, our software does not require a database to
manage stored data. Whenever the application is closed, the calculations need to be done again. Our
software does not require an Internet connection. Our software will create a new SWF (Flash) file,
and give it to the user every time we create a new update. The update will be done manually because
of the small size of our program. Thus, with the current internet connection, updating would be
convenient, and the user will not encounter problems related to the slow update process. Besides that,
it is essential to note that the software cannot repeat itself. Therefore, if the user wishes to calculate
another SET of shapes, the user must restart the application. Lastly, our software will be made using
Adobe Flash, so it requires Flash Player to run the program. Without it, the software cannot run.
In the creation of the software, each member has a role in this project, which includes the
programming, planning, and lastly documenting the final result of the findings. In programming, the
person will be assigned to design and code a computer program for accomplishing a specific
computing task. In this case, it would be creating a code that can calculate the amount of paint
needed for a particular shape.
The next role which is to plan the whole project this role is responsible for preparing the
schedule (Gantt Chart) of doing each portion of the project in each respective time. The planner is
also responsible in creating several things, such as abstraction/refinement, IPO diagram, context
diagram, data flow diagram, storyboards, structure charts, system flowcharts, data dictionary, and
algorithms. For this project, the whole team is responsible for making these items.
The last role being the documentation team is in charge of making the logbook. In making the
logbook the documentation team must write down the activities that happened during that particular
day. He will also have to make sure that the team is on track with the planning based on the Gantt
chart. In this project, everyone reminded each other to stay on track and finish the work accordingly.
In this project, we would need software resources such as Adobe Flash to create the paint
calculator software. We will need Adobe Flash to both design the interface and program the
software. In addition to that, we will also need an Adobe Flash Player to test the software of its
Page 5 of 27
functionality. Lastly, we continuously need an Internet connection to use Google Docs and Google
Sheets for the team to collaborate in making the software successfully.
We have decided that the RAD (Rapid Application Development) approach was the best
solution for many reasons. The first reason is that we are using the RAD is because the software can
be created in a short amount of time (5 months). We also have the ability and the existing software
(Adobe Flash) to create this software, so it's easy to access and utilize to create the software. In
addition to that, the budget to use in RAD is relatively low, so it is appropriate to use in our current
position as students. We do not have the human and financial resources to use advanced software
that requires skill and experience to operate. We believe what is vital in our software is its
functionality, and that is why we chose RAD as the suitable development approach in the creation of
the software.
Page 6 of 27
STAGE 2: Defining and Understanding the Problem
Page 7 of 27
For clearer image, refer to the excel file attached in Google Classroom
2.2.1 Abstraction/Refinement
Page 8 of 27
2.2.2 IPO
8. Display paint_amount.
Page 9 of 27
2.2.3 Context Diagram
Page 10 of 27
Note:
- “Paint Amount (L):” is text data to complement the value of paint_amount
Page 11 of 27
2.2.5 Storyboards
Page 12 of 27
Notes for storyboard:
- Bubbles are to be double clicked to move to the next screen.
- After a field is filled and “Enter” key is pressed it will move to the next screen.
- The 2D bubble in the initial screen is filled because it is initially set to true.
2.2.6 Structure Charts
Page 13 of 27
2.2.7 System Flowcharts
Page 14 of 27
2.2.8 Data Dictionary
Page 15 of 27
rectangle_width Real Local 2 dec. places It is the width of
the rectangle
2.2.9 Algorithms
BEGIN PaintCalculator
DECLARE shapes_number as real
DECLARE surface_area as real
Page 16 of 27
DECLARE dimension_selection as boolean
DECLARE paint_spreadrate as real
SET shapes_number = 0
SET surface_area = 0
SET dimension_selection = TRUE
SET paint_spreadrate = 0
PRINT “Number of Shapes:”
GET shapes_number
PRINT “Paint Spread Rate (L/ m2 ):”
GET paint_spreadrate
PRINT “Dimension Selection:”
GET dimension_selection
IF dimension_selection = TRUE THEN
DO 2Dimension (surface_area)
paint_amount=shapes_number*paint_spreadrate*surface_area
ELSE
DO 3Dimension (surface_area)
paint_amount=shapes_number*paint_spreadrate*surface area
END IF
PRINT “Paint Amount (L):”
Display paint_amount
END PaintCalculator
Page 17 of 27
DECLARE rectangle_length as real
DECLARE rectangle_width as real
SET rectangle_width=0
SET rectangle_length=0
PRINT “Rectangle length (meters):”
PRINT “Rectangle width (meters):”
GET rectangle_length
GET rectangle_width
surface_area = (rectangle_width*rectangle_length)
Return surface_area
Choice 2: circle
DECLARE circle_radius as real
SET circle_radius=0
PRINT “Circle radius (meters):”
GET circle_radius
surface_area = (circle_radius*circle_radius*π)
Return surface_area
Choice 3: triangle
DECLARE triangle_height as real
DECLARE triangle_base as real
SET triangle_height=0
SET triangle_base=0
PRINT “Triangle height (meters):”
PRINT “Triangle base (meters):”
GET triangle_height
GET triangle_base
surface_area = (triangle_base*triangle_height*½)
Return surface_area
END 2Dimension
Page 18 of 27
BEGIN 3Dimension (surface_area)
PRINT “Choose 3D type of shape: cube, sphere, square pyramid.”
DECLARE 3D_type_of_shape as Boolean
GET 3D_type_of_shape
CASEWHERE 3D_type_of_shape is
Choice 1: cube
DECLARE cube_side_length as real
SET cube_side_length=0
PRINT “Cube side length (meters):”
GET cube_side_length
surface_area = (cube_side_length^2)*6
Return surface_area
Choice 2: sphere
DECLARE sphere_radius as real
SET sphere_radius=0
PRINT “Sphere radius (meters):”
GET sphere_radius
surface_area = (sphere_radius*sphere_radius*4𝚷)
Return surface_area
Choice 3: square pyramid
DECLARE pyramidbase_length as real
DECLARE pyramidslant_height as real
SET pyramidbase_length=0
SET pyramidslant_height=0
PRINT “Pyramid Base Length (meters):”
PRINT “Pyramid Slant Height (meters):”
GET pyramidbase_length
GET pyramidslant_height
surface_area = (pyramidbase_length*pyramid
Page 19 of 27
base_length)+(pyramidslant_height*2*pyramid_base_length)
Return surface_area
END 3Dimension
Page 20 of 27
3.1.1 Log Book
Date Activity
Page 21 of 27
7 August 2019 We started doing the algorithms (Michael,
Timothy, Marco, and Russell) and fixed the
diagrams again (Michael). The storyboard
was started.
OS: Windows 98 or later versions (XP, Vista, Windows 7, Windows 8, Windows 10)
or alternative versions present in Linux or the Mac OS. As for Windows, Windows 7 and above is
recommended for the best experience in using the software.
Page 22 of 27
Processor: Intel Pentium 4 and above or the equivalent processors such as the AMD Athlon XP
3000 and above.
Graphics Card: Intel 4000 graphics card and above is recommended.
Hardware: Laptop or Personal Computer (PC) with appropriate accessories such as mouse,
keyboard, and monitor.
Memory: 2 GB RAM or above
Storage: Recommended to have over 500 GB free in the HDD.
Software: Flash Player is required to run the application
Page 23 of 27
1. How to determine the spreading rate of my paint?
The unit for the spreading rate of paint is Liters/ m2 . It is the amount of paint needed
to cover a square meter area. The paint spread rate depends on the user’s preference; namely
your choice of paint and the number of coating you wish to apply. After determining the paint
spread rate, input the data into the software to accurately determine the amount of paint
necessary.
2. What are the minimum hardware requirements to run this program?
Regarding operating systems, Windows 98 or later versions (XP, Vista, Windows 7,
Windows 8, Windows 10) or alternative versions present in Linux or the Mac OS are all able
to run our program. However, Windows 7 and above is recommended so users can have the
best experience using our software. As for processors, Intel Pentium 4 and above or the
equivalent processors such as the AMD Athlon XP 3000 and above, are able to run our
program. Concerning graphic cards, Intel 4000 graphics cards and above are recommended
for use with our program. For hardware, PC or a laptop is required to run the software.
Regarding memory, a minimum of 2 GB of RAM is required to run our program. For storage,
users are recommended to have over 500 GB free in the HDD (Hard Disk Drive). Lastly, a
Flash Player is required to run the application.
3. How many types of shapes can the program calculate?
There are 6 types of shapes this program can calculate: rectangle, triangle, circle,
sphere, square pyramid, and cube.
4. How to interact with the program?
Our program consists of two types of input, either typing or double clicking. If there
are several options that are presented to you, choose the one you would like to do by double
clicking. However, when the program asks for information such as: the number of shapes, or
the spreading rate of paint, or the length of the rectangle, etc. input the measurements
requested information by typing.
Page 24 of 27
Page 25 of 27
STAGE 4: Testing and Evaluation of Software Solutions
Test Data
1. 20, 0.01, true, triangle, 50, 75
2. 30, 0.01, false, cube, 30
3. 15, 0.03, true, rectangle, 15, 20
4. 20, 0.04, false, sphere, 10
5. 40, 0.03, true, circle, 20
6. 25, 0.05, false, square pyramid, 30, 25
Overall, the software has been successfully implemented and has reached its original aim, which
is to create a paint calculating system. The software is able to calculate the amount of paint using
various user inputs, and it can do so for 6 shapes. The 6 shapes is consisted of three 2D shapes
(rectangle, triangle, circle) and three 3D shapes (square pyramid, sphere, cube). Overall this software
is a successful software solution that creates a means of simplicity for the user.
However, there are several improvements that must be made to the software. First, there
needs to be more functionality in the software. For example, the software cannot store data, and the
software cannot repeat itself. Secondly, as of now there is a limited variety of shapes that this
software is able to calculate (limited to 6 shapes). When these two things are absent, it may
potentially create inconvenience for the user. By adding these two things in the software, the user
experience when using the software will be better. The future development may be the usage of
Page 26 of 27
database in our software to store the data for later use/retrieval. In addition to that, adding more
shapes to the software would also be a possible development. To aid the addition of more shapes, we
will change the input from selecting the shape to typing the shapes because in the future, there will
be much more shapes.
Page 27 of 27