jay swaminarayan – das na das

Transcription

jay swaminarayan – das na das
JAY SWAMINARAYAN – DAS NA DAS
A Project Report On
Project ID:
BCA6C115035
Guided by:
Mr. Prakash Gujarati
Prepared by:
Khushali Patel
Dipalee Viramgama
DEVELOPED
Department of Computer Science in Information Technology
Shree M. & N. Virani Science College
Khushi Patel & Dipali Viramgama
Page 1
JAY SWAMINARAYAN – DAS NA DAS
Table of Content:Sr. No
Particulars
Page No.
1.
Project Profile
3
2.
Acknowledgment
4
3.
Abstract
5
4.
System Requirements Study
6
5.
Introduction of system
7
6.
Project Description
8
7.
Software Development Model
19
8.
Use cases Diagram
22
9.
Activity Diagram
24
10.
Testing
27
11.
Layout Design
29
12.
Bibliography
36
Khushi Patel & Dipali Viramgama
Page 2
JAY SWAMINARAYAN – DAS NA DAS
1. PROJECT PROFILE
1.
Project Title
:- “DasNaDas”
2.
Organization
:- Yogidham Gurukul,
Kalawad Road ,Rajkot.
3.
Front-End
:- Android
4.
Design Tool
:- Eclipse
5.
Project Guide
:- Prakash Gujarati
6.
Submitted By
:- Khusali Patel
Dipali Viramgama
7.
Submitted To
:- Computer Department,
Shree M. & N. Virani Science College,
Kalawad Road, Rajkot – 360 005.
Khushi Patel & Dipali Viramgama
Page 3
JAY SWAMINARAYAN – DAS NA DAS
2. ACKNOWLEDGEMENT
I would express our sincere gratitude to the Principal of Shree
M. & N. Virani Science College, Mr.A.U. Patel for giving us an
opportunity to be a part of this Institution. It wou ld be never possible
without his support and encouragement. Thank You...sir..!!
I am thankful to Mr. Hitendra Donga and Mr. Stavan Patel, Head
of the Computer Department, who always encourage students not only
I indebted to Mr. Prakash Gujarati, Lab Guide, for their splendid
suggestions they gave us to improve our application . Their friendly
and humorous nature helped us to feel easy in new environment.
Many thanks to the staff members of VSC for their direct or indirect
support and help.
And lastly I thank everyone that has caused me to suffer, without you
I would have no reason to express myself. Thanks a lot to all who help
me to make this possible…
Khushi Patel & Dipali Viramgama
Page 4
JAY SWAMINARAYAN – DAS NA DAS
3. ABSTRACT
DasNaDas is an Android Application in which one can able to get a news
regarding shikshapatri, vachnamrut at any were in the world
Our application can help the younger ones to know about the shikshspatri ,
vachnamrut because, now a days people do not efford to reads from books so our
application would give them the short and sweet introduction regarding our
culture.
It would gives the knowledge in the life of student.
Khushi Patel & Dipali Viramgama
Page 5
JAY SWAMINARAYAN – DAS NA DAS
4. SYSTEM REQUIREMENTS STUDY
Hardware & Software Requirements
Hardware requirements
1.
2.
3.
4.
Processor :Optimal
RAM : 128 MB or Higher
Memory : 4 MB
Display : 480 * 800 (HDPI)
Software requirement
1.
Operating system:
1.
Android 2.1 or more
2.
Programming Tool:
1.
Android Development tools
2.
Eclipse (Juno)
Khushi Patel & Dipali Viramgama
Page 6
JAY SWAMINARAYAN – DAS NA DAS
5. INTRODUCTION OF SYSTEM
Project Summary
1.
The DasNaDas is an Android based system used for the any kind of users.
2.
It provides the more functionality than other current standalone system.
Purpose
1.
The basic thing behind DasNaDas
Sikhshapatri and Vachnamrut.
is to provide all users to read
2.
These features provide an automated, flexible, reliable DasNaDas.
3.
User can easily use this Application and it’s easy to understand.
OBJECTIVE
To make current application based on Android operating system. And to
make system user friendly, more compatible, reliable & knowledgeable.
Khushi Patel & Dipali Viramgama
Page 7
JAY SWAMINARAYAN – DAS NA DAS
6. PROJECT DESCRIPTION
Project Title
“DASNADAS”
Project Goal
This android application will provide the insurance reminder for
user. Users can add insurance data. User can view the upcoming
date insurance information.
Project
Guide
Mr.Prakash Gujarati
Team Size
2
Team
Member
Khushali Patel
Language
Used
Android
Project
Duration
December 2015 to March 2016
Submitted
To
Shree M. & N. Virani Science College, Rajkot.
Dipali Viramgam
Khushi Patel & Dipali Viramgama
Page 8
JAY SWAMINARAYAN – DAS NA DAS
1.
SOFTWARE DESCRIPTION
1.
ANDROID:-
Android is an open source and Linux-based Operating System for
mobile devices such as smart phones and tablet computers. Android was developed
by the Open Handset Alliance, led by Google, and other companies. Android
applications are usually developed in the Java language using the Android
Software Development Kit.
Once developed, Android applications can be packaged easily and sold out either
through a store such as Google Play or the Appstore.
You can start your Android application development on either of the following
operating systems:
1.
Microsoft Windows XP or later version.
2.
Mac OS X 10.5.8 or later version with Intel chip.
3.
Linux including GNU C Library 2.7 or later.
Second point is that all the required tools to develop Android applications are
freely available and can be downloaded from the Web. Following is the list of
software's you will need before you start your Android application programming.
1.
Java JDK5 or JDK6
2.
Android SDK
3.
Eclipse IDE for Java Developers (optional)
4.
Android Development Tools (ADT) Eclipse Plug-in (optional)
Khushi Patel & Dipali Viramgama
Page 9
JAY SWAMINARAYAN – DAS NA DAS
CREATE ANDROID APP IN ECLIPSE:-
5.
Eclipse is an integrated development environment (IDE). It contains a base
workspace and an extensible plug-in system for customizing the
environment. Written mostly in Java, Eclipse can be used to develop
applications. By means of various plug-ins, Eclipse may also be used to
develop applications in other programming languages. Android
Development Tools (ADT) is a plugin for the Eclipse IDE that is designed to
provide an integrated environment in which to build Android applications.
ADT extends the capabilities of Eclipse to let developers set up new Android
projects, create an application UI, add packages based on the Android
Framework API, debug their applications using the Android SDK tools, and
export signed (or unsigned) .apk files in order to distribute their
applications.It is a freeware available to download. We have used Eclipse
Juno for the development process.
Khushi Patel & Dipali Viramgama
Page 10
JAY SWAMINARAYAN – DAS NA DAS
The basics of creating applications
To begin to program for Android I needed some basics, because some
elements are very different, even if programming an application in Android uses
the Java language, therefore, an object oriented language. Firstly, in an Android
application, there is no main method:
public static void main(String[] args){...}
This method that allows to launch a program in java is not present in an
application android. This example is only the first of a long list. So I'll try to
explain what I had to learn to use to create my first application which is the Task
Killer.
Activity :
An activity is a user interface that allows the user to interact with the screen,
to perform actions.
For example, a text messaging application could have an activity that displays a list
of contacts to send messages. Once the contact is selected , activity could send
information to a second activity that could
serve to send the message to the contact.
When an application is launched, what it displays is the result of an activity. At the
code level, for create an activity , you must create a class that extends the Activity
class. An activity has a required onCreate () method. It is the main method. To
interact with the program, through the activity, there must be something displayed,
that is why the activity, contains what is called views.
Khushi Patel & Dipali Viramgama
Page 11
JAY SWAMINARAYAN – DAS NA DAS
Xml:
Xml means Extensible Markup Language. Android provides
astraightforward XML vocabulary that corresponds to the View classes and
subclasses. The goal of using Android's XML vocabulary, is to quickly
design UI layouts and the screen elements they contain, in the same way that
creating web pages in HTML : with a series of nested elements.
Here is an example :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a Button" />
</LinearLayout>
In the previous example, here's an XML layout that uses a vertical
LinearLayout to hold a TextView
and a Button.It will be possible to modify attributes the elements in the activity
class that use this XML file.
For example to change the text.
Khushi Patel & Dipali Viramgama
Page 12
JAY SWAMINARAYAN – DAS NA DAS
Intent :
An activity can of course start another one, even if it but to do this, it will need a
special object called Intent. An intent is basia description of an operation to be
performed. It can launch an Activity, send a broadcastIntent to any interested
BroadcastReceiver components, and communicate with a background Service. An
Intent performs binding between the code in different applications. it can be
thought of as the link between activities. It is possible to add some informations to
an Intent, thanks to an object called bundle, that you add to the intent thanks to the
method :
Intent.putExtras(Bundle objetbunble );
Android Manifest :
AndroidManifest.xml file is necessary for all android applications and
must have this name in itsroot directory. In the manifest you can find essential
informations about the application for the Android
system, informations that the system must have before it can run any of the
application's code. Here is what you can find in the Android manifest:
-The name of the Java package for the application. The package name serves as a
unique identifier for the application.
-The description of the components of the application : the activities, services,
broadcast receivers, and content providers that the application is composed of and
under what conditions they can be launched .
-The processes that will host application components.
-The permissions the application must have in order to access protected parts of the
API and interact with other applications.
-The permissions that others are required to have in order to interact with the
application's components.
Khushi Patel & Dipali Viramgama
Page 13
JAY SWAMINARAYAN – DAS NA DAS
-The list of the Instrumentation classes that provide profiling and other information
as the application is running. These declarations are present in the manifest only
while the application is being developed and tested; they're removed before the
application is published.
-The minimum level of the Android API that the application requires.
-The list of the libraries that the application must be linked against.
With all these elements, an application can be created. So i'll explain my first
application which was a Task Killer.
1.
SOFTWARE DEVELOPMENT LIFE CYCLE
SDLC, Software Development Life Cycle is a process used by software industry to
design, develop and test high quality softwares. The SDLC aims to produce high
quality software that meets or exceeds customer expectations, reaches
completion within times and cost estimates.
1.
SDLC is the acronym of Software Development Life Cycle.
2.
It is also called as Software development process.
3.
The software development life cycle (SDLC) is a framework defining tasks
performed at each step in the software development process.
What is SDLC?
SDLC is a process followed for a software project, within a software organization.
It consists of a detailed plan describing how to develop, maintain, replace and alter
or enhance specific software. The life cycle defines a methodology for improving
the quality of software and the overall development process.
Khushi Patel & Dipali Viramgama
Page 14
JAY SWAMINARAYAN – DAS NA DAS
A typical Software Development life cycle consists of the following stages:
Stage 1: Planning and Requirement Analysis
Requirement analysis is the most important and fundamental stage in SDLC. It is
performed by both of us with inputs from the customer. This information is then
used to plan the basic project approach is easy to bring a contact one phone to
another phone technicaly.
Planning for the quality assurance requirements and identification of the risks
associated with the project is also done in the planning stage. The outcome of the
technical feasibility study is to define the various technical approaches that can be
followed to implement the project successfully with minimum risks.
Stage 2: Defining Requirements
Once the requirement analysis is done the next step is to clearly define and
document the product requirements and get them approved from the user. Software
Khushi Patel & Dipali Viramgama
Page 15
JAY SWAMINARAYAN – DAS NA DAS
Requirement Specification document which consists of all the product
requirements to be designed and developed during the project life cycle.
Stage 3: Designing the application architecture
Contact fetching is the reference for application architects to come out with the
best architecture for the app. to be developed. Based on the requirements specified
in app., usually more than one design approach for the app. architecture is
proposed and documented in a DDS - Design Document Specification.
This DDS is reviewed by all the important stakeholders and based on various
parameters as risk assessment, product robustness, design modularity , budget and
time constraints , the best design approach is selected for the application.
A design approach clearly defines all the architectural modules of the product
along with its communication and data flow representation with the external and
third party modules (if any). The internal design of all the modules of the proposed
architecture should be clearly defined with the minutest of the details in DDS.
Stage 4: Building or Developing the Product
In this stage of SDLC the actual development starts and the product is built. The
programming code is generated as per DDS during this stage. If the design is
performed in a detailed and organized manner, code generation can be
accomplished without much problem.
Developers have to follow the coding guidelines defined by their organization and
programming tools like compilers, interpreters, debuggers etc are used to generate
the code. Different high level programming languages such as android, Java, for
coding and sql for database. The programming language is chosen with respect to
the type of software being developed.
Stage 5: Testing the Product
This stage is usually a subset of all the stages as in the modern SDLC models, the
testing activities are mostly involved in all the stages of SDLC. However this stage
refers to the testing only stage of the product where products defects are reported,
Khushi Patel & Dipali Viramgama
Page 16
JAY SWAMINARAYAN – DAS NA DAS
tracked, fixed and retested, until the product reaches the quality standards defined
in the SRS.
Stage 6: Deployment in the Market and Maintenance
Once the product is tested and ready to be deployed it is released formally in the
appropriate market. Sometime product deployment happens in stages as per the
organizations. The product may first be released in a limited segment and tested in
the real environment
Then based on the feedback, the product may be released as it is or with suggested
enhancements in the targeting market segment. After the product is released in the
market, its maintenance is done for the existing customer base.
Contact fetching is revolutionary android mobile application. It enables user to
access Contact information, at just a click of a button Contact fetching is an
innovative way of enhancing user access towards actionable technologies. The core
purpose of this application is to provide actionable information including of user
contacts.
Feasibility Study:
When the client approaches the organization for getting the desired
product developed, it comes up with rough idea about what all functions
the software must perform and which all features are expected from the
software.
This feasibility study is focused towards goal of the organization. This
study analyzes whether the software product can be practically materialized
in terms of implementation, contribution of project to organization, cost
constraints and as per values and objectives of the organization. It explores
technical aspects of the project and product such as usability,
maintainability, and productivity and integration ability.
Khushi Patel & Dipali Viramgama
Page 17
JAY SWAMINARAYAN – DAS NA DAS
1.
OPERATIONAL FEASIBILITY.
Operational feasibility is a measure of how well a proposed system solves
the problems, and takes advantage of the opportunities identified during scope
definition and how it satisfies the requirements identified in the requirements
analysis phase of system development.
Operational feasibility reviews the willingness of the organization to support
the proposed system. In order to determine this feasibility, it is important to
understand the management commitment to the proposed project. If the request
was initiated by management, it is likely that there is management support and the
system will be accepted and used.
2.
FINANCIAL AND ECONOMICAL FEASIBILITY
Economic analysis could also be referred to as cost/benefit analysis. It is the
most frequently used method for evaluating the effectiveness of a new system. In
economic analysis the procedure is to determine the benefits and savings that are
expected from a candidate system and compare them with costs. If benefits
outweigh costs, then the decision is made to design and implement the system. An
entrepreneur must accurately weigh the cost versus benefits before taking an
action.
Possible questions raised in economic analysis are:
1.
2.
3.
4.
5.
6.
1.
Is the system cost effective?
Do benefits outweigh costs?
The cost of doing full system study
The cost of business employee time
Estimated cost of hardware
Estimated cost of software/software development
TECHNICAL FEASIBILITY
A large part of determining resources has to do with assessing technical
feasibility. It considers the technical requirements of the proposed project.
The technical requirements are then compared to the technical capability of
the organization. The systems project is considered technically feasible if the
Khushi Patel & Dipali Viramgama
Page 18
JAY SWAMINARAYAN – DAS NA DAS
internal technical capability is sufficient to support the project requirements.
The analyst must find out whether current technical resources can be
upgraded or added to in a manner that fulfills the request under consideration. This
is where the expertise of system analysts is beneficial, since using their own
experience and their contact with vendors they will be able to answer the question
of technical feasibility.
7. SOFTWARE DEVELOPMENT MODEL
Waterfall Model
The Waterfall Model was first Process Model to be introduced. It is also referred to
as a linear-sequential life cycle model. It is very simple to understand and use. In a
waterfall model, each phase must be completed before the next phase can begin
and there is no overlapping in the phases.
Waterfall model is the earliest SDLC approach that was used for software
development.
The waterfall Model illustrates the software development process in a linear
sequential flow; hence it is also referred to as a linear-sequential life cycle model.
This means that any phase in the development process begins only if the previous
phase is complete. In waterfall model phases do not overlap.
Waterfall Model design
Waterfall approach was first SDLC Model to be used widely in Software
Engineering to ensure success of the project. In "The Waterfall" approach, the
whole process of software development is divided into separate phases. In
Waterfall model, typically, the outcome of one phase acts as the input for the next
phase sequentially.
Khushi Patel & Dipali Viramgama
Page 19
JAY SWAMINARAYAN – DAS NA DAS
Following is a diagrammatic representation of different phases of waterfall model.
1. Software requirements analysis
The requirements gathering process is intensified and focused specially on
software. Software requirements and analysis encompasses understanding the
information domain for the software as well as required function, behavior,
performance, and interfacing. Requirements for both the system and software are
documented and reviewed with user.
Khushi Patel & Dipali Viramgama
Page 20
JAY SWAMINARAYAN – DAS NA DAS
1. Design
Software design is a multistep process that focuses on four distinct attributes
of a program: Data Structure, Software architecture, Interface Representation,
Procedure Details. The Design Process translated the requirements into a
representation of software that can be access for quality before code generation
begins. The design is documented and becomes part of the software configuration.
As we have selected iterative model so whenever requirements changes there may
be change in design also.
2. Code generation
The design is translated into a machine-readable form .If design is
performed in a detail manner; code generation can be a accomplished
mechanically.
As we have selected iterative model so whenever there system reviewed and
some changes occurred then the code also can be changed.
3. Testing
The testing process focuses on the logical internals of the software, assuring
that all statements have been tested, and on the functional i.e. conducting testing to
uncover errors that defined input will produce results that agree with required
results.
4. Deployment
The system is finally made operational in the deployment phase. Main
activities in this phase include training of users, installation of system; switch over
from the existing (manual, semi-automated, automated) system to the new system.
This phase often get adversely impacted if any of the earlier phase,
especially the requirements phase is hurried through-new requirements are
discovered when the system is to be made operational.
Khushi Patel & Dipali Viramgama
Page 21
JAY SWAMINARAYAN – DAS NA DAS
8. USE CASE DIAGRAM
Use case diagram is the first step of software requirement analysis to final
achievement, and it expresses how people use a system. Use case shows users,
what kind of service users require and services are offered by client to the system.
It helps client to have a better understanding of functions in these element and also
benefits to achieve them. Use case diagram is commonly used to describe system
and sub-system.
Shikshaptri
User
Vchnamruct
About US
Khushi Patel & Dipali Viramgama
Page 22
JAY SWAMINARAYAN – DAS NA DAS
FLOWCHART
Splace Screen
List
Shikshapatri
Vachnamrut
Gallary
Gallary
Khushi Patel & Dipali Viramgama
About Us
Page 23
JAY SWAMINARAYAN – DAS NA DAS
9.ACTIVITY DIAGRAM
Activity diagram is another important diagram in UML to describe dynamic
aspects of the system. Activity diagram is basically a flow chart to represent the
flow from one activity to another activity. The activities on the diagram can be
described as an operation of the system. So the control flow is drawn from one
operation to another. This flow can be sequential, branched or concurrent. Activity
diagram deals with all type of flow control by using different elements like fork,
join etc.
Purpose:
The basic purposes of activity diagrams are similar to other four diagrams. It
captures the dynamic behavior of the system. Other four diagrams are used to show
the message flow from one object to another but activity diagram is used to show
message flow from one activity to another. Activity is a particular operation of the
system. Activity diagrams are not only used for visualizing dynamic nature of a
system but they are also used to construct the executable system by using forward
and reverse engineering techniques. The only missing thing in activity diagram is
the message part. It does not show any message flow from one activity to another.
Activity diagram is some time considered as the flow chart. Although the diagrams
looks like a flow chart but it is not. It shows different flow like parallel, branched,
concurrent and single.
Khushi Patel & Dipali Viramgama
Page 24
JAY SWAMINARAYAN – DAS NA DAS
-:Shikshapatri Activity:-
Shikshaptri
Display images
of Shikshapatri
When User click on the Shikshapatri Button and show all the detail.
Khushi Patel & Dipali Viramgama
Page 25
JAY SWAMINARAYAN – DAS NA DAS
-:Vachnamrut Activity:-
Vachnamrut
Read of
Vachnamrut
images
When User click on the Vachnamrut Button and show all the detail.
Khushi Patel & Dipali Viramgama
Page 26
JAY SWAMINARAYAN – DAS NA DAS
10.TESTING
What is White Box Testing?
White box testing is a testing technique that examines the program structure
and derives test data from the program logic/code. The other names of glass box
testing are clear box testing, open box testing, logic driven testing or path driven
testing or structural testing.
White Box Testing Techniques:
1.
2.
3.
Statement Coverage - This technique is aimed at exercising all
programming statements with minimal tests.
Branch Coverage - This technique is running a series of tests to ensure that
all branches are tested at least once.
Path Coverage - This technique corresponds to testing all possible paths
which means that each statement and branch is covered.
Advantages of White Box Testing:
1.
Forces test developer to reason carefully about implementation.
2.
Reveals errors in "hidden" code.
3.
Spots the Dead Code or other issues with respect to best programming
practices.
Disadvantages of White Box Testing:
1.
Expensive as one has to spend both time and money to perform white box
testing.
2.
Every possibility that few lines of code are missed accidentally.
Khushi Patel & Dipali Viramgama
Page 27
JAY SWAMINARAYAN – DAS NA DAS
3.
In-depth knowledge about the programming language is necessary to
perform white box testing.
What do you verify in White Box Testing?
White box testing involves the testing of the software code for the following:
1.
2.
3.
4.
5.
6.
Internal security holes
Broken or poorly structured paths in the coding processes
The flow of specific inputs through the code
Expected output
The functionality of conditional loops
Testing of each statement, object and function on an individual basis
The testing can be done at system, integration and unit levels of software
development. One of the basic goals of white box testing is to verify a working
flow for an application. It involves testing a series of predefined inputs against
expected or desired outputs so that when a specific input does not result in the
expected output, you have encountered a bug.
Khushi Patel & Dipali Viramgama
Page 28
JAY SWAMINARAYAN – DAS NA DAS
11. Layout Screen
Khushi Patel & Dipali Viramgama
Page 29
JAY SWAMINARAYAN – DAS NA DAS
Khushi Patel & Dipali Viramgama
Page 30
JAY SWAMINARAYAN – DAS NA DAS
Khushi Patel & Dipali Viramgama
Page 31
JAY SWAMINARAYAN – DAS NA DAS
Khushi Patel & Dipali Viramgama
Page 32
JAY SWAMINARAYAN – DAS NA DAS
Khushi Patel & Dipali Viramgama
Page 33
JAY SWAMINARAYAN – DAS NA DAS
Khushi Patel & Dipali Viramgama
Page 34
JAY SWAMINARAYAN – DAS NA DAS
Khushi Patel & Dipali Viramgama
Page 35
JAY SWAMINARAYAN – DAS NA DAS
12. BIBLIOGRAPHY
1.
Web Reference
1.
Android Development
developer.android.com
1.
Stack overflow
www.stackoverflow.com
2.
Android hive
www.androidhive.com
3.
Google play store
http://play.google.com
4.
Tutorials point
www.tutorialspoint.com
.
39
Khushi Patel & Dipali Viramgama
Page 36
JAY SWAMINARAYAN – DAS NA DAS
Khushi Patel & Dipali Viramgama
Page 37