This site is from a past semester! The current version will be here when the new semester starts.
CS2103/T 2020 Aug-Dec
  • Full Timeline
  • Week 1 [Mon, Aug 10th]
  • Week 2 [Fri, Aug 14th]
  • Week 3 [Fri, Aug 21st]
  • Week 4 [Fri, Aug 28th]
  • Week 5 [Fri, Sep 4th]
  • Week 6 [Fri, Sep 11th]
  • Week 7 [Fri, Sep 18th]
  • Week 8 [Fri, Oct 2nd]
  • Week 9 [Fri, Oct 9th]
  • Week 10 [Fri, Oct 16th]
  • Week 11 [Fri, Oct 23rd]
  • Week 12 [Fri, Oct 30th]
  • Week 13 [Fri, Nov 6th]
  • Textbook
  • Admin Info
  • Dashboards
  •  Individual Project (iP):
  • Individual Project Info
  • iP Upstream Repo
  • iP Showcase
  • iP Code Dashboard
  • iP Progress Dashboard

  •  Team Project (tP):
  • Team Project Info
  • Addressbook-level3
  • Team List
  • tP Code Dashboard
  • tP Progress Dashboard
  • Report Bugs
  • Forum
  • Gitter (Chat)
  • Instructors
  • Announcements
  • Files
  • Tutorial Schedule
  • Java Coding Standard
  • Git Conventions
  • Forum Activities Dashboard
  • Participation Dashboard
  • Week 7 [Fri, Sep 18th] - Tutorial

    1 Exercise on Requirements: PR Tracker

    1. 10 minutes Write the answers to the following questions. You can write your answers in a local document file (e.g., a Word doc) first; when done, paste a screenshot in the workspace document. Writing the answer directly in the workspace document might result in too much lag.

      Question adapted from a past exam paper.

      Pull Request Tracker (PRT) is a desktop application meant to help tutors of a Software Engineering module deal with GitHub PRs more efficiently (compared to the GitHub Web interface). For example, it will help tutors find and review PRs from their mentees easily. It will help the managers of the module (e.g., professor, head TA) to easily keep track of how tutors are dealing with mentee PRs. PRT will communicate with GitHub using the GitHub API.

      1. Write 1 must-have and 1 nice-to-have user stories, covering user types tutor and manager.
      2. Write at least 1 Non-Functional RequirementsNFRs, related to performance/scalability and/or usability.
      3. Give at least 1 terms worth recording in the glossary.
      4. Complete the following use case. Give at least one extension. Note that the tutor should give comments in the order of PR size (i.e., give comments to smaller PRs first). Assume the following use cases exists already: U1. Sort PRs by a criterion, U2. Add comments to a PR

      System: PRT
      Use Case: U3. Add comments to mentee PRs
      Actor: ...
      Precondition: ...

      ...

    2. Check a peer answer (provided by the tutor) for the bugs listed below and discuss, as directed by the tutor.

    Problems in User Stories. Examples:

    • Incorrect format
    • All three parts are not present
    • The three parts do not match with each other
    • Important user stories missing

    Problems in NFRs. Examples:

    • Not really a Non-Functional Requirement
    • Not scoped clearly (i.e., hard to decide when it has been met)
    • Not reasonably achievable
    • Highly relevant NFRs missing

    Problems in Glossary. Examples:

    • Unnecessary terms included
    • Important terms missing

    Problems in Use Cases. Examples:

    • Formatting/notational errors
    • Incorrect step numbering
    • Unnecessary UI details mentioned
    • Missing/unnecessary steps
    • Missing extensions

    2 Refine your DG after the tutorial

    • After the tutorial, if applicable, refine the relevant sections of your own DG based on what you learned from the tutorial activities.