ITECH7201 Software Engineering: Analysis and Design Assignment 1 Overview You are required to design and develop a small console application in any Object Oriented Programming Language. Completion...

1 answer below »


ITECH7201 Software Engineering: Analysis and Design



Assignment 1




Overview



You are required to design and develop a small console application in any Object Oriented Programming


Language. 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 the 30th December 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




Sab, the owner of ARC Pizza and Pasta, is opening a takeaway shop for selling delicious Pizza and Pasta to the customers. She wants to offer some packages to the interested customers to promote her business. To do so she is offering the following packages:


1. 1 large Pizza = 12 AUD



2. 2 large Pizzas = 22 AUD



3. N large pizzas = N*10 AUD, where N>=3, and the customer will receive 1 garlic bread for every three pizzas [For example, if a customer is interested to buy 10 large pizzas, Sab will provide 3 complementary garlic breads for 100 AUD]


4. 1 large pasta = 8 AUD



5. 2 large pastas = 15 AUD



6. M large pastas = M*7 AUD, where M>=3, and the customer will receive 1.25 Liter soft drinks for every 3 pastas [For example, if a customer is interested to buy 6 large pastas, Sab will provide 2 complementary 1.25 liter soft drinks for 42 AUD]







7. For every 3 pizzas AND 3 pastas, Sab will give a small box of Baklava (a famous dessert item) in addition to garlic break and 1.5 liter soft drinks.



You have agreed to design and develop a small console program for Sab, enabling her to select the appropriate item and the package, and calculate the corresponding cost. Once an order is processed, the program will return to the menu ready to commence another order. This payment information should display:



 total payment amounts received for pizza order



 total payment amounts received for pasta order



 total amount of pizzas and pastas sold in that session*




*A session indicates the duration Sab is using the program after opening the program. There is no need for this data to persist once the program has stopped running.



Sab wants the system to be flexible so that she can include additional items and packages at a later date without having to rewrite the entire program. This means you will need to use an interface for processing payments, and polymorphism for the various food items classes, so that new and different packages may be added at a later date with minimal updates to the code. She asked that you provide her with some documentation before you commence coding, so that she is able to verify that the program you intend to code will address her requirements. She would like to see the 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 an order



 a Class Diagram of the intended system



 a Sequence Diagram for processing an order



 A short reflection (approximately 200-300 words) of what you have learned, if anything, on this assignment, particularly relating to 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 program (in any OOP language), addressing the requirements outlined in the Assignment


Details.







Marking Criteria/Rubric



















































































Task



Available


Marks



Student


Mark



Requirements Analysis and Design







 Use Cases summarizing the requirements of the program



2





 A Use Case Diagram for processing an order



2






 A Class Diagram of the intended system



2






 A Sequence Diagram for processing a customer’s order




2





Development of Code







A complete Java program addressing the requirements outlined in the Assignment


Details section of this specification, including:







 Functionality to process the ordering




1





 Functionality to process the orders of various amount




2





 A progressive payments menu option that displays the total income received from both the items (pizza & pasta) individually and the total income from all


orders




1






 Code demonstrating the use of an interface and polymorphism to handle item fires and the various item options available




6





Reflection on Learning







 A short reflection (approximately 200-300 words) of what you have learned, if anything, on this assignment, particularly relating to requirements 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.

Answered Same DayDec 23, 2020ITECH7201

Answer To: ITECH7201 Software Engineering: Analysis and Design Assignment 1 Overview You are required to...

Gaurav answered on Dec 26 2020
148 Votes
ArcPizzaPasta/manifest.mf
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
ArcPizzaPasta/build.xml

Builds, tests, and runs the project ArcPizzaPasta.


ArcPizzaPasta/dist/ArcPizzaPasta.jar
META-INF/MANIFEST.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.7
Created-By: 1.8.0_131-b11 (Oracle Corporation)
Class-Path:
X-COMMENT: Main-Class will be added automatically by build
Main-Class: arcpizzapasta.ArcPizzaPasta
arcpizzapasta/ArcPizzaPasta.class
package arcpizzapasta;
public synchronized class ArcPizzaPasta {
public void ArcPizzaPasta();
public static void main(String[]);
}
arcpizzapasta/Choice.class
package arcpizzapasta;
public synchronized class Choice {
String choice;
java.util.Scanner input;
public void Choice();
public void choose();
}
arcpizzapasta/Pasta.class
package arcpizzapasta;
public synchronized class Pasta extends Pizza {
private String PastaOne;
private String PastaTwo;
private String PastaThreePlus;
protected final void changePastaOne(String);
protected final String getPastaOne();
protected final void changePastaTwo(String);
p
rotected final String getPastaTwo();
protected final void changePastaThreePlus(String);
protected final String getPastaThreePlus();
public void Pasta();
public void Pasta(String, String, String);
}
arcpizzapasta/Pizza.class
package arcpizzapasta;
public synchronized class Pizza {
private String PizzaOne;
private String PizzaTwo;
private String PizzaThreePlus;
protected final void changePizzaOne(String);
protected final String getPizzaOne();
protected final void changePizzaTwo(String);
protected final String getPizzaTwo();
protected final void changePizzaThreePlus(String);
protected final String getPizzaThreePlus();
public void Pizza();
public void Pizza(String, String, String);
}
ArcPizzaPasta/dist/README.TXT
========================
BUILD OUTPUT DESCRIPTION
========================
When you build an Java application project that has a main class, the IDE
automatically copies all of the JAR
files on the projects classpath to your projects dist/lib folder. The IDE
also adds each of the JAR files to the Class-Path element in the application
JAR files manifest file (MANIFEST.MF).
To run the project from the command line, go to the dist folder and
type the following:
java -jar "ArcPizzaPasta.jar"
To distribute this project, zip up the dist folder (including the lib folder)
and distribute the ZIP file.
Notes:
* If two JAR files on the project classpath have the same name, only the first
JAR file is copied to the lib folder.
* Only JAR files are copied to the lib folder.
If the classpath contains other types of files or folders, these files (folders)
are not copied.
* If a library on the projects classpath also has a Class-Path element
specified in the manifest,the content of the Class-Path element has to be on
the projects runtime path.
* To set a main class in a standard Java project, right-click the project node
in the Projects window and choose Properties. Then click Run and enter the
class name in the Main Class field. Alternatively, you can manually type the
class name in the manifest Main-Class element.
ArcPizzaPasta/build/built-jar.properties
#Mon, 24 Dec 2018 09:22:36 +0300
/home/denis/NetBeansProjects/ArcPizzaPasta=
ArcPizzaPasta/nbproject/build-impl.xml















































































































































































































Must set src.dir
Must set test.src.dir
Must set build.dir
Must set dist.dir
Must set build.classes.dir
Must set dist.javadoc.dir
Must set build.test.classes.dir
Must set build.test.results.dir
Must set build.classes.excludes
Must set dist.jar




































































































Must set javac.includes
































































































































No tests executed.



















































































...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here