联系方式

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

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

日期:2024-05-08 08:50

EBU6304 – Software Engineering Page 1 of 5

School of Electronic Engineering and Computer Science

EBU6304 – Software Engineering Group Project

30% coursework.

A Virtual Bank Application for Kids

-developing the software using Agile Methods

1. General information

In the next few weeks, your team will be required to develop a Virtual Bank Application

for Kids using Agile methods. Your team should aim to deliver a simple first release of

the software product that can be extended in further iterations. Agile methods should be

applied in all activities, from requirements through analysis/design, implementation, and

testing. Iterations should be planned, and outcomes should be submitted.

There are no restrictions on what the Virtual Bank Application for Kids should include,

and the given specification contains only high-level abstract requirements. It should be

noted that determining the software requirements is one of the most important and

complex phases in any development project. You should apply requirement-finding

techniques and Agile methods to identify the actual requirements at an appropriate level.

Most importantly, you need to prioritize the features that are implemented in accordance

with both ease of implementation and meeting requirements. As in real software, you

should define the project scope properly. Keep your design SIMPLE. Bear in mind that

there is no absolute right answer – your solution may be perfectly appropriate.

Handout release date: 14

th March 2024

First submission: Product backlog and Prototype, 15th April 2024

Final submission: Report and Software: 27

th May 2024

Demonstration: 27th – 31st May 2024

Marks returned: Approximately 2-3 weeks after the final submission.

EBU6304 – Software Engineering Page 2 of 5

2. Specification of the project

2.1 Basic requirements

Your team will develop a fun and easy to use “Virtual Bank Application for Kids”. The

objective of this application is to educate children about the value of money and the

concept of a bank, encouraging them to engage in tasks to earn pocket money, save for

goals, and spend responsibly. There are no restrictions on the functions the application

should include, as one of the most important tasks of this project is to identify the actual

requirements. Here are some suggested functions to assist you in getting started.

• Account creation: create virtual bank accounts, including current accounts and

saving accounts.

• Balance tracking: display the current balance.

• Deposit: enable kids to deposit virtual money they earned from doing tasks.

• Withdrawal: enable kids to withdraw virtual money.

• Task setting: parents can set tasks or activities (e.g. house chore, exercises) to

give kids opportunities to earn money.

• Transactions: can check the transaction history.

• Savings goals: enable kids to set savings goals and to track progress towards those

goals.

• Any other function(s) that is useful.

A full prototype of the application should be produced. It is not required to implement the

full working code however your team should implement core functions of your choice.

2.2 Other requirement

• The software must be developed using Java as a stand-alone application running

on computers. A simple graphic user interface (GUI) should be used. The recent

Java Edition should be used. Do NOT build a Web-based application or Phone

App.

• The application should be used without an Internet connection.

• All input and output data should be in simple text file format. You may use plain

text (txt), CSV, JSON, or XML. Do NOT use a database.

• Basic restrictions and error checking must be considered.

• Your design must be flexible and extensible to adapt to future changes, e.g.

modify existing features and add new features. When doing so, you should be

able to reuse the existing components and make the least impact on the existing

code.

Your tasks are to define detailed requirements, design, develop and test the above described

software using Agile methods. Feel free to design the software as long as it satisfies the

basic requirements, define the SCOPE properly.

EBU6304 – Software Engineering Page 3 of 5

3. Agile project management

Each group has 6 (or 7) students. You are the Agile team working together to complete the

project. All students in a group must work on ALL aspects of the project, to obtain full

software engineering skills. You should use the techniques you have learnt in the lectures

to manage the project, e.g., Scrum, daily stand up meetings, working around a table, scrum

master and decision making, etc. You are also encouraged to use other efficient ways of

communication to coordinate the group activities.

Suggested Timeline:

• 14-15 March

Activities: meet group members, appoint a group leader and discuss the project

handout.

• 18-22 March

Activities: gather actual requirements, story writing workshop.

Outcomes: product backlog.

• 25-29 March

Activities: create prototype and get user feedback.

Outcomes: product prototype.

• 1-12 April

Activities: Iteration 1.

Outcomes: Working Software v1.

• 15-26 April

Activities: Iteration 2.

Outcomes: Working Software v2.

