Android Development

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 80

Contents

Part 1 (LO1, LO2).........................................................................................................................6


 Produce a Report including by analyzing a business-related problem and deduce a
solution including a set of initial requirements & Use design and development
methodologies with tools and techniques associated with the creation of a business
application:.................................................................................................................................6
 Explore a business- related problem and produce a well- defined Problem definition
Statement supported by a set of user and system requirements...........................................6
 Determine any areas of risk related to the successful completion of your application.......6
 Analyze a business- related problem using appropriate methods and produce a
wellstructured Software Design Document that defines a proposed solution and includes
relevant details on requirements, system analysis, system design, coding, testing and
implementation..........................................................................................................................6
 Research the use of software development tools and techniques and identify any that
have been selected for the development of this application...................................................6
 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.........................................................................................6
 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..........................................................................................................6
Introduction...................................................................................................................................8
Table of content:....................................................................................................................8

Summary...............................................................................................................................11

Scope......................................................................................................................................11

Aims & Objectives...............................................................................................................12

Objectives..............................................................................................................................12

Some problem related to business:............................................................................................12


1. Choosing The Right App to Develop..............................................................................12
2. A Competitive, Overcrowded Market............................................................................13

3. Clearly Defining The Target Market.............................................................................13

4. Managing Finances and Adequate Funds.....................................................................13

5. Development Technology................................................................................................14

6. Different Devices & Screen Sizes compatibility............................................................14

7. Dealing with Different OS’s............................................................................................14

8. Mobile App Promotion and Marketing.........................................................................15

9. Security.............................................................................................................................15

Solution for the business-related problem................................................................................15


1. Improve Customer Services.........................................................................................15

2. Improve overall Business Process................................................................................16

3. Create a New Marketing Channel...............................................................................16

4. Boost Brand Building....................................................................................................16

5. Drives Customer Engagement.....................................................................................16

6. Critical Task Management...........................................................................................17

7. Connect on the Go.........................................................................................................17

Problems faced by Walmart shopping mall..............................................................................17


Problem definition statement supported by a set of user and system requirements.............18
System requirement.............................................................................................................19

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

Determine Risk Response Plans.........................................................................................26


BENEFITS OF SOFTWARE TOOLS AND TECHNIQUES:...............................................27
Common software development techniques..............................................................................28
1. Agile method..................................................................................................................28

2. Scrum method...............................................................................................................29

3. Crystal method..............................................................................................................29

Use of software development tools and techniques in Walmart..............................................29


tools and techniques chosen to realize a custom built website................................................30
Conclusion....................................................................................................................................35
Part 2 (LO3).................................................................................................................................36
 Effectively reviews your business application, problem definition statement, proposed
solution and development strategy. Use this presentation as part of a peerreview and
document any feedback given.................................................................................................36
 Develop a functional business application based on a specified business problem...........36
 Develop a functional business application based on a specific Software Design
Document with supportive evidence of using the preferred tools, techniques and
methodologies...........................................................................................................................36
 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.................................................................................................................36
Introduction.................................................................................................................................36
Presentation slide on peer review of business application...............................................36

Problems in business application...............................................................................................39


Business problems through application.....................................................................................40
Solution for business application...............................................................................................41
Business application Development strategy for improving application.................................41
1: Incorporate application development into business strategic planning.....................41

2: Change the scope of responsibilities for application developers.................................42

3: Think about apps as business services and not as coding projects.............................42

4: Use outside end user experience tools in testing...........................................................42


5: Stick with vendor best practices.....................................................................................42

6: Be judicious in how you employ "custom" code...........................................................43

7: Document..........................................................................................................................43

8: Standardize mobile devices.............................................................................................43

9: Learn from help desk......................................................................................................43

10: Evaluate application utility...........................................................................................44

Types of UML Diagrams.............................................................................................................45


Activity diagram..........................................................................................................................47
Use Case Diagram........................................................................................................................48
Purpose of Use Case Diagrams...................................................................................................49
ERD (Entity Relation Diagram).................................................................................................51
Importance of ERDs and their uses...................................................................................51

How to create an ERD.........................................................................................................51

Functional business application based on a specific Software Design Document with


supportive evidence of using the preferred tools, techniques and methodologies.............53
Documentation of Application development.............................................................................53
Tool and methodologies in use:...........................................................................................53

Screenshot of my business application......................................................................................55


Conclusion....................................................................................................................................75
Part 3 (LO4).................................................................................................................................77
 Evaluate the performance of a business application against its Software Design
