![]() ![]() Place the diagram close to where it is being described. Integrate diagrams into the description. ![]() For some more examples of what NOT to do, see here.E.g., show associations and navigabilities using lines and arrows connecting classes, rather than adding a variable in one of the classes. Use visual representations as much as possible.Stay at the highest level of abstraction possible e.g., note how this sequence diagram shows only the interactions between architectural components, abstracting away the interactions that happen inside each component.Similarly, rakes can be used to divide activity diagrams. You can use ref frames to break sequence diagrams to multiple diagrams.After that, sub-components can be shown as black-boxes in the main diagram and their details can be shown as separate diagrams. If a component has a lot of classes, consider further dividing into sub-components (e.g., a Parser sub-component inside the Logic component).Break diagrams into smaller fragments when possible.In particular, avoid showing lower-level details of multiple components in the same diagram unless strictly necessary e.g., note how the this sequence diagram shows only the detailed interactions within the Logic component i.e., does not show detailed interactions within the model component. Decide the purpose of the diagram (i.e., what does it help to explain?) and omit details not related to it. Omit repetitive details e.g., a class diagram can show only a few representative ones in place of many similar classes (note how the AB3 Logic class diagram shows concrete *Command classes using a placeholder XYZCommand).a sequence diagram can omit less important interactions, self-calls.a class diagram can omit minor utility classes, private/unimportant members some less-important associations can be shown as attributes instead.The aim is to make diagrams comprehensible, not necessarily comprehensive. Following from the point above, try to include UML diagrams of multiple types to showcase your ability to use different UML diagrams. e.g., differentiating between multiplicities 0.1 vs 1, composition vs aggregation Diagrams reverse-engineered by an IDE might not represent the actual design as some design concepts cannot be deterministically identified from the code.They tend to include every little detail whereas we want to limit UML diagrams to important details only, to improve readability.They often don't follow the standard UML notation (e.g., they add extra icons).Given are three reasons each of which can be reported by evaluators as 'bugs' in your diagrams, costing you marks: For example, if you use PowerPoint to draw diagrams, also commit the source PowerPoint files so that they can be reused when updating diagrams later.Ĭan i.e., automatically reverse engineered from the Java codeIDE-generated UML diagrams be used in project submissions? Not a good idea. But if you do, note the following:Ĭhoose a diagramming tool that has some 'source' format that can be version-controlled using git and updated incrementally (reason: because diagrams need to evolve with the code that is already being version controlled using git). You may use any other tool too (e.g., PowerPoint). To that end, you may also describe features that you plan to implement in the future, even beyond v1.4 (hypothetically).įor an example, see the description of the undo/redo feature implementation in the AddressBook-Level3 developer guide.ĪB3 uses PlantUML (see the guide Using PlantUML for more info). The stated objective of the DG is to explain the implementation to a future developer, but a secondary objective is to serve as evidence of your ability to document deeply-technical content using prose, examples, diagrams, code snippets, etc. Aim to showcase your documentation skills.Use AB3 as a reference point e.g., you can explain that while AB3 deals with only one entity type, your project was harder because it deals with multiple entity types.Explain the difficulty level, challenges faced, effort required, and achievements of the project.We highly recommend adding an appendix named Effort that evaluators can use to estimate the total project effort. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |