SlideShare a Scribd company logo
1 of 10
Download to read offline
https://allaboutpaki.com/
S
SubmittedTo:
SubmittedBy:
"In The Name of Allah, The Most Beneficent, The Most Merciful"
Software Design And Architecture
Topic :
University ofthe Punjab
MAY 10, 2020
Research paper
Ma’am Sajiya Osama
MIT18-209
MSC-IT 4th SEMESTER
Hasnain Qayyum
https://allaboutpaki.com/
Abstract
Although the word “heterogeneous” is commonly used to describe web software, we
might easily forget to notice in how many ways it can be applied. This paper
discusses some of the unique technological aspects of building web software
applications, the unique requirements of quality attributes, and how they can be
achieved. Web applications have very high requirements for a number of quality
attributes. Some of these quality attributes have been important in other (mostly
relatively small) segments of the industry, but some of them are relatively
new. These exciting changes have been fuelled by many changes in software
technology, the software development process, and how software is deployed.
Summary
The World Wide Web (WWW) was utilized to make data accessible to web surfers.
These energizing changes have been fuelled by numerous adjustments in software
technology, the software development process, and how software is sent. In spite
of the fact that "heterogeneous" is generally used to portray web software, we may
effectively neglect to see from numerous points of view it very well may be applied.
Truth be told, the equal term "assorted" is progressively broad and recognizable and
might be increasingly proper. Web software applications utilize assorted sorts of
equipment, they incorporate a differing assortment of kinds of usage dialects, they
are made out of software written in various dialects, and they are worked by
assortments of individuals with exceptionally different arrangements of aptitudes.
https://allaboutpaki.com/
Despite the fact that these adjustments in how web applications are constructed are
intriguing and interesting, one of the most exceptional parts of web software
applications is regarding the necessities they should fulfil. Web applications have
exceptionally high prerequisites for various quality attributes. A portion of these
quality attributes have been significant in other (generally moderately little)
fragments of the business, yet some of them are moderately new. This paper talks
about a portion of the novel specialized parts of building web software applications,
the interesting prerequisites of quality attributes, and how they can be
accomplished.
https://allaboutpaki.com/
Pros and cons
Pros
 Web apps are developed with programming languages such as HTML and CSS, which are
well known among IT professionals.
 Unlike native apps, a single web app is able to reach out to all devices. It’s programmed
to run on any operating system.
 These apps run on the device’s own web browser through a simple URL.
 They don’t need to be downloaded and installed from app stores like Google Play or
Apple’s App Store.
 They may also open websites. This means that they don’t require to be updated in the
way common apps do.
 The most important benefit you can draw off from it is its price. Web app development
is the cheaper kind of app development.
 Web app’s development time is lower.
 Centralized storage on the server means fewer security concerns about local storage
(which is important for sensitive information such as health care data)
Cons
 The website must, of course, be programmed in a way it can be shown regardless of the
device’s operating system. If it’s not a responsive website, you could experience
problems when displaying it on iOS, Android, or Windows Phone.
 You will have to spend the money you intended to save developing the application
in improving your website.
 If your website undergoes any kind of issue, your application will be in trouble too.
Don’t assume that your web app will work perfectly if you don’t have a quality
corporate website.
 An Internet connection will be an absolute must to run it.
 It will also lose visibility as it will not be on display in the stores.
 There will be some access restrictions as to certain hardware features of the device it’s
running on.
 Problems with certain websites on certain browsers not looking quite right.
 Concerns over the storage, licensing, and use of uploaded data.
https://allaboutpaki.com/
Quality attribute
 Interoperability describes the ability of a service to communicate with other services
and allow other services to communicate with it. It measures how freely information
can be exchanged. Measures like programming language agnostic data formats, content
negotiation, backwards compatible APIs, etc. can support interoperability between
services.
 Reliability reflects the ability of a service to operate correctly. Automation to enable
roll-backs and recovery can reduce the mean time between failures (MTBF).
 Availability is the ability of a service to answer to requests / be accessible. Uptime can
be increased by adding fault-tolerance measures and resilience, e.g. through
redundancy.
 Usability measures the quality of user experience (UX) a service provides. It can be
increased by having a UX focused development workflow. As an unavailable or slow
service is also not usable there is a strong dependency between usability and other
attributes.
 Security has two major aspects: Confidentiality (access only granted to authorize users)
and authenticity (trust the provided information). Helpful techniques are found in the
area of cryptography, e.g. encryption and digital signatures. Additionally you should
implement secure processes like regularly invalidating or rotating credentials or
enforcing two factor authentication. Check how you are doing by executing regular
penetration tests.
 Performance is a broad topic. In the context of services people often refer to response
time or latency as a performance measure. It can be achieved by choosing the right
algorithms and data structures for the problem and sizing the system according to the
load. Add automated performance or load tests to detect regressions.
 Scalability describes the ability to deal with changes. When talking about scalability it is
important to define what changes the system is reacting to, e.g. an increased number of
users, new products offered in a shop, more requests coming in, or even more
developers joining the company. Scalability is most commonly achieved by decoupling
and separation of concerns in combination with choosing algorithms and data structures
that allow a performance increase by adding more resources.
https://allaboutpaki.com/
 Extensibility represents the ability to add functionality to a component without
touching other components or parts of the system. Architectures that involve loose
coupling, communication standards and evolution friendly interfaces and schemas
promote extensibility.
 Adaptability influences how easy it is to change the system if requirements have
