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