You are on page 1of 2

MIS 507

Group Project
Milestone #2

Nikhil Jakkannavar
Kelly Latimore
Sandeep Suntwal

Project Milestone #2: Initial Design


Team Members & Responsibilities
Nikhil Jakkannavar: Nikhil will be responsible for mapping out the UML diagram
and ensuring that the visualization of the system corresponds to how the system
should ideally work in respect to the correct design patterns for each of the
components necessary to implement the system.
Kelly Latimore: Kelly will be responsible for all documentation and write-ups,
including explanations of various parts of the system, such as comments in the
code, as well as making sure the system works as close as possible to how the
actual system would function and follows the previously determined design
patterns.
Sandeep Suntwal: Sandeep will be acting as our team leader and will
submit/upload milestones and deliverables throughout the project. He will also be
responsible for ensuring the proper usage of the design patterns where necessary
and determining the best way to implement them in the different business
processes.

Targeted Functionality
Our team would like to design and implement a computer program that would act
as the mailing list for an online learning website, such as Coursera. This type of
website allows users to learn about a variety of subjects by enrolling in online
courses, watching lectures and reviewing other course-related materials, and
participating in various assignments, quizzes and exams pertaining to the course.
There are multiple business processes occurring behind the scenes of websites such
as these, from registering a user to awarding certificates to students.
The functionality we are focusing on is the ability of the system to send out emails
to new, current, or even past students. Depending on the nature of the email, it
should only be sent to particular people depending on their status, what types of
courses they have taken or are interested in, etc. We want our system to be able to
determine which of the appropriate people should be emailed about different things
and then do so at the appropriate times.
We will be utilizing the following design patterns in order to design our system:
1. Publisher-Subscriber/Observer Pattern
2. Strategy Pattern
3. Factory Pattern
These three patterns and the reasons why we have chosen to use each of them in
our project will be discussed further on page 2 of this report.

MIS 507
Group Project
Milestone #2

Nikhil Jakkannavar
Kelly Latimore
Sandeep Suntwal

Design Patterns to be used:


Strategy:
We will be using this strategy to tackle payments for the paid courses. Students can
pay by either of the three patterns:
1) Debit card
2) Credit Card
3) Paypal
This requires a strategy pattern as we cannot extend these payments for each
course.

Abstract Factory Pattern:


Each course has its own way of reporting grades. Basically each Grade type is
different. Eg Arts course use A, B, C, D, science uses points on 100 point scale etc.

Hence we will have factories which will generate these different grades based on
the broad course category.

Observer Design Pattern:


Observers need to observe courses. These observers can be NewCourse,
EndofCourse etc. These observers notify a list of students registered for the course.
If a need arises, we will consider adding more design patterns.

You might also like