changed. Similarly to extensibility this can be achieved by loose coupling, but also
through abstraction, e.g. putting a layer between your database and application so you
can exchange the database technology. Adaptability is also influenced by configurability.
 Testability matters when it comes to building and automating tests of individual
components, interactions between components, as well as the system as a whole. In
addition to that it is also crucial to know how well these tests can detect errors.
Testability is especially hard in distributed systems or service oriented architectures, as
components are connected through an unreliable network, different versions of services
might exist, and there is no single entity that knows the internal state of all components.
Note as well that behaviour of dynamic environments involving auto-scaling and service
discovery might be hard to predict.
 Auditability captures the ability to perform audits of the system. Audits might be
required for legal, security, or financial reasons, for example. Auditability is a tough goal
as it requires all services involved in a process to be auditable. Generally, having
immutable storage and versioning of events and data already contributes a great deal
towards an auditable system.
 Observability expresses whether changes in a systemare reflected, if possible, in a
quantitative manner. Promoting a Dev. Ops culture can increase observability because
the team responsible for change is also responsible for operations, which greatly
benefits from rich metrics being available.
 Operability characterizes the ease at which the systemcan be deployed and operated
during runtime. Besides observability, operations can be supported by automation.
Techniques like chaos engineering can put your operability to the test by introducing
errors on purpose.
 Correctness: The correctness of a software system refers to Agreement of program code
with specifications. Independence of the actual application of the software system.
The correctness of a program becomes especially critical when it is embedded in a
complex software system.
 Efficiency: ability of a software system to fulfil its purpose with the best possible
utilization of all necessary resources (time, storage, transmission channels, and
peripherals).
 Portability: the ease with which a software systemcan be adapted to run on computers
other than the one for which it was designed. The portability of a software system
https://allaboutpaki.com/
depends on, Degree of hardware independence, Implementation language Extent of
exploitation of specialized systemfunctions Hardware properties Structuredness:
System-dependent elements are collected in easily interchangeable program
components.
 Maintainability: Maintainability = suitability for debugging (localization and correction
of errors) and for modification and extension of functionality.
 Learnability: Learnability of a software systemdepends on: The design of user
interfaces, the clarity and the simplicity of the user instructions (tutorial or user
manual).The user interface should present information as close to reality as possible and
permit efficient utilization of the software’s failures.
 Modifiability determines how many common changes need to be made to the system
to make changes to each item. The ideal is the case where each change affects only one
element.
https://allaboutpaki.com/
 Supportability is the ability of the systemto provide useful information for identifying
and solving problems. The main issues in ensuring supportability can be addressed with
the following means:
 Accessibility in the sense considered here refers to the design of products, devices,
services, or environments so as to be usable by people with disabilities. The concept of
accessible design and practice of accessible development ensures both "direct access"
(i.e. unassisted) and "indirect access" meaning compatibility with a person's assistive
technology (for example, computer screen readers).
 Compatibility The state of being compatible; in which two or more things are able to
exist or work together in combination without problems or conflict.
(Telecommunications) the capability of two or more items or components of equipment
or material to exist or function in the same systemor environment without mutual
interference. (Computing) the ability to execute a given program on different types of
computers without modification of the program or the computers. See backward
compatibility and forward compatibility. (Computing) the capability that allows the
substitution of one subsystem (storage facility), or of one functional unit (e.g.,
hardware, software), for the originally designated systemor functional unit in a
relatively transparent manner, without loss of information and without the introduction
of errors.
 Accuracy is closeness of the measurements to a specific value, while precision is the
closeness of the measurements to each other. More commonly, it is a description of
systematic errors, a measure of statistical bias; low accuracy causes a difference
between a result and a "true" value. ISO calls this trueness.
https://allaboutpaki.com/
 Extensibility is a software engineering and systems design principle that provides for
future growth. Extensibility is a measure of the ability to extend a systemand the level
of effort required to implement the extension. Extensions can be through the addition
of new functionality or through modification of existing functionality. The principle
provides for enhancements without impairing existing systemfunctions.
 Portability in high-level computer programming is the usability of the same software in
different environments. The prerequirement for portability is the
generalized abstraction between the application logic and system interfaces. When
software with the same functionality is produced for several computing platforms,
portability is the key issue for development cost reduction.

Effectiveness is the capability of producing a desired result or the ability to produce
desired output. When something is deemed effective, it means it has an intended or
expected outcome, or produces a deep, vivid impression.
 Durability is the ACID property which guarantees that transactions that have committed
will survive permanently. For example, if a flight booking reports that a seat has
successfully been booked, then the seat will remain booked even if the system crashes.

Resolvability is defined as the capacity of a systemfor adaptive evolution. Resolvability
is the ability of a population of organisms to not merely generate genetic diversity, but
to generate adaptive genetic diversity, and thereby evolve through natural selection.
 Flexibility is used as an attribute of various types of systems. In the field
of engineering systems design, it refers to designs that can adapt when external changes
occur. Flexibility has been defined differently in many fields of engineering, architecture,
biology, economics, etc. In the context of engineering design one can define flexibility as
the ability of a systemto respond to potential internal or external changes affecting its
value delivery, in a timely and cost-effective manner. Thus, flexibility for an engineering
system is the ease with which the system can respond to uncertainty in a manner to
sustain or increase its value delivery. Uncertainty is a key element in the definition of
flexibility. Uncertainty can create both risks and opportunities in a system, and it is with
the existence of uncertainty that flexibility becomes valuable.
 https://allaboutpaki.com/https://allaboutpaki.com/
 Simplicity is the state or quality of being simple. Something easy to understand or
