SlideShare a Scribd company logo
1 of 35
Download to read offline
Quality Attributes Analysis
Yuriy Gaiduchok, Oct 2017
REPLACE IMAGE
Quality Attributes Analysis
Yuriy Gaiduchok,
Oct 2017
Hello!
I’m Yuriy
Head of Business
Analysis @ Ciklum
Best BA 2017
by IT Awards Ukraine
14 years in IT: 12 in
Product Management
and Business Analysis
“This was not in specification”
“We never thought it would matter”
“No one ever told about it”
“It is too late to change
the architecture”
3
Assumptions
4
Explicit
Implicit
Structure
of Business
Solutions
Business
Rules
Business
Processes
Organizational
Structure
Business
Locations
Market
Events
Data
Sources
Applications
Technical
Infrastructure
Business Solution vs. Project Scope
5
Are they really non-functional?
6
IIBA
BABOK
7
Quality Attributes & Non-Functional Requirements
A description of a property or characteristic
that a software system must exhibit
or a constraint that it must respect,
other than an observable system behavior.
Karl
Wiegers
IIBA
BABOK
Non-functional requirements augment the functional
requirements of a solution, identify constraints on
those requirements, or describe quality attributes a
solution must exhibit.
Quality Attributes Categories (Partial List)
8
Access Control
Accessibility
Accuracy
Adaptability
Adjustability
Affordability
Agility
Augmentability
Autonomy
Availability
Capacity
Cohesiveness
Compatibility
Completeness
Conciseness
Confidentiality
Configurability
Connectivity
Consistency
Controllability
Correctness
Coupling
Customizability
Decomposability
Dependability
Development Cost
Develop Time
Distributivity
Efficiency
Elasticity
Extensibility
Fault Tolerance
Feasibility
Flexibility
Independence
Integrity
Interoperability
Intuitiveness
Learnability
Maintainability
Maintenance
Time
Maturity
Measurability
Mobility
Modifiability
Modularity
Performance
Portability
Precision
Predictability
Productivity
Recoverability
Reliability
Replaceability
Replicability
Responsiveness
Retirement Cost
Reusability
Robustness
Safety
Scalability
Security
Sensitivity
Simplicity
Stability
Supportability
Survivability
Testability
Throughput
Trainability
Uniformity
Usability
Verifiability
Versatility
Quality Attributes Categories Selection
9
Ciklum
Primary
Availability
Compatibility & Portability
Performance & Efficiency
Scalability
Security & Audit
Testability (Automation)
Usability & Accessibility
Secondary
Customizability
Data Latency
Interoperability
Multitenancy
Reliability & Recoverability
Verifiability
Throughput
Incomplete list
No common ontology
Context-specific
Challenges
How can you determine which quality attribute
requirements are important before a system is built?
12
13
Who is responsible?
Approaches for Quality Attributes
14
Interviews Document Analysis
Observation Survey or Questionnaire
Acceptance and Evaluation Criteria Root Cause Analysis
Interface Analysis & Data Flow Diagrams Risk Analysis and Management
Quality Attribute Scenarios & Workshop Metrics and KPIs
Use Cases (Alternative and Exception Flows) Technical User Stories
15
Technical User Stories
As DevOps, I want the system to use existing
clients database rather than create a new one,
so that we don't have to maintain additional
database.
As a user, I want the website to be available
99.9% of the time I try to access it, so that I
would not get frustrated and find another
website.
Who?
How?
Why?
2000 Questions
16
Operation
How well is it safeguarded against unauthorized access? (Access Security)
How easy is it to learn and operate the system? (Usability)
Revision
How easy is it to modify to work in different environments? (Flexibility)
How easy is it to show it performs its functions? (Verifiability)
Transition
How easy is it to interface with another system? (Interoperability)
How easy is it to convert for use in another system? (Reusability)
Roxanne
Miller
Carnegie Mellon University
17
— facilitated method to generate and
prioritize quality attribute scenarios before the
software architecture is completed.
— focused on system-level concerns and
specifically the software role in the system.
— keenly dependent on the participation of
system stakeholders.
Quality
Attribute
Workshop
QAW
18
Step 1. QAW Presentation and Introductions
Step 2. Business/Mission Presentation
Step 3. Architectural Plan Presentation
Step 4. Identification of Architectural Drivers
Step 5. Scenario Brainstorming
Step 6. Scenario Consolidation
Step 7: Scenario Prioritization
Step 8: Scenario Refinement
Quality
Attribute
Workshop
by Software engineering Institute of Carnegie Mellon University
QAW
19
Advantages
• Determine the right qualities before system is developed
— crucial for success and stakeholders' satisfaction.
Saves money and avoids future rework.
• Structured and efficient setting for communicating with
your stakeholders, supports analysis and testing.
• Generally leads to the identification of conflicting
assumptions about system requirements.
Disadvantages
• Gathering multiple stakeholders and conducting QAW
sessions requires appropriate planning and availability.
Quality
Attribute
Workshop
Scenarios (QAS)
20
Quality
Attribute
Scenario
— unambiguous and testable requirement for
one or more Solution Quality Attributes
such as Performance, Usability, Maintainability
and others.
by Software engineering Institute of Carnegie Mellon University
QAS (scenario) consists of 6 parts
21
1. Stimulus – A condition that affects the system.
2. Source of the stimulus – The entity that generated the stimulus.
3. Environment – The condition under which the stimulus occurred.
4. Artifact stimulated – The artifact stimulated by the stimulus.
5. Response – The activity that results because of the stimulus.
6. Response measure – The measure for system’s response evaluation.
by Software engineering Institute of Carnegie Mellon University
Quality Attribute Scenario (QAS) Example
22
External smoke detector2 sends an alarm event1 under peak load3.
The building management system4 receives the event and raises
an alarm5 within 0.5 seconds6
1) Stimulus 2) Source 3) Environment
4) Artifact 5) Response 6) Response Measure
QAS for One Modifiability Case
23
A product manager2 request the system accommodate
devices supporting the next version1 of the ECNET
standard3. The system4 can accommodate5 these
devices within 1 person month of effort6 with no
changes to the software architecture6.
1) Stimulus 2) Source 3) Environment
4) Artifact 5) Response 6) Response Measure
QAS for One Security Case
24
A unauthorized individual from an external site gains
access to the system and tries to modify consumer data.
The system detects the malicious behavior, maintains an
audit trail of the unauthorized individual’s actions, notifies
system administration, and shuts down the system within
15 seconds.
QAS for One Security Case
25
A unauthorized individual from an external site2 gains
access to the system1 during normal operation3 and tries to
modify consumer data1. The system4 detects the malicious
behavior5, maintains an audit trail5 of the unauthorized
individual’s actions, notifies system administration5, and
shuts down the system5 within 15 seconds6.
1) Stimulus 2) Source 3) Environment
4) Artifact 5) Response 6) Response Measure
QAS for One Availability Case
26
“An unanticipated external message is received by a process during
normal operation. The process informs the operator of the receipt
of the message and continues to operate with no downtime.”
Source:
External
to System
Stimulus:
Unanticipated
message
Environment:
Normal
Operation
Response:
Inform
Operator,
Continue
to Operate
Response
Measure:
No Downtime
Artifact:
Process
QAS for General Availability
27
Source:
Internal or
External:
people,
hardware,
software,
physical
Stimulus:
Fault:
omission,
crash,
incorrect
timing,
incorrect
response
Environment:
Normal operation,
startup, shutdown,
degraded
operation,
overloaded
Response:
Prevent
failure,
Detect
fault,
Disable
event
source.
Response
Measure:
Time or % system
must be available,
Time to detect
fault, Repair time
Artifact:
Processors,
comm.
channels,
storage
Ignore?
28
Revenue
Client satisfaction
Employee satisfaction
NPS
Reputation
29
Functional
Attribute
Quality Attribute
(Non-Functional)
Tradeoffs
30
31
Functional
Attribute
Quality Attribute
(Non-Functional)
32
How Uber
Launched
2017? Quality Market!
33
Questions?
Yuriy Gaiduchok
https://linkedin.com/in/uasdlc
Connect two worlds!

