Professional Documents
Culture Documents
10
Submit individual personal reflection report about your work. Apart from your
presentation and viva marks, personal reflection will be considered to measure
the individual performance from both group and individual components. The
personal reflection report should provide a comprehensive discussion of the
system. Students should be able to explain in detail the work that has been
done and needs to fully discuss their roles and efforts in the project. Students
should also highlight development of their own element of product which was
then integrated by the team to compile a finished product.
Demonstrate your application in week 15. All group members must attend the
demonstration. Demonstration schedules will be published at a later date.
Case Study
Fare for an infant depends on whether the infant is in lap or in seat. In case of
travelling with an infant in lap, the airlines will charge between 10-15% of the adult
fare whereas travelling with an infant in seat, the airlines will charge the child fare.
Some airlines have a maximum of 4 travellers per booking. Most of the airlines
restrict that a child aged up to 17 cannot travel alone but some of the airlines offer
unaccompanied minor service for children from 5 to 17 years of age to ensure that
child is boarded onto the aircraft, introduced to the flight attendants, chaperoned
during connections and turned over to the appropriate person upon arrival at his or her
final destination. The service is mandatory for all unaccompanied children and subject
to extra cost. Unaccompanied minor service is not required for children ages 17 and
younger when they are travelling with a parent or with an adult 18 years of age or
older. Two or more children who are travelling together will be assessed a single fee
in each direction. Wheel chair service is also provided by some airlines. General
constraints and rules applicable for flight reservation are being followed including but
not limited to baggage limit. Cancellations and ticket changes may be done with some
additional charges subject to validity of ticket. Regarding ticket changes, if travel has
started then ticket must be reissued and all travel must be completed within one year
of the start date. If travel has not started then ticket must be reissued and travel must
begin within one year of the original date of issue. If a traveller cancels or changes its
itinerary less than four hours before its scheduled flight, it will lose the entire ticket
value.
Flight Reservations
Flight Cancellations & Rescheduling
You are not required to deal with any of the companys other operations and you can
assume there is no need to consider concurrency, legacy or network issues.
Requirements:
1 DESIGN
(a) Develop an ERM to support TSIs activities. The ERM must include an ERD
which shows entities, relationships and should be followed by logical design
& functional modeling. Identify primary and foreign keys, and show
cardinality and optionality. Data must be in 3NF or higher unless it has been
denormalised for performance reasons in which case an explanation must be
given.
Your model should support the business requirements and you will be
expected to use advanced modelling techniques.
(30 marks)
(c) Document all the constraints included in your system and justify and explain
the constraints used and the ways in which they support the business rules.
Provide a functional description of all the triggers. Each group member is
required to design one constraint and trigger.
(10 marks)
2 IMPLEMENTATION
(a) Implement your design and the optimisation strategy. You will be expected to
demonstrate tables, referential integrity, appropriate test data, appropriate
constraints and appropriate optimisation techniques. You will be expected to
justify any mapping or denormalisation issues.
(10 marks)
(b) Implement the triggers and constraints for which you developed functional
descriptions. You must be able to explain and justify the constraints and
triggers during the presentation. Triggers which function but which the group
cannot explain will receive zero marks. Some marks may be awarded for non-
functioning constraints and triggers where the group can identify the issues.
(10 marks)
(c) Each group member is required to create and use ONE PL/SQL or T-SQL
feature (choose from: procedure; or function or user defined type) to support a
business requirement or enhance usability. One good quality example is
sufficient but you must be able to explain why and how you would use this
feature and what benefits it offers compared to other possible implementation
approaches. Features which function but which the group cannot explain will
receive zero marks. Some marks may be awarded for features which do not
function fully but where the group can explain the issues.
(5 marks)
(d) Every group member is required to create, document, and explain test strategy.
(5 marks)
(e) Create the following queries this section is worth 20 marks in total. Groups
must be able to explain the queries and justify the approach taken. Marks will
be reduced where groups cannot explain how they have arrived at their
solutions.
Member 1
i. Create a query which shows direct flights only for given dates, source
& destination.
(2 marks)
ii. Create a query which shows aircraft code, class code, and expected
revenue for each class code, along with the total revenue of each
aircraft for a given airline in a single journey.
(2 marks)
iii. Create a query which shows all passenger numbers with their
corresponding descriptions of reservation status and query should also
show the descriptions of reservation status that have not been assigned
any passenger numbers.
(2 marks)
iv. Create a query which shows the name of airline that has been most
frequently travelled through by the passengers for specified source and
destination in given range of dates.
(2 marks)
Hint: you may wish to use rollup or cube statements with a query.
Some marks will be awarded for the query structure, even if you
cannot generate the totals.
(7 marks)
vi. Create a query which shows the airline name offering maximum
number of journey routes along with names of source and destination.
(2 marks)
vii. Develop one additional query of your own which provides information
that would be useful for the business. Marks will be awarded
depending on the technical skills shown and the relevance of the query.
(3 marks)
Member 2
viii. Create a query which displays flight details, such as, the aircraft code,
regular fare, and discounted fare for the first class. A 25% discount is
being offered. Label the columns as Aircraft, Regular First Class fare,
and Discounted First Class fare.
(2 marks)
ix. Create a query which displays the sorted details of flights to given city
code with the least duration flight displayed first.
(2 marks)
xi. Create a query which shows the names of countries to which TSI
provides flight reservations. Ensure that duplicate country names are
eliminated from the list.
(2 marks)
xii. Create a query which provides, for each airline, the following
information:
Hint: you may wish to use rollup or cube statements with a query.
Some marks will be awarded for the query structure, even if you
cannot generate the totals.
(7 marks)
xiii. Create a query which shows the names of the meal options available on
the given airline.
(2 marks)
xiv. Develop one additional query of your own which provides information
that would be useful for the business. Marks will be awarded
depending on the technical skills shown and the relevance of the query.
(3 marks)
Member 3
xv. Create a query which shows the minimum, maximum, and average
journey hours for flights to given city code. Display column headings
as, Minimum duration, Maximum duration, and Average duration
respectively.
(2 marks)
xvi. Create a query which shows the journey date, number of booked seats,
and class name for given passenger.
(2 marks)
xvii. Create a query which shows the names of meals not requested by any
passenger.
(2 marks)
xviii. Create a query which shows the details of passengers booked through a
specified airline in a given date for multi-city flights.
(2 marks)
xix. Create a query which provides, for each airline, the following
information:
Hint: you may wish to use rollup or cube statements with a query.
Some marks will be awarded for the query structure, even if you
cannot generate the totals.
(7 marks)
xx. Create a query which shows the details of passengers who have availed
any extra services for a given flight on specified date.
(2 marks)
xxi. Develop one additional query of your own which provides information
that would be useful for the business. Marks will be awarded
depending on the technical skills shown and the relevance of the query.
(3 marks)
Marking Scheme
The marks allocated for the various sections (design and implementation)
mentioned above will be factored down to 70% and assigned as group marks.
(Note: Individual contribution from the group effort would be measured from
enclosed Evaluation Form)
Assessment Criteria:
Note: A single table design will receive zero marks for all elements of the
assignment even if there is some functionality.
The following guidelines indicate the standard that will be expected for each grade.
Each demonstration will be assessed individually and weaknesses in some areas
maybe compensated by strengths in other areas.
All members of the group must participate in the demonstration. Group members may
be awarded different marks depending on the quality of the contribution to the
demonstration. Marks will also be adjusted to reflect peer assessment.
Grade A+
An almost professional solution with all issues addressed in full. Excellent design and
implementation and explanations demonstrate a thorough understanding of the
problem and the features used.
Grade A
Demonstrates an excellent understanding of the problem. The ERM model will be
implementable and any errors and/or omissions will be minor. The database will be
implemented to a high standard of functionality and will be appropriately normalised.
Advanced data modelling features will be used and there will be some use of PL/SQL.
Queries will have been attempted and all or most queries will function. Other
elements to a high standard. Documentation will be to a high standard. The group
will be able to discuss their implementation at demonstration and will be able to
explain to describe the way in which they have attempted the project.
Grade B+
Demonstrates a good understanding of the problem. The ERM model will be
implementable and errors and/or omissions will be minor. The database will function
and will be appropriately normalised although with some errors and/or omissions.
Advanced data modelling features will be used. PL/SQL will be used but with some
errors or omissions. Queries will have been attempted and most queries will function.
Other elements attempted and generally satisfactory. Documentation will be
satisfactory. The group will be able to discuss their implementation at demonstration
and will be able to explain to describe the way in which they have attempted the
project.
Grade B
Demonstrates satisfactory understanding of the problem. The ERM model will be
implementable although with some errors and/or omissions. The database will
function and will be appropriately normalised although with some errors and/or
omissions. Queries will have been attempted and the majority of queries will function.
Most other elements attempted although with errors and/or omissions are satisfactory.
Documentation will be adequate. The group will be able to discuss their
implementation at demonstration and will be able to explain to describe the way in
which they have attempted the project.
Grade C+
Demonstrates adequate understanding of the problem. The ERM model will be
implementable although with errors and/or omissions. The database will function
although with some errors and/or omissions. Most data will be in 3NF but there may
be some normalisation issues. Queries will have been attempted and some queries will
function. Most other elements attempted although with errors and/or omissions.
Documentation will be adequate but explanations may be limited.
Grade C
Demonstrates some understanding of the problem. The ERM model will be
implementable although with errors and/or omissions. The database will function
although with some errors and/or omissions. Most data will not be in 3NF and there
may be some normalisation issues. Queries will have been attempted and some
queries will not function. Most other elements attempted although with errors and/or
omissions. Documentation will be lacking in explanations.
Grade D
Demonstrates limited understanding of the problem. The ERM model will not cover
major aspects of the scenario. The database will function but will have major errors
and/or omissions. Queries may not have been attempted or limited queries have been
produced. Other elements may be limited or not satisfactory. Documentation may be
limited or not to a satisfactory standard. Explanations will be limited but sufficient to
demonstrate that the group understands the work that has been submitted.
Grade F (Fail)
Demonstrates poor understanding of the problem. The ERM model will be not be
implementable. The database may have limited functionality with major errors and/or
omissions. Queries may not have been attempted or very limited queries. Other
elements not attempted or not satisfactory. Documentation very limited or not to an
acceptable standard. Explanations will be limited and not sufficient to demonstrate
that the group understands the work that has been submitted.
Zero marks will be awarded for non submission, single table implementation or
insufficient explanations to demonstrate that the group understands the work that has
been submitted.