Document and initial requirements:......................................................................................77
 Review the performance of your business application against the Problem Definition
Statement and initial requirements.......................................................................................77
 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..........................................................................................................................77
 Critically evaluate the strengths and weaknesses of your business application and fully
justify opportunities for improvement and further development.......................................77
Introduction.................................................................................................................................77
Application Testing:....................................................................................................................77
Application Testing Tools....................................................................................................77

Types of software testing:...........................................................................................................78


Unit testing:..........................................................................................................................78

Unit test report:....................................................................................................................79

Integration testing:...............................................................................................................82

Integration testing report:...................................................................................................83

Conclusion....................................................................................................................................84
References:...................................................................................................................................85
Part 1 (LO1, LO2)

 Produce a Report including by analyzing a business-related problem and deduce a


solution including a set of initial requirements & Use design and development
methodologies with tools and techniques associated with the creation of a business
application:

 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.

 Analyze a business- related problem using appropriate methods and produce a


wellstructured Software Design Document that defines a proposed solution and
includes relevant details on requirements, system analysis, system design, coding,
testing and implementation.

 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.

Aims & Objectives

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

Some of the objectives of the report are:

- Finding on how online business works

- 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)

1. Choosing The Right App to Develop

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.

2. A Competitive, Overcrowded Market

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)

3. Clearly Defining The Target Market

From the business or monetization perspective of mobile app development, it is imperative to


outline a definitive target market. But it is easier said than done as only defining the target
market will not suffice; making sure that market is large enough to provide a revenue stream is a
significant prerequisite as well. To do so, the company should monitor metrics such as installs
and downloads, costs to acquire customers (CAC), average session lengths, average revenue per
user (ARPU), etc. It means finding a pure analytics solution, and effectively managing this can
be a real challenge! (Bit Mascot, 2020)

4. Managing Finances and Adequate Funds

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.

6. Different Devices & Screen Sizes compatibility

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)

7. Dealing with Different OS’s

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)

8. Mobile App Promotion and Marketing


One thing is to design and develop an app, and another is the promotion of that app. This is
challenging and testing for many mobile developers on a totally different level and usually
requires some business and market savvy to be successful. App developers define the following
as the top challenges and goals for app marketing:

 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)

Solution for the business-related problem

1. Improve Customer Services

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)

2. Improve overall Business Process

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)

3. Create a New Marketing Channel

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)

4. Boost Brand Building

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.

5. Drives Customer Engagement

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)

Problems faced by Walmart shopping mall


The shopping malls are the grouping of retail business to provide all-in one shopping feature to
the customer. However, managing such high level business services, shopping malls face
multiple challenges to maintain such giant entity in single umbrella. The problems in shopping
malls can cause business fluctuations and decrease in tenants. Here are the list of some problems
faced by the shopping malls:
a. Growing E-commerce
The idea of e-commerce is growing widely in commercial field. With such technology,
people can order any product they want from home and get them delivered. In Nepal,
various e-commerce websites such as daraj.com, sastodeal.com, hamrobazar.com etc, are
also growing rapidly and are showing no sign for turning it’s development or slowing
down. The majority of the consumers deal in online and hence results in less frequent
visits in the local shopping malls.
b. Lack of customer insights
As compared to the online retailers, the local shopping malls have limited number of
customer insights and typically work with revenue members or on a categorical level.
The revenue and visitor counts indicates the mall business performance. Although using
such indicators might not lead to better insights to improve communication with the
clients.
c. Complexities
The business complexity has become more complex, although some tasks and activities
are easier with information technologies. The global economy is connected, creating
much larger and diverse groups of customers and suppliers. The products and service are
even manufactured for small targets and specialized markets due to flexibility services
offered by IT. However, the systems are evolving and trending to become more complex
in further areas. Hence, there requires IT operations to simplify them again with better
system-thinking capabilities to design business models, processes, products and services.
d. Information overload
The shopping malls are the huge source of big data flowing in every system inside the
mall including data about sales, inventory management, products, customers, bills,
administrations, warehouses, supply chains, sales reports and so on. (leanmethods.com,
2019), in 2016, the global traffic was recorded 1.1 ZB for shopping malls. In Walmart
shopping mall, we require the specific ability to consume such big data and produce
valuable information through technologies..

Problem definition statement supported by a set of user and system requirements