explain seems simple, in contrast to something complicated. Alternatively, as Herbert A.
Simon suggests, something is simple or complex depending on the way we choose to
describe it. In some uses, the label "simplicity" can imply beauty, purity, or clarity. In
other cases, the term may suggest a lack of nuance or complexity relative to what is
required.
 Traceability is the capability to trace something. In some cases, it is interpreted as the
ability to verify the history, location, or application of an item by means of documented
https://allaboutpaki.com/
recorded identification. Other common definitions include the capability (and
implementation) of keeping track of a given set or type of information to a given degree,
or the ability to chronologically interrelate uniquely identifiable entities in a way that is
verifiable.
 Usability can be described as the capacity of a systemto provide a condition for its
users to perform the tasks safely, effectively, and efficiently while enjoying the
experience. In software engineering, usability is the degree to which a software can be
used by specified consumers to achieve quantified objectives with effectiveness,
efficiency, and satisfaction in a quantified context of use.

Understanding is a psychological process related to an abstract or physical object, such
as a person, situation, or message whereby one is able to think about it and
use concepts to deal adequately with that object. Understanding is a relation between
the knower and an object of understanding. Understanding implies abilities and
dispositions with respect to an object of knowledge that are sufficient to support
intelligent behaviour.
 Simplicity is the state or quality of being simple. Something easy to understand or
explain seems simple, in contrast to something complicated. Alternatively, as Herbert A.
Simon suggests, something is simple or complex depending on the way we choose to
describe it. In some uses, the label "simplicity" can imply beauty, purity, or clarity. In
other cases, the term may suggest a lack of nuance or complexity relative to what is
required.

Robustness is the ability of a computer systemto cope with errors during execution and
cope with erroneous input. Robustness can encompass many areas of computer science,
such as robust programming, robust machine learning, and Robust Security Network.
Formal techniques, such as fuzz testing, are essential to showing robustness since this
type of testing involves invalid or unexpected inputs. Alternatively, fault injection can be
used to test robustness. Various commercial products perform robustness testing of
software analysis.
 Responsiveness as a concept of computer science refers to the specific ability of a
system or functional unit to complete assigned tasks within a given time. For example, it
would refer to the ability of an artificial intelligence systemto understand and carry out
its tasks in a timely fashion. It is one of the criteria under the principle
of robustness (from a v principle). The other three are observability, recoverability,
and task conformance.
 Relevance is the concept of one topic being connected to another topic in a way that
makes it useful to consider the second topic when considering the first. The concept of
relevance is studied in many different fields, including cognitive sciences, logic,
and library and information science. Most fundamentally, however, it is studied
https://allaboutpaki.com/
in epistemology (the theory of knowledge). Different theories of knowledge have
different implications for what is considered relevant and these fundamental views have
implications for all other fields as well.
 Predictability is the degree to which a correct prediction or forecast of
a system's state can be made either qualitatively or quantitatively.
 Interchangeable parts are parts (components) thatare,forpractical purposes,identical.They
are made to specifications thatensure thattheyare sonearlyidentical thattheywill fitintoany
assemblyof the same type.One suchpart can freelyreplace another,withoutanycustom
fitting,suchas filing.Thisinterchangeabilityallowseasyassemblyof new devices,andeasier
repairof existing
https://allaboutpaki.com/
https://allaboutpaki.com/
https://allaboutpaki.com/
https://allaboutpaki.com/

More Related Content

What's hot

Introduction to Micro Services
Introduction to Micro ServicesIntroduction to Micro Services
Introduction to Micro ServicesShashi Shekhar
 
Progressive Web Apps in Healthcare
Progressive Web Apps in HealthcareProgressive Web Apps in Healthcare
Progressive Web Apps in HealthcareCitiusTech
 
Toan Tran_Resume_2016
Toan Tran_Resume_2016Toan Tran_Resume_2016
Toan Tran_Resume_2016Toan Tran
 
Robert donald resume iam 1
Robert donald resume iam 1Robert donald resume iam 1
Robert donald resume iam 1Robert Donald
 
IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET Journal
 
Chaitanya r b resume
Chaitanya r b resumeChaitanya r b resume
Chaitanya r b resumeChaitanya Rb
 
Mobile Workforce Applications for Home Health & Hospice
Mobile Workforce Applications for Home Health & HospiceMobile Workforce Applications for Home Health & Hospice
Mobile Workforce Applications for Home Health & Hospicecwongsala
 
Commonware
CommonwareCommonware
CommonwareImneet
 
Modern Microservices Architecture with Docker
Modern Microservices Architecture with DockerModern Microservices Architecture with Docker
Modern Microservices Architecture with DockerEran Stiller
 
IRJET- Enabling Identity-Based Integrity Auditing and Data Sharing with Sensi...
IRJET- Enabling Identity-Based Integrity Auditing and Data Sharing with Sensi...IRJET- Enabling Identity-Based Integrity Auditing and Data Sharing with Sensi...
IRJET- Enabling Identity-Based Integrity Auditing and Data Sharing with Sensi...IRJET Journal
 
ISV Integrations
ISV IntegrationsISV Integrations
ISV Integrationsmufflerdog
 
