48
An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-2015 1

An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Embed Size (px)

Citation preview

Page 1: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

An Initial Ontology for System Qualities:Elaborating on Maintainability

Barry Boehm, USCCS 577, Fall 2015

10-18-2015 1

Page 2: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Outline

• Critical nature of system qualities (SQs)– Or non-functional requirements (NFRs); ilities– Major source of project overruns, failures– Significant source of stakeholder value conflicts– Poorly defined, understood– Underemphasized in project management

• Need for and nature of SQs ontology– Nature of an ontology; choice of IDEF5 structure– Stakeholder value-based, means-ends hierarchy– Synergies and Conflicts matrix and expansions

• Initial elaboration of Maintainability

10-18-2015 2

Page 3: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Importance of SQ TradeoffsMajor source of DoD, other system overruns

• SQs have systemwide impact– System elements generally just have local impact

• SQs often exhibit asymptotic behavior– Watch out for the knee of the curve

• Best architecture is a discontinuous function of SQ level– “Build it quickly, tune or fix it later” highly risky– Large system example below

10-18-2015

$100M

$50M

Required Architecture:Custom; many cache processors

Original Architecture:ModifiedClient-Server

1 2 3 4 5Response Time (sec)

Original Spec After Prototyping

Original Cost

3

Page 4: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Example of SQ Value Conflicts: Security IPT

• Single-agent key distribution; single data copy– Reliability: single points of failure

• Elaborate multilayer defense– Performance: 50% overhead; real-time deadline problems

• Elaborate authentication– Usability: delays, delegation problems; GUI complexity

• Everything at highest level– Modifiability: overly complex changes, recertification

10-18-2015 4

Page 5: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Proliferation of Definitions: Resilience

• Wikipedia Resilience variants: Climate, Ecology, Energy Development, Engineering and Construction, Network, Organizational, Psychological, Soil

• Ecology and Society Organization Resilience variants: Original-ecological, Extended-ecological, Walker et al. list, Folke et al. list; Systemic-heuristic, Operational, Sociological, Ecological-economic, Social-ecological system, Metaphoric, Sustainabilty-related

• Variants in resilience outcomes– Returning to original state; Restoring or improving original state;

Maintaining same relationships among state variables; Maintaining desired services; Maintaining an acceptable level of service; Retaining essentially the same function, structure, and feedbacks; Absorbing disturbances; Coping with disturbances; Self-organizing; Learning and adaptation; Creating lasting value

– Source of serious cross-discipline collaboration problems

10-18-2015 5

Page 6: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Example of Current Practice

• “The system shall have a Mean Time Between Failures of 10,000 hours”

• What is a “failure?”– 10,000 hours on liveness– But several dropped or garbled messages per hour?

• What is the operational context?– Base operations? Field operations? Conflict operations?

• Most management practices focused on functions– Requirements, design reviews; traceability matrices; work

breakdown structures; data item descriptions; earned value management

• What are the effects of or on other SQs?– Cost, schedule, performance, maintainability?

10-18-2015 6

Page 7: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Outline

• Critical nature of system qualities (SQs)– Or non-functional requirements; ilities– Major source of project overruns, failures– Significant source of stakeholder value conflicts– Poorly defined, understood– Underemphasized in project management

• Need for and nature of system SQs ontology– Nature of an ontology; choice of IDEF5 structure– Stakeholder value-based, means-ends hierarchy– Synergies and Conflicts matrix and expansions

• Initial elaboration of Maintainability

10-18-2015 7

Page 8: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Need for SQs Ontology

• Oversimplified one-size-fits all definitions– ISO/IEC 25010, Reliability: the degree to which a system ,

product, or component performs specified functions under specified conditions for a specified period of time

– OK if specifications are precise, but increasingly “specified conditions” are informal, sunny-day user stories.

• Satisfying just these will pass “ISO/IEC Reliability,” even if system fails on rainy-day user stories

– Need to reflect that different stakeholders rely on different capabilities (functions, performance, flexibility, etc.) at different times and in different environments

• Proliferation of definitions, as with Resilience• Weak understanding of inter-SQ relationships

– Security Synergies and Conflicts with other qualities

10-18-2015 8

Page 9: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Nature of an ontology; choice of IDEF5 structure

• An ontology for a collection of elements is a definition of what it means to be a member of the collection

• For “system qualities,” this means that an SQ identifies an aspect of “how well” the system performs– The ontology also identifies the sources of variability in the

value of “how well” the system performs• Functional requirements specify “what;” NFRs specify “how

well”

• After investigating several ontology frameworks, the IDEF5 framework appeared to best address the nature and sources of variability of system SQs– Good fit so far

10-18-2015 9

Page 10: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Initial SERC SQs Ontology

• Modified version of IDEF5 ontology framework– Classes, Subclasses, and Individuals– Referents, States, Processes, and Relations

• Top classes cover stakeholder value propositions– Mission Effectiveness, Resource Utilization, Dependability, Flexibiity

• Subclasses identify means for achieving higher-class ends– Means-ends one-to-many for top classes– Ideally mutually exclusive and exhaustive, but some exceptions – Many-to-many for lower-level subclasses

• Referents, States, Processes, Relations cover SQ variation• Referents: Sources of variation by stakeholder value context: • States: Internal (beta-test); External (rural, temperate, sunny)• Processes: Operational scenarios (normal vs. crisis; experts vs. novices)• Relations: Impact of other SQs (security as above, synergies & conflicts)

10-18-2015 10

Page 11: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Example: Reliability Revisited

• Reliability is the probability that the system will deliver stakeholder-satisfactory results for a given time period (generally an hour), given specified ranges of: – Stakeholders: desired and acceptable ranges of liveness,

accuracy, response time, speed, capabilities, etc.– System internal and external states: integration test, acceptance

test, field test, etc.; weather, terrain, DEFCON, takeoff/flight/landing, etc.

– System internal and external processes: security thresholds, types of payload/cargo; workload volume, diversity

– Effects of other SQs: synergies, conflicts

10-18-2015 11

Page 12: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Set-Based SQs Definition ConvergenceRPV Surveillance Example

10-18-2015 12

Effectiveness (pixels/ frame)

Efficiency (E.g., frames/second)

Phase 1

Phase 2

Phase 3

Phase 1. Rough ConOps, Rqts, Solution UnderstandingPhase 2. Improved ConOps, Rqts, Solution UnderstandingPhase 3. Good ConOps, Rqts, Solution Understanding

Desired

Acceptable

Acceptable

Desired

Page 13: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Stakeholder value-based, means-ends hierarchy

• Mission operators and managers want improved Mission Effectiveness– Involves Physical Capability, Cyber Capability, Human Usability, Speed, Accuracy,

Impact, Endurability, Maneuverability, Scalability, Versatility, Interoperability

• Mission investors and system owners want Mission Cost-Effectiveness– Involves Cost, Duration, Personnel, Scarce Quantities (capacity, weight, energy, …);

Manufacturability, Sustainability

• All want system Dependability: cost-effective defect-freedom, availability, and safety and security for the communities that they serve– Involves Reliability, Availablilty, Maintainability, Survivability, Safety, Security,

Robustness

• In an increasingly dynamic world, all want system Changeability: to be rapidly and cost-effectively changeable– Involves Maintainability (Modifiability, Repairability), Adaptability

10-18-2015 13

Page 14: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Outline

• Critical nature of system qualities (SQs)– Or non-functional requirements; ilities– Major source of project overruns, failures– Significant source of stakeholder value conflicts– Poorly defined, understood– Underemphasized in project management

• Need for and nature of SQs ontology– Nature of an ontology; choice of IDEF5 structure– Stakeholder value-based, means-ends hierarchy– Synergies and Conflicts matrix and expansions

• Initial elaboration of Maintainability

10-18-2015 14

Page 15: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

7x7 Synergies and Conflicts Matrix

• Mission Effectiveness expanded to 4 elements– Physical Capability, Cyber Capability, Interoperability, Other

Mission Effectiveness (including Usability as Human Capability)• Synergies and Conflicts among the 7 resulting elements

identified in 7x7 matrix– Synergies above main diagonal, Conflicts below

• Work-in-progress tool will enable clicking on an entry and obtaining details about the synergy or conflict– Ideally quantitative; some examples next

• Still need synergies and conflicts within elements– Example 3x3 Dependability subset provided

10-18-2015 15

Page 16: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

10-18-2015 16

Page 17: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Software Development Cost vs. Reliability

