Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
Software Engineering CITS1220 Programming Project

Computer Science & Software Engineering
Software Engineering (CITS1220)

 

    | 

 

 

Programming Project

 

Final Submission Due date: 5 pm, Monday 31 October 2011 (week 13)

 

This project is worth 20% of the total marks for CITS1220

Aim & Project Description

 

The project is designed to give you experience developing a Java software application using software engineering tools and techniques for producing high quality Java code.

 

In this project you will create a Project Task Management tool that keeps track of the staff involved in a project and the project tasks that need to be completed. The system should be accessed through a Java Swing graphical user interface. A user should be able to initialize a new project, add tasks and employess to the project, and check due dates for tasks.

The system must include the following Java classes:

Task: is the basic class for each task in the project. It should have a name, a start date, and an end date, a description, and a staff member assigned to this task, and a boolean variable indicating whether it is completed or not.

Staff: is a class to represent a person who works on a project. Each member of staff has an employee number, a name, and a role.

Project: a class to represent a project. Each project has a name, and a project manager, who is a member of staff on the project. It also has a collection of Staff who are assigned to work on that project, and a collection of Tasks that make up the project.

ProjectGUI: a user interface for Project Task Manager.  The interface must be user friendly and robust to user errors such as mis-typed entries and mis-sequenced interactions.

 

You should also provide appropriate test assets (that is, test programs in JUnit or test scripts) for each of your classes.  Your test assets will demonstrate the functionality and quality of each class and the whole system.

 

Your project submission will demonstrate your ability to deliver a high quality software system using the software engineering tools Eclipse, JavaDoc, JUnit and VioletUML. The project is based on CITS1220 laboratory exercises, and successfully completing the lab exercises is essential proeparation for the project. 

  

Client Use Case Acceptance Test

 

The system must satisfy the following acceptance test.  Submit a test script to demonstrate this acceptance test.  You are welcome to substitute your own scenario in the acceptance test below, so long as the same functionality is demonstrated.

 

1.     The project Generic Software is created, and three staff are added. They are: Bob, the manager; Alice, the developper; and Charlie, the intern. The following tasks are created:

Requirements Analysis assigned to Bob, to start September 1 and finish October 1

System Design assigned to Alice , to start September 15 and finish October 15

Code (A) assigned to Charlie to start October 1 and finish November 1

Code (B) assigned to Alice to start October 1 and finish November 1

Testing assigned to Bob to start October 15 and finish November 1

Documentationassigned to Charlie to start September 15 and finish November 1

2.     Bob is taking a long time to finalize the requirements, so the deadline is pushed back to October 15.

3.     Charlie is offered a job at Microsoft, so she leaves the project. She is removed from her Code (A) and Documentation tasks.

4.     David is bought into the project to replace Charlie. He is a developper and is given Charlie's old tasks. Bob finally completes the requirements.

5.     As David is taking some time to get up to speed with the project the deadline for Code (A) is extended to November 15. Alice completes the Design.

6.     Bob decides that he needs to help with the coding so a new task Code (C) is created, and Bob is assigned to it. It runs from November 1 to November 15.

7.     Alice and David finish The deadline for testing and documentation are both pushed back to December 1.

8.     All remaining tasks are completed and the project finishes successfully.

This section is not compulsory, but is provided for students who complete all of the required functions for the project to the required quality level before the deadline.  For bonus marks, your system may provide one or more of the following optional functions:

1.     Allow the tasks to be sorted by start date, end date, or assigned staff member

2.     Allow a user to save and load projects from file.

3.  Use the actual date to highlight which tasks are overdue.

 

Submission Instructions

 

1. Hard Copy Report:

A project report, documenting your system, is to be submitted to the CSSE Office by the due date. The report should include:

  1. A description of your system design (up to 1 page)
  2. A UML class diagram of your system, with relationships between the classes clearly labelled.
  3. A description of the design decisions you made for your graphical user interface, including screen shots of the interface.
  4. Description of your testing strategy and an outline of all the unit and acceptance tests you have applied (up to 2 pages).
  5. If you have completed any of the Extension functions, include a short description of your design and implementation, and explain how the user can access this functionality.  The marker will only be able to assign marks for extra functionality if this information is included in the project report.

 

2. Electronic Submission of Code:

All project code and lab exercises must be submitted electronically by the due date to the appropriate area using cssubmit at

Submit all Java source files.  Do not submit class files.  Submit a jar file and xml test script(s) for running the acceptance test(s) on the GUI.  Submit files individually, do not zip them.

The code will be marked on the CSSE Lab's Windows system; you are responsible for ensuring that all your code compiles and runs in that environment.

 

Multiple submissions to cssubmit are allowed, and so you should follow an iterative project management method, using the cssubmit system for version control to submit working versions of code and documentation at regular intervals throughout the project period. Each submission is stored as a new version.

 

Assessment

 

The project is worth 20% of the total mark for CITS1220.  The project will be marked according to three criteria:

 

A. Project Report (30%)

1)      A clearly written report, documenting your system, using the format given in the Project Description.

B. Source Code and Tests (40%)

1)    All Java code is to be laid out in a clear and logical fashion, with basic Javadoc documentation for each method, satisfying the Checkstyle CITS1220 Beginners rules.

2)    Comprehensive JUnit4 test cases should be provided for the Task, Staff and Project classes, to test normal, boundary and exceptional cases for each method, except the getter and setter methods. 

3)      The whole system should pass the client acceptance test given in the Project Description, and a runnable test script should be provided to demonstrate this.

C. Usability & Robustness (30%)

1)    The user interface should be highly robust to user errors, and satisfy usability criteria outlined in lectures. 

 

Late submissions will be subject to a penalty of 20% per day (or part thereof) according to the CS&SE policy on late submissions at

Projects will not be marked unless they are correctly submitted, and late penalties will apply according to the time at which a submission is done correctly if the original submission is incorrect. Please double check that your project and lab submissions are made to the correct CITS1220 cssubmit areas and that all required items are submitted. You must ensure that your name, student number and the creation date is included in each submitted file.  Where you have modified a class provided in the lab classes, include both your details and those of the original author.

 

Plagiarism This project is required to be �€œthe effort of a individual student who may have discussed general principles with others in order to understand the topic, but who is responsible for submitting an individual piece of work. Reuse of code provided in labs is encouraged, providing the original authors as well as your contribution are listed in the @authors documentation.

The CSSE policy on plagiarism applies to this project. For details see

 

 


 

CRICOS Provider Code: 00126G