Create a bankaccount class with private attributes

Assignment Help Software Engineering
Reference no: EM134037496

Assessment:

Practical A - Programming Basics and Conditional Execution

This practical assesses Sessions 1 to 3: programming-language basics; data types, variables, operators and expressions; and conditional execution.

Question 1 - Travel Cost Calculator
Write a program that asks for the trip distance in kilometres, the vehicle's fuel consumption in litres per 100 kilometres, the fuel price per litre, and the number of passengers.

Calculate and display the litres of fuel required, the total fuel cost, and the cost per passenger. Display monetary values to two decimal places.

Reject zero or negative values and display a clear validation message rather than performing the calculation.

Question 2 - Student Result and Eligibility Classifier
Ask the user to enter a final mark from 0 to 100 and an attendance percentage from 0 to 100.

If either value is outside the permitted range, display an error message. If attendance is below 80%, display 'Not eligible to pass'. Otherwise, use an if-elif-else structure to classify the result as High Distinction (80-100), Distinction (70-79), Credit (60-69), Pass (50-59), or Fail (0-49).

Question 3 - Menu-Based Unit Converter
Use Python's match-case construct to provide the following menu: 1 - kilometres to miles; 2 - miles to kilometres; 3 - Celsius to Fahrenheit.
Ask for the required value, perform the selected conversion and display the result to two decimal places. Handle an invalid menu choice appropriately.
Test Practical A with at least one normal case and one invalid-input case for each question.

Practical B - Loops, Arrays, Modular Programming and Strings

This practical assesses Sessions 4 to 7: loop constructs, one-dimensional and multidimensional arrays, modular programming, methods and string processing.

Question 1 - Student Marks Analyser
Ask the user how many marks will be entered, then use a loop to read and store valid marks from 0 to 100 in a list.
Create separate functions to calculate the average, highest mark, lowest mark, number of passes and number of fails. Display all results clearly.
The program must reject an invalid list size and must repeatedly request a mark when a value outside 0 to 100 is entered.

Question 2 - String Analysis Toolkit
Write a function named analyse_text(text) that returns the number of words, vowels, digits and alphabetic characters in a sentence.
Write a second function that determines whether the text is a palindrome after spaces and letter case have been ignored. Test the functions with two different strings.

Question 3 - Inventory Search and Update
Store at least five products in a two-dimensional list. Each product must contain a product code, product name, unit price and quantity.
Create functions to display all products, search by product code, and update the quantity. Use a loop-driven menu that continues until the user chooses to exit.
The program must handle an unknown product code, a negative quantity and an invalid menu option without crashing.
Test Practical B with representative normal, boundary and invalid-input cases.

Practical C - Object-Oriented Programming

This practical assesses Sessions 8 to 10: classes and objects, encapsulation, inheritance and polymorphism.

Question 1 - BankAccount Class and Encapsulation
Create a BankAccount class with private attributes for account_number, holder_name and balance. Provide a parameterised constructor and controlled access to the data.

Implement deposit(amount), withdraw(amount) and display_account() methods. A deposit must be positive and a withdrawal must not make the balance negative.
Create two BankAccount objects and demonstrate valid and invalid deposit and withdrawal operations.

Question 2 - Library Item Inheritance
Create a base class LibraryItem with item_id, title and availability status. Create Book and DVD subclasses with at least one additional attribute each.
Use inheritance for common attributes and behaviours. Create and display at least two objects from each subclass.

Question 3 - Vehicle Hire Polymorphism
Create a base class Vehicle with registration_number and a method calculate_hire_cost(days). Create Car, Motorcycle and Truck subclasses.
Override calculate_hire_cost(days) using daily rates of $60 for a car, $35 for a motorcycle and $100 for a truck.
Store mixed subclass objects in one list and use a loop to call the same method for every object. This must demonstrate polymorphism.
Validate that the number of hire days is a positive integer and show the calculated cost for each vehicle.
Test Practical C with normal and invalid cases and include output evidence for encapsulation, inheritance and polymorphic behaviour.

Assessment Item 2:

Introduction
Peak Performance is a fitness club that requires a Python console system to manage members, facility access and personal-training bookings. This individual assessment is due in Session 9 and therefore focuses on topics taught through inheritance. Polymorphism is not required for this assessment.

