Top Banner
WPI Suite TNG Advisor: Prof. Gary F. Pollice Core Michael Della Donna Brian Gaffey Ryan Hamer Tyler Wack Exemplar Christopher Casola Andrew Hurle Jennifer Page
39

WPI Suite TNG

Jun 11, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: WPI Suite TNG

WPI Suite TNG

Advisor: Prof. Gary F. Pollice

Core

Michael Della Donna

Brian Gaffey

Ryan Hamer

Tyler Wack

Exemplar

Christopher Casola

Andrew Hurle

Jennifer Page

Page 2: WPI Suite TNG

Problem

• A project for software engineering students

• Lack of tools for software engineering

students

Page 3: WPI Suite TNG

Previous Solution

• Mainly written by students

• Lacked comprehensive unit tests

• Performance issues

• Lack of Security

• No Client-Server architecture

Page 4: WPI Suite TNG

Goals

Well-defined module framework

Configurable

Client-server

Excellent documentation

Exemplar module(s) with documentation

Open source availability

Page 5: WPI Suite TNG

Approach

Core TeamCreates Framework

Exemplar TeamLeverages Framework

Designs

Feedback /

Requirements

Page 6: WPI Suite TNG

Core

Page 7: WPI Suite TNG

Goals

Flexible

Avoid Complexity

Comprehensive Documentation

Robust and Maintainable

Page 8: WPI Suite TNG

Flexible

• Client-Server architecture

– Client agnostic

• Module System

• HTTP REST API

– Using JSON for communication

Page 9: WPI Suite TNG

Avoid Complexity

• Abstraction

– Network Communication

– Persistent Storage

– Login Security

Page 10: WPI Suite TNG

Avoid Complexity

Network Communication

Page 11: WPI Suite TNG

Avoid Complexity

Persistent Storage Interface

Page 12: WPI Suite TNG

Avoid Complexity

Login Security

Page 13: WPI Suite TNG

Comprehensive Documentation

• Well-documented components

– Apache Tomcat

– Db4o

– Google GSON

• As well as

maintaining

our own

Page 14: WPI Suite TNG

Robustness

• Creating a module only requires 7 methods

• Descriptive Error Handling

• Server side logging

Page 15: WPI Suite TNG

Architecture Diagram

Page 16: WPI Suite TNG

Code Metrics

• 6,192 lines of code

• 52% code coverage

• 37.3% comment ratio

• 40 Classes

Page 17: WPI Suite TNG

Code Metrics

Page 18: WPI Suite TNG

Looking Forward

• Dynamic Module Loading

• Increased Test Coverage

• Stronger Web Admin Console

Page 19: WPI Suite TNG

Exemplar Module

Defect Tracker

Page 20: WPI Suite TNG

Goals

• Extensible desktop client

• Example module for students to learn from

• Simple network communication

• Good documentation and design

Page 21: WPI Suite TNG

Design Decisions

• Defect tracking

• Java and Swing

• Dynamic module loading

• Modules provide tabs and toolbars

• Cross-platform look & feel

• Modeless editing

• Network library

Page 22: WPI Suite TNG

Desktop Client

Page 23: WPI Suite TNG

Desktop Client

Page 24: WPI Suite TNG

Architecture

Defect Tracker Module

Page 25: WPI Suite TNG

Code Base Metrics

• 6,836 SLOC

• 17.6% Comment Ratio

• 150 classes

• 28.1% Testing Coverage

– Server-side code: 93%

– Network library: 70%

Page 26: WPI Suite TNG

Documentation

Page 27: WPI Suite TNG

Future Goals

• More testing, especially of the GUI

• HTTPS support, including certificates

• Conflict resolution

• Dashboard screen

• Filters on defect search tab

Page 28: WPI Suite TNG

Results

• Studied D Term Software Engineering

• Teams developed a Requirements

Management module

• Three MQP team members were coaches

Page 29: WPI Suite TNG
Page 30: WPI Suite TNG
Page 31: WPI Suite TNG

D Term

761 commits

16,705 Physical SLOC

3,287 more commits

42,039 more SLOC

A Term 5 weeks later

Team 2

Team 1

Team 4

Team 3

Team 5

Page 32: WPI Suite TNG

D Term Software Engineering

Page 33: WPI Suite TNG

D Term Software Engineering

Page 34: WPI Suite TNG
Page 35: WPI Suite TNG

Survey Results

0%

45%

55%

Usefulness of Defect Tracker

Not useful Somewhat useful Very useful

5%

71%

24%

Confidence in Team’s Ability to Deliver

Not confident Confident Very confident

Page 36: WPI Suite TNG

Survey Results

24%

60%

16%

Ease of Setting Up Development Environment

Difficult Moderate Easy

3%

71%

26%

How Helpful was the Documentation

Unhelpful Helpful Very helpful

Page 37: WPI Suite TNG

Overall Future Goals

• Virtual machine for development, and/or a

bootstrap script

• Pagination

• Database migration

• Email support

• Consistent code style and CodePro audit

rules

Page 38: WPI Suite TNG

Open Source Community

Repo: github.com/fracture91/wpi-suite-tng

• Governance policy established

• Alumni have expressed interest in

contributing

• Will be presented to education community,

other schools

• Pull requests welcome!

Page 39: WPI Suite TNG

github.com/fracture91/wpi-suite-tng

Questions?