0.8

VeryLow

Low Nominal HighVeryHigh

0.9

1.0

1.1

1.2

1.3

1.4

1.10

1.0

0.92

1.26

0.82

Relative Cost to Develop

COCOMO II RELY Rating

MTBF (hours) 1 10 300 10,000 300,000

10-18-2015 17

Page 18: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Software Ownership Cost vs. Reliability

0.8

VeryLow

Low Nominal HighVeryHigh

0.9

1.0

1.1

1.2

1.3

1.4

1.10

0.92

1.26

0.82

Relative Cost to Develop, Maintain,Own andOperate

COCOMO II RELY Rating

1.23

1.10

0.99

1.07

1.11

1.05

70% Maint.

1.07

1.20

0.760.69

VL = 2.55 L = 1.52

Operational-defect cost at Nominal dependability= Software life cycle cost

Operational -defect cost = 0

MTBF (hours) 1 10 300 10,000 300,000

10-18-2015 18

Page 19: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

10-18-2015

Legacy System Repurposing

Eliminate Tasks

Eliminate Scrap, Rework

Staffing, Incentivizing, Teambuilding

Kaizen (continuous improvement)

Work and Oversight Streamlining

Collaboration Technology

Early Risk and Defect Elimination

Modularity Around Sources of Change

Incremental, Evolutionary Development

Risk-Based Prototyping

Satisficing vs. Optimizing Performance

Value-Based Capability Prioritization

Composable Components,Services, COTS

Cost Improvements and Tradeoffs

Get the Best from People

Make Tasks More Efficient

Simplify Products (KISS)

Reuse Components

Facilities, Support Services

Tools and Automation

Lean and Agile Methods

Evidence-Based Decision Gates

Domain Engineering and Architecture

Task Automation

Model-Based Product Generation

Value-Based, Agile Process Maturity

Affordability and Tradespace Framework

Reduce Operations, Support Costs

Streamline Supply ChainDesign for Maintainability, EvolvabilityAutomate Operations Elements

Anticipate, Prepare for ChangeValue- and Architecture-Based Tradeoffs and Balancing

19

Page 20: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Costing Insights: COCOMO II Productivity Ranges

Productivity Range

1 1.2 1.4 1.6 1.8 2 2.2 2.4

Product Complexity (CPLX)

Analyst Capability (ACAP)

Programmer Capability (PCAP)

Time Constraint (TIME)

Personnel Continuity (PCON)

Required Software Reliability (RELY)

Documentation Match to Life Cycle Needs (DOCU)

Multi-Site Development (SITE)

Applications Experience (AEXP)

Platform Volatility (PVOL)

Use of Software Tools (TOOL)

Storage Constraint (STOR)

Process Maturity (PMAT)

Language and Tools Experience (LTEX)

Required Development Schedule (SCED)

Data Base Size (DATA)

Platform Experience (PEXP)

Architecture and Risk Resolution (RESL)

Precedentedness (PREC)

Develop for Reuse (RUSE)

Team Cohesion (TEAM)

Development Flexibility (FLEX)

Scale Factor Ranges: 10, 100, 1000 KSLOC

10-18-2015

Staffing

Teambuilding

Continuous Improvement

20

Page 21: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

10-18-2015

Legacy System Repurposing

Eliminate Tasks

Eliminate Scrap, Rework

Staffing, Incentivizing, Teambuilding

Kaizen (continuous improvement)

Work and Oversight Streamlining

Collaboration Technology

Early Risk and Defect Elimination

Modularity Around Sources of Change

Incremental, Evolutionary Development

Risk-Based Prototyping

Satisficing vs. Optimizing Performance

Value-Based Capability Prioritization

Composable Components,Services, COTS

Affordability Improvements and Tradeoffs

Get the Best from People

Make Tasks More Efficient

Simplify Products (KISS)

Reuse Components

Facilities, Support Services

Tools and Automation

Lean and Agile Methods

Evidence-Based Decision Gates

Domain Engineering and Architecture

Task Automation

Model-Based Product Generation

Value-Based, Agile Process Maturity

Tradespace and Affordability Framework

Reduce Operations, Support Costs

Streamline Supply ChainDesign for Maintainability, EvolvabilityAutomate Operations Elements