Maulik-Dusara-SSE-TL-Net
Maulik-Dusara-SSE-TL-NetMaulik-Dusara-SSE-TL-Net
Maulik-Dusara-SSE-TL-NetMaulik Dusara
 

What's hot (20)

Introduction to Micro Services
Introduction to Micro ServicesIntroduction to Micro Services
Introduction to Micro Services
 
Sakshi Report
Sakshi ReportSakshi Report
Sakshi Report
 
Progressive Web Apps in Healthcare
Progressive Web Apps in HealthcareProgressive Web Apps in Healthcare
Progressive Web Apps in Healthcare
 
SANJAY_SINGH
SANJAY_SINGHSANJAY_SINGH
SANJAY_SINGH
 
Toan Tran_Resume_2016
Toan Tran_Resume_2016Toan Tran_Resume_2016
Toan Tran_Resume_2016
 
Robert donald resume iam 1
Robert donald resume iam 1Robert donald resume iam 1
Robert donald resume iam 1
 
IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...
 
Chaitanya r b resume
Chaitanya r b resumeChaitanya r b resume
Chaitanya r b resume
 
Archana resume 2019
Archana resume 2019Archana resume 2019
Archana resume 2019
 
icv
icvicv
icv
 
Mobile Workforce Applications for Home Health & Hospice
Mobile Workforce Applications for Home Health & HospiceMobile Workforce Applications for Home Health & Hospice
Mobile Workforce Applications for Home Health & Hospice
 
integeration
integerationintegeration
integeration
 
Commonware
CommonwareCommonware
Commonware
 
Modern Microservices Architecture with Docker
Modern Microservices Architecture with DockerModern Microservices Architecture with Docker
Modern Microservices Architecture with Docker
 
IRJET- Enabling Identity-Based Integrity Auditing and Data Sharing with Sensi...
IRJET- Enabling Identity-Based Integrity Auditing and Data Sharing with Sensi...IRJET- Enabling Identity-Based Integrity Auditing and Data Sharing with Sensi...
IRJET- Enabling Identity-Based Integrity Auditing and Data Sharing with Sensi...
 
ISV Integrations
ISV IntegrationsISV Integrations
ISV Integrations
 
Web engineering lecture 3
Web engineering lecture 3Web engineering lecture 3
Web engineering lecture 3
 
SrikanthEmani
SrikanthEmaniSrikanthEmani
SrikanthEmani
 
Sam and the Cloud
Sam and the CloudSam and the Cloud
Sam and the Cloud
 
Maulik-Dusara-SSE-TL-Net
Maulik-Dusara-SSE-TL-NetMaulik-Dusara-SSE-TL-Net
Maulik-Dusara-SSE-TL-Net
 

Similar to Quality Attributes of Web Software Applications ∗

Quality Attributes of Web Software
Quality Attributes of Web Software Quality Attributes of Web Software
Quality Attributes of Web Software hasnainqayyum1
 
Web Application Architecture: Everything You Need to Know About
Web Application Architecture: Everything You Need to Know AboutWeb Application Architecture: Everything You Need to Know About
Web Application Architecture: Everything You Need to Know AboutNoman Shaikh
 
Web Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureWeb Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureVersatile Mobitech
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06Jay van Zyl
 
Web Engineering - Web Applications versus Conventional Software
Web Engineering - Web Applications versus Conventional SoftwareWeb Engineering - Web Applications versus Conventional Software
Web Engineering - Web Applications versus Conventional SoftwareNosheen Qamar
 
Top 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringTop 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringConvetit
 
IRJET- Website Health Checker
IRJET- Website Health CheckerIRJET- Website Health Checker
IRJET- Website Health CheckerIRJET Journal
 
Software Dependencies
Software DependenciesSoftware Dependencies
Software DependenciesTamika Brown
 
Road ahead for performance testing
Road ahead for performance testingRoad ahead for performance testing
Road ahead for performance testingDeb Hota
 
Software And Its Types
Software And Its TypesSoftware And Its Types
Software And Its TypesJessica Briggs
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 
project on Agile approach
project on Agile approachproject on Agile approach
project on Agile approachPrachi desai
 
Nt1310 Unit 5 Core Technologies
Nt1310 Unit 5 Core TechnologiesNt1310 Unit 5 Core Technologies
Nt1310 Unit 5 Core TechnologiesAshley Gomez
 
The F5 Networks Application Services Reference Architecture (White Paper)
The F5 Networks Application Services Reference Architecture (White Paper)The F5 Networks Application Services Reference Architecture (White Paper)
The F5 Networks Application Services Reference Architecture (White Paper)F5 Networks
 
Improved Strategy for Distributed Processing and Network Application Developm...
Improved Strategy for Distributed Processing and Network Application Developm...Improved Strategy for Distributed Processing and Network Application Developm...
Improved Strategy for Distributed Processing and Network Application Developm...Editor IJCATR
 
Improved Strategy for Distributed Processing and Network Application Development
Improved Strategy for Distributed Processing and Network Application DevelopmentImproved Strategy for Distributed Processing and Network Application Development
Improved Strategy for Distributed Processing and Network Application DevelopmentEditor IJCATR
 
netsuite-integration-whitepaper
netsuite-integration-whitepapernetsuite-integration-whitepaper
netsuite-integration-whitepaperOlivier Gagnon
 

Similar to Quality Attributes of Web Software Applications ∗ (20)

Quality Attributes of Web Software
Quality Attributes of Web Software Quality Attributes of Web Software
Quality Attributes of Web Software
 
