Metrics Suite is a Java Swing desktop application for calculating and managing software engineering metrics.
The application supports project-based metric tracking with a GUI workflow for Function Points, Use Case Points, and Software Maturity Index calculations.
| Feature | Description |
|---|---|
| 🗂️ Project Management | Create, open, and save metric projects |
| 📌 Tab-Based Interface | Work with multiple metric panels in one application |
| 📊 Function Points | Enter and calculate Function Point metric data |
| 👤 Use Case Points | Estimate software effort using Use Case Point inputs |
| 📈 Software Maturity Index | Track software stability and maturity |
| 🌐 Language Preference | Select project language context for metric tracking |
| 💾 Save / Open Support | Save project data using .ms project files |
| 🔁 Reopen Closed Tabs | Restore recently closed metric panels |
| Metric | Purpose |
|---|---|
| Function Points | Measures software size based on functional components |
| Use Case Points | Estimates effort based on actors, use cases, and complexity |
| Software Maturity Index | Measures software stability across releases |
| Category | Tools / Technologies |
|---|---|
| Programming Language | Java |
| User Interface | Java Swing |
| IDE | Apache NetBeans |
| Build System | Ant |
| Application Type | Desktop GUI Application |
| Focus Area | Software Metrics, Testing, Verification |
I worked on this project with a focus on Java GUI development, metric calculation workflows, testing, and verification.
My work focused on:
- Building Java Swing-based metric panels
- Implementing Function Point, Use Case Point, and SMI workflows
- Adding project create, open, and save functionality
- Validating numeric input fields and calculation behavior
- Supporting tab-based metric management
- Testing edge cases, invalid inputs, and save/open workflows
| Area Tested | Validation Goal |
|---|---|
| Project Creation | Verify new project details are saved correctly |
| Function Points | Validate metric calculations and input handling |
| Use Case Points | Check use case and actor-based calculation flow |
| Software Maturity Index | Verify maturity index input and output behavior |
| Save / Open | Confirm .ms project files preserve project data |
| Tab Management | Verify close and reopen tab behavior |
| Input Validation | Prevent invalid or negative metric inputs |
| Regression Testing | Re-check existing workflows after updates |
Make sure you have:
- Java JDK installed
- Apache NetBeans installed
- Git installed, if cloning from GitHub
-
Clone the repository.
git clone https://github.com/SHREENITHI-TV/Metrics-Suite.git -
Open Apache NetBeans.
-
Select File → Open Project.
-
Choose the cloned project folder.
-
Build the project.
-
Run the application from NetBeans.
| Folder / File | Purpose |
|---|---|
src/ |
Java source code |
src/ui/ |
Swing UI panels, dialogs, and main frame |
build/ |
Build output files |
dist/ |
Distribution output |
nbproject/ |
NetBeans project configuration |
build.xml |
Ant build configuration |
manifest.mf |
Application manifest |
This project demonstrates practical experience with:
- Java desktop application development
- Java Swing UI design
- Software testing and verification
- Metric calculation workflows
- Input validation and edge-case handling
- Project save/open state management
- Regression testing of GUI workflows
- Maintainable desktop application structure
- Add JUnit tests for metric calculation logic
- Improve UI styling and layout consistency
- Add export to PDF or CSV