The Walmart relies on big data to generate real-time review of the workflow in the inventories,
distribution centers throughout the stores and e-commerce. Here are
a. Improvise store checkouts
The system can use big data to improvise the store checkout experience through
predictive analysis and the store can anticipate demands at the certain time. Through such
feature, Walmart can determine the best forms of checkouts including self-checkouts and
facilitated checkouts.
b. Product assortment optimization
The application will allow Walmart shopping mall to analyze customer preferences and
shopping patterns to accelerate the decision making processes in displaying merchandise,
stocking store shelves. This will also help to gain insight on new items, discontinued
products and carry private brands.
c. Personalization to the shopping experience
The system will allow Walmart to identify the preferences to develop consistent and
delightful shopping experience through the data analysis and personalization to mobile
deals.

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

- Monitor resolution of 1024 x 768 or higher

- Intel Pentium 4 or AMD Athlon 2 GHz (or faster)

- 1 GB (or more) available hard disk space


Software - Android studio version 19.2

- Android SDK tools 22.0.5

- Android 4.2.2 platform API 17 (BlackBerry 10.2)

- Android 2.3.3 (BlackBerry 10.0 and 10.1)

- Java Runtime Environment 1.6


- Java SE JDK v6.0
Operating system - Windows 10

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.

Importance of risk management in completion of business related application:


Construction projects are extremely complex and fraught with uncertainty. Risk and uncertainty
can potentially have damaging consequences for the construction projects. Hence, risk analysis
and risk management has come to be a major feature of the project management in construction
projects. Construction projects are unique, inherently complex, dynamic and risks emanate from
multiple sources. The interests of individuals and organisations who are actively involved in a
construction project may be positively or negatively affected depending upon the course which a
project takes from concept to completion. Multiple stakeholders with varied experience and
skills have different expectations and interests in the project which creates problems for smooth
execution of the project. Risk management is a concept which many construction companies
have never thought of, despite the fact that, the risks can be better controlled if they are identified
in the first instance and a well-structured mitigation mechanism is in place. Risk management
helps the key project participants namely the client, contractor/developer, consultant and supplier
to meet their commitments and to minimize negative impacts on construction project
performance in relation to cost, time and quality objectives. Success of a construction project is
associated with three aspects of time, cost and quality outcomes.
Successful commissioning of any project, necessarily calls for sound planning on various fronts
and getting the project executed in a competent manner. An organization executing a project
would have to reckon with the various risks to which the project may be exposed to and these
have to be managed effectively. The construction industry, being vulnerable is potentially more
prone to risks and uncertainties than any other industry. The process of taking a project from the
conceptual stage to its final completion and putting into operation is quite complex and entails
painstaking process at every stage. Construction industry is highly fragmented in that each of its
participants—designers, constructors, planners, suppliers, etc. can be highly skilled in their own
area and yet there is no clear perspective as to how all the players can come on the same platform
for achieving the objectives.
Construction industry is also dependent on quality of its people rather than technology. The
increasing technological complexity and more complex interdependencies and perpetual shortage
of resources namely materials, equipment, technical/supervisory staff, finance, etc. calls for a
comprehensive risk management framework which will insulate the risks of the participants to a
great extent.
Given the nature of the construction sector, risk management is an extremely important process.
It is most widely used in such of those projects where susceptibility to risks is very high and is
characterized by planning, monitoring and controlling the risks in a more structured and formal
manner. The most efficient method of identifying the risks is to study a project of similar size
which was executed in the recent past which gives an insight into the failure/success of the
project. In order to be sure that the project objectives are met, the portfolio of risks associated
with all stakeholders should be considered across the project life cycle (PLC). In later stages, risk
management when applied systemically helps to control those critical elements which can
negatively impact project performance. Keeping track of identified threats will result in early
warnings to the project manager if any of the objectives, time, cost or quality, are not being met.
There are a plethora of risks which are to be identified in the construction industry and which can
be faced in each construction project at any point of time regardless of its size and scope.
Frequent change in scope is one of the major risks in any construction project. If revised scope or
design is implemented, it can have effect in the form of additional resources of time and cost.
Early project completion may be as troublesome as delays in a schedule. Completing too early
which may be a result of insufficient planning or design problems can lead to a low quality of
final product and increased overall cost. Thus it is important to keep a balance in the concept of
time–cost-quality trade-off, which more widely is becoming an important issue for the
construction sector. Risks may vary depending on the project scope, types and are to be treated
accordingly.
Areas of risk related to the successful completion of my application

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)

Since risk has two components:

Risk = Probability x Impact

 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.

