0% found this document useful (0 votes)
32 views67 pages

Unit 30 Application Development Assignment Brief

read

Uploaded by

supunikaushi4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views67 pages

Unit 30 Application Development Assignment Brief

read

Uploaded by

supunikaushi4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 67

INTERNAL VERIFICATION – ASSIGNMENT BRIEF

Programme Title: HND in Computing


Assessor Name: Miss. Ishani Jayasuriya
Internal Verifier Name: Mr. Chathura W. Wickramasinghe
Unit or Component Number and
Title:
Unit 30- Application Development

Assignment title: Assignment 01- Application Development


Assessment criteria targeted by
this assignment brief:
LO1, LO2, LO3 and LO4

Is this an Authorised Assignment No


Brief published by Pearson? If so,
has it been amended by the
Assessor in any way? Please give
details.
(If using the Authorised Assignment Brief
‘off the shelf’ with no amendments, please
answer the question marked * in the
checklist only)

Has this assignment been Yes No


submitted to the Assignment
Checking Service? No
(If Yes, please keep a copy of the ACS
feedback with this form)

INTERNAL VERIFIER CHECKLIST Y/N

Are the programme and unit details accurate? Yes..

*Are clear deadlines for assessment given? TBC

Is the time frame of an appropriate duration? -

Is there a suitable vocational scenario or context? Yes.

Are the assessment criteria to be addressed stated accurately? Yes.

Does each task show which criteria are being addressed? No.

Do the tasks meet the assessment requirements of the unit/s? Yes.

Is it clear what evidence the learner needs to generate? Yes.

Is it likely to generate evidence that is valid and sufficient? Yes.

Overall, is the Assignment fit for purpose? Yes √ No

*If ‘No’ is recorded the Internal Verifier must recommend actions detailing the issues to be addressed. The Assessor and
the Internal Verifier must then confirm that the action has been undertaken and that the Assignment Brief is authorised
for use before being issued to learners.
Target Date Date
Action required:
for Action
(If none then please state n/a)
Completion Completed

General Comments (if appropriate)

Previous assignment is reassessed by rewording the content.

Assignment Brief Authorised for Use:

Internal Verifier signature chathura.windika@esoft.lk Date 10/7/2020


Assessor signature
Date

Lead Internal Verifier signature (if


Date
appropriate)
Higher Nationals
Internal verification of assessment decisions – BTEC (RQF)
INTERNAL VERIFICATION – ASSESSMENT DECISIONS
Programme title BTEC Higher National Diploma in Computing

Assessor Internal Verifier


Unit 30: Application Development
Unit(s)

Assignment title

Student’s name
List which assessment criteria Pass Merit Distinction
the Assessor has awarded.

INTERNAL VERIFIER CHECKLIST

Do the assessment criteria awarded match


those shown in the assignment brief? Y/N

Is the Pass/Merit/Distinction grade awarded


justified by the assessor’s comments on the Y/N
student work?
Has the work been assessed Y/N
accurately?
Is the feedback to the student:
Give details:
• Constructive? Y/N
• Linked to relevant assessment criteria? Y/N
Y/N
• Identifying opportunities for
improved performance?
Y/N
• Agreeing actions?
Does the assessment decision need Y/N
amending?

Assessor signature Date

Internal Verifier signature Date


Programme Leader signature (if required)
Date
Confirm action completed
Remedial action taken
Give details:

Assessor signature Date


Internal Verifier
signature Date
Programme Leader
signature (if required) Date
Higher Nationals - Summative Assignment Feedback Form
Student Name/ID
Unit 30: Application Development
Unit Title
Assignment Number Assessor
Date Received
Submission Date 1st submission
Date Received 2nd
Re-submission Date submission
Assessor Feedback:
LO1 Produce a Software Design Document by analysing a business-related problem and deduce an
appropriate solution including a set of initial requirements
Pass, Merit & Distinction P1 P2 M1 D1
Descripts

LO2 Use design and development methodologies with tools and techniques associated with the creation
of a business application
Pass, Merit & Distinction P3 P4 M2 D2
Descripts

LO3 Work individually and as part of a team to plan and produce a functional business application with
support documentation
Pass, Merit & Distinction P5 P6 M3 D3
Descripts

LO4 Evaluate the performance of a business application against its Software Design Document and initial
requirements

Pass, Merit & Distinction P7 M4 D4


Descripts

Grade: Assessor Signature: Date:

Resubmission Feedback:

Grade: Assessor Signature: Date:

Internal Verifier’s Comments:

Signature & Date:

* Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and
grades decisions have been agreed at the assessment board.
Pearson Higher Nationals in
Computing
Unit 30: Application Development
Assignment 01
General Guidelines

1. A Cover page or title page – You should always attach a title page to your assignment. Use
previous page as your cover sheet and make sure all the details are accurately filled.
2. Attach this brief as the first section of your assignment.
3. All the assignments should be prepared using a word processing software.
4. All the assignments should be printed on A4 sized papers. Use single side printing.
5. Allow 1” for top, bottom , right margins and 1.25” for the left margin of each page.

Word Processing Rules

1. The font size should be 12 point, and should be in the style of Time New Roman.
2. Use 1.5 line spacing. Left justify all paragraphs.
3. Ensure that all the headings are consistent in terms of the font size and font style.
4. Use footer function in the word processor to insert Your Name, Subject, Assignment No,
and Page Number on each page. This is useful if individual sheets become detached for any
reason.
5. Use word processing application spell check and grammar check function to help editing
your assignment.

Important Points:

1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the
compulsory information. eg: Figures, tables of comparison etc. Adding text boxes in the body
except for the before mentioned compulsory information will result in rejection of your
work.
2. Carefully check the hand in date and the instructions given in the assignment. Late
submissions will not be accepted.
3. Ensure that you give yourself enough time to complete the assignment by the due date.
4. Excuses of any nature will not be accepted for failure to hand in the work on time.
5. You must take responsibility for managing your own time effectively.
6. If you are unable to hand in your assignment on time and have valid reasons such as illness,
you may apply (in writing) for an extension.
7. Failure to achieve at least PASS criteria will result in a REFERRAL grade .
8. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will
then be asked to complete an alternative assignment.
9. If you use other people’s work or ideas in your assignment, reference them properly using
HARVARD referencing system to avoid plagiarism. You have to provide both in-text citation
and a reference list.
10. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be
reduced to A REFERRAL or at worst you could be expelled from the course
Student Declaration

I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present
it as my own without attributing the sources in the correct form. I further understand what it
means to copy another’s work.

1. I know that plagiarism is a punishable offence because it constitutes theft.


2. I understand the plagiarism and copying policy of Edexcel UK.
3. I know what the consequences will be if I plagiarise or copy another’s work in any of the
assignments for this program.
4. I declare therefore that all work presented by me for every aspect of my program, will be my
own, and where I have made use of another’s work, I will attribute the source in the correct
way.
5. I acknowledge that the attachment of this document signed or not, constitutes a binding
agreement between myself and Pearson, UK.
6. I understand that my assignment will not be considered as submitted if this document is not
attached to the assignment.

Student’s Signature: Date:


(Provide E-mail ID) (Provide Submission Date)
Higher National Diploma in Computing
Assignment Brief
Student Name /ID Number

Unit Number and Title Unit 30: Application Development

Academic Year

Unit Tutor

Assignment Title

Issue Date

Submission Date

IV Name & Date

Submission format

Report:
The submission should be in the form of an individual written report. This should be
written in a concise, formal business style using 1.5 line spacing and font size 12. You are
required to make use of headings, paragraphs and subsections as appropriate, and all work
must be supported with research and referenced using Harvard referencing system. The
recommended word limit is 4000 words, although you will not be penalised for exceeding
the total word limit.

System:
A fully functional business application.

Your research should be referenced using the Harvard referencing system.

Unit Learning Outcomes:

LO1: Produce a Software Design Document by analysing a business-related


problem and deduce an appropriate solution including a set of initial
requirements.
LO2: Use design and development methodologies with tools and techniques
associated with the creation of a business application.
LO3: Work individually and as part of a team to plan and produce a functional
business application with support documentation.
LO4: Evaluate the performance of a business application against its Software Design
Document and initial requirements.
Assignment Brief and Guidance:

Scenario
PC World (PCW) is a medium-sized company that sells over 50 different types of
computer products. The company has grown steadily in the last 02 years mainly due its
popularity over the Internet. They are finding it increasingly difficult to cope up with all
the paperwork in the manual workflow associated with tracking orders due to the
increase of number of orders and lack of a software system.

