systems analysis & design of dbay, an online market space ......systems analysis & design of...

50
Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team Members:Sarah Caramanico, Justin Martin, Marie Martino Final Report Table of Contents Introduction ………………………………………………………………………………………pg. 3

Upload: others

Post on 11-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Systems Analysis & Design of DBay, an Online Market Space for

Drexel University

Final Project

INFO 620

Spring 2015

Team Members:Sarah Caramanico, Justin Martin, Marie Martino

Final Report Table of Contents

Introduction ………………………………………………………………………………………pg. 3

Page 2: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

CHAPTER 1: System Analysis………………………………………………………….………pg. 4

1. The Problem Statement

1.1 Context, Vision & Importance

1.2 Goal

1.3 Scope (IN/OUT)

2. Requirements ……………………………………………………………………....…pg. 5

2.1 Functional Requirements ……………………….…………………………pg. 5

2.2 Data Requirements ………………………………………………...………pg. 5

2.3 Business Rules and Logic ……………………………...…………………pg. 6

2.4 Non-Functional Requirements …………………….………………………pg. 6

2.5 Other Important Assumptions ……………………..………………………pg. 7

2.6 Investigation of Similar Systems ……………………...…………………...pg. 7

2.7 Requirements in Narrative Form

3. Use Case Model ………………………………………………………………....……pg. 11

3.1 Actors and Their Goals ……………………………………….……....……pg. 11

3.2 Use Case Diagram ………………………………………………........……pg.12

3.3 Use Cases Overview ………………………………………….……..........pg. 13

3.4 Use Case Descriptions by Group Members ………...……………....…..pg. 15

3.5 Discussion ……………………………………………………………...…..pg. 27

4. Class Model …………………....…………………………………………………...…pg.

4.1 TCM Table for Modeling Decisions ………………….………………....……pg.

4.2 Domain Model .…………………………………………………...……....……pg.

4.3 Selected Class definitions ………………………………………....…....……pg.

4.4 Selected Association definitions ………………………..……………....……pg.

4.5 Discussion …………………………………………………………..…....……pg.

CHAPTER 2: System Design ………………………………………………..…………….......…pg.

5. Sequence Diagrams …………………....…………………………………………...pg. 32

5.1 System Sequence Diagram by Group Member .……………...……......pg. 32

5.2 Sequence Diagrams by Group Member ………………….…………......pg. 36

5.3 Validation and Discussion of Sequence Diagrams …………………......pg. 39

6. Design Class Diagram …………………................................................................pg. 39

6.1 Design Class Diagram ………………………………...……………......pg. 40

6.2 Validation and Discussion …………………………….…………….......pg.

CHAPTER 3: Physical Design ………………………………………………………….…....……pg.

7. Data Model …………………....……………………………………………………….…pg.

7.1 Relational Database Schema .…………………………...…………….......pg.

CHAPTER 4: Evaluation of Analysis & Design …………………………..……………….......pg. 42

8. Evaluation …………………....………………………………………………………..pg. 42

8.1 Evaluation of Project ….……………………………………….……….......pg. 42

8.2 Evaluation of UML and Tool ………………………..………………….......pg. 44

References ………………………………………………………………………………….....…pg. 47

Appendix ……………………………………………………………………………………........pg. 48

9.1 Lessons Learned by Group Member ……………..………………......pg. 48

9.2 Team Work & Division of Labor ………………………...………….......pg. 50

Page 3: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

9.3 Unsolved Problems ………………………………………………....…..pg. 50

Introduction

The following report contains information related to the construction and implementation of

DBay, a Drexel-specific online marketplace in which registered users can place classified ads

for goods and services. The pages that follow will make evident our conceptualization and

investigation of the proposed system, based first on the analysis of anticipated user needs,

system functionality, business rules, data logic, and other non-functional requirements. We

strove, throughout the composition and development of this project, to utilize and display the

majority of concepts and methods that we were exposed to during the course of INFO 620,

including but not limited to Larman’s theories of UML development and Song’s use case

template, as well as various methods of determining functionality in the context of system

development. We established parameters for system scope; outlined system and data

requirements; constructed business rules and logic; conducted a heuristic evaluation of a similar

site, ULoop; established a use case diagram and developed three primary use case scenarios,

as well as class and domain models; constructed sequence and system sequence diagrams for

our base use cases; built a data model outlining the specifics of each of our data; and

summarized and evaluated both the project as a whole and the UML specifically. Subsequently,

this document also shows how we interpreted the problem domain and strategically tried to

create software objects that work together to meet the goals of the system, using UML as our

tool, as well as considering any unmet problems within the system and how they might be

effectively handled.

Page 4: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Chapter 1: System Analysis

1. Problem Statement 1.1 Context, Vision, and Importance of the System Members of the DU community have expressed interest an online marketplace service for the Drexel community, namely students, who need an alternative way to locate affordable academic resources, services, and other items. By providing a way to connect Drexel buyers and sellers, this system can fulfill the demand for a trusted and local Drexel-sponsored classifieds service that supports vetted forms of electronic payment. 1.2 Goal The main goal is to provide a user-friendly and easily accessible online system where only members of the Drexel community--students, faculty, and staff-- can buy and sell items and services within the Drexel Community. The university will fully support the system and outside commercial vendors are prohibited from using the system and/or placing product advertisements on the DBay website. 1.3 Scope In-scope: This system will focus on DU members, item advertisements, digital payment information, communication between members, transaction ratings, provide images

Out-scope: This system will not handle conflict resolution, the handling of payment transactions, shipping of goods transactions, and liability for misrepresentation or criminal activity.

2. Requirements

Page 5: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

2.1 Basic System Functional Requirements

● Allow users to create and manage an account/profile ● Authenticate user by Drexel email account and personal password ● Provide a platform to buy and sell items and services

○ Users can be both buyer and seller at any given moment, but can occupy only one role of a buyer or seller within a transaction

○ Offers a space to advertise items or services for sale by way of easy-to-use web forms

○ Link item advertisements to seller’s profile and other items for sale by seller

● Facilitate communication between DBay members by providing contact information sellers

○ Contact will come via anonymized or masked email address ● Offer a search function to find specific item and/or service ● Provide platform for transactions through use of Paypal, Venmo, and “Cash on

Delivery” ● System will backup data and archive old data (up to 6 months) ● Show order/selling (aka transaction) history of individual users in user account ● Allow users to provide rating of transaction (using star rating) ● Allows users to flag inappropriate advertisements

2.2 Data Requirements

Users: System will keep track of: user ID, name, email address, related ads, related transactions, verification status

Transactions: System will keep track of: transaction ID, users involved in the transaction by role, related ad, related payment information

Ads: System will keep track of: ad ID, sellerID, item title, category, description, expiration date, price, flag

Photos: System will keep track of: photo ID, related ad ID, title, size

Ratings: System will keep track of: rating ID, rating, related transID, related

memberProfileID 2.3 Business Rules and Logic

● The system will be a free service provided for users within the Drexel community (students, faculty, staff)

● DBay member must provide a Drexel University email address and pass a confirmation test (reply-to email) to participate

● DBay members must fill out the minimum required form fields to sign up for an account and/or post items/service advertisements

● DBay members can occupy the role of buyer, seller or both in any given time period

Page 6: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

● DBay members can list up to 8 photos per advertisement ● Photos for advertisements may not exceed the size limit ● DBay members can have up to 25 advertisements running simultaneously ● Advertisements expire after 2 weeks from the date/time it was created; a DBay

member has the option to reactivate the advertisement within 30 days ● Advertisements have a minimum bid amount posted by the seller. Confirmed bids

must meet this minimum. ● DBay members ● Transaction ratings range from 1-5 stars ● DBay member can rate a transaction only once; they cannot rate their own

behavior in the transaction ● If a flagged DBay member posts inappropriate material or comments, the

