swen-261-02/E-Store Vision Document.html
2023-08-27 19:38:52 -04:00

146 lines
21 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html> <html style><!--
Page saved with SingleFile
url: https://www.se.rit.edu/~swen-261/projects/E-Store/Vision_document.html
saved date: Sun Aug 27 2023 16:52:31 GMT-0400 (Eastern Daylight Time)
--><meta charset=utf-8>
<style>@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@CHARSET "ISO-8859-1";body{font-family:"Lucida Grande","Lucida Sans Unicode",Arial,sans-serif;font-size:14px;color:#000}@viewport{width:auto;max-width:auto;min-width:auto;zoom:auto;max-zoom:1;min-zoom:1;user-zoom:zoom}h1{color:#0484c9;text-align:left}h2{color:#0484c9}h3{color:#0484c9;text-align:left}section{border:0px solid;-moz-border-radius:5px}article,footer,section{display:block}body>header{position:relative;height:auto;width:auto;margin:0;display:block}body>header a{float:left;margin-right:0.5em;display:inline}body>header>h1{font-size:2.4em;position:absolute;vertical-align:middle;top:0;bottom:0;height:auto;display:inline-block;line-height:1em}body>header img{border:0px solid}footer{margin-top:2em}time{font-size:1em;display:block;padding:0.2em;text-align:center;background-color:#0484c9;color:#fff;font-weight:bold;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;float:left;margin-bottom:0px}time span{font-size:1em;font-weight:normal;text-transform:uppercase;margin-left:1em}article{margin-left:auto;margin-right:auto}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}a{color:#0182c6;text-decoration:underline}a:hover{color:#000;text-decoration:underline}p{margin-left:0.5em}strong{font-weight:bold}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}q:before,q:after,blockquote:before,blockquote:after{content:""}div.clear{clear:both}ul li{line-height:1.15em;margin-top:0.25em;margin-bottom:0.25em}body>article{width:100%}blockquote{margin:0 5em;border-radius:0.5em}blockquote:before,blockquote:after{content:none}blockquote.warning{padding:0.5em;border:1px solid red;background-color:#FEE}blockquote>p{min-height:28px;margin-left:0}blockquote>p:first-child{margin-top:0}blockquote>p:last-child{margin-bottom:0}h2{text-align:center;font-size:1.8em;text-decoration:underline}h3{font-size:1.5em}h4{color:#0484c9;font-size:1.2em;font-style:italic}body{counter-reset:h3}h3{counter-reset:h4}h4{counter-reset:h5}article h3:before{content:counter(h3,decimal)"  ";counter-increment:h3}article h4:before{content:counter(h3,decimal)"."counter(h4,decimal)"  ";counter-increment:h4}h3.nocount:before,h4.nocount:before,h5.nocount:before,h6.nocount:before{content:"";counter-increment:none}section{border-radius:unset}</style>
<title>SWEN-261 E-Store Vision Document</title>
<link rel=canonical href=https://www.se.rit.edu/~swen-261/projects/E-Store/Vision_document.html><meta http-equiv=content-security-policy content="default-src 'none'; font-src 'self' data:; img-src 'self' data:; style-src 'unsafe-inline'; media-src 'self' data:; script-src 'unsafe-inline' data:; object-src 'self' data:; frame-src 'self' data:;"><style>img[src="data:,"],source[src="data:,"]{display:none!important}</style></head>
<body>
<header>
<a href=http://www.se.rit.edu/ title="Software Engineering Department"> <img src="data:image/png;base64,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"></a>
<h1><a href=https://www.se.rit.edu/~swen-261/index.html style=text-decoration:none>SWEN-261<br>Introduction to Software Engineering</a></h1>
<div class=clear></div>
</header>
<h2>E-Store Vision Document</h2>
<article>
<h3 class=nocount>Purpose</h3>
<p>
The goal of this semester-long project is to give you a thorough understanding and appreciation for building a large software system within a team.
Throughout the semester, you will be faced with many decisions - many of which have no "right" answer, just consequences for your work later on.
</p>
<section id=Ex-Summary>
<h3>Project Goals</h3>
<p>
The primary goal of this project is to show how the individualized act of programming can be transformed into a large product maintained by a team of engineers.
We'll walk you through the whole software development life cycle, which means looking deeper at each step.
</p>
<p>
That said, you'll also learn a lot of web development along the way. There's no better way to learn something than to practice it.
</p>
<p>
We're asking you to work with some industrial-strength web application frameworks. We believe that this will give you a very valuable experience as a full-stack developer using tools and technologies that you are likely to experience in a professional environment.
</p>
<p>
Think of the technical documentation as another one of your textbooks.
For example, the Spring guides and the Angular docs.
These sources will have a lot more information than you need, but you're expected to consult them first whenever you need something.
Thus, beyond our startup tutorials, we will not hold your hand.
We will give you broad overviews and wisdom, but the project itself will involve learning on the fly - which is a skill in and of itself.
</p>
</section>
<section id=Features>
<h3>Product Overview</h3>
<p>Small business owners have a very unique lifestyle.
They have their craft, and then they have the business of their craft.
E-commerce has revolutionized peoples' ability to sell their products with ease.
But every business is different. Different types of products need different types of workflows beyond just inventory and a shopping cart.
Many small businesses opt for custom software instead of a platform like Etsy or Shopify. That's where we come in.
</p>
<section id="MVP Features">
<h4>MVP Features</h4>
<p>
The Product Owner desires a minimal viable product (MVP) which includes these features:
</p>
<ul>
<li><b>Minimal Authentication for customer/e-store owner login &amp; logout</b></li>
<ul><li>The server will (admittedly insecurely) trust the browser of who the user is. A simple username to login is all that is minimally required. Assume a user logging in as <b>admin</b> is the e-store owner.
<li> You are not expected to do full credential and session management, although the system will look different depending on who is logged in.
Obviously this isn't how things are done in real life, but let's sidestep that complexity for this class.</ul>
<li><b>Customer functionality</b></li>
<ul>
<li>Customer can see list of products</li>
<li>Customer can search for a product</li>
<li>Customer can add/remove an item to their shopping cart</li>
<li>Customer can proceed to check out their items for purchase</li>
</ul>
<li><b>Inventory Management</b></li>
<ul>
<li>E-Store owners can add, remove and edit the data on the inventory</li>
</ul>
<li><b>Data Persistence</b></li>
<ul>
<li>Your system must save everything to files such that the next user will see a change in the inventory based on the previous user's actions. So if a customer had something in their shopping cart and logged out, they should see the same items in their cart when they log back in.</li>
<li>Ordinarily, we would want to use a database for this - but this semester our system will not reach a complexity that requires a database. You learned basic file I/O in your programming courses, so utilize what you know from there.</li>
</ul>
<li><b>Your 10% feature enchantment(s)</b></li>
<ul><li>Your team will propose this to your instructor by <u>end of Sprint 1</u>, and then build it into your product throughout the semester. See below for more details.</ul>
</ul>
<blockquote class=warning style=width:50%>
<p><strong><u>NOTE:</u></strong> The Product Owner reserves full control over the details of operation
for MVP. This Vision Document includes no
details of the e-store. It is the responsibility of the team to collaborate with the Product
Owner to obtain an understanding of those details. The team does not have the prerogative to
define the details of operation or user interface experience without consulting with the Product Owner</p>
<p>Any time that the team asks itself the question, "How should X operate?" where X is some aspect of the e-store, and the team itself can not answer that question, they <strong>must</strong> ask the Product Owner.
The best place to do that is in the<em> Questions for the Product Owner</em> discussion forum under <em>Projects</em> in the myCourses Discussion area.</p>
</blockquote>
<p>You will need to choose your small business. Think of a culture, a person, a location, a business, and a custom workflow. Good examples of small businesses for this project:</p>
<ul>
<li>A Canadian blacksmith who makes small runs of hatchets, each one handmade and numbered but part of small production runs with pre-ordering.</li>
<li>A Vermont goat farmer who makes cheese, and the milk is kept separate so that each cheese is based on a different goat from the farm and has unique characteristics</li>
<li>A Rochester parkour gym that sells classes and books times to use the gym.</li>
<li>A New Jersey boardwalk confectionary that allows you to create your own "candy bouquets", which are arrangements of various candy into a single gift basket.</li>
<li>A family-owned bellmaking foundry business based out of Troy, NY that allows you to order custom bells with a price estimator, as well as track the progress of the build</li>
</ul>
<p></p>
<p>These are examples of <b><u>bad choices:</u></b></p>
<ul>
<li>An Etsy clone. <i>Too big.</i></li>
<li>A web development contractor service. <i>Too meta.</i></li>
<li>General-purpose e-commerce shop for any set of items. <i>Not unique enough.</i></li>
</ul>
<div id=10p_feature>
<h4>Your 10% feature enhancement(s)</h4>
<p>Your 10% feature enhancement(s) needs to be complex enough to be useful to a business. The feature enhancement(s) need to reflect a custom workflow. Using the examples above:</p>
<ul>
<li>In the Canadian Blacksmith scenario, the concept of a production run and pre-orders needs to be represented in your data. A "Hudson Bay Axe" might have 100 different individual axes that are marked, but are still one product.</li>
<li>In the Vermont goat farmer scenario, inventory management would need to be more complex to be able to track cheese in various stages of production.</li>
<li>In the Rochester parkour gym scenario, the product is classes with enrollments and date handling.</li>
<li>In the New Jersey boardwalk scenario, the concept of a customizable "bouquet" needs to be part of the buyer experience, so that you could make multiple bouquets to be delivered to multiple recipients, but still be part of one purchase</li>
<li>In the bellmaking scenario, the price estimator would give many bellmaking-specific options, and the tracking page would be integrated with the receipts feature.</li>
</ul>
</div>
<p>Here are some examples of <b><u>bad 10% feature enhancement(s):</u></b></p>
<ul>
<li>Your business has custom engraving, so you just add a text field to purchases - <i>Too simple</i>. This is better: add the concept of messaging with the owner on the product so they can talk back and forth with instructions and clarifications.</li>
<li>Users can design their own drawing - <i>Too front-end complex and doesn't divide easily between teammates.</i> This is better: users can choose from existing designs and combine them together.</li>
</ul></section>
</section>
<section id=Architecture>
<h3>Architecture</h3>
<p>Teams will use the following technologies for development of the e-store</p>
<ul>
<li><a target=_blank href=https://spring.io/>Java Spring</a> for your server back-end framework</li>
<li><a target=_blank href=https://angular.io/>Angular</a> for your browser front-end experience</li>
<li>Check the <a target=_blank href=https://www.se.rit.edu/~swen-261/resources/resources.html>Course Resources</a> for additional details</li>
</ul>
<p>Since many of the lectures touch upon these technologies,There will be <b><u>no deviations</u></b> from this technology stack.
You are welcome to add dependencies to your application with the approval of the Product Owner.
This decision is one that the team unanimously must agree upon.
</p>
</section>
<section id=Process>
<h3>Process</h3>
<p>
The team will use the <a href=http://www.utm.mx/~caff/doc/OpenUPWeb/>OpenUP methodology</a> for strategic planning activities across the life span of the
project. The team will use the <a href=https://www.scrumalliance.org/>Scrum process</a> for tactical day-to-day operations.
</p>
</section>
</article>
<hr>
<footer>
<time title="Wednesday Jan 18, 2023 @ 20:01 [EST]"> Last Rev: <span>Wednesday January 18, 2023</span></time>
</footer>