1. Homepage
  2. Programming
  3. SOFT2412/COMP9412 - Agile Software Development Practices -Group Project Assignment 1 – Tools for Agile Software Development

SOFT2412/COMP9412 - Agile Software Development Practices -Group Project Assignment 1 – Tools for Agile Software Development

Engage in a Conversation
澳洲AustraliaUniversity of SydneySOFT2412COMP9412Agile Software Development PracticesJava

Agile Software Development Practices (SOFT2412/COMP9412) CourseNana.COM

Group Project Assignment 1 – Tools for Agile Software Development CourseNana.COM

Background CourseNana.COM

Agile soware development is centered around teams and teamwork. In Agile team environments, a set of pracces and principles should be followed to guide teams through the development process to build quality soware products efficiently and effecvely. Implemenng Agile pracces and principles in a soware development project require developing skills that fall in two main areas namely, technical tooling, and social interacons. In this unit, you are required to work in Agile soware development teams to experience and develop both technical and social skills. CourseNana.COM

The goal of the first group project assignment is to work as a team and to use and apply Agile soware development tools in the context of a soware development project. CourseNana.COM

Main Requirements CourseNana.COM

In this group project, teams of 4 students (5 students might be allowed to deal with excepons). CourseNana.COM

applicaon in Java. All teams are required to use this soware project as the starng point of their work. As a team, you will be required to develop specific features/funconalies of the currency converter applicaon. CourseNana.COM

Following Agile pracces, each team is required to work collaboravely and carry out soware development acvies to build a currency converter applicaon. During the development, each team is required to use the set of soware tools covered in this course following Agile development pracces. Below are more details of the project requirements and deliverables for the assignment. CourseNana.COM

Part 1 - Agile Tools Setup CourseNana.COM

Each group must collaboravely work to setup a set of soware tools that will help them to prepare to prepare agile development environment. All these tools have been/will be introduced the weekly labs including GitHub, Gradle, JUnit (including code coverage) and Jenkins. In your tool setup, you will need to meet the following requirements: CourseNana.COM

1. There must be a single shared GitHub repository in the supplied GitHub organizaon. (hps:/github.sydney.edu.au/SOT2412-COMP9412-2022S2) for the enre group. Every member must contribute to this repository. CourseNana.COM

  1. Gradle must be used for build automaon, and JUnit for automated tesng. JUnit must be integrated with Gradle and a code coverage tool. For JUnit tesng, code coverage must be at least 75%.
  2. Connuous integraon should be done with Jenkins, which must be hooked with GitHub. Both Gradle and JUnit must be integrated on Jenkins and run automacally for every new commit in a parcular GitHub branch aer Jenkins has been setup correctly.

Part 2 - Building Currency Applicaon using the Agile Tools CourseNana.COM

Each group will be required to develop a simple currency converter applicaon in JAVA. All team members must collaboravely build this applicaon using the agile tools they have setup in the previous part. All teams will have to implement following applicaon requirements: CourseNana.COM

  1. There are two user types in the system: admin and normal user (or user). The admin user can use all the funcons of the applicaon as specified below. The normal user can use certain funcons as specified below.
  2. The applicaon should allow normal users to convert money from one currency to another. The applicaon should allow normal users to input money amount and choose its currency symbol and the desired currency they want to convert to. The applicaon should then carry out the conversion and display it with the current currency symbol.
  1. Only the admin user can maintain the currency types and its exchange rates. Inially, your applicaon must start with 6 currencies and its exchange rates. Exchange rates must be loaded along with the date when the applicaon first runs. This can be a simple in-memory database (e.g., file). You may find the exchange rates from online sources such as XE (hp:/www.xe.com) .
  2. The applicaon should allow the normal user to display most popular currencies in a table of the currencies in which every cell represents the exchange rate between the currencies (as shown in table 1). Most popular currencies must be 4 currencies which are specified and updated by the admin user. For example, in the below table, the conversion rate from AUD to SGD is 0.99. Exchange rates must be the most up-to-date rates as specified in the currency rates file/database.

  CourseNana.COM

From/To CourseNana.COM

AUD CourseNana.COM

SGD CourseNana.COM

US CourseNana.COM

EU CourseNana.COM

AUD CourseNana.COM

- CourseNana.COM

0.99 ↓ (D) CourseNana.COM

SGD CourseNana.COM

1.01 ↑(I) CourseNana.COM

- CourseNana.COM

US CourseNana.COM

- CourseNana.COM

EU CourseNana.COM

  CourseNana.COM

  CourseNana.COM

  CourseNana.COM

- CourseNana.COM

Table 1. Exchange rates of most popular 4 currencies CourseNana.COM

  1. The admin user can do all the above operaons as well, i.e., convert currencies and display the popular currencies table.
  2. The admin user can add new exchange rates daily by entering the date and exchange rate for that date of all currencies stored in the file. A complete history of the change exchange rates must be persistent including the rate and its date of addion. For example, if AUD to SGD was 0.99 and was added on September 4, 2020 and the admin added another exchange rate (e.g., 0.97 on September 5, 2020), these rates must be persisted for the below funconalies.
  3. The admin can also add new currency types in addion to the exisng currencies and its conversion rates. The most up-to-date currencies should be used in currency conversion and in the most popular currencies table.
  4. When the user chooses to display the 4 x 4 common currencies table, if the new rate has decreased as explained in (6), this must be indicated by a down arrow (or the leer D) as shown in table 1 (i.e. the rate of conversion from AUD to SGD has been decreased compared to previous rate, 0.99 to 0.97). You may choose between arrow signs and leers (e.g., (D) for decrease and (I) for increase).
  5. Given the history of the conversion rates (based on admin input), the user can print summary of the conversion rates of 2 currencies they choose within a specific duraon (start and end dates).

