Starting from:

$34.99

CS587 Assignment #4 Solution


Deliverable:

Post your homework as a SINGLE PDF file on Blackboard with the name
“HW4_YourLastName”


Important Notes:
• Do NOT communicate or share your assignment with others
• Do NOT share your personal laptop with your classmates


High-Level Requirements:

1. The assignment will be completed in 3 phases.
2. All your deliverables will be based on work you have done on GitHub.


Phase-I Requirements:

1. You have to create your GitHub account id as instructed in the tutorial.
• For a student with the name John Doe with A number A12345678.
• His id will be JSP21SCM78D.
• In this ID J is the first character of his first name.
• SP21SCM will be common for each student.
• 78 is the last two numbers of his A number.
• D is the first character of his last name.


2. Next you will be forking the repository SCM587SP21 from SPM587SP21 GitHub organization to the GitHub account that you have created. This repository can be opened with the following URL.
https://github.com/SPM587SP21/SCM587SP21.git

3. Now using the URL given above you will login to the repository listed above. You will go to the issues tab and create a new issue.
4. The title of the issue will be as listed below. “<Your GitHub id> adding first name”
Example – “JSP21SCM78D adding first name”
5. This issue will be labeled using the labeling scheme listed below.

6. Labeling Scheme: Your Labeling Scheme follows the key:value format “LabelName:LabelValue” for every label

7. Types of Labels: There are different types of labels, the following is the list of labels used for issues listed that you will use based on the first digit of your A-Number:
i. OriginationPhase:
1. If the first digit is odd number: use one of the values {Coding, Testing, Documentation, Field}
2. If the first digit is even number: use one of the values
{Requirements, Design }
ii. DetectionPhase:
1. If the first digit is odd number: use one of the values { Coding }
2. If the first digit is even number: use one of the values
{Design}
iii. Priority:
1. If the first digit is odd number: use one of the values { Major , Low}
2. If the first digit is even number: use one of the values
{Medium, Critical}
iv. Status:
1. If the first digit is odd number: use one of the values { Rejected, Completed }
2. If the first digit is even number: use one of the values { pendingReview , Approved, inProgress, }
v. Category:
1. If the firs digit is odd number: use one of the values { Enhancement, Inquiry }
2. If the first digit is even number: use one of the values {Bug }

8. You will now clone the repository that you have forked into your account on to your local machine. This repository will contain files a.java, b.java, c.java, …, z.java. You will open the file that has the first character of your first name. Once you open the file you will enter your GitHub account id in a new line and save it.

Example – For John Doe with GitHub account JSP21SCM78D, he will open j.java and add his GitHub account username in a new line and save it. So j.java will contain JSP21SCM78D.

9. Now you will do a commit and then push this repository into your GitHub account. While making the commit you have to add your Issue number in the commit message in the following format.

Example – git commit –m “Fixes #<IssueNumber>. <GitHub username> first name added.”

Say for John Doe the issue he has created is Issue #24. His commit message will be as follows.

git commit –m “Fixes #24. JSP21SCM78D first name added”





Phase-II Requirements:


1. You will open the master repository from your GitHub account and create a new issue.
2. This issues title will be as listed below.
“<Your GitHub id> adding last name”
Example – “JSP21SCM78D adding last name”
3. This issue will be labeled using the labeling scheme listed below.
4. Labeling Scheme: Your Labeling Scheme follows the key:value format “LabelName:LabelValue” for every label
5. Types of Labels: There are different types of labels, the following is the list of labels used for issues listed that you will use based on the last digit of your A-Number:
i. OriginationPhase:
1. If the last digit is odd number: use one of the values {Requirements, Design }
2. If the last digit is even number: use one of the values
{Coding, Testing, Documentation, Field}
ii. DetectionPhase:
1. If the last digit is odd number: use one of the values { Testing
}
2. If the last digit is even number: use one of the values {Field} iii. Priority:
1. If the last digit is odd number: use one of the values {Critical, Major }
2. If the last digit is even number: use one of the values { High,
Low, Medium}
iv. Status:
1. If the last digit is odd number: use one of the values { Approved, Rejected, Completed }
2. If the last digit is even number: use one of the values { inProgress, pendingReview }
v. Category:
1. If the last digit is odd number: use one of the values { Bug, Enhancement }
2. If the last digit is even number: use one of the values {Inquiry
}





6. Now you go to the forked repository in your account and update the repository. This is done using the following command.

git remote add upstream <Master Repository Git URL> git fetch upstream git rebase upstream/master
7. Update your local clone to the latest in your repository.

8. Now you will open the file with the first character of your last name. Then you will be adding your GitHub account username in a new line

Example – John Doe will be opening the file d.java and add his GitHub account username which is JSP21SCM78D in a new line.

9. Now you will do a commit and then push this repository into your GitHub account. While making the commit you are to add your Issue number in the commit message in the following format.

Example – git commit –m “Fixes #<IssueNumber>. <GitHub username> last name added.”

Say for John Doe the issue he has created is Issue #65. His commit message will be as follows.
git commit –m “Fixes #65. JSP21SCM78D last name added”


This will complete your Phase II. You have to capture the same screenshots mentioned above for phase II and attach it in a document called Report_PhaseII_<GitHubUsername>.pdf and submit it.

Deliverable for Phase-II :

1. Login to your GitHub account and open the repository that you have committed to. Click on the commits Tab.


2. You will get the following page. You are to take a screenshot of this page. Click on the commit that you have just made to expand it.


3. This will expand and show you the individual commit. You have to take a screenshot of this page as well.




The report that you have created will be added to the report folder in the repository and submitted. This means that for the phase I report, you will be adding the report document in that Phase1_Report folder and committing it. And for Phase II you will be adding the report document in the folder Phase2_Report folder and committing it. Make sure that the report for each phase has to be committed and pushed to your repository BEFORE you initiate a pull request.



Phase-III Requirements:

Here is the URL to guide you on how to generate your GITHUB_TOKEN https://help.github.com/articles/creating-an-access-token-for-commandline-use/

After you create your GitHub personal access tokens from https://github.com/settings/tokens, update and run the IPYNB script Importing_Issues_from_GitHub.ipynb to import the issues from the REPO.


Update and run the modified Charting_imported_issues.ipynb script to plot the following charts:
1. Requirement #1: Plot in Bar Chart the total number of issues closed every day for every Origination Phase
2. Requirement #2: Plot in Bar Chart the total number of issues created for every Phase based on their Status


Deliverable for Phase-III :

Submit your updated Charting_imported_issues.ipynb script that has the following:
1. Your added code in every cell listed in the script
2. Your output below every cell listed in the script

More products