system design
-
I need to design a web-facing concert ticket reservation system. I would like to know the main objects required for the design and their major methods. Please specify any non-obvious data structures or algorithms used. Thanks.
Do you have any requirements for this project? The requirements will really drive your design. Not every ticket reservation system in the world works the same, and they all likely have very different designs. Whoever is playing the roles of analyst and designer in your project will be able to answer those questions. Michael Hodnick www.kindohm.com blogs.kindohm.com
-
Do you have any requirements for this project? The requirements will really drive your design. Not every ticket reservation system in the world works the same, and they all likely have very different designs. Whoever is playing the roles of analyst and designer in your project will be able to answer those questions. Michael Hodnick www.kindohm.com blogs.kindohm.com
-
Thanks Michael, this is a general system, I need to apply this design as a test. These are the requirements I have. Your help will be appreciated. Thanks.
Sounds like you will be able to define the requirements as you please then... I personally have never designed or developed a concert ticket reservation system. I'd start by putting together requirements based on this information:
- What is the audience? Would the system be used by the general public or by ticket reservation staff?
- What technology limitations are there? Can any development platform be used (e.g. Windows, Linux, .Net, Java), or are options limited?
- How will the system handle venues/concert locations?
- What types of seating arrangements will venues have (e.g. general admission, reserved, sections, etc)
- How would reservation transactions work? Would special business rules need to be established (probably)? For example, what happens when two users try to reserve the same seats at a concert? Would the system need to prevent that?
- Will the system include a way to pay for tickets? How will the payment transaction be handled?
- Will the system need to restrict access to certain features or information to certain users?
- How will new events and venues be entered into the system?
- How will ticket prices be established and/or entered?
- Will the system need to be extensible? Will other developers need to use a system API to add custom features later?
- This is just the tip of the iceberg... there are many more questions to ask and answer
The design really depends on the answers to those questions. For a start, create objects and methods that are used to meet requirements. Then, refactor as you go and re-use objects and methods for other requirements. e.g. you may have a Venue class that is used to create, update, or delete venues, but also used to read venue information for a ticket reservation transaction. Michael Hodnick www.kindohm.com blogs.kindohm.com