The Bob White Karate Studio has been a local fixture for almost 40 years

The Bob White Karate Studio has been a local fixture for almost 40 years. The studio offers training in American Kenpo Karate to students from 3 years old to 80 years old. Students select one of several programs:

monthly payments
semi-annual payments
the black belt program
Each of these programs allows them to take group classes as well as one or more private lessons with a qualified black belt instructor, depending on the program selected. For example, the monthly program includes one private lesson, the semi-annual program includes three private lessons, and the black belt program includes one lesson per week until the student attains black belt rank. Additionally, students may purchase additional private lessons, as well as uniforms, sparring gear, and various studio insignia and clothing items.

The additional half-hour private lessons are priced as packages, which include 5, 10, 20, 40, or 60 lessons, and the price also varies depending on whether the lessons are provided by senior or junior instructors. When students purchase a package, they are assigned to a particular instructor for the duration of the package. Students typically pay for anything they buy at the time of their purchase, but established students are sometimes allowed to purchase on credit. In that case, they generally must pay within 2 weeks. While all studio employees are also instructors, only a few employees handle sales transactions and accept payments.

a. Draw a BPMN activity diagram that describes the Bob White Karate Studio’s sales and collection process.

b. Prepare a UML class diagram with classes, associations, and multiplicities.

c. Using the preceding information and the following attributes list, prepare a listing of the relational tables necessary to support this sales and collection process. List the tables in the following order: resources, events, agents, type images, and linking tables.

The Correct Answer and Explanation is:


a. BPMN Activity Diagram (Text Description)

Start
│
├──> [Customer selects program or product]
│         ├── Monthly / Semi-Annual / Black Belt program
│         └── Additional private lessons / uniforms / gear
│
├──> [Sales staff enters sale into system]
│         └── Determine if customer pays now or on credit
│
├──> [If pay now] ──> [Accept payment] ──> [Issue receipt]
│
├──> [If credit] ──> [Record as A/R] ──> [Monitor due date (2 weeks)]
│                          └──> [Follow up if unpaid]
│
└──> [Assign instructor if private lesson package]
          └──> [Schedule lessons]
                  └──> End

b. UML Class Diagram (Text Representation)

[Student] ──<enrolls in>── [Program]
   │                             │
   └──<makes>── [SalesTransaction] ──<includes>── [Item]
                                           │
                                           └── [Product] (uniforms, lessons, etc.)

[Instructor] ──<teaches>── [PrivateLessonPackage]
   │                             │
   └──<assigned to>── [Student]

[Employee] ──<processes>── [SalesTransaction]

Multiplicities:

  • Student —enrolls in—> Program (1..*)
  • SalesTransaction —includes—> Item (1..*)
  • SalesTransaction —made by—> Student (1)
  • SalesTransaction —processed by—> Employee (1)
  • Instructor —assigned to—> LessonPackage (1)
  • Product —is part of—> Item (1)

c. Relational Tables

Resources

  • Product (ProductID, Name, Type, Price, InstructorLevel)
  • PrivateLessonPackage (PackageID, NumLessons, InstructorLevel, Price)

Events

  • SalesTransaction (TransactionID, StudentID, EmployeeID, Date, TotalAmount, PaymentStatus)
  • LessonAssignment (AssignmentID, PackageID, InstructorID, StudentID, StartDate)

Agents

  • Student (StudentID, Name, DOB, ContactInfo)
  • Employee (EmployeeID, Name, Role)
  • Instructor (InstructorID, Name, Rank, IsSenior)

Type Images

  • ProgramType (ProgramID, Name, MonthlyFee, IncludedLessons)
  • ProductType (TypeID, Description)

Linking Tables

  • SalesItem (TransactionID, ProductID, Quantity, Price)
  • StudentProgram (StudentID, ProgramID, StartDate, EndDate)
  • PackageInstructor (PackageID, InstructorID)

Explanation

The Bob White Karate Studio’s sales and collection process is modeled using three different modeling tools: BPMN, UML class diagram, and a relational schema.

The BPMN activity diagram outlines the studio’s workflow from customer selection of programs/products to payment and fulfillment. Students choose programs (monthly, semi-annual, or black belt) and may purchase additional items. Depending on whether payment is made upfront or on credit, the process branches into payment receipt or accounts receivable follow-up. If a lesson package is involved, an instructor is assigned and the schedule is arranged.

The UML class diagram defines the system’s entities and relationships. The key entities are Student, Program, SalesTransaction, Product, and Instructor. A Student can enroll in multiple Programs, and each transaction can include various Products such as uniforms, lesson packages, or gear. The Instructor is linked to students through PrivateLessonPackage, and employees (who are also instructors) handle transactions.

The relational tables are categorized using REA (Resource, Event, Agent) modeling. Product and PrivateLessonPackage are resources. SalesTransaction and LessonAssignment are economic events that impact resources. Student, Employee, and Instructor are agents performing or receiving actions. Type images like ProgramType allow for standardized definition of offerings. Linking tables such as SalesItem, StudentProgram, and PackageInstructor ensure many-to-many relationships are maintained.

This structure supports efficient recording of all sales, instructor assignments, and payment collection, offering scalability for different program levels and flexible payment tracking.

Scroll to Top