Project Report
Project Report
On
CUSTOMER RELATIONSHIP MANAGEMENT
SYSTEM
Submitted to
LOVELY PROFESSIONAL UNIVERSITY
In partial fulfillment of the requirements for the award of degree of
Master of Computer Applications
Submitted By
SUBHA SANKAR CHAKRABORTY
11402181
Supervised By
SAHIL RAMPAL
ASSISTANT PROFESSOR
CERTIFICATE
This is to certify that Subha Sankar Chakraborty (11402181) has completed doing
full term industrial internship titled Customer Relationship Management under my
guidance and supervision. To the best of my knowledge, the present work is the
result of his original study. No part of the report has ever been submitted for any
other degree or diploma.
The report is fit for the submission and the partial fulfillment the conditions for the
award of Master of Computer Application.
Date:
ACKNOWLEDGMENT
We wish to thank to a great many people who helped and supported me during the
writing of this thesis. My deepest thanks to the Assistant Professor of Lovely School
of Computer Applications Mr.Sahil Rampal the advisor of this thesis project, for
guiding and correcting various documents of mine with attention and care. He has
assisted me throughout the project by her valuable comments on my work regularly
and making necessary correction as and when needed. His encouragement and
support has made us for continuous progress in the work and completing the thesis
project on time.
We also extend my heartfelt thanks to my family and well-wishers who supported
mentally for completing this thesis.
Lastly, we offer my regards to all of those who supported me in any respect during
the completion of the project.
Date: .
CHAPTERS
1. Introduction
1.1 Introduction to Project
1.2 Architechure Of CRM
1.3 Benefit of the CRM
1.4 Purpose of the Project
2. System Analysis
2.1. Introduction to system analysis
2.2. Problem with Existing System
2.3. Primary Investigation for Propose System
2.4. Feasibility Study
2.4.1 Technical Feasibility
2.4.2 Economical Feasibility
2.4.3 Operational Feasibility
2.5
Software Engineering Paradigm Applied
2.6
Tools and Platforms used
3. Requirement Analysis
3.1.
Requirement Determination
3.2.
Problem Recognition
3.3.
Problem Evaluation and Synthesis
3.4.
Modeling
3.5.
Data Flow Diagram
3.6.
Flow Chart
3.7
E-R Diagram
4. Software Requirement Specification
4.1.
Introduction
4.2.
Product Overview
4.3.
External Interface Requirements
4.4.
Functional Requirements
4.5
Performance Requirements
4.6
Software & Hardware Requirement
5. System Design
5.1. Introduction
5.2. Data Design
5.3. Architectural Design
5.4. Procedural Design
5.5. Interface Design
6. Implementation and coding
6.1.
Implementation Procedure
6.2
Coding
CHAPTER 1-INTRODUCTION
1.1.
Introduction to project
ARCHITECTURE OF CRM
inquiries are now evolved into the "customer interaction center" (CIC), using
multiple channels (Web, phone/fax, face-to-face, kiosk, etc). Key
infrastructure requirements of CSS include computer telephony integration
(CTI) which provides high volume processing capability, and reliability.
Enterprise Marketing Automation (EMA): EMA provides information
about the business environment, including competitors, industry trends, and
macroenviromental variables. It is the execution side of campaign and lead
management. The intent of EMA applications is to improve marketing
campaignefficiencies. Functions include demographic analysis, variable
segmentation, and predictive modeling occur on the analytical (Business
Intelligence) side.
Analytical CRM
In analytical CRM, data gathered within operational CRM and/or other sources are
analyzed to segment customers or to identify potential to enhance client relationship.
Analysis of Customer data may relate to one or more of the following analyses:
1. Contact channel optimization
2. Contact Optimization
3. Customer Segmentation
4. Customer Satisfaction Measurement / Increase
5. Sales Coverage Optimization
6. Pricing Optimization
7. Product Development
8. Program Evaluation
Data collection and analysis is viewed as a continuing and iterative process. Ideally,
business decisions are refined over time, based on feedback from earlier analysis and
decisions. Therefore, most successful analytical CRM projects take advantage of a
data warehouse to provide suitable data.
Collaborative CRM
Collaborative CRM facilitates interactions with customers through all channels
(personal, letter, fax, phone, web, e-mail) and supports co-ordination of employee
teams and channels. It is a solution that brings people; processes and data together so
companies can better serve and retain their customers.
ii.
iii.
iv.
v.
vi.
vii.
viii.
To help the sales people in reducing errors that are encountered frequently
during manual operations by concurrently updating the data stored in many
places.
ix.
To provide security as only an authorized user can interact with the system
x.
xi.
xii.
xiii.
xiv.
xv.
xvi.
xvii.
xviii.
xix.
information regarding project should be collected from the reliable source. In Project
Customer Relationship Management, all the information regarding
Customer
Product
Transactions
Complaint
Offering
Schedule
Customer feedbacks
Should be collected from the Management & Sales People of the organization.
The existing system in the organization is not completely computerized. The system
is not working smoothly; therefore the organization has decided to replace it with a
completely computerized one. The problems, which the existing system faces, are:
software. In the registers, the data is not secure as anybody can tamper with the data
written in the registers. Also for the security of the registers, lots of problems arise to
store the registers in a secure place and the appointments of security personnel can
also cost a bit. Whereas in the software, just a password makes it absolutely secure
from the reach of unauthorized users.
Data Redundancy:
In the case of manual system, the registers are maintained in which, a lot of data is
written. Therefore, there is a problem in the registers that the same data may be
repeated again and again. Against the customer id, a lot of data will be repeated
which will cause a lot of problems at the time of query as well as at the time of
preparing the reports because a single data that will be left mistakenly will largely
affect the report and subsequently, the performance of the department. In the
software the concept of primary key and foreign key is used very efficiently, which
will prevent the redundancy of data that will prove to be very beneficial to the
organization because it will nullify the human error completely.
Processing Speed:
In manual system, for a simple work, a number of employees are appointed and in
case of keeping records of orders given by the customers, making Bill & reports,
they take a lot of time, which may affect the performance of the organization as well
as hamper the progress of the organization. It also affects the speed of working in the
organization and the work that should have been performed in very short duration
can take a large amount of time. But, in the case of software, all the tasks are
performed at the touch of a key, which improves the performance of the
organization, a great deal, thereby, improving the chances of progress of the
organization.
Manual Errors:
When a number of tough tasks are prepared by the humans like preparation of
reports, keeping records of all the customers, salesman & available stock in company
etc then some human errors are obvious due to a number of factors like mental strain,
tiredness etc. But as we all know that computer never gets tired irrespective of the
amount of work it has to do. So, this software can nullify the probability of manual
errors that improves the company performance.
Complexity in Work:
In a manual system, whenever a record is to be updated or to be deleted a lot of
cutting and overwriting needs to be done on all the registers that are concerned with
the deleted or updated record, which makes the work very complex. However in the
software, once a record is updated or deleted, all the concerned changes are made in
the database automatically.
The efficiency of the existing System
The existing System is not well efficient which provokes to develop the new System
with some modifications in the older system wherever required. If the existing
System is not that much efficient, as required for better results & performance, then
it should be converted into the new advanced & more efficient System. The new
System should be well efficient, fast as compared with the older one to show better
results than previous one.
The security of the data and software
The Security of both Data & Software is the most important and prime thing in the
System Analysis & Design. Data & Software should be kept secured from the
unreliable sources otherwise it leads to the Piracy of both data & Software. For
proper security username and password is provided to every user of the system. They
can access the system as per their authority.
The security of the equipment and personnel, etc
The security of the equipment and personnel, etc is also very important in the System
design. Proper measures are to be taken for the security of Equipments, Personnel,
etc for the proper functioning of the System.
2.3 PRIMARY INVESTIGATION
Evaluation of project request is major purpose of preliminary investigation. It is the
collecting information that helps committee members to evaluate merits of the
project request and make judgment about the feasibility of the proposed project.
At the heart of any system analysis is detailed understanding of all-important facts of
the business area under investigation. The key questions are
To answer the above questions, system analysts discuss with different category of
person to collect facts about their business and their operations.
When the request is made, the first activity the preliminary investigation begins.
Preliminary investigation has three parts Request clarification
Feasibility study
Request approval
Request Clarification
An information system is intended to meet needs of an organization. Thus the first
step is in this phase is to specify these needs and requirements. The next step is to
determine the requirements met by the system. Many requests from employees and
users in the organizations are not clearly defined. Therefore, it become necessary that
project request must examine and clarified properly before considering system
investigation.
Information related to different needs of the System can be obtained by different
users of the system. This can be done by reviewing different organizations
documents such as current method of storing sales data, complaint data etc. By
observing the onsite activities the analyst can get close informations related to real
system.
2.4 FEASIBILITY STUDY
A feasibility study is a preliminary study undertaken before the real work of a project
starts to ascertain the likelihood of the project's success. It is an analysis of all
possible solutions to a problem and a recommendation on the best solution to use. It
involves evaluating how the solution will fit into the corporation. It, for example, can
decide whether an order processing be carried out by a new system more efficiently
than the previous one.
2.4.1 Technical Feasibility
Technical feasibility refers to the ability of the process to take advantage of the
current state of the technology in pursuing further improvement. The technical
capability of the personnel as well as the capability of the available technology
should be considered. Number of technical issues which are generally realized
during the feasibility stage of investigationso
PROTOTYPE MODEL
Prototyping is the process of building a model of a system. In terms of an
information system, prototypes are employed to help system designers build an
information system that intuitive and easy to manipulate for end users. Prototyping is
an iterative process that is part of the analysis phase of the systems development
life cycle.
During the requirements determination portion of the systems analysis phase, system
analysts gather information about the organization's current procedures and business
processes related the proposed information system. In addition, they study the
current information system, if there is one, and conduct user interviews and collect
documentation. This helps the analysts develop an initial set of system requirements.
Prototyping can augment this process because it converts these basic, yet sometimes
intangible, specifications into a tangible but limited working model of the desired
information system. The user feedback gained from developing a physical system
that the users can touch and see facilitates an evaluative response that the analyst can
employ to modify existing requirements as well as developing new ones.
The prototyping model is a
requirements collection, followed by prototyping and user evaluation. Often the end
users may not be able to provide a complete set of application objectives, detailed
input, processing, or output requirements in the initial stage. After the user
evaluation, another prototype will be built based on feedback from users, and again
the cycle returns to customer evaluation. The cycle starts by listening to the user,
followed by building or revising a mock-up, and letting the user test the mock-up,
then back.
Some Advantages of Prototyping:
Reduces development time.
Reduces development costs.
Requires user involvement.
Developers receive quantifiable user feedback.
Facilitates system implementation since users know what to expect.
Results in higher user satisfaction.
Exposes developers to potential future system enhancements.
ANDROID SDK
SQL LITE
ANDROID STUDIO
JDK
The Java Development Kit (JDK) is an execution of both of the Java SE, Java EE or
Java ME stages expel by Oracle Corporation as a parallel item went for Java
designers on Solaris, Linux, Mac OS X or Windows. The JDK incorporates a private
JVM and a couple of different assets to complete the formula to a Java Application.
Since the presentation of the Java stage, it has been by a wide margin the most
generally utilized Software Development Kit (SDK).
A Java Development Kit (JDK) is a project improvement environment for composing
Java applets and applications. It comprises of a runtime situation that sits on top of
the working framework layer and also the apparatuses and programming that
engineers need to assemble, investigate, and run applets and applications written in
the Java language.
Android SDK
Android is a working framework taking into account the Linux piece, and composed
principally for touchscreen cell phones, for example, cell phones and tablet PCs. At
first grew by Android, Inc., which Google supported fiscally and later purchased in
2005, Android was disclosed in 2007 alongside the establishing of the Alliance
consortium of equipment, programming, and telecom organizations.
The main hardware platform for Android is the 32-bit ARMv7 construction
modeling. The Android-x86 undertaking gives backing to the x86 structural
engineering, and Google TV utilizes a unique x86 adaptation of Android. In 2012,
Intel processors started to show up on more standard Android stages, for example,
telephones. In 2013, Free scale declared backing for Android on its i.MX processor,
particularly the i.MX5X and i.MX6X arrangement.
SQLite
SQLite is a relational database administration framework contained in a C
programming library. Rather than other database administration frameworks, SQLite
is not a different procedure that is gotten to from the customer application, however
an essential piece of it
SQLite is ACID-consistent and executes the vast majority of the SQL standard,
utilizing a rapidly and pitifully wrote SQL grammar that does not ensure the area
uprightness.
SQLite is a prevalent decision as inserted database for neighborhood/customer
stockpiling in application programming, for example, web programs. It is ostensibly
the most generally sent database motor, as it is utilized today by a few far reaching
programs, working frameworks, and implanted frameworks, among others. SQLite
has numerous ties to programming languages. The source code for SQLite is in the
general public area.
Problem Recognition
Problem Evaluation & Synthesis
3.4 MODELING
During the evaluation and solution synthesis activity, the analyst creates models of
the system in an effort to better understand data and control flow. The model serves
as foundation for software design and as the basis for the creation of specification
for the software. For the better understanding of data and control flow we use Data
Flow Diagram.
studying the current system. The process in the context level diagram is exploded
into other process at the first level DFD.
The idea behind the explosion of a process into more process is that
understanding at one level of detail is exploded into greater detail at the next level.
This is done until further explosion is necessary and an adequate amount of detail is
described for analyst to understand the process.
Larry Constantine first developed the DFD as a way of expressing system
requirements in a graphical from, this lead to the modular design.
A DFD is also known as a bubble Chart has the purpose of clarifying
system requirements and identifying major transformations that will become
programs in system design. So it is the starting point of the design to the lowest level
of detail. A DFD consists of a series of bubbles joined by data flows in the system.
DFD Symbols:
In the DFD, there are four symbols
1. A square defines a source(originator) or destination of system data
2. An arrow identifies data flow. It is the pipeline through which the information
flows
3. A circle or a bubble represents a process that transforms incoming data flow into
outgoing data flows.
4. An open rectangle is a data store, data at rest or a temporary repository of data
Data flow
Data Store
Constructing a DFD:
Several rules of thumb are used in drawing DFDS:
Process should be named and numbered for an easy reference. Each name should Be
representative of the process.
The direction of flow is from top to bottom and from left to right. Data traditionally
flow from source to the destination although they may flow back to the source.
One way to indicate this is to draw long flow line back to a source. An
alternative way is to repeat the source symbol as a destination.Since it is used
more than once in the DFD it is marked with a short diagonal.
When a process is exploded into lower level details, they are numbered.
The names of data stores and destinations are written in capital letters. Process and
dataflow names have the first letter of each work capitalized. A DFD typically shows
the minimum contents of data store. Each data store should contain all the data
elements that flow in and out.
Questionnaires should contain all the data elements that flow in and out. Missing
interfaces
Redundancies and like is then accounted for often through interviews.
Silent Feature of DFDs
1. The DFD shows flow of data, not of control loops and decision are controlled
considerations do not appear on a DFD.
2. The DFD does not indicate the time factor involved in any process whether the
dataflow take place daily, weekly, monthly or yearly.
3. The sequence of events is not brought out on the DFD.
Data Flow:
1) A Data Flow has only one direction of flow between symbols. It may flow in
both directions between a process and a data store to show a read before an
update. The later is usually indicated however by two separate arrows since
these happen at different type.
2) A join in DFD means that exactly the same data comes from any of two or more
different processes data store or sink to a common location.
3) A data flow cannot go directly back to the same process it leads. There must be
at least one other process that handles the data flow produce some other data flow
returns the original data into the beginning process.
4) A Data flow to a data store means update (delete or change).
5) A data Flow from a data store means retrieve or use. A data flow has a noun
phrase label more than one data flow noun phrase can appear on a single arrow as
long as all of the flows on the same arrow move together as one package.
admin
request
registration
Details
login
username
password
login
Reports
and
Communic
ation
Communic
ation
Employee
work
Crystal
Reports
Crystal
Reports
Add,Edit,Delete
Employee
Add,edit delete
salesman
Edit company,product
Details
Employee
request
registration
details
login
username
password
login
processes
Add,Edit,Search
Customer
Arrange Meeting
Company Details
Communications
Product
Details
Contacts
Order processing
Customer
Support
request
registration
details
login
username
password
processes
login
Complaint
Details
Customer
Feedback
Company Details
Product
List
Customer List
Complaint management
Input customer feedback
After each transaction salesman should maintain data of order and customer.
There is a list of prospective customer, on the basis of that list salesman can
choose customers is their territory to plan their tour in effective way.
The system should enter data of different complaints of customers and give a
complaint number to customer. Pending complaint should to display by the
system time to time so that they can be sort out on time.
Inventory should be checked before taking any order and after processing of
order inventory should be updated.
There should be provision to maintain feedback, query of customers.
System should perform various analysis on customer, sales and complaint
data on the basis of product, territory etc.
User Classes and Characteristics
User classes of the system are as following
2. Administrator- administrator is responsible for following activities Adding and Modifying Employee Details
Assign order
Adding and modifying Product Data
Adding and modifying Product data
Performing different analysis on transaction, complaint, sales and other
data.
Generating different reports
Making user account and assigning authorities to them.
3. Employee- Salesman is responsible for following activities
Order processing
Complaint management
Operating Environment
The system developed in Android as front end and Sqlite as Back end. Crystel 10
Reporting Engine is also required.
Minimum hardware requirements are Operating system should be Windows Xp.
Laser printer should be attached to the system.
4.3 External Interface Requirements:User Interfaces
The System should be Graphical User Interface.
Hardware Interfaces
The system will run on System with Pentium 4 processor, 512 MB RAM, 512 MB
Cache and 20 GB hard Disk. It will be connected to Laser Printer.
Software Interfaces
The system will run on Window XP Professional. It is based on Android and Sqlite
so Sqlite Browser is also required.
4.4 FUNCTIONAL REQUIREMENTS
Data should be given in a correct form in order to avoid getting erroneous results.
The value of transportation cost and the assignment cost should be known prior to
calculate the optimal transportation and assignment cost.
In order to prepare the budgets the proper and the correct data is to be
considered.
The end users should input correct figures so that the Ratio Analysis may
result as per expectations.
Data should be checked for validity
Consistency between the information provided in different forms under a
scheme should be checked
Messages should be given for improper input data, and invalid data item
should be ignored.
4.5 PERFORMANCE REQUIREMENTS
The following characteristics were taken care of in developing the system.
1. USER FRIENDLINESS: The system is easy to learn and understand. A
naive user can also use the system effectively, without any difficulty.
2. RESPONSE TIME: Response time of all the operations is kept low. This has
been made possible by careful planning.
3. ERROR HANDLING: Response to user errors and undesired situations have
been taken care of to ensure that system operates without halting in case of such
situation and proper error messages are given to user. Different validations are on
different field so that only correct data will be entering in the database.
4. SAFETY: The system is able to avoid catastrophic behavior.
5. ROBUSTNESS: The system recovers from the undesired events without
human intervention.
6. SECURITY: The system provides protection of information through the
mechanism of password incorporated in it. Therefore only authorized people can
access it database. There are three category of user in the system administrator,
salesman and customer service executive. All have different authorities of using
the system.
7. ACCURACY: The system is highly accurate thus its utility is very high.
8. COST ELEMENT: Servicing a given demand in the system doesnt require a
lot of money.
ACCEPTANCE CRITERIA
Before accepting the system, we will demonstrate the system work on existing
schemes (designed manually) with actual data as well as we will show through test
cases that all the conditions are satisfied. The following acceptance criteria were
established for the evaluation of the new system.
4.6 HARDWARE AND SOFTWARE REQUIREMENTS
Hardware Requirement
(minimum): -
Processor
Pentium IV or above
Hard Disk
20 GB
RAM
512 MB
Monitor
Color VGA
Printer
Laser
Software Requirement
(minimum): -
Eclipse
RDBMS
SQLITE
Reporting Tool
Crystal Report 10
Software design sits at the technical kernel of the software engineering process and is
applied regardless of the development paradigm and area of application. Design is
the first step in the development phase for any engineered product or system. The
designers goal is to produce a model or representation of an entity that will later be
built. Beginning, once system requirement have been specified and analyzed, system
design is the first of the three technical activities -design, code and test that is
required to build and verify software.
The importance can be stated with a single word Quality. Design is the place
where quality is fostered in software development. Design provides us with
representations of software that can assess for quality. Design is the only way that we
can accurately translate a customers view into a finished software product or system.
Software design serves as a foundation for all the software engineering steps that
follow. Without a strong design we risk building an unstable system one that will
be difficult to test, one whose quality cannot be assessed until the last stage.
During design, progressive refinement of data structure, program structure,
and procedural details are developed reviewed and documented. System design can
be viewed from either technical or project management perspective. From the
technical point of view, design is comprised of four activities architectural design,
data structure design, interface design and procedural design.
The most creative and challenging phase of the system life cycle is system design.
The term design describes a final system and the process by which it is developed.
It refers to the technical specifications that will be applied in implementing the
proposed system. It also includes the construction of program and designing of
output, input, menu, code, database and process of the system.
System output may be report, document or a message. In on-line applications,
information is displayed on the screen. The layout sheet for displayed output is
similar to the layout chart used for designing output.
On-line data entry makes use of processor that accepts commands and data from
the operator through a keyboard or a device such as touch screen or voice input.
Designing the code depends on the programming language chosen and mostly they
are not specified while outlining the design of the system. The goal of coding is to
translate the design of the system in to code in a programming language. The aim of
the code design is to implement the system in best possible manner.
5.2. Data Design
Database design is used to define and specify the structure of objects used in the
system. A wide array of design information must be developed during the database
design. A database is the collection of interrelated data stored with minimum
redundancy to serve many users quickly and efficiently. The general objective of
data base design is to make information access easy, quick, inexpensive, and
flexible for the user.
5.3. Architehural Design
Program Structure
very simple and not at all complicated. So any user who had no knowledge about
softwares and computers can use this Crime Reporting System very simply.
android:layout_marginBottom="10dp"
android:layout_gravity="center"
android:textAlignment="center"
android:enabled="false"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>
<EditText style="@style/FormInputs"
android:id="@+id/order_new_record_address"
android:hint="@string/order_address_hint"
/>
<ExpandableListView android:id="@+id/members_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</ExpandableListView>
</LinearLayout>
Activity_view_db.xml
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context="net.gesher.minicrm.ViewDbActivity">
<LinearLayout
android:padding="8dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/crmn"
android:id="@+id/view_db_list_item"
>
<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="invisible"
android:id="@+id/search_box"
android:background="@android:color/transparent"
android:layout_marginBottom="5dp"/>
<ListView
android:id="@android:id/list"
style="@android:style/Widget.Holo.ListView"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:divider="#eaf9af"
android:dividerHeight="5dp"
/>
<TextView android:id="@android:id/empty"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/empty_list_suggestion"
style="@style/H1"/>
</LinearLayout>
<ListView android:id="@+id/drawer_menu"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/white"
android:dividerHeight="2dp"
android:background="#0daa18"/>
</android.support.v4.widget.DrawerLayout>
Add_member_dialoge.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="12dp" >
<Spinner
android:id="@+id/add_component_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:prompt="@string/add_member_spinner_prompt" />
<EditText
android:id="@+id/add_member_amount"
style="@style/FormInputs"
android:hint="@string/products_amount_hint"
android:visibility="gone" />
</LinearLayout>
Add_member_dropdown_item.xml
<?xml version="1.0" encoding="utf-8"?>
<!-<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:orientation="vertical" >
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:id="@+id/titleText1"
style="@style/ListItemHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/titleText2"
style="@style/ListItemHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<TextView android:id="@+id/subtitle"
style="@style/ListItemSubheader"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
-->
<CheckedTextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:textSize="22sp"
android:padding="6dp"
android:textAlignment="inherit"/>
add_member_spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="22sp"
android:ellipsize="marquee"
android:textAlignment="inherit"/>
company_display.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp" >
<TextView style="@style/DisplayLabel"
android:text="@string/products_title_hint"/>
<View style="@style/minorHr"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/products_content_title"
style="@style/FormInputs"
android:layout_width="0dp"
android:layout_weight="1"
/>
<ImageView style="@style/BtnEditLine"/>
</LinearLayout>
<TextView style="@style/DisplayLabel"
android:text="@string/products_subtitle_hint"/>
<View style="@style/minorHr"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/products_content_subtitle"
style="@style/FormInputs"
android:layout_width="0dp"
android:layout_weight="1"
/>
<ImageView style="@style/BtnEditLine"/>
</LinearLayout>
<TextView style="@style/DisplayLabel"
android:text="@string/products_unit_price_hint"/>
<View style="@style/minorHr"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/products_content_unit_price"
style="@style/FormInputs"
android:layout_width="0dp"
android:layout_weight="1"
/>
<ImageView style="@style/BtnEditLine"/>
</LinearLayout>
<View style="@style/minorHr"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout android:id="@+id/products_amount_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<TextView style="@style/DisplayLabel"
android:text="@string/products_amount_hint"/>
<View style="@style/minorHr"/>
<RelativeLayout
android:layout_height="wrap_content"
android:layout_width="match_parent">
<TextView style="@style/FormInputs"
android:id="@+id/products_display_amount"
android:layout_width="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:paddingLeft="50dp"
android:paddingStart="50dp"
/>
<ImageView style="@style/BtnEditLine"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
</LinearLayout>
<TextView style="@style/DisplayLabel"
android:text="@string/products_notes_hint"/>
<View style="@style/minorHr"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/products_content_notes"
style="@style/FormInputs"
android:layout_width="0dp"
android:layout_weight="1"
android:inputType="textMultiLine"
/>
<ImageView style="@style/BtnEditLine"
/>
</LinearLayout>
</LinearLayout>
</ScrollView>
Company_input.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp">
<TextView style="@style/DisplayLabel"
android:text="@string/products_title_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/products_input_title"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/products_subtitle_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/products_input_subtitle"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/products_unit_price_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/products_input_price"
android:inputType="numberDecimal"
/>
<View style="@style/minorHr"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText android:id="@+id/products_input_new_sale_unit"
style="@style/FormInputs"
android:layout_width="0dp"
android:layout_weight="1"
android:visibility="gone"/>
</LinearLayout>
<LinearLayout android:id="@+id/products_amount_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<TextView style="@style/DisplayLabel"
android:text="@string/products_amount_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/products_input_amount"
android:inputType="number"
/>
</LinearLayout>
<TextView style="@style/DisplayLabel"
android:text="@string/products_notes_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/products_input_notes"
android:inputType="textMultiLine"
/>
<LinearLayout
style="@android:style/ButtonBar"
android:id="@+id/products_edit_form_button_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button android:text="@string/save_button"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:onClick="saveRecordToDb"/>
<Button android:text="@string/cancel_button"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:onClick="cancel"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
Customer_display_list.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp" >
<TextView style="@style/DisplayLabel"
android:text="@string/customer_first_name_hint"/>
<View style="@style/minorHr"/>
<TextView
android:id="@+id/customers_first_name"
style="@style/FormInputs"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_last_name_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/FormInputs"
android:id="@+id/customers_last_name"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_phone1_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/FormInputs"
android:id="@+id/customers_phone1"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_phone2_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/FormInputs"
android:id="@+id/customers_phone2"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_email_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/FormInputs"
android:id="@+id/customers_email"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_address_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/FormInputs"
android:id="@+id/customers_address"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_contact_name_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/FormInputs"
android:id="@+id/customers_contact_name"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_contact_phone_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/FormInputs"
android:id="@+id/customers_contact_phone"
/>
</LinearLayout>
Layout_customer_input.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp" >
<TextView style="@style/DisplayLabel"
android:text="@string/customer_first_name_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/customers_input_first_name"
android:hint="@string/customer_first_name_hint"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_last_name_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/customers_input_last_name"
android:hint="@string/customer_last_name_hint"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_phone1_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/customers_input_phone1"
android:hint="@string/customer_phone1_hint"
android:inputType="phone"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_phone2_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/customers_input_phone2"
android:hint="@string/customer_phone2_hint"
android:inputType="phone"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_email_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/customers_input_email"
android:hint="@string/customer_email_hint"
android:inputType="textEmailAddress"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_address_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/customers_input_address"
android:hint="@string/customer_address_hint"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_contact_name_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/customers_input_contact_name"
android:hint="@string/customer_contact_name_hint"
android:inputType="textPersonName"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/customer_contact_phone_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/customers_input_contact_phone"
android:hint="@string/customer_contact_phone_hint"
android:inputType="phone"
/>
<LinearLayout
style="@android:style/ButtonBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/customers_edit_form_button_bar"
>
<Button style=""
android:text="@string/save_button"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:onClick="saveRecordToDb"/>
<Button style=""
android:text="@string/cancel_button"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:onClick="cancel"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
Listview_item.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
style="@android:style/Widget.ListView.White"
android:orientation="vertical"
android:id="@+id/orders_member_list_item_3"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:padding="3dp"
android:background="@color/list_group_child_background" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="horizontal"
android:paddingEnd="30dp"
android:paddingRight="30dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true">
<TextView style="@style/ListItemHeader"
android:id="@+id/field_title1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingEnd="4dp"
android:paddingRight="4dp"
/>
<TextView style="@style/ListItemHeader"
android:id="@+id/field_title2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingEnd="4dp"
android:paddingRight="4dp"
/>
</LinearLayout>
<TextView android:id="@+id/products_display_amount"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_margin="3dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:textSize="26sp"
android:textColor="@android:color/holo_blue_dark"/>
</RelativeLayout>
<TextView
style="@style/ListItemSubheader"
android:id="@+id/field_subtitle1"
android:layout_height="wrap_content"
android:layout_width="match_parent"
/>
<TextView
style="@style/ListItemSubheader"
android:id="@+id/field_subtitle2"
android:layout_height="wrap_content"
android:layout_width="match_parent"
/>
</LinearLayout>
Login.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical|center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/crmn"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true">
<LinearLayout
android:id="@+id/ll1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical|center_horizontal">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ANDROID CRM"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#514629"
android:textSize="30dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical|center_horizontal">
<ProgressBar android:id="@+id/login_progress"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />
<ScrollView android:id="@+id/login_form"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/email_login_form"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:hint="User Id"
android:inputType="textEmailAddress"
android:maxLines="1"
android:singleLine="true"
android:textColor="#000000"
android:background="@android:color/transparent"
android:textColorHint="#000000" />
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:hint="Password"
android:imeActionLabel="LogIn"
android:imeOptions="actionUnspecified"
android:inputType="textPassword"
android:maxLines="1"
android:singleLine="true"
android:background="@android:color/transparent"
android:textColor="#000000"
android:textColorHint="#000000" />
<Button
android:id="@+id/email_sign_in_button"
style="?android:textAppearanceSmall"
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_marginTop="16dp"
android:background="@android:color/transparent"
android:text="Log In"
android:textColor="#ffffffff"
android:textStyle="bold"
android:onClick="OnLogin"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
<LinearLayout
android:id="@+id/ll3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="bottom|center_horizontal">
<Button
android:id="@+id/signUpTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="Registration"
android:textColor="#ffffffff" />
</LinearLayout>
</LinearLayout>
Main_screen_listview_item1.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
style="@android:style/Widget.ListView.White"
android:orientation="vertical"
android:id="@+id/view_db_orders_list_item"
tools:context="net.gesher.minicrm.ViewDbActivity"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:padding="3dp"
android:background="#ffffff" >
<!-<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/view_activity_list_checkbox"
android:onClick="selectRecord"
style="?android:checkboxStyle"
android:focusable="false"
/> -->
<TextView
style="@style/ListItemHeader"
android:id="@+id/field_title"
android:layout_height="wrap_content"
android:layout_width="match_parent"
/>
<LinearLayout android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="horizontal">
<TextView style="@style/ListItemSubheader"
android:id="@+id/field_subtitle1"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="2"
/>
<TextView style="@style/ListItemSubheader"
android:id="@+id/field_subtitle2"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="2"
/>
</LinearLayout>
</LinearLayout>
Main_screen_display_item2.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
style="@android:style/Widget.ListView.White"
android:orientation="vertical"
android:id="@+id/view_db_orders_list_item"
tools:context="net.gesher.minicrm.ViewDbActivity"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:padding="3dp"
android:background="#ffffff" >
<!-<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/view_activity_list_checkbox"
android:onClick="selectRecord"
style="?android:checkboxStyle"
android:focusable="false"
/> -->
<LinearLayout android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="horizontal">
<TextView style="@style/ListItemHeader"
android:id="@+id/field_title1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingRight="4dp"
/>
<TextView style="@style/ListItemHeader"
android:id="@+id/field_title2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingRight="4dp"
/>
</LinearLayout>
<TextView
style="@style/ListItemSubheader"
android:id="@+id/field_subtitle"
android:layout_height="wrap_content"
android:layout_width="match_parent"
/>
</LinearLayout>
Splash_layout.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/crmn"
android:alpha="125"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:visibility="invisible" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/progressBar1"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:background="@android:color/transparent"
android:text="Log In" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_centerVertical="true"
android:background="@android:color/transparent"
android:text="Credit" />
</RelativeLayout>
Contacts_input.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp" >
<TextView style="@style/DisplayLabel"
android:text="@string/workers_fname_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/worker_new_record_first_name"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_lname_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/worker_new_record_last_name"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_phone1_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/worker_new_record_phone1"
android:inputType="phone"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_phone2_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/worker_new_record_phone2"
android:inputType="phone"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_email_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/worker_new_record_email"
android:inputType="textEmailAddress"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_address_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/worker_new_record_address"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_occupation_hint"/>
<View style="@style/minorHr"/>
<EditText style="@style/FormInputs"
android:id="@+id/worker_new_record_occupation"
android:hint="@string/workers_occupation_hint"
/>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView style="@style/DisplayLabel"
android:layout_width="wrap_content"
android:layout_weight="0"
android:text="@string/workers_relationship_hint"/>
<Spinner android:id="@+id/workers_relationship_spinner"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
android:entries="@array/workers_occupations"/>
</LinearLayout>
<LinearLayout
style="@android:style/ButtonBar"
android:id="@+id/workers_edit_form_button_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button android:text="@string/save_button"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:onClick="saveRecordToDb"/>
<Button android:text="@string/cancel_button"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:onClick="cancel"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
Contacts_display_form.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp" >
<TextView style="@style/DisplayLabel"
android:text="@string/workers_fname_hint"/>
<View style="@style/minorHr"/>
<TextView
android:id="@+id/workers_first_name"
style="@style/DisplayContent"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_lname_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/DisplayContent"
android:id="@+id/workers_last_name"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_phone1_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/DisplayContent"
android:id="@+id/workers_phone1"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_phone2_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/DisplayContent"
android:id="@+id/workers_phone2"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_email_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/DisplayContent"
android:id="@+id/workers_email"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_address_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/DisplayContent"
android:id="@+id/workers_address"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_occupation_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/DisplayContent"
android:id="@+id/workers_occupation"
/>
<TextView style="@style/DisplayLabel"
android:text="@string/workers_relationship_hint"/>
<View style="@style/minorHr"/>
<TextView style="@style/DisplayContent"
android:id="@+id/workers_relationship"
/>
</LinearLayout>
</ScrollView>
The term implementation has different meanings, ranging from the conversion of a
basic application to a complete replacement of a computer system. The procedure,
however, is virtually the same. Implementation is used here to mean the process for
converting a new or revised system into an operational one. Conversion is one aspect
of implementation. The other aspects are the post implementation review and
software maintenance.
There are three types of implementation:
Conversion means changing from one system to another. That is data in the old
format is run through a program, or a series of programs, to convert it into the new
format. Conversion can also be from one hardware medium to another. The
objective is to put the tested system into operation while holding costs, risk and
personnel irritation to a minimum. It involves :
The implementation plan should anticipate possible problems and must be able to
deal with them. The usual problems may be missing documents; mixed data
formats between current and files, errors in data translation, missing data etc.
Black Box Testing is not a type of testing; it instead is a testing strategy, which does
not need any knowledge of internal design or code etc. As the name "black box"
suggests, no knowledge of internal logic or code structure is required. The types of
testing under this strategy are totally based/focused on the testing for requirements
and functionality of the work product/software application.
Various black box techniques
Functional Testing:
In this type of testing, the software is tested for the functional requirements. The tests
are written in order to check if the application behaves as expected.
Smoke Testing:
This type of testing is also called sanity testing and is done in order to check if the
application is ready for further major testing and is working properly without failing
up to least expected level.
Recovery Testing:
Recovery testing is basically done in order to check how fast and better the
application can recover against any type of crash or hardware failure etc. Type or
extent of recovery is specified in the requirement specifications.
Alpha Testing:
In this type of testing, the users are invited at the development center where they use
the application and the developers note every particular input or action carried out by
the user. Any type of abnormal behavior of the system is noted and rectified by the
developers.
Beta Testing:
In this type of testing, the software is distributed as a beta version to the users and
users test the application at their sites. As the users explore the software, in case if
any exception/defect occurs that is reported to the developers.
7.4 Software Testing Strategies in used in the project
A strategy for software testing integrates software test case design techniques into a
well-planned set of steps that cause the production of software. A software test
strategy provides a road map for the software developer, the quality assurance
organization, and the customer
7.4.1 Unit testing
Unit testing concentrates verification on the smallest element of the program the
module. Using the detailed design description important control paths are tested to
establish errors within the bounds of the module.
Firstly the unit testing on various modules and sub modules is performed in the
project. Different modules are tested with different correct and incorrect data. For
example in the order processing module order of 0 product is not allowed so in this
case different methods are used to find out whether the modules is performing all
processes correctly. All modules are tested to find out that whether they are working
properly.
7.4.2 Integration testing :Once all the individual units have been tested there is a need to test how they were
put together to ensure no data is lost across interface, one module does not have an
adverse impact on another and a function is not performed correctly. Integration
testing is a systematic approach that produces the program structure while at the
same time producing tests to identify errors associated with interfacing.
In this project bottom up integration testing is used. Firstly lower level modules are
tested. As modules are integrated bottom up, processing required for modules
subordinates to a given level is always available and the need for stubs is eliminated.
7.4.3 Validation testing :As a culmination of testing, software is completely assembled as a package,
interfacing errors have been identified and corrected, and a final set of software tests
validation testing are started. Validation can be defined in various ways, but a basic
one is valid succeeds when the software functions in a fashion that can reasonably
expected by the customer.
In the first phase of alpha testing, developers test the software using white box
techniques.
Additional inspection is then performed using black box techniques. This is usually
done by a dedicated testing team. This is often known as the second stage of alpha
testing.
Unit and integrated tests concentrate on functional verification of a component and
incorporation of components into a program structure. Validation testing
demonstrates tractability to software requirements, and system testing validates
software once it has been incorporated into a larger system.
7.5 SYSTEM IMPLEMENTATION
The purpose of System Implementation can be summarized as follows: making the
new system available to a prepared set of users (the deployment), and positioning ongoing support and maintenance of the system within the Performing Organization
(the transition). At a finer level of detail, deploying the system consists of executing
all steps necessary to educate the Consumers on the use of the new system, placing
the newly developed system into production, confirming that all data required at the
start of operations is available and accurate, and validating that business functions
that interact with the system are functioning properly. Transitioning the system
support responsibilities involves changing from a system development to a system
support and maintenance mode of operation, with ownership of the new system
moving from the Project Team to the Performing Organization.
Once the design model of CRM is created, it is implemented as a prototype,
examined by end -users and modified by developers, i.e. us, based on their
comments. To accommodate this iterative design approach, a broad class of interface
design and prototyping tools has evolved.
This phase consists of the following processes:
Prepare for System Implementation, where all steps needed in advance of
actually deploying the application are performed, including preparation of
both the production environment and the Consumer communities.
Deploy System, where the full deployment plan, initially developed during
System Design and evolved throughout subsequent lifecycle phases, is
executed and validated._
Transition to Performing Organization, where responsibility for and
ownership of the application are transitioned from the Project Team to the
unit in the Performing Organization that will provide system support and
maintenance.
Prepare for system implementation
In the implementation of any new system, it is necessary to ensure that the Consumer
community is best positioned to utilize the system once deployment efforts have
been validated. Therefore, all necessary training activities must be scheduled and
coordinated. As this training is often the first exposure to the system for many
individuals, it should be conducted as professionally and competently as possible. A
positive training experience is a great first step towards Customer acceptance of the
Splash Screen
Add contact
More modules can be added in the system such as it can provide facility of
direct email so that organization can generate offer letter and send it directly
to the customer.