• 29 April -10 May

Activities: Iteration 3.

Outcomes: Working Software v3.

• 13-24 May

Activities: Iteration 4.

Outcomes: Working Software v4.

• 27-31 May

Software final delivery.

4. Submissions on QM+

For all the submissions, only the group leader should submit the files on behalf of

the whole group.

The first submission includes product backlog and prototype. 15th April.

The final submission includes a short report and software. 27th May.

EBU6304 – Software Engineering Page 4 of 5

4.1 The product backlog, an excel file (refer to the template on QM+). Filename:

Productbacklog_groupXXX.xlsx, where XXX is your group number. It should contain all

user stories with acceptance criteria, priority, estimation and iteration plan.

4.2 The prototype, a PDF file. Filename: Prototype_groupXXX.pdf, where XXX is your

group number. It should contain full prototype. Only low-fidelity or medium fidelity

prototype is needed.

4.3 The short report, a PDF file. Filename: Report_groupXXX.pdf, where XXX is your

group number. The report template provided must be used. It should contain the sections

of Group report (maximum 15 pages including tables, charts, figures and diagrams you

may have) and individual statements (no more than 300 words each). More details can be

found in the template.

4.4 The software, a ZIP file. Filename: Software_groupXXX.zip, where XXX is your

group number.

It should contain the following parts:

a) Java code. All core functions should be implemented. Code should be well

documented.

b) A set of test programs using Junit as an example of using TDD.

c) JavaDocs.

d) A user manual with some key screenshots of the application.

e) A readme file to instruct how to set up or configure and run your software.

5. Demonstration

Informal demonstration (not assessed):

There are two informal demonstrations, and the main purpose is to gather feedback. You

should arrange a 30-minute session with your group's teaching assistant (TA):

a) Demo 1: during week 15-19 April

b) Demo 2: during week 6-10 May

Formal demonstration (assessed): 27-31 May

Your team is required to formally demonstrate the final software product (assessed). ALL

group members MUST attend the demonstration session. You should showcase the

functionality of your software product as if you were presenting it for sale. Demonstrate

the operation of the core functions and, if possible, exhibit error handling capabilities.

Additionally, be prepared to answer a few questions.

6. The role of Teaching Assistants (TAs)

Each group will be assigned a Teaching Assistant (TA) to offer support, feedback, and

monitor the group's progress. Your TA should be your first point of contact for questions

or issues. The TAs will regularly check both your group's progress and individual

contributions.

EBU6304 – Software Engineering Page 5 of 5

7. Marks breakdown (approximate)

Group mark (maximum 100 marks)

Requirements: 30% (assessed through the product backlog, prototype and report)

• Ability to extract and define the software requirements using Agile techniques. Use

of appropriate fact-finding techniques. The correctness of defining scope and roles.

The correctness of writing user stories. Correctness and completeness of product

backlog. Quality of prototype.

Analysis and design: 20% (assessed through the report)

• Ability to refine the requirements through analysis. Ability to design high-quality

software. Quality of the design class diagrams.

Implementation and Demonstration 20% (assessed through the code, demonstration and

report)

• The correctness of Java code. Quality of code. Demonstrate the software working

correctly as intended and the ability to handle errors.

Testing: 20% (assessed through the code and report)

• Appropriate test strategy. Unit testing. Integration testing.

Project management: 10% (assessed through the regular check, informal demos and report)

• Appropriate use of tools for project management and communication. Appropriate

use of project management techniques. Evidence of progress throughout the project

period.

Individual mark

Individual marks will be given based on participation and contribution within the group,

including the quality of work performed and understanding of the tasks. Each student will

be evaluated through regular checks, demonstrations, and statements in the report with

evidence of their contributions. The grade will be awarded as follows:

A+ Outstanding Receive 100% group marks + a maximum of 5% extra

A Satisfactory Receive 100% group marks

B Unsatisfactory Receive 50% of group marks

C No contribution Receive 0% of group marks

You, AS A GROUP, are responsible for managing any issues and for completing all of the

tasks. If students are not contributing to the group work, then the module organiser needs

to be informed immediately.

Please use the student forum on QMPlus for general enquires and discussions.


相关文章

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

python代写
微信客服:codinghelp