COS420-Fall23 / Team-G

Repository of team g
0 stars 0 forks source link

Detailed Technical Design #119

Closed KlawZ closed 10 months ago

KlawZ commented 10 months ago

The comments from Deliverable 4 on domain model and sequence diagrams must be addressed.

For any comment that was not addressed, deduct -2 points at minimum, or up to the amount of points originally deducted.

This will be based off your domain model, sequence diagrams, and architecture design. The new things you will make: 1) a design class diagram (DCD) which must include types and attributes and methods of all classes, and all functions.

Design document includes design class diagram (DCD) with types and attributes/functions of all classes and files, and link to commentable (and preferably editable e.g. with Miro or other tool) version of the diagram

The DCD needs to represent the team’s app. If it doesn’t match the project’s current source code or doesn’t show how the design patterns will be used, -5 points each.

The DCD should show classes with their attributes, associations, and methods, and types, and functions and parameters, that fit your team’s app i.e. user stories, use cases. The DCD should match with the design sequence diagrams (names, types, etc) and domain model.

For every mistake or mismatch, deduct -2 points.

As an example for “matching”/corresponding to domain model for domain objects (not React components), see

Example 1

Design class diagram in two parts at end and design patterns

(domain model that the above design class diagram was based on)

Example 2 and 3 (from the examples document)

Team F: https://docs.google.com/document/d/1vHfu3MTiSRdSGs4KF2A1R8_xLmTPEpW88b3cRG4BUyk/edit#heading=h.685i9lu2xddv

Team C: https://docs.google.com/document/d/1Fvw4SuoOcTNha90WqZR9kFlpkDdMZ1oi/edit

For every missing key external dependency required to implement all the user stories your team intends to finish by Deliverable 6, i.e. APIs you will use, -3 points

This penalty will be reduced to -1.5 each by specifying a facade or a “todo” with an example function/method signature for the API, which is then shown to be used by your app’s components

Put your use of external libraries onto your diagram as in this example ( firebase and firebase-react-hooks are examples)

For each poor/overcomplicated design choice, -1 to -4 points depending on size and severity

“Helper functions” (if your design has them) should be put into a filename box (similar to a class) as in the example single helper functions “class” and list the method name, parameters and types, and return type, as in this example

-2 points for each that is represented as a class method or class variable when it is actually just a function exported from a file

Put your React functional-style components onto the diagram as “ViewController” as in this example

-1 points for each deviation from that format e.g. for each variable, function, type, etc