Scenario Requirements
Member management - add, search and display members using member ID, name, age and membership type.
Facility access - Standard members may access the gym and pool; Premium members may access the gym, pool and sauna.
Booking management - add and cancel personal-training bookings. A Standard member may have no more than two active bookings and a Premium member no more than five.
Reports - display all active members, each member's permitted facilities, and the number of active bookings.

Required Design and Implementation
Analyse the users, inputs, outputs, business rules, validation requirements and error conditions. Produce a functional specification containing a use-case list, pseudocode or flowcharts, and a test plan.

Implement a base Member class and StandardMember and PremiumMember subclasses. Use encapsulation for member_id and active bookings, and place common attributes and methods in the base class.

Develop a menu-driven Object Oriented Programming Python prototype using loops, lists, functions, string processing and the required classes. The program must handle duplicate IDs, unknown members, invalid menu choices and booking-limit violations.

Deliverables
Submit one Microsoft Word document containing the official cover sheet, table of contents, problem analysis, functional specification, UML class diagram, editable Python code, test table, output screenshots and a short conclusion.

Assessment Item 3:

Title: Hotel Booking Management System - Console-Based Python Application

Project Overview

In groups of up to four students, design and implement a console-based Python application that manages the operations of a small hotel.

The system must manage guests, rooms, bookings, check-in, check-out, fee calculation, payments and operational reports. It must demonstrate programming fundamentals and Object Oriented Programming principles.

Project Objectives

Analyse the problem and translate the requirements into a clear functional specification.

Design classes using encapsulation, inheritance and polymorphism.

Develop a menu-driven console program using decisions, loops, functions, strings and appropriate data structures.

Validate all user input and handle errors without terminating the program unexpectedly.

Save and load hotel data using JSON or TXT files.

Mandatory Functional Requirements

Main Menu

The program must display a menu continuously until the user chooses to exit. At minimum, include:

Register Guest
Add Room
Create Booking
Check In Guest
Check Out and Pay
View Room Status
Search Booking
Reports
Save Data
Load Data
Exit

All menu choices must be validated. Invalid choices must not crash the program.

Guest Management

Register each guest using a unique guest ID, full name, phone number and email address.

Duplicate guest IDs are not allowed. Blank names and invalid contact details must be rejected with clear messages.

Allow users to search for and display a guest's details using the guest ID.

Room Management

The system must manage a fixed collection of hotel rooms configured when the program starts.

Each room must have a room number, room type, nightly rate and status such as Available, Reserved or Occupied.

Supported room types must include Standard Room, Deluxe Room and Suite. A room cannot be booked or occupied if it is unavailable.

Booking Management

Create a booking using a unique booking ID, guest ID, room number, check-in date and number of nights.

The program must verify that the guest exists and the selected room is available before creating the booking.

Prevent duplicate booking IDs and overlapping bookings for the same room.

Allow a booking to be cancelled before check-in and make the room available again.

Check-In and Check-Out

A guest may check in only when a valid booking exists. The room status must change to Occupied.

At check-out, calculate the number of nights, accommodation charge, optional service charges and total amount payable.

After payment, mark the booking as Completed and return the room status to Available. A completed or cancelled booking must not be checked in again.

Fee Calculation and Polymorphism

Use the following example nightly rates, or another lecturer-approved rate table:
Standard Room: $120 per night
Deluxe Room: $180 per night
Suite: $260 per night

Use polymorphism so each room type calculates its accommodation charge through an overridden calculate_cost(nights) method or an equivalent approved method.

The number of nights must be a positive integer. Clearly document how any additional service charges are calculated.

Reports and Analytics

Generate at least the following console reports:
Current Guests Report - guest, room, check-in date and booking status
Room Availability Report - available, reserved and occupied rooms
Revenue Summary - total completed payments
Booking Summary - active, completed and cancelled bookings
Room Type Statistics - booking counts by room type Reports must be clearly formatted and easy to read.

Data Persistence

Save and load data using JSON or TXT files. The saved data must include guests, rooms, bookings and completed payment records.

The program must handle a missing or empty data file gracefully and continue running.

Databases are not allowed.

Object-Oriented Programming Requirements

Implement at least the following classes:
Guest
Room (base class)
StandardRoom, DeluxeRoom and Suite (subclasses)
Booking
HotelSystem (controller or manager class)

Use private or protected attributes where appropriate and provide controlled access through methods.

Place common room attributes and behaviours in the Room base class. Demonstrate inheritance through the three room subclasses.

Demonstrate polymorphism through the overridden fee-calculation method.

Non-Functional Requirements

The program must run without unhandled runtime errors.

Code must be modular and use functions and class methods rather than one long script.

Input validation must be applied consistently throughout the menu system.

Console output must be clearly labelled and professionally presented.

Use meaningful variable, function, method and class names and appropriate comments.

Required Deliverables

Submit one Microsoft Word project report containing the official cover sheet, table of contents, executive summary and team contribution statement.

Include problem analysis, functional and non-functional requirements, use cases, pseudocode or flowcharts and a UML class diagram.

Explain how the project uses decisions, loops, data structures, functions, encapsulation, inheritance and polymorphism.

Paste the complete Python source code as editable text in a code appendix using a monospaced font. Include a README explaining how to run the console application and where its data files are stored.

Include screenshots showing the main menu, guest and room creation, booking, check-in, check-out, reports and error handling.

Include a test table containing normal, boundary and invalid cases with expected results, actual results and evidence.

Required invalid cases include duplicate guest ID, duplicate booking ID, unavailable room, unknown guest, invalid number of nights and missing data file.

Submit the complete runnable Python project folder and data files in the format specified on the LMS. PDF submissions are not accepted.

Presentation Recording

Record a 10 to 15 minute project presentation and console demonstration. Every group member must appear, speak and demonstrate their assigned work.

Store the recording on OneDrive and place a working share link on the project cover sheet. The recording supports Assessment Item 4 and does not replace the scheduled live presentation and viva-voce.

Assessment Item 4

Assessment Item 4 is a scheduled live demonstration, presentation and viva-voce based on the Hotel Booking Management System submitted for Assessment Item 3.

This is a hurdle assessment. Students must achieve at least 40% in this item to pass the unit.

Presentation and Demonstration Requirements

Deliver a 10 to 15 minute presentation using Microsoft PowerPoint, followed by the lecturer's questions and individual viva-voce.

Include a title slide with all names and student IDs, identify the speaker on relevant slides, and present the project objectives, scope and completed outcomes.

Present the functional and non-functional requirements, algorithms, UML class design, console-menu structure, implementation plan and project timeline.

Demonstrate the live console application, including guest registration, room management, booking, check-in, check-out and fee calculation, search, reports, save and load operations.

Explain and defend the use of Python fundamentals, data structures, functions, encapsulation, inheritance, polymorphism and file handling.

Demonstrate at least one normal case and one invalid or boundary case.

Every member must speak, demonstrate their assigned contribution and answer individual questions about the submitted design and code.

A student who does not participate in the scheduled presentation and viva-voce will receive zero for individual participation and may fail the hurdle requirement.

Bring a complete backup copy of the project, data files and presentation on a separate device or approved cloud location.

The OneDrive recording link submitted with Assessment Item 3 must remain accessible.

Assessment Basis

Marks reflect the quality of the group demonstration and each student's individual technical understanding. Individual marks may differ within the same group.

Students must be able to locate, explain and modify relevant sections of their code when requested.

Questions may cover any requirement, class, method, algorithm, validation rule, test result or file-handling decision included in the submitted project.

Reference no: EM134037496

Questions Cloud

What is contraindication to the rotavirus vaccine : A nurse is preparing to administer a rotavirus (RV) vaccine. What is a contraindication to the rotavirus vaccine?
Pathophysiology of hypothyroidism : Provide a detailed description of the underlying pathophysiology of hypothyroidism.
Occluded during the procedure to provide contraception : You are educating the patient on the procedure. What part of the scrotal anatomy will be occluded during the procedure to provide contraception?
Client was admitted with pneumonia of the left lung : A client was admitted with pneumonia of the left lung. What is the priority action by the student nurse?
Create a bankaccount class with private attributes : ITAP1001 Software Development Fundamentals - Write a program that asks for the trip distance in kilometres, the vehicle's fuel consumption in litres
Man presents to clinic for evaluation of scrotal pain : A 74-year-old man presents to the clinic for evaluation of scrotal pain. The pain is noted with standing but seems to dissipate with sitting or lying flat.
What are the above things potential signs or symptoms of : you have been having difficulty sleeping you have been having more headaches than usual. What are the above things potential signs or symptoms of?
Medicare billing process : As Janice observes all the steps in her Medicare billing process, she notes that she has only one staff member who is doing coding reviews
Practice to physician colleague or state legislator : How would you describe the NONPF competency of Independent Practice to a physician colleague or a state legislator

Reviews

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