The Managing Director of PCW is frustrated by the problems associated with adding
new requirements to the application and getting modifications completed in the
previous software application used in the PC WORLD company due to the software
development company’s usage of traditional waterfall model in their projects.
Therefore, the company currently has moved back to the old paper-based system.

Managing director or PCW has decided that PCW will use a company which is following
a software development methodology based on Agile philosophy to develop the
software for a new order tracking system.

JJLP Software (JJLP) is a software development company. JJLP use SCRUM as their
software development methodology. The Managing Director of PCW has decided to
contract JJLP, on “time and materials” basis, for the development of the new order
tracking system using Scrum development approach. You have been hired as a software
engineer for JJLP Software (JJLP) is a software development company. You have to
complete below tasks in completing the software project for PC World company.

The new order tracking system will replace the old paper-based system and is likely to
include some of the following functionalities:

• Receive a sales order via telephone, or email – carried out by an Order Handling
Clerk.
• Check stock in a warehouse – carried out by an Order Handling Clerk.
• Create an acknowledgement copy of the sales order with a delivery date after
the order has been confirmed with the warehouse – carried out by a Warehouse
Operative.
• Create an acknowledgement copy of the sales order stating the item is out of
stock and the date it will be available after the order has been confirmed with
the warehouse – carried out by a Warehouse Operative.
• Credit-check customers and reject them if they are not creditworthy – carried
out by an Order Handling clerk.
• Create a daily report of orders that have been dispatched – carried out by the
Production Manager.
• Create an invoice for business customers after the delivery – carried out by the
Chief Accountant.
• Accept credit card payment from domestic customers after the order has been
confirmed with the warehouse - carried out by an Order Handling Clerk.
• Create a final demand if a business customer has not paid an invoice after 30
days – carried out by the Chief Accountant

New order tracking system should have the following levels of access:
• Report only
• Update only
• Update and delete
• Complete system access
• All acknowledgement copies of sales orders, invoices and final demands must be
printed on the relevant company headed forms.
• The new order tracking system should be able to print acknowledgement copies
of sales orders, invoices and final demands at a rate of 1 in every 5 seconds.
However, an upper limit of 10 seconds would be acceptable.

Activity 01
1.1. Explore the business process of the PC World company by defining the current
context of the company, issues of the company’s business process. Produce a
problem definition statement outlining the major issues of the company.

1.2. Define the risks for software development projects. Determine the areas of the
project in relation to the risks defined and assess the impact for each area in the
project.

1.3. Outline the business process related issues in PC World company. Produce a
software design document by analyzing the outlined issues of the company for
developing a software application. Include the details of requirements gathering,
system analysis and design, coding, system testing and deployment phases to your
design document. Suggest and justify the solutions to the identified issues.

Activity 02

2.1. Research and identify available software development tools in deducing an


application for the PC world company. Compare and contrast the development tools,
techniques and software development methodologies suitable for the current problem
domain.

2.2. Select a software development methodology, software development tool and


techniques to deduce an application for the given scenario and justify the selections by
providing a detailed comparison.

2.3. Justify your solution for the given scenario using the selected software
development tool, techniques and software development methodology. Support your
justification by providing a comparison with other available software development
tools, techniques and software development methodologies.

Activity 03

3.1. Create a presentation to evaluate the business application, problem definition


statement, proposed solution and the selected development plan. Conduct a proper
peer review using the prepared presentation and document feedback and
amendments.

3.2. Develop a functional business application with support documentation as a


business solution to the PC World company based on the criteria provided with the
software design document. Provide the evidence for using the selected development
tools, techniques and methodology in developing the application.

3.3. Interpret the feedback and Identify any new improvements for your solution.
Evaluate the identified improvements and justify the reason for including/ not including
the improvements / new insight in your application.

Activity 04

4.1. Review the performance of your application against the problem definition
statement, the requirements and analyze the factors having an impact to the
performance of a business application.

4.2. Critically review the design, development and testing stages of your application
using the examined factors. Conclude the review by discussing the impacts of previously
identified risks for your project.

Critically evaluate the strengths and weaknesses of your application and provide a
complete SWOT analysis for your application. Mention further improvements and the
gain of those improvements for your application.
Assessment Criteria (Students are not authorized to modify or write anything on below)

Outcomes/Criteria Page Feedback


P1Explore a business-related problem and
produce a well-defined problem definition
statement supported by a set of user and
System requirements.

P2 Determine any areas of risk related to


the successful completion of your
application.

M1 Analyze a business-related problem


using appropriate methods and produce a
well-structured Software Design Document
that defines a proposed solution. Include
relevant details on requirements, system
analysis, system design. (propose a suitable
language)

P3 Research the use of software


development tools and techniques and
identify any suitable tool or technique that
you may select for the development of this
application.

M2 Compare the differences between


various software development tools and
techniques researched. Justify your
preferred selection and preferred software
development methodology.

D1 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.
P4 Create a formal presentation that
effectively reviews your business
application, problem definition statement,
proposed solution and the development
strategy. Use this presentation as a part of a
peer-review and document any feedback
given.

M3 Develop a functional business


application based on a specific Software
Design Document with supportive evidence
for using the preferred tools, techniques
and methodologies.

D2 Evaluate any new insights, ideas or


potential improvements to your system and
justify the reasons for including/not
including them as a part of this business
application.

M4 Review the performance of your


business application against the
Problem Definition Statement and initial
requirements.
D3 Critically evaluate the strengths and
weaknesses of your business application
and justify opportunities for improvement
and further development.

Strengths: Weaknesses:
Future Improvements & Assessor Comment:

Assessor: Signature:
Date: ____/____/______

Internal Verifier’s Comments:

Internal Verifier: Signature:


Date: ____/____/______
Activity 01
1.1 Explore the business process of the PC World company by defining the current
context of the company, issues of the company’s business process. Produce a
problem definition statement outlining the major issues of the company.

Business Background and Domain


It’s a medium size computer product selling company, company has grown steadily in the
last 02 years mainly due its popularity over the Internet, its sale type of business they are
doing.
Business activities, operation and work flow of the company
 They are doing Sales
 Delivery products
 Handle the customer requests
 Track the selling product
 Accept the payments
 Receive a sales order
 Check stock in a warehouse
 Create an acknowledgement copy
 Credit-check customers
 Create a daily report of orders that have been dispatched
 Create an invoice for business customers after the delivery
 Accept credit card payment from domestic customers
 Create a final demand if a business customer has not paid an invoice after 30 days

Current System and Issues


They are previously used water fall methodology-based Order Tracking system, but they
are need to add new requirement and modification to system but due methodology it is
not possible and current they are facing difficulties in previous order track system, so for
that they are currently using Old Paper based System it involved in all the manual
activity.

Because of the paper-based system they are currently facing following issue in their
Company
 Unable to record customer details
 Unable to record sells details
 Unable to check Stokes
 Unable to Update Stokes
 Unable to Real time update stoke rotation
 Unable to accurately get available stokes
 Unable to get accurate information
 Security risk because of the paper based
Because of the previous system, faced issues and missing features and expecting
features in future
 Unable to Receive a sales order via telephone, or email
 Unable to Check stock in a warehouse
 Unable to Create an acknowledgement copy of the sales order with a
delivery date after the order has been confirmed with the warehouse
 Unable to Create an acknowledgement copy of the sales order stating the
item is out of stock and the date it will be available after the order has been
confirmed with the warehouse.
 Unable to Credit-check customers and reject them if they are not
creditworthy
 Unable to Create a daily report of orders that have been dispatched
 Unable to Create an invoice for business customers after the delivery
 Unable to Accept credit card payment from domestic customers after the
order has been confirmed with the warehouse
 Unable to Create a final demand if a business customer has not paid an
invoice after 30 days

Exiting Solution in the industry


 There are lots of alternate systems available for selling products(scenario). You can
choose a system based on requirements and process. some of them are;

