-
Notifications
You must be signed in to change notification settings - Fork 1
Requirements & Specifications
v1.0 - 2023.10.08 Initial version
v1.1 - 2023.10.22 Updated Competitive Landscape, User Interface, User Stories
v1.2 - 2023.11.05 Added User Stories, Updated User Interface
v1.3 - 2023.11.19 Selected user stories to be evaluated during UAT
v1.3 - 2023.11.29 Updated for UI
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.
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.
도미노 | 주식일지 | EmoStocks | |
---|---|---|---|
1일 매매일지 작성 | O | O | O |
Calendar을 통해 기록 확인 | X | X | O |
입력한 종목 리스트업 | O | O | O |
감정-수익률 분석 리포트 유무 | X | X | O |
메모에 감정기록란 존재 유무 | X | X | O |
Functional requirements focus on what our application is supposed to do. The mandatory features in our product are included.
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. |
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. |
User stories to be evaluated during UAT: 1, 2, 4, 5, 6 UAT Sheet Link
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.
As a registered user, I want to record my current emotion, so that the app can analyze changes in my emotions and the resulting return on investment.
- Scenario: A user records his emotion.
- User Acceptance Criteria: Given that a user is signed in and at the main page, when the user clicks on the blank space below today's date on the calendar, then the user should see an emotion record pop-up window. If the user selects an emotion, enters text, and presses the 'Record' button, then the pop-up window should close and the recorded emotion should be displayed on the calendar.
As a user who recorded today's emotions, I want to change the recorded emotions.
- Scenario: A user modifies recorded emotion.
- User Acceptance Criteria: Given that a user is at the main page and has already recorded today’s emotion, when the user clicks on the recorded emotion below today's date on the calendar, then the user should see an emotion record pop-up window. If the user selects another emotion and presses the 'Record' button, then the pop-up window should close and the modified emotion should be displayed on the calendar.
As an investor who made a stock transaction today, I want to enter stock purchase records, so that I can update my stock balance.
- Scenario: A user enters a stock purchase record.
- User Acceptance Criteria: Given that a user is on a screen for adding stock transaction details and does not have Samsung Electronics stocks in his balance, when the user selects Samsung Electronics from the search results and clicks the ‘Add Purchase Details’ button, then the purchase details entry screen should be displayed. If the user enters 69,000 won as the purchase price and 10 as the quantity, then 690,000 won of Samsung Electronics stock should be added to the user’s balance.
As a stock investor, I want to check my stock reports, so that I can get news and analysis related to my stock items that I own.
- Scenario: A user checks his stock report.
- User Acceptance Criteria: Given that a user is signed in and at the main page, when the user presses the “Stock tab” button, then the user should see his stock balances as well as the stock report, which includes a summary of news and analysis about the user’s stocks.
As a stock investor, I want to check my investment weekly 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 weekly 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.
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. |
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. |
- 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.