Académique Documents
Professionnel Documents
Culture Documents
Chapter 1: Introduction ............................................................................................................... 9 1.1. 1.1. Introduction .................................................................................................................... 10 Existing System.............................................................................................................. 10 Related Work .......................................................................................................... 10 Motivation............................................................................................................... 11
Proposed System ............................................................................................................ 11 Overview Statement ....................................................................................................... 11 Objective ........................................................................................................................ 12 Scope .............................................................................................................................. 12 Resources Identification................................................................................................. 13 Human resources ...................................................................................................... 13 Software resources.................................................................................................... 13 Hardware resources ................................................................................................. 13
1.8.1 1.8.
1.9.1
Chapter 2: Requirement Analysis ............................................................................................. 16 2.1. 2.2. Introduction .................................................................................................................... 17 Requirement Identification............................................................................................. 17 Functional Requirement.......................................................................................... 17 Non Functional Requirement.................................................................................. 18
2.3.1.
Use Case Diagram.......................................................................................................... 21 Use Case Description ..................................................................................................... 23 Activity Diagram ............................................................................................................... 33
Activity diagram of User login ............................................................................... 34 Activity diagram of create user account ................................................................. 35 Activity diagram of add property............................................................................ 36 Activity diagram of delete property........................................................................ 37 Activity diagram of view property detail................................................................ 38 Activity diagram of view property on map............................................................. 39 Activity diagram of comment on property.............................................................. 40 Activity diagram of add favorite property .............................................................. 41
Chapter 3: SYSTEM DESIGN .................................................................................................. 42 3.1. 3.2. Introduction .................................................................................................................... 43 Data Base Design ........................................................................................................... 43 E-R Modeling.......................................................................................................... 43 Entity Type.............................................................................................................. 44 Relationships........................................................................................................... 44 Cardinalities ............................................................................................................ 44 Entity Relationship Diagram................................................................................... 45
Physical Design .............................................................................................................. 47 Data Base Structure................................................................................................. 47 Entities Relationship Tables ................................................................................... 47 Class Diagram....................................................................................................... 53
4.1. 4.2.
Introduction .................................................................................................................... 56 3-Tier Architecture......................................................................................................... 56 Presentation Layer .................................................................................................. 56 Business Logic layer or Business Access Layer..................................................... 56 Data Access Layer .................................................................................................. 57
4.2.4. Why Use 3-tier Architecture..................................................................................... 58 4.3. Programming Language Selection ................................................................................. 58 ASP.NET ................................................................................................................ 59 Why Use ASP.NET ................................................................................................ 59 C#............................................................................................................................ 60 JQuery ..................................................................................................................... 61 Why jQuery for Development?............................................................................... 62
Database Design............................................................................................................. 62 SQL Server Management Studio ............................................................................ 62 Why Choose SQL Server Management Studio ...................................................... 62
Chapter 5: System Testing ......................................................................................................... 64 5.1. 5.2. 5.3. 5.4. Introduction .................................................................................................................... 65 Black box Testing........................................................................................................... 65 White box Testing .......................................................................................................... 66 Test Plan......................................................................................................................... 66 Testing Goals .......................................................................................................... 66 Key Areas to be focused while testing.................................................................... 67 Functionality Testing .............................................................................................. 67
3
Performance Testing ............................................................................................... 67 Usability Testing..................................................................................................... 68 Client-Side Testing ................................................................................................. 68 Server-Side Testing................................................................................................. 68 Security ................................................................................................................... 68
Test Cases....................................................................................................................... 69 Check whether user logged in................................................................................. 69 Check whether the account is created. .................................................................... 70 Check whether the Property is posted..................................................................... 70 Check whether the Property list is viewed.............................................................. 71 Check whether the User list is viewed. ................................................................... 71 Check whether the Property is deleted.................................................................... 72 Check whether the Property is edited. .................................................................... 72 Check whether the Property is view on map. ......................................................... 73
Conclusion...................................................................................................................... 73
Chapter 6: SYSTEM EVALUATION & FUTURE ENHANCEMENT................................ 74 6.1. 6.2. Evaluation....................................................................................................................... 75 Future Enhancement...................................................................................................... 75
APPENDICES ............................................................................................................................. 77 Appendix A................................................................................................................................... 78 User Interface................................................................................................................................ 78 Login Page................................................................................................................................. 78 Home Page ................................................................................................................................ 79 Create Account.......................................................................................................................... 80 User List .................................................................................................................................... 81
4
Post Property ............................................................................................................................. 82 View Property List .................................................................................................................... 83 View Property Detail................................................................................................................. 84 References..................................................................................................................................... 85
List of Table
TABLE NO. 1. 1 .............................................................................................................................. 13 TABLE NO. 1. 2 .............................................................................................................................. 13 USE CASE _TABLE 2. 1 .................................................................................................................. 23 USE CASE _TABLE 2. 2 .................................................................................................................. 23 USE CASE _TABLE 2. 3 .................................................................................................................. 24 USE CASE _TABLE 2. 4 .................................................................................................................. 24 USE CASE _TABLE 2. 5 .................................................................................................................. 25 USE CASE _TABLE 2. 6 .................................................................................................................. 25 USE CASE _TABLE 2. 7 .................................................................................................................. 26 USE CASE _TABLE 2. 8 .................................................................................................................. 27 USE CASE _TABLE 2. 9 .................................................................................................................. 27 USE CASE _TABLE 2. 10 ................................................................................................................ 28 USE CASE _TABLE 2. 11 ................................................................................................................ 28 USE CASE _TABLE 2. 12 ................................................................................................................ 29 USE CASE _TABLE 2. 13 ................................................................................................................ 29 USE CASE _TABLE 2. 14 ................................................................................................................ 30 USE CASE _TABLE 2. 15 ................................................................................................................ 30 USE CASE _TABLE 2. 16 ................................................................................................................ 31 USE CASE _TABLE 2. 17 ................................................................................................................ 31 USE CASE _TABLE 2. 18 ................................................................................................................ 32 USE CASE _TABLE 2. 19 ................................................................................................................ 33 TABLE NO: 3. 1 .............................................................................................................................. 47 TABLE NO: 3. 2 .............................................................................................................................. 48 TABLE NO: 3. 3 .............................................................................................................................. 49 TABLE NO: 3. 4 .............................................................................................................................. 50 TABLE NO: 3. 5 .............................................................................................................................. 50 TABLE NO: 3. 6 .............................................................................................................................. 50 TABLE NO: 3. 7 .............................................................................................................................. 51
6
TABLE NO: 3. 8 .............................................................................................................................. 51 TABLE NO: 3. 9 .............................................................................................................................. 52 TABLE NO: 3. 10 ............................................................................................................................ 52 TABLE NO: 3. 11 ............................................................................................................................ 52 TABLE 5. 1 ..................................................................................................................................... 69 TABLE 5. 2 ..................................................................................................................................... 70 TABLE 5. 3 ..................................................................................................................................... 70 TABLE 5. 4 ..................................................................................................................................... 71 TABLE 5. 5 ..................................................................................................................................... 71 TABLE 5. 6 ..................................................................................................................................... 72 TABLE 5. 7 ..................................................................................................................................... 72 TABLE 5. 8 ..................................................................................................................................... 73 TABLE NO 6. 1: SYSTEM EVALUATION........................................................................................... 75
List of Figure
FIGURE 1. 1: INCREMENTAL PROCESS MODEL................................................................................. 14 FIGURE 1. 2_PROJECT SCHEDULE .................................................................................................. 15 FIGURE 2. 1_USE CASE DIAGRAM............................................................................................ 22 FIGURE 3. 1: OPAS ERD ............................................................................................................... 46 FIGURE 3. 2: OPAS CLASS........................................................................................................... 54 FIGURE 4. 1: 3-TIER ARCHITECTURE DIAGRAM .............................................................................. 57 FIGURE 2. 2: ACTIVITY DIAGRAM ................................................................................................... 34 FIGURE 2. 3: ACTIVITY DIAGRAM .................................................................................................. 35 FIGURE 2. 4: ACTIVITY DIAGRAM .................................................................................................. 36 FIGURE 2. 5: ACTIVITY DIAGRAM .................................................................................................. 37 FIGURE 2. 6: ACTIVITY DIAGRAM .................................................................................................. 38 FIGURE 2. 7: ACTIVITY DIAGRAM .................................................................................................. 39 FIGURE 2. 8: ACTIVITY DIAGRAM .................................................................................................. 40 FIGURE 2. 9: ACTIVITY DIAGRAM .................................................................................................. 41
Chapter 1:
Introduction
1.1.
Introduction
Online Property advertising system is a system in which user can Buy and Sell property
online in Pakistan without going to any estate agency office. Online Property advertising is a complete software solution that will save your money, time and effort. And most importantly, it will boost online real estate business and guarantee its success. The real estate portals have been great news for agents and vendors, because when compared the two modes of advertising, the internet is ridiculously cheap and easy to use. Uploading a property onto on-line portals is a lot less time consuming than organizing a print advertisement buyers can see the property as soon as the listing is uploaded and the agent can update details whenever they want. It will even be emailed direct to interested buyers in -box overnight via email alerts. User can upload images and video clips of property; multiple images can be uploaded at the same time. In this website user can see property online through map without going to that spot. The primary aim of the system is to develop a good quality product in the market which is customer driven Provide information to help landlords to manage their property online over the web and allow them to activate or deactivate any property in their list for Buy and Sell. It will also enable automatically for search engine to put information on listing or advertising to public.
1.1.
Existing System
In existing system the mechanism of property buying and selling is very difficult because
property buyer or seller can advertise in newspaper or hire agent which sell their property and also they give money to that agent who help Buy and Sell their property. This process is very lengthy and difficult, and sometimes the agent takes money and disappears. In such situations it is very difficult to trace these people. 1.1.1. Related Work There are many different websites which allow their users to sell and buy properties. In Pakistan there are two such popular websites, they are http://www.bastee.pk and
10
www.zameen.com. These websites are providing the facility of uploading property's specifications (as number of rooms, washrooms, garage, drawing room, and some extra features), its pictures and location on map and owners details only. But there is no facility to rate a property, comment on a property, uploading a video related to the property, browse the map to search the properties, and follow a user. 1.1.2. Motivation The motivation behind creating this system is to facilitate the end users by providing more information about their concerned properties. If someone wants to comment on an advertised property that something is wrong in this advertisement (as neighbors know correct information about that place) or any comments related to price, what can he/she do? Moreover if someone likes the property and wants to rate the property, and follow his/her favorite user, there should be facility provided by the system. If the owner has a video about property, uploaded on internet, he/she should be able to share that link. These functionalities are not provided in existing systems. So there should be a system which provides these all facilities.
1.2.
Proposed System
I am going to develop a website in which user can Buy and Sell their property online in
Pakistan. User will be able to see property on map, it save the extra time required to visit that place. In this system user can create their account which is free of cost, in that account user can add their favorite property in their list and if someone sell their property then he or she can post the picture, video and complete detail of their property. Online Property Management System main purpose is to overcome problems that being faced by todays real estate industry.
1.3.
Overview Statement
Online Property advertising system is a web application in which user can Buy and Sell
11
1.4.
Objective
Main objectives of the system are as follows:
Develop a full functional web based property management where users can
place their property Ads and buy property.
To facilities sellers in advertising their properties. To enable buyer to survey and select property from an online system. To simplify the process of real estate management via an online platform. 1.5. Scope
The scope of my project is to develop a web application that can be used to keep track of all the property ads in the country for the purpose of Sell and Buy. Following are the main module of the system.
12
1.6.
Resources Identification
The resources that have been identified to accomplish this project are mentioned below:
1.7.1
Human resources This project is developed by Suhail Ahmed (MIT) under supervision of Madam Madiha Haider Syed, Assistant professor, Institute of Information Technology, QAU, Islamabad.
1.7.2
Software resources
Table No. 1. 1
1 2 3 4
Microsoft 7 Home Premium SQL Server 2008 Management Studio HTML Asp. Net 4.0, C#, MS Visual studio 2010
1.7.3
Hardware resources
Table No. 1. 2
1 2 3 4
1.7.
project. A process model for software development is chosen based on the nature of the project
13
and application, the method and tools to be used, and the control and the deliverables that are required. A process model is very helpful for the successful software project. A process model described desired phases and activities in a project. A software process model is an abstract representation of the architecture, design or definition of the software process [1]. In this project I have decided to use the incremental process model. 1.8.1 Incremental process model The incremental model delivers a series of releases, called increments that provide progressively more functionality for the customer as each increment is delivered [1]. An incremental process model is one in which the functionality of the desired system is divided into small increment that are implemented and delivered one after another in quick succession. In this process model, while a software product is being developed, each step adds to what has already been completed. The early increments act as a prototype to help elicit requirements for the later increments. There is lower risk for the overall project failure.
Like prototype and evolutionary models, the incremental process is iterative. Unlike prototype, it focuses on delivering an operation product with each increment. It is very useful when not enough staff is available for complete development of product by
14
business deadline. Early increments can be developed by fewer people and if well received, additional staff may be added.
1.8.
Project Scheduling
A schedule consists of a list of a projects terminal elements with intended start and finish
time and their dates. Those items are often estimated in terms of resource requirements, budget and duration linked by dependencies and scheduled. 1.9.1 Gantt chart Gantt charts have become a common technique for representing the phases and activities of a project. Gantt charts illustrate the start and finish dates of the terminal elements and summary elements of a project. In following figure I scheduled my activities along with time required for its achievement.
15
Chapter 2:
Requirement Analysis
16
2.1.
Introduction
The requirements are the main aspects in the development of every project. We cannot
have a perfect program unless does it whatever the user wanted. Requirement analysis is a process of discovering, refinement, modeling and specification. It can be functions required by the users, the customer or even the developers. A requirement can have multiple Subrequirements for describing functions in finer details. By finding the requirements, we have the complete description of the behavior of the system to be developed. This chapter contains system requirements in an organized way to help developers better understand the system functionality. Purpose behind developing this System analysis is, let other developers understand basic requirements of OPAS. This System analysis will be helpful to both customer and developer of the system to agree upon requirements of system to avoid any ambiguities/confusion. A system is composed of interacting parts that work together to attain some objective or purpose. It is planned to attract inputs, process them in some way and generate outputs defined by goals, objectives or common purposes.
2.2.
Requirement Identification
Functional Requirement Non Functional Requirement
2.2.1. Functional Requirement Product Functions These are functional requirements or services provided by the system, Following are major functions which system should provide. Registration for users. An interface to upload the property's features. To store pictures of the concerned property.
17
To store the video links of the concerned property. Map for browsing and searching properties. Map where the exact location of property is displayed. Zooming facility on the map. Navigation facility to navigate to different areas on map An interface to comment on a property. Display all the comments made on a property to each registered user. Rating facility to rate properties. Search facility based on different criteria. Rank properties based on the time they were posted. An option to view more ads of a particular advertiser, if someone likes his post. An option to follow a user. 2.2.1. Non Functional Requirement The system requires that the user must the standard computer and software. The nonfunctional requirements are given below: System Interfaces System uses APIs of Google Maps and YouTube, to retrieve propertys geographical location on map and video contents associated with it. User Interfaces Following user interfaces will be provided by the system: Map based interface for browsing properties on the map. Non map based interface for browsing search results based on different criteria like price range, location, etc.
Communication Interfaces System requires internet connectivity to interact with API's server (Google Maps and YouTube).
18
Constraints Following are some constraints which restricts developers options: Availability of some contents and efficiency of system services depends on backend APIs services which system is using.
Internet availability is must, to run system.
Usability The system functionalities and interface would be understandable and easy to use. All the accesses would be provided in just clicking on the require option instead of wasting the time in writing commands. Security
Speed
The registration would be secure and profile management facilities for users. Access to the account will be controlled by the usernames and passwords.
All the queries, commands and other data transfer operations would be complete within seconds. Account status and all web pages would be speedily accessible.
Efficiency The user data shall be stored such that it is still accessible even after the time period is complete or expired Data would be efficiently retrievable.
Reliability The proposed system is reliable, that it provides the require results in correct mode. Availability The System would be available to all users at all time.
19
2.3.
Login Logout View property list View property details View Map Browse Map Watch video Remove video View picture Remove picture Add property Remove property View comment
Registered Users use cases are given below Login Logout View property list View property detail
20
View Map Browse Map Upload video Watch video Remove video Upload picture View picture Remove picture Add property Remove property Follow User Modify property Rate property Comment on property View comment
2.4.
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases), and any dependencies between those use cases. The main purpose of a use case diagram is to show what system functions are performed for which actor. It describes the sequence of interactions between actors and the system necessary to deliver the service that satisfies the goal.
21
22
2.5.
Use Case name: Sign Up. Primary actor: User. Goal: User creates the account to register as Buyer or Seller. Pre-condition: User should select the option for create account. Steps: OPAS web site registration details Actors Action 1. User clicks the create account button. 3. User enters his name and password and email. 5. User enter require registration details. 7. User submits the form. Alternative to line 4 and 6: If User entered an incorrect input. Post-condition: User successfully creates its account. Purpose: The use case would be used when User wants to create an account Home Page Create Account Enter required
Submit. System Response 2. System displays the account creation page. 4. System checks and stores the inputs as record. 6. System checks and stores the given details. 8. System add user successfully. 4/6. System displays the error message.
Use Case name: Login. Primary actor: User, Administrator. Goal: Access to the system. Pre-condition: User is registered and is on login page. Steps: OPAS web site Password.
23
Home Page
Log In
Enter Name
Enter
Actors Action 1. User clicks on the log in button. 3. User enters his name and password. Alternative to line 4: By entering an incorrect name or password.
System Response 2. System provides the log in facility. 4. System verifies his name, password and log in the User. 4. System displays the error message.
Post-condition: User successfully log in to the system. Purpose: The use case would be used whenever log in box will be select.
Use Case name: View property list. Primary actor: Registered User, Administrator visitor User. Goal: User can View list of property. Pre-condition: User must be logged in. Steps: OPAS web site Home Page Log In View list of property.
Post-condition: User successfully View list of property on the system. Purpose: The use case would be use when User wants to View list of property.
Use Case name: View property detail. Primary actor: Registered User, Administrator. Goal: User view detail of property. Pre-condition: User must be logged in.
24
Home Page
Log In
System Response 2. System displays the list of property. 4. System displays the detail of selected property.
1. User clicks button View list of properties. 3. User select a specific property from the list of properties
Post-condition: User successfully View detail of property on the system. Purpose: The use case would be used when User wants to View detail of property.
Use Case name: View Map Primary actor: Registered User, Administrator. Goal: User can view property location on Map. Pre-condition: User must be logged in. Steps: OPAS web site Home Page Log In View Map.
Post-condition: User View Map on the system. Purpose: The use case would be used when User wants to View Map.
Use Case name: Browse Map. Primary actor: Registered User, Administrator. Goal: User can view property on Map and Browse the location of property on Map.
25
Pre-condition: User must be logged in. Steps: OPAS web site Home Page Log In View Map/ Browse Map.
Actors Action 1. User selects the button of Map and Browse the property location on Map.
Post-condition: User views property location on map. Purpose: The use case would be used when User wants to browse map.
Use Case name: Upload Video. Primary actor: Registered User. Goal: Registered User uploads the videos of property. Pre-condition: Registered User must be logged in. Steps: OPAS web site Home Page Log In Property Upload video.
System Response 2. System opens file and open dialog box to upload video of property.
3. User selects the file to upload 4. System uploads the file. video Post-condition: User successfully Upload video of property on the system. Purpose: The use case would be used when user wants to upload property video.
26
Use Case name: View video. Primary actor: Administrator, Registered User. Goal: User can View video of the property. Pre-condition: User must be logged in. and on property page. Steps: OPAS web site Home Page Log In Property View video.
Post-condition: User successfully View video on the system. Purpose: The use case would be used when user wants to view property video.
Use Case name: Remove property video. Primary actor: Administrator, Registered User. Goal: User can easily Remove property video. Pre-condition: User must be logged in. Steps: OPAS web site Home Page Log In Property Remove video.
System Response 2. System removes video of property from database and updates the database.
Post-condition: User successfully Remove video. Purpose: The use case would be used when user wants to remove the video of property.
27
Use Case name: Add Property. Primary actor: Registered User. Goal: Registered User Add new Property. Pre-condition: Registered User must be logged in. Steps: OPAS web site property. Actors Action 1. Registered User clicks property button, then add new property. 3. Registered User enters information of property. Alternative to line4: User entered incorrect or incomplete information. Post-condition: Registered user successfully adds new property to the system. Purpose: The use case would be used when registered user wants to add new property. System Response 2. System displays add new property form. 4. System stores the new property in database and updates the database and show. 5. System displays the error message. Home Page Log In Property Add New
Use Case name: Remove Property. Primary actor: Registered User. Goal: Registered User Remove Property. Pre-condition: Registered User must be logged in. Steps: OPAS web site Remove Property. Actors Action 1. Registered User select property System Response 2. System removes selected property from
28
Home Page
Log In
Post-condition: Registered user successfully removes property from the system. Purpose: The use case would be used when registered user wants to remove property.
Use Case name: Modify property. Primary actor: Registered user. Goal: Registered user modifies property. Pre-condition: Registered user must be logged in. Steps: OPAS web site Modify Property. Actors Action 1. Registered User select property and Modify selected property and save it. Alternative to line2: If modified information is incorrect or in complete. Post-condition: Registered user successfully modifies property in the system. Purpose: The use case would be used when registered user wants to modify Property. 3. System displays an error message. System Response 2. System save selected property in database and then updates the database. Home Page Log In View Property list
Use Case name: Upload picture. Primary actor: Registered user. Goal: Registered user uploads the pictures of property.
29
Pre-condition: Registered user must be logged in. Steps: OPAS web site Home Page Log In Property Upload picture.
System Response 2. System opens file and open dialog box to upload video of property.
3.User selects the file to upload 4. System uploads the picture picture Post-condition: User successfully uploads the pictures of property on the system. Purpose: The use case would be used when user wants to upload the picture of property.
Use Case name: View picture. Primary actor: Registered user, administrator. Goal: User can view the picture of property. Pre-condition: User must be logged in. Steps: OPAS web site Home Page Log In Property View picture.
Actors Action
System Response
1. User selects View picture button. 2. System shows the property picture. Post-condition: User successfully view picture on the system. Purpose: The use case would be used when user wants to view picture of property.
Use Case name: Remove picture. Primary actor: Registered user, administrator.
30
Goal: User can remove pictures of property. Pre-condition: User must be logged in. Steps: OPAS web site Home Page Log In Property Remove picture.
System Response 2. System removes the picture of property from database and updates the database.
Post-condition: User successfully remove picture of property from the system. Purpose: The use case would be used when user wants to remove picture.
Use Case name: View Comments. Primary actor: Administrator, registered user. Goal: Users can View comments. Pre-condition: Users must be logged in. Steps: OPAS web site Home Page Log In property View Comments.
Actors Action
System Response
1. Users select the view property 2. System displays the page of property detail button. detail. 3. Users select the view comment 4. System Response and show all button. comments. Post-condition: Users successfully view comments on the system. Purpose: The use case would be used when user wants to view comments.
31
Goal: Registered User Comment on property. Pre-condition: Registered User must be logged in. and on property list. Steps: OPAS web site Home Page Log In Property Comment.
Actors Action
System Response
1. Users select the view property 2. System displays the page of property detail button. detail. 3. Users select the property and write comments on that property comment box. Post-condition: Users successfully write comments on the system. Purpose: The use case would be used when user wants to write comments on property. 4. System stores the comments and show comments.
Use Case name: Rate Property. Primary actor: Registered User. Goal: Registered user can rate on property. Pre-condition: Registered user must be logged in. Steps: OPAS web site Home Page Log In Property Rate on property.
Actors Action 1. Registered User selects property button and view rate list.
System Response 2. System displays the rate list of property. 4. System stores the rates and update to the Data base and displays.
3. Registered User upload rates of their property. Post-condition: Registered user rate property on the system.
Purpose: The use case would be used when registered user rates on property.
32
Use Case name: Follow User. Primary actor: Registered User. Goal: Registered User follows the person who wants to sell property. Pre-condition: Registered User must be logged in. Steps: OPAS web site Home Page Log In Property follow user.
Actors Action 1.User select view property detail page 3. Users select the follow user button. Alternative to line1: If User entered an incorrect name or password.
System Response 2. System shows the view property detail page 4. System display the information of that that person. 7. System displays the error message.
Post-condition: Users successfully follow the user. Purpose: The use case would be used when user wants to follow the user.
2.6.
Activity Diagram
The activity diagram represents the scenario for each use case in a use case diagram.
Requirements are well-defined using activity diagrams and this increased interest on generating test scenarios using activity diagrams. The activity diagram is the graphical representation of workflows of stepwise activities or actions. The activity diagram shows the overall flow of control of the system. Following are the major activity diagrams of the OPAS system.
33
34
35
36
37
38
39
40
41
Chapter 3:
SYSTEM DESIGN
42
3.1.
Introduction
After carefully analyzing the requirements and the functionality of the system, system
design should be analyzed. Software design is related to how the system works. To analyze the flow of system we have to visualize its working. The purpose of the software design is to determine the relationship between components and identify the component dependencies. It is the process of solving problem related to the system and planning for a software solution. The goal of software design is to establish a design approach that provides the functions that are described in the system requirements. System design will establish a disciplined and integrated engineering plan for the proposed design, understand the technical risks, and determine estimates for performance and cost to completion. In the software design, a design subject is represented in the form of conceptual entities and their relationships. For example, in the case of designing by the structured analysis method, processes, and data (these are conceptual entities), represent a design subject and the relationships of their data flow [2].
3.2.
corresponding relationship. Database design is the design of the database that supports the objectives and operation of the system in which: The data and relationships between the data, required by the users are represented. The data model that supports any transactions required on the data is provided. A design is specified that should achieve the requirement performance for the system. Designing data base is the process of transforming the conceptual data into a logical data model. For this the Entity relationship model are mostly used in modern data base applications. 3.2.1. E-R Modeling Entity relationship modeling presents the logical data representation of the entities. The purpose of ER modeling is to create an accurate reflection of the real world in a database. The
43
ER model doesnt actually give us a database description. It gives us an intermediate step from which it is easy to define a database. The graphical representation of E-R Model is described by the Entity Relationship Diagrams. An E-R diagram defines the relationship between the entities and data elements. In E-R Modeling these are the steps that are must perform in it: Determine what entity types are involved. Determine which entity types are related. Refine the definition of the relationship.
3.2.2. Entity Type An entity type is basically the schema or intension or structure for the set of entities that share the same structure. An Entity may be a person, place object, event or a concept which has to maintain data. An entity type is represented in ER diagrams as rectangular box and the corresponding attributes are shown in ovals attached to the entity type by straight lines. 3.2.3. Relationships A relationship is an association among the instances of one or more entity types. When the relationship between entities is mandatory, the modality of relationship is one (1). The modality of relationships is zero (0) if there is in explicit need for the relationships to take place. It is also zero (0) if the relationships between entities are optional. 3.2.4. Cardinalities Cardinality is a very important concept in data base. Cardinalities are used when creating an E-R diagram, and show the relationships between entities & tables. Many different types of cardinality exist, and need to be used correctly to properly design data base. These are Mandatory One Mandatory Many Optional One Optional Many
44
3.2.5. Entity Relationship Diagram The entity relationship model (ER Model) is a detailed and the logical representation of the data. The entity relationship model is described in terms of the entities, the relationship among these entities and the attributes of the entities. To expressed the ER model normally use the entity relation diagram (ERD), which the graphical representation of the ER model. The entity relationship diagram of Online Property Advertising System is given below:
45
46
3.3.
Physical Design
Physical design is the important stage of design process. The logical data structure is
converted into a physical architecture in terms of database structures. The exact structure of the functions and how they are implemented is specified. The physical data structure is optimized where necessary to meet size and performance requirements. 3.3.1. Data Base Structure Data base structure design is related to physical data model which is about objects and their corresponding relationships in relational tables. The major objective of physical data base is to implement the data base as a set of stored records and other data structures that will provide adequate performance and ensure data base integrity, security and recoverability. For the data base structure, Entity relationship tables are: 3.3.2. Entities Relationship Tables I have identified the following relations along with the attributes with their data types. The specifications of different tables are as follows: Table Name: Primary Key: Purpose: User User_ Id Stores the data related to the Users
Table No: 3. 1
Width Constraint 10 20 20 20 50 Not Null Not Null Not Null Not Null Not Null
Description Primary Key Foreign Key Foreign Key Foreign Key Name of User
47
20 30 20 30
Password checked for security reasons Customers Email required for online information Mobile number required for Follow the User Users Account Created Date
Field Name Property Id PType Id Picture Id Video Id Area Measure Id Rating Id User Id City Id Area Story Bed Room
Type Int Int Int Int Int Int Int Int Int Int Int
Width Constraint Description 10 10 10 10 10 10 10 10 10 20 10 Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Null Null Primary Key Foreign Key Foreign Key Foreign Key Foreign Key Foreign Key Foreign Key Foreign Key It stores the property Area Column store the no of stores in Case of Home and shop No of Bedrooms are stored in case of Home
48
10 50 30
No of Washrooms are stored in case of Home Property address are stored Location of property where property exist Google Map coordinates Google Map coordinates Property posted date are store in this column
Width 10 10 10 20 Max
Constraint Not Null Not Null Not Null Not Null Not Null
Description Primary Key Foreign Key Foreign Key When User comment on property Store all the comments
Table No: 3. 4
Width 10 10 10 10
Description Primary Key Foreign Key Foreign Key User can rate on property
Area Measurement Area Measure_ Id Store the different type of area measurement scale
Table No: 3. 5
Width 10 30
Description Primary Key Select the any one area measurement type
Width 10 30
Width 10 50
Width 10 30
Description Primary Key User has any type it may be Buyer or Seller
51
Table No: 3. 9
Width 10 30
Description Primary Key Property has many types it may be Home, Shop, or Plot.
City City_ Id Store the name of City where User and property exist
Table No: 3. 10
Field Name City_ Id City Name Table Name: Primary Key: Purpose:
Width 10 Max
Width 10 30 30
Description Primary Key Store the name of follower which follow User Store the name of user who upload property and followed by follower
52
3.3.3. Class Diagram Class diagram describe the structure of the system by showing the system classes. A class describes the properties and behavior of the object. A class diagram describes the static view in terms of classes and relationship among the classes. The class diagram of the system with the relationship between the objects is given below:
53
54
Chapter 4:
SYSTEM IMPLEMENTATION
55
4.1.
Introduction
After the completion of design phase, the development phase of the software starts. The
purpose of implementation of the system is to transfer the system design into an executable form. The implementation is the realization of the application. This is the necessary phase for the system development to make the system in executable form. This includes the performance of hardware devices, softwares utilities or tools that aid in development and the problems faced during their installation. The goal of the implementation is to implement a system correctly, efficiently, and quickly using particular tools and programming languages. Implementation activities are primarily environmental. They deal with realities of particular machines, systems, languages, tools, developers and the clients to translate a design into working code. This chapter explains all the steps that are necessary for the system development.
4.2.
3-Tier Architecture
3-Tier architecture is also called layered architecture. Some people called it n-tier
architecture. Layer architectures are essentially objects and work in object oriented environment just like asp.net. 3-tier architecture is a very well-known architecture in the world of software development, it doesn't matter whether we are developing web based application or desktop based, it is the best architecture to use. I used 3-Tier architecture for the development of OPAS project it consists of UI or Presentation Layer Business Access Layer or Business Logic Layer Data Access Layer
4.2.1. Presentation Layer Presentation layer consists of pages like Property.aspx where data is presented to users or getting input from users. 4.2.2. Business Logic layer or Business Access Layer Business logic layer contains all of the business logic. Its responsibility is to validate the business rules of the component and communicating with the Data Access Layer. Business Logic Layer is the class in which we write functions that get data from Presentation
56
Layer and send that data to database through Data Access Layer. In my project Business logic is implemented in OPASBAL. 4.2.3. Data Access Layer Data Access Layer is also the class that contains methods to enable business logic layer to connect the data and perform desired actions. These desired actions can be selecting, inserting, updating and deleting the data. DAL accepts the data from BAL and sends it to the database or DAL gets the data from the database and sends it to the business layer. In short, its responsibility is to communicate with the backend structure.
57
4.2.4.
Why Use 3-tier Architecture The main advantage of 3-tier architecture is to separate the presentation layer from data
access layer. We will not write any function to communicate with database in presentation layer, all the required functions for communication with database will be available in DataAcessLayer. Its mean at presentation layer we will just focus at information that we will present in front of user. Separation of the user interface from business logic and database access has many advantages. Some of the advantages are as follows: Reusability of the business logic component results in quick development. Let's say we have a module that handles adding, updating, deleting and finding customers in the system. As this component is developed and tested, we can use it in any other project that might involve maintaining customers. Transformation of the system is easy. Since the business logic is separate from the data access layer, changing the data access layer wont affect the business logic module much. Let's say if we are moving from SQL Server data storage to Oracle there shouldnt be any changes required in the business layer component and in the GUI component. Change management of the system is easy. Let's say if there is a minor change in the business logic, we dont have to install the entire system in individual users PCs. E.g. Deduction changed from 10% to 15% we only need to update the business logic component without affecting the users and without any downtime. Having separate functionality servers allows for parallel development of individual tiers by application specialists. Provides more flexible resource allocation. Can reduce the network traffic by having the functionality servers strip data to the precise structure needed before sending it to the clients. [3].
4.3.
4.3.1. ASP.NET ASP.NET is the next version of Active Server Pages (ASP). ASP.NET is the platform that is developed by the Microsoft. It is the server side scripting technology that enables scripts to be executed by an internet server. ASP.NET is the program that runs inside the IIS (Internet Information Services). ASP.NET was developed in direct response to the problems that developers had with classic ASP. While the ASP.NET is largely syntax compatible with ASP, it also provides the new programming model and infrastructure for more scalable and stable applications that help provide greater protection. ASP.NET is designed to work with HTML editors and other programming tools, including the Microsoft Visual Studio .NET. It not only make Web development easier, but it also provides all benefits that these tools have to offer, including the GUI that developers can use to drop server controls onto a Web page and fully integrated debugging support. ASP.NET is a technology for building powerful, dynamic Web applications and is part of the .NET Framework. Dot NET is the language independent, which means you can use any .NET-supported language to make .NET applications. One of the main differences between ASP.NET and Classic ASP/PHP is the fact that ASP.NET can be compiled, while Classic ASP is always interpreted. The PHP can be compiled by using the commercial products, but usually it is interpreted as well. In ASP.NET Web Applications are built using Web Forms. ASP.NET comes with built-in Web Forms controls, which are responsible for generating user interface. They mirror HTML widgets like text boxes or buttons. If these controls do not fit your needs, you are free to create your own user controls. The Web Forms are designed to build web-based applications as easy as building Visual Basic application. Web Form files have the file extension .aspx and contain the Web pages GUI. We customize the Web Forms by adding Web controls, which include labels, text boxes, images, buttons and other GUI components. Web Form file represents the Web page that is sent to the client browser. The Web Form files represents as ASPX files. [4] 4.3.2. Why Use ASP.NET There are much reasons that why to use the ASP.NET. ASP.NET is not limited to the scripting languages; it allows us to make use of .NET languages like C#, and J# etc. It is built on
59
the common language runtime that can be used on any Windows server to host powerful ASP.NET websites and technologies. ASP.NET pages are easy to write and maintain because the source code and HTML are together. It reduces the amount of code required to build large applications. ASP.NET provides the better performance by taking advantage of early binding, just-in-time compilation, native optimization, and caching services right out of the box. The source code and HTML are together therefore ASP.NET pages are easy to maintain and write. In addition, the source code is executed on the server. This provides a lot of power and flexibility to the Web pages. It easily works with the ADO.NET using data binding and page formatting features. It is an application, which runs faster and counters large volumes of users without having performance problems. It offers Rich controls, for the designing of user interface.
This is purely server-side technologies, so that ASP.NET code runs on the server before being sent to the browser. 4.3.3. C# C# is the programming language that is designed to work with Microsofts .NET platform. It is an object-oriented programming language that enables the developers to build a variety of secure and fast applications that are run on the .NET Framework. We can use the C# to create traditional windows client applications, client-server applications, database application and much more. C# is intended to a simple, modern, general-purpose, object-oriented programming language. The Anders Hejlsberg (father of Delphi) creates C# language. The most recent version of C# is 4.0, which was released on April 12, 2010. C# provides language construct to directly support these concepts, making C# a very natural language in which to create and use software components. It is an international standard programming language used to create instructions that
60
direct the computer about what to do, when to do it, and how to do something. The C# is designed to be a platform-independent language. [4] C# is designed to take the advantage of design of .NET. Microsoft C# is the new programming language that is designed to build a wide range of enterprise application that run on the .NET Framework. By using it, C# developers can develop web programs and web services easily than other Microsoft tools such as Visual C++ and Visual Basic. The design goals of C# programming language are given below: C# can make our code more stable and productive. C# is a simple, general-purpose and object-oriented programming language. It is intended for the use in developing software components suitable for deployment in distributed environments. It provides the support for software engineering principles such as strong type checking, array bounds checking, detection of attempts to use uninitialized variables, and automatic garbage collection. Portability of C# is very important, especially for those programmers who already familiar with C and C++. C# is intended for the use in developing software components suitable for deployment in distributed environments. A unified type system and simplifying the way that value and reference types are used by the language. 4.3.4. JQuery JQuery is a coding language that is a branch from JavaScript. JQuery works like JavaScript where its used to help with interaction and effects with our development code. JQuery hasnt been around very long, it was release in January 2006 and only on version 1.4.0. JQuery is a new and exciting technology that is catching on quickly and making the internet more interactive and enjoyable.
61
4.3.5. Why jQuery for Development? The best featuring for jQuery is the effects we can accomplish, with less code than what it would take with JavaScript. Most common jQuery effects are drop down menus, drag and drop elements, animations and form validation. Developers have also connected this with other coding languages like JSP, ASP, and PHP. Features Included Supports All Versions of CSS Supports Events and Utilities Works with Ajax Creates Usability, Effects and Animations Works in all Popular Internet Browsers Small File Size Can combine with Prototype Can work with Other Coding Languages. [5]
4.4.
Database Design
4.4.1. SQL Server Management Studio Microsoft SQL Server is a relational database server, developed by Microsoft, it is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). SQL Server Management Studio is an integrated environment for accessing, configuring, managing, administering, and developing all components of SQL Server. SQL Server Management Studio combines a broad group of graphical tools with a number of rich script editors to provide access to SQL Server to developers and administrators of all skill levels. [6] 4.4.2. Why Choose SQL Server Management Studio SQL Server Management Studio combines the features of Enterprise Manager, Query Analyzer, and Analysis Manager, included in previous releases of SQL Server, into a single environment. In addition, SQL Server Management Studio works with all components of SQL
62
Server such as Reporting Services and Integration Services. Developers get a familiar experience, and database administrators get a single comprehensive utility that combines easy-touse graphical tools with rich scripting capabilities.
4.5.
Development tools
Developments tools used to implement the system are. 1. Microsoft Visual Studio 2010 This is main tool for coding in C#.NET. 2. Microsoft SQL server 2008 Management studio. This is used to handle the database of the system.
4.6.
User Interface
A user interface is the system by which users interact with an application. User interface
63
Chapter 5:
System Testing
64
5.1.
Introduction
After the process of implementation, it is necessary to validate and verify the system by
testing. In general testing is the process of verifying and validating system whether the system is performing correctly with no bugs. Testing is not only the means that fixing the bug in the code, but also to check whether the program is behaving according to given specifications and testing strategies. Testing is the stage in the software life cycle where the intention is to find the errors and bugs. Testing the software is operating the software under the controlled conditions, Verify that it behaves as specified. Detect errors. Validate that what has been specified to find what the user actually wanted.
The validations check to see if the software is building under the conditions that the customer wants/needs, and verification checks to see if the software is built in such a way that it is correctly works. These both verification and validation are necessary to meet true requirements. Two type of box testing
5.2.
functionality of the application as given to its internal structures or working. In this type of testing the tester is only aware of what the software is supposed to do, but not know how. It uses the internal structure of the software; include specifications, requirements, and the design to drive the test cases. These tests may be the functional or non-functional, though usually they are functional. In the black box testing we selects the valid and invalid inputs and determines the correct output. The advantages of the black box testing are: Tester does not need to know the knowledge of any specific programming language.
65
The test is done from the point of view of user, not the designer. The test cases can be designed as soon as the specifications are complete.
5.3.
black box testing includes the specific knowledge of programming code to examine the outputs. The test is accurate only if the tester knows what the program wants to do. In this testing we check the internal structure of the application, as its functionality supposed. The white box testing can be applied at the unit, integration and system levels of software testing processes.
5.4.
Test Plan
Test plan describe the contents that are linked to the testing of the system. It describes
the strategy for the software testing. While testing the application, following cases are being considered: Testing Goals The key areas to be focused during the testing Functionality Testing Performance Testing Usability Testing Client-Side Testing Server-Side Testing Security
5.4.1. Testing Goals Testing is done to find the errors, get them corrected, and make the program conformance with the functional and performance requirements. Testing goals that meets the needs of user requirements are: Correctness Reliability
66
5.4.2. Key Areas to be focused while testing The focus is on the functionality and usability of the application. The focus is also on the acceptance testing. The planning process outlines the user acceptance testing strategy. Rather the focus is on all types of testing to meet the user needs in a successful way. The requirements are changed during the development of software. It is to be focused on the requirements that are changed time to time. 5.4.3. Functionality Testing It is to be tested that the application performs all the functionality. The original functionality continues to work as specified even after changes/additions/modification to the application. In the testing of functionality, the following are also tested: Forms Links Database Connectivity Cookies
5.4.4. Performance Testing In the performance testing, the non-functional requirements are tested. The performance testing is used to determine the speed or effectiveness of a computer and/or software program. The performance testing can be applied to understand the web sites scalability. Performance testing includes: Connection Speed The application is tested over connections like DSL, Dial-up etc. Load 1. What is the no. of users per time?
67
2. Stress 1. 2. Capacity
The continuous load. Performance of the memory, CPU, file handling etc.
It is tested how many users and/or transactions a given system will support and still meet to the performance goals. 5.4.5. Usability Testing It is the process by which human-computer interaction characteristics of the system are measured and the weaknesses are identified for the correction. 5.4.6. Client-Side Testing The client-side compatibility is also tested in the various platforms, using various browsers etc. 5.4.7. Server-Side Testing In this testing, it is to be tested that communication is done properly. The compatibility of server with application, hardware, and network and with the database is tested. Server-Side testing is required when the values are required from the database to process the client parameters. 5.4.8. Security The security testing determines that the application protects data and maintains functionality as intended. It is to test that our system is secure from the vulnerabilities. In security of the application the confidentiality, integrity, authentication, authorization and the availability of data is tested.
68
5.5.
Test Cases
Table 5. 1
5.5.1. Check whether user logged in. Test Case ID Tester Test Type Test Case Name Description Procedure 1.1 Suhail Ahmed Manual-Black Box Log In Purpose of this test whether the user is log in or not. Brows to login page. Type the username and password. Click the login button. Test Data Expected Result Actual Result Status User ID: Ahmed
Invalid user id and Password. Invalid user ID or password.
Password: *****
Success.
Test Case ID Tester Test Type Test Case Name Description Procedure
1.2 Suhail Ahmed Manual-Black Box Log In Purpose of this test whether the user is log in or not. Brows to login page. Type the username and password. Click the login button.
Password: *****
69
Table 5. 2
5.5.2. Check whether the account is created. Test Case ID Tester Test Type Test Case Name Description Procedure 02 Suhail Ahmed Manual-Black Box Create account User wants to create the account. User click on the Create account link to create the new account. User fills the registration form that is given by the system. User submits the form for creating account Input Condition Expected Result Actual Result Status Any required field left unfilled or invalid format. Error Message Field is empty or invalid entry. Error Message Field is empty or invalid entry. Success
Table 5. 3
5.5.3. Check whether the Property is posted. Test Case ID Tester Test Type Test Case Name Description Procedure 03 Suhail Ahmed Manual-Black Box Post Property User wants to post property. User click on the post property link to post the property.
70
User fills the post property form that is given by the system. User submits the form for post property. Input Condition Expected Result Actual Result Status Any required field left unfilled or invalid format. Error Message Field is empty or invalid entry. Error Message Field is empty or invalid entry. Success
Table 5. 4
5.5.4. Check whether the Property list is viewed. Test Case ID Tester Test Type Test Case Name Description Procedure 04 Suhail Ahmed Manual-Black Box View Property list Administrator/User wants to View Property list. User click on the View Property list link to view the property. Expected Result Actual Result Status Property list is open. Property list is viewed Success
Table 5. 5
5.5.5. Check whether the User list is viewed. Test Case ID Tester Test Type Test Case Name 05 Suhail Ahmed Manual-Black Box View Users list
71
Administrator/User wants to View Users list. User click on the View Users list link to view the Users. Users list is open. Users list is viewed Success
Table 5. 6
5.5.6. Check whether the Property is deleted. Test Case ID Tester Test Type Test Case Name Description Procedure 06 Suhail Ahmed Manual-Black Box Delete Property Administrator/Registered User wants to delete Property. User click on the delete Property link to delete the property from the property list. Expected Result Actual Result Status Property is deleted. Property is deleted from the property list. Success
Table 5. 7
5.5.7. Check whether the Property is edited. Test Case ID Tester Test Type Test Case Name Description Procedure 07 Suhail Ahmed Manual-Black Box Edit Property Registered User wants to edit Property. User click on the edit Property link to edit the property from the property list.
72
Table 5. 8
5.5.8. Check whether the Property is view on map. Test Case ID Tester Test Type Test Case Name Description 08 Suhail Ahmed Manual-Black Box View Property on Map Administrator/User wants to View Property on Map Property. Procedure User click on the view Property map link to view the property on map. Expected Result Actual Result Status Property is view on map. Property is view on map. Success
5.6.
Conclusion
After describing testing techniques and detail level of testing with test cases applying to
the functional requirements of the system. I have tested both white box as well as black box of the system.
73
Chapter 6:
74
6.1.
Evaluation
Evaluation is a systematic, objective process for determining the success of a policy or
program. Evaluation of the system means to examine what goals are achieved by the system and what are the weakness and deficiencies left behind. This section evaluates the design and implementation of the system. First, I examine the baseline performance and overheads of system and show that it performs competitively with the functional requirements.
Number
Evaluation
Fulfilled Fulfilled Fulfilled Fulfilled Fulfilled Fulfilled
1 2 3 4 5 6 7
Fulfilled
6.2.
Future Enhancement
There is great margin to enhance this system. Some suggested enhancements are as follows:
Block users o After receiving a number of complains Provide directions on G-Map o Towards property Sale/buy property on system Multiple videos Store videos on systems own database Systems own video player
76
APPENDICES
77
78
Home Page
79
80
User List ` User or Administrator can view the list of all users.
81
82
View Property List User or Administrator can view list of all property in this page.
83
View Property Detail User or Administrator can view Property Detail in this page.
84
References
[1]. Software Engineering a Practitioners approach, Roger S. Pressman, Ph.D.; Edition 7th [2] Pressman, Roger S. Software Engineering: a practitioners approach, 5 th edition. [3] http://www.codeproject.com/Articles/11128/3-tier-architecture-in-C [4] www.asp.net.com [5] http://www.webhostdesignpost.com/website/whatisjqueryandwhy.html [6] http://msdn.microsoft.com/en-us/library/ms174173.aspx
85