Final tweaks to docs/product, release product, demo product, evaluate peer projects.
Summary of submissions:
Team/Individual Item | Name format | Upload to |
---|---|---|
Source code | tag as v1.4 |
GitHub |
Jar file | [team][product name].jar e.g. [CS2113T-F10-3][ContactsPlus].jar |
LumiNUS |
User Guide | [TEAM_ID][product Name]UserGuide.pdf e.g.[CS2113T-F10-3][Contacts Plus]UserGuide.pdf |
LumiNUS |
Developer Guide | [TEAM_ID][product Name]DeveloperGuide.pdf e.g. [CS2113T-F10-3][Contacts Plus]DeveloperGuide.pdf |
LumiNUS |
Product Website | README page, Ui.png , AboutUs page |
GitHub |
Project Portfolio Page | [TEAM_ID][Your Name]PPP.pdf e.g.[CS2113T-F10-3][John Doe]PPP.pdf |
LumiNUS |
Grading:
Described in [Admin: Project: Assessment]
Relevant: [
Submission: See summary of submissions above
Relevant: [
Submission: Push the code to GitHub and tag with the version number. Source code (please ensure the code reported by RepoSense as yours is correct; any updates to RepoSense config files or @@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.
Relevant: [
Coming in v2.0
Submission: Submit the pdf file to LumiNUS. See summary of submissions above for the file name format.
adoc
to write your documentation, ensure that all necessary pages are included in the rendered HTML file. Convert the HTML to PDF and submit the PDF on Luminus.Relevant: [
Submission: Similar to UG
Relevant: [
At the end of the project each student is required to submit a Project Portfolio Page.
Objective:
Sections to include:
Overview: A short overview of your product (can use the product introduction you wrote earlier) to provide some context to the reader.
Summary of Contributions:
https://nuscs2113-ay1920s1.github.io/dashboard/#=undefined&search=github_username_in_lower_case
(replace github_username_in_lower_case
with your actual username in lower case e.g., johndoe
). This link is also available in the Project List Page -- linked to the icon under your photo.Relevant descriptions/terms/conventions: Include all relevant details necessary to understand the document, e.g., conventions, symbols or labels introduced by you, even if it was not introduced by you.
Contributions to the User Guide: Reproduce the parts in the User Guide that you wrote. This can include features you implemented as well as features you propose to implement.
The purpose of allowing you to include proposed features is to provide you more flexibility to show your documentation skills. e.g. you can bring in a proposed feature just to give you an opportunity to use a UML diagram type not used by the actual features.
Contributions to the Developer Guide: Reproduce the parts in the Developer Guide that you wrote. Ensure there is enough content to evaluate your technical documentation skills and UML modelling skills. You can include descriptions of your design/implementations, possible alternatives, pros and cons of alternatives, etc.
If you plan to use the PPP in your Resume, you can also include your SE work outside of the module (will not be graded)
Format:
File name: [TEAM_ID]-[Your Name]PPP.pdf
e.g., [AY1920S1-CS2113T-F10-3][John Doe]PPP.pdf
Use one-half spacing between the lines for legibility
Follow this example. A PDF version of the same has been uploaded on LumiNUS.
💡 You are free to choose any (collaborative) software to write the documents. However, try to follow the format of the sample user guide, developer guide and PPP given.
Do note that extra effort is needed in duplicating and maintaining consistency across UG/DG and PPP. This is a cost of not using automated document generation.
It is assumed that all contents in the PPP were written primarily by you.
If any section is written by someone else e.g. someone else described the feature in the User Guide but you implemented the feature, clearly state that the section was written by someone else (e.g. Start of Extract [from: User Guide] written by Jane Doe
). Reason: Your writing skills will be evaluated based on the PPP
Page limit:
Content | Limit |
---|---|
Overview + Summary of contributions | 0.5-1 (soft limit) |
Contributions to the User Guide | 2-4 (soft limit) |
Contributions to the Developer Guide | 3-5 (soft limit) |
Total | 5-8 (strict) |
Reason for page limit: These submissions are peer-graded (in the PE) which needs to be done in a limited time span.
If you have more content than the limit given above, you can give a representative samples of UG and DG that showcase your documentation skills. Those samples should be understandable on their own. For the parts left-out, you can give an abbreviated version and refer the reader to the full UG/DG for more details.
It's similar to giving extra details as appendices; the reader will look at the UG/DG if the PPP is not enough to make a judgment. For example, when judging documentation quality, if the part in the PPP is not well-written, there is no point reading the rest in the main UG/DG. That's why you need to put the most representative part of your writings in the PPP and still give an abbreviated version of the rest in the PPP itself. Even when judging the quantity of work, the reader should be able to get a good sense of the quantity by combining what is quoted in the PPP and your abbreviated description of the missing part. There is no guarantee that the evaluator will read the full document.
Submission: Similar to UG
Relevant: [
Ui.png
matches the current product💡 Some common sense tips for a good product screenshot
Ui.png
represents your product in its full glory.
The purpose of the profile photo is for the teaching team to identify you. Therefore, you should choose a recent individual photo showing your face clearly (i.e., not too small) -- somewhat similar to a passport photo. Some examples can be seen in the 'Teaching team' page. 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 can request permission to omit your photo from the page by writing to prof.
Submission: Push the code to GitHub. Ensure the website is auto-published.
Relevant: [
Duration: Strictly 18 minutes for a 5-person team and 15 minutes for a 4-person team. Exceeding this limit will be penalized. Any set up time will be taken out of your allocated time.
Target audience: Assume you are giving a demo to a higher-level manager of your company, to brief him/her on the current capabilities of the product. This is the first time they are seeing the new product you developed but they are familiar with CLI based products. The actual audience are the evaluators (the team supervisor and another tutor).
Scope:
Structure:
Optimizing the time:
Jim get’s a call from boss. "Ring ring", "hello", "oh hi Jim, can we postpone the meeting?" "Sure". Jim hang up and curses the boss under his breath. Now he starts typing ..etc.
[do this] If Jim needs to postpone the meeting, he can type …
It’s not that dramatization is bad or we don’t like it. We simply don’t have enough time for it.Special circumstances:
Relevant: [
Objectives:
Grading:
Preparation:
ped
pe
Bug Severity labels:
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.Bug Type Labels:
type.FeatureFlaw
: some functionality missing from a feature delivered in v1.4 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 v1.4 features. These issues are counted against the 'depth and completeness' of the feature.type.FunctionalityBug
: the bug is a flaw in how the product works.type.DocTypo
: A minor spelling/grammar error in the documentation. Does not affect the user.type.DocumentationBug
: A flaw in the documentation that can potentially affect the user e.g., a missing step, a wrong instructionHave 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
Charge your computer before coming to the PE session. The testing venue (lecture theatre) does not have enough charging points.
When, where: Week 13 lecture
Launching the JAR file
What to test:
help
command).These are considered bugs:
About posting suggestions:
How/where/when to report bugs:
CS2113/T PE Dry run
CS2113/T PE
ped
pe
Bug report format:
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.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.type.*
label to the bug report. Bug report without a severity label are considered severity.Low
(lower severity bugs earn lower credit).Bug Type Labels:
type.FeatureFlaw
: some functionality missing from a feature delivered in v1.4 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 v1.4 features. These issues are counted against the 'depth and completeness' of the feature.type.FunctionalityBug
: the bug is a flaw in how the product works.type.DocTypo
: A minor spelling/grammar error in the documentation. Does not affect the user.type.DocumentationBug
: A flaw in the documentation that can potentially affect the user e.g., a missing step, a wrong instruction[Remainder of the session] Evaluate the following aspects. Note down your evaluation in a hard copy (as a backup). Submit via TEAMMATES. You are recommended to complete this during the PE session but you have until the end of the day to submit (or revise) your submissions.
A. Product Design []:
Evaluate the product design based on how the product V2.0 (not V1.4) is described in the User Guide.
unable to judge
: You are unable to judge this aspect for some reason e.g., UG is not available or does not have enough information.target user specified and appropriate
: The target user is clearly specified, prefers typing over other modes of input, and not too general (should be narrowed to a specific user group with certain characteristics).value specified and matching
: The value offered by the product is clearly specified and matches the target user.value: low
: The value to target user is low. App is not worth using.value: medium
: Some small group of target users might find the app worth using.value: high
: Most of the target users are likely to find the app worth using.feature-fit: low
: Features don't seem to fit together.feature-fit: medium
: Some features fit together but some don't.feature-fit: high
: All features fit together.polished
: The product looks well-designed.B. Quality of user docs []:
Evaluate based on the parts of the user guide written by the person, as reproduced in the project portfolio. Evaluate from an end-user perspective.
UG/ unable to judge
: Less than 1 page worth of UG content written by the student or cannot find PPPUG/ good use of visuals
: Uses visuals e.g., screenshots.UG/ good use of examples
: Uses examples e.g., sample inputs/outputs.UG/ just enough information
: Not too much information. All important information is given.UG/ easy to understand
: The information is easy to understand for the target audience.UG/ polished
: The document looks neat, well-formatted, and professional.C. Quality of developer docs []:
Evaluate based on the developer docs cited/reproduced in the respective project portfolio page. Evaluate from the perspective of a new developer trying to understand how the features are implemented.
DG/ unable to judge
: Less than 0.5 pages worth of content OR other problems in the document e.g. looks like included wrong content.DG/ too little
: 0.5 - 1 page of documentationDG/ types of UML diagrams: 1
: Only one type of diagram used (types: Class Diagrams, Object Diagrams, Sequence Diagrams, Activity Diagrams, Use Case Diagrams)DG/ types of UML diagrams: 2
: Two types of diagrams usedDG/ types of UML diagrams: 3+
: Three or more types of diagrams usedDG/ UML diagrams suitable
: The diagrams used for the right purposeDG/ UML notation correct
: No more than one minor error in the UML notationDG/ diagrams not repetitive
: Same diagram is not repeated with minor differencesDG/ diagrams not too complicated
: Diagrams don't cram too much information into themDG/ diagrams integrates with text
: Diagrams are well integrated into the textual explanationsDG/ easy to understand
: The document is easy to understand/followDG/ just enough information
: Not too much information. All important information is given.DG/ polished
: The document looks neat, well-formatted, and professional.D. Feature Quality []:
Evaluate the biggest feature done by the student for difficulty, completeness, and testability. Note: examples given below assume that AB3 did not have the commands edit
, undo
, and redo
.
Feature/ difficulty: unable to judge
: You are unable to judge this aspect for some reason.Feature/ difficulty: low
: e.g. make the existing find command case insensitive.Feature/ difficulty: medium
: e.g. an edit command that requires the user to type all fields, even the ones that are not being edited.Feature/ difficulty: high
: e.g., undo/redo commandFeature/ completeness: unable to judge
: You are unable to judge this aspect for some reason.Feature/ completeness: low
: A partial implementation of the feature. Barely useful.Feature/ completeness: medium
: The feature has enough functionality to be useful for some of the users.Feature/ completeness: high
: The feature has all functionality to be useful to almost all users.Feature/ not hard to test
: The feature was not too hard to test manually.Feature/ polished
: The feature looks polished (as if done by a professional programmer).E. Amount of work []:
Evaluate the amount of work, on a scale of 0 to 30.
history
command) as 5 units of effort which means this PR (undo/redo
command) is about 15 points of effort. Given that 30 points matches an effort twice as that needed for the undo/redo
feature (which was given as an example of an A
grade project), we expect most students to be have efforts lower than 20.Duration: The review period will start around 1 day after the PE (exact time to be announced) and will last until the following Tuesday midnight. 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 the second 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.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 strongly recommended to use CATcher for PE-D and PE activities. If you want to give your response via GitHub instead, please get our permission first.
tutorial.*
and team.*
labels to filter bug reports your team received.# Team's Response
{replace this with your response}
## Duplicate status (if any):
Here is an example:
# Team's Response
Yes this is a bug. But it is a duplicate.
* Changed the bug type because this is just a bug in the UG.
* Lowered the severity because users can still use the feature.
## Duplicate status (if any):
Duplicate of #67
Duplicate of #123
format to indicate duplicates.If a bug seems to be for a different product (i.e. wrongly assigned to your team), let us know ASAP (email prof).
If the bug is reported multiple times,
duplicate
tag.type.*
and severity.*
from the original.Apply exactly one of these labels (if missing, we assign: 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 v1.4.response.Rejected
: What tester treated as a bug is in fact the expected behavior. The may lose marks for rejecting a bug without an explanation or using an unjustifiable explanation.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 asked the tester to give more info. The tester will not be able to see those comments because the bug reports are anonymized.type.FunctionalityBug
)Bug Type Labels:
type.FeatureFlaw
: some functionality missing from a feature delivered in v1.4 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 v1.4 features. These issues are counted against the 'depth and completeness' of the feature.type.FunctionalityBug
: the bug is a flaw in how the product works.type.DocTypo
: A minor spelling/grammar error in the documentation. Does not affect the user.type.DocumentationBug
: A flaw in the documentation that can potentially affect the user e.g., a missing step, a wrong instructionBug Severity labels:
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.Decide who should fix the bug. Use the 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.*
, and assignees even for bugs you are not accepting or for bugs that are marked 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.
Time/venue: week 13 lecture slot