Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

ITECH7201 Assignment 1 Specification ITECH7201 Software Engineering: Analysis and Design CRICOS Provider No. 00103D ITECH7201 Assignment XXXXXXXXXXdocx Page 1 of 3 Assignment 1 Overview You are...

1 answer below »

ITECH7201 Assignment 1 Specification
ITECH7201 Software Engineering: Analysis and Design
CRICOS Provider No. 00103D ITECH7201 Assignment XXXXXXXXXXdocx Page 1 of 3
Assignment 1
Overview
You are required to design and develop a small Java console application. Completion of this
assignment requires an understanding of:
• Analysis and design techniques, including development of use cases and UML diagrams –
specifically, use case diagrams, class diagrams and sequence diagrams
• Object-oriented programming, focusing on polymorphism and the use of interfaces
Timelines and Expectations
Percentage Value of Task: 20%
Due: 11:55pm Sunday 2nd September, 2018 (week 7)
Minimum time expectation: 20 hours
Learning Outcomes Assessed
The following course learning outcomes are assessed by completing this assessment:
• Understand the significance of detailed project planning and control, good communication and
documentation and the use of appropriate tools in order to provide a quality product
• Understand the distinction between software engineering and programming, and thus the
distinction between a software configuration and a program
• Understand the methods and techniques involved in designing, implementing and maintaining
an information system, in particular using an object-oriented approach
• Demonstrate skills in designing and implementing an information system.
Assessment Details
A new party plan company (which sells any product of your choice) is opening in Australia. This company operates
on a membership structure, offering discounts on the recommended retail price of product purchases based on a
tiered membership approach:
Membership Level Discount on Product Purchases
Member 5%
Bronze Member 10%
Silver Member 15%
Gold Member 20%
Platinum Member 25%
CRICOS Provider No. 00103D ITECH7201 Assignment XXXXXXXXXXdocx Page 2 of 3
You have agreed to design and develop a small Java console program for this company, with four menu options.
Option 1: Create a member. The member needs to have a name and a membership tier.
Option 2: Make a purchase. Select a member who is making a purchase, enter the total recommended retail value
of that purchase and calculate the co
esponding discounted price.
Option 3: Display a summary of transaction data for the cu
ent session, showing:
• The total number of sales processed and the payment amount received for these sales
• The total number of sales processed for each membership tier, the payment amount received for each tier
and the total discount given at each membership tier.
Option 4: Exit the system
After completing any of the first three options, the program returns to the menu so the user can select another
option. After selecting the fourth option, the program closes. There is no need for the program data to persist once
the program has closed.
The party plan company wants to be able to add additional membership tiers at a later date, so the system needs
to be flexible. This means you will need to use an interface for processing payments, and polymorphism for the
various membership classes, so that new, different levels of membership may be added at a later date with minimal
updates to the code. The company has also asked that you provide them with some documentation before you
commence coding, so that they are able to verify that the program you intend to code will address their
equirements. They would like to see use cases to summarize the requirements in written format, as well as use
case diagrams, class diagrams and sequence diagrams.
Submission
You are required to submit the assignment before the due date consisting of:
• A Zip file containing the following (submitted via Moodle under the Assignment 1 link)
o A written report comprising:
 Use Cases summarizing the requirements
 UML Diagrams, created in Enterprise Architect, comprising:
• a Use Case Diagram for processing a hire agreement
• a Class Diagram of the intended system
• a Sequence Diagram for processing a hire agreement for a member.
 A short reflection (approximately XXXXXXXXXXwords) discussing the importance of requirements
design and analysis, UML diagrams and object-oriented programming with interfaces and
polymorphism. As an example, if you found that you changed your initial UML diagrams after you
had commenced coding, you should explain what these changes were and explain what you learnt
that led to these changes.
o Enterprise Architect file(s) containing your UML Diagrams for the Use Case, Class and Sequence Diagrams
o Your finished Java program, addressing the requirements outlined in the Assignment Details.
CRICOS Provider No. 00103D ITECH7201 Assignment XXXXXXXXXXdocx Page 3 of 3
Marking Criteria/Ru
ic
Task Available
Marks
Student
Mark
Requirements Analysis and Design
• Use Cases summarizing the requirements of the program 2
• A Use Case Diagram for processing a purchase by a member 2
• A Class Diagram of the intended system 2
• A Sequence Diagram for processing a member’s purchase

