A checklist for grading the first software engineering report


Report format described here

Points will be deducted from the maximum possible score if the following issues are found in the report.

Note that these items are about minimizing the “noise” that can impact clear and effective communication between the project team and the grader.  This is not about nitpicking!  Effective communication in the form of a professionally prepared project report is critical for meaningful and fair grading.


Project Management—typical issues:    (maximum possible score: 10 points)

  1. project was apparently poorly managed, because the report is of substandard quality
  2. the perceived novelty of the project is low
  3. unfocused project with too many (unrelated) features that are haphazardly conceived and superficially designed
  4. poor and inconsistent writing, different styles, difficult to read and understand
  5. diagrams unclear, unintelligible, UML diagrams created using different tools
  6. non-UML symbols are used without defining their meaning
  7. lack of consistency and traceability between the requirements, use cases, user interface, and the domain model
  8. report is incomplete, not self-contained and no references are provided for non-obvious claims
  9. information or diagrams used from existing sources are not properly credited
  10. missing page labeling (pagination), section headings, section numbering is messed up
    figures and tables are not labeled, missing captions, or not described and referenced in the text
    fonts and line width are different for different parts of the report
  11. the report is not following the prescribed format
  12. Other: ______________________________

Section 1: Customer Problem Statement—typical issues:    (max score: 9 points)

  1. the team obviously exhibits the lack of knowledge and understanding of their problem domain—desired system features are envisioned naively and superficially
  2. a similar project was implemented previously, and it is unclear what is new about this project
    explicitly list the novel features of your project and for your other functions that existed in the past projects, indicate if your idea/design/implementation will be different in any way
    (when describing the differences, refer explicitly to the specific past project)
  3. the proposed system will require large amounts of data (e.g., for statistical analysis or machine learning) but the report does not describe how this data will be acquired
  4. the proposed system will require special hardware or sensors (beyond what a standard laptop or smartphone contains) but the report does not describe how these will be acquired
  5. problem statement is poorly written and difficult to understand
  6. problem statement is written from programmer’s, not customer’s viewpoint:  it describes the software-to-be rather than the problem that needs to be solved and the business goals that will be achieved
  7. glossary inadequate, missing terms, unclear definitions
  8. Other: ______________________________

Section 2: System Requirements—typical issues:   (max score: 6 points)

  1. requirements statements (or user stories) are not enumerated
  2. incomplete—more features or functions are mentioned in the problem statement than covered in the requirements and no explanation is provided for why they are missing
  3. overcomplete—some functional requirements appear from nowhere, are not derived from the problem statement or do not accurately capture the customer business needs
  4. improperly formulated: your requirements should define the problem to be solved by the software, not the software that solves it!
  5. the requirements are so abstract or generic that they do not define any concrete problem at all
    in other words, the requirements statements are not testable (unclear how to write acceptance tests to verify that the given requirement is satisfied)
  6. some of the requirements are very complex (unclear how they can be tested) and should be split into several simpler requirements
  7. business policies are required to resolve ambiguous scenarios, but are not mentioned
  8. non-functional requirements are not enumerated
  9. non-functional requirements are fuzzy and ambiguous—unclear how they can be tested
  10. missing priorities for requirements (or initial rank-ordering for user stories)
  11. the assigned priority weights are misplaced and will not make this project competitive with the rest of the class (e.g., too much attention paid to login and user registration, too little attention on the problem domain)
  12. a high or maximum priority is assigned to more than half of all requirements, which renders the prioritization effort useless
  13. Other: ______________________________

