Submit a programming assignment on Design and Implementation of real-world Internet Applications.
- Subject Code :
- University :
- Country :
(The submission portal on ilearn will close at 14:00 UK time on the date of submission)
Arden University © reserves all rights of copyright and all other intellectual property rights in the learning materials and this publication. No part of any of the learning materials or this publication may be reproduced, shared (including in private social media groups), stored in a retrieval system or transmitted in any form or means, including without limitation electronic, mechanical, photocopying, recording or otherwise, without the prior written consent of Arden University. To find out more about the use and distribution of programme materials please see the Arden Student Terms and Conditions.
As part of the formal assessment for the programme you are required to submit a Programming assignment. Please refer to your Student Handbook for full details of the programme assessment scheme and general information on preparing and submitting assignments.
Assignment Task Introduction
This assignment is aimed at allowing you to demonstrate a holistic set of skills in object- oriented programming and systems engineering as required for the design and implementation of real-world Internet applications. This includes the adoption of UML- based systems design concepts and Java-based coding techniques ensuring professional software development. You are required to complete a portfolio of tasks related to a specific case study described below. These tasks constitute a comprehensive design of an electronic system to support the core system’s functionality. Consider yourself a senior software engineer delivering this assignment as a stand-alone project for your organisation.
A hotel wants to introduce an online booking system service for its guests. To make their offer is as widely available as possible, they need to implement booking solution allowing customers to browse the availability of the rooms, view pictures of the facilities and other amenities such as parking and place orders online. The hotel also provides discounts to members (frequent guests) and regularly emails members about special offers including discounts.
The solution needs to support the following functionality.
- On the admin side:
- Arranging offline system into room categories such Double, Executive, etc. ensuring rooms under modifications/unusable are removed from the booking
- Uploading pictures of the rooms and other facilities on offer.
- Creating reports on the room bookings for management.
- On the customer side:
- Browsing the hotel system with rooms available for
- Making a selection and booking of rooms
- Entering their information as a member or non-member
- Entering payment details and placing the order
- Leaving customer
Answer the following questions:
a. Draw a UML Class diagram to capture the classes/objects, class hierarchy and relationships between the classes for the system described in the case- study. Make sure to specify multiplicities for all associations shown in your diagrams.
b. Sketch a UML sequence and activity diagram for the scenario where the customer enters the payment details and places their order (book room(s) for stay).
Implement the class diagram you have created for the case-study in Java. Add appropriate methods to set and get the instance variables in the classes.
a. Using the class and object diagram created in response to task 1a, select an appropriate class as the base class. Write the Java code for this base class and up to three derived classes and implement this hierarchy in Java.
b. For this assignment consider the database to be text files. In these text files, include dummy data showing the availability of rooms and prices for each per day. Demonstrate one example of the functionality on the customer side of the system (selecting a room(s) and number of days) and passing them to the class where the price is calculated. Implement this interaction in Java.
c. Select the price calculation functionality as an abstract method defined in an abstract class/interface. Demonstrate how the full functionality of this abstract method can be implemented in
Write a program that asks the user to enter a minimum of twenty-five positive integers greater than zero and less than 1000. The program should stop asking the user for input when they enter a zero or a negative number. The program then prints out:
- The number of positive integers whose value is less than 10
- The number of positive integers whose value is equal to or greater than 10 but less than 100
- The number of positive integers whose value is equal to or greater than 100 but less than 1000
The program should cater for a wrong input: if the user enters a wrong input (a value which is not an integer) the program should notify the user that invalid input has been entered and ask the user to enter positive integers again.