Unit 30 Application Development Assignment Brief
Unit 30 Application Development Assignment Brief
Does each task show which criteria are being addressed? 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
Assignment title
Student’s name
List which assessment criteria Pass Merit Distinction
the Assessor has awarded.
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
Resubmission Feedback:
* 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.
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.
Academic Year
Unit Tutor
Assignment Title
Issue Date
Submission 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.
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.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.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)
Strengths: Weaknesses:
Future Improvements & Assessor Comment:
Assessor: Signature:
Date: ____/____/______
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
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
(geeksforgeeks,2020)
Phase of the Task Risk/Risks Impact
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.
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.
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.
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
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.
15) CloudForge
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)
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.
Cons: Even in light of its benefits, there are a few drawbacks to DevOps:
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.
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:
affect processing
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:
involved
Pros:
1. Decision making lies in the hands of the
team
Cons:
(acodez,2020)
(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.
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.
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.
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.
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.
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)
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
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.
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.
servers can be replaced completely without an effect on the entire operating system. This
therefore decreases any downtime that you may otherwise experience.
Activity 03
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>)