C0371019027
C0371019027C0371019027
C0371019027
 
Web Application Architecture: Everything You Need to Know About
Web Application Architecture: Everything You Need to Know AboutWeb Application Architecture: Everything You Need to Know About
Web Application Architecture: Everything You Need to Know About
 
Web Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureWeb Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application Architecture
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06
 
Web Engineering - Web Applications versus Conventional Software
Web Engineering - Web Applications versus Conventional SoftwareWeb Engineering - Web Applications versus Conventional Software
Web Engineering - Web Applications versus Conventional Software
 
Top 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringTop 8 Trends in Performance Engineering
Top 8 Trends in Performance Engineering
 
IRJET- Website Health Checker
IRJET- Website Health CheckerIRJET- Website Health Checker
IRJET- Website Health Checker
 
Software Dependencies
Software DependenciesSoftware Dependencies
Software Dependencies
 
Road ahead for performance testing
Road ahead for performance testingRoad ahead for performance testing
Road ahead for performance testing
 
Software And Its Types
Software And Its TypesSoftware And Its Types
Software And Its Types
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
project on Agile approach
project on Agile approachproject on Agile approach
project on Agile approach
 
Middleware – Its Types, Architecture, and Benefits.docx
Middleware – Its Types, Architecture, and Benefits.docxMiddleware – Its Types, Architecture, and Benefits.docx
Middleware – Its Types, Architecture, and Benefits.docx
 
Nt1310 Unit 5 Core Technologies
Nt1310 Unit 5 Core TechnologiesNt1310 Unit 5 Core Technologies
Nt1310 Unit 5 Core Technologies
 
The F5 Networks Application Services Reference Architecture (White Paper)
The F5 Networks Application Services Reference Architecture (White Paper)The F5 Networks Application Services Reference Architecture (White Paper)
The F5 Networks Application Services Reference Architecture (White Paper)
 
web security
web securityweb security
web security
 
Improved Strategy for Distributed Processing and Network Application Developm...
Improved Strategy for Distributed Processing and Network Application Developm...Improved Strategy for Distributed Processing and Network Application Developm...
Improved Strategy for Distributed Processing and Network Application Developm...
 
Improved Strategy for Distributed Processing and Network Application Development
Improved Strategy for Distributed Processing and Network Application DevelopmentImproved Strategy for Distributed Processing and Network Application Development
Improved Strategy for Distributed Processing and Network Application Development
 
netsuite-integration-whitepaper
netsuite-integration-whitepapernetsuite-integration-whitepaper
netsuite-integration-whitepaper
 

Recently uploaded

What is the Future of QuickBooks DeskTop?
What is the Future of QuickBooks DeskTop?What is the Future of QuickBooks DeskTop?
What is the Future of QuickBooks DeskTop?TechSoup
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17Celine George
 
Diploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfDiploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfMohonDas
 
Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...raviapr7
 
Department of Health Compounder Question ‍Solution 2022.pdf
Department of Health Compounder Question ‍Solution 2022.pdfDepartment of Health Compounder Question ‍Solution 2022.pdf
Department of Health Compounder Question ‍Solution 2022.pdfMohonDas
 
5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...CaraSkikne1
 
Work Experience for psp3 portfolio sasha
Work Experience for psp3 portfolio sashaWork Experience for psp3 portfolio sasha
Work Experience for psp3 portfolio sashasashalaycock03
 
ARTICULAR DISC OF TEMPOROMANDIBULAR JOINT
ARTICULAR DISC OF TEMPOROMANDIBULAR JOINTARTICULAR DISC OF TEMPOROMANDIBULAR JOINT
ARTICULAR DISC OF TEMPOROMANDIBULAR JOINTDR. SNEHA NAIR
 
KARNAADA.pptx made by - saransh dwivedi ( SD ) - SHALAKYA TANTRA - ENT - 4...
KARNAADA.pptx  made by -  saransh dwivedi ( SD ) -  SHALAKYA TANTRA - ENT - 4...KARNAADA.pptx  made by -  saransh dwivedi ( SD ) -  SHALAKYA TANTRA - ENT - 4...
KARNAADA.pptx made by - saransh dwivedi ( SD ) - SHALAKYA TANTRA - ENT - 4...M56BOOKSTORE PRODUCT/SERVICE
 
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptxSandy Millin
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxDr. Asif Anas
 
10 Topics For MBA Project Report [HR].pdf
10 Topics For MBA Project Report [HR].pdf10 Topics For MBA Project Report [HR].pdf
10 Topics For MBA Project Report [HR].pdfJayanti Pande
 
In - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxIn - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxAditiChauhan701637
 
How to Make a Field read-only in Odoo 17
How to Make a Field read-only in Odoo 17How to Make a Field read-only in Odoo 17
How to Make a Field read-only in Odoo 17Celine George
 
HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfMohonDas
 
Protein Structure - threading Protein modelling pptx
Protein Structure - threading Protein modelling pptxProtein Structure - threading Protein modelling pptx
Protein Structure - threading Protein modelling pptxvidhisharma994099
 
CapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptxCapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptxCapitolTechU
 
How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesCeline George
 

Recently uploaded (20)

What is the Future of QuickBooks DeskTop?
What is the Future of QuickBooks DeskTop?What is the Future of QuickBooks DeskTop?
What is the Future of QuickBooks DeskTop?
 