More Related Content

Viewers also liked

Viewers also liked (18)

Место аналитика: выбираем для себя
Место аналитика: выбираем для себяМесто аналитика: выбираем для себя
Место аналитика: выбираем для себя
 
Как выбирать задачи, полезные для продукта
Как выбирать задачи, полезные для продуктаКак выбирать задачи, полезные для продукта
Как выбирать задачи, полезные для продукта
 
Иди и рисуй! Моделирование в работе аналитика
Иди и рисуй! Моделирование в работе аналитикаИди и рисуй! Моделирование в работе аналитика
Иди и рисуй! Моделирование в работе аналитика
 
BI-проекты глазами аналитика
BI-проекты глазами аналитикаBI-проекты глазами аналитика
BI-проекты глазами аналитика
 
Mission possible - the social warfare
Mission possible - the social warfareMission possible - the social warfare
Mission possible - the social warfare
 
UX, UI, Usability - как не запутаться в модных понятиях
UX, UI, Usability - как не запутаться в модных понятияхUX, UI, Usability - как не запутаться в модных понятиях
UX, UI, Usability - как не запутаться в модных понятиях
 
Modern BA - way to delivering value
Modern BA - way to delivering valueModern BA - way to delivering value
Modern BA - way to delivering value
 
BA as Digital Systems Analyst
BA as Digital Systems AnalystBA as Digital Systems Analyst
BA as Digital Systems Analyst
 