member’s account will be reviewed according to DBay policies and, if warranted, blocked

2.4 Non-Functional Requirements ● System will be screen-based (Usability) ● Ads will have the option of being sorted according to price, location and type via

drop-down menus (Usability) ● User accounts are password-protected (Security) ● System is password-protected (Security) ● System will be backed up remotely on a daily basis (Security/Preservation) ● Performance should be stable and commensurate with Drexel’s resource usage

priority ● System will be operational 24/7, with exceptions for daily back-up and weekly

system maintenance (Operation) ● System operators have no legal liability regarding transactions. (Legal) ● System will be Web-based and accessible across all standard platforms. ● (Implementation/Usability) ● System will offer downloadable mobile app for iPhone and Android (Usability) ● Mobile option will be touch-screen (Usability)

2.5 Other Important Assumptions

● We assume DBay will be used by the Drexel community, primarily students ● DBay is web-based and accessible to users by common web browsers and/or

through mobile app, which will developed after non-mobile web service ● DBay will be coded in PHP and use mySQL as its underlying database ● Hardware requirements and storage space will need to be further researched ● DBay server will run in a secure virtual environment ● Server OS depends on Drexel preferred options and but will need to

accommodate common web application solution stacks (LAMP/WAMP or comparable)

● DBay server will use automated backups, scheduled to run daily ● DBay necessitates a small staff to develop and maintain it ● Development of product will be iterative, focusing first on application for

traditional display and then move into mobile display and, perhaps, a separate app

● Implementation time is currently estimated at 6-8 months from inception to first release

Page 7: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

2.6 Investigations of Similar Systems

ULoop: Heuristic Evaluation

Problem

ID Heuristic

Violated Problem Location Problem Description Severity

1 Aesthetic and

minimalist

design

Entire interface There is an overload of information

on the main home page. Font size

and color varies across the page,

confusing the eyes. The login tab

is conveniently placed on the top

right corner. The university/college

search bar is also conveniently

located in top center of page.

Below this search bar, there is a

number of sections for various

types of articles. Sections include

campus life, sports, entertainment,

fashion, etc. All of these categories

seem to reach out to the target

audience. However, this display of

articles creates clutter and

confusion to the main purpose of

the site, which is to find

university/college specific

information.

1

2 Visibility of

system status

Main page There is a scrolling bar at the top of

the page that displays headlines of

articles, which directs user to

appropriate article. However, there

are no dates that are displayed for

any of the articles before clicking on

them, so user is unaware if

information is timely.

1

3 Help and

documentation

Main page/

contact us page

There is a FAQ link buried at the

bottom of the page. This provides

answers to a limited amount of

issues that may arise. There is no

specific “help” section. If there is

an issue, they advise the user to

email them a question form. There

3

Page 8: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

is no indication when they typically

respond to issues.

4 Match

between

system and

the real world

Main page The interface has duplicated

information on the main page. This

does not provide a natural and

logical set up for the user.

2

5 Match

between

system and

the real world

Main page There is not a description of the

purpose of the company. The user

must dig through the “Frequently

Asked Questions” page to discover

the company goal. When looking at

the main page, the user may find it

difficult to determine if this is a site

that provides articles related to

college aged people, or provides a

service for college aged people.

2

6 User control

and freedom

For Sale tab In the “For Sale” section, the user

has to perform an item search.

They select what category they

would like to search and it brings

them to the results page. However,

on that same results page, there is

a link on the right of the page that

says “Continue Search.” It is not

clear to the user which section they

would need to use to continue their

item search.

3

7 Flexibility and

efficiency of

use

Housing/Jobs/For

Sale/Services

selection pages

Other buy/sell websites provide a

clearly indicated search function,

buy function, and sell function. This

site provides no clarity to support

these functions.

2

8 Consistency

and standards

Main page Information overload to the point of

complete confusion on this page.

The top selection bar has links to

categories: news, campus life,

sport, fashion, entertainment.

These links are a repeat of the

3

Page 9: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

categories shown below this tool

bar.

9 Consistency

and standards

/ Visibility of

system status

Classifieds

Section

Again, in Classifieds, the user has

to perform an item search. They

select what category they would

like to search and it brings them to

the results page. However, on that

same results page, there is a link

on the right of the page that says

“Continue Search.” It is not clear to

the user which section they would

need to use to continue their item

search.

3

10 Recognition

rather than

recall

Entire interface The site is simple enough where it

provides clearly labeled functions

for each selection. The user does

not have to guess about what that

function does. However, it does

provide confusion when these

functions are duplicated.

2

11 Help users

recognize,

diagnose, and

recover from

errors

Entire listing

process

I went through a fake creation of a

listing. The directions were simple

to follow and provides clear

direction to navigate through the

post. I did not encounter any error

messages.

0

Presently, the public has many options that offer the service of buying and selling items through

an online marketplace. When the members of the Drexel community expressed an interest in

an online marketplace solely for Drexel University students, faculty, and staff, it was important to

research and reveal any existing systems with the same purpose.

Through our research, we discovered a website called ULoop.com. This website is a student

powered News and Classifieds marketplace for over 1500 colleges and universities. The site

allows college students with an “.edu” email address to buy, sell, promote and trade textbooks,

housing, roommates, jobs, tickets, apartments, and more (Uloop.com). We used this website

to perform a heuristic evaluation to compare it against accepted usability principles. Our results

helped us with the design and requirements that we wanted to include, and exclude, in our

system.

Page 10: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

One of the biggest results of our ULoop evaluation was the overload of information on the main

homepage. Information was repeated in multiple sections of the page, which cluttered the

screen, affecting the aesthetic design, consistency and standards. This allowed us to imagine

our proposed system depicting a more simplistic design as opposed to ULoop. This would aid

in our goal of being user friendly.

Another result from our evaluation involved the task functions within each of the selection

pages. This site provided no clearly indicated search function, buy function, or sell function.

This created an issue within user control and freedom, as well as flexibility and efficiency of use.

It is important for DBay to display a search function for ease of use within the system,

regardless if the user is buying or selling an item.

Our group did appreciate the clearly labeled functions for each selection, such as housing, jobs,

for sale, services. This is an element we would include in the design of DBay. The listing

process within ULoop is also very simple and straightforward. If DBay were to replicate this

design, the program would satisfy the need to be user-friendly.

The heuristic evaluation allowed our team to see an existing system and compare it to our

visions of DBay. It helped us see aspects of design that worked for a system that dealt with

buying and selling items within a college or university market. The evaluation also uncovered

design issues within the ULoop system, and encouraged us to think creatively to achieve our

goals, business rules and requirements of DBay.

2.7 Requirements in Narrative Format

Drexel University would like to create a platform to offer a self-service, online market space for

its students, staff and faculty. Drexel provides, DBay, a self-service web platform for the

buying/selling of goods and services. DBay membership is restricted to Drexel University

students, faculty, and staff. In addition to some basic contact information, a Drexel U email

account is required to create a DBay account pass a confirmation test (reply-to email) to

participate.

DBay members can occupy the role of buyer, seller or both in any given time period. They can

use DBay to create item or service advertisements by filling out the minimum-required form

fields. They can also cancel any of their listings whenever they wish. DBay members provide

information to description of any given item (or service) and can upload up to 8 photos per

advertisement, but are not required to post any photos. Photos for advertisements may not

exceed the size limit of 500kb. DBay members can have up to 25 advertisements running

simultaneously. Advertisements expire after 2 weeks from the date/time it was created. DBay

members will receive an email notification that the ad is due to expire and have the option to

reactivate the advertisement within 30 days.

DBay members who are acting as buyers can search and browse ads. They can ask a seller a

question by using the masked email provided in the item ad. DBay facilitates, but does not

Page 11: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