Section 3: Functional Requirements—typical issues:    (max score: 30 points)

  1. not all stakeholders are humans, or stakeholders are not identified at all
  2. actor definitions unclear; the difference between actors unclear—their roles appear to be same or similar—clarify their differences
  3. actors poorly named, such as “Yahoo!”, which happens to be your current provider—you should instead assign a conceptual name, derived from the service that this actor provides to make it substitutable with a similar system
  4. missing actors that inexplicably appear in later parts of the report
  5. UC’s are named not as verb phrases
  6. UC numbering is not consistent throughout the report
  7. casual UC’s do not list the associated actors;  actor relationships to UC’s are not shown
  8. use cases appear from nowhere—not derived from the system requirements
  9. confusion between <<include>> (or <<uses>>) and <<extend>> relationships between the use cases
  10. too many use cases are “elaborated,” but only superficially and none of them passes a reality check—none of them would be able to perform an actual task in a real system
  11. use case duplication:  the “elaborated” use cases essentailly are a slightly retouched carbon copy of each other—either the use cases are poorly identified or they are redundant;
    even if there is a need for several similar use cases, their differences should be highlighted and their existence justified—can these use cases be replaced with a single use case with subroutine use cases («include» or «extend»)?
  12. elaborated UC’s are not well formated—unclear what schema is used to describe the detailed use cases
  13. scenario steps are very coarse, fuzzy, simplistic, or apparently missing—it is impossible to assess whether the listed steps would allow the user to successfully accomplish the task, or whether the relevant requirements are satisfied
  14. no alternate scenarios considered (only the main success scenario shown); or alternative scenarios are very naive and simplistic;
    alternate scenarios should be broken into individual steps (instead of a one-sentence mention) and properly explained in the text narrative
  15. unclear where alternate scenarios branch away from the main scenario, or whether and how they merge back
  16. formatting of elaborated UC’s is inconsistent; e.g., switching between bullets, numbers, and prose
  17. use cases describe what happens inside the system, instead of focusing on what happens on the boundary of the system (how the system behaves relative to the actors)
  18. terms specific to the problem domain are used in use cases but not defined in the glossary
  19. evident contradictions of use cases with the requirements
  20. entry/exit conditions (or preconditions, postconditions) not stated or contradictory (e.g., being logged-in is a precondition, but then the login appears as a step in the event flow)
  21. the focus of use cases is misplaced—instead of focusing on the most important functions of the system, they are focused on supporting/clerical activities, such as login, user registration, account management, viewing different tables, etc.
  22. UC diagram uses non-UML notation, without explaining the meaning of the non-standard symbols
  23. use case diagram shows more or less UC’s than mentioned in the text  or UC’s are not shown by names in the diagram
  24. UC diagram is not described in narrative
  25. UC diagram is inconsistent with the use case descriptions
  26. UC diagram is missing labels for UC relationships
  27. traceability matrix missing or inaccurate or no description provided (some use cases appeared out of nowhere and are not responding to the system requirements)
  28. not clearly stated which system sequence diagram corresponds to which use case and scenario (main success scenario or alternative scenarios or both)
  29. system sequence diagrams inconsistent with the corresponding scenarios in use case description
  30. Other: ______________________________

Section 4: User Interface—typical issues:    (max score: 15 points)

  1. no sketches of visual appearance are provided for different screens
  2. some mockup interfaces unexplained or inadequately described
  3. the navigation path through the screens is unclear or not described
  4. not described how each component of the user interface addresses the specific requirements (referred by their labels);
    difficult to see how the user interface will support the execution of your use cases
  5. user effort estimation does not appear to represent a typical usage scenario
  6. worst-case scenarios for estimating the user effort are not considered
  7. all of the estimations are vague and shown just as “variable keystrokes”—you should instead analyze the user effort with some sample typical input sequence
  8. terms specific to the problem domain are used in describing the user interface but not defined in the glossary
  9. Other: ______________________________

Section 5: Domain Model—typical issues:    (max score: 25 points)

  1. the report shows a lack of understanding of what the domain model is and how it is to be derived
  2. poor modular design:  there are fewer (or much fewer!) domain concepts than use cases or system requirements—this implies that concepts are too coarse grained and are assigned too many responsibilities per concept
  3. unclear or not explained how the concepts/attributes/associations were derived
  4. poor choice of concepts and concept names, such as “login”, “buy”, “sell”, etc. (concept name should be a noun-phrase, such that it represents the role for a given concept)
  5. methods/functions shown as concepts or elements of concepts—although functions are “modules,” in object-oriented domain modeling we focus on identifying objects, not their methods or stand-alone functions
    if you are using functional programming for your modular design, this fact must be explicitly stated
  6. some concepts have unclear/undefined responsibility, or a disproportionally large responsibility, or too many responsibilities, resulting in a poor modular design
  7. missing specification of the protocol for communicating with other systems (used by your system but developed by 3rd party)
  8. traceability matrix missing or inaccurate, or no description provided;  some concepts appeared out of nowhere and are not responding to the use cases and elements of the user interface
  9. system operation contracts are mostly trivial (no effort was made to identify significant potential issues that need to be enforced by a contract)
  10. contracts are missing for some preconditions/postconditions identified in detailed use cases that evidently must be enforced by contracts
  11. mathematical model missing, but apparently should be present
  12. terms specific to the problem domain are used in the domain model, but they are not defined in the glossary
  13. Other: ______________________________

Section 6: Plan of Work—typical issues:    (max score: 5 points)

  1. no timeline diagram, or the diagram is cluttered and difficult to read
  2. breakdown of responsibilities missing, or uneven (some students assumed disproportionate responsibilities), or fuzzy
  3. missing text description for the plan of work
  4. Other: ______________________________

Section 7: References—typical issues:    (up to 5 negative points)

  1. references missing or incomplete
  2. only URL without a title shown
  3. some parts of text or figures or design ideas appear to be adopted from elsewhere, but sources are not credited and citations are missing
    (for anything that you did not invent and is not part of general knowledge, a reference should be cited)
  4. references not cited or otherwise mentioned in the main document, so it is unclear which reference is related to which fact
  5. Other: ______________________________

Modified: Wed Jan 18 16:05:29 EST 2012
Maintained by: Ivan Marsic