An example risk register might look like this:

Impac
Risk Probability Priority Trigger Response Plan
t

Miss completion date


due to inclement 3 6 18 Site foreman to decide See below
weather

Deficient materials 1 8 8 Site foreman inspects Send material


material upon arrival back for full
arrive at site
and decides refund

Determine Risk Response Plans

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)

There are four possible responses to risk events:

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.

BENEFITS OF SOFTWARE TOOLS AND TECHNIQUES: Software tools and techniques


can be powerful aids in the design, development, testing, and maintenance of software. Several
studies have reported that the application of tools and techniques result in significant benefits,
including improved management control, equipment procurements that could be deferred, and
reduced software c0sts.l Specifically, the use of software tools and techniques can : 0 Reduce
adverse impact on user tasks-Structured programming produces programs that are easier to test
and, once tested, easier to modify. Therefore, structured programming can reduce the chances of
errors in the user results (e.g., overpayments) and make it easier to respond quickly to future user
requests for modifications. In addition, appropriate tools can reduce the work of verifying that
test data has actually exercised a program. This improves the chances of removing errors from
the program before it is placed into production. 0 Reduce overruns and delays-Current design
and development techniques, including structured programming, can make software
development more visible to management and more controllable. Reduce redundant software
projects-software tools and techniques make it easier for organizations to reuse existing software
and avoid the expense and delay of developing their own software. Tools reduce the labor of
analyzing software for suitability; modern techniques give a better idea of what to analyze for. 0
Reduce software conversion costs-As noted in various studies and expounded by conversion
contractors, appropriate tools can significantly reduce the labor of making programs written for
one type of computer run on another. Allow equipment purchases to be deferred-Newly written
software requires fewer machine resources to run, and existing software can be modified to
reduce required machine resource utilization. 0 Reduce operating costs-This includes the labor
costs of maintenance, modification, and conversion, as well as the cost of the machine resources
required to run the software. 0 Improve software quality-Improved quality reduces testing and
revision and simplifies future maintenance, modification, and conversion.
Common software development techniques
Software development method are defined as the process of planning, designing, creating,
testing, deploying and maintaining a projects/applications. There are different variations of such
methods with different features, limitations and uses. Now, the use of such methods are actually
determined by the type of project we have.
Some commonly used software development methods include:

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.

Figure: agile model

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.

Use of software development tools and techniques in Walmart


The major advantage of using software development tools and techniques is to aid in design,
development, testing and maintenance of android applications. With such tools and methods, the
project have significant benefit in development including improved management control,
equipment procurements and reduced software costs. Here are the specific details to the use of
software tools and techniques in Walmart shopping mall project:
a. Reduce adverse impact on user tasks
Using structured programming, we can build programs that easier for tests and
modifications, resulting in fewer chances of bugs and future requests. In addition,
appropriate tools can verify exercised tests to remove errors in programs before
implementation or production.
b. Reduce overruns and delays
Using current design and development techniques including the structured programming,
we can make the software development processes more manageable and controllable.
c. Reduce redundant software projects
With software development tools and techniques, developers can easily reuse the existing
software and avoid expense or delay in developing same software again and again. The
development tools reduce the labor of analyzing software for suitability and the modern
techniques provide better methods for analysis.
d. Reduce software conversion and operating costs
The use of appropriate tools can significantly reduce the labor of making programs
written for multiple platforms. In addition, the costs of maintenance, modification,
conversion and machine resources to run software can also be reduced.
e. Improve software quality
The improved quality reduces further testing and revision activities and simplifies future
maintenance, modification and conversion issues.

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

When the project


is open, we can
see layout as
.XML file

We can also have


java file created
in the left side of
the screen
On the button of
the screen build
operation is
shown as shown
behind the
snapshot

In the right side


of the screen
there we can have
assistant for
firebase for
database
connection and
authentication

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:

 Effectively reviews your business application, problem definition statement,


proposed solution and development strategy. Use this presentation as part of a
peerreview and document any feedback given.

 Develop a functional business application based on a specified business problem.

 Develop a functional business application based on a specific Software Design


Document with supportive evidence of using the preferred tools, techniques and
methodologies.

 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.

Presentation slide on peer review of business application


