CHAP:1 INTROCTION TO PROJECT
1.1 PROJECT SUMMARY:
Project definition: HERITAGE OF INDIA - REMEMBER OLD ROYAL HIDDEN BEAUTY.
' People will get information about Heritage Properties through this application.
' This application will easy to use and understandable. From application any tourist can book Hotel and also book taxi for travelling. From this application all people get information about nearest hotels, railway station or bus stop or also they can find nearest famous places from any Heritage Properties.
' This application gives all information about Heritage Properties and also gives all about city or States or Country. In short, Tourist can get information from this application India's Hidden Heritage Beauty.
From this application the user can take information about the heritage properties. The user also can book the hotel or travel.
- The user can take information about heritage properties.
- The user can book hotel online from this application.
- The user can book travel online and get travelling easy.
- User has good benefit to save time and also money.
Technology and Literature Review:
Front end tools:
' ANDRIOD STUDIO
Back end tools:
JAVA: Java is a general purpose computer programming language.
Java is concurrent, class based, object orientation and specification designed to have as few implementation dependencies as possible.
technology applications are typically general-purpose programs that run on any machine where the Java runtime environment (JRE) is installed.
Java was designed with a concept of write once and run everywhere.
Java Virtual Machine plays the central role in this concept. It is a software that is implemented on top of real hardware and operating system.
Android software development is the process by which new applications are created for the Android operating system.
Applications are usually developed in Java programming language using the Android Software Development Kit (SDK), but other development environments are also available.
A software development kit that enables developers to create applications for the Android platform.
The Android SDK includes sample projects with source code, development tools, an emulator, and required libraries to build Android applications.
Android studio support for building Android wear applications.
SQLITE: SQLite is a relational database management system contained in C programming library.
SQLite is ACID compliant and implements most of the SQL Standard, using a dynamically and weekly typed SQL syntax that does not guarantee the domain integrity
It can be used on various operating systems, both 32 and 64 bit architectures.
It has bindings for many languages, including C++, Java, C#, Python, Perl, Ruby, Visual Basic, and Tcl. The source code of SQLite is in public domain.
JSON: Json is an open standard format that uses human readable text to transmit data object consisting of attribute value pairs.
Json is a language independent data format.
It derives from java scripts, but code to generate and parse json format data is available in many programming language
It is easy to understand and use
' It is alternative of XML
CHAP:2 PROJECT MANAGEMENT
2.1 PROJECT PLANNING AND SCHEDULING:
2.1.1 Project Development Approach:
Software Development Process Model:
In a software development effort, the goal is to produce high quality software. The development process is, therefore, the sequence of activities that will produce such software.
A software development process model specifies how these activities are organized in the entire software development effort. The purpose of specifying a development process model is to suggest an overall process for developing software.
A software process model is an abstract representation of a process. It presents a description of a process. When we describe and discuss processes, we usually talk about the activities in these processes such as specifying a data model, designing a user interface..
Types of Software Process Model:
' The Linear Sequential Model(Waterfall model)
' The V Model
' The Iterative Model
' The Prototyping Model
' The Rapid Application Development Model(RAD Model)
' The Spiral Model
' The Fourth Generation Model
' The WINWIN Spiral Model
' The Concurrent Development Model
' The Formal Method Model
' The Agile Software Model
' The Scrum Model
' The Test Driven model
THE SPIRAL MODEL:
The spiral model was first mentioned by Barry Boehm in his 1986paper. It is a combination of a waterfall model and iterative model. Each phase in spiral model begins with a design goal and ends with the client reviewing the progress.
The development team in Spiral-SDLC model starts with a small set of requirement and goes through each development phase for those set of requirements. The development team adds functionality for the additional requirement in every-increasing spirals until the application is ready for the production phase.
Spiral model is a combination of sequential and prototype model. This model is best used for large projects which involves continuous enhancements.
There are specific activities which are done in one iteration (spiral) where the output is a small prototype of the large software. The same activities are then repeated for all the spirals till the entire software is build.
The spiral model is similar to the incremental model. with more emphasis placed on risk analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation.
A spiral model has 4 phases described below:
1. Planning phase
2. Risk analysis phase
3. Engineering phase
4. Evaluation phase
1. Planning Phase:
Requirements are gathered during the planning phase. It includes estimating the cost, schedule and resources for the iteration. It also involves understanding the system requirements for continuous communication between the system analyst and the customer.
Requirements like 'BRS' that is 'Business Requirement Specifications' and 'SRS' that is 'System Requirement specifications'.
' This is where everything starts. Team members try to gather the product objectives, requirements alternatives in design, etc. In the subsequent spirals, all requirements are generated according to the customer's feedback. Thus, permanent communication between the customer and project management is crucial.
2. Risk Analysis Phase:
In the risk analysis phase, a process is undertaken to identify risk and alternate solutions. A prototype is produced at the end of the risk analysis phase. If any risk is found during the risk analysis then alternate solutions are suggested and implemented.
Risks are possible conditions and events that prevent development team from its goals. There's a wide range of them, from trivial to fatal. The primary task for the development team is to enumerate all the possible risks and prioritize them according to importance.
3. ENGINEERING PHASE:
In this phase software is developed, along with testing at the end of the phase. Hence in this phase the development and testing is done.
It includes testing, coding and deploying software at the customer site
During the first spiral, when the overall requirements are not so clear, so-called Proof Of Concept (POF) is created to get the customer's feedback.
Later, in subsequent spirals, working version of a product called build can be developed and sent to the client to get a new, more detailed, feedback. Such approach allows to achieve higher clarity on requirements.
4. EVALUATION PHASE:.
Customers evaluate the software and provide their feedback and approval.
Evaluation of software by the customer. Also, include identifying and monitoring risks such as schedule slippage and cost overrun.
This phase allows the customer to evaluate the output of the project to date before the project continues to the next spiral.
DIAGRAM OF SPIRAL MODEL:-
Advantages of Spiral Model:.
' Control towards all the phases of development.
' More and more features are added in a systematic way.
' Software is produced early.
' Has room for customer feedback and the changes are implemented faster.
' Best approach for testing and development for complex and large project.
' Cost effective.
' Better risk analysis and management.
' Better requirement analysis.
' Fast and easy development.
' Better time management.
' Easy to change requirements and documentation if any change happens in the middle of development.
Disadvantages of Spiral Model:-
' Risk analysis is important phase so requires expert people.
' Is not beneficial for smaller projects.
' Spiral may go infinitely
' Significant changes are expected
' Difficult to follow strategy for small projects.
' Not much useful for low risk projects.
' Need more experience resources as process is bit complex.
' Large documentation.
When to Use:-
' For large and big projects.
' For high risk projects.
' If requirements are more complicated.
' If frequent changes required in the project..
' Long-term project commitment unwise because of potential changes to economic priorities.
' Users are unsure of their needs.
' Requirements are complex.
' New product line.
' Significant changes are expected
2.1.2 Project Plan:
A plan is drawn up at the start of the project, should be used as the driver of the project. The project planning consists of:
' Selection of suitable software development process model which I have selected Incremental Model.
' Risk Management Plan, which involves the risk identification and risk assessments.
' Project Scheduling, which involves the tasks and duration required for performing tasks. This is described by task representation and the Timeline chart representation.
MILESTONE AND DELIVERABLES:
' Cost-saving benefits.
' Improve service level benefits.
' Improve information level benefits.
' Time saving benefits.
2.2 Risk Management:
Risk management is the identification, assessment, and prioritization of risks followed by coordinated and economical application of resources to minimize, monitor, and control the probability and/or impact of unfortunate events or to maximize the realization of opportunities. Risk management's objective is to assure uncertainty does not deflect the endeavour from the business goals.
Risks can come from various sources including uncertainty in financial markets, threats from project failures, legal liabilities, credit risk, accidents, nature causes and disasters. deliberate attack from an adversary, or events of uncertain or unpredictable root-cause.
Risk Management comprises of following processes:
1. Software Risk Identification
2. Software Risk Analysis
3. Software Risk Planning
4. Software Risk Monitoring
The process of risk identification involves following steps:
' Identification of risk in a selected domain of interest.
' Planning the remainder of the process.
' Defining a framework for the activity and an agenda for identification.
' Developing an analysis of risks involved in the process.
' Mitigation of risks using available technological, human and organizational resources
2.2.1 Risk Identification:
Risk identification is the process of determining risks that could potentially prevent the program, enterprise, or investment from achieving its objectives. It includes documenting and communicating the concern.
The objective of risk identification is to identify all possible risks, not to eliminate risks from consideration or to develop solutions for mitigating risks'those functions are carried out during the risk assessment and risk mitigation steps.
Project Risk identification is the most important process in the Risk Management Planning. Risk Identification determines which risks might affect the project and documents their characteristics.
As the program progresses, more information will be gained about the program and the risk statement will be adjusted to reflect the current understanding. New risks will be identified as the project progresses through the life cycle.
2.2.2 Risk Analysis:
The most important step we took to evaluate our e-commerce plan was to have a close, realistic, even pessimistic view of it. Our project team thoroughly evaluated the project plan and pointed out the places where disaster was most likely to fall and compiled the list -end up with your very own risk list. We knew where the pitfalls arose and realized it while making the risk list
Assess probability and seriousness of each risk. Probability may be very low, low, moderate, high or very high. Risk consequences might be catastrophic, serious, tolerable or insignificant
The impact of change request is analyzed in terms of schedule, cost and required efforts. Overall impact of the prospective change on system is analyzed.
Three different areas of risk are analyzed: environmental, agile, and plan-driven. Each of these areas is now defined.
' Environmental risks
' Agile risks ' risks that are specific to the use of agile methods. Some of these are issues related to the ability of agile methods to scale to larger teams and projects and to handle the reliability needs of critical projects. Additionally, there are agile risks associated with not thoroughly documenting prior to coding, with the potential of personnel turnover/churn, and with having enough skilled people
. ' Plan-driven risks ' risks that are specific to the use of plan-driven methods. Some of these issue relate to the ability of plan-driven methods to handle rapid technology and/or requirements change, the need to deliver rapid results, and/or having enough team members skilled in plan-driven methods.
If not enough information is known about any of these risks, some resources can be spent to obtain some information about the project's aspects until the team feels more confident about the project risks..
2.2.3 Risk Planning:
There are four basic ways to handle a risk.
1. Avoid: The best thing you can do with a risk is avoid it. If you can prevent it from happening, it definitely won't hurt your project. The easiest way to avoid this risk is to walk away from the cliff, but that may not be an option on this project.
2. Mitigate: If you can't avoid the risk, you can mitigate it. This means taking some sort of action that will cause it to do as little damage to your project as possible.
3. Transfer: One effective way to deal with a risk is to pay someone else to accept it for you. The most common way to do this is to buy insurance.
4. Accept: When you can't avoid, mitigate, or transfer a risk, then you have to accept it. But even when you accept a risk, at least you've looked at the alternatives and you know what will happen if it occurs.
2.2.4 Risk Mitigation:
Risk mitigation is defined as taking steps to reduce adverse effects. There are four types of risk mitigation strategies that hold unique to Business Continuity and Disaster Recovery. It's important to develop a strategy that closely relates to and matches your company's profile.
Risk mitigation planning is the process of developing options and actions to enhance opportunities and reduce threats to project objectives . Risk mitigation implementation is the process of executing risk mitigation actions.
Risk management includes front-end planning of how major risks will be mitigated and managed once identified.
Therefore, risk mitigation strategies and specific action plans should be incorporated in the project execution plan, or risk analyses are just so much wallpaper.
Risk Management methodologies address the entire life cycle of software acquisition, development, and maintenance.
The premise that the ultimate efficacy of the developed methodologies and tools for software engineering is to buy smarter, manage more effectively, identify opportunities for continuous improvement, use available information and databases more efficiently, improve industry, raise the community's playing field, and review and evaluate progress.
Criteria are of risk management in this project:
The analysis and design phase are quite effective. The user can run any function at any time without any failure. We have used the latest technology and more reliable technological framework so called Android Studio.
The Efficiency of the proposed application is quite reliable. User can perform any type of query related for searching the various facilities in web inventory management system. User will find the application very user-friendly and self-guided.
The login name & password are quite secure and much confidential.
The user input process and the output process are quite perfect i.e. the user gets what he queries. The application is quite secure from hacking and prevents itself from poor authority granting procedure.
We ensure that each and every information is quite perfect and reliable. So user can trust on them.
2.3.1 Effort Estimation:
Effort estimation is the process of predicting the most realistic amount of effort required to develop or maintain software based on incomplete, uncertain and noisy input. Effort estimates may be used as input to project plans, iteration plans, budgets, investment analyses, pricing processes and bidding rounds.
Effort estimation consists in predict how many hours of work and how many workers are needed to develop a project. The effort invested in a software project is probably one of the most important and most analyzed variables in recent years in the process of project management.
Some works in the field have built up models (through equations) according to the size, which is the factor that affects the cost (effort) of the project, the most. The equation that relates size and effort can be adjusted due to different environmental factors such as productivity, tools, complexity of the product and other ones. The equations are usually adjusted by the analyst to fit the real data.
2.3.2 Cost Analysis:
The Business model followed here to develop the application aims at cost effective budget.The cost effectiveness of the application was the important factor which had to take care of throughout the application development. The cost of my project will be around 8000 Rs.
The objective of project planning is to provide a framework that enables the manager to make reasonable estimates of resources, cost and schedule.
' Identify objectives
' Determine information Requirements
' Analyze System Needs
Milestones are tools used in project management to mark specific points along a project timeline. These points may signal anchors such as a project start and end date, a need for external review or input and budget checks, among others. In many instances, milestones do not impact project duration. Instead, they focus on major progress points that must be reached to achieve success.
A milestone is a specific point in time within a project lifecycle used to measure the progress of a project toward its ultimate goal.
In project management, milestones are used as signal posts for: a project's start or end date, a need for external review or input, a need for budget checks, submission of a major deliverable, and much more. Milestones have a fixed date but no duration.
2.3.4 Project Schedule :-
. Tracking can be accomplished in number of different ways:
' Conducting periodic project status meeting in which each team member report progress and problems.
' Evaluating the result of all reviews conducted throughout the software engineering process.
' Determining whether formal project milestones have been accomplished by the scheduled rate.
' Comparing actual start date for each project task listed in the resource table.
Control is employed by a software project manager to administrator project resource, cope with problems, and direct project staff. If things are going well, control is light.
CHAP:3 SYSTEM REQUIIREMENT STUDY
3.1: HARDWARE AND SOFTWARE REQUIREMENTS:
Minimum Hardware Configuration::-
' RAM : 4GB or more
' Monitor resolution of 1024 * 768 or higher.
' Processor : Intel CORE i3
' 1 GB available hard disk.
Keyboard and Mouse for data input.
Minimum Software Configuration::-
' Android SDK tools 23.0.3
' Operating system windows xp or above
' Front end Android 2.2.1
' Back end JAVA
' Java Runtime Environment 1.6
' Integrated development environment: Android Studio
...(download the rest of the essay above)