Skip to content

Requirements & Specifications

Junseok Lee edited this page Oct 8, 2023 · 46 revisions

Document Revision History

v1.0 - 2023.10.08 Initial version

Project Abstract

  EmoStocks is a supplementary mobile application designed to assist stock traders in making healthier, emotion-free investment decisions. Recognizing that maintaining records is essential for improving trading profitability, the app encourages users to reflect on their past trades, facilitating opportunities for feedback that can enhance future trading success. Users prone to emotional trading tendencies stand to benefit significantly from this app. EmoStocks starts by analyzing users' investment preferences through a brief initial survey, establishing default settings accordingly. Subsequently, users can record their trades twice daily, before market open and after market close. Users are encouraged to faithfully document their emotions, moods, and trade details each day. EmoStocks leverages this emotional data to generate weekly and monthly reports, providing users with valuable insights akin to a trading diary. Users can comfortably utilize EmoStocks for day-to-day trading while also receiving regular analytical reports to aid them in achieving successful trades based on their emotional history. Ultimately, EmoStocks aims to empower traders to make rational, data-driven decisions and cultivate a healthier approach to stock trading, free from emotional biases.

Customer

  EmoStocks is targeting customers in the age range of 20 to 40 who are enthusiastic about stock trading, including students and working professionals. Specifically, our app is designed to cater to users who frequently engage in trading but experience significant fluctuations in their profitability, those who enjoy trading but do not maintain records or provide feedback on their past trades, and users who tend to trade emotionally and impulsively. These user segments are our primary focus for EmoStocks.

Competitive Landscape

  MyStock 주식매매일지 주식 다이어리: 주다 EmoStocks
1일 매매일지 작성 O O O
Calendar을 통해 기록 확인 X O O
입력한 종목 리스트업 O O O
주간, 월간 리포트분석 X X O
메모에 감정기록란 존재 유무 X X O

Functional Requirements

Functional requirements focus on what our application is supposed to do. The mandatory features in our product are included.

Key Personas and Their Goals

Primary Persona

Name 박지훈(Park Jihun)
Age 33
Sex Male
Job Office worker at a medium sized company
Goals - Increase return on stock investment (Priority: high)
- Conveniently check his stock balance and transaction history (Priority: low)
Explanation   Jihun has been working for a mid-sized company in Korea for 7 years. He holds about 30 million won worth of stocks for investment purposes. He reads stock-related news for about 5 minutes every morning and frequently checks stock prices during the day through the stock widget. He trades stocks using a mobile app(MTS) when he is away from home. When he comes home from work, he looks up information using the HTS app on his desktop. He is somewhat adventurous and tends to take some risks for profit.
  His ability to use IT devices is excellent. He actively solves the problems that arise while using a computer or smartphone, with his knowledge and the Internet.

Secondary Persona

Name 정유진(Jeong Yujin)
Age 22
Sex Female
Job Undergraduate student
Goals - Keeping records of each day’s investments (Priority: high)
- Relieve emotions and feelings felt while investing (Priority: medium)
- Convenient and emotional app use (Priority: medium)
Explanation   Yujin is a student attending a four-year university in Seoul. After she started investing in stocks about three months ago, she gradually increased her investment amount and currently holds stocks worth about 5 million won. She pursues stable investments and owns several stocks in small amounts. She checks stock prices and places orders two or three times a day. She only uses mobile apps when investing in stocks.
  Her ability to use IT devices is at an average level, having no problem installing and learning new apps.

Use Cases

Use Case 1

Actor Park Jihun
Goal Jihun wants to sign up.
Precondition Jihun is at the login screen.
Success end Account is created.
Failure end Account is not created.
Trigger Jihun presses the “Sign Up” button.
Main success scenario 1. Jihun presses the “Sign Up” button.
2. The system shows registration options, and Jihun presses the “Get started with Google account” button.
3. The system shows Google login page and Jihun signs in with his Google account.
4. The system shows an information input screen.
5. Jihun fills out all the required fields.
6. The system activates the “Get started” button.
7. Jihun presses the “Get started” button.
8. Account is successfully created and Jihun is redirected to the main page.
Extensions 1. Fail to sign in with Google account.
  1) The system notifies Jihun that the Google account ID or password is incorrect, and then returns him to the Google login page.
2. Already registered with the Google account that Jihun signed in with.
  1) The system shows a pop-up to inform Jihun that he is already registered with the Google account and asks him if he wants to log in with the account.
  2) If Jihun selects “Yes”, the system logs him in with the account.
  3) If Jihun selects “No”, the system returns him to the Google login page.
3. Jihun does not fill out all the required fields.
  1) The system does not activate the “Get started” button, notifying Jihun that all required fields have not been filled out.

Use Case 2

Actor Jeong Yujin
Goal Yujin wants to record her current mood/emotions.
Precondition Yujin is signed in and at the main page. She hasn’t recorded her emotions today.
Success end Emotion is recorded and shown in the calendar of the main page.
Failure end Emotion is not recorded.
Trigger Yujin presses the blank space below today's date on the calendar.
Main success scenario 1. Yujin presses the blank space below today's date on the calendar.
2. The system opens an emotion record window.
3. Yujin selects one of five emojis in the window.
4. The system activates the “Confirm” button.
5. Yujin presses the “Confirm” button.
6. The emotion is recorded successfully and the emotion record window disappears. The calendar on the main screen displays the emoji that Yujin selected under today's date.
Extensions 1. Yujin does not select any of the five emojis.
  1) The system does not activate the “Confirm” button.
2. Yujin presses the cancel button.
  1) The system closes the emotion record window.

User Stories

Story #1

As a new user, I want to sign up and create an account, so that I can start using the app.

  • Scenario: A new user completes registration.
  • User Acceptance Criteria: Given that a user has not registered, when the user presses the “Sign Up” button and signs in with his Google account, then the user should see the information input screen. If the user fills all the required fields and presses the “Get started” button, then the user should see the main page which includes a calendar.

Story #2

As a stock investor, I want to check my monthly investment report, so that I know how my emotions affect my investments.

  • Scenario: A user checks a graph showing the relationship between emotions and return on investment in his monthly report.
  • User Acceptance Criteria: Given that a user is signed in and at the main page, when the user presses the “Report tab” button, then the user should see the most recent weekly report. If the user presses the “Monthly” button at the top of the screen, the user should see the most recent monthly report, which includes a graph that shows the relationship between emotions and return on investment.

Non-functional Requirements

  • Performance Requirements:
    • Response Time: The application should respond to user inputs and requests within 2 seconds to maintain a seamless user experience.
    • Load Time: The initial loading time of the application should not exceed 5 seconds on standard broadband connections.
  • Scalability:
    • The system should be able to support up to 10,000 concurrent users without performance degradation, considering potential growth in the user base.
  • Availability & Reliability:
    • The application should have an uptime of 95%, ensuring that services are accessible to users the majority of the time.
  • Data Integrity:
    • The system must ensure the accuracy and consistency of data at all times, implementing validation checks and constraints to prevent data corruption.

User Interface Requirements

UI - iter1 documentation

Clone this wiki locally