JMVA Comprehension and Analysis 475 Software Engineering for Industry - Coursework 1 Zhongxi Ren Tianyi Ma Qian Wang Zi Wang
JMVA Introduction JMVA An analytical evaluation tool of queuing network models using Mean value Analysis (MVA) algorithm. User Interaction — Wizard interface INPUT Workload intensities Stations Service demands (What-if Analysis) (Comments) OUTPUT Textual Throughput Customers numbers Residence time … Graphical Performance Index
Approaches Going Through Background Comprehending concepts of JMT and JMVA Reading Tests Written by Author Understanding major procedure of solving Analyzing with Stan4J Forming general overview of application Searching & Tracing in Eclipse Finding out sequences of calling methods Testing Units Dealing with details of codebase
Architecture of Application I Overview of the architecture: Package View
Architecture of Application II Deeper discovery of the architecture: MVC model
Three Main Features in JMVA What-if Solution Offers same what-if analysis functionalities of JSIMengine Execute faster on models of small number of workload classes XML Usage Automated algorithm chosen Works as an intermediate vector for passing messages among methods Decide which algorithm to be applied by the system automatically
Main Features — Diagram
Design and Code Evaluation User Interaction Heuristic Evaluation : Component Dependency Stan4J : Cycles occur between several packages. Too large classes with unrelated methods in it. Complexity & Repetition Eclipse Metric: Nested Block Depth , McCabe Cycloramic Complexity , Number of Parameters CPD From PMD: Found a 525 line (3213 tokens) duplication Programming Style Checkstyle : Some variables should have been set to be private, Some method should have been set to be abstract or final Puzzling and repeating method naming
Conclusion We have gained a lot from it — interesting points
LOGO