directly handle payment, purchases can be made using PayPal or Venmo. DBay will, however,

provide a confirmation of transaction.

DBay members can rate these transactions. Transaction ratings range from 1-5 stars. They can

rate a transaction only once; they cannot rate their own behavior in the transaction. Members

have profiles and can view others’ profiles to see the transaction ratings associated with the

DBay member.

Additionally, DBay members can flag ads they believe are inappropriate, according to a DBay

“code of conduct.” If a DBay member has posted inappropriate material or comments, the

member’s account will be reviewed according to DBay policies and, if warranted, blocked by a

system administrator.

3. Use Case Model

3.1 Actors and Their Goals

1. Registered DBay user (primary actor): A current Drexel student or faculty member who has

logged into the DBay web site and filled out the sign-up form – name, email address, password,

major and graduation year. The goal is to become a member of a trusted online marketplace

where Drexel students and faculty can conduct business with each other.

2. Secondary Payment Options (Venmo, PayPal, etc.) (secondary actor): An external agent that

handles and processes payments between buyer and seller.

3. DBay system (secondary actor): The system itself, which functions autonomously to verify

valid emails by way of detecting the presence of “drexel.edu” in the address and to notify users

of expiring ads according to date posted.

Page 12: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

3.2 Use Case Diagram

3.3 Use Cases Overview

1. CreateProfile: A current Drexel student would like to join the closed, campus-wide online

auction/bartering site DBay. He or she visits the web site and clicks “Sign Up.” He or she is then

prompted for name, password, Drexel email address, major and graduation year. Upon filling

these in and clicking “Submit,” the system returns a confirmation screen and sends a

confirmation email to the Drexel email address that the user has entered.

2. AskSellerQuestion: A DBay user is browsing listings and sees one that is appealing, but he

or she requires further information from the seller. He or she clicks seller’s live link user name

(his or her Drexel prefix, e.g. jnm73). System returns anonymous form in which user can

question or otherwise contact seller.

3. CreateAd: A DBay user has a product or service that he or she wants to sell or provide. The

user logs into the DBay site and chooses the option for placing an ad. The system returns a

blank ad form, with space for a title, a description, and optional minimum bid and photos. The

user fills out the form to his or her specifications and submits the ad. The system returns visual

confirmation and also sends a confirmation email to the seller’s Drexel address.

4. SearchAds: A DBay user is in the market for a product or service. He or she logs onto the

DBay website and selects the Ads active breadcrumb. The system returns the main listings

Page 13: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

page, which contains options for searching by category and a search box for manual input of the

desired item or service. The user can then search by category or term.

5. SubmitBid: A DBay user browses the site and finds an ad that is appealing. He or she either

clicks on the heading, if he or she is in the search screen, to bring up the full ad, or finds the bid

box on the ad and enters an amount that he or she is willing to pay for the product or service

advertised. He or she then clicks “Submit Bid” button, and the system prompts for confirmation.

He or she clicks the “Yes” or “No” button, depending on whether or not he or she wishes to

submit the bid. If “No” is clicked, the system returns to the ad. If “Yes” is clicked, the system

displays a bid confirmation screen and simultaneously sends the bidder an email confirming the

bid.

6. NotifyExpiringAd: Ads placed on DBay have a fourteen-day time limit before expiration, to

ease the server crunch and keep the site running at top speed. The system administrator has

access to the full log of ads at all times, and when the system indicates that an ad is two days

from expiration, an alert is posted. The DBay user can see this alert when he or she is logged

in, but the system administrator also sends a brief e-mail alert to the user notifying him or her

that the ad has two days left to run. The process is repeated for one day left and day of

expiration.

7. FlagAd: A DBay user is browsing listings and sees one that seems either too good to be true

(a scam), some sort of outright scam/phishing attempt, or, conceivably, one advertising illegal

services (drugs or prostitution.) He or she opens the ad link to view the full ad and clicks the

“Flag This Ad” button. The system flags the ad and sends an alert to the system administrator,

who reviews the ad and either removes the flag or deletes the ad.

8. ViewMemberProfile: A DBay user sees an ad that looks interesting and opens it. The system

returns the full ad listing, including the handle of the person that posted it. The user can click on

this handle, which is a live link that causes the system to display a Javascript popup window

displaying the seller’s basic profile, including previous listings and transaction ratings.

9. RateTransaction: A DBay member completes a transaction with a fellow user. The system,

after a period of a week to ensure completion of the transaction, prompts the users upon log-in

to rate each the transaction via a five-star system. The system also dispatches a reminder email

to both users. The system displays a Javascript pop-up window that contains the transaction

overview and five empty stars. The user clicks the appropriate number of stars and clicks

“Submit.” The system returns a thank-you message and stores the rating on the appropriate

user’s profile.

10. StoreDrexUMemberInfo: A Drexel student logs onto the DBay website and establishes an

account by filling out the sign-up form. The system retains this information on its servers,

allowing the user to log in upon returning to the site and have access to the full suite of features.

Page 14: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

11. CancelAd: A DBay user has placed an ad, but has reconsidered his or her offer. He or she

logs into the DBay website and clicks on his or her profile. The system displays the user’s full

profile page, including any active ads. Alongside each active ad is a small “Cancel Ad” button.

The user clicks on the button, which returns a pop-up requesting confirmation of cancellation.

The user clicks the “Yes” button, and the system returns a confirmation of the cancellation and

removes the ad. (If the user clicks “No”, the pop-up disappears and the ad remains live.)

12. ReactivateAd: A DBay user’s posted ads are stored for a period of two weeks in the system,

in the event that the user wishes to reactivate the old ad. The user logs in and clicks on “Profile”.

The system returns the user’s profile page, including all current ads and recently expired ads.

The user clicks on an expired ad, and the system returns the full ad as posted, with a button at

the top reading “Reactivate This Ad?” The user clicks the button, and the system confirms that

the ad has been reactivated for the standard two-week term.

3.4 Use Case Descriptions by Group Members

3.4a JUSTIN MARTIN

USE CASE # BASE 1 – Justin Martin

USE CASE Name CreateProfile

ACTOR DBay User

Goal (1 phrase) To create a user profile for the DBay system.

Overview and scope System prompts user for information, including name,

Drexel email address, graduation year, major and

password. System completes profile if Drexel email

address is entered; otherwise, user is denied access.

Level Primary

Preconditions User logs onto DBay webpage.

Postconditions in

words (write in

passive and past

tense)

Profile object userProfile was created.

Attributes userProfile.firstname, userProfile.lastname,

userProfile.password, userProfile.emailAddress,

userProfile.gradYear, userProfile.major were updated.

Page 15: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Trigger Event is triggered when user selects “Sign Up” on DBay

webpage.

Included Use Cases EmailConfirmation

Extending Use

Cases

MAIN SUCCESSFUL

SCENARIO for this

Use Case in

numbered

sequence

Reference “included

use cases” in this

section using

INCLUDE ius_name

Actor Action System Action

1. User logs onto

DBay website

2. System displays main

page.

3. User clicks on

“Sign Up”

breadcrumb.

4. System prompts for

personal information.

5. User enters

personal information

and clicks “Sign Up”

button.

6. System displays e-mail

confirmation prompt.

OTHER

SUCCESSFUL

SCENARIOS

(Specify any

successful

variations of the

normal execution

path, including any

extension points

using

EXTEND eus_name)

1. User logs onto

DBay webpage.

2. System displays main

webpage.

3. User clicks on

“Sign Up”

breadcrumb.

4. System prompts for

personal information.

5. User enters

personal information

and clicks “Submit.”

5b. System detects that one

or more pieces of

information were not

entered.

6b. System returns “Please

enter Drexel email

address/graduation

Page 16: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

year/major/password”

depending on information

omitted.

7b. User reenters

information and

clicks “Submit”.

8b. System returns

