This repository was archived by the owner on Jun 24, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Architectural Design
Madeline Kahn edited this page Jan 30, 2024
·
4 revisions
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.
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 with 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:
- Issues
- Pending
- Technical constraints
- Written in Java 11
- Using ASM
- Non-technical constraints
- Due 2024-02-19
- Time management by the 3 developers