This includes all conversion rates, average, median, maximum, minimum and standard deviation of the conversion rate of the 2 currencies during the specified start and end date. CourseNana.COM

  1. The applicaon must implement a simple user interface to allow users to select from the different available funcons (stated above) with clear instrucons and messages to guide the user on what should be done, corrected in case of incorrect selecon/input and what opons available on current or other funcons. The applicaon design can be using any UI (text or GUI) for the funconality. You can decide on the applicaon design/architecture; both text file or persistent database are acceptable. The soware must always produce correct output and maintain correct and consistent state of all included enes.

Each group must carry on the development of the Currency Applicaon using all the tools they setup in part 1. Teams must demonstrate the proper use of these tools and pracces to ensure efficient and effecve development as well as delivery of correct applicaon behavior. This includes: CourseNana.COM

GitHub collaboraon (branching, merging and conflict resoluon). Make releases and version your soware properly on GitHub.
Build automaon triggers successfully with appropriate reporting
Automated tests trigger successfully with appropriate test/code coverage and reporng
CourseNana.COM

All groups must show evidence (in their report and demo) of the proper use and applicaon of the above-menoned agile tools and development/CI pracces. CourseNana.COM

Technical Report CourseNana.COM

Each group must prepare a technical report that record evidence of the above development acvies (besides the actual Github repo. logs and reports which will be checked as part of the marking). This specifically includes: CourseNana.COM

1. Explain how the group collaborated to complete the development of the Applicaon. This should include individual and group contribuons, group communicaon (recorded minutes for all meengs). Each individual team member must explain how they contributed towards implemenng the features of the applicaon. CourseNana.COM

2.     A README file or a page in the GitHub wiki explaining how to run the program, and how to test it. You may also include other instrucons as to how to contribute/collaborate on the codebase. CourseNana.COM

3.     GitHub collaboraon. You must explain how GitHub was used for building the applicaon. CourseNana.COM

This might include Project boards, issues, pull requests etc. and how they were used in favor of compleng the implementaon of the applicaon. CourseNana.COM

4.     Explain how Gradle was used. This may include any extra tasks/dependencies used for the application including brief comments on how those extra tasks/dependencies helped you build the application. CourseNana.COM

Project Demonstraon CourseNana.COM

Each group must demonstrate their project work. You will have to demo your group work and individual contribuons to your tutor during week 8 tutorials. The schedule and any informaon will be shared by your tutor before week 8 tutorials.
Each group will have 15-20 minutes to demonstrate the funconality of their currency converter applicaon and work done through your GitHub repo, automated builds, automated test and Jenkins.
CourseNana.COM

All team members must be present in the project demo. Also, every member must demo their individual contribuons to the project besides the group work. Your tutor will ask you quesons on the enre collaboraon and tools used. Every team member will be asked quesons about the development work done by the team and by themselves. CourseNana.COM

More details about the demos will be announced closer to the submission deadline. CourseNana.COM

Group Member Contribution CourseNana.COM

This is a group project assignment and the assessment will be based on individual contribuons to the group work as per the above requirements. The whole project work cannot be handled by one group member or individually. It must be carried out as group and every member must contribute to the technical development and use of the Agile tools and setup described above. CourseNana.COM

If members of your group do not contribute sufficiently you should alert your tutor as soon as possible. The course instructor has the discreon to scale the group’s mark for each member as follows: CourseNana.COM

No contribution poor/paral contribuon (based on available evidence from github organizaon, logs from used tools and other documentaon) CourseNana.COM

Paral/poor contribuon (based on available evidence from github organizaon, logs from used tools and other documentaon) CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
澳洲代写,Australia代写,University of Sydney代写,SOFT2412代写,COMP9412代写,Agile Software Development Practices代写,Java代写,澳洲代编,Australia代编,University of Sydney代编,SOFT2412代编,COMP9412代编,Agile Software Development Practices代编,Java代编,澳洲代考,Australia代考,University of Sydney代考,SOFT2412代考,COMP9412代考,Agile Software Development Practices代考,Java代考,澳洲help,Australiahelp,University of Sydneyhelp,SOFT2412help,COMP9412help,Agile Software Development Practiceshelp,Javahelp,澳洲作业代写,Australia作业代写,University of Sydney作业代写,SOFT2412作业代写,COMP9412作业代写,Agile Software Development Practices作业代写,Java作业代写,澳洲编程代写,Australia编程代写,University of Sydney编程代写,SOFT2412编程代写,COMP9412编程代写,Agile Software Development Practices编程代写,Java编程代写,澳洲programming help,Australiaprogramming help,University of Sydneyprogramming help,SOFT2412programming help,COMP9412programming help,Agile Software Development Practicesprogramming help,Javaprogramming help,澳洲assignment help,Australiaassignment help,University of Sydneyassignment help,SOFT2412assignment help,COMP9412assignment help,Agile Software Development Practicesassignment help,Javaassignment help,澳洲solution,Australiasolution,University of Sydneysolution,SOFT2412solution,COMP9412solution,Agile Software Development Practicessolution,Javasolution,