Major Synopsis android application

download Major Synopsis android application

of 25

Transcript of Major Synopsis android application

  • 8/22/2019 Major Synopsis android application

    1/25

    Abstract

    The project Indore Business directory was based on android application. The system defines

    the growing needs of the Businessmen in Indore city. Indore is the largest city and the

    commercial capital of the Indian state of Madhya Pradesh. Indore city has a population of

    2,167,447. Indore is often referred as the commercial capital of Madhya Pradesh with a bulk

    of its trade coming from Small, Mid and Large scale manufacturing & service industries.

    These industries range from Automobile to Pharmaceutical and from Software to Retail and

    from Textile trading to Real estate, what not.Several IT services companies have presence inIndore. So there obviously arises a need to communicate to do business, perform commercial

    practices and all these needs the information like contact number and address which was

    earlier searched through typical YELLOW PAGES.

    In growing Business environment, businessman needs to deal with the other businessman,

    search for the shop, place like hotel, coffee shop, college, institutions, industries, firms, food

    shops, restaurant etc. and want to get contact information and search in the conventional

    yellow pages (a thick hard copy like diary that contains information of business organization

    and commercial entities in tabular format) which contains only phone number and address,

    not much information. The yellow pages are hard to carry and hard to search for when it

    comes to the need to go to a place or arrangement of a particular meeting.

    Even if he will go for an option like internet a no of web pages will be opened. Nobody

    carries heavy gadgets like laptop now-a-days and if carries then too it is not feasible to search

    anything about it.

    If the Business is dynamic like packers and movers, they often needs a guide to help them

    in getting the information of the place where they have to deliver the goods and commodities,

    or from where they have to carry away the consignments. They may be sometimes but not

    always are familiar with the place they are going to visit.

  • 8/22/2019 Major Synopsis android application

    2/25

    Introduction

    2.1Objective

    The objective is to make an android product for the Businessmen to help them

    exploring their business by providing them with the facility of instant contacting with

    any organization. Today every businessman has an android phone. By downloading

    the application, they will be able to use the facilities provided by it. The main

    objective is to make a user friendly interface of an android application, so as to benefit

    the businessmen and making it suitable to call and contact to any shopkeeper

    instantly, without wasting their time.

    Switching from yellow pages to a ready-made mobile app.

    In todays scenario, if a person has to search for a place like hotel, coffee shop,

    college etc. And wants to get appropriate information will search in yellow pages

    which contains only limited information hence it is wastage of time.

    To switch from net surfing for a small purpose into a time saving environment.

    To provide 24*7 facility for searching a place just with the help of a cell phone

    means Nobody carries heavy gadgets like laptop, all the time and if carries then too itis not feasible to search anything about it.

    To help the tourist with this app so that they will not require to hire the guide for the

    place they are going to visit.

    For taking immediate action like in case of emergency i.e heart attack, immediate

    action will be needed for going to a hospital, to make a call etc.

    Employees or Job seekers often require quick response so they would not waste their

    precious time in surfing over the net or visiting the location.

    Headache of filling forms over the internet while visiting any website for the purpose

    of searching can easily be removed; hence no need to worry about the accessibility or

    leak of our personal information.

  • 8/22/2019 Major Synopsis android application

    3/25

    2.2 Scope

    In future dynamic business directory can be made, in which a user can also make

    changes.

    Business directory with updatable database can be made in which a businessman can

    add a new business of his own or any other business or place like hotel, petrol pump,

    boutique, his favorite pizza shop etc.

    Also if user wants, he can delete the place which is of no use for him.

    This project is only limited to Indore city, but in future it can also be made for 2 to 3

    cities or the whole state.

    A share option can be provided below every organization name, so that the user can

    share the contact information with anyone.

    If a similar web application exists i.e. an online business directory then the data

    (contact information of a place) can be imported from there directly on your android

    phone.

    2.3 Problems in existing system

    Problems faced in real life situations are as follows:

    In todays scenario, if a person has to search for a place like hotel, coffee shop,

    college etc. And wants to get appropriate information will search in yellow pages

    which contains only limited information hence it is wastage of time.

    Even if he will go for an option like internet we need to open a no of web pages

    which is a time consuming process.

    Nobody carries heavy gadgets like laptop, all the time and if carries then too it is

    not feasible to search anything about it.

  • 8/22/2019 Major Synopsis android application

    4/25

    Tourist often needs a guide and is not familiar with the place they are going to

    visit.

    In case of emergency, like a heart attack, immediate action will be needed for

    going to a hospital, to make a call etc.

    Job seekers often require quick response so they would not waste their precious

    time.

    Headache of filling forms over the internet while visiting any website for the

    purpose of searching can easily be removed,hence no need to worry about the

    accessibility or leak of our personal information.

    It is helpful for employees they can search the information about the desired

    company.So helpful in global market to share and access the organization details.

    2.4 Justification to the Project

    An android application will prove to be a better solution for this, by providing

    following features:

    Address information: Complete address.

    Message: Immediate message facility.

    Website link: connect you to the official website on just one click.

    Exact location: Search for exact location on maps (Google maps).

    Call: In case of emergency immediate call can be made.

    This android application will play important role in many areas right from the

    industries to local places.It is helpful for employees they can search the information about the

    desired company.So helpful in global market to share and access the organization details.Job

    seekers can easily search the company or college where they will be going to attend the off or

  • 8/22/2019 Major Synopsis android application

    5/25

    pool campus.Tourist will not require any guide for the place they are going to visit hence they

    would really enjoy even more the place without wasting time in querring or searching.

    System Requirement Analysis

    3.1 Information Gathering (Literature Review)

    3.1.1 System Components Identified

    ACTIVITY:

    a. Activity is an individual user interface screen in an Android application where visual

    elements called Views (also known as widgets) can be placed and the user can perform

    various actions by interacting with it.

    b. The widgets in an Activity can be created in two different ways, by pure java code and

    by adding XML code to define the UI. The latter is always preferred.

  • 8/22/2019 Major Synopsis android application

    6/25

    c. An application can have more than one Activity and each Activity operates

    independently, but can be linked to one another and each Activity created must be defined in

    the applications manifest file.

    SERVICE:

    a. A service is an Android application component that runs in background and has no

    visual UI.

    b. Services are used to perform the processing parts of the application in the background.

    a. While the user is working on the foreground UI, services can be used to handle the

    processes that need to be done in the background.

    A service can be started by other Android application components such as an activity or

    other services and it will continue to run in the background

    CONTENT PROVIDER:

    a. Content provider in Android provides a flexible way to make data available across

    applications. Suppose you are creating any type of data in your application.

    b. Suppose a particular type of data is created in an application and they are stored at any

    storage location, it may be in the data base, file system or in any online storage space.

    c. Then through content providers other applications are able to query, access or even

    modify the data been created, as long as the content provider allows it.

    d. In a similar way one can access the data that other utilities have created, by using

    content providers.

    BROADCAST RECEIVER:

    a. Broadcast receivers are one of Android application components that are used to receive

    messages that are broadcasted by the Android system or other Android applications.

    b. There are many broadcasts that are initiated by the Android system itself and other

    applications can receive by using Broadcast receiver.

    INTENTS:

    a. Intents are not one of Android application components; instead it is the component

    activating mechanism in Android.

    b. It constitutes the core message system in Android and defines a message to activate aparticular component.

  • 8/22/2019 Major Synopsis android application

    7/25

    c. For example, if a new activity is to be invoked from a current activity, intent needs to

    be fired specifying the new Activity. And if other application needs to be started from the

    Activity, then also it would require to fire intent.

    3.1.2 System Architecture for Proposed System

    Control Flow Diagram:

  • 8/22/2019 Major Synopsis android application

    8/25

    System Structure:

  • 8/22/2019 Major Synopsis android application

    9/25

    Methodological contributions:

    In this project various methods for implementing Google maps, phone dialer, sms service etc.

    will be required as the major features. Here are few methods which will be used mainly.

    Methods and resources for Google maps:

    Geopoint-to set the location of any particular point.

    setZoom-to zoom in or zoom out in the map.

    locationManager- which provides APIs to determine location and bearing of the

    underlying device (if available).

    animateTo- To animate properties for a View , call animate() to construct a

    ViewPropertyAnimator object for that View .

    MAP API KEY-used to programetically access data from google server.

    Methods for Dialer:

    launchDialer- The method launchDialer(String) initiates the phone call.

    Various permissions are also used for these services like-

    Geolocation permission

    Internet Permission

    call_phone Permission

  • 8/22/2019 Major Synopsis android application

    10/25

    write_External_storage Permission ,etc.

    Packages used-

    Location and map based capabilities incorporated into the mobile for users are done using the

    package android.location and Google Maps External Library.

    1. android.location-

    The central component of the former package is LocationManager system service which is a

    class.This class provides access to the system location services which in turn allow

    applications to obtain periodic updates of the device's geographical location.

    You do not instantiate this class directly;instead, retrieve it through

    getSystemService(Context.LOCATION_SERVICE).

    Once the LocationManager is instantiated,application is able to-

    1. Query for all the LocationProvider for the last known user location.

    2. Register/Unregister periodic updates of the user's current location from a location

    provider.

    LocationProvider is an abstract superclass that provides the periodic updates of the

    geographic location of device.

    Classes and interfaces in the android.locationpackage are-

    1. Interfaces-

    GpsStatus.Listener Used for receiving notifications when GPS

    status has changed.

    GpsStatus.NmeaListener Used for receiving NMEA sentences from the

    GPS.

    LocationListener Used for receiving notifications from the

    LocationManager when the location has

    changed.

    2. Classes-

    Address A class representing an Address, i.e, a set of

    Strings describing a location.

    Criteria A class indicating the application criteria for

  • 8/22/2019 Major Synopsis android application

    11/25

    selecting a location provider.

    Geocoder A class for handling geocoding and reverse

    geocoding.

    GpsSatellite This class represents the current state of a GPS

    satellite.

    GpsStatus This class represents the current state of the

    GPS engine.

    Location A class representing a geographic location

    sensed at a particular time (a "fix").

    LocationManager This class provides access to the systemlocation services.

    LocationProvider An abstract superclass for location providers.

    GpsStatus.NmeaListener-

    NMEA 0183 is a standard for with marine electronic devices and is common method for

    receiving data from GPS .

    Geocoder-A class for handling geocoding and reverse geocoding. Geocoding is the process of

    transforming a street address or other description of a location into a (latitude, longitude)

    coordinate. Reverse geocoding is the process of transforming a (latitude, longitude)

    coordinate into a (partial) address.

    Location-

    A class representing a geographic location at a particular time. A location consists of latitude,

    longitude, UTC timestamp & information on altitude,speed & bearing.

    2. Google Maps Android API-External Library

    To make it easier for you to add powerful mapping capabilities to your application, Google

    provides a Maps external library that includes the com.google.android.maps package. The

    classes of the package offer built-in downloading, rendering, and caching of Maps tiles, as

    well as a variety of display options and controls.

    The key class in the Maps package is com.google.android.maps.MapView, a subclass of

    ViewGroup.

  • 8/22/2019 Major Synopsis android application

    12/25

    A MapView displays a map with data obtained from the Google Maps service. When the

    MapView has focus, it will capture key presses and touch gestures to pan and zoom the map

    automatically, including handling network requests for additional maps tiles. It also provides

    all of the UI elements necessary for users to control the map. Your application can also use

    MapView class methods to control the MapView programmatically and draw a number of

    Overlay types on top of the map.

    Challenges in determining User Locations-

    When developing a location aware application for android, GPS and Androids Network

    Location Provider can be utilized to get the location of device.Since GPS is most accurate but

    only works outside, consumes more battery power and does not responds as quickly as

    expected.

    Androids Network Location Provider determines user location using cell tower and Wi-Fi

    signals, providing location information in a way that works indoors and outdoors, responds

    faster, and uses less battery power.

    Obtaining user location from a mobile device can be complicated. There are several reasons

    why a location reading (regardless of the source) can contain errors and be inaccurate. Some

    sources of error in the user location include:

    Multitude of location sources

    GPS, Cell-ID, and Wi-Fi can each provide a clue to users location. Determining

    which to use and trust is a matter of trade-offs in accuracy, speed, and battery-

    efficiency.

    User movement

    Because the user location changes, you must account for movement by re-estimating

    user location every so often.

    Varying accuracy

    Location estimates coming from each location source are not consistent in their

    accuracy. A location obtained 10 seconds ago from one source might be more

    accurate than the newest location from another or same source.

    3.2 System Feasibility

    After the analysis and specifications of the requirements of the proposed system feasibility

    study is conducted. It is done to find out whether the system is beneficial to the organization

  • 8/22/2019 Major Synopsis android application

    13/25

    or not. For each proposed solution it is checked whether it is practical to implement that

    solution, this is done through feasibility study. Various feasibility aspects are considered .

    The feasibility study includes the investigation of the information needs of the end user and

    objectives, constraints, basic resource requirement and cost benefits. The main and prime

    objective of feasibility study is not to solve the problem but to acquire a sense of its scope.

    The feasibility study includes the investigation of,

    Needs of the end user and objectives

    Information

    Constraints

    Basic resource requirements

    3.2.1 Economical

    The system is economically feasible because there are no requirements of any special Costly

    hardware or software to develop the system. This system uses minimum resources for

    development and usage so it is very economic and user friendly system. The organization for

    which it is meant can avail it at a very low cost. The objectives are fulfilled within minimum

    resources.Hence our project is economically feasible.

    3.2.2 TechnicalThe project is technically feasible because it will not develop or use any technology which is

    under research. The project uses Android and java as front end and designing is done using

    Eclipse IDE. The back end of the project is SQLite which is again a part of android itself.

    In technical feasibility the following issues are taken into consideration:

    1. Whether the required technology is available or not?

    The work for the project can be done wih the current equipment and existing software

    technology that the organisation possessess.

    2. Whether the required resources are available?

    The system does not have any rigid hard-ware and software requirements and there is

    availability of the people who can perform the software engineering activities required for the

    development of the system.Hence, the system is technically feasible.

    3.2.3 Behavioral

  • 8/22/2019 Major Synopsis android application

    14/25

    Behavioral feasibility is concerned with as curtaining the views of the examiners and

    organizers about the use of the computer facility. The support or the lack of the support that

    the examiners are likely to give to the system is the critical aspect of the feasibility in all

    respects except the behavioral and fails miserably because of human problems. Our project is

    behavioral feasible because it is time saving and reliable.

    For which problem do you lack good solutions?

    There was need to create a integrated system which surpasses the expectations of the person

    needing the information regarding pvc pipes manufacturing company and through which

    Administrators can also update & access the information from any location all over the

    world.

    How would you like to solve it?

    To solve this problem we have made a web based application through which customer that

    can do online Registration on the site and without extra effort can get the all the basic

    information about company.Admin module is also made web based and hence administrators

    can access from any where in the world.

    3.3 Platform specification (Both Development and Deployment)

    3.3.1 Hardware

    Architecture: Android application architecture follows very modern Model-View-View

    Model (MVVM) architectural pattern in how it handles relationships between GUI and a

    logic supporting the GUI. This is actually good news for Android developers since this is the

    latest and greatest architecture for GUI applications at the moment. In MVVM architecture:

    GUI development is done by a GUI designer in technology more or less natural

    for this task (XML)

    Logic behind the GUI is implemented by a developer as ViewModel (which

    actually means Model of View) component.

  • 8/22/2019 Major Synopsis android application

    15/25

    Functional relationships between GUI and ViewModel are implemented through

    bindings that essentially define rules like if a button A is clicked, method

    onButtonAClick() should be called on ViewModel. Bindings can be written in the

    code or defined in a declarative way (Android uses both types of bindings)MVVM architecture is used in one way or another by all modern GUI

    technologies like Microsoft WPF and Silverlight, Oracle (former Sun) JavaFX,

    Adobe Flex, AJAX.

    Backend: SQLite

    Frontend: SDK

    Server: apache-tomcat-7.0.23

    HardDisk: 29 MB.

    3.3.2 Software implementation language/technology

    Programming language: core java

    Querry Language: SQL

    Operating System: Windows XP professional

    Framework: eclipse helios

    3.4 Milestones and Time lines3.4.1 Software Deliverables

    3.4.2 Project Schedule - Gantt chart

  • 8/22/2019 Major Synopsis android application

    16/25

    System Analysis

    4.1 System Specifications

    4.1.1 Functional Specifications

    The functional requirement specifies how the system behaves under certain condition. It

    describes an interface between system and environment.

    The functional requirements in our project are:

    The app is to be designed for all type of users for the places of indore city only.

    An intuitive graphical user interface is to be offered, that must be accessible through

    the mobile phone with installation.

    The app should show the current position on the map.

    4.1.2 Non Functional Specifications

    The nonfunctional requirements describe a restriction on the system that limits our choice for

    developing a solution to the problem.

    Usable App

    Reliable

    Efficient in finding places

    Location can be easily detected

    The project should be completed within one to two months of time.

    Video promos (if provided by the owner)

  • 8/22/2019 Major Synopsis android application

    17/25

    24 X 7 availability

    The cost involved in making the project should be less.

    It should be able to enhance its functionality time to time as required.

    4.2 Information Flow Representation

    Activity Diagram:

    home screen

    appears

    user types a place

    name in search bar

    clicks on

    search button

    list of item is

    display view address

    open app

  • 8/22/2019 Major Synopsis android application

    18/25

    clicks on call

    button

    calling get

    initated

    open app

    select option

    clicks message

    icon

    select option

    open app

    message activity

    displayed

  • 8/22/2019 Major Synopsis android application

    19/25

    website opens

    open app

    select option

    clicks on map

    icon

    map view get

    generated

    open app

    select option

  • 8/22/2019 Major Synopsis android application

    20/25

    Use Case Diagram:

    View DetailMake a call Send SMS

    Search for organization

    Visitor

    View mapView website

  • 8/22/2019 Major Synopsis android application

    21/25

    State chart Diagram:

    start

    Open

    application

    Splash screeen

    appears

    Searchplace

    Details

    Search

    successful

    Select option

    call.message

    perform

    operation

    Close app

    Access

    permission

    OS service

    interaction

    yes

    No

  • 8/22/2019 Major Synopsis android application

    22/25

    Sequence Diagram :

  • 8/22/2019 Major Synopsis android application

    23/25

    Collaboration Diagram:

  • 8/22/2019 Major Synopsis android application

    24/25

    Supplementary Section

    5.1 Need of Documentation in Software Engineering Practices

    Documentation is an important part of software engineering. Types of documentation

    include:

    1. Requirements - Statements that identify attributes capabilities, characteristics, or qualities

    of a system. This is the foundation for what shall be or has been implemented.

    2. Architecture/Design - Overview of software includes relations to an environment and

    construction principles to be used in design of software components.

    3. Technical - Documentation of code, algorithms, interfaces, and APIs.

    4. End User - Manuals for the end-user, system administrators and support staff.

    5. Marketing - How to market the product and analysis of the market demand.

    5.2 Individual Roles and Responsibilities in Software Development Team

    Provide project management and technical leadership for every aspect of software.

    Prepare lifecycle for different projects inclusive of research, development, design, evaluation,

    testing along with delivery to product management.

    Supervise architecture plus lead efforts to develop technical roadmap of all projects.

    Establish and stimulate software development standards and processes along with best

    practices for delivery of scalable and high quality software.

    Perform closely with Engineers, Developers and Product Management throughout

    organization to influence product development assisting or improving products.

    Develop relations with existing and prospective internal customers to interpret all individual

    requirements.

    Learn and display as how products would add value to respective business.

    Ensure top quality design reviews attaining business goals.

    Supervise resource allocation to assure attainment of apt business and personnel development

    goals.

    Involve in strategic plans to accomplish technical as well as business with leadership chain,

    team and with customers.

  • 8/22/2019 Major Synopsis android application

    25/25

    Manage and execute software development projects from beginning to finish.

    Evaluate projects, develop and update schedules plus supervise project status.

    Collaborate effectively with all team members as well as hold regular team meetings.