Distinction between a software configuration and a program

Assignment Help Software Engineering
Reference no: EM132366036

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

Learning Outcomes

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

Alice and Bob are small business owners who run a Café at Halls Gap in rural Victoria. They are experiencing an increase of customers over the past year or so - mostly international. They would like to improve the way that they handle transactions and to have more flexibility in offering different transactions. Up till now, they did not track individual payments, merely adding the total amount at the end of the day to determine their total sales. Now, Alice and Bob wants to offer credit card payment options (both Pay Wave and PIN), to allow for spontaneous purchases where potential customers may not have cash on hand. Due to the low profit margins on the products and the bank fees charged for the processing of card payments, a 1.5% surcharge on all MasterCard, and Visa card payments is required to keep the business profitable; Amex cards require 3%. With different methods for payment now available, Alice and Bob want an automated method to track both total sales amounts and the total of the card surcharges collected so that this is more streamlined and less time-consuming to manage.

They would also like to be able to add Bitcoin payments in the near future.

You have agreed to design and develop a small Java console program for them, enabling them to select either a cash or card payment and enter the total amount of the sale. For cash payments, no additional charges are required. For card payments, the program will calculate the appropriate surcharge and display the updated total of the sale so that they may enter this directly into the card payment system.

Once the sales have been completed, the program will provide options to enter another sale (cash or card), or to display the current payments received. These payments should be broken down into cash sales, card sales, card surcharges and total product sales (cash sales plus card sales, not including card surcharges). There is no need for this data to persist once the program has stopped running.

They want the system to be flexible so that they can include additional functionality at a later date without having to have the entire program rewritten. This means you will need to use an interface for processing payments, and polymorphism for the various payment classes, so that new, different payment types may be added at a later date with minimal updates to the code. They 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 requirements. They would like to see a Use Case diagram and Use Cases to summarize the requirements in written format, as well as Class and sequence diagrams.

Verified Expert

This assignment is about designing a small software for a cafe. We need the use case diagrams, uml diagrams, and the source code. It was coded in Java.

Reference no: EM132366036

Questions Cloud

What is the negative part of smart bar : Why this piece of technology is not installed in more establishment? What is the negative part of Smart bar?
What ways human resources could focus on human capital : Please respond to the question - What are three ways human resources could focus on human capital and organizational performance
Identify your public policy project objectives : Develop a communication plan that will be used to convey your public policy project to key stakeholders. Identify your public policy project's objectives.
Discuss whether some health organizations are exempt : Discuss whether some health organizations are exempt from quality improvement initiatives because they provide basic, minimal services.
Distinction between a software configuration and a program : ITECH7201 Software Engineering: Analysis and Design - Demonstrate skills in designing and implementing an information system and Understand the methods
Synthesized annotated bibliography narrative : Post your synthesized annotated bibliography narrative on transformational leadership and its impact on workplace environment.
Discuss the concept of enlightened self-interest : Discuss the concept of enlightened self-interest - Adam Smith stated that giving the freedom to produce and exchange goods would bring further benefit
Biblical concept of stewardship to produce quality outcomes : Discuss how Christian health administrators can use the biblical concept of stewardship to produce quality outcomes.
Contingency approach to management communication : MANAGEMENT COMMUNICATIONS. Explain how the behavioral approach differs from the contingency approach to management communication.

Reviews

len2366036

9/5/2019 12:33:13 AM

Development of Code – present the pseudocode in the report 2 A complete Java program addressing the requirements outlined in the Assignment Details section of this specification, including: • Functionality to process cash payments 1 • Functionality to process card purchases for each card (MasterCard, Visa, Amex) including display of the total product sales with appropriate surcharge added 6 • A payments received option that displays the total card sales amount, the total cash sales amount, the total card surcharge amount and the total product sales amount (card plus cash, not including card surcharges). 1 • Code demonstrating the use of an interface and polymorphism to handle payments and the various payment options available 6

len2366036

9/5/2019 12:33:07 AM

Task Available Marks Requirements Analysis and Design – explain how these were generated 2 • A Use Case Diagram reflecting the functionality of the system 2 • Use Cases summarizing the requirements of the program 3 • A Class Diagram of the intended system 2 • A Sequence Diagram for processing a customer’s purchase 2

len2366036

9/5/2019 12:32:49 AM

? A short reflection (approximately 200-300 words) 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 AssignmentDetails.

len2366036

9/5/2019 12:32:42 AM

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 report1 comprising: ? Use Cases summarizing the requirements ? UML Diagrams, created in Enterprise Architect, comprising: • a Use Case Diagram for processing a purchase • a Class Diagram of the intended system • a Sequence Diagram for processing a credit card purchase.

Write a Review

Software Engineering Questions & Answers

  Research report on software design

Write a Research Report on software design and answer diffrent type of questions related to design. Report contain diffrent basic questions related to software design.

  A case study in c to java conversion and extensibility

A Case Study in C to Java Conversion and Extensibility

  Create a structural model

Structural modeling is a different view of the same system that you analyzed from a functional perspective. This model shows how data is organized within the system.

  Write an report on a significant software security

Write an report on a significant software security

  Development of a small software system

Analysis, design and development of a small software system.

  Systems analysis and design requirements

Systems Analysis and Design requirements

  Create a complete limited entry decision table

Create a complete limited entry decision table

  Explain flow boundaries map

Explain flow boundaries map the dfd into a software architecture using transform mapping.

  Frame diagrams

Prepare a frame diagram for the software systems.

  Identified systems and elements of the sap system

Identify computing devices, which could be used to support Your Improved Process

  Design a wireframe prototype

Design a wireframe prototype to meet the needs of the personas and requirements.

  Explain the characteristics of visual studio 2005

Explain the characteristics of Visual Studio 2005.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd