ITAP1001
Software Development Fundamentals
Assignment 2
February 2022
ITAP1001 Software Development Fundamentals
Copyright © 2022 VIT, All Rights Reserved.
The purpose of this assignment is to assess students on the following Learning
Outcomes:
LO1: Use problem solving techniques and program design methods to translate a
problem description to a formal program specification.
LO2: Differentiate various object-oriented programming constructs, including classes,
inheritance, polymorphism, and encapsulation.
LO3: Evaluate user requirements and develop functional specifications to develop
software using programmatic algorithms and a priorate data structures.
LO4: Create a range of desktop applications, including Windows forms applications and
console-based applications.
__________________________________________________________________________________
Assignment Description
Write a C# code that creates objects and classes with their member functions for Vistaflyer,
an Australian airlines loyalty program. You are asked to write an inheritance hierarchy
discount system that benefits Vistaflyer members program to calculate their profit. A brief
about Vistaflyer is that it is useful for those who fly on Australian Airlines (its
partners like Virgin Singapore and Air New Zealand) frequently. Vistaflyer miles can be earned
through credit cards, flying and bonus miles promotions. The miles can be redeemed for
award
flights in all categories. It has three types of memberships namely Basic, Elite Silver and Elite
Gold. When registered for the first time, all the customers get instant access to the basic
membership level of Vistaflyer.
In 2020, Australia airlines offers a flat 10%, 20% and 30% discount to its Basic, Elite silver and
Elite Gold members respectively for all services provided. Customers without membership
receive no discounts.
The students must implement basic OOPs concepts such as Inheritance, Polymorphism and
Encapsulation. You can make your own assumptions, not necessarily the same values which
are provided above.
Weightage: 25%
Project Submission deadline: Session 12
Individual Assignment
ITAP1001 Software Development Fundamentals
Copyright © 2022 VIT, All Rights Reserved.
Inheritance:
Base class: Create an inheritance hierarchy to represent various types of memberships. Use
Vistaflyer as the base class of the hierarchy, then include derived classes Basic, Elite Silver and
Elite Gold that derives from Vistaflyer. Base class Vistaflyer should have data members
representing name, membership, flight, price for flight, number of passengers for the
members.
The constructor should initialize these data members. Ensure that flight price and number of
passengers contain positive values. Vistaflyer should include a public member function
calculateCost() that returns a double indicating the cost by multiplying the price for flight by
the
number of passengers.
Derived class: Basic, Elite Silver and Elite Gold should inherit the functionality of base
class Vistaflyer, but also include a data member that represents a discount that the reward
program has offered recently. All the derived class’s constructor should receive a value to
initialize this data member. In 2020, Australia Airlines offers a flat 10%, 20% and 30% discount
to its Basic, Elite Silver and Elite gold members respectively for all services provided. All the
derived members should redefine calculateCost() so that it applies the discount to the booked
flights. It shall compute the total bill if a customer purchases y tickets for a price of $x for each
flight for their visit using Vistaflyer.
Your system shall consist of four classes:
Base class, Derived class (including Basic, Elite Silver and Elite Golden)
Polymorphism:
Implement a method display () that displays all the records of the system. Another form of
the method display (string cust_name) that displays records related to the customer’s name
passed in the argument.
Encapsulation:
Define the instance variables private/public so that they cannot/can be accessed from outside
the class. Implement getter and setter method for the variables in the program.
Write a program that implements basic object-oriented concepts including encapsulation,
polymorphism, and inheritance. Also, the program is expected to get the basic input from the
user based on Console.
ITAP1001 Software Development Fundamentals
Copyright © 2022 VIT, All Rights Reserved.
You need to do the following tasks:
1. Write the C# classes with suggested data members and functions.
2. Write the base and derived classes for implementing inheritance in the program.
3. Implement polymorphism and encapsulation to check for accessibility of data
members and different form of the data member.
4. Write the main logic that takes input from the user members with their bookings.
5. Write the code to display the output.
6. Advanced topic: Create a windows form, by considering the same scenario, where you
need to create a layout which will describe the Welcome Page with some submit
buttons and few different controls. You are free to use any basic controls from the
toolbox to design this layout.
Code related guidelines: Your C# console-based application should include the following:
1. The code should have a consistent, professional, and well-organized appearance.
2. Code should compile without errors.
3. Choose meaningful identifiers names.
4. The developed system takes inputs and handles the error in friendly manner.
5. Your code must adhere to OOPS concepts with implementation guidelines including
modularity, reusability, extensibility, maintainability, and adaptability.
________________________________________________________________________________
Marking Guide: 25 Marks
Task | Description | Marks |
Defining C# classes |
Well defined classes along with the data members and functions. | 5 |
Defining Base and Derived classes |
Well defined base and derived classes for implementation of inheritance. |
5 |
Main output | Well written executable code that takes input from the user members with their bookings. |
10 |
Windows form | Created layout using windows form with some controls | 5 |
AssignmentTutorOnline
- Assignment status: Already Solved By Our Experts
- (USA, AUS, UK & CA PhD. Writers)
- CLICK HERE TO GET A PROFESSIONAL WRITER TO WORK ON THIS PAPER AND OTHER SIMILAR PAPERS, GET A NON PLAGIARIZED PAPER FROM OUR EXPERTS