Online shopping carts - You want Sally Shopper feeling free to browse without being
locked in to purchasing decisions until later. Online stores quickly developed the metaphor
of a shopping basket or shopping cart (“trolley” in Britain) into which customers place
selections. Business-to-business (B2B) sites such as W.W. Grainger (www.grainger.com)
use the term “order form,” more suited to a business purchasing model.
This product selection feature needs to allow Sally Shopper to add or remove products
from her cart and to indicate quantity. Nearly all carts these days allow here to indicate two
or three options for each product, such as an extra-large (size) green (color) flannel shirt.
Imagine selecting shoes (size, width, color) or window blinds (color, height, width). A few
carts even allow sales of fractions of a unit, such as when buying cloth or lumber.
An increasing number of store-building systems shows the items in the cart and a running
total on each page. This helps customers remember where they are in the ordering process.
(Dr. Ralph F. Wilson,2020)

 Order handling systems – This is basically managing the orders that received from
customers system. it’s very useful system for no days in selling products.
 Web based Systems – it basically selling products via online, customer can place
orders via web browser. and admin can handle this system in backend
 Mobile Based Systems - it basically selling products via online, customer can place
orders via Mobile application. and admin can handle this system in backend
Proposed Solution by you and expected changes in the organization by your system

Here I proposed Web based online shopping and tracking system for the organization. and
its also based on agile methodology development process.
Expecting Change and requirements of new system
 Agile Methodology Based System
 Shopping car methods
 Real time update
 Able to Receive a sales order via telephone, or email
 Able to Check stock in a warehouse
 Able to Create an acknowledgement copy of the sales order with a delivery date
after the order has been confirmed with the warehouse
 Able to Create an acknowledgement copy of the sales order stating the item is out
of stock and the date it will be available after the order has been confirmed with
the warehouse
 Able to Credit-check customers and reject them if they are not creditworthy
 Able to Create a daily report of orders that have been dispatched
 Able to Create an invoice for business customers after the delivery
 Able to Accept credit card payment from domestic customers after the order has
been confirmed with the warehouse
 Able to Create a final demand if a business customer has not paid an invoice after
30 days
Advantage and Improvements of Web Based System
Lower Development Costs
A web-based application runs in a web browser. That means that a single, responsive web
application can be used across multiple device types. Although web apps will need to be
tested on different browsers, there is no need to test them on different operating systems.
This makes development and testing much easier. It cuts development costs and reduces
development time.
Easy Installation and Maintenance
Unlike traditional software that is loaded on each device, web applications run from a host
server. There is no installation on local machines. Software upgrades are all completed
centrally. That reduces the costs of installing and upgrading software. It also ensures that
all users are always using the same version of the software.
Accessible Anywhere
Users can access a web-based system anywhere. So long as they have an internet
connection, a web browser, and the appropriate login details.
This means that users can access the data they need when they are away from the office. It
also brings the possibility of staff working from home.
Easy Data Sharing and Collaboration
The sharing of data and collaborating on projects is made much easier with web-based
systems. Data is stored in one central location, so users can share data and work together
on projects. It is also easier to integrate web-based systems than isolated desktop
applications.
Centralized Security
As web apps are installed on web servers, security is controlled by an IT professional. That
avoids sensitive corporate information being held on many local client PCs, which are not
as secure. Employees can access data when they are away from the office via a web
application. So, it is not necessary for data to be held anywhere other than the secure
central location.
Reduced Hardware Costs
Web-based systems can eliminate the need for powerful client PCs. Processing is carried
out on the host server. The host server can be engineered to efficiently service
simultaneous, peak demand. So, the storage, processor, and memory requirements for
client PCs can be reduces. Taken across an entire organization, this can represent a large
cost saving for some businesses.
Increased Efficiency
In most businesses, the deployment of web-based solutions leads to the streamlining of
business processes. Often, paper-based processes can be replaced by workflow-based
solutions. The business process improvements can lead to higher employee productivity
and lower costs.
Adaptable to Changing Workloads
The deployment of web-based applications requires no software loading on the client PC.
All that is needed is the setting up of a new user and the relevant secure access controls.
This can be a major benefit for growing businesses, or for seasonal businesses. Users can
be added or removed very quickly.
Greater Availability of Information
Web-based systems make it easier to provide access to real-time information. The paper
reports that might take days to prepare and distribute can be replaced on online reports and
digital dashboards. That can improve the quality and the speed of decision making, right
across an organization.

Web based custom application development can provide businesses with significant cost
savings and productivity improvements. Now that internet access is almost universally
available and internet speeds have significantly improved, applications that previously had
to be client based can now be deployed on the web.
Although this is the case in developed Western countries, it is not the case worldwide. In
some countries, internet access is unreliable. So, major deployment of web-based
applications may still not be possible. International organizations with overseas offices
may not yet be able to take full advantage of web-based solutions.
For domestic organizations, though, web-based systems have a promising future. From
web-based office applications, like content management systems and productivity
applications, to custom web-based software developed specifically for your organization,
the foundation of many future software solutions is likely to be web-based.
(Chris Kambala, 2018)

1.2 Define the risks for software development projects. Determine the areas of the
project in relation to the risks defined and assess the impact for each area in the
project.

In this case, this company previously used waterfall methodologies for system
development process, based on that below details provided

Risk and importance of risk management:


Risk is uncertain events associated with future events which have a probability of occurrence
but it may or may not occur and if occurs it brings loss to the project. Risk identification and
management are very important task during software project development because success and
failure of any software project depends on it.
Various Kinds of Risks in Software Development:
1. Schedule Risk:
Schedule related risks refers to time related risks or project delivery related
planning risks. The wrong schedule affects the project development and
delivery. These risks are mainly indicating to running behind time as a result
project development doesn’t progress timely and it directly impacts to delivery
of project. Finally, if schedule risks are not managed properly it gives rise to
project failure and at last it affect to organization/company economy very
badly.

Some reasons for Schedule risks –


 Time is not estimated perfectly
 Improper resource allocation
 Tracking of resources like system, skill, staff etc
 Frequent project scope expansion
 Failure in function identification and its’ completion
2. Budget Risk:
Budget related risks refers to the monetary risks mainly it occurs due to budget
overruns. Always the financial aspect for the project should be managed as per
decided but if financial aspect of project mismanaged then there budget
concerns will arise by giving rise to budget risks. So proper finance distribution
and management are required for
the success of project otherwise it
may lead to project failure.
Some reasons for Budget risks –
 Wrong/Improper budget estimation
 Unexpected Project Scope expansion
 Mismanagement in budget handling
 Cost overruns
 Improper tracking of Budget
3. Operational Risks:
Operational risk refers to the procedural risks means these are the risks which
happen in day-to-day operational activities during project development due to
improper process implementation or some external operational risks.
Some reasons for Operational risks –
 Insufficient resources
 Conflict between tasks and employees
 Improper management of tasks
 No proper planning about project
 Less number of skilled people
 Lack of communication and cooperation
 Lack of clarity in roles and responsibilities
 Insufficient training
4. Technical Risks:
Technical risks refers to the functional risk or performance risk which means
this technical risk mainly associated with functionality of product or
performance part of the software product.
Some reasons for Technical risks –
 Frequent changes in requirement
 Less use of future technologies
 Less number of skilled employees
 High complexity in implementation
 Improper integration of modules
5. Programmatic Risks:
Programmatic risks refers to the external risk or other unavoidable risks. These
are the external risks which are unavoidable in nature. These risks come from
outside and it is out of control of programs.
Some reasons for Programmatic risks –
 Rapid development of market
 Running out of fund / Limited fund for project development
 Changes in Government rules/policy
 Loss of contracts due to any reason

(geeksforgeeks,2020)
Phase of the Task Risk/Risks Impact
Project

Requirements  Prepare  Schedule Risk –  This will be


Gathering Questionaries There might need affected the
 Get response from extra time to get duration of the
User feedback from Project
user.  This will be
 Budget Risk- increasing the
Wrong Budget budget of the
Estimation process
 Operational Risk-  This will be
No proper increasing the
planning about Scope of the
project project
 Technical Risk –
Frequent Changes
in requirements
 Programmatic
Risk –
Unexpected
natural disorders
Design  Based on  Schedule Risk –  This will be
requirement, Create There might need affected the
the Design extra time to duration of the
 Capture the complete the Project
Software and designing process  This will be
Hardware  Technical Risk – increasing the
Requirement Less number of budget of the
 Document the latest technologies process
Design  Operational Risk  This will be
– insufficient increasing the
resources Scope of the
 Budget Risk -Cost project
overturns
 Programmatic
Risk – Rapid
Development of
market
Implementation  As per the design  Schedule Risk –  This will be
create the There might need affected the
programs / code extra time to duration of the
 Integrate the codes implement the Project
for the next phase system  This will be
 Unit testing of the  Budget Risk- increasing the