confirmation if information

is entered correctly.

OTHER

SUCCESSFUL

SCENARIOS

(Specify any

successful

variations of the

normal execution

path, including any

extension points

using

EXTEND eus_name)

UNSUCCESSFUL

SCENARIOS

(erroneous situations)

1. User logs onto DBay

webpage.

2. System displays main page.

3. User clicks

“Sign Up”

breadcrumb.

4. System prompts for personal

information.

5. User enters personal

information and clicks

“Submit.”

6b. System detects that user has

entered a non-Drexel email

address.

7b. System returns request for

Drexel email address.

Priority in

scheduling

Primary

Frequency Once per iteration

Page 17: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Business rules and

data logic

1. System does not take part in transactions; transactions

are conducted between users either via third-party

application (PayPal, Venmo, etc.) or other means.

2. System permits one profile per verified email address.

3. User information is password-protected.

Other non-

functional

requirements

Standard Windows web interface.

Database backed up daily.

Superordinates

Developer Sarah Caramanico, Justin Martin, Marie Martino

Creation date and

last modified date

5/26/15, 6/3/15

Other Comments

This use case is the one upon which, essentially, the whole system rides, since it is imperative

that one officially join DBay before being permitted to access virtually any of the system’s

functionality. The main goal of this use case is to establish a member profile.

In order to register as a DBay member, the user must be in possession of an active Drexel

email account, which indicates that he or she is a current member of the Drexel community.

The prospective user visits the DBay homepage and clicks the Sign Up breadcrumb at the top

of the page. This results in the system returning the sign up page, which contains boxes for the

user to enter name, password, Drexel email address, major and graduation date. This

represents all that the system requires to establish a profile and a means of communication with

the user, since all messages are sent via the Drexel portal. After the user has entered all of the

required information, he or she submits it to the system. The system, having parsed the basic

parameters - current student, active Drexel email address - then returns a page indicating that

the user’s membership has been accepted and his or profile has been created, along with an

alert stating that a confirmation email has been sent to the user’s Drexel email address.

3.4b SARAH CARAMANICO

Page 18: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Use Case # 3- Sarah Caramanico

Use Case Name SubmitBid

Actor Registered DBay User

Goal (1 phrase) To submit a bid on an Ad posted in the DBay

system

Overview and Scope After a user clicks on a listing to open and

view the full Ad screen, the system gives the

option to submit a bid. The user will enter

and submit an amount. Note, the bid is

based on a minimum amount, so the user

may not submit a bid lower than that set

amount. Once the user selects confirm, the

system will return a bid confirmation screen.

Level Primary

Frequency Once per iteration

Preconditions User logs onto DBay webpage

Postconditions Object newBid is created. Attributes

newBid.id, newBid.userName,

newBid.amount, newBid.bidId are updated.

Trigger Event is triggered when the user selects an

individual Ad.

Included Use Cases ConfirmBid, MakePayment

Extended Use Cases

Main Successful Scenario for this Use

Case in numbered sequence

Reference “included use cases” in

this section using INCLUDE ius_name

Actor Action System Action

Step 1. User logs

onto DBay website

Step 2. System

displays homepage

Step 3. User signs

into profile on DBay

website

Step 4. System

returns sign-in

homepage

Step 5. User clicks

“View Ad”

Step 6. The system

returns the Ad catalog

Page 19: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Step 7. User selects

individual Ad

Step 8. System

displays individual Ad

with bid information.

Step 9. User enters

an amount for a bid

and selects Submit

Step 10. System

prompts for a

confirmation

Step 11. User

confirms bid

Step 12. System

returns bid

confirmation screen

and redirects user to

payment source

UNSUCCESSFUL SCENARIOS

Actor Action

System Action

Step 1. User logs

onto DBay website

Step 2. System

displays homepage

Step 3. User signs

into profile on DBay

website

Step 4. System

returns sign-in

homepage

Step 5. User clicks

“View Ad”

Step 6. The system

returns the Ad catalog

Step 7. User selects

individual Ad

Step 8. System

displays individual Ad

with bid information.

Step 9. User enters

an amount for a bid

lower than the bid

minimum and

selects Submit

Step 10. System

prompts an error

message “Bid does

not meet minimum

requirements”

Page 20: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Priority in scheduling Primary

Frequency Once per request

Business rules and data logic 1. System does not

take part in

transactions;

transactions are

conducted between

users either via

third-party

application (PayPal,

Venmo, etc.)

3. System is password-protected 5. Performance should be stable and follow Drexel’s resource usage priority

2. Each ad has a

minimum bid amount

and user bid must

meet that minimum.

4. DBay members can

occupy the role of

buyer, seller or both in

any given time period.

Other non-functional requirements Standard Windows

web interface.

Database backed up

remotely daily.

Developer Sarah Caramanico,

Justin Martin, Marie

Martino

Creation date and last modified

date

May 28, 2015

This use case involves an important function within the DBay system: submitting a bid for a

posted Ad. As each DBay member can act as both a buyer and/or a seller at any given

Page 21: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

moment, but may occupy only one role of a buyer or seller within a transaction. When a

member is a buyer role, they will purchase items via a bid.

A registered DBay user has the capability to place a bid on any active Ad of their choice. Once

a user opens the DBay website, they are first required to sign into their account. After the

system displays the user’s sign-in homepage, the user can select “View Ad.” This function will

result in the system displaying the Ad catalog. As the user looks through this catalog and

decides on an item they would like to bid on, the user selects that individual Ad. The system will

display the individual Ad with the bid information, including the minimum bid amount. The user

will enter and submit a bid amount. The system will then return a confirmation page prompt to

the user. When a user is satisfied with their bid, they will confirm the bid and the system will

return a confirmation page.

Because there is a minimum bid amount, there is the possibility of an unsuccessful scenario. In

this scenario, the user will go through the same steps of signing into their account and selecting

“View Ad.” The system will display the Ad catalog and the user will select an individual Ad.

When the user submits a bid that is less than the minimum bid amount, the system will prompt

an error message stating the bid did not meet the minimum requirements.

3.4c MARIE MARTINO

Group Member Marie Martino

USE CASE # BASE 3--verify after diagram is posted

USE CASE Name CreateAd

ACTOR Registered DBay User (DBay Member)

Goal (1 phrase) To Create an Advertisement for a Product or Service on DBay

Overview and scope The ad is an essential piece of the DBay system. A DBay Member creates ads to sell their wares. To do so, they must log-in, choose to create an ad, and supply the system with information about about what they are selling, including a ad title, system pre-determined category, and a description. These are required data fields. They have the option to create an ad with photos if they wish. The system must also be able to respond to user errors when entering information, such as not filling out all the required fields.

Level Primary

Preconditions DBay Member logs into DBay website

Postconditions in words (write in passive and past tense)

Object activeAd was created. Object activeAd was associated with object activeUser

Page 22: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Attributes activeAd.id, activeAd.sellerId, activeAd.title, activeAd.category, activeAd.description and activeAd.expDate were inserted/updated Ad data is saved Object activeAd was destroyed

Trigger Event is triggered when user clicks “Create DBay Ad” button.

Included Use Cases

Extending Use Cases UploadPhoto

MAIN SUCCESSFUL SCENARIO for this Use Case in numbered sequence Reference “included use cases” in this section using INCLUDE ius_name

Actor Action System Action

1. User logs onto DBay website.

2. System displays homepage.

3. User signs into DBay website.

4. System returns signed-in homepage.

5. User clicks “Create Ad.” 6. System returns blank ad form.

7. User enters all required information and clicks “Submit.”

8. System returns preliminary view of prepublication ad for review.

9. User reviews ad and, if acceptable, clicks “Submit.”

10. System displays ad confirmation screen, including approximate time of publication and makes ad available to viewing by other users.

