Basic mistakes and shortcomings in use-case diagrams: 1) 2) 3) 4) use cases which describe activities performed without the use of system (outside the system) not all use cases have scenarios scenarios are not written in the form of actions performed either by the user or system “Extension points” section is misused – this section should only include names of use cases which are connected with the extended use case (connected with the ‘extend’ dependency) and place where they should appear in the scenario of the extended use case (often also the direction of the dependency is incorrect) 5) use cases are connected with each other in a manner of data flow or sequence of performed activities like it is done on activity diagrams – only ‘include’ and ‘extend’ dependencies or inheritance relationships should be used (if applicable) 6) included use cases (connected with the ‘include’ dependency) are not mentioned in the scenario of the base use case Basic mistakes and shortcomings in class diagrams: 1) improper relationships between classes (“inheritance”, “dependency”, “extended dependency”, “composition” instead of “association” ) 2) even if proper relationship the multiplicity is often incorrect or name is missing 3) improper attributes for a given class – attributes describing objects from other classes , attributes indicating operations, not appropriate data types 4) improper operations/methods – operations corresponding to objects of other classes or to the attributes of objects from other classes 5) lack of consistency with use case diagram – operations of the classes do not correspond with the functions described on use case diagram Basic mistakes and shortcomings in sequence/communication diagrams: 1) it is not written which use case the sequence/communication diagram presents 2) a given diagram presents more than one scenario 3) improper objects – they are neither objects of any defined class, nor an interface; ‘database’ object is overused, instead the corresponding class name should be used 4) messages sent to objects which are unable to perform the given operations - lack of consistency of messages with operation defined for classes 5) messages sent between actors (outside the scope of the system) 6) lack of consistency with use case scenarios 7) alternative scenarios shown within the same diagram (without using alt or opt interaction operators) 8) communication diagrams should be generated from the sequence diagrams (no additional communication diagrams are required) Basic mistakes and shortcomings in activity diagrams: 1) it is not written which use case the activity diagram presents 2) improper connection between activities used (‘extended dependency’ instead of ‘flow’) 3) object node improperly used Basic mistakes and shortcomings in statechart diagrams: 1) it is not written which object the Statechart diagram is for 2) activities shown instead of states