ITECH 7602 – PROJECT 22/07/2013 “TrueTenants.com.au” Software Design Document Submited to : Mr. Ahmad Saeed Done By : Ayman Chalak 30099129 Ding Wei 30084142 Grigory Punanov 30099435 Pavel Semiklit 30102364 Xiaofei Li 30117218 ITECH 7602 – PROJECT 22/07/2013 Table of Contents 1. Document Details .......................................................................................................................... 4 2. Purpose........................................................................................................................................... 4 Version History ......................................................................................................................... 4 3. 4. Approvals ....................................................................................................................................... 4 5. Distribution.................................................................................................................................... 5 6. Project Objective ........................................................................................................................... 5 7. Project Scope ................................................................................................................................. 5 8. Project Team Details..................................................................................................................... 5 9. System Context Diagram .............................................................................................................. 6 9.1 Definition ..................................................................................................................................... 6 9.2 System interaction with external system using the system Context diagram ........................ 6 10. Description and Justification of chosen methodology for project ........................................ 7 10.1 SDLC ...................................................................................................................................... 7 10.2 PMBOK ................................................................................................................................. 7 10.3 Programming Languages ..................................................................................................... 7 10.4 Project management Tools ....................................................................................................... 7 10.5 Document Management............................................................................................................ 7 10.6 Image/Graphical Manipulation Software ............................................................................... 7 10.7 Database Management Software ......................................................................................... 8 10.8 Presentation Software ............................................................................................................... 8 Stakeholders .............................................................................................................................. 9 11 11.1 Project Team ............................................................................................................................. 9 11.2 Project guidance ........................................................................................................................ 9 11.3 Users ........................................................................................................................................... 9 12. Architecture Design ...................................................................................................................... 10 12.1 Detailed storyboards/ GUI design ......................................................................................... 10 12.1.1 Homepage ............................................................................................................................ 10 12.1.2 Registration and Login process. ............................................................................................ 11 12.1.2.1 General process ................................................................................................................. 11 12.1.2.2 Tenants ............................................................................................................................... 11 12.1.2.3 Landlords ........................................................................................................................... 11 12.1.2.4 Agents ................................................................................................................................. 12 12.1.3 Creating Rented Property Reviews (created by tenants) and Listed Property Adds (created by landlords) ......................................................................................................................... 12 12.1.3.1 Rented Property Review (created by tenants) .......................................................... 12 1 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 12.1.3.2 Landlords ........................................................................................................................... 13 12.1.3.3 Agents ................................................................................................................................. 13 13 Tenants section ........................................................................................................................ 14 13.1 Tenants section main page ..................................................................................................... 14 13.2 Search results for Tenants Comments. Property profile ..................................................... 14 13.3 No search results ..................................................................................................................... 14 13.4 Listed Property Add (Posted by landlord) ........................................................................... 14 13.5 Search results for Listed Properties Adds ............................................................................ 14 14 Agents section .......................................................................................................................... 14 15 Landlords section .................................................................................................................... 14 16 About the project .................................................................................................................... 14 17 Contact us ................................................................................................................................ 14 18 Face book group ...................................................................................................................... 14 19 Define Colours, Fonts, Button layouts, menu design .................................................................. 15 20. Description of data ........................................................................................................................ 16 20.1 Data dictionary ........................................................................................................................ 16 20.1.1 Data dictionary definition ..................................................................................................... 16 20.2 Data Structure ............................................................................................................................. 16 20.2.1 Definition of Data structure ................................................................................................ 16 21. USE Case Diagram ...................................................................................................................... 17 21.1 Definition of use case diagram ............................................................................................... 17 21.2 Use case Scenarios ................................................................................................................... 17 22. ERD (Entity relationship Diagram) ........................................................................................... 17 22.1 Definition of ERD .................................................................................................................... 17 22.1.2 ERD Scenarios ...................................................................................................................... 17 23. Data Flow Diagram ...................................................................................................................... 18 23.1 Definition of Data Flow Diagram .......................................................................................... 18 23.2 Data Flow Diagram ................................................................................................................. 18 24. UML (unified Modelling Language) ...................................................................................... 19 24.1 Definition of UML ................................................................................................................... 19 24.2 UML ......................................................................................................................................... 19 25. Database Classes ........................................................................................................................... 20 26. Architectural diagram showing high level architecture ............................................................ 21 26.1 Multi-tier architecture ............................................................................................................ 21 26.1.1 Client-Tier (GUI Layer) ..................................................................................................... 22 2 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 26.1.2 Middle-Tier ........................................................................................................................ 22 26.1.3 Data-Storage Tier (Database Layer) .................................................................................. 22 27. Quality Issues ................................................................................................................................ 23 28 Non – Functional Requirements ............................................................................................ 23 28.1 Maintainability ........................................................................................................................ 24 28.2 usability .................................................................................................................................... 24 28.3 Efficiency ................................................................................................................................. 24 28.4 Contingency Plan .................................................................................................................... 24 28.5 Accessibility .......................................................................................................................... 24 28.6 Ease Of use: ............................................................................................................................. 24 28.7 User Manuals or user documentation ................................................................................... 24 28.8 Date Formats ........................................................................................................................... 24 28.9 Language.................................................................................................................................. 24 28.10 Network.................................................................................................................................. 24 28.11 Availability............................................................................................................................. 24 29. Appendix A .................................................................................................................................... 25 13.3.1.1 Use Case Detailed Description .................................................................................. 26 30. Appendix B .................................................................................................................................... 27 31. Appendix C .................................................................................................................................... 28 32. Appendix D .................................................................................................................................... 29 33. Sign off Report .............................................................................................................................. 30 34 References ....................................................................................................................................... 31 3 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 The report has been structured well with headings 1. Document Details Version of the document template: Software Use Error! Reference source not found. Name of the report SDD (software design specification ) Microsoft Word 2007 2. Purpose The SDS document will specify a high-level view of the architecture of the system and on the interaction between the user and the system “truetenants.com.au” Moreover, it focuses on detailing a low-level view of each component of the software and how the components interact with each other. 3. Version History VERSION 1.0 DATE 22/07/2013 1.1 29/07/2013 1.2 16/09/2013 1.3 24/09/2013 AUTHOR REPORT LEVEL Ayman Sections and headings has been identified Chalak Ayman Assigning tasks to the project team Chalak members Ayman Check the spellings and the grammars of the Chalak report Ayman chalak SDD report finalization 4. Approvals This document requires the following approvals: NAME PROJECT TITLE Grigory Punanov Project Manager Xiaofei Li Project designer Ayman Shalak Project documenter/ tester Ding Wei & Pavel Semiklit Project programmer 4 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 5. Distribution This document will be stored on project website (http://zoeqikusa.wordpress.com/documentation/SDD/) and distributed among the people listed above and including the project supervisor. 6. Project Objective Truetenats.com.au is going to solve this problem: this site will connect tenants in one community so they can share knowledge about renting properties online. Now all minuses, all problems, all issues of properties will be published and available on the Internet. So, new tenants can be aware of potential issues. Another powerful feature of this service is that is a used a tool to put pressure on landlord and agent to make them fix the problem, to improve "property's profile". After solving the issue agent can leave a comment on the property’s profile and tenant can verify it. At this moment, the project does not have any particular client but after launch it , this website can be presented to any existing tenant’s community such as NSW Tenants Union (www.tenants.org.au) 7. Project Scope The scope of the project is to establish tenant’s social networking site in duration of 12 weeks so that the website will be functional and implemented well without any bugs. 8. Project Team Details NAME STUDENT ID PHONE EMAIL Ayman chalak Ding Wei Grigory Punanov Pavel Semiklit Xiaofei Li 30099129 30084142 30099435 30102364 30117218 0424072248 0422895929 0452525453 0452439379 0402910139 Ayman_shalak@hotmail.com Avril3355@hotmail.com gpun138@gmail.com p.semiklit@gmail.com Zoe.qikusa@gmail.com 5 SDD (Software Design Document) ITECH 7602 – PROJECT 9. 22/07/2013 System Context Diagram 9.1 Definition 9.2 System interaction with external system using the system Context diagram “The design will be produced later in the final report “ 6 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 10.Description and Justification of chosen methodology for project 10.1 SDLC 10.2 PMBOK 10.3 Programming Languages PHP is a server-side scripting language designed for web development. PHP code is interpreted by a web server with a PHP processor module which generates the resulting web page: PHP commands can be embedded directly into an HTML source document rather than calling an external file to process data. PHP is free software released under the PHP License .PHP can be deployed on most web servers and also as a standalone shell on almost every operating system and platform, free of charge. 10.4 Project management Tools Microsoft Project 2010 is utilized as a software tool to aid the project team in controlling the project timeline throughout the lifetime of the project 10.5 Document Management All text documentations (SPMP, SRS, SDS etc.) are created using Microsoft Word 2010. 10.6 Image/Graphical Manipulation Software Our team has utilized two major softwares in terms of designing the website (tenants.com.au) the followings softwares are: 1. Adobe Photoshop 7 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 2. Adobe illustrator Both of the software could be used also to create final poster in the coming weeks. In case animation needed for the website, Adobe flash has been utilized. 10.7 Database Management Software MySQL is a language used in order to store information .Information could be of any types like single character to a large complete files or graphics .It is considered as a relational database system .Moreover , it is coupled with PHP because they work together with ease . 10.8 Presentation Software Prezi is a US software company produced as cloud based Presentation software. The goal of this software is to provide templates for users to create presentation slides. 8 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 11 Stakeholders 11.1 Project Team 11.2 Project guidance 11.3 Users 9 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 12. Architecture Design 12.1 Detailed storyboards/ GUI design Types of users and contents participated in the Web application “truetenants.com.au” Project has got 3 types of registered users: - Tenant - Landlord - Agent Each type of users will be described in details below according to each users section. At the moment it is important to say that each type of user has different registration process and create different types of content. 12.1.1 Homepage 10 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 12.1.2 Registration and Login process. 12.1.2.1 General process 12.1.2.2 Tenants 12.1.2.3 Landlords 11 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 12.1.2.4 Agents 12.1.3 Creating Rented Property Reviews (created by tenants) and Listed Property Adds (created by landlords) 12.1.3.1 Rented Property Review (created by tenants) 12 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 12.1.3.2 Landlords 12.1.3.3 Agents 13 SDD (Software Design Document) ITECH 7602 – PROJECT 13 22/07/2013 Tenants section 13.1 Tenants section main page 13.2 Search results for Tenants Comments. Property profile 13.3 No search results 13.4 Listed Property Add (Posted by landlord) 13.5 Search results for Listed Properties Adds 14 Agents section 15 Landlords section 16 About the project 17 Contact us 18 Face book group 14 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 19 Define Colours, Fonts, Button layouts, menu design “Produced in the next stage “ pending 15 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 20. Description of data 20.1 Data dictionary 20.1.1 Data dictionary definition 20.2 Data Structure 20.2.1 Definition of Data structure 16 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 21. USE Case Diagram 21.1 Definition of use case diagram 21.2 Use case Scenarios Refer to appendix A 22. ERD (Entity relationship Diagram) 22.1 Definition of ERD An entity-relationship diagram (ERD) is a data modelling technique that graphically illustrates an information system’s entities and the relationships between those entities. An ERD is a conceptual and representational model of data used to represent the entity framework infrastructure. The elements of an ERD are the followings: Entities Relationships Attributes (Janssen, 2013) 22.1.2 ERD Scenarios Refer to Appendix B 17 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 23. Data Flow Diagram 23.1 Definition of Data Flow Diagram Data flow diagrams are illustrated movement of data between external entities and the processes and data stores within a system .In addition, data flow diagram technique is Effective for expressing functional requirements for large complex systems. A Data Flow Diagram consists of: •Processes •Data Flows •Data Stores •External Entities -An activity that is utilized for business reason is called “Process “ - Several pieces of information or single piece of data is called “Data Flow “ - A data store is a collection of data that is stored - An external entity is a person, organization, or system that is external to the system but interact with it. The highest-level of data flow diagram is known as the context diagram. (Yen, 2010) 23.2 Data Flow Diagram Check Appendix C 18 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 24. UML (unified Modelling Language) 24.1 Definition of UML The Unified Modelling Language abbreviated as UML is a graphical technique used to create visual models of object-oriented software systems. 24.2 UML Check appendix D 19 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 25. Database Classes The following classes will be used in the Database system : - Landlords - Agents - Tenants - Property - Branch - Post - Suburbs - Comments Etc. The database will be used to store all of the application data, to allow for easy design, building and backup of data. The database module consists of both the database server, and the database schema that will be used for the application. It will also contain the classes that are responsible for managing the database connections. 20 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 26. Architectural diagram showing high level architecture 26.1 Multi-tier architecture It is a client-server based architecture where it acts a mid-layer between the user and teh database .This conclude that user interface, data storage, etc. are to be considered as independent modules .A multi-tiered architecture is able to control and identify each user’s access. In addition, the architecture allows different languages to be used such as HTML for the client side, PHP language for the sever side programming language and SQL for database. Data Storage Tier MySQL Middle Tier Server Client Tier User1 User2 21 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 26.1.1 Client-Tier (GUI Layer) 26.1.2 Middle-Tier 26.1.3 Data-Storage Tier (Database Layer) 22 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 27. Quality Issues 28 Non – Functional Requirements Non-functional requirements are often called qualities of a system that could be mentioned according to the followings: Accessibility Ease of use Availability Backup of the system Documentation Disaster recovery Interoperability Maintainability Portability Quality Recovery / recoverability Reliability Date formats Language Network 23 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 28.1 Maintainability 28.2 usability 28.3 Efficiency 28.4 Contingency Plan 28.5 Accessibility 28.6 Ease Of use: 28.7 User Manuals or user documentation 28.8 Date Formats The system must conform to the Australian date format. As an example “ dd/mm/yyyy “ 28.9 Language The System will be written in Australian English Language 28.10 Network The application will run over a wireless network or LAN by internet accessibility 28.11 Availability The system should be available for the users at anytime and anywhere without any downtime , availability must be of a percentage of 99% .If one part of the system is down , the system 24 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 will be unavailable and complexity takes place .So the greater reliability , the maximum availability of the system would be .(System Availibility & Downtime , 2011) 29. Appendix A 25 SDD (Software Design Document) ITECH 7602 – PROJECT 13.3.1.1 22/07/2013 Use Case Detailed Description 26 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 30. Appendix B 27 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 31. Appendix C 28 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 32. Appendix D 29 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 33. Sign off Report Name Signature Date Ayman Chalak 04/09/13 Grigory Punanov 04/09/13 Xiaofei Li 04/09/13 Pavel Semiklit 04/09/13 Ding Wei 04/09/13 30 SDD (Software Design Document) ITECH 7602 – PROJECT 22/07/2013 34 References Burge, D. S. (2011). The system Engenering toolbox . Retrieved 03 09, 2013, from Toolbox : http://www.burgehugheswalsh.co.uk/uploaded/documents/CD-Tool-Box-V1.0.pdf Janssen, C. (2013). Entity-Relationship Diagram (ERD). Retrieved from http://www.techopedia.com/definition/1200/entity-relationship-diagram-erd Pamela. (2012, 2 29). Project Management. Retrieved 2013, from Project Management: http://ist.uwaterloo.ca/is/Methodologies/Project%20Management%20Methodology.pdf Project managment . (2013). Retrieved August 10, 2013, from Project Managment Institute : http://www.pmi.org/About-Us/About-Us-What-is-Project-Management.aspx R, A. (2009, 02 17). Requirement modeling ( use case diagram + use case description ). Retrieved 09 03, 2013, from slideshare: http://www.slideshare.net/curiousEngine/use-case-diagram System Availibility & Downtime . (2011). Retrieved 09 04, 2013, from Active server : http://www.active-server.com/pdf/SystemAvailabilityandDowntime.pdf Technologies, E. (2009). UML 1.5 Use Case Diagram Definition. Retrieved 09 04, 2013, from use case definition: http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devc ommon/uml15usecasediagramdefinitionexample_xml.html Yen, R. I. (2010, 10). FORMALIZATION OF THE DATA FLOW DIAGRAM. Retrieved 09 04, 2013, from International Journal of Software Engineering & App: http://arxiv.org/ftp/arxiv/papers/1011/1011.0278.pdf 31 SDD (Software Design Document)