Business Analysts are on the GO: Design with users, not for them!
Business Analysts are on the GO: Design with users, not for them!Business Analysts are on the GO: Design with users, not for them!
Business Analysts are on the GO: Design with users, not for them!
 
Мы несем потери! Бригада разработчиков выехала!
Мы несем потери! Бригада разработчиков выехала!Мы несем потери! Бригада разработчиков выехала!
Мы несем потери! Бригада разработчиков выехала!
 
Пути аналитика неисповедимы: широкий взгляд на карьерное развитие
Пути аналитика неисповедимы: широкий взгляд на карьерное развитиеПути аналитика неисповедимы: широкий взгляд на карьерное развитие
Пути аналитика неисповедимы: широкий взгляд на карьерное развитие
 
Где скрывается вовлеченность: что мы поняли, разрабатывая и продавая SAAS-про...
Где скрывается вовлеченность: что мы поняли, разрабатывая и продавая SAAS-про...Где скрывается вовлеченность: что мы поняли, разрабатывая и продавая SAAS-про...
Где скрывается вовлеченность: что мы поняли, разрабатывая и продавая SAAS-про...
 
Практическое управление роудмапом или как не сбиться с верного пути
Практическое управление роудмапом или как не сбиться с верного путиПрактическое управление роудмапом или как не сбиться с верного пути
Практическое управление роудмапом или как не сбиться с верного пути
 
Бизнес-аналитик: синдром полукровки
Бизнес-аналитик: синдром полукровкиБизнес-аналитик: синдром полукровки
Бизнес-аналитик: синдром полукровки
 
Можно ли улучшить эффективность разработки без взаимодействия с заказчиком?
Можно ли улучшить эффективность разработки без взаимодействия с заказчиком?Можно ли улучшить эффективность разработки без взаимодействия с заказчиком?
Можно ли улучшить эффективность разработки без взаимодействия с заказчиком?
 
Я б в начальники пошёл, пусть меня научат
Я б в начальники пошёл, пусть меня научатЯ б в начальники пошёл, пусть меня научат
Я б в начальники пошёл, пусть меня научат
 
Вся польза от аналитика
Вся польза от аналитикаВся польза от аналитика
Вся польза от аналитика
 
Soft Skills: "Мягкие навыки" твердого характера
Soft Skills: "Мягкие навыки" твердого характераSoft Skills: "Мягкие навыки" твердого характера
Soft Skills: "Мягкие навыки" твердого характера
 

Similar to Анализ атрибутов качества

Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7
Dhairya Joshi
 