Anticipate, Prepare for ChangeValue- and Architecture-Based Tradeoffs and Balancing

21

Page 22: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

10-18-2015

COCOMO II-Based Tradeoff AnalysisBetter, Cheaper, Faster: Pick Any Two?

0

1

2

3

4

5

6

7

8

9

0 10 20 30 40 50

Development Time (Months)

Co

st ($

M)

(VL, 1)

(L, 10)

(N, 300)

(H, 10K)

(VH, 300K)

-- Cost/Schedule/RELY:

“pick any two” points

(RELY, MTBF (hours))

• For 100-KSLOC set of features• Can “pick all three” with 77-KSLOC set of features

22

Page 23: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

10-18-2015

Value-Based Testing: Empirical Data and ROI— LiGuo Huang, ISESE 2005

-1.5

-1

-0.5

0

0.5

1

1.5

2

0 10 20 30 40 50 60 70 80 90 100

% Tests Run

Re

turn

On

In

ve

stm

en

t (R

OI)

Value-Neutral ATG Testing Value-Based Pareto Testing

% of Valuefor

CorrectCustomer

Billing

Customer Type

100

80

60

40

20

5 10 15

Automated test generation (ATG) tool

- all tests have equal value

Bullock data– Pareto distribution% of

Valuefor

CorrectCustomer

Billing

Customer Type

100

80

60

40

20

5 10 15

Automated test generation (ATG) tool

- all tests have equal value

% of Valuefor

CorrectCustomer

Billing

Customer Type

100

80

60

40

20

5 10 15

Automated test generation (ATG) tool

- all tests have equal value

Bullock data– Pareto distribution

(a)

(b)

23

Page 24: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151
Page 25: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Outline

• Critical nature of system qualities (SQs)– Or non-functional requirements; ilities– Major source of project overruns, failures– Significant source of stakeholder value conflicts– Poorly defined, understood– Underemphasized in project management

• Need for and nature of SQs ontology– Nature of an ontology; choice of IDEF5 structure– Stakeholder value-based, means-ends hierarchy– Synergies and Conflicts matrix and expansions

• Initial elaboration of Maintainability

10-18-2015 25

Page 26: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Problem and Opportunity (%O&M costs)

• US Government IT: ~75%; $59 Billion [GAO 2015]• Hardware [Redman 2008]

– 12% -- Missiles (average)– 60% -- Ships (average)– 78% -- Aircraft (F-16)– 84% -- Ground vehicles (Bradley)

• Software [Koskinen 2010]– 75-90% -- Business, Command-Control– 50-80% -- Complex platforms as above– 10-30% -- Simple embedded software

• Primary current emphasis minimizes acquisition costs2/21/2011 26

Page 27: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Maintainability Challenges and Responses

• Maintainability supports both Dependability and Changeability– Distinguish between Repairability and Modifiability– Elaborate each via means-ends relationships

• Multiple definitions of Changeability– Distinguish between Product Quality and Quality in Use (ISO/IEC 25010)– Provide mapping between Product Quality and Quality in Use viewpoints

• Changeability can be both external and internal– Distinguish between Maintainability and Adaptability

• Many definitions of Resilience– Define Resilience as a combination of Dependability and Changeability

• Variability of Dependability and Changeability values– Ontology addresses sources of variation– Referents (stakeholder values), States, Processes, Relations with other SQs

• Need to help stakeholders choose options, avoid pitfalls– Qualipedia, Synergies and Conflicts, Opportunity Trees

10-18-2015 27

Page 28: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Maintainability Opportunity Trees Address Modifiability, Repairability

• Modifiability Opportunity Tree– Anticipate Modifiability Needs– Design, Develop for Modifiability – Improve Modification V&V– Address Potential Conflicts

• Repairability Opportunity Tree– Anticipate Repairability Needs– Design, Develop for Repairability– Improve Repair Diagnosis– Improve Repair, V&V Processes– Address Potential Conflicts

10-18-2015 28

Page 29: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Product Quality View of ChangeabilityMIT Quality in Use View also valuable

• Changeability (PQ): Ability to become different product– Swiss Army Knife, Brick Useful but not Changeable

• Changeability (Q in Use): Ability to accommodate changes in use– Swiss Army Knife does not change as a product but is Changeable– Brick is Changeable in Use (Can help build a wall or break a window?)