code unexpected budget of the
budget process
increasement  This will be
 Operational Risk- increasing the
lack of clarity in Scope of the
roles and project
responsibility
about project
 Technical Risk –
High complexity
in implementation
 Programmatic
Risk – Changes in
governments
policy
Testing  integrate the unit  Schedule Risk –  This will be
tested code and There might need affected the
test it to make sure extra time for duration of the
if it works as testing the system Project
expected  Budget Risk-  This will be
 Functional and mismanagement increasing the
non-functional
in the budget budget of the
Testing
handling process
 Track your
progress on testing  Operational Risk-  This will be
through tools like a smaller number increasing the
traceability of skilled peoples Scope of the
metrics, ALM  Technical Risk – project
 Report your less use of future
testing activities. technologies
 Programmatic
Risk –Limited
funds for testing
Maintenance  Make sure that the  Schedule Risk –  This will be
application is up There might need increasing the
and running in the extra time to budget of the
respective maintenance the
environment. system process
 Incase user  Budget Risk-  This will be
encounters and Improper increasing the
defect, make sure Tracking of the Scope of the
to note and fix the budget project
issues faced.
 Operational Risk-
 In case any issue is
insufficient
fixed; the updated
Training
code is deployed
in the  Technical Risk –
environment. Improper
 In case any issue is integration of
fixed; the updated modules
code is deployed  Programmatic
in the Risk – Limited
environment. funds for
Maintenance

(softwaretestinghelp 1,2020) (geeksforgeeks,2020)

1.3 Outline the business process related issues in PC World company. Produce a
software design document by analyzing the outlined issues of the company for
developing a software application. Include the details of requirements gathering,
system analysis and design, coding, system testing and deployment phases to your
design document. Suggest and justify the solutions to the identified issues.

Activity 02
2.1. Research and identify available
software development tools in deducing an
application for the PC world company. Compare and contrast the development tools,
techniques and software development methodologies suitable for the current problem
domain.

Front-End Development
The front end of a website is the part that users interact with. Everything that you see when
you’re navigating around the Internet, from fonts and colors to dropdown menus and
sliders, is a combo of HTML, CSS, and JavaScript being controlled by your computer’s
browser.

SKILLS AND TOOLS


Front-end developers are responsible for a website’s user-facing code and the architecture of
its immersive user experiences. In order to execute those objectives, front-end devs must be
adept at three main languages: HTML, CSS, and Javascript programming. In addition to
fluency in these languages, front-end devs need to be familiar with frameworks like
Bootstrap, Foundation, Backbone, AngularJS, and EmberJS, which ensure great-looking
content no matter the device, and libraries like jQuery and LESS, which package code into a
more useful, time-saving form. A lot of front-end developer job listings also call for
experience with Ajax, a widely used technique for using Javascript that lets pages
dynamically load by downloading server data in the background.

Back-End Development
So, what makes the front end of a website possible? Where is all that data stored? This is
where the back end comes in. The back end of a website consists of a server, an
application, and a database. A back-end developer builds and maintains the technology that
powers those components which, together, enable the user-facing side of the website to
even exist in the first place.

SKILLS AND TOOLS


In order to make the server, application, and database communicate with each other,
back-end devs use server-side languages like PHP, Ruby, Python, Java, and .Net to build an
application, and tools like MySQL, Oracle, and SQL Server to find, save, or change data
and serve it back to the user in front-end code. Job openings for back-end developers
often also call for experience with PHP frameworks like Zend, Symfony, and CakePHP;
experience with version control software like
SVN, CVS, or Git; and experience with Linux as
a development and deployment system.
(blog.udacity,2020)

List of Software Development Tools and Decryption


1) monday.com

monday.com provides an agile software development platform. It helps agile teams to build
the products faster and iterate them swiftly.
It will let you integrate your existing software development tools and your data from
multiple tools can be automatically brought to monday.com. You can automate the
workflows with monday.com and save your time. The platform can be tried for free.
Key Features:
 monday.com has features to customize your workflows so that you can plan your
iteration needs.
 You will be able to track your team’s progress through real-time progress reporting.
 Exact effort tracking features will let you easily track the actual story points spent
on different projects and tasks.
 Using forms, you will be able to respond to bugs and issues quickly and efficiently

2) Embold

Fixing bugs before deployment saves a lot of time and energy in the long run. Embold is a
software analytics platform that analyses source code and uncovers issues that impact
stability, robustness, security, and maintainability.
Advantages:
 With the Embold plugins, you can pick up code smells and vulnerabilities as you
code, before making commits.
 Unique anti-pattern detection prevents the compounding of unmaintainable code.
 Integrate seamlessly with Github, Bitbucket, Azure, and Git and plugins available
for Eclipse and IntelliJ IDEA.
 Get deeper and faster checks than standard code editors, for over 10 languages.
3) Linx

Linx is low code tool to build and automate backend applications and web services. The
tool accelerates the design, development and automation of custom business processes,
including easy integration of applications, systems and databases.
 Easy-to-use, drag-and-drop IDE and Server.
 Over 100 pre-built plugins programming functions and services for rapid
development.
 One-click deployment to any local or cloud server.
 Input and outputs include nearly any SQL & NoSQL databases, numerous
file formats (text and binary) or REST and SOAP Web services.
 Live debugging with step-through logic.
 Automate processes via a timer, directory events or message queue or expose
web services, and call APIs via HTTP requests.

4) Quixy

Quixy is a visual, easy-to-use, and no-code platform to build complex custom enterprise
software. It is used by businesses in more than 10 industry vertices to automate tasks &
processes and build applications without writing any code.
On G2, it is rated as a leader in the Asia Pacific. It has a lot of pre-built solutions for
various use cases like Incident Management, Expense Management, CRM, Project
Management, etc.
Key Features:
 Quixy is a Zero-Code platform and hence can be used by anyone.
 You will be able to build a User Interface by dragging and dropping more than 40
field controls.
 Visual Builder will help you to model processes and build workflows.
 It provides ready-to-use templates and components.
 Quixy Simulator will help you to test what is built.
 Quixy is an enterprise-ready platform and offers features like an audit trail, option
to host on a private cloud, IP filtering, single sign-on, custom password policies,
and multi-step authentication, etc.
5) Atom

Atom is an open source and free desktop editor cum source code editor that is up-to-date,
friendly and hackable to the core.
Key Features:
 Atom supports cross-platform editing and works for various operating systems like
Windows, Linux and OS X.
 Atom is a customizable tool with which one can effectively edit the look & feel of
the User Interface, add few important features etc., without editing the
configuration file.
 Important features of Atom which made it a remarkable tool are its built-in package
manager, smart autocomplete, multiple panes, file system browser, find & replace
feature etc.
 Atom is used to build cross-platform applications with web technologies using a
framework called ‘Electron’

6) Cloud 9

Initially in 2010 Cloud 9 was an open source, cloud-based IDE (Integrated Development
Environment) that supports various programming languages like C, Perl, Python,
JavaScript, PHP etc. Later in 2016, AWS (Amazon Web Service) acquired it for further
improvement and made it chargeable as per the usage.
Key Features:
 Cloud 9 IDE is a web-based platform that is used for scripting, running and
debugging the code in the cloud.
 Using Cloud 9, the users can work with serverless applications which help to switch
between remote and local testing and debugging activities.
 The features like code completion suggestions, debugging, file dragging etc., makes
Cloud 9 a powerful tool.
 Cloud 9 is an IDE for web and mobile developers that help to collaborate together.
 Developers using AWS Cloud 9 can share the environment with the workmates for
projects.
 Cloud 9 IDE lets to replica the entire development environment.
7) GitHub

GitHub is a powerful collaboration tool and development platform for code review and
code management. With this GitHub, the users can build applications and software,
manage the projects, host the code, review the code etc.
Key Features:
 With GitHub, developers can easily document their code and can host the same
from the repositories.
 GitHub’s project management tools help its users to stay aligned, co-ordinate easily
and get their task done accordingly.
 Few features of GitHub that make it a useful tool are its code security, access
control among the team members, integration with other tools etc.
 Few developers use GitHub for experimenting new programming languages in their
personal projects.
 GitHub can be hosted on servers and on a cloud platform. It runs on Windows and
Mac OS.
 GitHub is free for open source projects and public use. For developers it is charged
@ $7/month, for teams @ $9/month and for organizations it is $21/month.

8) NetBeans