Personal Resilience in Project Management 2 - TV Edit 1a.pdf
Personal Resilience in Project Management 2 - TV Edit 1a.pdfPersonal Resilience in Project Management 2 - TV Edit 1a.pdf
Personal Resilience in Project Management 2 - TV Edit 1a.pdf
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17
 
Diploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfDiploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdf
 
March 2024 Directors Meeting, Division of Student Affairs and Academic Support
March 2024 Directors Meeting, Division of Student Affairs and Academic SupportMarch 2024 Directors Meeting, Division of Student Affairs and Academic Support
March 2024 Directors Meeting, Division of Student Affairs and Academic Support
 
Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...
 
Department of Health Compounder Question ‍Solution 2022.pdf
Department of Health Compounder Question ‍Solution 2022.pdfDepartment of Health Compounder Question ‍Solution 2022.pdf
Department of Health Compounder Question ‍Solution 2022.pdf
 
5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...
 
Work Experience for psp3 portfolio sasha
Work Experience for psp3 portfolio sashaWork Experience for psp3 portfolio sasha
Work Experience for psp3 portfolio sasha
 
ARTICULAR DISC OF TEMPOROMANDIBULAR JOINT
ARTICULAR DISC OF TEMPOROMANDIBULAR JOINTARTICULAR DISC OF TEMPOROMANDIBULAR JOINT
ARTICULAR DISC OF TEMPOROMANDIBULAR JOINT
 
KARNAADA.pptx made by - saransh dwivedi ( SD ) - SHALAKYA TANTRA - ENT - 4...
KARNAADA.pptx  made by -  saransh dwivedi ( SD ) -  SHALAKYA TANTRA - ENT - 4...KARNAADA.pptx  made by -  saransh dwivedi ( SD ) -  SHALAKYA TANTRA - ENT - 4...
KARNAADA.pptx made by - saransh dwivedi ( SD ) - SHALAKYA TANTRA - ENT - 4...
 
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptx
 
10 Topics For MBA Project Report [HR].pdf
10 Topics For MBA Project Report [HR].pdf10 Topics For MBA Project Report [HR].pdf
10 Topics For MBA Project Report [HR].pdf
 
In - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxIn - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptx
 
How to Make a Field read-only in Odoo 17
How to Make a Field read-only in Odoo 17How to Make a Field read-only in Odoo 17
How to Make a Field read-only in Odoo 17
 
HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdf
 
Protein Structure - threading Protein modelling pptx
Protein Structure - threading Protein modelling pptxProtein Structure - threading Protein modelling pptx
Protein Structure - threading Protein modelling pptx
 
CapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptxCapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptx
 
How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 Sales
 

