Website development for marina intergrated with visual studio using C sharp formatting

profilemary2020
PartIandIICaseStudy.pdf

Workbook SGA1786 Object-oriented Website Development 1

© Study Group Australia Pty Limited, SGA1786-L6/01/16-V2 282

Assessment Task Case Study

Scenario or background information

Popeye Marina is a privately owned corporation that rents boat slips and

provides boat services on Olive Oyl Lakes, a large inland lake located in the

Brutus area. Popeye is the largest of the three marinas on the lake. The

other two are Olive Oyl Marina and Brutus Shed. The three marinas

accommodate approximately 600 boats in slips: 450 sailboats and 150

powerboats. Popeye’s boat population is around 350 sailboats and 75

powerboats, although it plans to expand these capacities.

Popeye Marina would like to have an automated system to track their

customers, the slips they lease, and the boats in the slips. Initially, the

system will simply maintain basic information for customers, slips and boats,

and perform day-to-day business tasks. These tasks include creating a lease,

computing the lease amount for a slip, and assigning a boat to a slip. The

marina wants to use the system to search for information, such as vacant

slips and slips leased to a specific customer.

Popeye eventually wants to enhance the system so they can add boat service

records, which will help them track tasks such as hauling a boat, painting the

bottom of a boat, or working on the engine of a boat. Later, they want to add

billing features to the system. They want to be able to use the system to

generate bills for both slip leases and boat services, record payments, send

late notices, and produce accounts receivable and other accounting reports.

For now, it will help to include information on customers, slips and boats.

Six months ago, Popeye contracted the development of their proposed

system to a web design firm but they went bankrupt. The only phase

completed was the design phase and fortunately, Popeye managed to obtain

copies of the preliminary design documents (i.e. class diagrams, use cases

etc.) before they went bankrupt. They have now contracted your firm to

continue the development phase of the project.

Workbook SGA1786 Object-oriented Website Development 1

© Study Group Australia Pty Limited, SGA1786-L6/01/16-V2 283

Popeye Marina Project Use Case Diagram

Maintain Dock

and Slip

Information

Marina

Manager

Process

Queries

Add New

Customer

Maintain

Customer

Information

Add New Boat

Maintain Boat

Information

Renew Slip

Lease

Lease

Slip

Transfer

Lease

Process

Reports

Workbook SGA1786 Object-oriented Website Development 1

© Study Group Australia Pty Limited, SGA1786-L6/01/16-V2 284

A dock contains slips

Dock

Slip 1 Slip 4

Slip 2

Slip 3

Slip 5

Slip 6

The entire floating

structure is a dock

Each space for a boat is

a slip

Workbook SGA1786 Object-oriented Website Development 1

© Study Group Australia Pty Limited, SGA1786-L6/01/16-V2 285

Popeye Marina Project Class Diagram

Customer

name

address

phone No

Boat

stateRegoNo

boatLength

manufacturer

year

AssignBoatToSlip()

RemoveBoatFromSlip()

Sailboat

keepDepth

numberSails

motorType

Powerboat

numberEngines

fuelType

1 0…1

0…1

0…1

Workbook SGA1786 Object-oriented Website Development 1

© Study Group Australia Pty Limited, SGA1786-L6/01/16-V2 286

Lease

amount

startDate

endDate

CalculateFee()

AnnualLease

payMonthly

balanceDue

CalculateFee()

DailyLease

numberOfDays

CalculateFee()

Workbook SGA1786 Object-oriented Website Development 1

© Study Group Australia Pty Limited, SGA1786-L6/01/16-V2 287

1

Slip

LeaseSlip()

slipID

width

slipLength

0…1

CoveredSlip

height

door

Dock

AddNewSlipToDock()

dockID

location

electricity

water

1…*

0…1

Workbook SGA1786 Object-oriented Website Development 1

© Study Group Australia Pty Limited, SGA1786-L6/01/16-V2 288

Sequence diagram for scenario lease annual slip to existing customer

customerDetails

Marina

Manager

aSlip

LeaseSlip (boat,

startDate, cust)

leaseDetails

aBoat

AssignBoatToSlip()

boatDetails

anAnnualLease aCustomer

<<create>>

endDate & Fee

AssignCustomer()

CalculateFee()