25W INFO8003 Major Project
25W INFO8003 Major Project
In this project, you will be developing the concept for a business application (web
application, mobile website or stand-alone application – your choice) based on
an idea that your team will develop which is, in turn, based on a project theme
that is provided to you.
1. Consolidate your skills that you have learned in the course so far.
3. Use a cloud based collaborative tool as a repository for the materials that
your team develops.
Note: You will not actually be developing a fully functioning application. You will
be developing the concept, creating the “design” which will include a non-
functional mock-up, modeling the entities and classes, and developing a plan for
the development of the work just as if you were planning to complete it (which
you may decide to do in the future, if you feel the work has merit!).
Project Theme
You will be developing a concept of your own for your project based on the
following theme:
Entrepreneurship
Sustainability
Facilities planning
pair programming
mob programming
test-driven development
and come up with their own innovative ideas to promote development of start-ups
and they should be able to explain how their idea relates to the project
theme. This project theme allows for a very wide range of topics for projects in
terms of business purpose and technology. Once the team has an idea of the
topics that interest them, they may need to do more complete research into some
topics.
**Note: every semester, we get quite a few restaurants, food delivery, UBERing,
dating and dog walking apps as students often want to do something they can
understand easily. In a vacuum, those ideas might be acceptable, but when
judges and visitors are reviewing multiple projects on Capstone Judging Day
with those topics, they seem rather repetitive and uninspired. So, I would avoid
those topics and, of course, they don’t really fit the current project theme.
***NOTES:
2. You may assume that the web generally will be accessible to users.
** Important: Use of AI
Use of AI tools for development purposes will be permitted in designated
sections and according to the guidelines discussed in class. For the purpose of
your course assignments, always make sure that you are permitted to use AI and
indicate when and how you have used it.
The functionality of the application may include AI, but there should be sufficient
planning for use cases, entities and classes to demonstrate your modelling skills.
Using a collaborative tool (10 marks)
The team is to use a tool such as GitHub, Azure or AWS to collaboratively
develop and record your materials.
At the end of the project, your team will upload a document containing all of the
deliverables, but you will also include in the document a link to your repository
which your instructor will be able to use to view all documents.
Identify roles for your team. You will need professionals and developers to work
on each of the following tasks:
Brainstorming
Research
Business Model
Market Analysis and Personas
Use Cases
Entity Relationship Diagram
Class Diagram
Content Plans
Prototype Mockups
Code Development
Testing (Unit, Integration, Regression, Acceptance and Usability)
Documentation
**Note: We are not assuming that one individual will do all the work for each task
type, so multiple individuals will be assigned to each kind of task.
In addition, one individual should be identified for each of the following scrum
development roles:
Product Owner
Scrum Master
(see next)
Preliminary Research (10 marks)
You may use AI tools to help you with this to investigate topics of interest using
the list provided above as a guide (though you are certainly not limited to this). In
an Appendix, please provide the prompts you used for this. Make sure you
understand the results from AI. Correct it, and adapt it to your purposes. Make
sure that you do not make any incorrect claims about work that has, or will be,
done.
• a refined description
• a preliminary list of desirable features for the app (might change)
• possible revenue streams
• future goals
(see next)
Technical Requirements (10 marks)
What special device hardware features would the app require, if any? (If
none, please provide discussion.)
What special input controls would you develop for this application, if any?
(If none, please provide discussion.)
What constraints or advantages to do with context are involved in this
app?
The two (or more) use cases you chose to pursue will be the ones shown
working in the prototype.
(see next)
Entities (20 marks)
Provide a fairly complete of business entities for the application. Identify some
attributes for each entity. A tabular format would work well for this.
Create an ERD for this application that shows entities, attributes, relationships
and cardinality.
At least 5 classes with appropriate names (but you may find you need
quite a few more)
Attributes
Methods
Visibility (privacy) of classes, attributes and methods
Associations between classes
Inheritance (think, for example, Users of all kinds)
(see next)
Implementation - Developing the Agile Plan (20 marks)
You are developing a plan to implement the system in an agile, iterative, scrum
manner. Iterative means developing the system in planned stages in which use
cases are developed several at a time as long as they can be done concurrently.
Agile means that changes can be made quickly and easily to the plan depending
on new information about system requirements that has arisen, or else as a
result of changes in schedule (due to environmental factors, availability of human
resources and the client, etc.). Scrum means you are using the specific
methodology in which development is done in sprints and developers, a
product owner and a scrum master follow the best practices of scrum
development. **Note that Scrum implies iterative and agile development, but
the reverse may not always be true. We are using Scrum development.
Make an assumption that this development for this site will have three sprints
(implementation stages) of three weeks each.
In a spreadsheet template provided for this purpose, record the Agile plan for
implementation that you have developed.
IMPORTANT: This live class presentation must be completed before the Major
Project due date in Week 14. If your team is not ready to make a live class
presentation within the first hour of the regular start of class, your team has an
opportunity to submit a video presentation instead of a live class presentation,
but will incur some penalty. Please see the Major Project rubric for details.
(see next)
Final Report (10 marks)
*** Note: To submit your exam, you must incorporate all materials, including
charts, diagrams and prototypes into a single Word or PDF document and
submit it to the Major Project folder on eConestoga. (If the Spreadsheet for the
Agile development plan does not transfer well into your document, you may
submit is separately.) Include:
Cover sheet
Table of contents
Page numbers
Brief introduction
All the deliverables
Brief Conclusions
Agile Planning Spreadsheet
Submit to eConestoga.
***Note: We reserve the right to assign different marks to different team members
if there is evidence of differential contributions. Each group member will be asked
to meet with their instructor and show evidence of attendance at group meetings,
contributions of track changes to documents, emails or group discussion posts
making suggestions and file creation dates, etc., as appropriate to this
assignment. It would be unacceptable to say that others volunteered to do all the
researching, summarizing or writing. You must maintain evidence of your
contribution.