Changeability

Adaptability Maintainability

• Self-Diagnosability• Self-Modifiability• Self-Testability

Internal

External

Modifiability Repairability

Defects

Changes

Testability

Means to End

Subclass of

• Understandability• Modularity• Scalability• Portability

• Diagnosability• Accessibility• Restorability

10-18-2015 29

Page 30: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

A

B

A

B C,D

Means to End Subclass of

Dependability, Availability

Reliability Maintainability

Defect FreedomSurvivability

Fault Tolerance

Repairability

Test Plans, CoverageTest Scenarios, DataTest Drivers, Oracles

Test Software Qualitities

Testability

Complete Partial

RobustnessSelf-Repairability

Graceful Degradation

Choices of Security,Safety

Modifiability

Dependability, Changeability, and Resilience

Testability, Diagnosability, etc.

10-18-2015

Changeability

Resilience

30

Page 31: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

10-18-201531

Maintainability Opportunity Tree: Modifiability

Anticipate Modifiability Needs

Design/Develop for Modifiability

Improve Modification V&V

Evolution requirementsTrend analysisHotspot (change source) analysisModifier involvement

Spare capacity; product line engineeringDomain-specific architecture in domain

Regression test capabilities

Address Potential Conflicts

Address Potential Conflicts

Address Potential Conflicts

Service-orientation; loose coupling

Modularize around hotspots

Enable user programmability

Modification compatibility analysis

Prioritize, Schedule Modifications, V&V

Page 32: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

10-18-201532

Maintainability Opportunity Tree: Repairability

Anticipate Repairability Needs

Design/Develop for Repairability

Improve Repair Diagnosis

Repair facility requirementsRepair-type trend analysisRepair skills analysisRepair personnel involvement

Replacement parts logistics development Replacement accessibility deaign

Multimedia diagnosis guidesFault localization

Address Potential Conflicts

Repair compatibility analysisRegression test capabilities Address Potential Conflicts

Address Potential Conflicts

Improve Repair, V&V Processes

Smart system anomaly, trend analysisInformative error messages

Replacement parts trend analysisRepair facility design, development

Address Potential Conflicts

Switchable spare components

Prioritize, Schedule Repairs, V&V

Page 33: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Elaborating Modifiability Benefits - I• Evolution Requirements

– Keep, prioritize below-the-line IOC requirements– Use to determine modularization around sources of change,

reduce ripple effects of changes• Trend Analysis

– Identify, prioritize responses to sources of change• Marketplace, competition, usage trends, mobility trends

– Use to refine, evolve architecture• Agile Methods, User Programmability

– Enable rapid response to rapid change• Hotspot Analysis

– Gather data on most common sources of change– Use to modularize architecture, reduce ripple effects of changes

2/21/2011 33

Page 34: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

343/27/2013

Use of Empirical Data in TOC Models:Pareto 80-20 Cost-to-fix Distribution

Contracts: Fixed cost and nominal-case requirements; 90 days to PDR

Page 35: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

35

Rework Sources Analysis: Projects A and B- Change processing over 1 person-month = 152 person-hours

3/27/2013

Category Project A Project BExtra long messages 3404+626+443+328+244= 5045

Network failover 2050+470+360+160= 3040

Hardware-software interface 620+200= 820 1629+513+289+232+166= 2832

Encryption algorithms 1247+368= 1615

Subcontractor interface 1100+760+200= 2060

GUI revision 980+730+420+240+180 =2550

Data compression algorithm 910

External applications interface 770+330+200+160= 1460

COTS upgrades 540+380+190= 1110 741+302+221+197= 1461

Database restructure 690+480+310+210+170= 1860

Routing algorithms 494+198= 692

Diagnostic aids 360 477+318+184= 979

TOTAL: 13620 13531

Page 36: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

36

C4ISR Project C: Architecting for ChangeUSAF/ESC-TRW CCPDS-R Project*

3/27/2013

When investments made in architecture, average time for change order becomes relatively stable over time…

* Walker Royce, Software Project Management: A Unified Framework. Addison-Wesley, 1998.

Page 37: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

37

Relative* Total Ownership Cost (TOC)For single system life cycle (TOC-SS)

3/27/2013 * Cumulative architecting and rework effort relative to initial development effort

