Android Development
Android Development
Summary...............................................................................................................................11
Scope......................................................................................................................................11
Objectives..............................................................................................................................12
5. Development Technology................................................................................................14
9. Security.............................................................................................................................15
User requirement.................................................................................................................20
Risk management:.......................................................................................................................21
Importance of risk management in completion of business related application:..................21
Areas of risk related to the successful completion of my application.....................................23
1) Identifying Risks........................................................................................................23
2) Prioritizing Risks.......................................................................................................24
2. Scrum method...............................................................................................................29
3. Crystal method..............................................................................................................29
7: Document..........................................................................................................................43
Integration testing:...............................................................................................................82
Conclusion....................................................................................................................................84
References:...................................................................................................................................85
Part 1 (LO1, LO2)
Explore a business- related problem and produce a well- defined Problem definition
Statement supported by a set of user and system requirements.
Determine any areas of risk related to the successful completion of your application.
Research the use of software development tools and techniques and identify any that
have been selected for the development of this application.
Compare the differences between the various software development tools and
techniques researched and justify your preferred selection as well as your preferred
software development methodology.
Justify the tools and techniques chosen to realize a custom-built website. Justify
your preferred selection of tools and techniques in deducing an appropriate solution
to a business-related problem
Submitted By:
Submitted To:
Prabin bhusal
Rahul kumar
-ISMT student
Submitted Date:
27th December, 2019
Introduction
Before developing application for inventory management, we should have to clear about
different things like: for which company we are providing the application. We should be clear
about the background of the business. Why we are doing this and how they are working, what
problem we have to face on the time of business start and after business running. By getting all
the information related to the business I have generate this report.
Table of content:
Summary
In this report I will be demonstrating about the starting of online business. Getting all the
information from different methodologies like survey, interview, online polls etc on how we can
do business, what problem can arise before the start of the business and in the middle of the
project. Getting more on it I will provide some solution for the problem and also some risk
management technique on starting of the business. On this report I will be discussed on how the
project will be going on verifying the system requirement, cost, time, coding and
implementation. I will also discuss on tools and techniques for the development of the project
comparing with rest of the methodologies choosing better one.
Scope
Providing better ideas on the business needs their problem along with project requirement
regarding different tools and techniques for the app development.
The main aim of the report is to provide the junior developer better techniques for the
development of the project as well as providing knowledge about how to get start the business.
Objectives
- Identifying the major problems and their solution that can hamper the business
- Getting idea on system requirement as well as cost and time estimation for development of
any project
- Discussed on tools and techniques that need to be done for software development comparing
with rest of the tools
Before starting of the project, I have detailed about the online business, get the core idea on how
we should do our online business. For successful run of the online shopping business we may
have to encounter with the number of problems which I will demonstrate in detailed below.
Some problem related to business:
We never like to rely on one source to fuel our analyses of the problems facing business today,
so we’ve integrated our own interviews with corporate CEOs along with other
inputs, research and thinking to create this list of the top 10 problems for businesses to solve.
(Lean Methods Group, 2019)
One of the initial biggest challenges is deciding which direction to take and to figure out exactly
what to develop. There is a great deal of competition in the already very crowded mobile app
industry and it is getting tougher for an app to stand out and get noticed. App developers are
under constant pressure to create innovative apps that people actually want and get something
out of. (Bit Mascot, 2020)
Determining the quality of an idea means asking some of the following questions –
What purpose does the app serve and what is its function?
Is the idea original and will it stand out?
Is the app easy for other developers to emulate?
What is the target market or market size for the app?
What is the price of the app?
Coming up with an idea that is simple, productive and in demand can sound easy, but this is
rarely the case.
As mentioned earlier, competition is fierce, with hundreds of thousands of mobile apps trying to
stand out from the crowd. Catering to users that have shorter attention spans than ever before
only makes things more tricky. App developers need to figure out what are the triggers for their
target market and what they want. App developers must understand what appeals their highest
lifetime value (CLV) users – that is, those who are more likely to spend and spread the word
about your product with their friends and family. App developers need to delve deeper to figure
out how they can keep users more engaged for longer. (Bit Mascot, 2020)
You may have a killer app idea, but to turn that idea into something real and marketable,
significant capital is required. Developing an app is an expensive affair as the cost of
development can be anywhere from $3,000 to $150,000, depending on the nature of the app.
How to get the money and manage the finances can be a problem for some developers. If one
cannot find the right investors to invest in an app idea, there are several other ways to raise
funds. Some of these include taking out a loan, angel investors from family or friends, and joint
venture companies, all of which can be effective. (Bit Mascot, 2020)
5. Development Technology
The obvious and core technical challenge of developing an app is choosing the best suitable
development technology for the app and deciding on whether to make a Native, Hybrid or Cross
platform mobile application. A bit of research reveals that there are hundreds of articles online
that compare the three mobile app development technologies by pitting them against each other.
One can easily gain a good understanding of the respective advantages and disadvantages offered
by each of the platforms But choosing the one that make the most sense for a given project can
be difficult, as app developers often look for a one-size-fits-all solution.
Another challenge for app developers is to deal with all the different screen sizes and devices
that the app will need to fit. Designing and developing an app for only a select few devices and
screen sizes is simply not an option. The principal challenge is to develop an app that can run
fluidly across as many devices with as many screen sizes as possible. (Bit Mascot, 2020)
However, it is not with just the devices and screen sizes that can cause issues. Developers have
to consider different Operating Systems as well. The three main systems – iOS, Android and
Windows – each of which has its respective set of UI objects and patterns. App developers
require to conduct bug fixing on a regular basis across all three. Preparation with a marked
testing phase is recommended to deal with technical OS issues. Developers can also release a
beta version of the app to develop on later with regular updates. (Bit Mascot, 2020)
Organic App Discovery – How to make the app discoverable in app store
User Acquisition – How to make users install the app
Retention – How to keep users engaged in the app
Monetization – Whether to implement purchase-app-once or freemium model or in-app
purchase or in-app advertising
Someone may develop a quality app with great UI, graphics and functionality, but if they can’t
get the right users to find the app, they aren’t going to get the returns. (Bit Mascot, 2020)
9. Security
Security issues can be a nagging concern for mobile developers. Malware problems may arise
and software/hardware fragmentation only adds to the list of woes. There is a lot of work
required to address such app security issues, which consumes a great deal of time and money.
For example, Apple provides developers with strict guidelines for iOS app development, but
unfortunately no such instructions are officially available for Android apps. Unless proper
security measures are complied, the lapse in security can lead to information misuse and
manipulation, poor user experience, and scarce app adoption. (Bit Mascot, 2020)
There are multiple ways in which mobile apps can improve customer services. You can
manage Social Media more effectively to communicate with your customer. You can connect
with customers when you have any update on the product offering or company update you can
provide push notifications. Apps help you troubleshoot customer request via support ticket. You
customer can generate a support ticket on mobile app regarding your product or services. With
the mobile app , you’ll be able to provide better care and value to your customers. (Mobile,
WordPress & Web App Development Company - AlphansoTech, 2020)
Mobile Apps provide agility to the business. Overall business efficiency can be improved by
streamlining organization communication, managing workflow, internal issue resolve, faster
customer response and much more. Before making the mobile app you need to have the right
strategy in mind so that it can be developed with the purpose that to improve business process.
(Mobile, WordPress & Web App Development Company - AlphansoTech, 2020)
Mobile apps serves as a new marketing and promotion channel for your business. Apps provide
more information on new products launches, any new/ upcoming offer via push notifications in
the apps. You can easily update customers about new happening the company/ industry ,
new/emerging trends and much more. This way you can run a promotion on the mobile app.
(Mobile, WordPress & Web App Development Company - AlphansoTech, 2020)
Mobile apps help you to build a brand. Brand building exercise helps you to become a well
known among the potential customers and partners. It also helps to create a unique brand identity
about your company in the customer’s mind. You need to focus on creating an app that your
customers can find useful and interesting. It is important to make an app that customers would
like to use again and again and keep interacting with it on a regular basis.
From offer updates , content downloads, to generate support request mobile apps can help you
achieve greater engagement with your customer. The mobile first approach helps you to drive
customer engagement and improve overall customer satisfaction rate. It also helps you to
generate brand recall to customer’s mind.
6. Critical Task Management
In small business or startups, employees have to wear multiple hats. With all that going on every
day, they are bound to miss the deadline or may forget important task to execute. Mobile Apps
can help your organization to improve task management and time management of the employees.
To boost the productivity we need to perform and manage the task in an effective way.
7. Connect on the Go
With many businesses work offline, mobile app provides easy communication between teams
and customers. The customer can easily reach you through the app to generate a support ticket.
There are a variety of ways to leverage mobile app development. You can store the files and
other important electronic document on the cloud, that can be accessed from any device. By
using apps to improve the agility and mobility will help you to boost productive the employees.
(Mobile, WordPress & Web App Development Company - AlphansoTech, 2020)
For the app development of the inventory management I will be using android studio
authenticating through Firebase in real time database. Getting all the idea of the user I have
deployed this table as the client requirement that need to be fulfill.
System requirement
Item Requirement
Hardware - Memory of 4 GB RAM or more
User requirement
Requirement Points
Sales Should be able to create customer sales, storing it through
TPIN number generating the transaction record including tax
Inventory Should be able to add, edit and delete product
management
Administration Should be able to add, edit and delete user for the inventory
management
Reporting Able to generate daily and monthly sales report, along with
employee sales report
I have tabulated user and system requirement in the above table. So, in this section I will be
discussing on the background of development cycle of application. For the development we
follow many methodologies like agile, spiral, waterfall model etc. all the methodologies can be
use according to the size and time of the development of application. But for the development of
the inventory management I will be using spiral methodologies.
Risk management: Risk management is a planned and a structured process aimed at helping the
project team make the right decision at the right time to identify, classify, quantify the risks and
then to manage and control them. The aim is to ensure the best value for the project in terms of
cost, time and quality by balancing the input to manage the risks with the benefits from such act.
It is just a cost benefit analysis.
Risk management is a continuous process which is to be implemented in any project from
inception to completion. However, in order to realise its full potential, risk management should
be implemented at the earliest stage of a project, i.e. feasibility design and construction. Risk is
an uncertain event or condition that, if occurs, has a positive or negative effect on a project’s
objectives. Components of risk are the probability of the occurrence of an event and the impact
of the occurrence of that event. There are many sources of uncertainty in construction projects,
which include the performance of construction parties, resources availability, contractual
relations, etc. because of which, construction projects face problems that cause delay in the
project completion time. Success of a project is measured by its ability to get completed within
the budgeted cost and time. These goals are interrelated where each parameter has an impact
when other parameters get affected. An accurate cost estimating and scheduling should be
performed in order to meet the overall budget and time deadline of a project. As such, risk
management becomes an integral part of construction management which intends to identify and
manage potential and unforeseen risks during the period of implementation of the project; hence,
the necessity of risk management.
1) Identifying Risks
A strong risk identification process is important to the successful completion of the critical
success factors. This is particularly true for large or inherently risky projects, like nuclear power
plants. But if it’s beneficial for large projects, an appropriately sized risk planning process will
benefit small projects too. A Risk Management Plan is prepared which includes items such as:
(Bernie Roseke, 2020)
Risk Register
Risk Breakdown Structure
Risk Analysis
The risk register is the itemized listing of most important risks and it becomes the cornerstone of
the Risk Management Plan. It requires careful consideration of the project risks and what could
affect the project’s critical success factors. Here are a few ideas to ensure that each risk is
identified:
1. Use a Risk Breakdown Structure. Dividing risks into categories is intuitive and allows
for better organization. Since many risks are unrelated to each other (the wrong chemical is
delivered vs. the forklift operator quits), the systematic categorization of risks helps to
ensure strong identification. (Bernie Roseke, 2020)
2. Develop a checklist. Every business is different, and you are best suited to develop a
checklist for yours. That being said, we have developed a generic one.
3. Look at Assumptions. Every project operates under a set of assumptions. The business
climate, client willingness, customer attitudes, etc. which, together, result in the creation of
the project. What are the assumptions, and what happens if they change mid-project?
4. Previous Project Experience. Many project based organizations have similar projects in
their past history. What types of issues did they experience? On a related note, if there is
no lessons learned database within the organization, maybe it’s time to start one.
5. Expert judgment. Although I left this one for last, it can’t be understated. A subject
matter expert will be able to identify most of the risks and know what to do about them.
Obviously, it is not possible to list all project risks. Although you should endeavor to identify
the most important ones, you cannot predict everything and your stakeholders do not expect you
to. Sometimes the project manager must react to unexpected events during the execution of a
project – this cannot be eliminated. But I can assure you the stakeholders of your project will
appreciate the time and effort given to the identification of risks. (Bernie Roseke, 2020)
On the other hand, you can go overboard and list too many risks. This is easy to do once you get
going and start brainstorming about airplanes crashing into your office. I suggest that you should
stick to risks that have a 5-10% (1 in 20-ish) chance of happening. If it’s lower than that, you
might have too big of a list.
2) Prioritizing Risks
Identifying risks to a project’s success is a great first step that would benefit most projects that
I’ve seen. But to create a strong risk management plan, those risks must be analyzed and
prioritized to determine which require the project manager’s time and attention, how often, and
what resources are required. Stakeholders can be pretty sensitive to issues the project manager
considers minor. Some stakeholders seem to demand excessive communication requirements.
Prioritizing risks ensures that stakeholders recognize the importance placed on their areas of
concern which goes a long ways toward placating them. (Bernie Roseke, 2020)
Each of these factors should be prioritized. The scale is not important, but it is often 1-
10, low-medium-high, or a similar scale.
If your risk register is a table with the risks listed vertically (in rows), you would add two
columns labelled probability and impact. Each risk gets a ranking of 1-10, or whatever
scale you choose.
After the initial ranking, an overall prioritization is often helpful to stakeholders. You
would multiply the probability and impact to get a risk level, and then sort the table from
highest to lowest. Clearly you will be able to see which risks to focus your attention on.
Even better, the risk register, together with its prioritizations, can be shared with
stakeholders which will put each of their issues into perspective, keeping the stakeholders
in line when problems arise.
After a risk event occurs, it becomes an issue. Issues require a response from the project
manager or some other project member.
In order to quickly and decisively know when a risk becomes an issue, each risk should
have an identifying risk trigger. This is an important part of risk analysis and it allows
for effective monitoring to quickly recognize when a risk has occurred and take
mitigative action.
Throughout the project, risks change in importance. Many will become obsolete at
various stages of the project. Because of this, the risk register is an evolving document.
It must be monitored and updated on a regular basis.
Identifying risk triggers allows you to make sure you are looking for the right factors
which, if they occur at any regular monitoring/control point, allow you to change a risk’s
status to an issue and take the appropriate action.
Taking early action is often one of the easiest way to mitigate an issue. Quick action by
the project manager or a team member is one of the best remedies to mitigate the outfall
of a risk event. It gives the affected stakeholder an impression of being on top of the
issue and establishes the project manager as a strong leader.
Impac
Risk Probability Priority Trigger Response Plan
t
The final piece of information that completes the risk register is a risk response plan. Now that
you’ve identified the triggers that allow you to quickly identify when a risk has occurred (or is
occurring), the response plan gives you a head start in the response. Some responses occur at the
beginning of the project (when the risk planning process is taking place) and others occur when
the risk event occurs. Still other occur at any applicable time during the project.
They must contain an appropriate level of detail. For major risks a good action plan is necessary
in advance and could warrant its own write up. For medium risks a small action plan could be
placed within the risk register, and for small risks there could be no action plan at all. It isn’t a
necessity for all risks, but it is important to have one for the most important ones. (Bernie
Roseke, 2020)
1. Avoid. Eliminate the threat. For example, change the scope of the project, spin off a
certain business unit, or change the objectives that the risk event is threatening.
2. Transfer. Off-load the risk to a third party. For example, buy insurance, issue a
performance bond, or change the contract from a lump sum to a unit price (or vice versa).
3. Mitigate. Reduce the probability or impact of the risk event. For example, cover the
project area to prevent work stoppages due to inclement weather, or purchase materials in
advance to ensure they can be returned without threatening the project completion date.
4. Accept. Sometimes there is no other alternative than to proceed with the project and
accept the risk. But producing documentation, holding meetings, and communicating the
risk with stakeholders can go a long ways toward minimizing the damage.
1. Agile method
Agile model is the combined model representing the iterative and traditional incremental
process with the focus on process availability and rapid delivery of the product. In agile
model, the tasks or requirements are divided into small time frames to deliver specific
features. Using the iterative approach, a working software is developed and therefore,
builds are created by increasing the features in those iterations. Finally, a complete
software is developed that holds the complete feature as required for the scenario. In
order to develop the Walmart shopping mall application, agile method is used.
2. Scrum method
Scrum method was designed as an additional layer to the agile model to improve the
productivity when the project is halted. The key features of scrum methodology includes:
creation of a living backlog of work with sprints priority, a daily meeting for project
discussion, planning sessions for next and pervious sprints.
3. Crystal method
The crystal method is an agile software development approach with primarily focus on
the people and their interaction while developing the project rather than the processes and
tools. Since, the developer’s skills and talents are significantly improved with better
communication in the project, crystal method streamlines work processes as a more
optimized team.
Hence, the software development tools and mechanisms hold and important role for application
development. In our scenario, we need an application with multiple features and can be used in
multiple platforms in such situation, use of such components for effective project development is
a must.
tools and techniques chosen to realize a custom built website
Overview of Android Studio IDE for android app development with Firebase database To get
start with developing an application for the business I have use android studio which I will be
demonstrating down below in the table:
First of all, we
have to open the
android studio
and choose
Empty activity as
shown in the
beside screenshot
Then we have to
give name for the
project with first
capital letter
Then it opens the
interface as
shown behind
Backend programming of using Firebase authentication with real time database helps to store the
data that user inserts in the application. To get start with firebase I will represent the following
table:
To get start with
firebase first we
have to enable
firebase in our
android studio as
shown in the
behind
screenshot
After that we can
find assistant
from where we
have to add
database to our
project for that
we have to add
our google
account as
shown beside
Then we have to
add our
authentication
and real-time
database to our
project with their
dependencies
and class path as
shown in behind
After adding
database to the
project, we can
see it in google
console
Then clicking on
the database
name, we can
authenticate and
see database
Conclusion
Now, I can conclude that the business problem should be solved for better development of the
business, for which I will develop an online app that manage the inventory of the shopping mall
following agile methodologies for the app development detailing the possible risk of the app
development in the market making on mind all the user and system requirement are fulfilled.
Part 2 (LO3)
Produce Presentation slides and show plan and produce a functional business application
with support documentation:
Evaluate any new insights, ideas or potential improvements to your system and
justify the reasons why you have chosen to include (or not to include) them as part
of this business application.
Introduction
Relating to the scenario I have to develop an online android app that manage the inventory
system of the shopping mall. In the above task I have demonstrate the problem that can affect
the online business now in this task I will be demonstrating the problem related to the business
application that is online inventory management of the shopping mall.
The end user experience (EUE) is becoming so important that many shops are already expanding
the responsibilities of application developers to include active testing for how end users
experience the application. This work is being done as part of application unit testing. Moving
some elements of QA into the application developer's bailiwick gives them a more holistic view
of what their applications should deliver to the end business. (TechRepublic, 2020)
Testing an application within your own IT environment doesn't guarantee that an end user using
it in a different geographical area over Internet will get the same results. In some areas, Internet
traffic is slow, producing an unsatisfactory user experience with an application. Internet testing
tool providers can help you identify communications weak spots outside the enterprise so you
can understand and mitigate these vulnerabilities.
5: Stick with vendor best practices
Most hardware and software providers have presets in their products that optimize performance.
There are also overrides to these default best practices that advanced users can activate. The
recommendation is that application developers (unless they are highly experienced) stick with
the presets on the software and hardware that their apps use. By doing so, they can avoid
unforeseen performance issues that could arise when they move away from standard app
development and performance practices on the platforms they are developing on.
If you are using a code generator for part or all of your app development and you need to
customize code in certain areas of an app, strive to effect this customization within the
customization "windows" that your code generator provides. This assures that the code you
produce will continue to be supported by the code generator vendor. It also makes the tasks of
later enhancing or maintaining the code less complex, because the customization is within the
vendor's guidelines and best practices.
7: Document
With many businesses now using BYOD (Bring Your Own Device) policies, it is imperative for
corporate IT to standardize the list of mobile devices that employees can use within the
enterprise. Nowhere is this standardization more important than in the development of
applications for mobile devices. You simply can't code for them all. By standardizing devices
and device configurations, you set the targets for your app development and can ensure better
results.
Many IT departments continue to treat their help desks as spots for rookie IT'ers. Help desks are
viewed as necessary evils that take people away from app development. But when IT takes a
more engaging approach toward the help desk, help desk experience can enhance application
development. The help desk is a rich source of information on apps, such as which ones get the
most trouble calls and which ones seldom get calls. If application developers analyze these help
desk reports, they will likely uncover app design and coding pitfalls that can be avoided in the
future. The end result is greater end user satisfaction and fewer trouble reports. (TechRepublic,
2020)
IT regularly assesses hardware utilization (e.g., only 20 percent of a particular server is being
used on a daily basis). It should extend this utilization analysis to applications. Some years ago, I
was working on a dairy ration app with a system engineer. We discovered that only 20 percent of
the app was being used by users -- and that the other 80 percent of the app (the richest part!) was
not being used at all. The problem was that the user interface into the more robust part of the app
was too difficult for users to navigate, so they avoided it altogether. As a result, the company was
losing a valuable competitive edge. If IT assessed its apps like it does its hardware, it could gain
valuable insights into how to build and improve apps for a maximum return on effort.
(TechRepublic, 2020)
UML diagram
The Unified Modeling Language (UML) is a diagramming notation (language) that lets you
visualize systems and software. It’s one of the most popular forms of diagramming in software
development and became an ISO standard in 1997. Since then, there have been a few updates to
add extra UML diagram types and to support new technologies in programming.
Diagrams are easier and faster to understand than text, so they are more appropriate to document
systems than comments in millions of lines of code, although these are also important! They help
you and your companies in many situations, like when you …(SearchDataManagement, 2020)
And of course, when you want to develop something new – you will find many problems
beforehand in your UML diagrams that could become showstoppers during development or
quality testing.
There are two main categories and 14 different types of UML diagrams, each of which is used in
a different situation. (SearchDataManagement, 2020)
Structure diagrams: show the static relationships between the components in the
system.
Behavior diagrams: show how the components in the system react to each other, they
capture how the system changes, and in some diagrams, how it changes over time.
Uml diagram for shopping apps
Activity diagram
An activity diagram is represented by shapes that are connected by arrows. Arrows run from
activity start to completion and represent the sequential order of performed activities. Black
circles represent an initial workflow state. A circled black circle indicates an end state. Rounded
rectangles represent performed actions, which are described by text inside each rectangle. A
diamond shape is used to represent a decision, which is a key activity diagram concept. Upon
activity completion, a transition (or set of sequential activities) must be selected from a set of
alternative transitions for all use cases. (SearchDataManagement, 2020)
The purpose of use case diagram is to capture the dynamic aspect of a system. However, this
definition is too generic to describe the purpose, as other four diagrams (activity, sequence,
collaboration, and Statechart) also have the same purpose. We will look into some specific
purpose, which will distinguish it from other four diagrams.
Use case diagrams are used to gather the requirements of a system including internal and
external influences. These requirements are mostly design requirements. Hence, when a system
is analyzed to gather its functionalities, use cases are prepared and actors are identified.
When the initial task is complete, use case diagrams are modelled to present the outside view.
Entity relationship diagrams provide a visual starting point for database design that can also be
used to help determine information system requirements throughout an organization. After
a relational database is rolled out, an ERD can still serve as a reference point, should any
debugging or business process re-engineering be needed later.
However, while an ERD can be useful for organizing data that can be represented by a relational
structure, it can't sufficiently represent semi-structured or unstructured data. It's also unlikely to
be helpful on its own in integrating data into a pre-existing information system.
A conceptual data model, which lacks specific detail but provides an overview of the
scope of the project and how data setsrelate to one another.
A logical data model, which is more detailed than a conceptual data model, illustrating
specific attributesand relationships among data points. While a conceptual data model does
not need to be designed before a logical data model, a physical data model is based on a
logical data model.
A physical data model, which provides the blueprint for a physical manifestation -- such
as a relational database -- of the logical data model. One or more physical data models can be
developed based on a logical data model.
There are five basic components of an entity relationship diagram. Similar components will be
designated by the same shape. For example, all entities types might be enclosed in a rectangle,
while all attributes are enclosed in a diamond. The components include:
Entities, which are objects or concepts that can have data stored about them. Entities refer
to tables used in databases.
Connecting lines
For example, an ERD representing the information system for a company's sales department
might start with graphical representations of entities such as the sales representative, the
customer, the customer's address, the customer's order, the product and the warehouse. (See
diagram above.) Then lines or other symbols can be used to represent the relationship between
entities, and text can be used to label the relationships.
Functional business application based on a specific Software Design Document with
supportive evidence of using the preferred tools, techniques and methodologies.
Documentation of Application development
I have stated the problem of the business application which we have to keep in mind while
development the application and provide some solution for that now I will document my
application development procedure below with the code and screenshot of the design.
Tools Methodologies
Development Android studio
platform
After the completion of the design part we have to make a back-end programming for that I have
use java programming language using firebase real time database
The java file of the project can be find at the left corner under the extension of java folder as
shown below screenshot:
Now respective operation on respective table with add, delete and update operation.
The user email [email protected] is created in the database. now login from same
Gmail account
I have
login
using
same
gmail
account
now I
can enter
into the
dashboar
d for
managin
g the
invntory
of
shopping
mall
As soon the user add product it can be seen in the real time database in firebase:
Add product to database table code from java
Report tracking product id, customer ID etc from database and generating it
Conclusion
As per the requirement of the task I have provide the business-related problem with the solution
for the business application that reduce the performance of the application. After that I have to
define the development strategy of the application that I will be designing for the inventory
management providing the documentation of the application I have develop. Hence, I can
conclude that I have completed my task as per the task assigned.
Part 3 (LO4)
Review the performance of your business application against the Problem Definition
Statement and initial requirements.
Analyze the factors that influence the performance of a business application and use
them to undertake a critical review of the design, development and testing stages of
your application. Conclude your review by reflectively discussing your previously
identified risks.
Critically evaluate the strengths and weaknesses of your business application and
fully justify opportunities for improvement and further development.
Introduction
In the previous task I have deploy the application with the screenshot of the application along
with the code so now I have to test the application providing the description on how to use the
application. Getting more on it I have to produce the strength and weakness of the application
improvising on how we can improve the performance of the application.
Application Testing: Application Testing is such an activity that is performed frequently by
almost every software tester in his career. These two words are extremely broad in practical
aspects. However, only the core and most important areas will be discussed here. The purpose of
this article is to touch all the primary areas so that the readers will get all the basic briefing at a
single place. (Usersnap.com, 2020)
Application Testing Tools
There are a lot of Application testing tools available in the market today. These include both paid
and open-source tools. Moreover, some tools are purpose-specific.
For Example, UI testing, Functional Testing, DB Testing, Load Testing, Performance, Security
Testing, and Link validation testing, etc. However, some tools are strong enough to provide the
facility for testing several major aspects of an application.
The most important concept in ‘Application Testing' is functional testing. So, our focus will be
on functional testing tools.
Here is the list of some most important and fundamental features that are provided by almost all
of the ‘Functional Testing' tools. (Usersnap.com, 2020)
Unit tests are also great for preventing regressions – bugs that occur repeatedly. Many times
there’s been a particularly troublesome piece of code which just keeps breaking no matter how
many times I fix it. By adding unit tests to check for those specific bugs, you can easily prevent
situations like that. You can also use integration tests or functional tests for regression testing,
but unit tests are much more useful because they are very specific, which makes it easy to
pinpoint and then fix the problem. When should you use unit testing? Ideally all the time, by
applying test-driven development. A good set of unit tests do not only prevent bugs, but also
improve your code design, and make sure you can later refactor your code without everything
completely breaking apart. (Usersnap.com, 2020)
database empty
In the behind screenshot email is
not submitted over the form so
that user cannot be created for
database
Integration testing:
As the name suggests, in integration testing the idea is to test how parts of the system work
together – the integration of the parts. Integration tests are similar to unit tests, but there’s one
big difference: while unit tests are isolated from other components, integration tests are not. For
example, a unit test for database access code would not talk to a real database, but an integration
test would. Integration testing is mainly useful for situations where unit testing is not enough.
Sometimes you need to have tests to verify that two separate systems – like a database and your
app – work together correctly, and that calls for an integration test. As a result, when validating
integration test results, you could for example validate a database related test by querying the
database to check the database state is correct.
Integration tests are often slower than unit tests because of the added complexity. They also
might need some set up or configuration, such as the setting up of a test database. This makes
writing and maintaining them harder than unit tests, so you should focus on unit tests unless you
absolutely need an integration test.You should have fewer integration tests than unit tests. You
should mainly use them if you need to test two separate systems together, or if a piece of code is
too complex to unit test. But in the latter case, I would recommend fixing the code so it’s easy to
unit test instead.
Integration tests can usually be written with the same tools as unit tests. (Usersnap.com, 2020)
test output
ed
Login Usernam The Test is
credenti e and successf
value
al password ul
should
match
the user
By providing the
valid user
credential we can
enter into the
inventory
management.
Conclusion
As per the requirement of the task I have clearly discus on the testing of the application making
through unit testing, performance testing etc. after the successful testing of the application I have
illustrates the strength and weakness of the application justifying on how we can improve the
performance of the application after the application will be deployed in the use for storing the
data of the customer and product. Hence, I can conclude that I have completed my task and
assignment as assigned.
References:
1. Lean Methods Group. (2019). Top Ten Problems Faced by Business - Lean Methods
Group. [online] Available at: https://www.leanmethods.com/resources/articles/top-ten-
problems-faced-business/ [Accessed 27 Dec. 2019].
2. Business Insider. (2019). Nine Steps to Effective Business Problem Solving. [online]
Available at: https://www.businessinsider.com/nine-steps-to-effective-business-problem-
solving-2011-7 [Accessed 27 Dec. 2019].
3. Bit Mascot. (2020). Career: Bit Mascot. [online] Available at:
http://www.bitmascot.com/top-10-challenges-faced-mobile-app-developers/ [Accessed 6
Jan. 2020].
4. Mobile, WordPress & Web App Development Company - AlphansoTech. (2020). Top 7 Business
Problems Mobile App Development Can Solve. [online] Available at:
https://www.alphansotech.com/top-7-business-problems-mobile-app-development-can-
solve [Accessed 6 Jan. 2020].
5. Bernie Roseke, P. (2020). The Risk Planning Process. [online] ProjectEngineer. Available
at: https://www.projectengineer.net/the-risk-planning-process/ [Accessed 6 Jan. 2020].
6. TechRepublic. (2020). A strategy to improve application development. [online] Available
at: https://www.techrepublic.com/blog/software-engineer/a-strategy-to-improve-
application-development/ [Accessed 6 Jan. 2020].
7. SearchDataManagement. (2020). What is Entity Relationship Diagram (ERD)? - Definition
from WhatIs.com. [online] Available at:
https://searchdatamanagement.techtarget.com/definition/entity-relationship-diagram-ERD
[Accessed 6 Jan. 2020].
8. Usersnap.com. (2020). [online] Available at: https://usersnap.com/blog/web-application-testing/
[Accessed 6 Jan. 2020].