repl.it
linkrepl.it
link (duplicated)tP: v2.1
Submissions:
To convert the UG/DG/PPP into PDF format, go to the generated page in your project's github.io site and use this technique to save as a pdf file. Using other techniques can result in poor quality resolution (will be considered a bug) and unnecessarily large files.
Ensure hyperlinks in the pdf files work. Your UG/DG/PPP will be evaluated using PDF files during the PE. Broken/non-working hyperlinks in the PDF files will be considered as bugs and will count against your project score. Again, use the conversion technique given above to ensure links in the PDF files work.
The icon indicates team submissions. Only one person need to submit on behalf of the team but we recommend that others help verify the submission is in order i.e., the responsibility for (and any penalty for problems in) team submissions are best shared by the whole team rather than burden one person with it.
The icon indicates individual submissions.
v2.1
.[team ID][product name].jar
e.g. [CS2113-T09-2][Contacts Plus].jarAdmin tP → Deliverables → Executable
Admin tP Contstraints → Constraint-File-Size
The file sizes of the deliverables should not exceed the limits given below.
Reason: It is hard to download big files during the practical exam due to limited WiFi bandwidth at the venue:
JAR file: 100MB (Some third-party software -- e.g., Stanford NLP library, certain graphics libraries -- can cause you to exceed this limit)
PDF files: 15MB/file (Not following the recommended method of converting to PDF format can cause big PDF files. Another cause is using unnecessarily high resolution images for screenshots).
@@author
annotations after the deadline will be considered a later submission). Note that the quality of the code attributed to you accounts for a significant component of your final score, graded individually.Admin tP → Deliverables → Source Code
[TEAM_ID][product Name]UG.pdf
e.g.[CS2113-T09-2][Contacts Plus]UG.pdfAdmin tP → Deliverables → User Guide
In UG/DG, using hierarchical section numbering and figure numbering is optional (reason: it's not easy to do in Markdown), but make sure it does not inconvenience the reader (e.g., use section/figure title and/or hyperlinks to point to the section/figure being referred to). Examples:
In the section Implementation given above ...
CS2113 does not require you to indicate author name of DG/UG sections (CS2101 requirements may differ). We recommend (but not require) you to ensure that the code dashboard reflect the authorship of doc files accurately.
docs/UserGuide.md
file (for ease of tracking by grading scripts).Coming soon
.Admin tP Contstraints → Constraint-File-Size
The file sizes of the deliverables should not exceed the limits given below.
Reason: It is hard to download big files during the practical exam due to limited WiFi bandwidth at the venue:
JAR file: 100MB (Some third-party software -- e.g., Stanford NLP library, certain graphics libraries -- can cause you to exceed this limit)
PDF files: 15MB/file (Not following the recommended method of converting to PDF format can cause big PDF files. Another cause is using unnecessarily high resolution images for screenshots).
[TEAM_ID][product Name]DG.pdf
e.g. [CS2113-T09-2][Contacts Plus]DG.pdfAdmin tP → Deliverables → Developer Guide
docs/DeveloperGuide.md
file (for ease of tracking by grading scripts)..puml
files in the docs/diagrams
folder.AB3 uses PlantUML (see the guide Using PlantUML @SE-EDU/guides for more info).
You may use any other tool too (e.g., PowerPoint). But if you do, note the following:
Choose 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). 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.
Can i.e., automatically reverse engineered from the Java codeIDE-generated UML diagrams be used in project submissions? Not a good idea. Given are three reasons each of which can be reported by evaluators as 'bugs' in your diagrams, costing you marks:
0..1
vs 1
, composition vs aggregation*Command
classes using a placeholder XYZCommand
).ref
frames to break sequence diagrams to multiple diagrams.These class diagrams seem to have lot of member details, which can get outdated pretty quickly:
In this negative example, the text size in the diagram is much bigger than the text size used by the document:
It will look more 'polished' if the two text sizes match.
delete
command
[TEAM_ID][Your full Name as Given in LumiNUS]PPP.pdf
e.g.[CS2113-T09-2][Leow Wai Kit, John]PPP.pdf-
in place of /
if your name has it e.g., Ravi s/o Veegan
→ Ravi s-o Veegan
(reason: Windows does not allow /
in file names)github.io
Admin tP → Deliverables → Project Portfolio Page
At the end of the project each student is required to submit a Project Portfolio Page.
Team-tasks are the tasks that someone in the team has to do.
Examples of team-tasks
Here is a non-exhaustive list of team-tasks:
Keep in mind that evaluators will use the PPP to estimate your project effort. We recommend that you mention things that will earn you a fair score e.g., explain how deep the enhancement is, why it is complete, how hard it was to implement etc..
docs/team/githbub_username_in_lower_case.md
e.g., docs/team/goodcoder123.md
To convert the UG/DG/PPP into PDF format, go to the generated page in your project's github.io site and use this technique to save as a pdf file. Using other techniques can result in poor quality resolution (will be considered a bug) and unnecessarily large files.
Ensure hyperlinks in the pdf files work. Your UG/DG/PPP will be evaluated using PDF files during the PE. Broken/non-working hyperlinks in the PDF files will be considered as bugs and will count against your project score. Again, use the conversion technique given above to ensure links in the PDF files work.
The icon indicates team submissions. Only one person need to submit on behalf of the team but we recommend that others help verify the submission is in order i.e., the responsibility for (and any penalty for problems in) team submissions are best shared by the whole team rather than burden one person with it.
The icon indicates individual submissions.
Content | Recommended | Hard Limit |
---|---|---|
Overview + Summary of contributions | 0.5-1 | 2 |
[Optional] Contributions to the User Guide | 1 | |
[Optional] Contributions to the Developer Guide | 3 |
AboutUs.md
etc.) on GitHub. Ensure the website is auto-published.Admin tP → Deliverables → Product Website
When setting up your team repo, you would be configuring the GitHub Pages feature to publish your documentation as a website.
Ui.png
This deliverable is optional.
Ui.png
matches the current product (if you have one)Some common sense tips for a good product screenshot
Ui.png
represents your product in its full glory.
This deliverable is optional.
The purpose of the profile photo is for the reader to identify you. Therefore, choose a recent individual photo showing your face clearly (i.e., not too small) -- somewhat similar to a passport photo. Given below are some examples of good and bad profile photos.
If you are uncomfortable posting your photo due to security reasons, you can post a lower resolution image so that it is hard for someone to misuse that image for fraudulent purposes. If you are concerned about privacy, you may use a placeholder image in place of the photo in module-related documents that are publicly visible.
Admin tP → Deliverables → Demo
[TEAM_ID][product Name].mp4
e.g.[CS2113-T09-2][Contacts Plus].mp4 (other video formats are acceptable but use a format that works on all major OS'es).Here is an example:
Hi, welcome to the demo of our product FooBar. It is a product to ensure the user takes
frequent standing-breaks while working.
It is for someone who works at a PC, prefers typing, and wants to avoid prolonged periods
of sitting.
The user first sets the parameters such as frequency and targets, and then enters a
command to record the start of the sitting time, ... The app shows the length of the
sitting periods, and alerts the user if ...
...
Mr aaa
is not a realistic person namerealistic demo data. e.g at least 20 data items. Trying to demo a product using just 1-2 sample data creates a bad impression.Admin → tP → PE Overview
Objectives:
Grading:
Admin tP Grading → Notes on how marks are calculated for PE
severity.High
> severity.Medium
> severity.Low
> severity.VeryLow
type.FunctionalityBug
, type.DocumentationBug
, type.FeatureFlaw
) are counted for three different grade components. The penalty/credit can vary based on the bug type. Given that you are not told which type has a bigger impact on the grade, always choose the most suitable type for a bug rather than try to choose a type that benefits your grade.n
bugs found in your feature; it is a big feature consisting of lot of code → 4/5 marksn
bugs found in your feature; it is a small feature with a small amount of code → 1/5 marksAdmin → tP → PE-D/PE Preparation
Ensure that you have accepted the invitation to join the GitHub org used by the module. Go to https://github.com/nus-cs2113-AY2021S1 to accept the invitation.
Ensure you have access to a computer that is able to run module projects e.g. has the right Java version.
Download the latest CATcher and ensure you can run it on your computer.
If not using CATcher
Issues created for PE-D and PE need to be in a precise format for our grading scripts to work. Incorrectly-formatted responses will have to discarded. Therefore, you are not allowed to use the GitHub interface for PE-D and PE activities, unless you have obtained our permission first.
ped
pe
Bug Severity labels:
severity.VeryLow
: A flaw that is purely cosmetic and does not affect usage e.g., a typo/spacing/layout/color/font issues in the docs or the UI that doesn't affect usage.severity.Low
: A flaw that is unlikely to affect normal operations of the product. Appears only in very rare situations and causes a minor inconvenience only.severity.Medium
: A flaw that causes occasional inconvenience to some users but they can continue to use the product.severity.High
: A flaw that affects most users and causes major problems for users. i.e., makes the product almost unusable for most users.When applying for documentation bugs, replace user with reader.
Type labels:
type.FunctionalityBug
: A functionality does not work as specified/expected.type.FeatureFlaw
: Some functionality missing from a feature delivered in v2.1 in a way that the feature becomes less useful to the intended target user for normal usage. i.e., the feature is not 'complete'. In other words, an acceptance-testing bug that falls within the scope of v2.1 features. These issues are counted against the product design aspect of the project.type.DocumentationBug
: A flaw in the documentation e.g., a missing step, a wrong instruction, typosHave a good screen grab tool with annotation features so that you can quickly take a screenshot of a bug, annotate it, and post in the issue tracker.
Download the product to be tested.
Admin tP → Practical Exam
Objectives:
Grading:
Admin tP Grading → Notes on how marks are calculated for PE
severity.High
> severity.Medium
> severity.Low
> severity.VeryLow
type.FunctionalityBug
, type.DocumentationBug
, type.FeatureFlaw
) are counted for three different grade components. The penalty/credit can vary based on the bug type. Given that you are not told which type has a bigger impact on the grade, always choose the most suitable type for a bug rather than try to choose a type that benefits your grade.n
bugs found in your feature; it is a big feature consisting of lot of code → 4/5 marksn
bugs found in your feature; it is a small feature with a small amount of code → 1/5 marksPE-D Preparation
Ensure that you have accepted the invitation to join the GitHub org used by the module. Go to https://github.com/nus-cs2113-AY2021S1 to accept the invitation.
Ensure you have access to a computer that is able to run module projects e.g. has the right Java version.
Download the latest CATcher and ensure you can run it on your computer.
If not using CATcher
Issues created for PE-D and PE need to be in a precise format for our grading scripts to work. Incorrectly-formatted responses will have to discarded. Therefore, you are not allowed to use the GitHub interface for PE-D and PE activities, unless you have obtained our permission first.
ped
pe
Bug Severity labels:
severity.VeryLow
: A flaw that is purely cosmetic and does not affect usage e.g., a typo/spacing/layout/color/font issues in the docs or the UI that doesn't affect usage.severity.Low
: A flaw that is unlikely to affect normal operations of the product. Appears only in very rare situations and causes a minor inconvenience only.severity.Medium
: A flaw that causes occasional inconvenience to some users but they can continue to use the product.severity.High
: A flaw that affects most users and causes major problems for users. i.e., makes the product almost unusable for most users.When applying for documentation bugs, replace user with reader.
Type labels:
type.FunctionalityBug
: A functionality does not work as specified/expected.type.FeatureFlaw
: Some functionality missing from a feature delivered in v2.1 in a way that the feature becomes less useful to the intended target user for normal usage. i.e., the feature is not 'complete'. In other words, an acceptance-testing bug that falls within the scope of v2.1 features. These issues are counted against the product design aspect of the project.type.DocumentationBug
: A flaw in the documentation e.g., a missing step, a wrong instruction, typosHave a good screen grab tool with annotation features so that you can quickly take a screenshot of a bug, annotate it, and post in the issue tracker.
Download the product to be tested.
PE Phase 1 will conducted under exam conditions. We will be following the SoC's E-Exam SOP, combined with the deviations/refinements given below. Any non-compliance will be dealt with similar to a non-compliance in the final exam.
[PE_seat_number]
in front of the first name of your Zoom display name, in your Zoom devices. Seat numbers can be found in here. e.g.,
[M48] John Doe
(M18
is the seat number)[M48][PC] John Doe
(for the PC, if using a phone as well)CS2103_AY2021S1_12pm_lecture
or CS2103_AY2021S1_4pm_lecture
.Test the product and report bugs as described below. You may report both product bugs and documentation bugs during this period.
_inner.zip
.java -version
command to ensure you are using Java 11.java -jar
command (do not use double-clicking).https://{team-id}.github.io/tp/UserGuide.html
.Admin tP Grading → Functionality Bugs
These are considered functionality bugs:
Behavior differs from the User Guide
A legitimate user behavior is not handled e.g. incorrect commands, extra parameters
Behavior is not specified and differs from normal expectations e.g. error message does not match the error
Admin tP Grading → Feature Flaws
These are considered feature flaws:
The feature does not solve the stated problem of the intended user i.e., the feature is 'incomplete'
Hard-to-test features
Features that don't fit well with the product
Features that are not optimized enough for fast-typists or target users
Admin tP Grading → Possible UG Bugs
These are considered UG bugs (if they hinder the reader):
Use of visuals
Use of examples:
Explanations:
Neatness/correctness:
Admin tP Grading → Functionality Bugs
These are considered functionality bugs:
Behavior differs from the User Guide
A legitimate user behavior is not handled e.g. incorrect commands, extra parameters
Behavior is not specified and differs from normal expectations e.g. error message does not match the error
Type.FeatureFlaw
.Admin tP Grading → Feature Flaws
These are considered feature flaws:
The feature does not solve the stated problem of the intended user i.e., the feature is 'incomplete'
Hard-to-test features
Features that don't fit well with the product
Features that are not optimized enough for fast-typists or target users
Admin tP Grading → Possible UG Bugs
These are considered UG bugs (if they hinder the reader):
Use of visuals
Use of examples:
Explanations:
Neatness/correctness:
CS2113/T PE Dry run
CS2113/T PE
Issues created for PE-D and PE need to be in a precise format for our grading scripts to work. Incorrectly-formatted responses will have to discarded. Therefore, you are not allowed to use the GitHub interface for PE-D and PE activities, unless you have obtained our permission first.
ped
pe
severity.*
label to the bug report. Bug report without a severity label are considered severity.Low
(lower severity bugs earn lower credit)Bug Severity labels:
severity.VeryLow
: A flaw that is purely cosmetic and does not affect usage e.g., a typo/spacing/layout/color/font issues in the docs or the UI that doesn't affect usage.severity.Low
: A flaw that is unlikely to affect normal operations of the product. Appears only in very rare situations and causes a minor inconvenience only.severity.Medium
: A flaw that causes occasional inconvenience to some users but they can continue to use the product.severity.High
: A flaw that affects most users and causes major problems for users. i.e., makes the product almost unusable for most users.When applying for documentation bugs, replace user with reader.
type.*
label to the issue.Type labels:
type.FunctionalityBug
: A functionality does not work as specified/expected.type.FeatureFlaw
: Some functionality missing from a feature delivered in v2.1 in a way that the feature becomes less useful to the intended target user for normal usage. i.e., the feature is not 'complete'. In other words, an acceptance-testing bug that falls within the scope of v2.1 features. These issues are counted against the product design aspect of the project.type.DocumentationBug
: A flaw in the documentation e.g., a missing step, a wrong instruction, typosAdmin tP Grading → Possible UG Bugs
These are considered UG bugs (if they hinder the reader):
Use of visuals
Use of examples:
Explanations:
Neatness/correctness:
Admin tP Grading → Possible DG Bugs
These are considered DG bugs (if they hinder the reader):
Those given as possible UG bugs ...
These are considered UG bugs (if they hinder the reader):
Use of visuals
Use of examples:
Explanations:
Neatness/correctness:
UML diagrams:
Code snippets:
Problems in User Stories. Examples:
Problems in NFRs. Examples:
Problems in Glossary. Examples:
Evaluate based on the User Guide and the actual product behavior.
Criterion | Unable to judge | Low | Medium | High |
---|---|---|---|---|
target user |
Not specified | Clearly specified and narrowed down appropriately | ||
value proposition |
Not specified | The value to target user is low. App is not worth using | Some small group of target users might find the app worth using | Most of the target users are likely to find the app worth using |
optimized for target user |
Not enough focus for CLI users | Mostly CLI-based, but cumbersome to use most of the time | Feels like a fast typist can be more productive with the app, compared to an equivalent GUI app without a CLI | |
feature-fit |
Many of the features don't fit with others | Most features fit together but a few may be possible misfits | All features fit together to for a cohesive whole |
Evaluate based on fit-for-purpose, from the perspective of a target user.
For reference, the AB3 UG is here.
Evaluate based on fit-for-purpose from the perspective of a new team member trying to understand the product's internal design by reading the DG.
For reference, the AB3 DG is here.
Consider implementation work only (i.e., exclude testing, documentation, project management etc.)
The typical iP refers to an iP where all the requirements are met at the minimal expectations given.
Use the person's PPP and RepoSense page to evaluate the effort.
Deadline: Tue, Nov 17th 2359
This phase is for you to respond to the bug reports you received.
Duration: The review period will start around 1 day after the PE and will last for 2-3 days (exact times will be announced later). However, you are recommended to finish this task ASAP, to minimize cutting into your exam preparation work.
Bug reviewing is recommended to be done as a team as some of the decisions need team consensus.
Instructions for Reviewing Bug Reports
Sync
button at the top to force-sync your view with the latest data from GitHub.
CS2113/T PE
. It will show all the bugs assigned to your team, divided into three sections:
Issues Pending Responses
- Issues that your team has not processed yet.Issues Responded
- Your job is to get all issues to this category.Faulty Issues
- e.g., Bugs marked as duplicates of each other, or causing circular duplicate relationships. Fix the problem given so that no issues remain in this category.You must use CATcher. You are strictly prohibited from editing PE bug reports using the GitHub Web interface as it can can render bug reports unprocessable by CATcher, sometimes in an irreversible ways, and can affect the entire class. Please contact the prof if you are unable to use CATcher for some reason.
A Duplicate of
tick box.type.*
and severity.*
from the original.response.Accepted
)Response Labels:
response.Accepted
: You accept it as a bug.response.NotInScope
: It is a valid issue but not something the team should be penalized for e.g., it was not related to features delivered in v2.1.response.Rejected
: What tester treated as a bug is in fact the expected behavior, or the tester was mistaken in some other way.response.CannotReproduce
: You are unable to reproduce the behavior reported in the bug after multiple tries.response.IssueUnclear
: The issue description is not clear. Don't post comments asking the tester to give more info. The tester will not be able to see those comments because the bug reports are anonymous.type.FunctionalityBug
)Type labels:
type.FunctionalityBug
: A functionality does not work as specified/expected.type.FeatureFlaw
: Some functionality missing from a feature delivered in v2.1 in a way that the feature becomes less useful to the intended target user for normal usage. i.e., the feature is not 'complete'. In other words, an acceptance-testing bug that falls within the scope of v2.1 features. These issues are counted against the product design aspect of the project.type.DocumentationBug
: A flaw in the documentation e.g., a missing step, a wrong instruction, typosBug Severity labels:
severity.VeryLow
: A flaw that is purely cosmetic and does not affect usage e.g., a typo/spacing/layout/color/font issues in the docs or the UI that doesn't affect usage.severity.Low
: A flaw that is unlikely to affect normal operations of the product. Appears only in very rare situations and causes a minor inconvenience only.severity.Medium
: A flaw that causes occasional inconvenience to some users but they can continue to use the product.severity.High
: A flaw that affects most users and causes major problems for users. i.e., makes the product almost unusable for most users.When applying for documentation bugs, replace user with reader.
Some additional guidelines for bug triaging:
severity.VeryLow
type.DocumentationBug
bugs (even if it is in the actual UI) which carry a very tiny penalty.Assignees
field to assign the issue to that person(s). There is no need to actually fix the bug though. It's simply an indication/acceptance of responsibility. If there is no assignee, we will distribute the penalty for that bug (if any) among all team members.
As far as possible, choose the correct type.*
, severity.*
, response.*
, assignees, and duplicate status even for bugs you are not accepting or marking as duplicates. Reason: your non-acceptance or duplication status may be rejected in a later phase, in which case we need to grade it as an accepted/non-duplicate bug.
Justify your response. For all of the following cases, you must add a comment justifying your stance. Testers will get to respond to all those cases and will be double-checked by the teaching team in later phases. Indiscriminate/unreasonable dev/tester responses, if deemed as a case of trying to game the system, will be penalized.
Admin tP Grading → Grading bugs found in the PE
severity.High
> severity.Medium
> severity.Low
> severity.VeryLow
type.FunctionalityBug
, type.DocumentationBug
, type.FeatureFlaw
) are counted for three different grade components. The penalty/credit can vary based on the bug type. Given that you are not told which type has a bigger impact on the grade, always choose the most suitable type for a bug rather than try to choose a type that benefits your grade.n
bugs found in your feature; it is a big feature consisting of lot of code → 4/5 marksn
bugs found in your feature; it is a small feature with a small amount of code → 1/5 marksStart: Within 1 day after Phase 2 ends.
While you are waiting for Phase 3 to start, comments will be added to the bug reports in your /pe
repo, to indicate the response each received from the receiving team. Please do not edit any of those comments or reply to them via the GitHub interface. Doing so can invalidate them, in which case the grading script will assume that you agree with the dev team's response. Instead, wait till the start of the Phase 3 is announced, after which you should use CATcher to respond.
Deadline: Fri, Nov 20th 2359
severity.High
and the team changed it to severity.Low
but now you think it should be severity.Medium
.Admin PE → Phase 2 → Additional Guidelines for Bug Triaging
Some additional guidelines for bug triaging:
severity.VeryLow
type.DocumentationBug
bugs (even if it is in the actual UI) which carry a very tiny penalty.Admin tP Grading → Grading bugs found in the PE
severity.High
> severity.Medium
> severity.Low
> severity.VeryLow
type.FunctionalityBug
, type.DocumentationBug
, type.FeatureFlaw
) are counted for three different grade components. The penalty/credit can vary based on the bug type. Given that you are not told which type has a bigger impact on the grade, always choose the most suitable type for a bug rather than try to choose a type that benefits your grade.n
bugs found in your feature; it is a big feature consisting of lot of code → 4/5 marksn
bugs found in your feature; it is a small feature with a small amount of code → 1/5 marksCS2113/T PE
).Issues Pending Responses
section:,
I disagree
tick box and enter your justification for the disagreement, and click Save
.Save
without any other changes upon which the issue will move to the Issue Responded
section.You must use CATcher. You are strictly prohibited from editing PE bug reports using the GitHub Web interface as it can can render bug reports unprocessable by CATcher, sometimes in an irreversible ways, and can affect the entire class. Please contact the prof if you are unable to use CATcher for some reason.