Problems in business application
As the Inventory management application will be online which help to manage the inventory of
the shopping mall, it will be the important part of the business as all the work are done under the
inspection and control of the application. Some of the problem related to business application
are:
Business problems through application
The Walmart shopping mall realizes that inventory control is absolutely necessary to make
efficient business services in and outside their company premises. Especially, in modern sales
market, shopping malls must have efficient tools that can manage inventories, clients, report
sales, and predict future markets and so on. However, there might be some business issues with
the inventory management systems. Here are some issues related to the performance of the
application:
a. Mobile-platform issues
The Walmart inventory management system was designed using Android studio with
various plugins and emulators. The application is designed specifically for certain version
of android mobile phones at initial stage.
b. Security
Security issues are not uncommon in the application and business environment. However,
various hacking and cracking threats might remain unchanged in the application. There
are higher chances that mobile application get hacked through internal or external
malwares. The users must be aware that they should not share cookies or mobile data to
external software or websites.
c. Changing technologies
The chancing technologies always bring new features and enhancement to the prior
versions. In such cases, the inventory management application needs to be aware about
new features and also risks involved in them, hence the application needs to be
continuously updated to keep in pace with them.
d. Time and cost issues
Walmart shopping mall has huge inventory volumes that can lead to management
nightmares, which will ultimately cause lesser profits. Most business include 20%-40%
of their working capital tied up in inventory stock. If the inventory reduction is poor
through the application, then it will highly affect the time and cost specifications of the
business.
e. User interface and experience
The user interface is the interface design of the application from where the user can see
and perform operations whereas the user experience represents the overall performance
of the application in making user highly efficient with their tasks.

Solution for business application


In the above phrases I have shown some of the problem that are related to the business
application. There can be more problem but those problem should be in mind before the
development of the project for the inventory management of the shopping mall. So, for solving
those problem I have demonstrate some of the solution for the above problem:
 For the development of the inventory management of the shopping mall we should hire
highly skilled programmer which have knowledge of debugging, error handling and bug
finding
 For the better security of the application we should use firewall in the LAN network.
More on we should use encryption method and better authentication method for the
security of the application.
 Making more secure application we have to make proper logging details of the
application so that we can easily know who and where on what time the application is
run.
 For hiring the employee of the business relatively called as user for the application we
should be more secure and hired talented and honored user for application management.
 And finally, we should make our server up to date on time and system on time for better
security of the application not letting any vulnerable for the attacker.
Business application Development strategy for improving application
Application development is rapidly changing so that mobile and Web-facing apps can meet the
needs of outside customers. This means that IT has to adjust how it develops apps and also how
it measures them for performance and for delivery of value to the end business. Here are 10
things IT should be doing NOW to make sure that its apps continue to deliver value in contexts
(such as the Internet) that apps can no longer fully control and that can affect app performance.
(TechRepublic, 2020)

1: Incorporate application development into business strategic planning


IT identifies application development projects within the overall framework of its own strategic
plan. But it does not always ensure that major application development projects are linked into
the corporate strategic plan, at least as objectives with forecasted results. When this is done, there
is assurance that non-IT executives can see the vital applications work that is going on and that
they understand and support how the work will contribute to the business. (TechRepublic, 2020)

2: Change the scope of responsibilities for application developers

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)

3: Think about apps as business services and not as coding projects

If your application is intended to deliver a suite of real-time financial analytics to finance, it


should be considered as a "service" that finance ultimately assesses for completeness, accuracy,
and timeliness. Accordingly, the metrics for application success should be evaluations from the
end user unit (in this case, finance) on how well the application meets end business objectives
like managing the health of a financial portfolio. This is a different set of metrics than
application developers are accustomed to (uptime, speed of throughput, mean time to repair, etc).
Instead, a business service focus forces technically oriented staff to keep their eyes on what the
application delivers to the end business. (TechRepublic, 2020)

4: Use outside end user experience tools in testing

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.

6: Be judicious in how you employ "custom" code

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

Although there is a plethora of automated application documentation tools, documentation


continues to be one of the weakest areas of application development. Poor documentation makes
it difficult to maintain or enhance applications at later dates. Most IT shops still spend more than
50 percent of their time on system and application maintenance. They need good documentation
to carry out this work efficiently.

8: Standardize mobile devices

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.

9: Learn from help desk

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)

10: Evaluate application utility

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)

Development process of functional business application based on a specified business


problem.

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)

 onboard new colleagues or team members


 debug to find problems
 plan for new developments or processes
 optimize existing systems and programs
 audit your processes and apply for accreditations

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.

Types of UML Diagrams

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)

Use Case Diagram


