- Briefly summarize the DriverPass project. Who was the client? What type of system did they want you to design?
The DriverPass project focused on designing a system for a client who wanted to help students better prepare for their driving exams. The client, DriverPass, needed an online system that allowed customers to schedule driving lessons, take practice tests, track their progress, and manage payments.
The system we designed was a web-based application that supported multiple user roles, including customers, instructors, and administrators. The goal was to create a structured system that improved organization, accessibility, and efficiency while meeting the specific needs discussed in the client interview transcript.
- What did you do particularly well?
I believe I did well translating the client interview into clear and structured business and functional requirements. I made sure the functional requirements used proper “The system shall” statements and aligned directly with what the client requested.
I also feel confident in my system modeling. My UML diagrams (use case, activity, sequence, and class diagrams) were consistent with my documented requirements and clearly represented how users interact with the system. Maintaining alignment between the Business Requirements Document and the System Design Document was something I focused on throughout the project.
- If you could choose one part of your work on these documents to revise, what would you pick? How would you improve it?
If I were to revise one section, I would improve the nonfunctional requirements. While I addressed areas such as security, performance, and usability, I could strengthen them by making them more measurable and specific.
For example, I could define expected response times, availability percentages, or more detailed security controls. Adding more technical depth to those requirements would make the system design even stronger and more realistic for real-world implementation.
- How did you interpret the user’s needs and implement them into your system design? Why is it so important to consider the user’s needs when designing?
I carefully analyzed the interview transcript to identify the client’s main concerns, such as online scheduling, secure user authentication, role-based access, lesson tracking, and reporting. I then translated those needs into functional requirements and visually modeled them using UML diagrams.
Considering user needs is critical because the system must solve real problems for real users. If the design does not reflect how customers, instructors, and administrators actually interact with the system, it may fail to meet expectations. In CS-255, I learned that strong system analysis ensures the design phase is grounded in user-centered thinking.
- How do you approach designing software? What techniques or strategies would you use in the future to analyze and design a system?
When designing software, I start by clearly defining the problem and identifying stakeholders. I focus on requirement gathering first, ensuring I fully understand business goals before moving into system modeling.
In the future, I will continue using structured requirement analysis, UML modeling, and iterative review techniques. I would also incorporate more stakeholder feedback loops during early design phases. This project reinforced that strong documentation and analysis create a solid foundation for successful system development.