This project is using the java maven build tool to have a neat way of structuring everything and automate testing. The program is a hypothetical anti-ballistic missile system. The system returns Yes or No based on 15 requirements.
All classes are implemented in /src/test/java/com/group/decide. A full class diagram can be found here.
The parameters for the CMV are implemented as methods in the ConditionsMetVector class.
GitHub Actions are integrated to automatically build and test our code when a PR is created. This is a good way to avoid any faulty code being merged with the main branch.
Our implementation of the CI is based on GitHubs maven template and can be found in the .github/workflows folder.
Some standards are set to make everything clear.
Branch-naming: issue/nr
Compile all files and run with:
$ mvn exec:java -D"exec.mainClass"="com.group10.decide.LaunchInterceptorProgram"
This maven project is comes with a test suit that can be tested with the following command:
$ mvn test
All unit tests in the suite are located in the /src/test/java/com/group/decide and each java class has their own test class.
We decided that the LIC requirements was a good way to split the work between us. Therefore, we assigned 3 requirements each with approximate the same level of difficulty.
On top of that, we also needed some other part for the program to work well which are listed bellow.
Name | Tasks |
---|---|
Amanda | LIC2 #4, LIC6 #10, LIC13 #19, Vector class #40, LICParameter class #23, Some additional methods in the Point class Unit test to all methods and classes that I implemented Some refactoring and documentation Class diagram, slack-bot that notifies whenever a PR is created/updated. |
Chiyi | Implement LIC0 #2, LIC5 #8, LIC11 #17 and their unit tests Implement input functions of LICParameter class #23, Implement launchInterceptorProgram #25 Refractor Condition Met Vector class and the unit tests of all LICs to make them uniform #73 Fix edge errors of some unit tests #81 |
Ludwig | LIC4 #6, LIC8 #12, LIC10 #15, Point Class #24, LaunchInterceptorProgram #25, Matrix class #39, some refactoring. |
Sebastian | LIC3 #5, LIC7 #11, LIC14 #20 PreliminaryUnlockingMatrix #7 #75 Decider #21 Refactoring and unit tests for PUM, CMV & Decider class Cleaned commit history |
Şefik | ParameterManager Class and its tests. #22 and #52 LIC1 #3, LIC9 #14, LIC12 #18 Python script to generate test cases #94 Test inputs #13 |
We have had a discussion of our state of work. The conclusion of our discussion can be found here.