联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2018-11-11 11:34

Massey University Hebei University of Technology

September 17 Amjed Tahir

159.251 – Assignment 2 – 2018

Due date: November 20th at 8.00pm (Beijing Time)

Worth: 19% of final grade

Read carefully as there are many things that you should be aware of.

Overview

You are to work in self-selected pairsto create the program defined below, using git to manage

source code contribution and integration between the two developers. All project issues and

changes should be tracked using issue tracker software (feel free to select any issue tracker

software that you would like to work with).

Note: Both members of the group will receive the same mark, unless it is clear that the work

is predominantly that of a single person. These will be sorted out on a case-by-case basis. The

partition of the work is entirely up to you and your project partner.

Part of this assignment is to become familiar with using git for version control which we'll

cover soon in the “version control in software development” lecture. There's a quick-intro guide

at the end of the assignment to get you started. You will need to use Bitbucket

(http://www.bitbucket.com) –a free git hosting service. Bitbucket provides free private

repositories. For Github, you can requiest an academic licence which will allow to create

private repositories.

IMPORTANT: Choose meaningful names for your repository (e.g. 251-Assignment2-

FirstName1-FirstName2). For example, if the first student is Ma and second student is Lee,

then their repository should be (251-Assignment2-Ma-Lee), otherwise I end up getting emails

from Bitbucket telling me that member Whistle has invited me to join project Celery. This isn't

helpful.

Massey University Hebei University of Technology

September 17 Amjed Tahir

Tasks

There are several parts to this assignment:

1. Developing a ToDo Script.

2. Creating and maintaining a git repository on your local machine for your source code,

and also on a remote repository to provide a central server accessible to both

members, and also accessible for marking.

3. Keeping an audit trail of commits in the git repository. These will form part of the

marking.

4. Make sure that you use gip features of branching and merging.

5. Keep track of changes and issues – using issue tracker software.

6. Make sure you write clean code, and write comments to explain your code.

7. Use a code quality checking tool to report some metrics from the project.

1. The Todo Shell Scripting

1.Shelland scripting

A team  of developers manage todo listsin  their localdirectories asmarkdownfiles.

Each mark- down file represents a project and they  contain a list of todos.Markdown

format:

# Project title

## Tasks

[ ] (A)Todo 1 due:2010-01-23

[ ] (C) Todo 2 due:2010-01-21

[X] (B)Todo 3 due:2010-01-10

Write a script that:

1. Checks that the project title matches the file name,moves files thatdon’t match to a

directory named./error_files

2. Copies todoswithouta due date to directorynamed ./no_duedates

3. Combines allprojecttodos (todos without errors) ina single file

2. Software development

You areprovided with the source code for a basic web application that canbe usedto

manage todo lists. The application usesApacheWicket (a Javawebframework.) You are

required to implement additional functionality:

1.Clearcompletedtasksfromthelist(2/45)

2.Afiltertoshoweithercompleted,activeoralltasks(5/45)

3.Showthetotalnumberofincompletetasks(5/45)

4.Addaduedate,projecttitlefieldintheaddtaskform(3/45)

Massey University Hebei University of Technology

September 17 Amjed Tahir

5.Addpersistence(e.g.XML-basedserialisation,SQLitedatabase)supportforthe

application(clearedtasksmustbearchived)(8/45)

6.Importthetasksfromthetodolisttextfileintoyourapplication(5/45)

7.Addanindicatorinthewebpagesothatitiseasytodistinguishtheenvironmentitis

runningin(developmentorproduction)(2/45)

Oncedevelopmentisdone,youneedtoreportmetricsdatausingtheEclipseMetrics

Plugin(http://metrics2.sourceforge.net). CodequalityreportfromPMD shouldalsobe

submittedwithyourassignment.Thefollowingmetricsshouldbecollectedand

reportedclearerlyinaseparatefilethatmustbe submitted withtheproject(this

shouldbeinyourgitrepopository).

Themetricsthatyouneedtoreportare:

CodeSize(perclass): LinesofCode(LOC)andNumberofMethods(NOM)

CodeComplexity: CyclomaticComplexity andCouplingBetweenObjects(CBO)andGod

Classes.

CodeQualityReport fromPMD.Useonly Java Basicrules suchas NamingConvention for

classesandvariables(extractthe fullreportandincludedwithyoursubmission).

Methodoloy

Use an Agile methodology. Due to the short time I recoment Extreme Programing with

short Sprints of 4 days per Sprint.

Submitting your assignment

All submission is to be done using Stream:

share your program on your private git repository (GitHub or Bitbucket) with me by sending

a share invitation to p.shaw@massey.ac.nz and jacobstringer@windowslive.com

This is to track commits on your git repository or bitbucket.

Include a Readme.md file in the top level of the project

The Readme.md is a text file with a Markdown syntax that contains:

1. the names & IDs of BOTH MEMBERS of the group.

2. clear instructions on how to run your program, and if there are any other folders, what

they contain.

3. for each student, a couple of git commit IDs that show the work of each individual

member of the group.

Massey University Hebei University of Technology

September 17 Amjed Tahir

4. Metrics analysis report from Eclipse Metrics Plugin and code quality analysis report

from PMD.

5. any other features you feel worth mentioning.

Who submits what?

Only one member of a group should submit a complete project, the other just submits

the Readme.md file:

member A: submit (through Stream) a single compressed (e.g., zip or tar) file that

contain the assignment

o name the compressed file with both members’ FirstName_LastName and

ID numbers (e.g. James_Smith-87817172- Susan_Jones 01002023.zip)

member B : submit just the README.md file containing the your name and that of

the partner who is submitting the zip/tar file. This is so Stream knows that you've

submitted something, otherwise it won't let a mark be entered.

Read more about .md files here (http://stackoverflow.com/questions/5922882/what-file-usesmd-extension-and-how-should-i-edit-them)

Assessment

Your assessment will be based on the following criteria:

Criteria Worth

Correct implementation of the todo script 5

Correct implementation of the todo java program 5

Appropriate use of git/bibbuck FROM THE START OF DEVELOPMENT 4

Appropriate use of issue tracking features to track changes/issues FROM THE

START OF DEVELOPMENT.

3

Check code quality and report the specific size and complexity metrics. 1.5

Overall code quality, including exception handling and comments to explain the

code.

1.5

Total 19

Massey University Hebei University of Technology

September 17 Amjed Tahir

Late Submissions Penalties

There is a penalty for late submissions. The penalty is 10% deducted from

the total possible mark for every day delay in submission (one day late – 90%,

two days – 80% etc).


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp