Software Requirements Specification (SRS v1.0) For Mobile Real Estate Project Prepared by D. Destan Sarpkaya Advisor Assist.Prof.Dr. Onur Demir Yeditepe University 2011 1 P a g e
1. Introduction a. Purpose This Software Requirements Specification provides a complete software requirements for the Mobile Real Estate Platform and describes the design decisions, architectural design and detailed design needed to implement the system. The expected audience of this document is the project advisor, the jury and the developer himself. b. Scope Mobile Real Estate Platform is being developed as a graduation thesis at Yeditepe University Department of Computer Engineering. The project aims to ease the process of seeking and listing any real estate by putting all the work needs to be done in a mobile device. The system s key point is that it uses the location information both the users and the properties to give more precise and desirable results. It also aims to change the concept of online real estate business by providing users an easy-to-use and easy-to-access mobile application which fulfills any real estate need that could be done via a web browser. c. Definitions, acronyms, and abbreviations Android IEEE J2EE to List MoREP MVC ORM OS REST Android Operating System The Institute of Electrical and Electronics Engineers Java Platform, Enterprise Edition To put a property to the list in the system for sale or rent Mobile Real Estate Platform Model-View-Controller (Design Pattern) Object Relational Mapping Operating System Representational State Transfer d. References 1. IEEE Recommended Practice for Software Requirements Specifications, IEEE Std 830-1998 (Revision of IEEE Std 830-1993) 2. http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html 3. http://www.hibernate.org/about 2 P a g e
2. Overall Description This section of the SRS describes all general factors of the product and its requirements. a. Product Perspective i. System Interfaces The whole system consists of a database, a REST web service, and multiple mobile clients. Surely the system needs an internet connection between these components to communicate properly. Clients can be categorized into two groups according to their needs as buyers (or tenants) and sellers (or landlords). The clients can also be categorized into two groups according to their statuses in the system as registered and unregistered users. These components interact with each other to serve users as follows: ii. User Interfaces Only interface that a user can interact with the system is the mobile application which may only be run on any Android device. Since it is a native Android application it will have standard look and feel of the clients current theme. iii. Hardware Interfaces Server Side: REST Web service will be hosted on Apache Tomcat 6.0+ and since an ORM will be used the database should work seamlessly with both Oracle and MySQL. Client Side: The client application will run on any Android mobile device such as smart phones and pads as long as they have integrated GPS and internet connection. iv. Software Interfaces Server Side: REST Web service will be implemented using J2EE 6.0 with Spring Web MVC framework [2] and all data will be kept in MySQL database. All database operations will be done via Hibernate by integrating Hibernate [3] to server application as ORM. 3 P a g e
Client Side: The client application will run on any mobile device such as smart phones and pads as long as they have Android OS 2.0+ v. Communication Interfaces The HTTP protocol will be used to facilitate communications between clients and the server. vi. Memory At least 2GB of memory is needed for the host machine for web service to serve properly. b. Product Functions This section outlines all the main features of MoREP. i. Buyer (or tenant) Role When a user wants to buy or rent a property he/she simply opens the application and enters his/her criteria to see the candidate properties according to his/her wishes. MoREP provides 2 different ways of selecting the location, the most important criteria, of a property. Users can use a map screen and select a particular region. So the results are narrowed according to the user s location expectations. As another way the user may want to see the properties physically nearby to him/her then MoREP searches the properties not only meet the given criteria but also physically nearby to the person. MoREP provides such functionality by using location information comes from the GPS module. From the result list the user can pick one of them and see the property s details and contact information. If he/she decides to call/send SMS message/send e-mail to the contact person of that property he/she can do this from MoREP using Android s build-in messaging functions seamlessly and without the need of closing MoREP. If the user is a registered user, he/she can add the property to his/her favorites, can send an in-application-message to the contact person (this message appears only in MoREP application) or can add the property to watch list to get informed whenever a change is made to the listing of that particular property. 4 P a g e
ii. Seller (or landlord) Role When a user wants to list a property there is two cases. If the user physically in the property then he can list it in the system after 4 step. Taking photos and uploading them, taking videos and uploading them, giving the location info to the system comes from GPS module and entering details of the property. If the user is not physically in the property then he/she can again complete the same 4 step with a few differences. He/she will use existing photos and videos, he/she will choose the location of the property from the map. To do any of the above a user must register first. c. User Characteristics Expected user scope is anybody who has an Android device. The application doesn t require any extra knowledge or skills other than basic mobile device usage experience. d. Constraints To use the GPS module of any device, the user must be in a open area and the GPS signals should be received properly. 3. Specific requirements a. Functional Requirements i. Any User Any user Can download the application and use it to seek real estate without registering Can register to the system and create a user profile Can edit his/her profile Can send and receive in-application-messages to/from registered users Can delete his/her profile ii. Buyer (tenant) Role A buyer 5 P a g e
Can make a search with desired criteria and location constraints either given on a map via MoREP or decided by MoREP according to location information comes from the GPS module If a registered user, can add and remove particular listings to his/her favorites list. iii. Seller (landlord) Role A seller Can edit the details and information of his/her listings Can add new property or remove existing ones b. Performance requirements Since the clients are mobile devices and they have several restrictions like processing power and connection speed the information coming from the server should be kept small and easy-to-process. To achieve this REST web service returns in JSON format instead of XML. c. Software system attributes i. Security The system needs to store users log in information and users passwords should be encrypted before storing in the database. ii. Maintainability The system uses Spring framework so all the changeable configuration will be kept in morep.properties file. In that way it will be easy to modify and update all configurations at once. iii. Portability The web application will be coded in J2EE, Spring and Hibernate, therefore, it should be transferrable between different OS and Java containers. 6 P a g e