NetBeans is an open source and a free software development tool written in Java that
develops world-class web, mobile, and desktop applications easily and quickly. It uses C /
C++, PHP, JavaScript, Java etc.
Key Features:
 NetBeans supports cross-platform and works on any operating system like Linux,
Mac OS, Solaris, Windows etc.
 NetBeans offers features like Smart Code Editing, writing bug-free code, easy
management process, and quick user interface development.
 Java applications can be easily updated to its newer editions using the code
analyzers, editors and converters offered by NetBeans 8 IDE.
 Features of NetBeans IDE that made it the best tool are debugging, profiling,
dedicated support from the community, powerful GUI builder, out of box working,
support for Java platforms etc.
 The well-organized code in NetBeans allows its new developers to understand the
structure of the application.
9) Bootstrap

Bootstrap is an open source and free framework for developing responsive websites and
mobile-first projects using CSS, HTML, and JS. Bootstrap is widely used to design faster
and simpler websites.
Key Features:
 As Bootstrap is an open source toolkit, one can customize it according to their
project’s requirement.
 Bootstrap is provided with built-in components which are used in accumulating
responsive websites by a smart drag and drop facility.
 Powerful features of Bootstrap like a responsive grid system, plug-ins, pre-built
components, sass variables & mixins allow its users to build their applications.
 Bootstrap is a front-end web framework that is used for quick modeling of the ideas
and building of the web applications.
 This tool guarantees consistency among all the developers or users working on the
project.

10) Bitbucket

Bitbucket is a distributed, web-based version control system that is used for collaboration
between software development teams (code and code review). It is used as a repository
for source code and development projects.
Key Features:
 Useful features of Bitbucket that makes it a powerful tool are its flexible
deployment models, unlimited private repositories, code collaboration on steroids
etc.
 Bitbucket supports few services like code search, issue tracking, Git large file
storage, bitbucket pipelines, integrations, smart mirroring etc.
 Using Bitbucket, one can organize the repositories into the projects with which they
can focus easily on their goal, process or product.
 To rationalize the development process of any software it can integrate into the
prevailing workflow.
 Bitbucket offers a free plan for 5 users with unlimited private repositories, standard
plan @ $2/user/month for growing teams and premium plan @ $5/user/month for
large teams.
11) AngularJS

AngularJS is an open source, structural and JavScript based framework used by web
developers to design web applications in a dynamic manner.
Key Features:
 AngularJS is fully expandable and works easily with other libraries. Each feature
can be replaced or edited as per the development workflow and project needs.
 AngularJS works well with data-driven applications if the site is updated regularly
as per the changes in the data.
 Advanced features of AngularJS are Directives, localization, dependency injection,
reusable components, form validation, deep linking, data binding etc.
 AngularJS is not a plug-in or browser extension. It is 100% client-side and works
on both mobile and desktop browsers like Safari, iOS, IE, Firefox, Chrome etc.
 AngularJS offers built-in protection against basic security holes which include
HTML injection attacks and cross-site scripting.

12) Eclipse

Eclipse is the most popular IDE that is used by Java developers in computer programming.
It is used to develop applications not only in Java but also in other programming languages
like C, C++, C#, PHP, ABAP etc.
Key Features:
 Eclipse is an open source group of projects, tools and collaborative working groups
which play a key role in the development of new solution and innovations.
 Eclipse Software Development Kit (SDK) is a free and open source software which
is used by the developers in programming as per their respective programming
languages.

 Eclipse is used in creating web, desktop and cloud IDEs which in turn delivers the
wide collection of add-on tools for software developers.
 Advantages of Eclipse are refactoring, code completion, syntax checking, rich
client platform, error debugging, industrial level of development etc.

 One can easily integrate Eclipse with other frameworks like TestNG, JUnit, and
other plug-ins.
13) Dreamweaver

Adobe Dreamweaver is an exclusive software program and programming editor that is


used for creating simple or complex websites. It supports many markup languages like
CSS, XML, HTML, and JavaScript.
Key Features:
 Dreamweaver is used across Linux and Windows operating systems including iOS
devices.
 Dreamweaver CS6 provides you with a preview option with which one can look at
the preview of the designed website on any desired device.
 The latest version of Dreamweaver is used to design responsive websites.
 Another version of Dreamweaver, named Dreamweaver CC combines a code editor
and a design surface termed as a Live view to offer some advanced features like
auto-completion of code, code collapsing, real-time syntax checking, syntax
highlighting and code inspection.
 Dreamweaver offers various plans, for individuals @ $19.99/month, for business @
$29.99/month and for schools or Universities @ $ 14.99/user/month.

14) Jira

Jira is the most popular software development tool that is used by agile teams for planning,
tracking and releasing the software.
Key Features:
 This tool is customizable and also has some prevailing features that are used in
every development phase.
 Using Jira, we can accomplish the work in progress, generate reports, backlogs etc.

 Few other important features of Jira software are Scrum boards, Kanban boards,
GitHub integration, Disaster recovery, Code Integration, Portfolio Management,
Sprint Planning, Project Management etc.

 Jira works for Windows and Linux/Solaris operating systems.


 Jira software pricing in the cloud for
small teams is $10/month per 10 users
and for 11 – 100 users it costs $7/user/month. For a free trial, this tool is available
for 7 days.

15) CloudForge

CloudForge is a Saas (Software as a service) product that is used for application


development. It is used for collaborative application development in the cloud.
Key Features:
 CloudForge is a secured and single cloud platform that is used by developers for
coding, connecting and deploying the applications.
 CloudForge elastically balances your projects, teams, and processes.
 It is used to manage and integrate various development tools.
 Features of CloudForge are Version control hosting, Bugs & issue tracking, Agile
planning, Visibility & reporting, deploying code to public & private clouds, etc.
 CloudForge is available for a 30 days free trial. Standard pack for small teams is
available @ $2/user/month and Professional pack for small business & enterprise
groups is available @ $10/user/month

16) Azure

Microsoft Azure is a cloud computing service that is used for designing, deploying, testing
and managing web applications or hybrid cloud applications through Microsoft’s global
network of data centers.
Key Features:
 Microsoft Azure offers various services like mobile services, data management,
storage services, messaging, media services, CDN, caching, virtual network,
business analytics, migrate apps & infrastructure etc.
 It supports various programming languages (.NET, Python, PHP, JavaScript etc),
widest range of operating systems (Linux, Windows etc), devices and frameworks.
 Detailed pricing information is available on their website. Sample example pricing
for “App Service” is Rs 0.86/hour and that too its free for the first 12 months.
 Using Azure, we can easily spot the threats and lessen them, deliver the mobile
apps flawlessly, manage the apps proactively etc.
(softwaretestinghelp,2020)
17) Visual Online:

Visual Studio Online is a collection of services. It is fast and easy to plan, build and ship
software across a variety of platforms. These software development tools allow the
organization to create the perfect development environment.
Features:
 Track and manage all ideas on kanban or scrum boards with agile tools
 Improve code quality and catch issues early
 Build, manage, secure and share software components
 Automate and simplify Azure deployments
 Tools for manual, performance and automated testing
 It offers a centralized version control system with free private repositories

(guru99,2020)

List of Software Development Methodologies

Agile development methodology


Teams use the agile development methodology to minimize risk (such as bugs, cost
overruns, and changing requirements) when adding new functionality. In all agile
methods, teams develop the software in iterations that contain mini-increments of the
new functionality. There are many different forms of the agile development method,
including scrum, crystal, extreme programming (XP), and feature-driven development
(FDD).
Pros: The primary benefit of agile software development is that it allows software to be
released in iterations. Iterative releases improve efficiency by allowing teams to find and fix
defects and align expectation early on. They also allow users to realize software benefits
earlier, with frequent incremental improvements.

Cons: Agile development methods rely on real-time communication, so new users often lack
the documentation they need to get up to speed. They require a huge time commitment from
users and are labor intensive because developers must fully complete each feature within
each iteration for user approval.

Agile development methods are similar to rapid application development (see below) and
can be inefficient in large organizations. Programmers, managers, and organizations
accustomed to the waterfall method (see below) may have difficulty adjusting to an agile
SDLC. So a hybrid approach often works well for them.

DevOps deployment methodology