OTHER SUCCESSFUL SCENARIOS (Specify any successful variations of the normal execution path, including any extension points using EXTEND eus_name)

1. User logs onto DBay website.

2. System displays homepage

3. User signs into DBay website.

4. System returns signed-in homepage.

5b. EXTEND UploadPhotos: User clicks “Create Ad with Photos”

6b. System returns blank ad form.

7b. User enters required information.

Page 23: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

8b. User clicks “Upload Photos.”

9b. System returns blank photo upload form.

10b. User selects photos and clicks “Add My Photos.”

11b. System returns preliminary view of prepublication ad with photos for review.

12b. User reviews ad and, if acceptable, clicks “Submit.”

13b. System displays confirmation screen, including approximate time of publication and makes ad available to viewing by other users.

OTHER SUCCESSFUL SCENARIOS (Specify any successful variations of the normal execution path, including any extension points using EXTEND eus_name)

1. User logs onto DBay website.

2. System displays homepage.

3. User signs into DBay website.

4. System returns signed-in homepage.

5. User clicks “Create Ad.” 6. System returns blank ad form.

7c. User forgets to enter all required information and clicks “Submit.”

8c. System messages message “Please fill out all required fields.”

9c. User enters all required information and clicks “Submit.”

10c. System returns preliminary view of prepublication ad for review.

11c. User reviews ad and, if acceptable, clicks “Submit.”

12c. System displays confirmation screen, including approximate time of publication and makes ad available to viewing by other users.

OTHER SUCCESSFUL SCENARIOS (Specify any successful variations of the normal execution path, including any extension points using EXTEND eus_name)

1. User logs onto DBay website.

2. System displays homepage.

3. User signs into DBay website.

4. System returns signed-in homepage.

5. User clicks “Create Ad.” 6. System returns blank ad form.

7. User enters all required information and clicks “Submit.”

8. System returns preliminary view of prepublication ad for review.

Page 24: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

9d. User reviews ad and finds a data field she wishes to edit and clicks “Edit.”

10d. System displays ad form screen and allows user to update data fields.

11d. User makes appropriate changes and clicks “Submit.”

12d. System displays confirmation screen, including approximate time of publication.

13d. User reviews ad and, if acceptable, clicks “Submit.”

14d. System displays confirmation screen, including approximate time of publication and makes ad available to viewing by other users.

UNSUCCESSFUL SCENARIOS (erroneous situations)

1. User logs onto DBay website.

2. System displays homepage.

3. User signs into DBay website.

4. System returns signed-in homepage.

5. User clicks “Create Ad.” 6. System returns blank ad form.

7. User forgets to enter all required information and clicks “Submit.”

8. System messages message “Please fill out all required fields.”

9. User does not enter any further information

10. System aborts the process after 10 minutes of inactivity.

Priority in scheduling High

Frequency Once per request

Business rules and data logic

1. DBay members can occupy the role of buyer, seller or both in any given time period. 2. They can use DBay to create item or service advertisements by filling out the minimum-required form fields. 3. They can also cancel any of their listings whenever they wish. 4. DBay members provide information to description of any given item (or service) and can upload up to 8 photos per advertisement, but are not required to post any photos. 5. Photos for advertisements may not exceed the size limit of 500kb. 6. DBay members can have up to 25 advertisements running simultaneously. 7. Advertisements expire after 2 weeks from the date/time it was created.

Page 25: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

8. DBay members will receive an email notification that the ad is due to expire and have the option to reactivate the advertisement within 30 days. 9. Users are responsible for validity of listing claims. 10. Users are responsible for securing payment from buyers; system has no role in payment process. 11. User must be logged in to create an ad.

Other non-functional requirements

Listings will have the option of being sorted according to price, location and type via drop-down menus System is password-protected System will be backed up remotely on a daily basis Performance should be stable and commensurate with Drexel’s resource usage priority System will be Web-based and accessible across all standard platforms

Superordinates

Developer Sarah Caramanico, Justin Martin, Marie Martino

Creation date and last modified date

5/29/15

Other Comments

This use case focuses on one of the primary functions of the system for the user--creating an ad

for the item or service the user wishes to sell. This function is based on the requirements and

business rules as established early on in our process. In this use case, the main actor is the

DBay Member who interacts with the system. The main goal here is to create an ad. “Behind

the scenes,” the systems stores the necessary information about the ad so that other Members

can search for them via the Catalog, or place you can search ad listings. There are pre-

conditions and limitations related to this use case. The user must be logged in and must

choose to create an ad via the interface to start the process. There is a limit of 25 ads per user

at any given moment in time.

As one can see from the diagram and full use case description above, the CreateAd use case is

a base case with one extension--UploadPhotos, that is, to create an ad with photos attached. It

does not have any includes. The system allows for the main success scenario as well other

success scenarios. Because there is only 1 extension--to upload photos-- the other successful

scenarios show the user recovering from a data entry error.

Use cases play a key role in iterative development models because they can essentially

motivate the design of a system (Larman, p. 95). Part of the reason we initially thought a

heauristic evaluation of ULoop seemed like a good idea, was because it helped us get into the

mind of the user. Use cases are really about exploring the needs and goals of the user. That

all said, one should acknowledge that it has limitations, as all use cases do. As Larman stated,”

Page 26: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

. . .models lie (unintentionally). Only code and tests reveal the truth of what’s really wanted and

works (p.78).” The use case for CreateAd clearly represents a main user goal and a means to

ensure its functionality is carried into further phases of development.

3.5 Discussion

To form our use cases, we relied on the the information we sussed out from the system goals

and system investigation. Once we established all of the system requirements, namely, the

functional requirements and business rules, we were able to focus on how users would use the

system. Understanding who is using the system as well as how they would be using it, become

the driving force for developing the use cases, the steps involved in those functions or

processes we previously identified. We asked ourselves questions like: “What functionality do

we wish to represent?” “How does the user interact with the system?” “How do uses cases

interact with each other?” We considered a few different models, but in each diagram and each

iteration, we identified CreatProfile, CreateAd, and SubmitBid as representative of the most

important requirements of the system. The remaining use cases were arranged in the model in

such a way that attempts to be the most strategically-placed, based on the relationships with

actors, the relationships among the other use cases and the functionality each use case

represents.

One alternative version included the SysAdmin as an actor, but we realized the functionality we

had linked to the SysAdmin could be replaced by the system itself with regard to automated

email verifications and expiration notices. Nevertheless, that model is still plausible, but we

deemed the presence of that actor superfluous for our purposes here.

4. Class Model

4.1 TCM Table for Modeling Decisions

Noun Elimination Note

Applicable

Modeling Rule

Possible

Atrribues

Drexel U irrelevant - -

DBay plaform/self-servie

marketplace (sys) irrelevant - -

goods/servivces redundant - -

item attrbiute contained in ads - -

students faculty staff (use

DBayMember) needs unique id, has

attributes

name, email,

phone, pw,

verified?, id

memebership redundant - -

Page 27: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

contact info

can be broken into

attributes of

DBayMember - -

email confirmation test

(verification)

is this same as other

email confirmation?

no, more extended

functionality--email is

only only part of

larger process

role - -

buyer (transofrm to activity or

subclass?)

think this is more of an

association than a role,

coule be an attribute in a

transaction

seller (transofrm to activity or

subclass?)

think this is more of an

association than a role,

coule be an attribute in a

transaction

ads needs unique id, has

attributes

id, item,

description,

category, type,

photos?

expdate

advertisements redundant - -

listings

redundant (plural of ads)

or refers to "catalog" list--

browsable and

searchable?

description attribute of ads - -

photos attribute of ads?

needs unique id, has

attributes

size limit, id#,

ad #

size limit how to treat? constraint? - -

expiration notice needs unique id, has

attributes exp date, ad id,

reactivated ad (transformed

from reacvtivated)

