CSE 3310 – Fundamentals of Software Engineering

Term Project – Fall 2010

Project Title: Stock Trading System (STS)

Objective: Design and implement a web-based application to allow customers of small brokerage company to open an account and perform stock related activities.

STS definition: Your team has been employed to design and implement a software application for a small brokerage company with multiple locations across the United States. This web-based application should allow their customers to perform various stock related activities such as checking stock prices and news, buying and selling stocks. They would like to have the system up and operational during the first week in December of 2010 just in time for the 2011 trading year. In addition to the minimum set of requirements listed below, they are open to any recommendations in functionality as well as look & feel of the application.

Project Duration: 3 months (Start date: Sept. 16, 2010; End date: Dec. 9, 2010)

Preferred environment: Project must be web-based

Minimum required functionality: The project must minimally include the following requirements:

  1. “Logon” functionality should be sued to authenticate users (i.e. user/password required).
  2. “Account setup” functionality must be supported that includes all customer data such as home and mailing address, e-mails, phone numbers, social security number, date-of-birth, account types and other relevant information.
  3. Three account types must be initially supported: Personal account (i.e. after tax money), Individual Retirement account (IRA) and Roth-Individual Retirement Account (Roth-IRA). The system should allow for expansion in account types. The system should automatically generate an account number at the “Account Setup” time.
  4. “Account maintenance” functionality must be supported to allow making changes to all personal and financial information including address, phone, marital status, beneficiary information and others. Closing accounts must also be support from “account Maintenance”.
  5. “Cash management” functionality must be supported to allow entering money in and out of the account.
  6. “Transaction” functionality must be supported that allows:
  7. Buying and selling stocks
  8. Supported orders include: “Market”, “Good-Till-Cancel” (60 days), “Stop loss”
  9. Canceling orders
  10. Other transaction types such as buying/selling: Mutual funds, futures, call/put options, hedging, selling shorts and currency trading are not required for the first release.
  11. “Transaction History” functionality must be supported to display the history of all transactions for a user.
  12. “Quotes” functionality should provide the latest price of any stock (development of this functionality is optional. A link is sufficient, e.g. use Yahoo Finance or similar sites to get quotes).
  13. “News” functionality should provide the latest news on any stock (development of this functionality is optional. A link is sufficient, e.g. to Yahoo Finance or similar sites to get news).
  14. Additional requirements might be added until Sept. 30th, 2010

Required Progress & delivery: Delivery must be conducted in the following phases:

Ø  Phase I– due Oct. 7, 2010: All non code artifacts (i.e. SRA and UML will be submitted on Oct. 7, 2010, Results will be presented in class on Oct. 5 & 7)

Ø  Phase II– due Dec. 9, 2010: Final product (i.e. Project demo, source code and external documentation also referred to as user manual)

Assumptions:

Ø  Brokerage rule varies considerably for different countries. Consider US stocks only.

Ø  Ignore any network issues.

Ø  Ignore any contract negotiation and legal concerns. Keep in mind, in real life; this is one of the most important aspects of the project. Try to maintain the full control over the source code whenever possible.

Ø  Ignore Post project maintenance issues

Ø  Ignore Tax reporting to IRS

System/environment considerations:

Ø  You may choose to support one kind of browser (e.g. IE) or multiple browsers (e.g.IE, Firefox, …)

Ø  Select any database type (e.g. MS-Access, Oracle, Sybase, MS SQL Server, etc.)

Ø  Project must be web-based

Ø  Development language and environment is optional.

Team requirements:

Ø  All team members must participate equally in all stages of the project. A peer review will be conducted to validate participation.

Ø  All members must participate in presenting a segment of the project. Two team members will present the artifact portion (i.e. SRA and UML). The other two members will present the final product.

Recommendations:

Ø  Hold an initial JAD (Joint Application Development) session for personal introduction with your team members as well as reviewing the project requirements and specifications. Exchange phone numbers, e-mails, and setup a regular meeting time suitable for all members. Preferably select a team member to help facilitating communication among team members.

Ø  Select your process model (e.g. Waterfall, Incremental, etc.) and present as part of your Phase I delivery.

Ø  Research the web for existing products to help you deliver a better project.

Ø  Think broadly when designing your application. Often you have the ability to customize your product for other clients and/or businesses.