DevOps is not just a development methodology but also a set of practices that supports an
organizational culture. DevOps deployment centers on organizational change that enhances
collaboration between the departments responsible for different segments of the
development life cycle, such as development, quality assurance, and operations.
Pros: DevOps is focused on improving time to market, lowering the failure rate of new
releases, shortening the lead time between fixes, and minimizing disruption while
maximizing reliability. To achieve this, DevOps organizations aim to automate continuous
deployment to ensure everything happens smoothly and reliably. Companies that use
DevOps methods benefit by significantly reducing time to market and improving customer
satisfaction, product quality, and employee productivity and efficiency.

Cons: Even in light of its benefits, there are a few drawbacks to DevOps:

 Some customers don’t want continuous updates to their systems.


 Some industries have regulations that require extensive testing before a project can
move to the operations phase.
 If different departments use different environments, undetected issues can slip into
production.
 Some quality attributes require human interaction, which slows down the delivery
pipeline.

Waterfall development method


Many consider the waterfall method to be the most traditional software development
method. The waterfall method is a rigid linear model that consists of sequential phases
(requirements, design, implementation, verification, maintenance) focusing on distinct goals.
Each phase must be 100% complete before the next phase can start. There’s usually no
process for going back to modify the project or
direction.

Pros: The linear nature of the waterfall development method makes it easy to understand
and manage. Projects with clear objectives and stable requirements can best use the waterfall
method. Less experienced project managers and project teams, as well as teams whose
composition changes frequently, may benefit the most from using the waterfall development
methodology.

Cons: The waterfall development method is often slow and costly due to its rigid structure
and tight controls. These drawbacks can lead waterfall method users to explore other
software development methodologies.

Rapid application development


Rapid application development (RAD) is a condensed development process that produces a
high-quality system with low investment costs. Scott Stiner, CEO and president of UM
Technologies, said in Forbes, “This RAD process allows our developers to quickly adjust to
shifting requirements in a fast-paced and constantly changing market.” The ability to quickly
adjust is what allows such a low investment cost.

The rapid application development method contains four phases: requirements planning,
user design, construction, and cutover. The user design and construction phases repeat until
the user confirms that the product meets all
requirements.

Pros: Rapid application development is most effective for projects with a well-defined
business objective and a clearly defined user group, but which are not computationally
complex. RAD is especially useful for small to medium projects that are time sensitive.

Cons: Rapid application development requires a stable team composition with highly skilled
developers and users who are deeply knowledgeable about the application area. Deep
knowledge is essential in a condensed development timeline that requires approval after
each construction phase. Organizations that don’t meet these requirements are unlikely to
benefit from RAD.

(synopsys,2020)

Prototype Methodology:

It is a specialized software development procedure that initiates developers towards making


only the sample of the resolution to validate its functional essence to the customers and
make essential changes before creating the authentic final solution.
In fact, the best part of this methodology is that it tends to resolve a set of diversifying
issues occurring with the waterfall method.
Pros:

1. Gives clear idea about the functional process of the software

2. Reduces the risk of failure in a software functionality

3. Assists well in requirement gathering and the overall analysis


Cons:

1. Chances of extension in management cost


2. Excessive involvement of client can

affect processing

3. Too many changes affect the workflow of the software

Spiral Model:
Being a highly sophisticated design, it is meant to reduce the early risks in the project.
As per the process going by, the developers initiate on a smaller level and explore the
included risks in it.

Further to this, the developers are intended towards crafting a plan for iterating of the
spiral.
The accomplishment of any Spiral Lifecycle model is based on consistent, observant, and
conversant management of the project.

Pros:

1. Risk factors are considerably reduced

2. Excellent for large and complex projects

3. Allows for additional functionality later

4. Suitable for highly risky projects with varied business needs


Cons:

1. Costly model in software development


2. Failure in risk analysis phase may

damage the whole project

3. Not appropriate for low-risk projects

4. Might get continued and never finish

Extreme Programming Methodology:


Extreme programming is identified by the fact that customer involvement in the software
development process is unbelievably high.

As an agile software engineering methodology, extreme programming methodology is


presently known as XP methodology.
It is chiefly used for crafting software within a very unbalanced atmosphere.
It enables greater tractability within the modeling procedure.
The foremost aim of this XP model is to reduce the cost of software essentialities.
It is fairly mutual in the XP model that the price of altering the requirements on future
stage in the project can be really whooping.
Pros:

1. It lays focus on customer involvement

2. Establishes rational plans and schedules

3. Developers are exceptionally committed to the project

4. Equipped with modernistic methods for quality software


Cons:
1. Effectiveness depends on the people

involved

2. Requires frequent meeting for development raising total costs

3. Necessitates for excessive development changes

4. Exact possibilities and future outcomes are really unknown

Scrum Development Methodology


SCRUM is the most widely preferred agile software development approach.
(Likewise, KANBAN is a process that helps teams to collaborate and work effectively.)
Basically, this excellent development is suitable for those development projects that are
constantly altering or extremely developing requirements.
The Scrum Software development model initiates with an ephemeral planning, conference
and completes with a concluding review.
This growth methodology is used for prompt development of software that happens to
include a series of iterations to generate required software.
It is a perfect approach because it effortlessly brings on track the deliberate progressing
projects.

Pros:
1. Decision making lies in the hands of the

team

2. Business requirement document is considered insignificant

3. Lightly controlled method empathizing with constant updating

Cons:

1. The processing method suffers because of wavering costs

2. Not suitable for big sized projects

3. Requires highly expert team, which has no place for novices

(acodez,2020)

Software Development Tools Comparison Table


(Here I chose Top 4 software development tools in various programing language)
Software Visual Studio Dream Weaver Eclipse NetBeans
Development
Tools / Features

Open Source Yes No Yes (with many Yes


commercial pug-
ins)

Distributed Yes Yes No Yes


Development

Open integration No No Yes No


Platform
Project Yes Yes Yes Yes
Management

Bug/issue Yes Yes Yes Yes


Tracking

Relationship Yes Yes No Yes


Tracking

Modeling Support Yes Yes Yes Yes

Metrics Support Yes No No Yes

Testing Support Yes Yes Yes Yes

Software Development Methodology Comparison Table


(Here I chose top 2 main Methodology in the software development process.)
Waterfall Methodology Agile Methodology

It separates the project Software development


development lifecycle into process is divided into
sprints. distinct phases.
It follows an incremental Waterfall methodology is a
approach sequential design process
Agile can be considered as a Software development will
collection of many different be completed as one single
projects. project.
Agile is quite a flexible There is no scope of
method which allows changing the requirements
changes to be made in the once the project development
project development starts.
requirements even if the
initial planning has been
completed.
Agile methodology, follow All the project development
an iterative development phases like designing,
development, testing, etc. are
approach because of this completed once in the
planning, development, Waterfall model.
prototyping and other
software development phases
may appear more than once.
Test plan is reviewed after The test plan is rarely
each sprint discussed during the test
phase.

Agile development is a The method is ideal for


process in which the projects which have definite
requirements are expected to requirements and changes
change and evolve. not at all expected.
Description of project details Detail description needs to
can be altered anytime implement waterfall software
during the SDLC process. development approach.
In Agile methodology, In this methodology, the
testing is performed "Testing" phase comes after
concurrently with software the "Build" phase
development.
The Agile Team members In the waterfall method, the
are interchangeable, as a process is always
result, they work faster. straightforward so, project
There is also no need for manager plays an essential
project managers because the role during every stage of
projects are managed by the SDLC.
entire team
(guru99 01,2020)

2.2. Select a software development methodology, software development tool and


techniques to deduce an application for the given scenario and justify the selections by
providing a detailed comparison

Here I selected agile methodology as software development methodology for PC World


Company. Because PC World company used water fall methodology For Previous order
Tracking System. in water fall methodology has lot of disadvantages.

Disadvantages of Waterfall Methodology


 Error can be fixed only during the phase
 It is not desirable for complex project where requirement changes frequently
 Testing period comes quite late in the developmental process
 Documentation occupies a lot of time of developers and tester
 Clients valuable feedback cannot be included with ongoing development phase
 Small changes or errors that arise in the
completed software may cause a lot of
problems

(guru99 02,2020)
and compare to waterfall model, agile methodology has more advantages than
disadvantages.
Advantages of Agile Methodology
 Customer satisfaction by rapid, continuous delivery of useful software.
 People and interactions are emphasized rather than process and tools. Customers,
developers and testers constantly interact with each other.
 Working software is delivered frequently (weeks rather than months).
 Face-to-face conversation is the best form of communication.
 Close, daily cooperation between business people and developers.
 Continuous attention to technical excellence and good design.
 Regular adaptation to changing circumstances.
 Even late changes in requirements are welcomed.

