Campus Bikes sells several brands of new bikes, including everything from high-end racing models to beach cruisers. In addition to sales of new bikes and accessories, Mark's service department is always busy. The staff includes Mark himself, a bookkeeper, two part-time sales reps, a full-time mechanic, and several part-time service helpers who assemble bikes. Before opening the shop three years ago, Mark worked for many years in his father's auto dealership, Turner Motors, and he learned all about the automobile business. In the bike shop, he runs a similar operation, but on a much smaller scale. For example, sales orders are recorded on pre-printed forms, and service requests are written up just as they would be in an auto service department. Mark's customers find him fair and reasonable. He likes to say that the main difference between his business and a big-box retailer is that he knows his customers and will do whatever it takes to keep them happy. You work at the college as a lab assistant in the computer information department. You earned a computer science degree at a two-year school, and you recently decided to work toward your four-degree. The computer lab manager, Jill, often suggests that local businesses contact you for help in troubleshooting IT issues. This morning, you received a call from Mark, who wants to hire you as a consultant to help plan a system for Campus Bikes. You learned that Jill had referred him, and you are excited to have this opportunity. It probably didn't hurt that both you and Jill had bought bikes from Mark, and already knew him. After spending several weekends talking with Mark and the staff, you are ready to start. You decide to use an object-oriented approach that will be easy to understand.
1. List possible objects in the new bike shop system, including their attributes and methods.
2. Identify at least three possible use cases and actors.
3. Create a use case diagram that shows how service requests are handled.
4. Create a state transition diagram that describes typical customer states and how they change based on specific actions and events.