Professional Documents
Culture Documents
ACKNOWLEDGEMENT
We express our profound thanks to Prof. xxxxx Sir, Head of the Department of
Computer Engineering, R.K. College of Engineering and Technology, Rajkot. We would
like to thank them for their continuous support and encouragement.
Last but not the least, our appreciable also goes to all staff members of Computer
Engineering Department and to our fellow classmates who directly or indirectly helped us.
We take this opportunity to thank Harivandana College, Rajkot for giving us opportunity
to do this project. We acknowledgement all our friends for their innumerable guidelines and
suggestions. We also thank all the staff members and the Mr. XXX Sir Rajkot for
their valuable help and co-operation. We thank all of you once again.
Project Title:
Property Search and Management iOS Application.
Student Information:
1) Enrollment No.: xxxxx
Name : Dharmendra J. Ambani
Address : At: xxx,
Tal: xxx,
Dist: Rajkot
Morbi-363-641
Phone no.: +91 94265 26980 (Gujarat)
E-mail : DjAmbani.android@gmail.com
LIST OF FIGURES
LIST OF TABLES
1 iOS Architecture 18
2 iOS Framework 22
3 Project Development Model 32
4 Project plan 32
5 Schedule Representation 32-35
Sys
tem
UseCase1
Actor1
System boundary Actor r Use Case
-End1
*
-End2
*
Communication Link
Class diagram
-End1
*
-End2
*
Class Relationship Generalization
Sequence diagram
Process decision
Transaction
TABLE OF CONTENTS
ABSTRACT 1
TABLES
1. List of Figures 2
2. List of Tables 3
1. INTRODUCTION 9
1.1Project Summary
1.2 Objective/aim/vision
1.3 Market Potential & Competitive advantage/Scope
1.4 Study of existing system
1.5 Proposed system
1.6 Project Boundary
1.7 Duration
2. LITERATURE SURVEY 16
2.1 iOS Overview
2.1.1 iOS Architecture
2.1.2 Why we used iOS?
2.2 iOS Framework
2.2 PHP/MySQL
2.3.1 Advantages of MySQL
3. PROJECT MANAGEMENT 30
3.1 Project Planning and Scheduling
3.1.1 Project development Model
3.1.2 .Project plan
3.1.3 Schedule Representation
4. REQUIREMENT SPECIFICATION 36
4.1 Functional Requirements
4.2 Hardware Requirements
4.3 Software Requirements
5. SYSTEM DESIGN 38
5.1 Basic Flow of System
5.1.1 Use Case Diagram
5.1.2 Data Flow Diagram
5.2 System Procedural Design
5.2.1 Context Level Diagram
5.2.2 E-R diagram
6. IMPLEMENTATION 44
7. TESTING 68
8. FUTURE WORK 72
9. CONCLUSION 74
10. REFERENCES 76
1
INTRODUCTION
This iPhone app enables you to search for your perfect new home [or premises] anytime,
anywhere! Whether you‘re searching for a property to buy or rent our app will help you
find exactly what you‘re looking for quickly and easily.
Our stylish app makes it simple to not only search for a property, but also view details,
browse through photos or floor plans and even compile a favourites list. It‘s easy to use
design incorporates fantastic functionality like email a friend, mortgage calculators,
arrange a viewing options, EPC details and the ability to contact our office directly. If
you‘re looking to move, this app is essential to help you find the right property for you.
Property Management and Search Application is allows to finding property and manages
that according to user point of view.
In Search Tab
Criteria
-I Want to (Property Availability Type)
-Min Price (No Min Price 10000, 20000,30000,40000, 50000) [Hard Code]
-Max Price (No Max Price, 100000, 200000, 300000, 400000, 500000) [Hard Code]
-Type (Property Type)
-Min. Bedrooms (1,2,3,4,5,6) [Hard Code]
Favorites
Here, user will get list of all the properties selected under ‗Favorite‘ list, set via
Property Detail page (Local Devices Level Storage / Management).
Recent
Here, user will get list of last search criteria for their future reference / search. (Local
Devices Level Storage / Management).
Calculator
Enter the criteria
Loan Required (Rs.)
Payment Period (Years)
Interest Rate (%)
Office / Contact Us
Contact Details
1.2 Objective/aim/vision
Reasons:
Property Management System is a user friendly contact and property manager for real
estate professionals. Save time and sell more by empowering to easily keep track of leads,
manage listings, and market to new prospects.
Property App gives you a clear view of what is going on in your business and provides
simple steps that your team can easily follow to help grow your business. Take your
business to the next level and stop wasting time with outdated or inefficient practices.
eProperty has powerful search and match facility to match property with buyer by the
selection parameter. No more need for Excel spreadsheets. Keep track of all your
properties. eProperty has facilities to keep property related documents, images and
automatically resizes photos and creates thumbnails for you.
Benefits
Type of property and features searching for.
Match with properties for sale by number of bedrooms / price criteria.
Display matched property details easily and quickly by one click.
Enter Solicitor details.
Enter Property for Sale details, Add Room descriptions.
Add up to any nos of photos and property document per property
Produce Documents, contracts and marketing brochures with templates.
List all viewings for property.
Quick Search for property details.
Diaries all viewings by Agent and by Office.
Quick Search off all records.
Filter all views for easy record location.
Easy to use and impressive GUI.
of the estate and the household. Furthermore, customers can browse through different areas
of the country, thus allowingthem to obtain information on the prices and the estates
offered around the country. This type of online application is very helpful and can thus be
applied by any real estate agency. By manipulating and utilising the existing database of
the agency, the application can also be linked and made available from the web site of the
agency. The long term strategic value of the project is that it will:- identify estates that may
have potential for future development;
1.3 SCOPE
It provides security by not giving authority to any user to access the website.
Employees can view news & alerts related to any antivirus or other related to security.
It allows Network Admin to manage the complaints posted by the user.
Employees: If Employees have any complaints they have to fill the Complaint Form &
wait for the action to be taken. This procedure is time consuming & requires human
effort.
Network Admin: The person in charge of the complaint has to keep the record of all the
complaints & he has to refer through the records for checking the status of the
Complaints. This is very tedious job & time is wasted.
The proposed system has the following advantages to meet the dem& of today‘s
professionals, in a whole new way.
1.7 Duration:
In 16 weeks our website will be completed.
Analysis: 4 weeks
Design: 3 weeks
Coding: 6 weeks
Testing: 3 weeks
2
LITERATURE
SURVEY
The user interface of iOS is based on the concept of direct manipulation, using multi-
touch gestures. Interface control elements consist of sliders, switches, and buttons. Interaction
with the OS includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have
specific definitions within the context of the iOS operating system and its multi-touch
interface. Internal accelerometers are used by some applications to respond to shaking the
device (one common result is the undo command) or rotating it in three dimensions (one
common result is switching from portrait to landscape mode).
iOS is derived from OS X, with which it shares the Darwin foundation. iOS is Apple's
mobile version of the OS X operating system used on Apple computers.
In iOS, there are four abstraction layers: the Core OS layer, the Core Services layer,
the Media layer, and the Cocoa Touch layer. The current version of the operating system
(iOS 6.1.3) dedicates 1-1.5 GB of the device's flash memory for the system partition, using
roughly 800 MB of that partition (varying by model) for iOS itself.
iOS currently runs on iPhone, iPad, iPod touch and Apple TV.
1. Cocoa Touch
UIKit – UI Elements, lifecycle management, touch, gestures
Address Book UI – Contacts, adding, editing
Event Kit UI – Calendar events
Game Kit Framework – P2P networking, Game Center
iAd – Apple‘s advertising platform
Map Kit – Google maps
Message UI – Email and SMS
2. Media
Assets Library – Photos and Videos on device
AV Foundation – Advanced audio and video
Core Audio – Low level audio
Core Graphics – 2D Drawing, Quartz
Core Text – Advanced text layout and fonts
Image I/O – Importing/exporting images
Media Player – Simple audio/video playback
OpenAL – Positional audio
OpenGL ES – 2D and 3D drawing
Quartz Core – Animations
3. Core Services
Address Book – Lower layer contacts
4. Frameworks
Accelerate – Big number and DSP calculations
External Accessory – Communicate with hardware accessories
Security – Certificates and cryptography
System – Low level operating system methods
With iOS 4 came the introduction of a simple folder system. When applications are in
"jiggle mode", any two (with the exception of Newsstand in iOS 5 and later, which acts like a
folder) can be dragged on top of each other to create a folder, and from then on, more apps
can be added to the folder using the same procedure, up to 12 on iPhone 4S and earlier and
iPod touch, 16 on iPhone 5, and 20 on iPad. A title for the folder is automatically selected by
the category of applications inside, but the name can also be edited by the user.
Notification Center
In the iOS 5 update, the notifications feature was completely redesigned. Notifications
collate in a window which can be dragged down from the top of the screen. If a user touches
a received notification, the application that sent the notification will be opened.
Multitasking
Before iOS 4, multitasking was limited to a selection of the applications Apple included
on the device. Users could, however "jailbreak" their device in order to unofficially
multitask.Starting with iOS 4, on 3rd-generation and newer iOS devices, multitasking is
supported through seven background APIs:
1. Newsstand – application can download content in the background to be ready for the user
2. External Accessory – application communicates with an external accessory and shares
data at regular intervals
3. Bluetooth Accessory – application communicates with a bluetooth accessory and shares
data at regular intervals
Switching applications
In iOS 4.0 or later, double-clicking the home button activates the application switcher. A
scrollable dock-like interface appears from the bottom, moving the contents of the screen up.
Choosing an icon switches to an application. To the far left are icons which function as music
controls, a rotation lock, and on iOS 4.2 and above, a volume controller. Holding the icons
briefly makes them "jiggle" (similarly to the homescreen) and allows the user to force quit
the applications by simply tapping the red minus circle that appears at the corner of the app's
icon.
Siri
Game Center
Game Center was announced during an iOS 4 preview event hosted by Apple on April 8,
2010. A preview was released to registered Apple developers in August. It was released on
September 8, 2010 with iOS 4.1 on iPhone 4, iPhone 3GS, and iPod touch 2nd generation
through 4th generation.[Game Center made its public debut on the iPad with iOS 4.2.1.There
is no support for the iPhone 3G and original iPhone. However, Game Center is unofficially
available on the iPhone 3G via a hack.
iOS Framework
This contains information about the frameworks of iOS. These frameworks
provide the interfaces you need to write software for the platform. Where applicable, the
tables in this appendix list any key prefixes used by the classes, methods, functions, types,
or constants of the framework. Avoid using any of the specified prefixes in your own symbol
names.
A framework is a directory that includes a shared library, header files to access the
code stored in that library, and other resources such as image and sound files. A shared
library defines functions and methods that apps can call.
iOS provides many frameworks that you can use in app development. To use a
framework, add it to your project so your app can link to it. Most apps link to the Foundation,
UIKit, and Core Graphics frameworks. Depending on which template you choose for your
app, other frameworks might also be included. You can always add additional frameworks to
your project if the core set of frameworks does not meet your app‘s requirements.
iOS Apps Are Based on the Foundation and UIKit Frameworks.
When you begin programming, you mainly use the Foundation and UIKit frameworks
because they cover most of your app development needs.
The Foundation Framework Provides Basic System Services for All Apps
Your apps, as well as UIKit and other frameworks, are built on the Foundation framework
infrastructure. The Foundation framework provides Objective-C wrappers for many of the
features in the Core Foundation framework (which is C-based).
You already used the Foundation framework in Your First iOS App. For example,
you used an instance of the NSStringclass to store the user‘s input in userName. You also
used the Foundation instance method initWithFormat: to create the greeting string.
In Your First iOS App Tutorial, you used UIKit. When you examined how an app starts
up, you saw that theUIApplicationMain function creates an instance of the UIApplication
class, which handles incoming user events. You implemented the UITextFieldDelegate
protocol in order to dismiss the keyboard when the user taps the Done key. In fact, you used
UIKit to create your entire interface with the UITextField, UILabel, and UIButton classes.
The Core Data, Core Graphics, Core Animation, and OpenGL ES frameworks are
advanced technologies. Although these frameworks are important for app development, they
require time to learn and master.
Core Data provides object-graph management. With Core Data, you create model
objects, known as managed objects. You manage relationships between those objects and
make changes to the data through the framework. Core Data takes advantage of the built-in
SQlite technology to store and manage data efficiently.
The Core Graphics Framework Helps You Create Graphics High-quality graphics are
an important part of all iOS applications. The simplest and most efficient way to create
graphics in iOS is to use prerendered images with the standard views and controls of the
UIKit framework and let iOS do the drawing. When you need to create complex graphics,
Core Graphics provides a low-level graphics library to help you. Core Graphics, also known
as Quartz, handles native 2D vector- and image-based rendering.
Core Animation Allows You to Make Advanced Animations and Visual Effects UIKit
provides animations that are built on top of the Core Animation technology. If you need
advanced animations beyond the capabilities of UIKit, you can use Core Animation directly.
The Core Animation interfaces are contained in the Quartz Core framework. With Core
Animation, you create a hierarchy of layer objects that you manipulate, rotate, scale,
transform, and so forth. By using Core Animation‘s familiar view-like abstraction, you can
create dynamic user interfaces without having to use low-level graphics APIs like OpenGL
ES.
PHP/MySQL
What is MySQL?
The data in MySQL is stored in tables. A table is a collection of related data, and it
consists of columns and rows.
Databases are useful when storing information categorically. A company may have a
database with the following tables:
Employees
Products
Customers
Orders
What is PHP?
PHP is a server-side scripting language designed for web development but also used
as a general-purpose programming language. PHP is now installed on more than 244
million websites and 2.1 million web servers.Originally created by Rasmus Lerdorf in 1995,
the reference implementation of PHP is now produced by The PHP Group.While PHP
originally stood for Personal Home Page, it is now said to stand for PHP: Hypertext
Preprocessor, a recursive acronym.
PHP code is interpreted by a web server with a PHP processor module which generates
the resulting web page: PHP commands can be embedded directly into an HTML source
document rather than calling an external file to process data. It has also evolved to include
a command-line interface capability and can be used in standalone graphical applications.
PHP files can contain text, HTML, JavaScript code, and PHP code
PHP code are executed on the server, and the result is returned to the browser as plain
HTML
PHP files have a default file extension of ".php"
With PHP you are not limited to output HTML. You can output images, PDF files, and
even Flash movies. You can also output any text, such as XHTML and XML.
Why PHP?
It's easy to use: While a basic knowledge of SQL is required—and most relational
databases require the same knowledge—MySQL is very easy to use. With only a few
simple SQL statements, you can build and interact with MySQL.
It's secure: MySQL includes solid data security layers that protect sensitive data from
intruders. Rights can be set to allow some or all privileges to individuals. Passwords are
encrypted.
It's inexpensive: MySQL is included for free with NetWare® 6.5 and available by free
download from MySQL Web site.
It's fast: In the interest of speed, MySQL designers made the decision to offer fewer
features than other major database competitors, such as Sybase* and Oracle*. However,
despite having fewer features than the other commercial database products, MySQL still
offers all of the features required by most database developers.
It's scalable: MySQL can handle almost any amount of data, up to as much as 50 million
rows or more. The default file size limit is about 4 GB. However, you can increase this
number to a theoretical limit of 8 TB of data.
It manages memory very well: MySQL server has been thoroughly tested to prevent
memory leaks.
It supports Novell Cluster Services: MySQL on NetWare runs effectively with Novell®
Cluster Services™, letting you add your database solution to a Novell cluster. If one
server goes down, MySQL on an alternate server takes over and your customers won't
know that anything happened.
It runs on many operating systems: MySQL runs on many operating systems, including
Novell NetWare, Windows* Linux*, many varieties of UNIX* (such as Sun* Solaris*,
AIX, and DEC* UNIX), OS/2, FreeBSD*, and others.
It supports several development interfaces: Development interfaces include JDBC,
ODBC, and scripting (PHP and Perl), letting you create database solutions that run not
only in your NetWare 6.5 environment, but across all major platforms, including Linux,
UNIX, and Windows.
iPhone provides full relational database capabilities through the SQLite library,
without imposing any additional limitations.
For iPhone, SQLite is ―baked into‖ the iPhone runtime, so every iPhone application
can create SQLite databases.
Open source
Standards-compliant
Lightweight
Single-tier
SQLite, as the name suggests, uses a dialect of SQL for queries (SELECT), data
manipulation (INSERT, et al), and data definition (CREATE TABLE, et al). SQLite has a
few places where it deviates from the SQL-92 standard, no different than most SQL
databases. The good news is that SQLite is so space-efficient that the Android runtime can
include all of SQLite, not some arbitrary subset to trim it down to size.
The biggest difference from other SQL databases you will encounter is probably the
data typing. While you can specify the data types for columns in a CREATE TABLE
statement and while SQLite will use those as a hint that is as far as it goes. You can put
whatever data you want in whatever column you wa nt.
In addition, there are a handful of standard SQL features not supported in SQLite such
as nested transactions, RIGHT OUTER JOIN and FULL OUTER JOIN, and some flavors of
ALTER TABLE.
3
PROJECT
MANAGEMENT
In the waterfall model, a project progresses through an orderly sequence of steps from
the initial software concept through system testing. The project holds a review at the end of
each phase to determine whether it is ready to advance to the next phase - from requirements
analysis to architectural design. If the review determines that the project isn't ready to move
to the next phase, it stays in the current phase until it is ready.
The waterfall model is document driven, which means that the main work products that
are carried from phase to phase are documents. In the pure waterfall model, the phases are
also discontinuous - they do not overlap. The following shows how the pure waterfall
lifecycle model progresses.
The pure waterfall model performs well for product cycles in which you have a stable
product definition and when you're working with well-understood technical methodologies.
In such cases, the waterfall model helps you to find errors in the early, low-cost stages of a
project. It provides the requirement stability that developers crave. If you're building a well-
defined maintenance release of an existing product or porting an existing product to a new
plat. Form, a waterfall lifecycle might be the right choice for rapid development.
The pure waterfall model helps to minimize planning overhead because you can do all
the planning up front. It doesn't provide tangible results in the form of software until the end
of the lifecycle, but, to someone who is familiar with it, the documentation it generates
provides meaningful progress throughout the lifecycle.
The waterfall model works well for projects that are well understood hut complex,
because you can benefit from tackling complexity in an orderly way. It works well when
quality requirements dominate cost and schedule requirements. Elimination of midstream
changes eliminates a huge and common source of potential errors.
Overview Objective C
Installation software
-MAC OS X
-XCode
- Photoshop
-Introduction about
XCode
Overview of iOS
-Architecture
-Controls
-Properties
Introduction about
Database and Database
Connectivity API
Design
-logo
-images
Prepare Documentation
-role specification
-project Management
Design diagram
-class diagram
-sequence diagram
-E-R diagram
-Control flow diagram
-DFD diagram
Start Implementation
4
Requirements
Specification
Operating System
Name: MAC OX X 10.7 or greater
Web Browser
Name: Chrome, Mozilla, Safari
5.
SYSTEM DESIGN
6
Implementation
Property_Management
Property_Type_Management
Foreign Keys -
Property_Availability_Manage ment
Property_Viewing_Request
Foreign Keys -
Property_Register
Foreign Keys -
Contact_Details
Primary Keys -
Foreign Keys -
Key Field Name Type Size Constraints
Favourite
Foreign Keys -
Recent
Foreign Keys -
EPC Form
Particular property description send and share with your friend circle
Contact to Office
7
Testing
7.1 TESTING
Testing is one of the important steps in system development. Software Testing also
provides an objective, independent view of the software to allow the business to appreciate and
understand the risks at implementation of the software. Test techniques include, but are not
limited to, the process of executing a program or application with the intent of finding software
bugs.
Software Testing can also be stated as the process of validating and verifying that a
software program/application/product:
i. Meets the business and technical requirements that guided its design and
development;
ii. Works as expected; and
iii. Can be implemented with the same characteristics.
The test case ID gives a unique number identifying the test for each case. Description
describes about the nature of that test. Input is the control that
8.
FUTURE WORK
We have done analysis of this entire system till now, and in future we will develop this
system as per our analysis.
We will covert this web-site into online management so that any user can access our
web-site anywhere through their mobiles.
9.
CONCLUSION
The Application is designed to be very user-friendly and interactive manner so that the
user cannot find any difficulty while browsing the Application. Thereby the proposed
Application, which is an economically, technically and operationally feasible system has
overcome the deficiency that was present in the manual system. It emphasizes the importance of
timeliness and accuracy that is acquired through automated software.
10.
REFERENCES
Websites :
http://www.apple.com
http://www.developer.apple.com
http://www.wikipedia.org
http://www.stack-overflow.com
Books:
Objective-C – From Apple.com
head_first_iphone_development – Dan Pilone & Tracey Pilone
Wrox Professional iPhone and iPad Application Development – Gene Backlin