Download presentation
Presentation is loading. Please wait.
1
Real Estate Investment & Review Tool
Team #2 - 15th October 2018 Alex Miller - Ashley O’Brian Venkata Sravanti Malapaka - Yuxuan Chen - Yonghyun Cho Md Shadman Rafid - Shiraksha Rao - Vikram Mudaliar Webber Wang - Jose G. Vicente H.
2
Agenda Remote Team Member Operational Concept Description Requirements
Prototype Architecture Life Cycle Plan Feasibility Evidence Quality Focal Point
3
Remote Team Member
4
Team Strong Points Operational View Technical View
Team members are very collaborative and goal oriented, they are always willing to help. Everybody has taken up their role and has been productive. Team members are always eager to learn new technologies (AngularJS, GraphQL) and tools (JIRA, GIT). Team keeps regular communication using “Whatsapp” and “Slack”. Weekly meeting. Team uses effectively the free resources provided by internet. Ex. Google Drive, Google Docs.
5
Team Weak Points Operational View Mitigation Technical View Mitigation
Difficult to set meeting hours where everybody is available due to different personal schedules. Using internet resource as “doodle” we can find the time periods that fits the best for most of the team members. As this is a two semester project and some of the team members will be not in second semester. We are going to lose knowledge. Make sure that the architectural decisions and code are well documented. Technical View Mitigation Most of team members don’t have experience in IT industry. Look for expert experience in current course, in internet, and using it as reference. Most of team members don't have experience using Angular JS or GraphQL. Look for tutorials and documentation in internet.
6
Technical Concerns And Solutions
AngularJS requires a lot of JavaScript files to load and this can result in website performance issues. Dynamic on demand load of JavaScript files using other products like RequireJS. Module dependency management Create unit and integration tests. Incorrect or inadequate interfaces with other systems like Zillow or Google API. We need to manage versions of the web or rest APIs provided by Zillow and Google. GraphQL poor performance for complex queries. Enabling Apollo Engine to cache query results for a certain time. Deficient website usability and understandability.. We provide prototypes to the client in order to know if the design is going well.
7
Operational Concept Description
8
System Purpose The Real Estate Investment and Review Tool is built for people with money who would like to invest on property to rent out. This allows prospective investors a medium to search for trustworthy and capable service providers. Investors can keep track of the financial performance of their properties. Users can review and rate service providers with whom they have worked or know. Service providers can reply to reviews on their page. People can discuss on different topics the discussion boards. Admin can use the blog to post about related topics.
9
Shared Vision Create a web application to find, review, rate and discuss about Service Providers in real estate sector. Web application to allow users to track their investments. Provide service providers ability to reply to reviews about them. Provide the admin with an ability to access the website usage statistics, to post on the blog and to moderate the site.
10
Program Model Stakeholders Initiatives Value Propositions
Assumptions: Users will use the website once its deployed. Website will always be up from the server side. Website is able to connect with Google and Zillow APIs. Client (Maintainer) keeps the system updated and moderated. Users provide and add to the list of service providers over time. Stakeholders Initiatives Value Propositions Beneficiaries Developers: Team Members Client: Alex Miller Ashley O’Brian Maintainer (Admin): Users: Investors Service Providers Develop the website. Provide Requirements Win Conditions Hosting the System Feedback/Input Provide initial Service Provider data to populate the system. Use the System Test the System Moderate the Site Post on the Blog Add service provider data when needed Provides a trustworthy platform for new investors to search for service providers in an area no known to them. Decreases the amount of time, effort and money previously spent by investors to search for service providers Allowing investors to track the financial performance of their past investments which they used to do in the past with the help of an excel spreadsheet. Decreases the complexity of tracking the financial performances of investors’ properties. Client Unregistered Users
11
Benefit Chain Diagram
12
System Boundary & Environments
13
Element Relationship Diagram
14
Review Service Provider
Core Capabilities Capability Description Priority Login/Logout Any registered user should be able to login/logout using the address and password they used to create their account High User Types The user privileges should be separate according to the type of user one is i.e. Unregistered user, Investor, Service Provider, Admin etc. Search Any user registered or unregistered should be able to search for service providers by any field like name, area, address etc. Review Service Provider Any registered user should be able to review and rate a service provider. Track Investment Any Investor who has added properties to his/her profile can track the financial performance of those properties using the tracking tool Add Service Provider Any registered user can create a new profile for a new service provider providing all the required information as required by the website. Reply to Reviews A service provider should be able to reply to any review left on his/her page.
15
Level of Service Goals Level of Service Goals Priority
Browsers Supported: Safari, Firefox, Chrome, Edge High RWD/Mobile Capability: Desktop, Laptop, Smartphone Database Scalability: Be able to handle and ever increasing list of service providers and users in the website System information shall always be accessible to manager or admin System shall be able to differentiate between different users accessing the website.
16
Organizational Goals Organizational Goal Priority
Provide a trustworthy and easy to access platform to provide service provider data. High Provide investors easy means of tracking financial performance of their investments. Provide service providers a free platform to advertise and market their businesses. To reduce the physical and financial costs for prospective investors to look for service providers for their properties. To provide the community a means of discussing different topics and occurrences related to the real estate industry Medium
17
Constraints API Requirements: System should be able to extract information from Zillow, Google and other APIs required to track the financial performances of properties added by investors. OS Requirements: The Client wanted the development of the website to be Windows centric.
18
Business Workflow Search Service Providers - User
Write Review – Registered User Business Workflow
19
Business Workflow Create New Service Provider Page- Registered user
Create New Service Provider Page- Service provider Business Workflow
20
Business Workflow Add, Compare Track Property - Investor
Read and reply to review - Service Provider Business Workflow
21
Business Workflow Read or Share blog –User
Read, Create, Join Discussion – Registered User Business Workflow 21
22
Requirements
23
Win Conditions Priority Score Win Win Condition 0.850 0.813 WC- 1
As a registered user, I can reset my password through an authentication system 0.850 WC- 2 As a non-registered user, I can create an account from a link on the home page 0.813 WC- 2.1 Registered user can make pages or profiles for service providers WC- 2.2 As a registered user, I can choose to activate two factor authentication for login WC- 2.3 Registered user can login using Social Media sites
24
Win Conditions (Contd)
Win Win Condition Priority Score WC- 3 As a registered user, I can manage investments to my investment profile 0.781 WC- 3.1 Registered user can track an investment property by inputting the address, rent, purchase price, loan amount, down payment, and expenses WC- 3.2 Registered user can export my tracking tool data to a “CSV” file WC- 3.3 Registered user can see the performance of my investments over time using the visualization tool WC- 4 As an administrator, I can view website utilization statistics 0.698
25
Win Conditions (Contd)
Win Win Condition Priority Score WC- 5 As an unregistered/registered user, I can view a list of service providers 0.650 WC- 5.1 Unregistered/registered user can search for service providers WC- 5.2 User can find a service provider by , phone number, or name WC- 5.3 User can I have access to service providers contact information WC- 5.4 Non-registered user can search service providers by state, city, and service type (eg. Real Estate Agent, Property Manager, Contractors, etc)
26
Win Conditions (Contd)
Win Win Condition Priority Score WC- 6 As a registered user, I would like to leave reviews for service providers 0.594 WC- 6.1 Service provider can see the reviews posted about them by others. WC- 6.2 Registered user can rate a service provider without leaving text reviews WC- 6.3 Registered user can vote on reviews WC- 6.4 Verified Service provider can reply to reviews left on their page WC- 6.5 As a non-registered user, I can read reviews
27
Win Conditions (Contd)
Win Win Condition Priority Score WC- 7 As a site admin, I have at least all of the same permissions as a registered user 0.523 WC- 7.1 Administrator can verify the identity of a Service provider WC- 7.2 Administrator can post articles to the blog WC- 7.3 Admin can remove a flagged user WC- 7.4 As an administrator, I can moderate the user created content
28
Win Conditions (contd)
Win Win Condition Priority Score WC- 8 Registered use can adjust their notification settings 0.239 WC- 8.1 As a user (investor or service provider), I will receive notifications by about the comment reviews others have registered WC- 9 Non-registered user can read the site blog 0.230 WC- 9.1 Non-registered user can share blog posts on popular social media applications through links inside of the blog WC- 9.2
29
Win Conditions (contd)
Win Win Condition Priority Score WC-10 Registered user can start a discussion in the discussion board of the site 0.227 WC-10.1 Non-registered user can read the site discussion board WC-10.2 Non-registered user can search the discussion board using text input
30
Prototype
31
Service Provider List - (backup slide)
32
Service Provider Search - (backup slide)
33
Service Provider Profile - (backup slide)
34
Review - (backup slide)
35
Review - (backup slide)
36
Review - (backup slide)
37
Investments
38
Investments
39
Investments
40
Architecture
41
Top Level Logical Architecture
42
Top Level Physical Architecture
43
Class Diagram
44
Unregistered User Use Cases
45
Investor Use Cases
46
Service Providers Use Cases
47
Administrator Use Cases
48
System Context Diagram
49
Unregistered User Use-Cases
REAL ESTATE INVESTMENT AND REVIEW TOOL
50
Registered User Use-Cases
REAL ESTATE INVESTMENT AND REVIEW TOOL
51
Admin Use-Cases REAL ESTATE INVESTMENT AND REVIEW TOOL
52
Life Cycle Plan
53
Key Stakeholders STAKEHOLDERS ROLES Alex Miller
Client and Website Maintainer Ashley O’Brian Client Shriraksha Rao Feasibility Analyst, Trainer Yonghyun Cho Requirements Engineer, Developer Yuxuan Chen Developer/ Prototyper, Trainer Vikram Mudaliar Life Cycle Planner, Software Architect Md Shadman Rafid Operational Concept Engineer, Trainer Venkata Sravanti Malapaka Project Manager, Software Architect Webber Wang Tester, Quality Focal Point, Developer Jose Gabriel Vicente Hernandez IV and V, Tester
54
Future Plan 1/2
55
Future Plan 2/2
56
COCOMO II Scale Drivers
Factors Scale Rational Precedentedness Very Low No existing or similar System Development Flexibility Nominal Client’s negotiation is achievable and requirement is acceptable Architecture/Risk Resolution Majority of the risk is avoidable by following mitigation strategies Team Cohesion High Seamless Interaction in the team Process Maturity ICSM Principle Process Maturity - KPA (Key Performance Area)
57
COCOMO II Cost Drivers Login:
DATA - Larger DataSet because of login credentials CPLX - Moderate Level Computational Operation & simple GUI builder SITE - Multisite Development (Multicity and Phone) Investment Page: CPLX - Use of standard math and statistical routines Tool - Software tool - Chart.js
58
COCOMO II Cost Drivers Search SP
CPLX - Use of standard matching technique SP profile RELY - Required Software reliability (Trust requirement) CPLX - Evaluation of simple expression and simple read and write statement RUSE - The code can be reused for Investor’s profile creation
59
COCOMO II Cost Drivers ●Analysis Result: SLOC: 15129 Effort needed:-
Optimistic: 26.6PM Most Likely: 33.1 PM Pessimistic: 41.4 PM ●Total time: 152 Hours/PM
60
Feasibility Evidence
61
Google Authentication API
Analysis of NDI & COTS COTS Purpose Get Zestimate API •Extract the price associated with the properties Google Authentication API •Google Sign-In a secure authentication System instead of User Login •Connecting to Google user and service securely AngularJS •Comprehensive for Frontend development •Easier Data binding •Popular Language now and in near future NodeJS •High performance •Tight binding between Client and Server •Data Streaming - reducing the overall duration of the process Google Places API •Determines the physical location of the business •Provides places autocomplete and Query autocomplete
62
Business Case Analysis
Objective ○Analyze cost and benefit of the project ○Calculate ROI value Steps ○Cost Analysis ○Benefit Analysis ○ROI Analysis
63
Business Case Analysis – Cost Analysis
Cost includes Personal Cost , Hardware and Software Cost 1) Personal Cost Activities Time Spent (Person/Hour) Client Meeting 6 Win Win negotiation sessions 1 and 2 2 Weekly Team Meeting 4hr*4 week = 16 Development and Prototyping 12hr * 1 Person * 4 week = 48 Total 72 Maintenance Cost 2hr/week Total (PH/year) 108
64
Business Case Analysis – Cost Analysis
2) Hardware and Software Cost Type Cost Rationale Web Domain $12/yr Uses same infrastructure as Google as a result can be accessed faster AngularJS, NodeJS Free Free Frontend and Server side Scripting language GraphQL Free Data Storage – open source to fulfill query based on the available data APIs – Zillow, Google, Facebook, LinkedIn License Free APIs with License
65
Business Case Analysis – Benefit Analysis
●Non-financial benefits and cost ○Reduced amount of man-hour required to store and view the investment data ○Increase in Organization reputation and trust ○Easier to associate highly rated Service Provider with customer - increasing usability Activities & resources used % Reduce Time saved (Hours/Year) Investment tracking tool 98 62 Review of Service Provider 95 90 Total 152 Increase in Organization reputation and trust: the website will be the main point of contactbetween an Investor and Authorized service provide in or out of state
66
Business Case Analysis – ROI Analysis
●To determine the assurance of Project feasibility Year Cost Benefit Cumulation Cost Cumulation Benefit ROI 2018 72 -1 2019 108 152 180 -0.25 2020 118.8 298.8 304 0.02 2021 130.68 429.48 456 0.06
67
Business Case Analysis – ROI Analysis
68
Architectural Feasibility
69
Architectural Feasibility - LOS
Level of Service Requirement Product Satisfaction LOS-1: Usability - The system will represent User’s investments using graphical visualization tool Product Strategy: GraphQL, Zillow API,& Chart.js Process Strategy: Line graph can be used to represent the investment of the Investor over month LOS-2: Performance - System will search for only authorized service provider based on location and Professional information Product Strategy: Google Places API Process Strategy: Maps the search to the location determined by the user LOS-3: Responsive - The system should be rendered properly on various browsers/devices Product Strategy: AngularJS - Custom Directive Process Strategy: Testing the website on different platform
70
Architectural Feasibility – Capability Feasibility
Capability Requirement Product Satisfaction CR-1: Locate Service Provider Software/Technology used: GraphQL query Feasibility Evidence: Obtains accurate Service provider based on their information store in DB CR-2: Chart for Investment Statistic Software/Technology used: Chart.js Feasibility Evidence: Simplifies adding chart to web application for visualization by the user CR-3: Login - using social media Software/Technology used: Social media APIs Feasibility Evidence: Develop a prototype to determine the feasibility of third-party system login Locate Service Provider: Determines the Service providers based on location and personal information Investment Statistic: Generates the investment statistics based on the range/feature provided by the investor
71
Architectural Feasibility - Evolutionary Feasibility
Evolutionary Requirement Product Satisfaction ER-1: Creating a Discussion Board on the website Software/Technology used: WordPress -> Forum Feasibility Evidence: Easy to create and use by the Registered User ER-2: Creating a Blog section Software/Technology used: WordPress Feasibility Evidence: Allowing people to interact and comment with ease
72
Risk and Risk Mitigation
P(L) S(L) RE Risk Mitigation Update and Upgrade to API 8 5 40 Risk Avoidance - Compatible code and Reference/incremental checking Data Privacy and Security 2 7 14 Risk Transfer – Mitigating risk by using Encryption standards or COTS Data Reliability 4 Buying Information – Authorizing the Service provider based on the approval from the organization Risk Exposure Data Privacy and Security - third party tracking system embedded in the website
73
Quality Focal Point
74
Traceability Matrix WC-3: Investment tracking WC-5: Service Providers
Requirements ID Verification Type Test Identifier Test Case [WC-1] A registered user can reset password through Testing [TC-01] Password reset [TC-01-01] Check that a user can request & reset password using a URL [TC-01-02] Check that the user can login with the newly reset password. [WC-2] A non-registered user can create account from a link on the home page [TC-02] Account creation [TC-02-01] Check that the signup on home page links to the signup form [TC-02-02] Check that the signup form successfully registers a new user [WC-3] A registered user can manage investments on the investment profile page [TC-03] Investment tracking tool [TC-03-01] Check that a registered user can add an investment property with property details WC-3: Investment tracking WC-5: Service Providers
75
Traceability Matrix (Contd)
Requirements ID Verification Type Test Identifier Test Case [TC-03-02] Check that a registered user can export the tracking data to a “CSV” file [TC-03-03] Check that a registered user can view the investment metrics with a visualization tool [WC-4] An admin can view website statistics Testing [TC-04] Website Analytics [TC-04-01] Check that admin can view analytics such as site traffic, bounce rate, avg time on page [WC-5] An user can view a list of service providers [TC-05] Viewing service providers [TC-05-01] Check that both registered & unregistered have permission to view service providers
76
Traceability Matrix (Contd)
Requirements ID Verification Type Test Identifier Test Case [TC-05-02] Check that service providers can be searched for using , phone number, name, location, or service type [WC-05-03] Check that the service provider’s contact info is available for the user [WC-6] A registered user can leave reviews for service providers Testing [TC-06] Review system [WC-06-01] Check that a registered user can leave reviews for providers [TC-06-02] Check that a registered user can leave reviews without text [WC-06-03] Check that a service provider can read their own reviews given by others
77
Traceability Matrix (Contd)
Requirements ID Verification Type Test Identifier Test Case [TC-06-06] Check that a registered user can vote on reviews (like/unlike) [TC-06-07] Check that only a verified service provider can reply to reviews [WC-7] An admin has at least all of the same permissions as a registered Testing [WC-07] Admin privileges [WC-07-01] Check that an admin can edit the verification status of a service provider [WC-07-02] Check that an admin can delete a flagged user [WC-07-03] Check that an admin can delete user content
78
Traceability Matrix (Contd)
Requirements ID Verification Type Test Identifier Test Case [WC-8] Registered user can adjust their notification setting Testing [TC-08] Notification system [TC-08-01] Check that a registered user can update notification setting in his profile [TC-08-02] Check that a registered user receives a notification when a review is posted [WC-9] Non-registered user can post blogs [TC-09] User permissions [TC-09-01] Check that a non-registered user can share blogs using a link [TC-09-02] Check that a non-registered user can read a blog [WC-10] Non-registered user can start a discussion on the discussion board [TC-10-01] Check that a user can start a discussion [TC-10-02] Check that a user can search discussions using text input
79
Traceability Matrix Summary
Completed Incompleted Total Requirements 2 8 10 Passed Failed Untested Total Test Cases 5 1 19 25
80
Defect Injection and Removal Matrix
Avoidable Defects: Modules dependency could be broken. COTS package may not integrate with codebase Unavoidable Defects: C. Diagrams don’t reflect the current requirements D. Inability to test on client’s server environment Defect Injection Phase Defect Removal Step Requirements Design Coding Total Requirements Review C 1 Design Review B Testing D A 2 Customer Detected 4 Map each defect by which phase the defect started in, and when it phase it can be removed
81
Quality Management Strategy: Defect Prevention
Priority Level Description Buying Information High Team Identify key risk areas through prototyping, allow better resource managements. Following good coding standard Personal, Team Good practices help reduce number of bugs introduced Version control Version tracking allows work to be merged more easily Peer Review Medium Team review helps coders catch errors before committing them to the codebase Team Meetings Weekly meetings can help prioritize and mitigate risk
82
Quality Management Strategy: Defect Detection
Automated Testing: Unit test the individual modules before system wide integration. Integration tests validate modules still work after integration Code linting: Run a program that analyzes code for potential errors Checks for adherence to coding standards or conventions UI/UX Testing: Test for functionality & performance of user interface Code Review Help identify additional bugs that automated tests can’t catch
83
Quality Management Strategy: Defect Tracking
Jira Each defect is created as a new issue with Issue Type “Bug” Quality Focal Point will prioritize defects and assign them accordingly Bi-Weekly Risk and Defect Report: All team members may contribute additional risk items to the report Track progress of identified defects and quality of solutions
84
Technical Debt Description Category 1 Category 2 Fixed? How to fix it?
Active Weeks Lack of unit tests and integration tests Methods, Tools & Process Shortfalls Prudent Deliberate No Need to schedule time for create unit test and integration tests. 2 Undocumented code Need to schedule time to comment code. Our system has technology that not all developers are familiar with Personal Shortfalls Reckless Inadvertent Yes Need to delegate portions of development to proper teammates 1
85
Definition of done Code associated to the requirement completed.
Code with unit and integration tests. Code well commented. Code reviewed for at least two different developers. Feature related to code tested in standalone server. Non-functional requirements accepted. Feature accepted by product owner. End-to-end user testing
86
Metrics considered by the team
Requirements Volatility - number of changes in System requirements, each week Developer Code Review 3. Test Defect per LOC- measuring test defects incrementally whenever there is an increase in the number of lines of code (per added feature)
87
Questions
88
Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.