Description
Overview
Collecting requirements is an essential step in designing a system. It helps you understand your client’s needs and gives you the right foundation for designing a system to meet those needs. Without this essential step, the system you design may not be useful for your client. This results in a waste of time and resources. There are many different ways that you might collect requirements from a client, but the goal is always the same: to understand what the client wants and needs. Then you will be able to design a system that meets those needs. In this assignment, you will begin working with the scenario and some of the documents for Project One. You will read through an interview transcript and begin the process of collecting requirements from the client, DriverPass. This will ensure that you have a good foundation as you work on Projects One and Two.
Prompt
You work for a small consulting company that designs systems for various clients. Your project lead has assigned you to a new client, DriverPass. DriverPass wants to provide students with access to online practice exams and on-the-road training to better prepare them for driving tests. DriverPass wants your help in designing a system that can handle these needs. Your project lead, Jennifer, has recently assigned you to take over as the systems analyst for the DriverPass project. Your project lead (Jennifer) and the former system analyst for your company (Sam) conducted an interview with the boss (Liam) and IT officer (Ian) from DriverPass. Your project lead has given you a copy of the interview transcript. She would like you to review this transcript and then complete a portion of a business requirements document. This document is a way of communicating the client’s needs, and your plan to meet those needs, back to your project lead. It will also support future steps in designing and developing the system.
Carefully read through the DriverPass Interview portion of the transcript. As you read, take notes on what the client needs. Think about the following questions as you read:
What does the client want the system to do?
Who will be the different users of the system?
What will each user need to be able to do?
Next, you will complete the System Components and Design portion of the Business Requirements Document. This is a high-level view of what the client needs from the system. Be sure to reference the interview transcript as you work to make sure you accurately capture your client’s needs. You must complete the following sections:
Purpose: This section should describe what your consulting company hopes to achieve with this project. Who is the client and what do they want their system to be able to do?
System Background: In the interview transcript, DriverPass mentioned a problem that they see in society. What is the problem that they want to fix? DriverPass thinks they have a solution to this problem. What solution do they want to offer?
Tip: This section provides a “big picture” view of the needs. It’s more focused on DriverPass as a company and their vision.
Objectives and Goals: You just described a “big picture” view of the system. Objectives and goals are a more specific breakdown of the things that the system should do. They break down the functionality that the system should have. The objectives should be measurable, which means that you should be able to tell whether you have completed each one.
IMPORTANT: The business requirements document is part of Project One. You are only completing the System Components and Design section for this Module One assignment. The complete business requirements document will be a part of your submission for Project One, due in Module Five.Be sure to use the template linked in the Prompt section. Remember that you only need to complete the System Components and Design portion of the document.
CS 255 Business Requirements Document Template
Complete this template by replacing the bracketed text with the relevant information.
This template lays out all the different sections that you need to complete for Project One. Each section
has guiding questions to prompt your thinking. These questions are meant to guide your initial
responses to each area. You are encouraged to go beyond these questions using what you have learned
in your readings. You will need to continually reference the interview transcript as you work to make
sure that you are addressing your client’s needs. There is no required length for the final document.
Instead, the goal is to complete each section based on your client’s needs.
Tip: You should respond in a bulleted list for each section. This will make your thoughts easier to
reference when you move into the design phase for Project Two. One starter bullet has been provided
for you in each section, but you will need to add more.
System Components and Design
Purpose
What is the purpose of this project? Who is the client and what do they want their system to be able to
do?
• [Insert text]
System Background
What does DriverPass want the system to do? What is the problem they want to fix? What are the
different components needed for this system?
• [Insert text]
Objectives and Goals
What should this system be able to do when it is completed? What measurable tasks need to be included
in the system design to achieve this?
• [Insert text]
Requirements
Nonfunctional Requirements
In this section, you will detail the different nonfunctional requirements for the DriverPass system. You will
need to think about the different things that the system needs to function properly.
Performance Requirements
What environments (web-based, application, etc.) does this system need to run in? How fast should the
system run? How often should the system be updated?
• [Insert text]
1
Platform Constraints
What platforms (Windows, Unix, etc.) should the system run on? Does the back end require any tools,
such as a database, to support this application?
• [Insert text]
Accuracy and Precision
How will you distinguish between different users? Is the input case-sensitive? When should the system
inform the admin of a problem?
• [Insert text]
Adaptability
Can you make changes to the user (add/remove/modify) without changing code? How will the system
adapt to platform updates? What type of access does the IT admin need?
• [Insert text]
Security
What is required for the user to log in? How can you secure the connection or the data exchange
between the client and the server? What should happen to the account if there is a “brute force” hacking
attempt? What happens if the user forgets their password?
• [Insert text]
Functional Requirements
Using the information from the scenario, think about the different functions the system needs to provide.
Each of your bullets should start with “The system shall . . .” For example, one functional requirement
might be, “The system shall validate user credentials when logging in.”
• [Insert text]
User Interface
What are the needs of the interface? Who are the different users for this interface? What will each user
need to be able to do through the interface? How will the user interact with the interface (mobile,
browser, etc.)?
• [Insert text]
Assumptions
What things were not specifically addressed in your design above? What assumptions are you making in
your design about the users or the technology they have?
• [Insert text]
2
Limitations
Any system you build will naturally have limitations. What limitations do you see in your system design?
What limitations do you have as far as resources, time, budget, or technology?
• [Insert text]
Gantt Chart
Please include a screenshot of the GANTT chart that you created with Lucidchart. Be sure to check that it
meets the plan described by the characters in the interview.
[Insert chart]
3
CS 255 DriverPass Interview Transcript
This transcript contains two different sections. The first is from the interview between representatives
from your consulting company, Sam and Jennifer, and representatives from your client, DriverPass. The
second part of the transcript is a conversation between Sam and Jennifer about the schedule for the
DriverPass project.
Take notes as you read and focus on capturing details about what the client, DriverPass, wants from
their system. The following questions may help guide your thinking:
•
•
•
•
What does the client want the system to do?
Who will be the different users of the system? What will each user need to be able to do?
What are the different requirements for the system?
How can you organize the schedule in a meaningful way?
Remember to refer back to your notes and this interview as you complete the work for Projects One and
Two. Check to make sure that your notes and designs capture what the client needs.
DriverPass Interview
You are sitting in a meeting room and discussing a new project with four other people. Two are from
your new client, DriverPass, and two are from your consulting company.
Liam, the owner of DriverPass, is explaining his vision for the new system he wants built. Liam is hoping
to take advantage of a void in the market when it comes to training students for the driving test at their
local department of motor vehicles (DMV). With Liam is his information technology (IT) officer, Ian.
On the other side of the table sits Sam, the former system analyst for your consulting company, and
Jennifer, your project lead.
Sam: Welcome, Liam and Ian. Liam, can you start by telling us a little about DriverPass? What is your
vision for this company?
Liam: I noticed that there is a need for better driver training. So many people fail their driving tests at
the DMV. I’m starting this company to provide this type of training for my customers. I want them to be
able to take online classes and practice tests. My company will also provide them with on-the-road
training if they wish. I need you guys to help me build a system that will handle all of this.
Sam: Sounds great. What do you need from this system?
Liam: I want the system to help me access my data from anywhere, online as well offline.
Sam: OK. One thought. You can’t modify or update the data unless you’re online; otherwise, we might
end up with duplicate data on different servers. This might cause data redundancy.
Liam: Sure, sure—I knew that. That’s what I meant. I want to access data online from any computer or
mobile device. I need to be able to download the reports and some information that I can work on at
home, using Excel, for example.
Jennifer: Absolutely. What about security?
Ian: We have different employees at the company with different rights and roles. For example, for me I
need to have full access over all accounts so I can reset them if someone forgets their password, or if we
let go of someone and I need to be able to block their access.
Sam: What about tracking? Do you wish to know when a user makes a change to a record in the system?
Liam: Absolutely! For tracking, I need to make sure I know who made a reservation, who canceled it,
who modified it last. All this must be clear in case something goes wrong. I want to be able to print an
activity report and figure out who is responsible.
Sam: OK. Can you tell me a little more about these reservations? What are the reservations for?
Liam: Our customers need to be able to make reservations for driving lessons. Each lesson is two hours
long, and the customer should be able to tell us the day and time when they want to take that lesson.
They should be able to make this reservation online using their account. Or they could call or visit our
office to schedule an appointment with our secretary.
We also need to be able to identify the driver the customer is scheduled to go out with, since we have
many drivers and many cars. We have to be able to track which user is matched up with a certain driver,
time, and car.
Jennifer: OK, great. We can include those aspects. We have talked about it a little bit already, but can
you tell us about the different users of your system?
Liam: Sure. You have me, the big boss. You have my IT officer, Ian, who will be responsible for
maintaining the system, modifying it, et cetera. You also have my secretary who answers the phone and
makes appointments. Oh, and I want the user to be able to make appointments, cancel, and modify
appointments online if they wish.
Sam: OK, great. How do the driving appointments work?
Liam: Sure. I have 10 cars. Each car has a driver. The customer can pick one of three packages:
•
•
•
Package One: Six hours in a car with a trainer
Package Two: Eight hours in a car with a trainer and an in-person lesson where we explain the
DMV rules and policies
Package Three: Twelve hours in a car with a trainer, an in-person lesson where we explain the
DMV rules and policies—plus access to our online class with all the content and material. The
online class also includes practice tests.
Each driving session is two hours long. So, for example, in Package One the six hours would be spread
over three separate sessions. In the future, I would like to be able to customize these packages—remove
some of them, add new ones—so the system has to be flexible.
Sam: Well, you will still need a developer or a system analyst to add or remove modules; it can’t be built
in a way that a nondeveloper can do easily. We can talk about adding or removing modules for a future
release, but it does not need to be in the system we build now.
Liam: Sure, sure. But I at least want to be able to disable a package if I don’t want any more customers
to register for it.
Sam: OK. Anything else?
Liam: Yes. The way the registration should happen is that we get a phone call, and then the customer
gives us their information. This information would include their first name, last name, address, phone
number, state, and their credit card number, expiration date, and security code.
It should also include the pickup location from where the customer wants to be picked up. It should also
ask them for a drop-off location, which should be the same as the pickup location.
Ian: As mentioned before, we also want the customer to be able to schedule appointments over the
internet. If the customer forgets their password, we need them to be able to automatically reset it.
Jennifer: What about compliance? How will you keep up-to-date with changes the DMV might make?
Liam: Oh, good question! We definitely want to make sure that the tests and practice we are providing
are current with what the DMV requires. So we need to be able to be connected to the DMV so that
they can update us with new rules, policies, or sample questions. We should get a notification whenever
they have an update.
Sam: OK, got it. What about the interface?
Ian: The system needs to run off the web, preferably over the cloud. We do not want to deal with
backup and security; we need that to be taken care of. We need our focus to be on running the business
with minimal technical problems.
Sam: OK. What about look? Do you have any specific thoughts about the look of the interface, or do you
wish us to come up with our own?
Liam: Oh, no—I do have a picture of what I want. Here, check this sketch out:
Liam: As you can see, the online test progress should show the tests the customer took. It should show
what’s in progress and the ones that the customer completed. So, it would say something like test
name, time taken, score, and status. The status could be not taken, in progress, failed, or passed.
In the driver notes, I need to show any comments the driver left as well as the times for the lessons. So,
it should show me something like this table:
Lesson Time
Start Hour
End Hour
Driver Comments
Sam: OK, so this is one of many pages we need to build, right?
Liam: Absolutely. There should be an input form where the student (or secretary) fills in the student
information, such as first name, last name, address, et cetera. There also should be a page for contacting
us, and a way to contact the student.
Sam: Great. Any idea of what you might want to do in the future? Like future features?
Liam: No, not yet. Let’s focus on this; then maybe we can introduce new features to it.
Jennifer: Wonderful. I think we have enough here to get started. Sam and I will begin working on the
system design and communicate this to our team. We will check in with you at different points to make
sure that our design is meeting your needs. Thank you both for coming!
Schedule Planning
A short time after the initial meeting with the client, DriverPass, Sam and Jennifer sit down in a room.
They have a conversation about how to approach the project and the different scheduling needs of the
team.
Jennifer: OK, Sam. How are we going to approach this?
Sam: Well, I was thinking of laying out the tasks for this project. Then maybe we can arrange them
according to dependency or importance. What do you think?
Jennifer: Perfect. So we started this project by sitting with the client January 22nd and today is February
4th. That took 14 days for requirement collection.
Sam: Correct. So next, I think we should start building the use case diagrams and activity diagrams. If we
start February 11th (since this week is a holiday), that should take us about eight business days.
Jennifer: That’s right. Meanwhile, we can at the same time have Toni and Clark research user interface
designs. That should take them around nine days. Their task is not related to the use case diagram, so
there is no dependency there.
Sam: Absolutely. Similarly, we can have John work on the class diagram. He needs nine days, and I know
he’s returning from his vacation March 1st. So he can start then.
Jennifer: Wonderful. We should be done by March 10th. Let’s set that day and March 11th to meet with
the customer to discuss the work with them.
Sam: Absolutely. Next, once the customer approves our work, and assuming he doesn’t ask for
modifications, we can start working on the interface March 12th. It will take us 12 days to complete.
After that, we can build the database tables and link it to the interface. That should take nine days.
Jennifer: Correct. Once that’s done, we need to add the business logic (security, role, right) layer, which
will take 22 days.
Sam: Perfect. The system delivery will take a couple of days; then the sign-off meeting will take a couple
of days as well.
Jennifer: Great. Here is the table I built based on what we discussed. I hope it helps.
Task
Start Date
End Date
Collect Requirements
22-Jan
4-Feb
Create Use Case Diagrams
11-Feb
18-Feb
Build Activity Diagrams for Each Use Case
15-Feb
9-Mar
Research User Interface Designs
27-Feb
7-Mar
Build Class Diagram
1-Mar
9-Mar
Get Customer Approval
10-Mar
11-Mar
Build Interface
12-Mar
24-Mar
Link DB to Interface
24-Mar
3-Apr
Build Business Logic
5-Apr
27-Apr
Test System
27-Apr
7-May
Deliver System
8-May
9-May
Sign-off Meeting
9-May
10-May
Sam: Thanks. That works just fine.
Jennifer: Great! You can use this basic idea to create a GANTT chart for our documentation.
Purchase answer to see full
attachment