subclass? or just a

data update of exp

date? does syetm

keep multiple values

of exp

date?(probably not

needed)

id, item,

description,

category, type,

photos?

expdate

buyer questions( essentially an

emailed question)

Page 28: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

payment unique id, has

attributes

amount, cc#,

sec code,

ccExpdate

transactions (defines the record

of the full exchange inlcuding

items and buyer/seller, not just

a payment) unique id, has

attributes

id, buyer id,

seller id,

amount, item

(ad id)

(payment)confirmation--email

confirmation

transaction recipt

redundant as part of

confirmation or output

side the scope - -

PayPal external system - -

Venmo external system - -

ratings unique id, has

attributes

number of stars,

transaction id

member profile (public)

member id,

tranaction id,

rating, about me

(optional)

account

redundant (DBay

Member)/ system term

sys admin unique id, has

attributes

login pw

privileges

Page 29: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

4.2 Domain Model

4.3 Selected Class Definitions

● Ads: another way to say “classified ad” or listing

● EmailConfirmation: this confirmation is sent via email to confirm that a Transaction

occurred.

● EmailedQsToSeller: represents the questions that a buyer may send to seller via a

masked seller email address

● ExternalPayments: payments made outside of the DBay system through Venmo or

PayPal. Payment must be verified and sent back to DBay.

Page 30: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

● Flags: users can flag ads they find inappropriate and that violate DBay policies.

● MemberProfiles: represents the public profile of the DBayMember; shows an “About Me”

section and transaction ratings. This is recognized as a separate class of DBayMember,

which pertains more to the user and their private account information rather than a

visible, public profile.

● Ratings: users can rate transactions with other members to establish trust within a

somewhat anonymous system, so users can make a more “informed” judgement about

whether they would make a purchase from the seller. These transaction ratings appear

on the public, member profile.

● Transactions: used interchangeably with “bid” in our process, it defines the exchange of

an item/service for money. It’s a record of the buyer, seller, ad ID, and amount that was

paid.

● Verification: refers to the verification of DBayMember based on a Drexel U email

address, supporting that all members must be part of DBay community

4.4 Selected Association Definitions

4.4a Association meanings that are not intuitive: The associations within the Domain Model are

pretty straightforward and intuitive.

4.4b When there are two associations between the same two classes: Ads and DBayMember

have 3 associations. First, there is Created-by which shows that Ads are created by

DBayMembers. The second associations is Is-canceled-by, which simply indicates the

members can terminate their ads. Finally, expired Ads (ads where the expiration date is equal

to less than the current date) can be Reactivated-by DBayMembers within a 30-day period.

These multiple associations each show how one class can interact with the other based on

different needs of functionality and business rules.

4.4c.Recursive associations: None.

4.5 Discussion

The goal of the domain model is to provide a visual representation of conceptual classes, ideas,

things, or objects, in a real-world perspective within a set domain (Larman, 2005, p. 134). This

is opposed to a logical view of the domain that shows software classes and will be explored

later in this document in the Design Class Diagram. The classes in a domain model diagram

represent domain objects, which have attributes, or properties. In a domain model diagram, the

lines connecting these classes represent associations or relationships between the classes.

Both attributes and associations are important when one needs to store a value related to the

class or the relationship between two classes (p.150). Additionally, the numbers that

correspond to the ends of each relationship line represent multiplicity which is best defined as, “

. . .how many instances of class A can be associated with one instance of class B (p. 153).”

Page 31: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

To determine the conceptual classes to be used in our Domain Model Diagram below, our team

used both the category lists provided in the Larman text (p.140-141) and Dr. Song’s A

Taxonomic Class Modeling Methodology for Object-Oriented Analysis (2008). Dr. Song’s

guidelines were especially helpful, and we conducted a noun phrase appraisal and taxonomic

class analysis creating a spreadsheet with the following headings: Noun, Elimination Note,

Applicable Modeling Rule, Possible Attributes, and Possible Associations. Utilizing the methods

outlined by Dr. Song, we analysed and re-analysed our problem statement as well as our use

cases to identify conceptual classes that made sense for our DBay system.

Some classes, such as DBayMember and Ad, were obvious, as were some of their attributes

and associations, but others, like Catalog, had to be flushed out as we thought about system

functionality, making it possible for users to search ads for the goods and services for which

they may be looking. As we considered attributes for the classes that required them, we begin

thinking about (if not fully enveloping ourselves in it just yet) the system’s data model. But not

yet ready to embark on our relational schema, we made some notes for later. Additionally,

giving some thought to relationships between classes helped us determine the

operations/methods we would need to illustrate later in our Design Class Diagrams. Similarly,

we made notes for to be used further along in our process.

Overall, our domain model is a very important step in the iterative process because it shows

how classes relate to one another and the important data (attributes) the system needs to store

about each class. It also allows for us to move on to the more logical elements of the process

which focus on the software processes that build functionality.

Chapter 2: System Design

5. Sequence Diagrams

5.1 System Sequence Diagram by Group Member

Marie Martino: Creating an Ad

Page 32: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Justin Martin: Creating a Profile

Page 33: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Sarah Caramanico: Submit Bid

Page 34: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

5.2 Sequence Diagrams by Group Member

Page 35: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Marie Martino: Creating an Ad

Creating an Ad

Justin Martin: Creating a Profile

Page 36: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Sarah Caramanico: Submit Bid

Page 37: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

5.3 Validation and Discussion of Sequence Diagrams

Page 38: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Another artifact included in the elaboration phase includes system sequence diagrams. These

diagrams illustrate input and output events related to a system (Larman, 147). SSDs are created

with use case text and its implied system events and shows the external actors that interact

directly with the system (Larman, 147).

The use case descriptions also play an important role in the development of sequence

diagrams. A sequence diagram illustrates the interaction of objects with each other in a single

use case. The purpose of a sequence diagram is to place the order of messages into a time

sequence. These diagrams feature an object’s lifeline and the focus of control. They can be

used in context of the whole system, a sub-system or they can be attached to a use case (Song,

371).

The individual diagrams drawn by each group member illustrate the three main use cases within

the DBay system. The system sequence diagrams exhibit the input and output events of the

Drexel University as an actor and its interaction with the system. These are events within the

create profile use case, the create ad use case, and the submit bid use case. Furthermore, the

sequence diagrams focus on the time sequences of sent messages between the actor and the

system within these three use cases. There is also a representation of additional sequence

diagrams that illustrate a number of important use cases.

6. Design Class Diagram

6.1 Design Class Diagram

Page 39: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

6.2 Validation and Discussion

The Design Class Diagram (DCD) offers a different perspective than the Domain Model

Diagram, which is another form of class diagram in UML. DCD focuses more on the logic and

software design of the system. What is being modeled is less about expressing the

requirements themselves, but more about the solutions to meet those requirements (Larman,

2008, p. 249-251). That is, the DCD shows both structure and behavior. Like the domain

model, it does reveal classes, attributes, associations, and multiplicity, but it works to make

visual the the messages/operations happening between objects.

Our system is fairly simple. In its most basic form, it stores and displays information provided by

users to maintain profiles and sell items/services. It also provides a bridge of sorts to external

systems that handle the steps revolving around payment. Our system does not make need very

many complex calculations to solve the problems surrounding the online market platform it

provides. In our DCD, we attempted to employ a simple, “elegant” architecture and identify

classes that could be distributed and re-used to solve various system matters.

DBayMember has processes related to the creation, deletion verification, etc of DBay members.

It was included in this diagram because the creation of a DBayMember substantiates a

Page 40: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Verification object that verifies of the member’s Drexel email, which is a requirement of being a

DBay member.

Unsurprisingly, since ads are central to the services of the system, many operations are related

to this class. They can be created, updated, canceled, flagged, and have photos added to