2
Development of Code
A complete Java program addressing the requirements outlined in the Assignment Details
section of this specification, including:
• Functionality to create members at each of the membership tiers
1
• Functionality to process purchases for each of the membership levels, including
display of the co
ect discounted purchase price for that member 2
• A progressive payments menu option that displays the total number of sales
processed and the payment amount received for these sales, the total number of
sales processed for each membership tier, the payment amount received for each
tier and the total discount given at each membership tier.
1
• Code demonstrating the use of an interface and polymorphism to handle
discounts and the various membership options available
6
Reflection on Learning
• A short reflection (approximately XXXXXXXXXXwords) discussing the importance of
equirements design and analysis, UML diagrams and object-oriented
programming with interfaces and polymorphism.
2
Total 20
Feedback
Marks will be uploaded in fdlGrades and a completed marking guide provided in Moodle within 2
weeks of assignment submission.
Plagiarism:
Plagiarism is the presentation of the expressed thought or work of another person as though it is one's
own without properly acknowledging that person. You must not allow other students to copy your work
and must take care to safeguard against this happening. More information about the plagiarism policy
and procedure for the university can be found at http:
federation.edu.au/students/learning-and-
study/online-help-with/plagiarism.
http:
federation.edu.au/students/learning-and-study/online-help-with/plagiarism
http:
federation.edu.au/students/learning-and-study/online-help-with/plagiarism
    Assignment 1
    Overview
    Timelines and Expectations
    Learning Outcomes Assessed
    Assessment Details
    A new party plan company (which sells any product of your choice) is opening in Australia. This company operates on a membership structure, offering discounts on the recommended retail price of product purchases based on a tiered membership approach:
    You have agreed to design and develop a small Java console program for this company, with four menu options.
    Option 1: Create a member. The member needs to have a name and a membership tier.
    Option 2: Make a purchase. Select a member who is making a purchase, enter the total recommended retail value of that purchase and calculate the co
esponding discounted price.
    Option 3: Display a summary of transaction data for the cu
ent session, showing:
     The total number of sales processed and the payment amount received for these sales
     The total number of sales processed for each membership tier, the payment amount received for each tier and the total discount given at each membership tier.
    Option 4: Exit the system
    After completing any of the first three options, the program returns to the menu so the user can select another option. After selecting the fourth option, the program closes. There is no need for the program data to persist once the program has clos...
    The party plan company wants to be able to add additional membership tiers at a later date, so the system needs to be flexible. This means you will need to use an interface for processing payments, and polymorphism for the various membership classes,...
    Submission
    Marking Criteria/Ru
ic
    Feedback
    Plagiarism:
    Available Marks
    Total
Answered Same Day Aug 16, 2020

Solution

Sonu answered on Aug 23 2020
140 Votes
Java Membership__30332876/Java Program_Screenshots/Screenshot_1.JPG
Java Membership__30332876/Java Program_Screenshots/Screenshot_2.JPG
Java Membership__30332876/JavaProgram_Membership_30332876/.classpath

    
    
    
Java Membership__30332876/JavaProgram_Membership_30332876/.project

     Membership
    
    
    
    
        
             org.eclipse.jdt.core.javabuilde
            
            
        
    
    
         org.eclipse.jdt.core.javanature
    
Java Membership__30332876/JavaProgram_Membership_30332876/.settings/org.eclipse.jdt.core.prefs
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=e
o
org.eclipse.jdt.core.compiler.problem.enumIdentifier=e
o
org.eclipse.jdt.core.compiler.source=1.6
Java Membership__30332876/JavaProgram_Membership_30332876
in/com/membership/BronzeMember.class
package com.membership;
synchronized class BronzeMember implements Payment {
void BronzeMember();
public double calculatePayment(double);
}
Java Membership__30332876/JavaProgram_Membership_30332876
in/com/membership/GoldMember.class
package com.membership;
synchronized class GoldMember implements Payment {
void GoldMember();
public double calculatePayment(double);
}
Java Membership__30332876/JavaProgram_Membership_30332876
in/com/membership/MainClass.class
package com.membership;
public synchronized class MainClass {
private String memberName;
private String memberTypeName;
private java.util.List transactions;
public void MainClass();
public void createNewMember();
public void getAmount(int, double);
public void membershipLevel();
public void displayTransactionHistory();
public static void main(String[]);
}
Java Membership__30332876/JavaProgram_Membership_30332876
in/com/membership/Payment.class
package com.membership;
public abstract interface Payment {
public abstract double calculatePayment(double);
}
Java Membership__30332876/JavaProgram_Membership_30332876
in/com/membership/PlatinumMember.class
package com.membership;
synchronized class PlatinumMember implements Payment {
void PlatinumMember();
public double calculatePayment(double);
}
Java Membership__30332876/JavaProgram_Membership_30332876
in/com/membership/SilverMember.class
package com.membership;
synchronized class SilverMember implements Payment {
void SilverMember();
public double calculatePayment(double);
}
Java Membership__30332876/JavaProgram_Membership_30332876
in/com/membership/SimpleMember.class
package com.membership;
synchronized class SimpleMember implements Payment {
void SimpleMember();
public double calculatePayment(double);
}
Java Membership__30332876/JavaProgram_Membership_30332876
in/com/membership/Transaction.class
package com.membership;
public synchronized class Transaction {
public int memberTypeId;
public double purchaseAmount;
public double discountAmount;
public void Transaction();
public int getMemberTypeId();
public void setMemberTypeId(int);
public double getPurchaseAmount();
public void setPurchaseAmount(double);
public double getDiscountAmount();
public void setDiscountAmount(double);
}
Java Membership__30332876/JavaProgram_Membership_30332876/src/com/membership/MainClass.java
Java...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here