Quadratic Equation Solver Program

Verified

Added on  2020/04/07

|13
|1338
|34
AI Summary
This assignment focuses on designing and programming a user-friendly quadratic equation solver. Users input integer values for coefficients and the constant term, and the program calculates the roots using the quadratic formula. The program incorporates error handling for non-integer inputs, displays the calculated roots in a results window, and offers an option to visualize the graph of the quadratic equation. The solution includes a flowchart diagram depicting the program's logic, simulation results showcasing its functionality, and justification for the chosen software tools (Adobe XD).

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
Running head: SOFTWARE ENGINEERING METHODOLOGIES
1
Software Engineering Methodologies: Report for Design and Implementation of Roots of
Polynomials-Quadratic Application in Java
Name
Institution Affiliation

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
SOFTWARE ENGINEERING METHODOLOGIES 2
Table of Contents
A. Introduction..............................................................................................................................3
B. Analysis....................................................................................................................................3
a. User Analysis........................................................................................................................3
b. Content Analysis...................................................................................................................4
C. Interface Design.......................................................................................................................4
a. Objects and Actions..............................................................................................................4
b. User Front-End.....................................................................................................................5
i. Launch Window....................................................................................................................5
ii. Result Window.....................................................................................................................6
D. Problem Modeling....................................................................................................................7
E. Software Used..........................................................................................................................7
a. Description............................................................................................................................8
b. Justification...........................................................................................................................8
F. State Transition.........................................................................................................................8
G. Program Simulation................................................................................................................10
H. References..............................................................................................................................13
Document Page
SOFTWARE ENGINEERING METHODOLOGIES 3
A. Introduction
The application of quadratic equations is extensive. This includes the use of
parabolic expressions in projections, calculation of velocities in a gravitational field and
economic optimization among others. Irrespective of this vast application, calculation of
roots of quadratic equations, especially complex ones, can be time-consuming. A simple
Java application can make the calculation extremely easy. This report represents the design
and implementation of a simple Java application using the Swing class to calculate the roots
of quadratic equations provided by the user at a time. The report will explore the analysis of
the application, the design of the interface, the modeling of the problem, the software used
during the implementation, visuals of transitions involved during the execution and
screenshots of the application in the simulation.
B. Analysis
To understand the purpose of the application and its usefulness, a two-part analysis
is done; one is User Analysis and the second is Display Analysis.
a. User Analysis
User analysis explains the “audience” of the application, that is, the target
users of the application. The application is going to be useful to individuals who
frequently use quadratic equations in their daily tasks. These individuals are likely
to be found in the field of mathematics and may include, but not limited to
students, teachers, business analysts, mathematicians, and researchers. Given the
importance of quadratic equations to this set of people, the application will
provide them with ease of use on the technical part and give them the chance to
focus on the analytical part of the task.
Document Page
SOFTWARE ENGINEERING METHODOLOGIES 4
The demography of the users of the application can vary largely. Although
simple, it provides a powerful and robust, yet simple to use platform that could be
used by people of diverse age groups. However, the ideal target population would
be high school students and college students who are constantly solving complex
but not so sophisticated quadratic questions.
b. Content Analysis
The content analysis explores the content of the application that will be
visible to the user. The front end display presents a graphical user interface (GUI)
with input boxes for the coefficients and constant of the quadratic equation. At
the bottom there are two buttons; one that initiates the calculations and another
that provides an option to clear the previous input. The last set o line has boxes
for the respective roots 1 and 2 of the quadratic equations. An error for invalid
input will display in case the user enters values other than integers as coefficients
and constant.
C. Interface Design
To ensure that the end users of the program will achieve the expected results, a
model is chosen for the interface design stage. A detailed explanation of the process is
explained below with the expected launch window as well as the results window.
a. Objects and Actions
For this application, a Prototype modeling technique was used on the
backend. Under this type of model, a set of sequential stages is predefined to
make sure that the program works correctly. Each stage must be checked to
ascertain that the requirements at that stage are met, in which case a failure results

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
SOFTWARE ENGINEERING METHODOLOGIES 5
to going back to an earlier stage. A graphic representation of the model is shown
below Fig A, for a better understanding.
Fig A
b. User Front-End
The user front-end interface is designed to go show two or three windows
depending on the user input. The first window is the launch window; the second is
the dependent error window and the third is the result window.
i. Launch Window
The launch window launches on application startup. The window has
three input boxes, a submit button and two output boxes. The input boxes
accept user input, the out boxes display the answer and the submit button
initiates the calculation. Fig B below shows a graphical design of the
window.
Document Page
SOFTWARE ENGINEERING METHODOLOGIES 6
Fig B.
ii. Result Window
If all the conditions are met, the program will show a results window.
The program only accepts integer values for both the coefficients and the
constant values. A results window with the entered coefficients, the constant
and the roots of the resulting quadratic question is displayed. A graph button
is available for display of the result when the roots are returned. Fig C below
shows the graphical representation of the window design.
Document Page
SOFTWARE ENGINEERING METHODOLOGIES 7
Fig B.
D. Problem Modeling
For this problem the model used to solve for the roots of the chosen values is the quadratic
formula:
x=b ± b24 ac
2 a
The program will first accept the values for the coefficients and the constant and if it finds that
they meet the set requirements, it will feed them into the formula to calculate the root of the
equation. A loop will be used to check if the requirements for the input values are met.
E. Software Used
For the design and the implementation of this program, I used Adobe DX to both
design the user interface as well as draw the flow chart diagrams.

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
SOFTWARE ENGINEERING METHODOLOGIES 8
a. Description
Adobe XD is a software interface designing tool by Adobe. Adobe is a
tool that is still under trial mode and therefore is freely available for any user with
Adobe ID. Although it is a new tool in the design industry, it provides equally
powerful platform for easy and simple designs.
b. Justification
My choice for any of the software was based solely on the availability and
ease of access. Considering most of the necessary software is expensive, I chose
to use the software that I am familiar with and could either access as a result of
free availability as in the case of Adobe XD. I also find the software easy to use
than the other alternative available. As stated earlier, Adobe XD is available for
free and therefore I did not need to incur any further expenses for another design
tool.
F. State Transition
Conceptually, the application process flows in a given way. The application state
goes through 5 states. The first state, Q1 is the launch state. The user feeds the application
with input at this stage. A click on the submit button initiates the process from Q1 to the
other states. At Q2, the application decides on whether to proceed to Q4 or Q3 depending on
user input. If the user enters integers, the application goes to Q4 otherwise it goes to Q3 and
then back to Q1. The following Fig C shows the flow of the process from Q1 to Q5.
Document Page
SOFTWARE ENGINEERING METHODOLOGIES 9
Document Page
SOFTWARE ENGINEERING METHODOLOGIES 10
G. Program Simulation
The program was successfully tested and the following results were obtained.
1. Step 1: The Main Screen
2. Step2: Input Values
3. Step 3: Display roots

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
SOFTWARE ENGINEERING METHODOLOGIES 11
4. Step 4: Display Graph
Document Page
SOFTWARE ENGINEERING METHODOLOGIES 12
5. Display errors
Document Page
SOFTWARE ENGINEERING METHODOLOGIES 13
H. References
Heimgärtner, R. (2017). User-Interface-Design. Interkulturelles User Interface Design, 135-
184. doi:10.1007/978-3-662-48370-1_5
Keshtcher, Y. (2017, August 30). Top 21 Prototyping Tools For UI And UX Designers 2018.
Retrieved from https://blog.prototypr.io/top-20-prototyping-tools-for-ui-and-ux-
designers-2017-46d59be0b3a9
1 out of 13
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]