2010 SDLC Lifeline Mater Deck for knowledge sharing
2010 SDLC Lifeline Mater Deck for knowledge sharing2010 SDLC Lifeline Mater Deck for knowledge sharing
2010 SDLC Lifeline Mater Deck for knowledge sharing
gangcheng19721
 
Software requirement analysis enhancements byprioritizing re
Software requirement analysis enhancements byprioritizing reSoftware requirement analysis enhancements byprioritizing re
Software requirement analysis enhancements byprioritizing re
AlleneMcclendon878
 
Best practices
Best practicesBest practices
Best practices
meroooo
 
Project on multiplex ticket bookingn system globsyn2014
Project on multiplex ticket bookingn system globsyn2014Project on multiplex ticket bookingn system globsyn2014
Project on multiplex ticket bookingn system globsyn2014
Md Imran
 

Similar to Анализ атрибутов качества (20)

Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7
 
System quality attributes
System quality attributes System quality attributes
System quality attributes
 
System_Analysis_and_Design_Assignment_New2.ppt
System_Analysis_and_Design_Assignment_New2.pptSystem_Analysis_and_Design_Assignment_New2.ppt
System_Analysis_and_Design_Assignment_New2.ppt
 
Тестирование спецификаций
Тестирование спецификацийТестирование спецификаций
Тестирование спецификаций
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
 
Ch2
Ch2Ch2
Ch2
 
Ch 2 Software Engineering
Ch 2 Software EngineeringCh 2 Software Engineering
Ch 2 Software Engineering
 
SOFTWARE ENGINEERING PART 1
SOFTWARE ENGINEERING PART 1SOFTWARE ENGINEERING PART 1
SOFTWARE ENGINEERING PART 1
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise Applications
 
Agile for Software as a Medical Device
Agile for Software as a Medical DeviceAgile for Software as a Medical Device
Agile for Software as a Medical Device
 
Softwarearchitecture in practice unit1 2
Softwarearchitecture in practice unit1 2Softwarearchitecture in practice unit1 2
Softwarearchitecture in practice unit1 2
 
2010 SDLC Lifeline Mater Deck for knowledge sharing
2010 SDLC Lifeline Mater Deck for knowledge sharing2010 SDLC Lifeline Mater Deck for knowledge sharing
2010 SDLC Lifeline Mater Deck for knowledge sharing
 
Software requirement analysis enhancements byprioritizing re
Software requirement analysis enhancements byprioritizing reSoftware requirement analysis enhancements byprioritizing re
Software requirement analysis enhancements byprioritizing re
 
Best practices
Best practicesBest practices
Best practices
 
SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle Model
 
Project on multiplex ticket bookingn system globsyn2014
Project on multiplex ticket bookingn system globsyn2014Project on multiplex ticket bookingn system globsyn2014
Project on multiplex ticket bookingn system globsyn2014
 

More from SQALab

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Recently uploaded

MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
Krashi Coaching
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
中 央社
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
heathfieldcps1
 
Financial Accounting IFRS, 3rd Edition-dikompresi.pdf
Financial Accounting IFRS, 3rd Edition-dikompresi.pdfFinancial Accounting IFRS, 3rd Edition-dikompresi.pdf
Financial Accounting IFRS, 3rd Edition-dikompresi.pdf
MinawBelay
 

Recently uploaded (20)

Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
 
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
 
UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024
 
Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45
Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45
Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45
 
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
 
Capitol Tech Univ Doctoral Presentation -May 2024
Capitol Tech Univ Doctoral Presentation -May 2024Capitol Tech Univ Doctoral Presentation -May 2024
Capitol Tech Univ Doctoral Presentation -May 2024
 
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
 
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community PartnershipsSpring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
 
Navigating the Misinformation Minefield: The Role of Higher Education in the ...
Navigating the Misinformation Minefield: The Role of Higher Education in the ...Navigating the Misinformation Minefield: The Role of Higher Education in the ...
Navigating the Misinformation Minefield: The Role of Higher Education in the ...
 
MichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdfMichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdf
 
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptxREPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
 
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
 
Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"
Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"
Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
 
II BIOSENSOR PRINCIPLE APPLICATIONS AND WORKING II
II BIOSENSOR PRINCIPLE APPLICATIONS AND WORKING IIII BIOSENSOR PRINCIPLE APPLICATIONS AND WORKING II
II BIOSENSOR PRINCIPLE APPLICATIONS AND WORKING II
 
IPL Online Quiz by Pragya; Question Set.
IPL Online Quiz by Pragya; Question Set.IPL Online Quiz by Pragya; Question Set.
IPL Online Quiz by Pragya; Question Set.
 
Financial Accounting IFRS, 3rd Edition-dikompresi.pdf
Financial Accounting IFRS, 3rd Edition-dikompresi.pdfFinancial Accounting IFRS, 3rd Edition-dikompresi.pdf
Financial Accounting IFRS, 3rd Edition-dikompresi.pdf
 
“O BEIJO” EM ARTE .
“O BEIJO” EM ARTE                       .“O BEIJO” EM ARTE                       .
“O BEIJO” EM ARTE .
 

Анализ атрибутов качества

  • 1. Quality Attributes Analysis Yuriy Gaiduchok, Oct 2017 REPLACE IMAGE Quality Attributes Analysis Yuriy Gaiduchok, Oct 2017
  • 2. Hello! I’m Yuriy Head of Business Analysis @ Ciklum Best BA 2017 by IT Awards Ukraine 14 years in IT: 12 in Product Management and Business Analysis
  • 3. “This was not in specification” “We never thought it would matter” “No one ever told about it” “It is too late to change the architecture” 3
  • 6. Are they really non-functional? 6 IIBA BABOK
  • 7. 7 Quality Attributes & Non-Functional Requirements A description of a property or characteristic that a software system must exhibit or a constraint that it must respect, other than an observable system behavior. Karl Wiegers IIBA BABOK Non-functional requirements augment the functional requirements of a solution, identify constraints on those requirements, or describe quality attributes a solution must exhibit.
  • 8. Quality Attributes Categories (Partial List) 8 Access Control Accessibility Accuracy Adaptability Adjustability Affordability Agility Augmentability Autonomy Availability Capacity Cohesiveness Compatibility Completeness Conciseness Confidentiality Configurability Connectivity Consistency Controllability Correctness Coupling Customizability Decomposability Dependability Development Cost Develop Time Distributivity Efficiency Elasticity Extensibility Fault Tolerance Feasibility Flexibility Independence Integrity Interoperability Intuitiveness Learnability Maintainability Maintenance Time Maturity Measurability Mobility Modifiability Modularity Performance Portability Precision Predictability Productivity Recoverability Reliability Replaceability Replicability Responsiveness Retirement Cost Reusability Robustness Safety Scalability Security Sensitivity Simplicity Stability Supportability Survivability Testability Throughput Trainability Uniformity Usability Verifiability Versatility
  • 9. Quality Attributes Categories Selection 9 Ciklum Primary Availability Compatibility & Portability Performance & Efficiency Scalability Security & Audit Testability (Automation) Usability & Accessibility Secondary Customizability Data Latency Interoperability Multitenancy Reliability & Recoverability Verifiability Throughput
  • 10. Incomplete list No common ontology Context-specific Challenges
  • 11. How can you determine which quality attribute requirements are important before a system is built?
  • 12. 12
  • 14. Approaches for Quality Attributes 14 Interviews Document Analysis Observation Survey or Questionnaire Acceptance and Evaluation Criteria Root Cause Analysis Interface Analysis & Data Flow Diagrams Risk Analysis and Management Quality Attribute Scenarios & Workshop Metrics and KPIs Use Cases (Alternative and Exception Flows) Technical User Stories
  • 15. 15 Technical User Stories As DevOps, I want the system to use existing clients database rather than create a new one, so that we don't have to maintain additional database. As a user, I want the website to be available 99.9% of the time I try to access it, so that I would not get frustrated and find another website. Who? How? Why?
  • 16. 2000 Questions 16 Operation How well is it safeguarded against unauthorized access? (Access Security) How easy is it to learn and operate the system? (Usability) Revision How easy is it to modify to work in different environments? (Flexibility) How easy is it to show it performs its functions? (Verifiability) Transition How easy is it to interface with another system? (Interoperability) How easy is it to convert for use in another system? (Reusability) Roxanne Miller
  • 17. Carnegie Mellon University 17 — facilitated method to generate and prioritize quality attribute scenarios before the software architecture is completed. — focused on system-level concerns and specifically the software role in the system. — keenly dependent on the participation of system stakeholders. Quality Attribute Workshop
  • 18. QAW 18 Step 1. QAW Presentation and Introductions Step 2. Business/Mission Presentation Step 3. Architectural Plan Presentation Step 4. Identification of Architectural Drivers Step 5. Scenario Brainstorming Step 6. Scenario Consolidation Step 7: Scenario Prioritization Step 8: Scenario Refinement Quality Attribute Workshop by Software engineering Institute of Carnegie Mellon University
  • 19. QAW 19 Advantages • Determine the right qualities before system is developed — crucial for success and stakeholders' satisfaction. Saves money and avoids future rework. • Structured and efficient setting for communicating with your stakeholders, supports analysis and testing. • Generally leads to the identification of conflicting assumptions about system requirements. Disadvantages • Gathering multiple stakeholders and conducting QAW sessions requires appropriate planning and availability. Quality Attribute Workshop
  • 20. Scenarios (QAS) 20 Quality Attribute Scenario — unambiguous and testable requirement for one or more Solution Quality Attributes such as Performance, Usability, Maintainability and others. by Software engineering Institute of Carnegie Mellon University
  • 21. QAS (scenario) consists of 6 parts 21 1. Stimulus – A condition that affects the system. 2. Source of the stimulus – The entity that generated the stimulus. 3. Environment – The condition under which the stimulus occurred. 4. Artifact stimulated – The artifact stimulated by the stimulus. 5. Response – The activity that results because of the stimulus. 6. Response measure – The measure for system’s response evaluation. by Software engineering Institute of Carnegie Mellon University
  • 22. Quality Attribute Scenario (QAS) Example 22 External smoke detector2 sends an alarm event1 under peak load3. The building management system4 receives the event and raises an alarm5 within 0.5 seconds6 1) Stimulus 2) Source 3) Environment 4) Artifact 5) Response 6) Response Measure
  • 23. QAS for One Modifiability Case 23 A product manager2 request the system accommodate devices supporting the next version1 of the ECNET standard3. The system4 can accommodate5 these devices within 1 person month of effort6 with no changes to the software architecture6. 1) Stimulus 2) Source 3) Environment 4) Artifact 5) Response 6) Response Measure
  • 24. QAS for One Security Case 24 A unauthorized individual from an external site gains access to the system and tries to modify consumer data. The system detects the malicious behavior, maintains an audit trail of the unauthorized individual’s actions, notifies system administration, and shuts down the system within 15 seconds.
  • 25. QAS for One Security Case 25 A unauthorized individual from an external site2 gains access to the system1 during normal operation3 and tries to modify consumer data1. The system4 detects the malicious behavior5, maintains an audit trail5 of the unauthorized individual’s actions, notifies system administration5, and shuts down the system5 within 15 seconds6. 1) Stimulus 2) Source 3) Environment 4) Artifact 5) Response 6) Response Measure
  • 26. QAS for One Availability Case 26 “An unanticipated external message is received by a process during normal operation. The process informs the operator of the receipt of the message and continues to operate with no downtime.” Source: External to System Stimulus: Unanticipated message Environment: Normal Operation Response: Inform Operator, Continue to Operate Response Measure: No Downtime Artifact: Process
  • 27. QAS for General Availability 27 Source: Internal or External: people, hardware, software, physical Stimulus: Fault: omission, crash, incorrect timing, incorrect response Environment: Normal operation, startup, shutdown, degraded operation, overloaded Response: Prevent failure, Detect fault, Disable event source. Response Measure: Time or % system must be available, Time to detect fault, Repair time Artifact: Processors, comm. channels, storage