A use case diagram is a dynamic or behavior diagram in UML. Use case diagrams model the
functionality of a system using actors and use cases. Use cases are a set of actions, services, and
functions that the system needs to perform. In this context, a "system" is something being
developed or operated, such as a web site. The "actors" are people or entities operating under
defined roles within the system. (SearchDataManagement, 2020)

Purpose of Use Case Diagrams

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.

In brief, the purposes of use case diagrams can be said to be as follows −

 Used to gather the requirements of a system.

 Used to get an outside view of a system.

 Identify the external and internal factors influencing the system.

 Show the interaction among the requirements are actors.


ERD (Entity Relation Diagram)
An entity relationship diagram (ERD), also known as an entity relationship model, is a graphical
representation that depicts relationships among people, objects, places, concepts or events within
an information technology (IT) system. An ERD uses data modeling techniques that can help
define business processes and serve as the foundation for a relational database.
(SearchDataManagement, 2020)

Importance of ERDs and their uses

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.

How to create an ERD

ERDs are generally depicted in one or more of the following models:

 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.

 Attributes, which are properties or characteristics of entities. An ERD attribute can be


denoted as a primary key, which identifies a unique attribute, or a foreign key, which can
be assigned to multiple attributes.

 The relationships between and among those entities.

 Actions, which describe how entities share information in the database.

 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.

Tool and methodologies in use:

Tools Methodologies
Development Android studio
platform

Tools used Visio 2013, android studio, firebase etc

Methodologies Java with MVC (Model View Controller)


Screenshot of my business application
The design of the application is shown as an .XML file in the android studio:
Logi
n
form
User
registrati
on form
Produ
ct
form
Customer form
Sales
form
Repo
rt
desig
n
forma
t

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.

First registering user in the database.


As I have
created
user with
saurav for
authenticati
ng I have
use email
authenticati
on process.
On clicking
register
button user
is created
in the
database
which we
can see in
firebase.

The user email r@gmail.com 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

Now respected code of login and registrtion


Registration code
Login code
Now he can add product to the
inventory

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

Delete product from table:


Now, when user login then he
can add customer to the
inventory
As soon as the user add customer we can see it on firebase real time database.

Add customer code


Delete from customer table:

Now the user can store the data of


the sale that had made by the
customer in the database to create
report

As the data is store in the real time database:


Add sale code:

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)

 Evaluate the performance of a business application against its Software Design


Document and initial requirements:

 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)

 Record and Play


 Parametrize the Values
 Script Editor
 Run (the test or script, with debug and update modes)
 Report on Run session
Different vendors provide some specific features that make their product unique to other
competitor products. But the five features listed above are the most common and can be found in
almost all the functional testing tools.

How to Test an Application?

 Understand the context of the  built which you are testing


 Analyze
 Ask relevant questions
 Finalize the strategy
 Define test cases
 Peer reviews of the test cases
 Execute
 Analysis of the results
Types of software testing:
Unit testing: Unit testing is the practice of testing small pieces of code, typically individual
functions, alone and isolated. If your test uses some external resource, like the network or a
database, it’s not a unit test. Unit tests should be fairly simple to write. A unit tests should
essentially just give the function that’s tested some inputs, and then check what the function
outputs is correct. In practice this can vary, because if your code is poorly designed, writing unit
tests can be difficult. Because of that, unit testing is the only testing method which also helps
you write better code – Code that’s hard to unit test usually has poor design. In a sense, unit
testing is the backbone. You can use unit tests to help design your code and keep it as a safety
net when doing changes, and the same methods you use for unit testing are also applicable to the
other types of testing. All the other test types are also constructed from similar pieces as unit
tests, they are just more complex and less precise.

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)

Unit test report:

Date tested Data values Input values Expected Actual Remarks


output output
2019-12-25 Null Email Unable Field Test was

to add cannot successful


user to be

database empty
In the behind screenshot email is
not submitted over the form so
that user cannot be created for
database

Date Data Input Expected Actual output Remarks


tested values values output
2019- Null value Customer Unable to Field cannot be Test was

12-25 Id add the empty


successful
customer
As behind screenshot there is no null value
provided into the database which don’t allow
to add product into database.

Date tested Data Input Expect Actu Remark


values values ed al s
output outpu
t
Wrong Wrong Unable Wron Test

credenti user to login g successf


al name data ul
to the
and input
app
passwo
rd
As I have
encounter with
error while I
try to login
with the email
that was not
listed in the
database of the
user.

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)

Integration testing report:

Date tested Data Wh w Expect Remar


values at as ed ks

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].

You might also like