Use of Agile Methodology


 When new changes need to be implemented. The freedom agile gives to change is
very important. New changes can be implemented at very little cost because of the
frequency of new increments that are produced.
 To implement a new feature the developers, need to lose only the work of a few
days, or even only hours, to roll back and implement it.
 Unlike the waterfall model in agile model very limited planning is required to get
started with the project. Agile assumes that the end users’ needs are ever changing
in a dynamic business and IT world. Changes can be discussed and features can be
newly effected or removed based on feedback. This effectively gives the customer
the finished system they want or need.
 Both system developers and stakeholders alike, find they also get more freedom of
time and options than if the software was developed in a more rigid sequential way.
Having options gives them the ability to leave important decisions until more or
better data or even entire hosting programs are available; meaning the project can
continue to move forward without fear of reaching a sudden standstill.
(360logica,2020)
Based on this I selected agile methodology for PC World software development.

And then, based on PC World company requirement and this scenario required a web-based
Order tracking system for their company. For that Here I selected Visual Studio as Software
Development Tool for PC World Company System. Because it offers all the friendly and
experience programming language in this tool for develop a web-based system. also,
Dreamweaver tool available for web-based system development but it has lots of
disadvantages more than visual studio IDE.
Disadvantages of Dreamweaver
1. Adobe Dreamweaver isn’t browser-based.
How your coding looks within Adobe Dreamweaver can be different than how a browser
interprets the code that has been inputted. This means you can do everything right, but still
have a disappointing outcome because the coding isn’t responsive enough to meet cross-
platform needs.

2 It takes time to learn the interface.


You’ve got access to more than a dozen different items when you’re first getting started
with Adobe Dreamweaver. Depending on what files you may have open, you could have
50+ different things to look at on your screen. If you’re just getting started when it
comes to coding, this can be very intimidating.

3 What you see isn’t what you always get.


This is where the design view proves that it isn’t a browser-based view. This is
particularly bad when it comes to the absolute positioning of items you sometimes need
to have. If you rely on design view for your rendering, you’re almost 100% guaranteed
to come-up disappointed.

4 Your automatic coding options are non-specific.


Adobe Dreamweaver was designed to meet the most needs it possibly could for users far
and wide. Because of this, you’ll find that many code snippets tend to be very lengthy.
The validation of just one field, for example, may take up 15 lines of code. If you want a
streamlined site, it may be better to write the code by hand instead.

5 Global styling can become a major headache.


If users happen to use the properties bar on their text within older versions of Adobe
Dreamweaver, then it will almost always add an undefined document style to the coding.
Do this enough and you could have several dozen undefined styles that interrupt the
global styling of the site itself.

6 All of the many, many paragraphs in your code.


When you’re done with a line you’re typing, you hit “enter” on your keyboard, right?
That natural habit in the design view will add a lot of unnecessary paragraph codes into
your design. This doesn’t necessarily affect the site much, but it does make the coding a
bit difficult to read. If you hit “enter” after inserting a paragraph, you’ll even get this
code around your image.
7. Most users aren’t going to need a system
that is this comprehensive.
Because Adobe Dreamweaver is designed to help as many people as

possible, most users find that there are items contained within the program that they never
use.
(brandongaille,2016)
What is Visual Studio IDE?
Visual Studio IDE is a comprehensive development platform for cloud, web and multiple
operating systems. It provides users with a smooth interface that is easy to navigate,
allowing for faster and more accurate coding. Developers will have access to a range of
debugging tools which facilitates in diagnosing and profiling bugs. This would give
programmers the confidence of deploying their applications because they know that
they’ve got a set of tools which monitors any troubles that might cause performance errors.
Furthermore, Visual Studio IDE functions as a testing platform too. The IDE can be used
to simulate how applications will run in their selected environments. This is for ensuring
that once the application is deployed, it will run smoothly as tested.

Advantages of Visual Studio IDE Tool

Coding assistance
Regardless of the programming language being used, Visual Studio IDE offers users with a
real-time coding assistant. Its built-in IntelliSense provides descriptions and hints about the
API. It also helps in expediting the process through its auto-complete feature. Moreover,
Visual Studio IDE makes sure that developers don’t lose the last modification they made as
they go through the rest of the code.
Testing platform
The IDE has a host of tools, which are available to all languages, for easily finding and
diagnosing bugs. The debugging process can also be done remotely, locally, or even in the
middle of production. Aside from that, Visual Studio IDE is equipped with an application
testing platform which empowers developers in making sure that the products they will
deploy are of high quality. Thanks to this, programmers can shift their energies on other
aspects of development instead of spending too much time debugging errors.
Collaboration support
Visual Studio IDE’s makers believe that more set of eyes can do better than just one which
is why the platform is equipped with collaborative capabilities, thus increasing the
productivity of the team. All these tools are natively integrated within the development
lifecycle.
High customizability
Every user is provided with various customization options by the IDE in different forms, one
of which is extending functionalities by using add-ons and extensions are available from
Visual Studio Marketplace. On top of that,
developers can also publish their very own
extensions or add-ons.
(comparecamp,2020)

Based on these things I selected visual studio IDE as Software development tool for PC
World company.
2.3. Justify your solution for the given scenario using the selected software
development tool, techniques and software development methodology. Support your
justification by providing a comparison with other available software development
tools, techniques and software development methodologies.

In here I selected Web Based Application as solution for above scenario of PC World
Company. And also, I selected Agile Methodology as software Development methodology.
Because they previously used waterfall model as software development methodology, in that
scenario they faced lot of problems on it,
Problems
 Error can be fixed only during the phase
 It is not desirable for complex project where requirement changes frequently
 Testing period comes quite late in the developmental process
 Documentation occupies a lot of time of developers and tester
 Clients valuable feedback cannot be included with ongoing development phase
 Small changes or errors that arise in the completed software may cause a lot of
problems

(guru99 02,2020)
Because of that, here I selected Agile methodology as software development methodology
for PC World Company System. Agile Methodology has lots of benefits

Benefits
1. More Control: Incremental developments hold tremendous value for the project team and
the customer. Work can be broken into parts and conducted in rapid, iterative cycles. The
regular meetings that are part of agile allow project teams to share progress, discuss
problems and work out solutions. They also help make the entire process more transparent.

2. Better Productivity: The incremental nature of the agile method means that projects are
completed in shorter sprints, making them more manageable. It also allows products to be
rolled out quickly and changes to be easily made at any point during the process.
3. Better Quality: Because it is iterative, one
big benefit of agile methodology is the ability to
find problems and create solutions quickly and efficiently. The flexibility of the agile
method allows project teams to respond to customer reaction and constantly improve the
product.

4. Higher Customer Satisfaction: Close collaboration between the project team and the
customer provides immediate feedback. The customer is able to make tweaks to their
expectations and desires throughout the process. The result: a more satisfied customer.

5. Higher Return on Investment: The agile method’s iterative nature also means the end
product is ready for market faster, staying ahead of the competition and quickly reaping
benefits. The benefits of the agile method are cutting costs and time to market in half, while
increasing application quality and customer satisfaction.
(denysys,2020)

In hare I selected web-based application for current scenario of PC World Company. but
mobile based application also suitable for this scenario but mobile based application has
lots of disadvantages. that is what I selected eb based application for this scenario.

Disadvantages of Mobile based Application


1. Insufficient Transport Layer Protection:
You should need the TLS/SSL encryption with solid algorithms within communications.
The unique blunder is unencrypted connections from the app to a third-party app
development company. You must program your apps to showcase any warn messages so
that the user is intercommunicated of the configuration of the encrypted connection.

2. Poor Authorization & Authentication:


These vulnerabilities are established mostly on the server side. The best exercises that you
should follow are the same with web apps. Especially for app development, device
identifiers ought to be ignored since devices can be removed and interfered with. Finally,
out-of-band authentication tokens should not be sent to the related device.

3. Client-Side Injection:
This category has consisted of a broad diverseness of input strikes against the application
itself. General best practices for reduction of client-side injection drawbacks cover the
input validation of the app entry points, on the server side. To avoid this, you should use
parameterized queries, disable file system access for Web views, JavaScript and plugin
support for Web views.
4. Wrong Session Handling:
While session handling mechanisms are largely applied at the server side of apps, secure
session management practices can be used in devices themselves. The Confidentiality &
Integrity of session tokens should be preserved via TLS/SSL connections. Like
authorization & authentication, device identifiers should be avoided here as well and you
should execute safe mechanisms to cancel session on lost devices.