~5% architecture investment

~5% architecture investment

~25% architecture investment

Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 50.00%

50.00%

100.00%

150.00%

200.00%

250.00%

Project A Project B Project C

Page 38: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Elaborating Modifiability Benefits – IIand Repairability Benefits

• Service-Oriented Architecture improves Interoperability• Product-Line Engineering improves Total Ownership Cost (TOC)

– Identify, modularize around product line Commonalities– Develop domain architecture, interfaces to Variabilities– Fewer components to modify, repair

• Improved Repairability improves Availability, TOC– Availability = MTBF / (MTBF + MTTR)

• Stakeholder Value-Based V&V improves Cost, Mission Effectiveness– Prioritizing inspection, test activities– Balancing level of inspection, test activities vs. rapid fielding

2/21/2011 38

Page 39: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

08/04/201539

Reuse at HP’s Queensferry Telecommunication Division

Timeto

Market

(months)

Non-reuse ProjectReuse project

Page 40: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Repairability Value: Cost of Downtime Survey

• Industry Sector Revenue/Hour• Energy $2.8 million• Telecommunications $2.0 million• Manufacturing $1.6 million• Financial Institutions $1.4 million• Information Technology $1.3 million• Insurance $1.2 million• Retail $1.1 million• Pharmaceuticals $1.0 million• Banking $996,000• Source: IT Performance Engineering & Measurement Strategies: Quantifying

Performance Loss, Meta Group, October 2000.

2/21/2011 40

Page 41: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Initial Empirical Study:Evaluate SW Maintainability Index on Open Source Projects

• Evaluate MI across 97 open source projects– 3 programming languages: Java, PHP, Python– 5 domains: Web development framework, System

administration, Test tools, Security/Encryption, Audio-Video• Test MI invariance across languages, domains• Evaluate completeness of MI vs. other sources

– COCOMO II Software Understandability factors• Structuredness (cohesion, coupling)• Self-descriptiveness (documentation quality)• Application clarity (software reflects application content)

– Other maintainability enablers (architecture, V&V support)• Repairability: Diagnosability, Accessibility, Testability, Tool support• Search for similar defects; root cause analysis

10-18-2015 41

Page 42: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Widely Used Software Maintainability IndexOman and Hagemeister, 1991

 

 

 

Halstead Volume (HV) Cyclomatic complexity (CC)

Count of logical lines (LLOC) Percent of lines of comments (CM)

 

Page 43: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Open Source Software Data AnalysisCelia Chen, Lin Shi, Kam Srisopha

Language Average LLOC

Metrics Collection Tools

PHP 18643 Phpmetrics

Java 33871 CodePro, LocMetrics

Python 6644 Radon

97 OSS projects, three languages, five domains, 1,899,700 LLOC in total.

Page 44: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Results – Null Hypothesis 1MI does not vary across PHP, Java and Python OSS projects

One-way ANOVA Results for language analysis

● P-Value <0.1, but >0.05

● Strongly suggestive rejection of null hypothesis for OSS projects

Page 45: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Results – Null Hypothesis 2MI of PHP, Java and Python OSS projects does not vary by domain

One-way ANOVA for domains

• Null hypothesis rejected with P-Value well below 0.05 (Definitive for OSS)

Page 46: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

MI Variation among domains

• Web Development Framework has shown the highest medians and the highest maximum value.

• Audio and Video has both the lowest maximum value and the lowest median value

• PHP may be a good option for projects that desires higher maintainability within Web Development Framework, Security/Cryptography and Audio and Video domain,

• Python may be a good option for System Administrative Software

• Java may be a good option for Software Testing Tools.

Page 47: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Conclusions• System qualities (SQs) are success-critical

– Major source of project overruns, failures– Significant source of stakeholder value conflicts– Poorly defined, understood– Underemphasized in project management

• SQs ontology clarifies nature of system qualities– Using value-based, means-ends hierarchy– Identifies variation types: referents, states, processes, relations– Relations enable SQ synergies and conflicts identification

• Initial exploratory maintainability data analyses suggest empirical studies of SQs an attractive field of study

10-18-2015 47

Page 48: An Initial Ontology for System Qualities: Elaborating on Maintainability Barry Boehm, USC CS 577, Fall 2015 10-18-20151

Backup charts

10-18-2015 48