Quality Attributes of Web Software Applications ∗

  • 1. https://allaboutpaki.com/ S SubmittedTo: SubmittedBy: "In The Name of Allah, The Most Beneficent, The Most Merciful" Software Design And Architecture Topic : University ofthe Punjab MAY 10, 2020 Research paper Ma’am Sajiya Osama MIT18-209 MSC-IT 4th SEMESTER Hasnain Qayyum
  • 2. https://allaboutpaki.com/ Abstract Although the word “heterogeneous” is commonly used to describe web software, we might easily forget to notice in how many ways it can be applied. This paper discusses some of the unique technological aspects of building web software applications, the unique requirements of quality attributes, and how they can be achieved. Web applications have very high requirements for a number of quality attributes. Some of these quality attributes have been important in other (mostly relatively small) segments of the industry, but some of them are relatively new. These exciting changes have been fuelled by many changes in software technology, the software development process, and how software is deployed. Summary The World Wide Web (WWW) was utilized to make data accessible to web surfers. These energizing changes have been fuelled by numerous adjustments in software technology, the software development process, and how software is sent. In spite of the fact that "heterogeneous" is generally used to portray web software, we may effectively neglect to see from numerous points of view it very well may be applied. Truth be told, the equal term "assorted" is progressively broad and recognizable and might be increasingly proper. Web software applications utilize assorted sorts of equipment, they incorporate a differing assortment of kinds of usage dialects, they are made out of software written in various dialects, and they are worked by assortments of individuals with exceptionally different arrangements of aptitudes. https://allaboutpaki.com/ Despite the fact that these adjustments in how web applications are constructed are intriguing and interesting, one of the most exceptional parts of web software applications is regarding the necessities they should fulfil. Web applications have exceptionally high prerequisites for various quality attributes. A portion of these quality attributes have been significant in other (generally moderately little) fragments of the business, yet some of them are moderately new. This paper talks about a portion of the novel specialized parts of building web software applications, the interesting prerequisites of quality attributes, and how they can be accomplished.
  • 3. https://allaboutpaki.com/ Pros and cons Pros  Web apps are developed with programming languages such as HTML and CSS, which are well known among IT professionals.  Unlike native apps, a single web app is able to reach out to all devices. It’s programmed to run on any operating system.  These apps run on the device’s own web browser through a simple URL.  They don’t need to be downloaded and installed from app stores like Google Play or Apple’s App Store.  They may also open websites. This means that they don’t require to be updated in the way common apps do.  The most important benefit you can draw off from it is its price. Web app development is the cheaper kind of app development.  Web app’s development time is lower.  Centralized storage on the server means fewer security concerns about local storage (which is important for sensitive information such as health care data) Cons  The website must, of course, be programmed in a way it can be shown regardless of the device’s operating system. If it’s not a responsive website, you could experience problems when displaying it on iOS, Android, or Windows Phone.  You will have to spend the money you intended to save developing the application in improving your website.  If your website undergoes any kind of issue, your application will be in trouble too. Don’t assume that your web app will work perfectly if you don’t have a quality corporate website.  An Internet connection will be an absolute must to run it.  It will also lose visibility as it will not be on display in the stores.  There will be some access restrictions as to certain hardware features of the device it’s running on.  Problems with certain websites on certain browsers not looking quite right.  Concerns over the storage, licensing, and use of uploaded data.
  • 4. https://allaboutpaki.com/ Quality attribute  Interoperability describes the ability of a service to communicate with other services and allow other services to communicate with it. It measures how freely information can be exchanged. Measures like programming language agnostic data formats, content negotiation, backwards compatible APIs, etc. can support interoperability between services.  Reliability reflects the ability of a service to operate correctly. Automation to enable roll-backs and recovery can reduce the mean time between failures (MTBF).  Availability is the ability of a service to answer to requests / be accessible. Uptime can be increased by adding fault-tolerance measures and resilience, e.g. through redundancy.  Usability measures the quality of user experience (UX) a service provides. It can be increased by having a UX focused development workflow. As an unavailable or slow service is also not usable there is a strong dependency between usability and other attributes.  Security has two major aspects: Confidentiality (access only granted to authorize users) and authenticity (trust the provided information). Helpful techniques are found in the area of cryptography, e.g. encryption and digital signatures. Additionally you should implement secure processes like regularly invalidating or rotating credentials or enforcing two factor authentication. Check how you are doing by executing regular penetration tests.  Performance is a broad topic. In the context of services people often refer to response time or latency as a performance measure. It can be achieved by choosing the right algorithms and data structures for the problem and sizing the system according to the load. Add automated performance or load tests to detect regressions.  Scalability describes the ability to deal with changes. When talking about scalability it is important to define what changes the system is reacting to, e.g. an increased number of users, new products offered in a shop, more requests coming in, or even more developers joining the company. Scalability is most commonly achieved by decoupling and separation of concerns in combination with choosing algorithms and data structures that allow a performance increase by adding more resources.
  • 5. https://allaboutpaki.com/  Extensibility represents the ability to add functionality to a component without touching other components or parts of the system. Architectures that involve loose coupling, communication standards and evolution friendly interfaces and schemas promote extensibility.  Adaptability influences how easy it is to change the system if requirements have changed. Similarly to extensibility this can be achieved by loose coupling, but also through abstraction, e.g. putting a layer between your database and application so you can exchange the database technology. Adaptability is also influenced by configurability.  Testability matters when it comes to building and automating tests of individual components, interactions between components, as well as the system as a whole. In addition to that it is also crucial to know how well these tests can detect errors. Testability is especially hard in distributed systems or service oriented architectures, as components are connected through an unreliable network, different versions of services might exist, and there is no single entity that knows the internal state of all components. Note as well that behaviour of dynamic environments involving auto-scaling and service discovery might be hard to predict.  Auditability captures the ability to perform audits of the system. Audits might be required for legal, security, or financial reasons, for example. Auditability is a tough goal as it requires all services involved in a process to be auditable. Generally, having immutable storage and versioning of events and data already contributes a great deal towards an auditable system.  Observability expresses whether changes in a systemare reflected, if possible, in a quantitative manner. Promoting a Dev. Ops culture can increase observability because the team responsible for change is also responsible for operations, which greatly benefits from rich metrics being available.  Operability characterizes the ease at which the systemcan be deployed and operated during runtime. Besides observability, operations can be supported by automation. Techniques like chaos engineering can put your operability to the test by introducing errors on purpose.  Correctness: The correctness of a software system refers to Agreement of program code with specifications. Independence of the actual application of the software system. The correctness of a program becomes especially critical when it is embedded in a complex software system.  Efficiency: ability of a software system to fulfil its purpose with the best possible utilization of all necessary resources (time, storage, transmission channels, and peripherals).  Portability: the ease with which a software systemcan be adapted to run on computers other than the one for which it was designed. The portability of a software system
  • 6. https://allaboutpaki.com/ depends on, Degree of hardware independence, Implementation language Extent of exploitation of specialized systemfunctions Hardware properties Structuredness: System-dependent elements are collected in easily interchangeable program components.  Maintainability: Maintainability = suitability for debugging (localization and correction of errors) and for modification and extension of functionality.  Learnability: Learnability of a software systemdepends on: The design of user interfaces, the clarity and the simplicity of the user instructions (tutorial or user manual).The user interface should present information as close to reality as possible and permit efficient utilization of the software’s failures.  Modifiability determines how many common changes need to be made to the system to make changes to each item. The ideal is the case where each change affects only one element. https://allaboutpaki.com/  Supportability is the ability of the systemto provide useful information for identifying and solving problems. The main issues in ensuring supportability can be addressed with the following means:  Accessibility in the sense considered here refers to the design of products, devices, services, or environments so as to be usable by people with disabilities. The concept of accessible design and practice of accessible development ensures both "direct access" (i.e. unassisted) and "indirect access" meaning compatibility with a person's assistive technology (for example, computer screen readers).  Compatibility The state of being compatible; in which two or more things are able to exist or work together in combination without problems or conflict. (Telecommunications) the capability of two or more items or components of equipment or material to exist or function in the same systemor environment without mutual interference. (Computing) the ability to execute a given program on different types of computers without modification of the program or the computers. See backward compatibility and forward compatibility. (Computing) the capability that allows the substitution of one subsystem (storage facility), or of one functional unit (e.g., hardware, software), for the originally designated systemor functional unit in a relatively transparent manner, without loss of information and without the introduction of errors.  Accuracy is closeness of the measurements to a specific value, while precision is the closeness of the measurements to each other. More commonly, it is a description of systematic errors, a measure of statistical bias; low accuracy causes a difference between a result and a "true" value. ISO calls this trueness.
  • 7. https://allaboutpaki.com/  Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a systemand the level of effort required to implement the extension. Extensions can be through the addition of new functionality or through modification of existing functionality. The principle provides for enhancements without impairing existing systemfunctions.  Portability in high-level computer programming is the usability of the same software in different environments. The prerequirement for portability is the generalized abstraction between the application logic and system interfaces. When software with the same functionality is produced for several computing platforms, portability is the key issue for development cost reduction.  Effectiveness is the capability of producing a desired result or the ability to produce desired output. When something is deemed effective, it means it has an intended or expected outcome, or produces a deep, vivid impression.  Durability is the ACID property which guarantees that transactions that have committed will survive permanently. For example, if a flight booking reports that a seat has successfully been booked, then the seat will remain booked even if the system crashes.  Resolvability is defined as the capacity of a systemfor adaptive evolution. Resolvability is the ability of a population of organisms to not merely generate genetic diversity, but to generate adaptive genetic diversity, and thereby evolve through natural selection.  Flexibility is used as an attribute of various types of systems. In the field of engineering systems design, it refers to designs that can adapt when external changes occur. Flexibility has been defined differently in many fields of engineering, architecture, biology, economics, etc. In the context of engineering design one can define flexibility as the ability of a systemto respond to potential internal or external changes affecting its value delivery, in a timely and cost-effective manner. Thus, flexibility for an engineering system is the ease with which the system can respond to uncertainty in a manner to sustain or increase its value delivery. Uncertainty is a key element in the definition of flexibility. Uncertainty can create both risks and opportunities in a system, and it is with the existence of uncertainty that flexibility becomes valuable.  https://allaboutpaki.com/https://allaboutpaki.com/  Simplicity is the state or quality of being simple. Something easy to understand or explain seems simple, in contrast to something complicated. Alternatively, as Herbert A. Simon suggests, something is simple or complex depending on the way we choose to describe it. In some uses, the label "simplicity" can imply beauty, purity, or clarity. In other cases, the term may suggest a lack of nuance or complexity relative to what is required.  Traceability is the capability to trace something. In some cases, it is interpreted as the ability to verify the history, location, or application of an item by means of documented
  • 8. https://allaboutpaki.com/ recorded identification. Other common definitions include the capability (and implementation) of keeping track of a given set or type of information to a given degree, or the ability to chronologically interrelate uniquely identifiable entities in a way that is verifiable.  Usability can be described as the capacity of a systemto provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience. In software engineering, usability is the degree to which a software can be used by specified consumers to achieve quantified objectives with effectiveness, efficiency, and satisfaction in a quantified context of use.  Understanding is a psychological process related to an abstract or physical object, such as a person, situation, or message whereby one is able to think about it and use concepts to deal adequately with that object. Understanding is a relation between the knower and an object of understanding. Understanding implies abilities and dispositions with respect to an object of knowledge that are sufficient to support intelligent behaviour.  Simplicity is the state or quality of being simple. Something easy to understand or explain seems simple, in contrast to something complicated. Alternatively, as Herbert A. Simon suggests, something is simple or complex depending on the way we choose to describe it. In some uses, the label "simplicity" can imply beauty, purity, or clarity. In other cases, the term may suggest a lack of nuance or complexity relative to what is required.  Robustness is the ability of a computer systemto cope with errors during execution and cope with erroneous input. Robustness can encompass many areas of computer science, such as robust programming, robust machine learning, and Robust Security Network. Formal techniques, such as fuzz testing, are essential to showing robustness since this type of testing involves invalid or unexpected inputs. Alternatively, fault injection can be used to test robustness. Various commercial products perform robustness testing of software analysis.  Responsiveness as a concept of computer science refers to the specific ability of a system or functional unit to complete assigned tasks within a given time. For example, it would refer to the ability of an artificial intelligence systemto understand and carry out its tasks in a timely fashion. It is one of the criteria under the principle of robustness (from a v principle). The other three are observability, recoverability, and task conformance.  Relevance is the concept of one topic being connected to another topic in a way that makes it useful to consider the second topic when considering the first. The concept of relevance is studied in many different fields, including cognitive sciences, logic, and library and information science. Most fundamentally, however, it is studied
  • 9. https://allaboutpaki.com/ in epistemology (the theory of knowledge). Different theories of knowledge have different implications for what is considered relevant and these fundamental views have implications for all other fields as well.  Predictability is the degree to which a correct prediction or forecast of a system's state can be made either qualitatively or quantitatively.  Interchangeable parts are parts (components) thatare,forpractical purposes,identical.They are made to specifications thatensure thattheyare sonearlyidentical thattheywill fitintoany assemblyof the same type.One suchpart can freelyreplace another,withoutanycustom fitting,suchas filing.Thisinterchangeabilityallowseasyassemblyof new devices,andeasier repairof existing https://allaboutpaki.com/ https://allaboutpaki.com/ https://allaboutpaki.com/