5. Security Resolutions Through Untrusted Inputs:


While these issues primarily affect Android-based apps, there has been a case in point for
iPhone apps too. Usually and especially, output escaping, authorization controls, input
validation, and canonicalization should be carefully analyzed. Also, you should take extra
care when to accept and validate URL schemes.

6. Side Channel Data Leakage:


This comprises of data exchange that normally maximizes the app performance. As with
Weak Data Storage, you should develop your app under the premise that the device might
be taken. The application should be dynamically examined in order to prove that it does not
leak the data while runtime.

7. Malware:
There are lots of malware that people forced to install from the play store due to hidden
identity wrapped inside the application. While there is a Google Bouncer open at the play
store to auto detect and block any type of Malware but yet it fails to do. So, to assure a
good app, developers must check if the app contains any malware or not. Also, there are
lots of free as well as paid Anti-Malware apps available to preserve you from the hateful
application.
(hyperlinkinfosystem,2020)

What is Web Based Application?


A web-based application is any program that is accessed over a network connection using
HTTP, rather than existing within a device’s memory. Web-based applications often run
inside a web browser. However, web-based applications also may be client-based, where a
small part of the program is downloaded to a user’s desktop, but processing is done over
the internet on an external server.
Web-based applications are also known as web apps.

There is a lot of confusion created by the use of terms like web-based, internet-based and
cloud-based when referring to applications. Web-based applications actually encompass all
the applications that communicate with the user via HTTP. This includes light applications
like Flash games, online calculators, calendars and so on, as well as more intensive
applications such as web-based word processors and spreadsheet applications.
(techopedia,2020)
Advantages and Benefits of Web Based Application

Accessibility across devices for users


SaaS applications can be used on most browsers and will work uniformly on every
operating system, regardless of the update or version being used. This aids problem solving
too, because of the consistency for every user.

The good news is that most desktop software can actually be developed into a web-based
application, which means that you can use it wherever you are, from any mobile device.
This gives the user choice as to when and where they use the application, promoting
flexible working within businesses to increase the overall employee productivity.

Customization for different devices


Content within web-based applications can be easily customized for use on various
devices, such as mobile. This makes the application user-friendly, and pleasant to use since
the presentation of information can be altered accordingly. In fact, it is actually easier to
customize web-based applications than it is for standard desktop applications. Web-based
software can also be responsive to change based on browser. This supports mobile working
and ensures employees have the software at their fingertips whenever required.

Integration with other systems


Web-based applications give a far greater ability to integrate with other systems than
desktop applications. Localized software is isolated compared to web-based applications
which are significantly more interoperable. This is because web applications can be linked
together more easily than two completely separate systems.

Maintenance headaches removed


Deploying SaaS applications is a simple process to roll out across the business. Access is
granted once the software is installed onto the host server. Every time there is an upgrade

this can be applied through the host server without the need to upgrade each machine. This
means that new software or upgrades are implemented more easily, and maintenance can
be carried out through a central point. The time
taken to make changes is reduced, and the
system is consistent.

Increased flexibility and scalability


Just as upgrades are simple to implement, this means that it is also simple to increase the
capacity of the application to grow with your business. As you require more processes to
happen simultaneously, your web-based software can facilitate it. Where issues occur,

servers can be replaced completely without an effect on the entire operating system. This
therefore decreases any downtime that you may otherwise experience.

Protecting your data


Web-based applications offer a good way of accessing centralized data securely. Servers
will only be accessed directly by the person or team managing them. Through the use of
cloud computing, servers can be fully redundant and replicated to prevent downtime as a
result of a disaster. This avoids the need to maintain the security of every device on which
the application is being used. Overall, the risk of unauthorized access is reduced and
putting security measures in place is simpler, since it is done centrally.

Using web-based applications


Web-based applications could offer a range of benefits to your business. The easy initial
development and growth makes them worthwhile to manage, as well as providing flexible
working to your employees.
(geeks 1,2020)
Based on these things I selected Web based application as solution for this scenario of PC
World Company.

Activity 03

3.1. Create a presentation to evaluate the business application, problem definition


statement, proposed solution and the selected development plan. Conduct a proper
peer review using the prepared presentation and document feedback and
amendments.
Peer Review
Basic information
Name: Sajidh Zhukoor
Date: 29th January 2021
ID: COL/E-008454
Topic: Different of Manual and computerized system Effectively Business Application

Summarize the research


Research Question: Problems at current system and provide solution
What are the problems at manual information system?
Advantages and Disadvantages of Manual information system
Solution for the organization
How was Computerized information system better than manual information system?
Advantage and Disadvantages of Computerized information system

Strengths and weaknesses


Strengths
 Accurate details of current problems
 Best solution
 Brief explanation of computerized system
 Clean presentation
Weaknesses
 More details missing about current system problems
 Lack of images in Presentation
 Over text added in pentation

3.2. Develop a functional business application with support documentation as a business


solution to the PC World company based on the criteria provided with the software design
document. Provide the evidence for using the selected development tools, techniques and
methodology in developing the application.

PC World Company

Login Form
In pc world company scenario, they mentioned several types of users for web site. Here I
designed login form for two types of users. User can login as a producer or member by
selecting their category in login area. Login form prototype as follows.

Registration Form
PC World Company new user must register in the Web site for login. Every user must
provide details for register. The producers have to insert more details than normal users to
get registration complete. User Registration form prototype as follows.
3.3. Interpret the feedback and Identify any new improvements for your solution. Evaluate
the identified improvements and justify the reason for including/ not including the
improvements / new insight in your application.
Reference list
 (Dr. Ralph F. Wilson,2020 viewed on 15th December 2020.
<https://www.practicalecommerce.com/cart_intro>)

 (geeksforgeeks,2020), viewed on 26th December 2020<


https://www.geeksforgeeks.org/different-types-of-risks-in-software-project-
development/>)
 (softwaretestinghelp 1 ,2020, viewed on 26th December
2020<https://www.softwaretestinghelp.com/what-is-sdlc-waterfall-model/
#:~:text=Waterfall%20model%20is%20an%20example,tasks%20and%20has
%20different%20objectives.>)
 (softwaretestinghelp,2020 viewed on 28th December
2020<https://www.softwaretestinghelp.com/software-development-tools/>)
 (synopsys,2020,viewed on 28th December
2020<https://www.synopsys.com/blogs/software-security/top-4-software-
development-methodologies/>)
 (guru99,2020 viewed on 28th December 2020<https://www.guru99.com/software-
development-tools.html>)

 (acodez,2020, viewed on 28th December 2020<https://acodez.in/12-best-software-


development-methodologies-pros-cons/>)
 (guru99 01,2020, viewed on 28th December
2020<https://www.guru99.com/waterfall-vs-agile.html>)
 (guru99 02,2020 viewed on 29th December 2020<https://www.guru99.com/what-is-
sdlc-or-waterfall-model.html>)
 (360logica,2020 viewed on 29th December
2020<https://www.360logica.com/blog/agile-development-advantages-
disadvantages-and-when-to-use-it/>)
 (comparecamp,2020,viewed 29th December 2020<https://comparecamp.com/visual-
studio-ide-review-pricing-pros-cons-features/>)
 (brandongaille,2016, viewed on 29th December 2020<https://brandongaille.com/16-
adobe-dreamweaver-pros-and-cons/>)
 (denysys,2020, viewed on 29th December 2020<https://www.denysys.com/blog/5-
benefits-of-agile-methodology/>)
 (geeks 1,2020, viewed on 29th December
2020<https://www.geeks.ltd.uk/about-us/blog/details/eQU5Ip/the-benefits-of-using-
web-based-applications#:~:text=Compared%20to%20desktop%20applications%2C
%20web,wish%20to%20access%20it%20from.>)
 (techopedia,2020, viewed on 29th
December
2020<https://www.techopedia.com/definition/26002/web-based-
application#:~:text=A%20web%2Dbased%20application%20is,run%20inside%20a
%20web%20browser.>)
 (hyperlinkinfosystem,2020, viewed on 29th December
2020<https://www.hyperlinkinfosystem.com/blog/7-drawbacks-of-mobile-
applications-know-how-to-avert-them>)
 (blog.udacity,2020, viewed on 7th January
2020<https://blog.udacity.com/2014/12/front-end-vs-back-end-vs-full-stack-web-
developers.html>)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy