Scientific Calculator Project Report
Scientific Calculator Project Report
TECHNOLOGY
(JAVA)
Java is a software development-oriented computer/programming language.
Java has so many features including object-oriented programming, Robust,
Platform independent, and High Performance, and also provides a very
wide range of toolkits or software development kits (SDK) for example java
awt or java swing which are going to use later in this project.
Introduction to project
The calculator is like a part of every daily life, it is a very powerful and general-
purpose tool. We as human beings tend to forget many things hence calculation is
also a part of it. And what makes this project more interesting is that we are building
a Scientific Calculator. Unlike basic calculators that can only handle smaller values, a
scientific calculator can handle numbers on a much vaster scale, which can be useful
when it comes to collecting data or working as a physicist or chemist.
Overview Of Scientific Calculator
• Basic Arithmetic Operations:
• Addition, subtraction, multiplication, and division.
• Scientific Functions:
• Trigonometric functions: sin, cos, tan, etc.
• Logarithmic functions: log, ln.
• Exponential functions: exp, 10^x.
• Square root and power functions.
• Memory Management:
• Ability to store and recall values from memory.
• Memory arithmetic: M+, M-, MR, MC.
• Expression Evaluation:
• Handling complex mathematical expressions with proper operator precedence and parentheses.
• Error Handling:
• Graceful handling of invalid input or calculation errors.
• Displaying clear error messages to the user.
Functionality Overview:
• User Interface (UI):
• Graphical user interface with buttons for digits, operators, and scientific functions.
• Input fields for displaying the entered expression and the result.
• Input Processing:
• Memory Management:
Separation of concerns into layers (UI, Input Processing, Calculator Logic, Expression Evaluation, Memory
Management, Output Rendering).
Error Handling:
Incorporates robust error-handling mechanisms to handle user input errors and calculation issues.
Extensibility:
Designed to be easily extensible for incorporating new functions or features in the future.
User Experience:
• Java SE 8
• GUI Framework
• JavaFX
• Swing
• GUI Framework
• Eclipse
• IntellijIdea
• Version Control
• Git
• Build and Dependency Management
• Maven
• Gradle
REQUIREMENTS ANALYSIS
Functional Requirements
Perform basic arithmetic operations.
Provide trigonometric and logarithmic functions.
Memory functions for storing and retrieving values.
Non-Functional Requirements
User Stories
Feature Additions
• Complex number support.
• Scientific notation display.
Performance Improvements
Bug Fixes
• 1. Address occasional UI freezes during complex calculations.
Summary of Functionality
• Summarize the main functionalities of your scientific
calculator.
• Highlight the basic arithmetic operations, scientific
functions (trigonometric, logarithmic, exponential, etc.),
and any additional features you implemented.
CONCLUSION