Introduction:-
2)
Creation of Use-Case Diagram
3)
Create Class Diagrams
4)
Coding the System
5)
Future Scopes
Requirement Gathering:-
- The system would list current movies or shows.
- The system allows user to search for shows.
- The system would be listing different show timing for a movie.
- The system would allow the registered user to book a ticket as well as can see but an unregistered user can only see and browse movies.
- The system would allow the theatres to add and edit shows.
- Every Theatre has some capacity.
- Every Theatre has single screen.
- Registered User can book tickets but unregistered user cannot book.
- Registered User can have the history of their bookings.
- Initially Movies are in two languages that is English and Hindi.
- Movies can have four genres: Action, Romance, Comedy and Horror.
- Initially let us keep it simple for now and excluding the Payment Gateway.
USE CASE DIAGRAMS:-
· Identification of Actors(External Agents who would interact with our system)
· Identification of Use-Cases
· Adding Associations
· Identification of Inclusive Use-Cases
· Identification of External Use-Cases
· Identification of Inheritances.
From the requirement analysis phase we have identified that we have two main or primary actors. Those are User and Theatre. So here is the basic use case diagram of our system.
This is the use-case diagram of our online Movie Ticket Booking System. I have considered BookMyShow as the system and user and theatre as the primary actors. Then we are denoting the use cases in our system. Register, login, Search movie, Book Ticket, Add Show, Update Show are the use cases shown in ovals. The straight lines from actors to use cases are known as Association (relations between the both). Then from Book a ticket we can identify an inclusive use-case known as Select Show(Payments can be another use case but we are not considering payment gateway here). Next step would be creating the Class Diagram of this system which would help us in better understanding and help in coding the system.
CLASS DIAGRAM:-
Below is the
class diagram of the Online Movie Ticket Booking System.
· We have the Movie class with its respective Enums that are Genres and Languages (Genres and languages values would be constant throughout). They are in Aggregation with the Movie classes.
CODING THE SYSTEM:-
CONCLUSION:-
Coming to
the very end of the interview you can be asked questions like:-
- What would be further improvements that can be made?
- What changes do we need to make to support Multi-screen theaters?
- How will you handle concurrent seat selection in the app?
- Suppose we want our app to support movies in 5 languages English, Hindi, Tamil, Gujarati, and Bengali. How do we achieve it in our current model?
- How can we support location based search of theaters in our app?
Do some
research about this questions and try to find out those answers. Until then
stay tune to this series that I started to learn about more Low Level Design
Interview Problems. If you are looking for a course on LLD then you can head
over to GeeksforGeeks and buy their LLD course. Thanks again and see you soon.
Comments
Post a Comment