Beruflich Dokumente
Kultur Dokumente
Developed For
By
UNIVERSITY OF PUNE MASTER IN COMPUTER APPLICATION Allana Institute of Management Sciences PUNE-41101 2011-2012
Acknowledgement
I wish to express my deep sense of gratitude and honor toward Director of Mascot Software Services Pvt Ltd for giving chance me to work with organization. His inspiring guidance and constant encouragement help me for completion of my project. I also wish to thanks to all people in the organization who help me during project development time to time. I also express my honor and gratitude to Prof. R. Ganesan Director of Allana Institute of Management Sciences, Pune, and constant encouragement for completing my project work successfully. I wish to express my honor and gratitude to Prof. Jawed Khan HOD of Allana Institute of Management Sciences, Pune for providing the necessary facilities and encouragement for completing my project work successfully. I wish to express my deep sense of gratitude and honor toward my internal guide Miss. Mehdi K. I. committed devotion, dedication and encouragement with full faith on me. Place : Pune Date : 1-April-2012 Sayyed Musakkhir Husain Zakir Husain
INDEX
Chapters 1 INTRODUCTION 1.1 Company Profile 1.2 Existing System and Need for System 1.3 Scope of Work 1.4 Operating Environment Hardware and Software 1.5 Detail Description of Technology Used 2 PROPOSED SYSTEM 2.1 Proposed System 2.2 Objectives of System 2.3 User Requirements 3 ANALYSIS AND DESIGN 3.1 Class Diagram 3.2 Use Case Diagram 3.3 Sequence Diagram 3.4 Activity Diagram 3.5 Module Hierarchy Diagram 3.6 Component Diagram 32 33 37 54 70 71 25 28 29 12 4 6 9 11 Title Page No.
3.7 Deployment Diagram 3.8 Web Site Map Diagram 3.9 Module Specification 3.10 User Interface Design 3.11 Table Specification 3.12 Test Procedure and Implementation 4 USER MANUAL 4.1 User Manual 4.2 Menu Explanation 5 6 7 8 9 10 DRAWBACKS AND LIMITATIONS PROPOSED ENHANCEMENTS CONCLUSION BIBLIOGRAPHY ANNEXURES 1: REPORTS ANNEXURES 2: SAMPLE CODE
72 73 74 79 149 156
About Us Mascot Software Services vision is to add power through enhancing the competitive advantage of the customer's business on an ongoing basis by providing quality and innovative solutions that are most relevant to its business needs. Mascot Software Services is growing from strength to strength based on its abiding concern for the basic values upon which it has built its foundation. Mascot Software Services is providing the best-in-class solutions that keep its customers investment protected and enable them stay ahead of competition. Listening to its customers, understanding the Critical Success Factors important to their business needs and developing solutions based on the problem at hand have been some of the key underlying reasons for its successful business relationships with its customers. Through such close and strong relationships Mascot Software Services acquiring and enhancing its application domain knowledge and best business practices from its birth. Based on the core competencies, it has decided to focus on the following verticals.
Website Address
Contact No Email
In addition, owner wants to update their records each time a deletion or addition. Cost Consideration : A large number of people are involved to maintain the whole system that is very expensive. The cost also increases to the buyer with the increasing of shop maintenance. A large number of manpower is involved to maintain the whole system, which is very expensive. Unreliable and inefficient data entry. Lesser user friendly. Redundant data storage. Uses of lot registers for maintain records. The office is situated at the particular location, the no of client cannot able to come from other side. Only the people which near to the office can register for sell, rent or buy. Need for system: The existing system is very slow and needs more time to search and maintain each and every detail. As calculations are done manually it is tedious difficult to major more figures accurately.
Retrieval of required information is become difficult and time consuming. Security of data is very critical issue which has to consider in the current system there is no data security. Same data is maintained in various file which is leading to redundancy of data. Report generation is very tedious job. The in-charge of preparing report has to refer more than one file.
10
1.3 Scope
The system is highly flexible one and is well efficient to make easy interactions with the client. The key focus is given on data security, as the project is online and will be transferred in network. The speed and accuracy will be maintained in a proper way. This will be a user-friendly one and can successfully overcome strict and severe validation checks. The system will be a flexible one and changes whenever can be made easy. Using the facility and flexibility in .NET and SQL, the software can be developed in a neat and simple manner there by reducing the operators work. Since the project is developed in ASP.NET as a front-end and SQL as a back-end it can be modified easily and used for a long period. The proposed system maintains all the property information online. The system identifies various sources of properties and accordingly provides information. The various sources are land, apartments, row-house, etc. It provide information to one and all who visit the site but to upload a property for sale and rent and to send a request to buy a desire property only can be made who register with the side. Through this project I have tried to automate the task of:
11
Category of Property Features of Property Details of Property Price Details Available property information Entering the detail contact information, and other information. Checking password and confirm password. Checking username available or not during the registration process. Member management Member id is generated automatically from the table by auto generation.
Entering the details like primary information, professional information, contact information and other information.
Add Banners and property images Save time of search Give a modification power to sites owner. So, Administrator of site can make any changes such like can add a new property category and property type details on the working windows.
12
Software Specification: Operating System Web Server Web Browser Development Tool : Windows 98, 2000, ME, XP, NT. : IIS Server : IE 4 or Netscape 4x or upwards : ASP.NET, C#, JavaScript, HTML, DHTML, AJAX. Database : Microsoft SQL Server 2008
13
14
them to build pages composed to controls similar to a Windows user interface. A web control, such as a button or label, functions in very much the same way as events. Controls know how to render themselves: whereas windows controls draw themselves to the screen, web controls produce segments of HTML which form part of the resulting page sent to the end-users browser. ASP.NET encourages the programmer to develop applications using an event-driven GUI paradigm, rather than in the conventional web scripting fashion. The framework attempts to combine existing technologies such as JAVA Scripts with internal components like View State to bring persistent (inter-request) state to the inherently stateless web environment. C Sharp In June 2000, Microsoft announced both the .NET platform and a new programming language called C#. C# is a strongly-typed object oriented language designed to give the optimum blend of simplicity, expressiveness, and performance. The .NET platform is centered on a Common Language Runtime (similar to JVM) and a set of libraries which can be exploited by a wide variety of languages which are able to work together by all compiling to an intermediate language (IL). C# and .NET are a little symbiotic: some features of C# are there to work
15
well with .NET, and some features of .NET are there to work well with C# (though .NET aims to work well with many languages). This article is mostly concerned with C#, but sometimes it is useful to discuss .NET too. The C# language was built with the hindsight of many languages, but most notably Java and C++. It was co-authored by Anders Hejlsberg (who is famous for the design of the Delphi language), and Scott Willamette. New Features in C# The C# language is standardized through ECMA International. This allows for a standardization of the language without the fear of one company controlling it. Said another way, C# is a non-proprietary language that no single company can control. The ECMA committee has recently accepted two new specifications. These are the Standard EMCA-334: C# language Specification and the standard EMCA-335: Common Language Infrastructure (CLI) Specification. I took a quick look at these. The acceptance of EMCA-334 is the approval of the third edition of the C# language. This standard specifies the syntax and constraints used to create a standard C# program. Additionally, it defines the semantic rules for interpreting C# programs and the restrictions and limits that must be met to be considered a conforming version of C#. More specifically, what does this mean to a C#
16
developer? It means that a number of new features can be used with confidence because future C# compilers will be supporting them. These features include: Pragma directives Anonymous methods Static classes Partial declarations Property get and set assessors Generic types and methods Iterators Null-able types
With the changes that have been made to the C# language, it is also not surprising that changes also needed to be made within the standardized CLI specification. Changes in the CLI based on ECMA-335 are: Support for generic types and methods. Additional prefixes of constrained. No. and read-only. Added a number of members and types to the Type library. Made changes to the specification including the addition of a Debug Interchange Format section. In the CLI, there are numerous types and members that were added to the type library. These include a number of generics in the System
17
namespace ranging from Action <T> to Typed Reference. The System Collections Generics namespace was also added along with numerous types within it. The system reflection namespace was updated to allow for support of generics reflection as well to include new enumeration values to support non-standard encoding of string formatting attributes. The System Runtime Compiler Services namespace was updated to include types Compilation Relaxations and Compilation Relaxations Attribute. Finally, the System threading Parallel namespace now contains a number of new types for supporting multi-threaded CPUs. As you can see, C# and the .NET Framework are evolving. These new additions help to boost C# into being an even more powerful, nonproprietary, standardized language. Although Microsoft may be initiating the changes, it is good to know that a standards board is controlling the language. In my opinion, this gives C# developers some added protection as the C# language continues to evolve. DOT NET FRAMEWORK: The Microsoft .NET Framework is a software framework that can be installed on computers running Microsoft Windows operating systems. It includes a large library of coded solutions to common programming problems and a virtual machine that manages the execution of programs written specifically for the framework. The
18
.NET Framework is a key Microsoft offering and is intended to be used by most new applications created for the Windows platform. The framework's Base Class Library provides a large range of features including user interface, data and data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. The class library is used by programmers, who combine it with their own code to produce applications. Programs written for the .NET Framework execute in a software environment that manages the program's runtime requirements. Also part of the .NET Framework, this runtime environment is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security, memory management, and exception handling. The class library and the CLR together constitute the .NET Framework. Version 3.0 of the .NET Framework is included with Windows Server 2008 and Windows Vista. The current version of the framework can also be installed on Windows XP and the Windows Server 2003
19
family of operating systems.[2] A reduced version of the .NET Framework is also available on Windows Mobile platforms, including smart phones as the .NET Compact Framework. Version 4.0 of the framework was released as a public Beta on 20 May 2009. Common Language Runtime Engine The Common Language Runtime (CLR) is the virtual machine component of the .NET framework. All .NET programs execute under the supervision of the CLR, guaranteeing certain properties and behaviors in the areas of memory management, security, and exception handling. Language Independence The .NET Framework introduces a Common Type System, or CTS. The CTS specification defines all possible data types and programming constructs supported by the CLR and how they may or may not interact with each other. Because of this feature, the .NET Framework supports the exchange of instances of types between programs written in any of the .NET languages. This is discussed in more detail in Microsoft .NET Languages. Base Class Library The Base Class Library (BCL), part of the Framework Class Library (FCL), is a library of functionality available to all languages
20
using the .NET Framework. The BCL provides classes which encapsulate a number of common functions, including file reading and writing, graphic rendering, database interaction and XML document manipulation. Simplified Deployment The .NET framework includes design features and tools that help manage the installation of computer software to ensure that it does not interfere with previously installed software, and that it conforms to security requirements. Security The design is meant to address some of the vulnerabilities, such as buffer overflows, that have been exploited by malicious software. Additionally, .NET provides a common security model for all applications. Portability The design of the .NET Framework allows it to theoretically be platform agnostic, and thus cross-platform compatible. That is, a program written to use the framework should run without change on any type of system for which the framework is implemented. Microsoft's commercial implementations of the framework cover Windows, Windows CE, and the Xbox 360.[4] In addition, Microsoft
21
submits the specifications for the Common Language Infrastructure (which includes the core class libraries, Common Type System, and the Common Intermediate Language),[5][6][7] the C# language,[8] and the C++/CLI language[9] to both ECMA and the ISO, making them available as open standards. This makes it possible for third parties to create compatible implementations of the framework and its languages on other platforms. Features of .NET Framework: The .NET framework offers powerful capabilities for software development and deployment including independence from a specific language and platform. The .NET platform increases programmers productivity and decreases the development time. The .NET framework was designed with three goals in mind: 1. To make Windows application much more reliable, while also
providing an application with greater degree of security. 2. To simplify the development of Web application and services that not only works in traditional sense, but on mobile devices as well. 3. To provide a single set of libraries that would work with
22
Microsoft SQL Server 2005 is comprehensive, integrated data management and analysis software that enables organizations to reliably manage mission-critical information and confidently run todays increasingly complex business applications. SQL Server 2005 allows companies to gain greater insight. Why SQL Server 2005? SQL Server 2005 is a comprehensive database platform providing enterprise-class data management with integrated business intelligence (BI) tools. The SQL Server 2005 database engine provides more secure, reliable storage for both relational and structured data, enabling you to build and manage highly available, performing data applications that you and your people can use to take your business to the next level. The SQL Server 2005 data engine lies at the core of this enterprise data management solution. Additionally, SQL Server 2005 combines the best in analysis, reporting, integration, and notification. This enables your team to build and deploy cost-effective BI solutions with which they can drive data into every corner of your business through scorecards, dashboards, Web services, and mobile devices. Close integration with Microsoft Visual Studio, the Microsoft Office System, and a suite of new development tools, including the Business
23
Intelligence Development Studio, sets SQL Server 2005 apart. Whether you are a developer, database administrator, information worker, or decision maker, SQL Server 2005 provides innovative solutions that help you gain more value from your data. The following diagram illustrates the core components in SQL Server 2005, showing how SQL Server 2005 is a key part of the Windows Server System in integrating with the Microsoft Windows platform including the Microsoft Office System and Visual Studioto offer solutions that deliver data to every corner of your organization.
Enterprise Data Management. SQL Server 2005 delivers a more reliable, secure, and productive data platform for line-of-business and analytical applications. This version of SQL Server is the largest version of SQL Server ever, as well as the most dependable
24
Developer Productivity. SQL Server 2005 provides an end-to-end development environment that includes many new technologies that empower developers and significantly increase their productivity.
Business Intelligence. The comprehensive analytical, integration, and data migration capabilities of SQL Server 2005 enable companies to extend the value of their existing applications, regardless of the underlying platform. BI solutions built on SQL Server 2005 put critical, timely information in the hands of all your people, empowering them to make better decisions faster.
Some features that will help to advance your business in three key areas: SQL SERVER 2005 FEATURES COMPARISION Microsoft has redesigned the SQL Server 2005 product family to better meet the needs of specific customer segments by introducing four new editions: Express, Workgroup, Standard, and Enterprise. These new editions offer a range of featuresfrom high availability
25
and scalability to advanced business intelligence toolsdesigned to empower users across an organization. As a low-cost mainstream database, SQL Server 2005 delivers unprecedented value and functionality compared with competitive solutions. For demanding enterprise systems, SQL Server 2005 represents a dramatic step forward, with reduced application downtime, and high scalability and performance, and tight security-related controls. Because SQL Server is part of the Windows Server System, customers gain the benefits of reduced total cost of ownership and faster development time. This is due to the increased manageability and integration resulting from the common engineering strategy implemented across Windows Server System products.
26
27
2: PROPOSED SYSTEM
2.1 Proposed System
The Proposed system which will allow the user to quickly and easily search a property for Buy and sell. The register user can upload his property for sale or rent out. The system is design and developed in such a way that it tries to overcome all the pre describe problems. The system being an online system will give accurate information regarding the property which helps to view all the property information directly from anywhere. Proposed system will produce updated information of the register user. Proposed system is flexible and user friendly. Guidance for accessing the information site. Designing of site should be such that easy access of the information. If member avail the access of site they should register. Search option facility is provided for members to solve their queries. Members should be able to change their password and able to change their account details. For avail services for selling and buying property, members should be able to access property details.
28
Member should be able to enter all the necessary description of their property for sale.
Member should be able to enter all the necessary description of their property for sale.
Member should be able to view overall properties available for sale in city.
Members should be able to delete property. Member should be able to get information of the property like area, location, and prize.
Administrator can only be able to make changes on the site. Administrator should be to allow or delete requested property and advertisement.
All the information of the property should be according to their location description prize image.
Administrator should be able to maintain all possible results for search option.
29
30
Security Proper authorization and authentication provisions have been made for the security of the site so that only the registered user can look the special offer details. Without proper login no one is allowed to access the special offer list of this site.
Flexible The site is flexible to any expansion or contraction in the future. For example: sending email confirmation to the email as well as through sms after the registration. If new property added on the website, the sms alert will be available for mobile users.
31
32
33
Admin
Property_Owner
1..* Manage 1 Username
Password email
1Login()
POwner_Id Username Password Fname Address Manage State 1 1..* City Pincode Mobile
Register() Login() Forgot_Pass() Update() Delete()
Manage
Manage
Advertisement
Advt_Id Advertiser_Id Plan_Id Start_Date End_Date Image Duration Amount Post_advertisement() Add() Update() Delete()
1 *
1
has
Approve/ Reject
Agent_Id Username Password Fname Address City State Pincode Manage Mobile Register() Login() Forgot_Pass() Update() Approve/ Delete()
Reject
1
*
Agent
Buyer
Buyer_Id Username Password Fname 1..* Gender Address City State Pincode
Register() Login() Forgot_Password() Post_Requirement() Search() BookProperty() Update() Delete()
Post
1 1..*
makes
Property
make
1..*
Plans
makes
Property_Id Buyer_Id Property_Type Buying Type Property_category Address City State Locality pincode BHK Add() Update() Delete() Search_Property() Book_Property()
Search
1..*
Payment
Booking_Id Payment_mode Buyer_Id 1..* Property_Id Pay_Date Amount Advertiser_Id
1..*
34
change password
Forgot Password
include
Require username
View
Manage Owner
nd exte
Manage Buyer
exte nd
Manage Agent
Administrator
nd exte exte nd
Manage Plan
View Requirements
Send Response
nd exte
Manage Advertiser
exte nd
extend
Manage Advertisement
exte nd e xte nd
View Feedback
View Reports
Logout
35
include
Login
e xte nd
Forgot Password
include
Require username
Manage Property
Add Update
Delete
Search Buyer
Update Profile
Send Feedback
Logout
Owner
Agent
36
price
lud e in c
Search Property
include include
Registration
include
Login
include
e xte nd
Update Profile
Forgot Password
include
Buyer
Post
e xt
extend
Manage Requirement
e xte nd
Update
Delete
View Response
Send Feedback
Logout
37
Login
ext end
Require username
Select Plan
include
post advertisement
payment include
Manage Advertise
View
Advertiser
Update Profile
Logout
38
Server
DataBase
1: Select Role
2: Validation
3: Error Message
4: Enter Username and password
5: Validation
6: Error Message
7: send Details
8: Send Details
10: Error for invalid username and password 13: valid username and password
9: Verify
39
Server
DataBase
3: Process Page
4: Show Page
5: Display Page
6: Enter Username
7: Send username
8: Submit username
10: Wrong username error message 12: valid username
9: Verify
40
Server
DataBase
3: Process Page
41
Server
Database
4: Fetch Details
9: Sent Details
42
Server
Database
2: Sent Request
4: Fetch Details
9: Sent Details
43
Server
Database
2: Sent Request
4: Fetch Details
8: Sent Details
9: Update status
44
Server
Database
4: Fetch Details
9: Sent Details
45
Server
Database
2: Sent Request
4: Fetch Details
8: Send Response
9: Send Details
46
Server
DataBase
1: Select Agent
3: Process Page
47
Server
Database
3: Process Page
8: Process Page
16: validate
21: Validation
48
Server
Database
4: sent Request
5: Execute Request
7: Search Result
6: Fetch Details
8: Display Result
9: View Result
49
Server
Database
2: Sent Request
4: Fetch Details
7: Edit/Delete Requirement
8: Sent Details
9: Update status
50
Server
Database
2: Sent Request
4: Fetch Details
51
Server
Database
4: Fetch Details
9: Update status
52
Server
Database
Advertiser
2: Sent Request
4: Fetch Details
7: Add Advertisement
8: Sent Details
9: Update status
11: show Updated successfully
53
Server
DataBase
4: Fetch Details
54
Feedback : User
Browser
user
Server
Database
1: Enter Details
2: validation
3: Error Message
4: Set Details
5: Execute Request
7: Enter Description
9: Error Message
8: validation
6: Property Details
55
Select Role
No
Welcome message
56
valid No Yes
valid No Yes
updated successfully
57
Enter Username
No
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Administrator Module In administrator module administrator allow the property to be uploaded and active that property to show other user who search for property. Administrator can add new category and type of property to the system so that users can add their property according to the category and type. Administrator can delete the user. Administrator can delete the property. Administrator allows the advertisement to be uploaded and active that advertisement after payment. Administrator can change the password.
76
Administrator can recover the password by providing the username and email. Administrator can view the requirements which are posted by different user and responses to that requirement. He can also view the feedback sent by different user. Administrator can manage the advertisement plan and advertisement. Property Owner To post property on website the property owner has to register first. After successful registration property owner can login to proceed ahead. Property owner can also change the password by providing old password. If property owner forgot the password he can recover it easily by providing the username and email id. He can also make changes in his profile. Property Owner can upload his property for buy or rent. Property is posted on website after successful payment transaction. After sell or rent he can delete his property. He can search the buyer. He can also send feedback to the admin. Agent
77
Agent is having the same functionality as property owner. The main advantage of agent is that if the user is having property to sell or rent but he does not have knowledge of computer and internet then he can sell or rent property through agent. The other advantage is that if the user has not its own property to sell or rent but he has good contact with property builder then he can upload the property details on website to sell or rent. Buyer Buyer has to register first. After registration buyer can login to proceed ahead. Buyer can change the password by providing old password. If buyer forgot the password he can recover it easily by providing the username and email id. Buyer can search property from different location and city. After that he can send request to the property owner or agent to book that property. If the property is not found at particular location or city he can post his requirement on website about property to the admin. He can also make changes in his profile. Buyer can view uploaded property by property owner. Buyer can also view the response send by the admin.
78
He can also send a feedback to the admin. Advertiser To post advertisement on website advertiser has to register first. After successful registration advertiser can login to proceed ahead. Advertiser can change his password by providing old password. If advertiser forgot the password he can recover it easily by providing the username and email. To post advertisement on website the advertiser has to select plan. After selecting the plan the advertiser can see that plan details and price. Then he can post the details as well as upload the image. The advertiser has to make payment to post advertisement via express checkout or PayPal. The advertiser can also make changes in his profile. He can also send a feedback to the admin. Search Module In search module user can search for different types of property uploaded by registered user. User will get to know all information about property its location, area, its approximate price, owner details. In search user can search property according to his budget. Advertisement Module
79
In advertisement module only registered advertiser can give advertisement. User can select any plan accordingly advertisement request will go to the administrator. After payment administrator will activate his advertisement. Advertisement will have the validity like 6 month to 1 year.
80
81
Quick Search
82
Advance Search
83
New Registration
84
Feedback
85
Admin Login
86
87
Change Password
88
Approve/Reject Properties
89
90
91
Approve/Reject Advertisement
92
93
Manage Advertisements
94
95
Manage Advertiser
96
Manage Agent
97
Manage Buyer
98
View Requirements
99
View Feedback
100
101
102
103
104
Advertiser Registration
105
Advertiser Login
106
107
108
Create an Advertisement
109
Next Step
110
111
112
113
Confirm payment
114
115
116
117
Manage Advertisement
118
119
Owner Registration
120
121
122
Buyer Registration
123
Buyer Login
124
125
126
Search Property
127
128
Post Requirement
129
130
Book Property
131
Payment Details
132
133
134
135
136
Manage Requirement
137
Agent Search
138
139
140
141
142
Property Registration
143
Property Registration
144
Search Agent
145
Search Buyer
146
Pending Property
147
Rejected Property
148
Manage Property
149
Manage Property
150
Buyer Table
Attributes Buyer_Id Username Password F_Name Occupation AIncome Gender Address State City Pincode Mobile Email Data types Bigint Varchar Varchar Varchar Varchar Bigint Varchar Varchar Varchar Varchar Nchar Nchar Varchar Size 8 10 10 30 10 10 6 50 15 15 6 10 30 Constraints Primary key Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not null Not Null Not Null Not Null Description Buyer Id Buyer Username Buyer Password Buyer Full Name Buyer Occupation Annual Income Gender Address State City Pin code Mobile Number Email Id
151
Agent Table
Attributes Agent_Id Username Password F_Name Yr_Exp Gender Address State City Pincode Mobile Email Data types Bigint Varchar Varchar Varchar Int Varchar Varchar Varchar Varchar Nchar Nchar Varchar Size 8 10 10 30 6 50 15 15 6 10 30 Constraints Primary key Not Null Not Null Not Null Not Null Not Null Not Null Not null Not Null Not Null Not Null Not Null Description Agent Id Agent Username Agent Password Agent Full Name Year of Experience Gender Address State Name City Name Pin code Mobile Number Email Id
Advertiser Table
Attributes Advertiser_Id Username Password F_Name Gender Address State City Pincode Mobile Email C_Name C_Address C_City C_CNo website Data types Bigint Varchar Varchar Varchar Varchar Varchar Varchar Varchar Nchar Nchar Varchar Varchar Varchar Varchar Nchar Varchar Size 8 10 10 30 6 50 15 15 6 10 30 30 50 10 10 30 Constraints Primary key Not Null Not Null Not Null Not Null Not Null Not Null Not null Not Null Not Null Not Null Allow Null Allow Null Allow Null Allow Null Allow Null Description Advertiser Id Advertiser username Advertiser password Full Name of Advertiser Gender Address State City Pin code Mobile Number Email Company Name Company Address City Company Contact Number Company website
152
Property Table
Attributes Property_Id Size Constraints Description 8 Primary Property Id key Buyer_Id Bigint 8 Foreign Refers to Primary key of Key Buyer Table Req_Type Varchar 10 Not Null Requirement Type Sell / rent etc. PType_Id Int Foreign key PCategory_Id Int Foreign key Transaction_Type Varchar 10 Not null New/ Resale property Ownership_Type Varchar 30 Not null Freehold/lease hold/cooperative society Construction_Age Varchar 30 Not null Construction Age Furnish Varchar 20 Not Null Furnished/semi furnished/un-furnished P_Range Bigint 10 Not Null Price Range PTax_No Varchar 13 Allow Null Property Taxation Number Reg_Date Date Allow Null Property Registration Date Address Varchar 50 Not Null Address City Varchar 15 Not null City State Varchar 15 Not Null State Pincode Integer 6 Not Null Pin code BHK Int 2 Allow Null No. of Bedroom, Hall , Kitchen Total_Floor Int 2 Allow null Total No. of floor Floor_No Int 2 Allow Null Floor No. Facing Varchar 10 Allow Null North/East/South/West BathRoom Int 4 Allow Null No. of Bathroom Covered_Area Int 10 Not Null Covered area in sq-ft, sq-m, sq-yrd. Rate_sq Float 10 Allow Null Rate per Sq feet Features Varchar(MAX) Allow Null Additional Features of property. Image Varchar(MAX) Not Null Image Path Posting_Date Date Not Null Property posting date. BStatus Varchar 10 Allow Null Booking Status of the Property Status Varchar 10 Allow Null Approved/Rejected/Pending Status of the Property Data types Bigint
153
Property_Type
Attributes PType_Id Property_Type Data types Int Varchar Size Constraints Description Primary Property Type ID key Not Null Property Type residential/Commercial/Rur al etc.
25
Property_Category
Attributes PCategory_Id Category_Name Data types Int Varchar Size Constraints Description Primary Property Category ID key Not Null Apartment/House/Villa/Flat etc.
25
Post_Requirement Table
Attributes Req_Id Size Constraints Description 8 Primary Requirement Id key Buyer_Id Bigint 8 Foreign key Buyer id refers to primary key of Buyer table State Varchar 15 Not Null State Name City Varchar 15 Not Null City Name Property_Type Varchar 10 Not Null Residential/ commercial/Rural etc. Property_Category Varchar 10 Not Null Apartment/House/Villa/Flat etc. BHK Int 4 Allow Null No. of bedroom, hall, kitchen Covered_Area Bigint 10 Allow Null Covered area in sq-ft, sq-m, sq-yrd. P_Range Bigint 10 Not Null Expected price Req_Date Date Allow Null Requirement Date Message Varchar(MAX) Allow null It contains Requirement Details Data types Bigint
154
Payment Table
Attributes Booking_Id Pay_date Property_Id Data types Bigint Date/time bigint Size 8 8 Constraints Primary key Not Null Foreign Key Description Booking Id Payment Date Property Id refers to primary key of property Table Buyer Id refers to primary key of Buyer Table Advertiser_id refers to primary key of advertiser table Payment mode Amount
Buyer_Id
Bigint
Foreign key
Advertiser_Id
Bigint
Foreign key
Pay_mode Amount
Varchar Float
10 10
Advertisement Table
Attributes Adv_Id Advertiser_Id Data types Bigint Bigint Size 8 8 Constraints Primary key Foreign Key Description Advertisement Id Advertiser_Id Refers to primary key of Advertiser Table Adv_Plan_ Id refers to primary key of Plan Table Advertisement Starting Date Advertisement Expiry Date Advertisement Details Image Path Approved/Rejected /Pending Status of an advertisement
Plan_Id
bigint
Foreign Key
Not Null Not Null Not Null Not Null Not Null
155
AdvPlan Table
Attributes Plan_Id P_Name P_Desc P_amount P_duration Data types Bigint Varchar Varchar (MAX) Float Int Size 8 15 10 5 Constraints Primary key Not Null Not Null Not Null Not Null Description Plan Id Plan Name Plan Description Plan Amount Plan duration
ROwner_Agent
Attributes Agent_Id Data types Bigint Size 8 Constraints Foreign key Description Refers to primary key of the Agent table. Refers to primary key of the Property owner table.
POwner_Id
Bigint
Foreign Key
RPlan_Advertiser
Attributes Advertiser_Id Data types Bigint Size 8 Constraints Foreign Key Description Refers to primary key of the Advertiser table. Refers to primary key of the Plan table.
Plan_Id
Bigint
Foreign Key
RProperty_Owner
Attributes POwner_Id Data types Bigint Size 8 Constraints Foreign Key Description Refers to primary key of the Property Owner Table Refers to Primary key of the Property Owner Table.
Property_Id
Bigint
Foreign Key
156
Feedback
Attributes Feedback_Id Name Email Mobile Subject Message Data types Bigint Varchar Varchar Nchar Varchar Varchar(MAX) Size 8 30 30 10 50 Constraints Primary key Not Null Not Null Not Null Not Null Not Null Description Feedback Id Name of user Email id of the user Mobile Number Subject Feedback message.
157
158
in the software waiting to be discovered and this view is rarely disproves or even dispute. III] TESTING PLAN: Specifications of the product would be related to: i) ii) iii) iv) v) vi) vii) viii) ix) x) Functions of the system. Response criteria Volume constraints (no. of users) Stability criteria (24 hour) Database responses (flushing, cleaning) Network criteria (network traffic) Compatibility (Environment & Browsers) User Interface / Friendliness criteria Modularity(ability to easily interface) Security IV] TESTING STRATEGY: i) As each module is developed it is tested and if found faultless is integrated in main module. ii) If the module is not perfect it is built again. Each test plan item should have the following specific characteristics: i) ii) It should be uniquely identifiable. It should be unambiguous.
159
iii) iv)
It should have well-defined test-data (test parameters) It should have well-defined pass/fail criteria for each sub-item and overall-criteria for the pass/fail of the entire test itself.
It should be easy to record. It should be easy to demonstrate repeatedly To prepare test plans. To specify conditions for user acceptance testing. To prepare test data for transaction path testing. To plan user training. V] TYPES OF TESTING: Unit testing. Integration testing. Validation testing. System testing. 1) Unit testing: Unit testing focuses verification effort on the smallest unit of software design the module. Unit testing exercise specific paths in the modules control structure to ensure complete coverage and maximum error detection.
i)
Black Box Testing: In black box testing, test cases are designed from an examination of the input/output values and no knowledge of design or code is requires.
160
Again there are two approaches in it: Equivalence class partitioning Boundary value analysis We are not going in detail of it as we are following unit testing with white box testing. ii) White Box Testing: There are several white box testing strategies. Each testing is based on some heuristic. White box testing strategy is based on heuristic. White box testing is stronger than other strategy, if all types of errors detected by the first strategy are also detected by the second testing strategy & the second strategy additionally detects some more types of errors. 2) Integration Testing: Integration testing addresses the issues associated with the dual problems of verification & program construction. After the software has been integrated a set of high-order tests are conducted/ The following are the types of Integration Testing: Top-Down Integration: This method is an incremental approach to the construction of
program structure. Modules are integrated by moving downward through the control hierarchy, beginning with the mail program module.
161
Bottom-Up Integration: This method begins the construction & testing with the modules at
the lowest level in the program structure. Since the modules are integrated from the bottom up, processing required for modules subordinate to a given level is always available & the need fro stubs is eliminated. The bottom-up integration strategy may be implemented with the following steps: The low level modules are combined into clusters that perform a specific software sub-function. A driver the control program for testing is written to co-ordinate test case input and output. The cluster is tested. Drivers are removed and clusters are combined moving upward in the program structure. 3) Validation Testing: At the end of Integration Testing, software is completely assembled as a package, interfacing errors have been uncovered and correction testing begins. Software Testing & Validation is achieved through serried of black box tests that demonstrate conformity with the requirements. A test plan outlines the classes of tests to be conducted and a test procedure
162
defines specific test cases that will be used to demonstrate conformity with requirements. Both, the plan and the procedure are designed to ensure that all functional requirements are achieved, documentation is correct and other requirements are met. 4) System testing: System testing is series of different tests whose primary purpose is to fully exercise the computer based system. Although each test has a different purpose, all the work should verify that all system elements have been properly integrated and perform allocated functions. There are essentially three kinds of system testing: i) Alpha Testing: Alpha testing refers to the system testing carried out by the test team within the development organization. ii) Beta Testing: Beta testing is the system testing performed by a select group of friendly customers. iii) Acceptance Testing: Acceptance testing is the system testing performed by the customers to determine whether to accept or reject the delivery of system. VI] TESTING METHODOLOGY:
163
To be truly robust, distributed applications require more than simple functional testing before release into production. At least one and preferably all of the following types of testing before releasing application to customers should be performed. Performance Testing Load Testing Stress Testing Endurance Testing VII] TESTING PROCEDURE: The testing part forms an important aspect of any System and is vital for success of the system. System testing makes a logical assumption that if all the parts of the system are correct, the goal will be successfully achieved. Philosophy behind testing the system is to find errors & rectify it. The system test change is transitional one, as it represents the period during which control of the newly developed system passes from the hands of the development team to final users. It is therefore a critical point as it is the last opportunity to check the system before it is being used. The testing stage seeks to ensure following aspects of system from user point of view: Completeness
164
Correctness Reliability Thus a testing plan is necessary, as it will aid to maximize the effectiveness of discovering error by early & controlled production of test plans & test specification. VIII] TEST CASES:
i)
Purpose: The main purpose of test cases is that the system should flow as it has been made, even if user puts inputs in a wrong manner the output generated will give error. The flow of the system should go as it is defined by the developer.
ii)
Required Input: There are many inputs in the forms which can not be explained here as it will be too lengthy to give explanation of each & every input. But the expected validations are kept so user will not be able to encounter any problem in the system.
iii)
Expected Result: The result would be expected as per the system is made by the developer. The system is robust so even if user tries to put value other than expected value, validations are kept at each & every point so the output will be positive in each & every case.
165
Expected Result New user list Popup window should open. The link must redirect to respective registration page. It should display error message as The length should be more than 6 characters. It should display Error Message as Username is not available. It should display Error as Username should not exceed 10 characters. Should ask for both user names. should give an error as password should be more than 6 characters Should give an error as password should not more than 10 characters. Previous and retype password should match. It should not allow the number in Full Name field. Should give an error The name should not more than 6 characters. Should give an error The name should not exceed 30 characters.
Actual Result Popup window is opened. Registration page is opened. Error Message is displayed. Error Message is displayed. Error Message is displayed. Enter username Error Message is displayed Error Message is displayed. Password is matched. It is not allowing.
pass
pass
pass
6 7
pass Pass
Pass
9 10
pass Pass
12
Pass
13
Pass
166
field. 14 15 16 ____ 17 18 Enter special characters in name field. Check for pin code length. Check for characters in the pin code field. _______________ Check for Blank field for pin code. Check for Blank field for Mobile Number. Check for characters in Mobile Number field. Check for Mobile number length. Check Blank field for email. Check for incorrect email id format in the email field. Check for correct email id format. Should give an error for special characters. The exact length should be 6 digits. It should not allow characters in the pin code. ___________________ It should not be empty. It should not be empty. It should not allow the characters in the numeric field. The exact length of mobile number should be 10 digits. It should not allow the blank field. Should give an error message. It should be accepted. Error is not displayed. Error Message is displayed. It is not allowed. ______________ It is not allowed. It is not allowed. Fail Pass Pass ______ Pass pass
19
It is not allowed.
pass
20 21 22 23
Test case No 1 2
167
3 4
6 7 8 9 10 12
Enter Incorrect Username wrong username and password check check for username minimum text length blank fields of user name & password check for password minimum length pressing back button on browser new browser window to same account login Logout password entered username field is empty username entered password field is empty miss spelled characters after logout session should terminate correct username & password
It should not be accepted Should give Error Message About incorrect username and password Should give an error as username should be more than 4 characters. should ask for both user name & password should give an error as password should be more than 6 characters ask for login again should ask for both user name & password should move to home page should give an error message to Enter username should give an error message to Enter password Should give wrong username message. should not show login session Show Welcome page
It is not accepting Error Message is displayed Error Message is displayed asking for username and password Error Message is not displayed not asking asking for username and password It is not moving. Error Message is displayed Error Message is displayed giving error message for both username & password not showing welcome page is displayed
Pass Pass
pass
13
pass
14
fail
15 16
pass pass
168
169
170
After log in user will see a welcome screen where user can edit profile or can sign-out. User can also upload property and search agent, property owner, and change password.
171
ADMIN 1) Change Password: Admin can Change Password on clicking respected link. 2) Manage Property: Admin performs different operations on property. This menu is divided into 3 sub menus. 1) Approve/Reject property : Admin verifies the properties and then he can approve/Reject property posting requests. 2) Property Type: Admin can add/update/ delete property types. 3) Property Category: Admin can add/update/delete property categories. 3) Manage Advertisement: Admin performs different operation on advertisement. This menu is divided into 2 sub menus. 1) Approve/Reject Advertisement: Admin verifies the Advertisements and then he can approve/Reject advertisement requests. 2) Manage Plan: Admin can add/update/delete plan. 4) Manage Property Owner: Admin can view and delete the property owner. 5) Manage Advertiser: Admin can view and delete the Advertiser. 6) Manage Agent: Admin can view and delete the Agent.
172
7) Manage Buyer: Admin can view and delete the Buyer. 8) View Requirement: Admin can view all the requirements which are posted by the buyer. 9) View Feedback: Admin can view and delete the feedbacks which are posted by the entire user.
AGENT
1) Change Password: Admin can Change Password on clicking respected link. 2) Manage Owner: This menu is divided into 3 sub categories. Owner Registration: Owner registration is done by the agent. View Registered Owner: View all the registered owner by the agent. View Registered Property: View all property registered by the agent. 3) Manage property : Post Property 1. Post property by the agent. Edit/Delete Property 2. Agent can edit/delete the property. 4) Search Property Owner: Searching of property owner can be done here. 5) Search Buyer: Searching of Buyer can be done over here. 6) Update profile: Agent can make changes in his profile.
173
BUYER
1) Change password: Buyer can change password on clicking respected link. 2) Search property Owner: Buyer can search property owner on clicking this link. 3) Search/Book Property: Buyer can search property. If property is found in respected location then he/she can book the property. 4) Booked History: Buyer can view all booked property by him/her. 5) Search Agent: Searching of Agent is done over here. 6) Manage Requirement: Post Requirement If property is not found during the searching in respected location then Buyer can post his requirement to the admin. View all Requirements Buyer can view all the requirements which are posted by him. 7) View Response : Buyer can view the response which is sent by the admin. 8) Update Profile : Buyer can make changes in his profile.
174
175
176
177
6. PROPOSED EHNHANCEMENT
The application is yet to be released and a lot of enhancements are already thought of which are proposed to be implemented in the final version of the web-application. The web-application has also provided feedback page on its home page so that the users can provide their inputs of any functionalities/facilities they would like to have in the web application. The system is highly flexible one and is well efficient to make easy interactions with the client. The key focus is given on data security, as the project is online and will be transferred in network. The speed and accuracy will be maintained in a proper way. This will be a user-friendly one and can successfully overcome strict and severe validation checks. The system will be a flexible one and changes whenever can be made easy. Using the facility and flexibility in .NET and SQL, the software can be developed in a neat and simple manner there by reducing the operators work. Since the project is developed in .NET as a front-end and SQL Server as a backend it can be modified easily and used for a long period. Following are some of the enhancement proposed to be implemented in final version. Provide online banking loan facility option
178
Maps are provided to facilitate the users. Lease option should be provided regarding properties. Give access of website on mobile and PDAs Send SMS to property owner who have registered and uploaded his property.
Giving property site for all metro cities. Upload videos / 3d views of the property.
179
180
7 CONCLUSION
Working on the project was good experience. I understand the importance of Planning and Designing as a part of software development. But its very difficult to complete the program for single person. Developing the project has helped us some experience on realtime development procedures.
181
182
8 BIBLIOGRAPHY
Beginning ASP.NET 2.0 with visual C# .NET 2005 -By Chris Ullman -John Kaufman -Chris Hart -Dave Busmen -Daniel Monarchy SQL Server 2005 -By Wrox Complete ASP.NET -By BPB Publication Software Engineering a Practitioners Approach -By Roger S. Pressman Object Oriented Analysis & Design -By Rambaugh http://www.asp.net http://www.makan.com http://www.99acres.com http://www.zameen-zaidad.com
183
184
185
186
187
188
189
190
Booked Properties
191
Property Payment
192
Advertiser Payment
193
namespace E_Property { public partial class WebForm1 : System.Web.UI.Page { SqlDataReader dr = null; SqlCommand cmd = null; SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Application Services"].ConnectionString); protected void Page_Load(object sender, EventArgs e) { // // } txtPassword.Enabled = false; txtUserName.Enabled = false;
protected void Button1_Click(object sender, EventArgs e) { string user = ddlRole.SelectedItem.Text ; if (user == "Admin") { adminlogin(); } else if (user=="Property_Owner") { Property_OwnerLogin(); } else if (user == "Agent") { AgentLogin(); }
194
else if (user == "Advertiser") { AdvertiserLogin(); } else if (user == "Buyer") { BuyerLogin(); } else { } } public void adminlogin() { try { con .Open(); cmd = new SqlCommand( "select * from Admin where Username='" + txtUserName.Text + "' And Password='" + txtPassword.Text + "'",con); dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { Session["AdminUserName"] = Convert.ToString(dr.GetValue(1)); Response.Redirect("/Admin/Admin.aspx"); } } else { Label1.Text = "Check Your uid and pwd"; con.Close(); } }//end of try finally { con.Close(); } }//end of function public void Property_OwnerLogin() { try { con.Open(); cmd = new SqlCommand("select * from Property_Owner where Username='" + txtUserName.Text + "' And Password='" + txtPassword.Text + "'", con); dr = cmd.ExecuteReader(); if (dr.HasRows) {
195
while (dr.Read()) { Session["POwnerUserName"] = Convert.ToString(dr.GetValue(1)); Response.Redirect("/Property_Owner/Property_Owner.aspx"); } } else { Label1.Text = "Check Your uid and pwd"; con.Close(); } }//end of try finally { con.Close(); } }//end of function public void AgentLogin() { try { con.Open(); cmd = new SqlCommand("select * from Agent where Username='" + txtUserName.Text + "' And Password='" + txtPassword.Text + "'", con); dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { Session["AgentUserName"] = Convert.ToString(dr.GetValue(1)); Response.Redirect("/Agent/Agent.aspx"); } } else { Label1.Text = "Check Your uid and pwd"; con.Close(); } }//end of try finally { con.Close(); } }//end of function public void AdvertiserLogin() { try { con.Open();
196
cmd = new SqlCommand("select * from Advertiser where Username='" + txtUserName.Text + "' And Password='" + txtPassword.Text + "'", con); dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { Session["AdvertiserUserName"] = Convert.ToString(dr.GetValue(1)); Response.Redirect("/Advertiser/Advertiser.aspx"); } } else { Label1.Text = "Check Your uid and pwd"; con.Close(); } }//end of try finally { con.Close(); } }//end of function public void BuyerLogin() { try { con.Open(); cmd = new SqlCommand("select * from Buyer where Username='" + txtUserName.Text + "' And Password='" + txtPassword.Text + "'", con); dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { Session["BuyerUserName"] = Convert.ToString(dr.GetValue(1)); Response.Redirect("/Buyer/Buyer.aspx"); } } else { Label1.Text = "Check Your uid and pwd"; con.Close(); } }//end of try finally { con.Close(); }
197
}//end of function protected void Role_SelectedIndexChanged(object sender, EventArgs e) { if (ddlRole.SelectedIndex { txtPassword.Enabled = txtUserName.Enabled = } else { txtPassword.Enabled = txtUserName.Enabled = } == 0) false; false;
true; true;
} protected void Button2_Click(object sender, EventArgs e) { txtUserName.Text = ""; txtPassword.Text=""; } protected void OkButton_Click(object sender, EventArgs e) { } } }
198