-
Notifications
You must be signed in to change notification settings - Fork 0
Architectural Design
Note: Constraints and requirements herein were applicable to the CSSE374 project.
We first are doing architecture design as part of the process of creating a initial prototype.
It is a greenfield system, as there is no code in the system yet. (There is a library to be used, but that is not considered part of the system.)
It is a mature domain, since there are many linters that already exist which we may reference as examples when deciding how to design our system.
Listed with highest priority first:
- Usability: Feedback – Errors and warnings generated by the linter are displayed to the user immediately upon conclusion of the linting process.
- Performance: Latency – Errors and warnings are displayed less than 10 seconds after starting the program.
- Usability: Learnability – A new user can configure and use the software within 15 minutes.
The user starts the program by passing a path to a directory containing Java .class
files, and a path to a settings JSON file. The linter is executed, and errors and warnings found from the Java classes are printed to the console.
-
General concerns
- Establishing the overall system structure
- Organization of the base
-
Specific concerns
- Ensuring extensibility (for new checks)
- Understanding of the ASM API
- Adaptation of ASM components
- Exception management
-
Internal requirements
- Per team member:
- One cursory style check
- One principle check
- One pattern check
- Per team member:
-
Technical constraints
- Written in Java 11
- Using ASM
-
Non-technical constraints
- Due 2024-02-19
- Time management by the 3 developers
Rich Client Application