SimMetrics: A Software Metrics Acquisition and Visualization Tool

Download Report

Transcript SimMetrics: A Software Metrics Acquisition and Visualization Tool

SimMetrics: A Software Metrics
Acquisition and Visualization Tool
CS 426: Senior Projects, Spring 2005
Students:
Project Advisors:
Eiler, Derek
Leong, Herman
Penrod, Nathan
Sergiu Dascalu, Ph.D.
Brian Westphal, M.S.
Norm Brown, Ph.D.
Overview
●
Introduction: “What is SimMetrics?”
●
Review of Software Metrics
●
Related Software: DataDrill, MindManager
●
SimMetrics GUI
●
Future Work
●
Questions/Answers
Introduction
• SimMetrics is a tool designed for software
project managers
• Creates PowerPoint presentations from
data in Excel spreadsheets
• Used to generate informative visual
representations of software metrics data
• Generic interface design will allow for
program extensibility
What Are Software Metrics?
• Measurable factors related to the
development of software
• Help indicate potential problems in the
development process
• Used by project managers to produce
quality software in a timely manner
• Defining new, more informative metrics is
an active area of research
Categories of Metrics
Schedule Performance and Confidence
–
–
–
–
–
–
Functional Delivery Progress
Test Progress
Integration Progress
Milestone Migration
Defect Resolution
Defect Aging
Risks
–
–
–
–
–
–
Top Software Risks
Software Risks on Programs Critical Path
Staffing Forecast
Requirements Progress
CPU / Memory Utilization
Speed of Execution
Earned Value
– Specific Earned Value
– Specific Estimated at Completion
Examples of Software Metrics
Functional Delivery Progress
– Planned Delivery Date: When software
functionality was initially planned to be fully
tested and integrated.
– Re-Planned Delivery Date: Each revised
planned delivery date.
– Delivered Date: When planned software
functionality actually becomes available
1
FUNCTIONAL DELIVERY PROGRESS
Build 1
Date
Build 2
Date
Build 3
Date
Build 4
Date
Function 1
Function 2
Function 3
Function 4
Tie to IMS
Where Possible
...
...
...
...
Function 5
Function n
Today
Planned
Fully Implemented
Replanned
Partially Implemented
Unimplemented
Build 5
Date
Examples of Software Metrics
Defect resolution
– Number of defects reported
– Number of reported defects that haven't
been fixed
Defect Aging
– Number of months to repair a known defect
• Category 1 Defect: System Abort – Prevents accomplishment of a
mission-essential capability of jeopardizes safety
• Category 2 Defect: System Degraded – No Work-Around.
Adversely affects accomplishment of an operational or missionessential capability for which no work around solution is known
4
DEFECT RESOLUTION
5
DEFECT AGING
4
DEFECT RESOLUTION
# Reported
# Not Fixed
Months
DEFECT AGING
Category 1 Defect
Category 2 Defect
Age of Unfixed Defects
Months Unfixed
5
16
8
4
2
1
Number Unfixed Defects by Age
DataDrill
Similar concept to SimMetrics
• Manages software metrics
• Provides graphical visualizations
Web interface design
• Data is centralized
• Information is shared
Differs in that it is not as flexible as our
concept
MindManager
• Another similar tool
• Used in process management and planning
• Features Microsoft Office integration
• Differs in that it does not
focus completely on metrics
GUI Preview: Main Window
SimMetrics
File
Visualization
Slide Title
Graph Type
Configuration
Pane
Help
Baby food analysis
Pie Chart
Bar Chart
Histogram
Scatter Plot
Font
Baby food analysis
Configure
Visualization
Preview Pane
Export JPEG
Data Entry Pane
Presentation
Organizer Pane
<< Previous
Insert before
Replace
Insert after
Next >>
GUI Preview: Sample Configuration
Window
SimMetrics Graph Configuration: Pie Chart
Graph Title
Font
Data Range 1
Change Color
Data Range 2
Change Color
Data Range 3
Change Color
Data Range 4
Change Color
Data Range 5
Change Color
Data Range 6
Change Color
Pie Radius
px
Layout defined by
respective
Visualization Module
Cancel
OK
Future Work
• Generate Macromedia Flash presentations as
output.
• Generate HTML web pages as output.
• Provide a graphical interface for specifying
new visualization modules.
• Voice recognition for control of the application.
Questions?