them. Additionally, they substantiate both expiration notices based on the calculated expiration

date and transactions when a buyer choosing to “purchase (aka “bid on”) the item the ad

represents.

Transactions, in turn allow for the creation of ratings, which are evaluations of the transactions

by both buyers and sellers. So when the rateTrans() method is called, a rating instance is born.

Transactions also make it possible for payment to take place, taking the user to an external

system for the actual transaction to take place and then, once the message is received that the

transaction is complete via the verifyPayment operation, the system records the payment

information.

Undoubtedly, there are other possible models, but we choose this model because we thought it

solved the domain problems most simply and efficiently, reusing and redistributing main classes

as needed.

Chapter 3: Physical Design

7. Data Model

7.1 Relational Schema

DBayMember (memberID, name, email, password, verified, status)

MemberProfile(profileID, memberID, aboutMe, associatedTransactionID, associatedRatingID)

Foreign Key memberID references DBayMember (memberID)

Foreign Key associatedTransactionID references Transaction (transID)

Foreign Key associatedRatingID references Rating (ratingID)

Verification (verificationID, memberID)

Foreign Key memberID references DBayMember (memberID)

Ad (adID, sellerID, itemTitle, category, description, expirationDate, price, flag)

Foreign Key sellerID references DBayMember (memberID)

Photo (photoID, adID, title, size)

Foreign Key adID references Ad (adID)

Transaction (transID, buyerID, sellerID, adID, paymentID)

Page 41: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Foreign Key sellerID references DBayMember (memberID)

Foreign Key buyerID references DBayMember (memberID)

Foreign Key adID references Ad (adID)

Foreign Key paymentID references Payment (paymentID)

Payment (paymentId, amount, type, paymentVerificationNum)

Rating (ratingID, rating, transID, memberProfileID)

Foreign Key memberProfileID references MemberProfile (profileID)

Foreign Key transID references Transaction (transID)

SysAdmin (sysAdminID, name, email, pw)

Confirmation (transID, memberID)

Foreign Key memberID references DBayMember (memberID)

Foreign Key transID references Transaction (transID)

ExpirationNotice (adID, memberID, finalExpDate)

Foreign Key memberID references DBayMember (memberID)

Foreign Key adID references Ad (adID)

EmailedQSeller (emailMaskID, memberID)

Foreign Key memberID references DBayMember (memberID)

Chapter 4: System Evaluation

8. Evaluation

8.1 Evaluation of Project

Our choice of the DBay commerce system for the final project was influenced by several factors.

Initially, it seems as though all three of us, individually, decided that, not only was the healthcare

informatics option not quite the sort of project we saw ourselves wholly embracing, but the

trends on the board seemed to indicate that a majority of our classmates were moving in that

direction, and beyond that, there seemed to be a sense among us that a DBay system, loosely

modeled on such extant systems as Craigslist and ULoop, would be a great – even if

Page 42: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

hypothetical – benefit to the Drexel community, since it would be a completely closed system in

which Drexel students and faculty could feel free to barter and sell amongst themselves without

any fear of scams or phishing intruding, since no one would be allowed inside the system

without a valid, current Drexel email address. And, quite frankly, we felt it would be a fun

challenge to build this type of commerce engine, since so many extant commerce engines are,

essentially, devoted entirely to commerce, with no checks on who is permitted to join and no

real method of arresting potential scammers beyond word-of-mouth. As it happened, we found

this to be an issue in our system, as well, but we believe that can be chalked to the nefarious

nature of certain people, and the benefit of the DBay system is that, at the very least, we can be

assured that anyone who attempts such measures can be certain to be a member of the Drexel

community, and so thus is much easier to block or eradicate.

As is generally the case with systems of this nature, what seemed on the surface to be a fairly

simple and intuitive undertaking turned out to be far more complex than we had initially

suspected; the DBay system has a single primary actor and only a handful of base use cases,

and yet, upon drilling down into the system, we continually ran into contingencies that needed to

be assimilated or neglected, depending on weight and importance. Much debate was devoted to

such seemingly trivial issues as “Do we allow BrowseAds, or is SearchAds sufficient?” and

“Should ads with photos count as an extend case, or should that be its own base case? Or

should we just add the ability to upload pictures onto CreateAd?” and “How many different

confirmations do we need to represent, and are any of them driven by the system itself?”

In light of this, we believe the quality of our specification to be entirely sufficient, albeit likely

lacking some nuance and detail due largely to our own unfamiliarity with the material at the

outset. That said, we continued to refine our processes and scope throughout the course of the

project by virtue of regular communication and collaboration via GChat and Google Drive. It is

Page 43: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

fair to speculate that, were we given more time, we would have uncovered more usability

requirements and further ways to refine what remains a fairly simple, albeit functional, system;

at the very least, we would have, with time, gained more facility with UML and all of its attendant

accoutrements, and, ideally, have begun prototyping and testing the system.

It’s difficult to say now what we might have done differently, considering the fluid and adaptive

nature of our knowledge base throughout the course of this project. Obviously, it’s fairly easy to

speculate that we’d have come to our conclusions a bit more rapidly were we more familiar with

the structure and tenets of UML – and so, thus, might have had the opportunity to build a bit

more functionality and flexibility into the system – but on the whole it’s fair to say that the

methodology that we established at the outset of this project would have been readily

sustainable had this project stretched on ad infinitum. We may have initially delegated

responsibility differently, depending on inherent and emergent strengths, but for the most part

our group adapted easily in accordance with the requirements and parameters of the

assignment, and there was no strife or calculation, just a firm resolve to learn what had to be

learned and do what needed to be done.

8.2 Evaluation of UML and Tool

Throughout class lecture, readings, and activities, we have become familiar with the Unified

Modeling Language (UML) and how it applies in system design and analysis. The focus of this

visual language has become apparent throughout the course. We have not only seen through

lessons, but now through first hand design how UML deconstructs the artifacts of a system to

specify, reconstruct, and document the elements within.

Page 44: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Our Dbay system, though seemingly simple in design, is best described by the creator, and

explained to the user, through the use of various modeling tools. The modeling tools in which

we used to dissect our system created the ability to outline its functions through textual

description and visualization. In addition, modeling also provided the benefit of validating the

DBay system actions and actors, and clearly communicating iterations.

When selecting a modeling tool within UML, it is critical to plan ahead as to why this tool is

necessary and how it will be used. Our first modeling tool used in the design of DBay was the

Use Case Model which allowed us to model the system’s functionality and environment within

the requirements of the system. Though use cases are text documents, a model may also

include a UML use case diagram to show the names of use cases, actors, and relationships,

which provides a clear context diagram of a system (Larman, 50). Both our case text

descriptions and our diagram, which was created in Rational Rose, depicted DBay and each

iteration within the system.

The use case scenarios and descriptions are connected to the creation of a domain model,

which will show related and important concepts (Larman, 111). The goal of a domain model is

to act as a visual guide of conceptual classes, ideas, things, or objects, in a real-world

perspective within a set domain (Larman, 134). As a part of each class, there are objects that

have attributes and connecting lines that represent associations between the classes (Larman,

150).

It was especially helpful in the design of our domain model to use Dr. Song’s guidelines. These

guidelines emphasized the importance of analyzing our problem statement and use cases to

identify the conceptual classes for our DBay system. Our team had multiple conversations

related to classes to discuss the functionality of the system and uncover any hidden. After the

development of the domain model, it was very enlightening to see just how important of a step it

Page 45: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

is within system design. It allowed us to continue to take logical steps of the development

process that contributes to the overall functionality of DBay.

After creating the domain class model, we gathered the system events and use case text and

created system sequence diagrams. These diagrams, created on LucidChart, illustrate input

and output events related to a system and show the external actors interacting directly with the

system. As a group, we illustrated three important use cases: createProfile, createAd, and

