Online property Advertising System is a web application developed by Suhail Ahmed khuhawar for the requrement of final year project of Msc Information technology in Quaid-i-azam university Islamabad in this web application User can by and sell property online without going to real estate office.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Table of ContentsChapter 1: Introduction ............................................................................................................... 9
USE CASE _TABLE 2. 1 .................................................................................................................. 23USE 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
Steps: OPAS web site Home Page Log In View list of property.
Actor’s Action System Response
1. User selects the button of view
list of property.
2. System displays the whole property
list.
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 _Table 2. 4
Use Case name: View property detail.
Primary actor: Registered User, Administrator.
Goal: User view detail of property.
Pre-condition: User must be logged in.
25
Steps: OPAS web site Home Page Log In View list of property/ View
detail of property.
Actor’s Action System Response
1. User clicks button View list ofproperties.
3. User select a specific property
from the list of properties
2. System displays the list of property.
4. System displays the detail of selectedproperty.
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 _Table 2. 5
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.
Actor’s Action System Response
1. User selects the button of view
Map.
2. System shows the Map.
Post-condition: User View Map on the system.
Purpose: The use case would be used when User wants to View Map.
Use Case _Table 2. 6
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.
26
Pre-condition: User must be logged in.
Steps: OPAS web site Home Page Log In View Map/ Browse Map.
Actor’s Action System Response
1. User selects the button of Map
and Browse the property location
on Map.
2. System provides the location of
property 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 _Table 2. 7
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.
Actor’s Action System Response
1. User selects the Upload videobutton.
3. User selects the file to uploadvideo
2. System opens file and open dialog boxto upload video of property.
4. System uploads the file.
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.
27
Use Case _Table 2. 8
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.
Actor’s Action System Response
1. User clicks View property video
button.
2. System shows the video of property
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 _Table 2. 9
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.
Actor’s Action System Response
1. User selects Remove video
button.
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.
28
Use Case _Table 2. 10
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 Home Page Log In Property Add New
property.
Actor’s Action System Response
1. Registered User clicks propertybutton, then add new property.
3. Registered User entersinformation of property.
2. System displays add new propertyform.
4. System stores the new property indatabase and updates the database andshow.
Alternative to line4: User entered
incorrect or incomplete
information.
5. System displays the error message.
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.
Use Case _Table 2. 11
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 Home Page Log In View Property list
Remove Property.
Actor’s Action System Response
1. Registered User select property 2. System removes selected property from
29
and Remove link the database and then updates the
database.
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 _Table 2. 12
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 Home Page Log In View Property list
Modify Property.
Actor’s Action System Response
1. Registered User select property
and Modify selected property and
save it.
2. System save selected property in
database and then updates the database.
Alternative to line2: If modified
information is incorrect or in
complete.
3. System displays an error message.
Post-condition: Registered user successfully modifies property in the system.
Purpose: The use case would be used when registered user wants to modify
Property.
Use Case _Table 2. 13
Use Case name: Upload picture.
Primary actor: Registered user.
Goal: Registered user uploads the pictures of property.
30
Pre-condition: Registered user must be logged in.
Steps: OPAS web site Home Page Log In Property Upload picture.
Actor’s Action System Response
1. User selects the upload picturesbutton.
3.User selects the file to uploadpicture
2. System opens file and open dialog boxto upload video of property.
4. System uploads the 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 _Table 2. 14
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.
Actor’s 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 _Table 2. 15
Use Case name: Remove picture.
Primary actor: Registered user, administrator.
31
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.
Actor’s Action System Response
1. User selects remove picture
button.
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 _Table 2. 16
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.
Actor’s Action System Response
1. Users select the view propertydetail button.
3. Users select the view commentbutton.
2. System displays the page of propertydetail.
4. System Response and show allcomments.
Post-condition: Users successfully view comments on the system.
Purpose: The use case would be used when user wants to view comments.
Use Case _Table 2. 17
Use Case name: Comment on property.
Primary actor: Registered User.
32
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.
Actor’s Action System Response
1. Users select the view propertydetail button.
3. Users select the property and
write comments on that property
comment box.
2. System displays the page of propertydetail.
4. System stores the comments and show
comments.
Post-condition: Users successfully write comments on the system.
Purpose: The use case would be used when user wants to write comments on
property.
Use Case _Table 2. 18
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.
Actor’s Action System Response
1. Registered User selects propertybutton and view rate list.
3. Registered User upload rates oftheir property.
2. System displays the rate list ofproperty.4. System stores the rates and update tothe Data base and displays.
Post-condition: Registered user rate property on the system.
Purpose: The use case would be used when registered user rates on property.
33
Use Case _Table 2. 19
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.
Actor’s Action System Response
1.User select view property detailpage
3. Users select the follow userbutton.
2. System shows the view property detailpage
4. System display the information of thatthat person.
Alternative to line1: If User
entered an incorrect name or
password.
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.
34
2.6.1. Activity diagram of User login
Figure 2. 2: Activity diagram
35
2.6.2. Activity diagram of create user account
Figure 2. 3: Activity Diagram
36
2.6.3. Activity diagram of add property
Figure 2. 4: Activity Diagram
37
2.6.4. Activity diagram of delete property
Figure 2. 5: Activity Diagram
38
2.6.5. Activity diagram of view property detail
Figure 2. 6: Activity Diagram
39
2.6.6. Activity diagram of view property on map
Figure 2. 7: Activity Diagram
40
2.6.7. Activity diagram of comment on property
Figure 2. 8: Activity Diagram
41
2.6.8. Activity diagram of add favorite property
Figure 2. 9: Activity Diagram
42
Chapter 3:
SYSTEM DESIGN
43
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 it’s 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. Data Base Design
A Data Base design is a more detailed design which includes all entities and their
corresponding relationship. Database design is the design of the database that support’s 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
44
ER model doesn’t 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 takeplace. 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
45
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:
46
Figure 3. 1: OPAS ERD
47
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: User
Primary Key: User_ Id
Purpose: Stores the data related to the Users
Table No: 3. 1
Field Name Type Width Constraint Description
User_ Id Int 10 Not Null Primary Key
User type Id Int 20 Not Null Foreign Key
City Id Int 20 Not Null Foreign Key
Follower Id Int 20 Not Null Foreign Key
User Name Nvarchar 50 Not Null Name of User
48
Password Varchar 20 Not Null Password checked for security reasons
Email Varchar 30 Not NullCustomer’s Email required for onlineinformation
Mobile Number Int 20 NullMobile number required for Follow theUser
Joining Date Date 30 Not Null Users Account Created Date
Table Name: Property
Primary Key: Property_ Id
Purpose: Stores the data related to Property
Table No: 3. 2
Field Name Type Width Constraint Description
Property Id Int 10 Not Null Primary Key
PType Id Int 10 Not Null Foreign Key
Picture Id Int 10 Not Null Foreign Key
Video Id Int 10 Not Null Foreign Key
Area MeasureId
Int 10 Not Null Foreign Key
Rating Id Int 10 Not Null Foreign Key
User Id Int 10 Not Null Foreign Key
City Id Int 10 Not Null Foreign Key
Area Int 10 Not Null It stores the property Area
Story Int 20 NullColumn store the no of stores in Case ofHome and shop
Bed Room Int 10 Null No of Bedrooms are stored in case of Home
49
Wash Room Int 10 NullNo of Washrooms are stored in case ofHome
Address Nvarchar 50 Not Null Property address are stored
Location Nvarchar 30 Not Null Location of property where property exist
Latitude geography 30 Null Google Map coordinates
Longitude geography 30 Null Google Map coordinates
Date Posted Date 20 Not NullProperty posted date are store in thiscolumn
Table Name: Comment
Primary Key: Comment_ Id
Purpose: Stores the Comment of users
Table No: 3. 3
Field Name Type Width Constraint Description
Comment_ Id Int 10 Not Null Primary Key
User_ Id Int 10 Not Null Foreign Key
Property_Id Int 10 Not Null Foreign Key
Comment Date Date 20 Not Null When User comment on property
Comments Nvarchar Max Not Null Store all the comments
Table Name: Rating
Primary Key: Rating_ Id
Purpose: Store the no of rates which are given by User
50
Table No: 3. 4
Field Name Type Width Constraint Description
Rating _ Id Int 10 Not Null Primary Key
User_ Id Int 10 Not Null Foreign Key
Property_Id Int 10 Not Null Foreign Key
Rate Int 10 Not Null User can rate on property
Table Name: Area Measurement
Primary Key: Area Measure_ Id
Purpose: Store the different type of area measurement scale
Table No: 3. 5
Field Name Type Width Constraint Description
Area Measure_ Id Int 10 Not Null Primary Key
AreaMeasureType nvarchar 30 Not NullSelect the any one area measurementtype
Table Name: Picture
Primary Key: Picture_ Id
Purpose: Store the Picture of property
Table No: 3. 6
Field Name Type Width Constraint Description
Picture_Id Int 10 Not Null Primary Key
Path Nvarchar 30 Not Null Path of picture where picture stored
51
Table Name: Video
Primary Key: Video_ Id
Purpose: Store the Video of property
Table No: 3. 7
Field Name Type Width Constraint Description
Video _Id Int 10 Not Null Primary Key
Url Url 50 Not Null Store the Url of Property Video
Table Name: User Type
Primary Key: User Type_ Id
Purpose: Store the Type of User
Table No: 3. 8
Field Name Type Width Constraint Description
User Type_ Id Int 10 Not Null Primary Key
User Type nvarchar 30 Not NullUser has any type it may be Buyer orSeller
Table Name: Property Type
Primary Key: Property Type_ Id
Purpose: Store the Type of Property
52
Table No: 3. 9
Field Name Type Width Constraint Description
Property Type_ Id Int 10 Not Null Primary Key
Property Type nvarchar 30 Not NullProperty has many types it may beHome, Shop, or Plot.
Table Name: City
Primary Key: City_ Id
Purpose: Store the name of City where User and property exist
Table No: 3. 10
Field Name Type Width Constraint Description
City_ Id Int 10 Not Null Primary Key
City Name nvarchar Max Not Null Store the Name of cities
Table Name: Follow
Primary Key: Follow_ Id
Purpose: Store the information of one User who Follow other Users
Table No: 3. 11
Field Name Type Width Constraint Description
Follow_ Id Int 10 Not Null Primary Key
Follower Name nvarchar 30 Not NullStore the name of follower whichfollow User
Follow User name nvarchar 30 Not NullStore the name of user who uploadproperty and followed by follower
53
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:
54
Figure 3. 2: OPAS CLASS
55
Chapter 4:
SYSTEM IMPLEMENTATION
56
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, software’s 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
57
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.
Figure 4. 1: 3-tier Architecture Diagram
58
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 won’t affect the business logic
module much. Let's say if we are moving from SQL Server data storage to Oracle
there shouldn’t 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 don’t have to install the entire system in individual user’s 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. Programming Language Selection
For the development of the Online Property Advertising System (OPAS), ASP.Net and
C#.NET is used as a programming language.
59
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 page’s 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
60
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 Microsoft’s .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
61
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 it’s used to help with interaction and effects with our development code.
JQuery hasn’t 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.
62
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
63
Server such as Reporting Services and Integration Services. Developers get a familiar
experience, and database administrators get a single comprehensive utility that combines easy-to-
use 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
of system are attached in appendix A.
64
Chapter 5:
System Testing
65
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
Black box testing
White box testing
5.2. Black box Testing
It is also known as functional testing. It is the software testing that test the
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.
66
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. White box Testing
It is also known as the glass box or structural, open box and clear box testing. The
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
67
Availability
Maintainability
Efficiency/Performance
Validation
Verification
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 site’s
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?
68
2. The large amount of data is accessed by the user.
Stress
1. The continuous load.
2. Performance of the memory, CPU, file handling etc.
Capacity
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.
69
5.5. Test Cases
Table 5. 1
5.5.1. Check whether user logged in.
Test Case ID 1.1
Tester Suhail Ahmed
Test Type Manual-Black Box
Test Case Name Log In
Description Purpose of this test whether the user is log in or not.
Procedure Brows to login page.
Type the username and password.
Click the login button.
Test Data User ID: Ahmed Password: *****
Expected Result Invalid user id and Password.
Actual Result Invalid user ID or password.
Status Success.
Test Case ID 1.2
Tester Suhail Ahmed
Test Type Manual-Black Box
Test Case Name Log In
Description Purpose of this test whether the user is log in or not.
Procedure Brows to login page.
Type the username and password.
Click the login button.
Test Data User ID: admin Password: *****
Expected Result Login successful.
70
Actual Result Login successful.
Status Success.
Table 5. 2
5.5.2. Check whether the account is created.
Test Case ID 02
Tester Suhail Ahmed
Test Type Manual-Black Box
Test Case Name Create account
Description User wants to create the account.
Procedure 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 Any required field left unfilled or invalid format.
Expected Result Error Message “Field is empty or invalid entry”.
Actual Result Error Message “Field is empty or invalid entry”.
Status Success
Table 5. 3
5.5.3. Check whether the Property is posted.
Test Case ID 03
Tester Suhail Ahmed
Test Type Manual-Black Box
Test Case Name Post Property
Description User wants to post property.
Procedure User click on the post property link to post the property.
71
User fills the post property form that is given by the
system.
User submits the form for post property.
Input Condition Any required field left unfilled or invalid format.
Expected Result Error Message “Field is empty or invalid entry”.
Actual Result Error Message “Field is empty or invalid entry”.
Status Success
Table 5. 4
5.5.4. Check whether the Property list is viewed.
Test Case ID 04
Tester Suhail Ahmed
Test Type Manual-Black Box
Test Case Name View Property list
Description Administrator/User wants to View Property list.
Procedure User click on the View Property list link to view the
property.
Expected Result Property list is open.
Actual Result Property list is viewed
Status Success
Table 5. 5
5.5.5. Check whether the User list is viewed.
Test Case ID 05
Tester Suhail Ahmed
Test Type Manual-Black Box
Test Case Name View Users list
72
Description Administrator/User wants to View Users list.
Procedure User click on the View Users list link to view the Users.
Expected Result Users list is open.
Actual Result Users list is viewed
Status Success
Table 5. 6
5.5.6. Check whether the Property is deleted.
Test Case ID 06
Tester Suhail Ahmed
Test Type Manual-Black Box
Test Case Name Delete Property
Description Administrator/Registered User wants to delete Property.
Procedure User click on the delete Property link to delete the
property from the property list.
Expected Result Property is deleted.
Actual Result Property is deleted from the property list.
Status Success
Table 5. 7
5.5.7. Check whether the Property is edited.
Test Case ID 07
Tester Suhail Ahmed
Test Type Manual-Black Box
Test Case Name Edit Property
Description Registered User wants to edit Property.
Procedure User click on the edit Property link to edit the property
from the property list.
73
Expected Result Property is edited.
Actual Result Property is edited from the property list.
Status Success
Table 5. 8
5.5.8. Check whether the Property is view on map.
Test Case ID 08
Tester Suhail Ahmed
Test Type Manual-Black Box
Test Case Name View Property on Map
Description 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 Property is view on map.
Actual Result Property is view on map.
Status 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.
74
Chapter 6:
SYSTEM EVALUATION & FUTUREENHANCEMENT
75
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.
Table No 6. 1: System Evaluation
Number Functional Requirement Name Evaluation
1 Registration for users. Fulfilled
2 Store picture of property Fulfilled
3 Interface to upload property features Fulfilled
4 Rating facility to rate on properties Fulfilled
5 Interface to comment on property Fulfilled
6 Map for browsing and searching
properties
Fulfilled
7 An option to follow a user Fulfilled
6.2. Future Enhancement
There is great margin to enhance this system. Some suggested enhancements are as follows:
Follow users
o Email alerts to followers
76
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 system’s own database
System’s own video player
77
APPENDICES
78
Appendix A
User Interface
Some screen shots of the system are displayed here which will help the user to use the
system, according to their desired actions.
Login Page
User can enter valid username and password and click on login button to login tosystem.
79
Home Page
80
Create Account
User can create new account in this page.
81
User List
` User or Administrator can view the list of all users.
82
Post Property
User can Post a property in this page.
83
View Property List
User or Administrator can view list of all property in this page.
84
View Property Detail
User or Administrator can view Property Detail in this page.
85
References
[1]. Software Engineering a Practitioner’s approach”, Roger S. Pressman, Ph.D.;Edition 7th
[2] Pressman, Roger S. Software Engineering: a practitioner’s approach, 5th