Skip to content

YSU-CSIS-SE/Heroku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Tool Assignment - Software Tools and Practices - Spring 2017

Posted on: 2/24/2017

Final Due Date: 5/1/2017 (by 23:59) (there are individual milestones prior to final due date. See below.)

Total points possible: 100

Percentage of final gradee: 20%

You will do this assignment in a team of two people. You will be responsible to select your team of two. Try to pair up with people you don't already know, i.e., try to make some new friends. There are 18 students in the class. That means we can cover 9 tools from the table below.

The purpose of this assignment is for you to go in-depth into one particular tool that is useful for developers in practice. A list of tools is given below. The last two columns in the table are just for me to keep track of all the demos.

Tool name Tool Description People Presenting Video Link
Coreen An environment for reading, searching, navigating and visualizing code.
Randoop Automatic test generation for Java
Flame Graphs Visualization of profiled software
PMD Source code analyzer
PTIDEJ Pattern Trace Identification , Detection, and Enhancement in Java
Kubernetes Automating deployment, scaling, and management of containerized applications.
Chaos Monkey a resiliency tool that helps applications tolerate random instance failures.
Elastic search Open Source, Distributed, RESTful Search Engine
JMeter Measuring Testing and Performance
Jenkins Automation server
VisualVM visual tool integrating commandline JDK tools and lightweight profiling capabilities.
goCD Continuous Deployment
EvoSuite Automatic Test Suite Generation for Java

Requirements

  • Need to provide several use cases of when you would use the tool. Sample scenarios are necessary.
  • Tool should be demonstrated on at least one large open source system where appropriate. It may use more than one.
  • Tool results should be shown and interpreted based on the use cases.
  • Tool has to be illustrated through examples related to the use cases/sample scenarios.

Note: a simple online search is not enough to pass this assignment. It should be a thorough and detailed description of the tool.

Deliverables

  • Write-up of the tool via github pages repository. The writeup will contain a description of the tool itself, use cases of when you would use it, specific examples of results when you run the tool on a large system. The write-up should help you create your video demo (third point below). You should include information on how to setup, run, and use the tool. You will do this write-up using GitHub Pages. You are free to use any design/structure for your website. The site's technical contents (soundness and completeness) and design will both be graded. One section of the writeup should include tool evaluation criteria. Clearly list this section in your writeup. You will evaluate the tool on several criteria you come up with. Example criteria include but are not limited to: time to install, user friendliness, learning curve, ease of use, UI, etc.... You should include any markdown files that are works in progress necessary to keep track of information within the assignment repo but you will need to create a github pages site repo hosted on github. in addition to the assignment repo. You are free to create this site under your personal github account and add your team member to it. In other words you will be working with two repositories, one for the tool assignment that has this readme and another for the website using github pages.
  • Video published on youtube. The video should portray you walking through the description and usage of the tool. The video can optionally involve background music, sound effects, and other frills but please keep it professional. A link to the video should be on the website. The length of the video should not exceed 15 minutes. You will need to use some screen casting tools such as this one. Camtasia can also be used.
  • In-class presentation and demo during the last weeks of the semester. (20 minutes)

Milestones - Important Dates

  • 3/6/17: Tool demo selection due. Notify everyone in the #tooldemo channel in slack what your choice of tool will be including the name of the two people on your team. Do this before the 3/6 deadline if possible. Tools will be assigned on a first come first served basis. No two teams can work on the exact same tool.
  • 3/27/17: Use cases for the tool provided including test systems that will be used to demonstrate. This should be an outline of what you plan to do for the rest of the semester. It should lis. This list can change but it needs to be submitted in draft by this due date. To submit this milestone simple issue a pull request in the tool assignment repo and assign the instructor and TA as reviewers.
  • 4/15/17: First draft of write-up via github pages. To submit this part, a form will be provided for you to submit your github pages website
  • 5/1/2017: Final deadline for all deliverables. To submit this part, a form will be provided towards the end of the semester.

How to turn in your assignment

See the milestones section. Each individual milestone has specific instructions on how to turn it in.

At the end, you will receive a link to a submission site to submit your tool demo assignment before the final due date of 5/1.

Grading Policy (Please read carefully)

Some things that are considered while grading.

  • Lack of proper explanation given will cause points to be deducted. You should not assume anything. All steps need to be documented and written down.
  • Lack of proper citations when using work from other sources will cause you to loose points. Cite when you refer or use work by others. You can do this by giving the link of the other work and stating what you used and what you changed in your solution.
  • The video is expected to be of good enough quality.
  • If the answer contains all the part of the deliverables in sufficient detail and is of high quality, no points will be deducted.
  • If you write a script or use sample programs, you will need to commit/push the script and/or link to it on your github pages and in addition explain what you did corresponding to the script in your tool demo.
  • The grader will need to reproduce your solution. Make sure you put in all instructions for us to run your demos.
  • The assignment should be worked on and parts committed and pushed as often as possible. In other words, do not wait until the day the assignment is due. Note there are multiple submission deadlines that will count towards your final grade. Just completing it once at the end will not qualify for full points. Each milestone is worth a certain number of points.
  • To get an A in the assignment your work needs to be "excellent". It does not mean "nothing really wrong" or "good enough". I have high expectations.
  • Graduate students: You will be held to a higher level of scholarship for content and quality of your tool demos.

Releases

No releases published

Packages

No packages published