submitBid.

We then reconfigured these diagrams to create sequence diagrams for each of the three use

cases. A sequence diagram illustrates the interaction of objects with each other in a single use

case. The purpose of a sequence diagram is to place the order of messages into a time

sequence. These diagrams feature an object’s lifeline and the focus of control. They can be

used in context of the whole system, a sub-system or they can be attached to a use case (Song,

371). Our system design’s functionality became more established with these models,

continuing to exhibit functionality with step by step actions conducted between the actor and the

DBay system.

Offering a different perspective of the DBay system is the design class diagram (DCD). DCD

emphasizes the logic and software design of the system, as well as solutions to meet

requirements within the system (Larman, 213). The DBay system stores and displays

information related to user profiles, and selling/buying items and services. Because of the

simplistic nature of our system, the design does not require complex requirements to solve

problems. In our DCD, we created a simple architecture to identify classes that could be

distributed and re-used to solve presented system matters.

Page 46: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

It is fair to say that had our group were given more time, we would have developed additional

modeling tools to continue to depict the functionality of the DBay system. The modeling tools we

used throughout the design of DBay proved to be critical to the overall analysis and

development of system. They enabled us to see that design does not lie solely in illustration

models, nor independently through text. The marriage of these two elements encompass a

critical element in the creation of software, enabling clarity amongst not only the creators of the

system, but its potential users.

References

Craigslist. (2015). Retrieved from http://www.craigslist.org Ebay. (2015). Retrieved from http://www.ebay.com Larman, C. (2005). Applying UML and Patterns, Third Edition. Upper Saddle River: Prentice Hall.

Rumbaugh, J., Jacobson, I., & Booch, G. The Universal Modeling Language Reference Manual, 2nd Ed.

Boston: Addison Wesley, 2004. Shelley, G.B. and H.J. Rosenblatt. (2010). Systems Analysis and Design. Boston: Cengage Learning. Song, I.Y. (2008). A Taxonomic Class Modeling Methodology for Object-Oriented Analysis. [PowerPoint Slides]. Retrieved from http://learn.dcollege.net ULoop. (2015). Retrieved from http://www.uloop.com

Appendix

9.1 Lessons Learned by Group Member

Justin Martin:

I learned that UML, with all of its extended processes and methodologies, is a tricky beast and

one not to be taken lightly. I learned – or, rather, had it confirmed to me – just how important it is

to be a part of a strong, reliable team, populated by endlessly capable people of great fidelity

and vigor.

Page 47: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

I learned that the assimilation process is lengthy in UML, but that, if you give it enough time and

effort, things eventually begin to clarify. I learned that it’s worth it to restate, and restate again,

the seemingly obvious. I learned that there is great enjoyment to be had in constructing

diagrams, even if you don’t necessarily do them accurately the first time. I learned that a task

can become simpler and more complex at the exact same moment. I learned that an email

confirmation screen can drive you to the brink.

I learned that even the simplest tasks can begin to seem infinite, once you begin to break them

down into their component parts. I learned we should never take for granted the grace of

clicking a button on a website and having it function as it should.

I learned what an “emoji” is, and why I should never use one.

Marie Martino

This was, hands-down, one of the most challenging projects in my experience at Drexel to date,

so I am especially grateful to have had a great teammates, the first key to a successful project!

With our analysis and design process, it was more difficult to work remotely, and I wish I could

have been the same physical space (replete with whiteboard) with my teammates, where we

could have imagined and refined our collection vision on the spot, drawing diagrams and solving

problems on-the-fly. That said, it goes without question that communication plays a significant

role to the realization of most endeavors, but especially one like this, where a seemingly minor

detail can actually make the project change direction if missed or miscommunicated. Overall, I

think our team did a fine job communicating despite the challenges of we faced interacting

online, but it actually increased our workload in some ways, having to communicate, perhaps,

more frequently and being more thoughtful and explicit about the ideas for which we were trying

to create understanding.

Another related “lesson learned” is the importance of language in the A & D process. If we had

to do it again, developing a formal data dictionary would have been a very useful tool right from

the beginning, rather than assuming our teammates all shared the same definitions and

understandings of words that might represent a concept or class or other abstract notion.

Sometimes, we found ourselves doing the opposite, using different terms to describe similar

things as well. I think we might have spent a good less deal of time defining/re-defining terms

farther into the process.

Page 48: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

Additionally, I cannot help but want to compare this experience, a mock scenario school project,

with a real-life systems analysis and design project. Interpersonal roles and relationships and

dynamics would be quite different in the real world. For example, in order to keep things fair, we

tried to keep the amounts of work even between teammates. We also divided leadership in

coordinating the the various aspects of the project. In some ways this compensated for not

having a formal project manager that a systems A & D team would have in the real world. The

professional serving in that role plans, schedules, monitors, and reports out regularly on project

progress. This person manages the budget, schedule and quality of the end product (Shelley &

Roseblatt, 2001, p.102). Systems development without project management is utterly

impossible. So in some ways, while our team did not have to manage costs, we did have to

balance time spent with the quality of the end-product. In some sense, each team member was

a project manager, coordinating some micro-facet of the project.

Finally, using UML was both extremely rewarding, albeit equally as challenging. I understand

the value of this powerful modeling language, even if I still struggle to understand the more

advanced aspects of it. Being a visual thinker of sorts, I am amazed at how well UML provides

professionals with a way to document the organization and implementation a system throughout

the whole system analysis and design process, in such an economical and organic way. On the

other hand, I wonder if it is common to get bogged down with maintaining the documentation,

which in some ways goes against an agile design method. As we moved through various steps

in the process, we had to keep track and go back to update previously generated documents to

match the later ones. That said, I wonder, again, drawing a distinction between this learning

exercise and the use of UML in the real world, how widespread and frequently UML might be

used in the software industry and why or why not.

As with most group projects, the fear of dividing and conquering with unfamiliar classmates is a

scary idea, so I am lucky to have worked with such driven individuals. Though working together

virtually presented a few challenges, it encouraged constant communication, which gave us

momentum to work through this project.

The analysis and design project brought the lectures and readings alive, integrating a firsthand

experience to UML and modeling. Throughout the book, Larman expresses his dislike for

waterfall methodology, and after completing this project, I can see why. It was so critical to

break design up into sections, because our descriptions and requirements would change as we

continued to move on in the process. Had we been able to perform code and testing, this would

Page 49: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team

have been given even more light for the progression of our design, but for now, I will just

recognize its importance.

The process of UML is lengthy, but offers a way to incorporate both textual descriptions and

visual representation. I think it is important to combine both of these processes of modeling so

it can provide gradual movement in design and analysis. This project was very challenging, but

did paint a detailed picture of software development.

9.2 Team Work & Division of Labor

Our division of labor emerged fairly organically, through discussion, as did much of this project.

Initially, we divided the labor according to tasks, but upon further examination of the

requirements document we realized that that was erroneous, and so thus we altered our

methodology to reflect the specific necessities of the project. We had regular virtual meetings

via Google Hangouts, during which we discussed in depth the then-current status of the

individual elements of the project on which we were each working. Each one of us completed

the requirements as directed, and remained in regular contact via email and Hangouts in order

to lend support and insight. Additionally, because of how we divided the work, each member

took leadership within different areas of the project. We all shared tools and resources, learning

from each other and relying on each other’s feedback to sort out various questions and

challenges about the tasks at hand.

9.3 Unsolved Problems

We wondered, late in the process, about the real-world application of these methods: in other

words, were one or all of us to be hired by a company or organization tasked with building these

sorts of engines, would we be faced with the same methodology and format that we used on

this project.

Page 50: Systems Analysis & Design of DBay, an Online Market Space ......Systems Analysis & Design of DBay, an Online Market Space for Drexel University Final Project INFO 620 Spring 2015 Team