Tradeoff Analysis of Strategies for System Qualities

Slides:



Advertisements
Similar presentations
ECG Signal processing (2)
Advertisements

BackTracking Algorithms
Software Engineering 1. Software development – the grand view 2. Requirements engineering.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
Identifying "Good" Architectural Design Alternatives with Multi-Objective Optimization Strategies By Lars Grunske Presented by Robert Dannels.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Topic on Production and Cost Functions and Their Estimation.
1 1.1 © 2012 Pearson Education, Inc. Linear Equations in Linear Algebra SYSTEMS OF LINEAR EQUATIONS.
Chapter 19 Linear Programming McGraw-Hill/Irwin
MANIT WEB HOSTING SERVICES Presented by - Sandeep Jain & Devesh Lal CRISP, Bhopal.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Copyright © 2014 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
McGraw-Hill/Irwin Copyright © 2009 by The McGraw-Hill Companies, Inc. All Rights Reserved. Supplement 6 Linear Programming.
Advanced Software Engineering Dr. Cheng
CompSci 280 S Introduction to Software Development
Linear Equations in Linear Algebra
Decision Support Systems
Chapter 12: Kay and Edwards
Non Functional Requirements (NFRs)
(Professional Business Analyst Training organisation)
MSA / Gage Capability (GR&R)
PowerPoint Lectures for Principles of Economics, 9e
An assessment framework for Intrusion Prevention System (IPS)
Chapter 18 Maintaining Information Systems
Solver & Optimization Problems
Project Integration Management
Introduction SOFTWARE ENGINEERING.
Recall The Team Skills Analyzing the Problem
Processing Integrity and Availability Controls
Security Engineering.
PowerPoint Lectures for Principles of Economics, 9e
Systems Analysis and Design: What is it?
Software Engineering (CSI 321)
Background: Lattices and the Learning-with-Errors problem
Algorithm An algorithm is a finite set of steps required to solve a problem. An algorithm must have following properties: Input: An algorithm must have.
When are Fuzzy Extractors Possible?
Chapter 2 – Software Processes
Analytics for the IoT: A Deep Dive into Algorithms
Software Testing and Maintenance Maintenance and Evolution Overview
PowerPoint Lectures for Principles of Microeconomics, 9e
Chapter 9 – Software Evolution and Maintenance
RAID Redundant Array of Inexpensive (Independent) Disks
When are Fuzzy Extractors Possible?
An Introduction to Software Architecture
PowerPoint Lectures for Principles of Economics, 9e
○ Hisashi Shimosaka (Doshisha University)
Constraints and Search
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Fundamentals of Software Engineering Economics (III)
Linear Equations in Linear Algebra
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Human Computer Interaction Lecture 14 HCI in Software Process
Local Search Algorithms
Information Theoretical Analysis of Digital Watermarking
PowerPoint Lectures for Principles of Economics, 9e
Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips.
Graphical solution A Graphical Solution Procedure (LPs with 2 decision variables can be solved/viewed this way.) 1. Plot each constraint as an equation.
A modest attempt at measuring and communicating about quality
Instructor Materials Chapter 5: Ensuring Integrity
Chapter 1: Software and Software Engineering
Presentation transcript:

Tradeoff Analysis of Strategies for System Qualities Xuan Zhang YNU Visiting Scholar 3/15/2016

SQs and NFRs System qualities (SQs) are impacted by non-functional requirements (NFRs). NFRs state “how well” while FRs state “what” NFRs=how well (FRs) Design state “how” the system should perform the functions. Developing to the design will satisfy FRs and NFRs. I assume that we all agree that system qualities are very important. In my opinion, system qualities is determined by both FRs and NFRs. FRs are basic requirements that the systems must finish the correct functions. They state what system should perform, while NFRs state how well the system should perform. This “how” problems are more difficult to handle than “what” problems. What I wanna do is to try to solve this “how” problem. So in the following, when I talk about system qualities I focus on NFRs. System qualities are also impacted by non-functional requirements. Before we write code to develop software or use software, hardware or anything else we need to develop or construct systems we need to design first. To determine what and how the systems should perform the functions. If we have terrible design the result system will not be good. So we need have good design and develop to the design, that it will satisfy the FRs and NFRs.

Strategies The need for a particular SQ use specific strategies to optimize the system for this SQ improve the particular SQs may hurt other SQs. Systems increase in diversity and complexity, the strategy alternatives for SQs constitute a vast space of options. When we want to improve some specific system qualities we usually use some strategies to optimize the system. The strategies here could be technical strategies, process strategies, or project management strategies. There are many strategy example, such as when optimizing on security, for higher security we use single-agent key distribution. But this strategy may hurt other system qualities. Reliability is one of them because this may have single point of failure problem. This makes the “how” problem harder. And even worse, because systems increase in diversity and complexity, the strategy alternatives for SQs constitute a vast space of options. The most easier examples are encryption algorithms. We have AES, DES, RSA, ECC and many hash algorithms. Another example is redundancy, we can add physical or cyber capacities but how many capacities should be added. Because the development of computing technology and I said before, the systems are more complex. For some strategies, we have lots of options to choose. Choosing from them is hard because this decision may impact the SQs.

This is Dr. Boehm’s synergis and conflicts matrix This is Dr.Boehm’s synergis and conflicts matrix. In this matrix the strategies in the column may have the conflict problems I said before. When we show these strategies to project team we need to tell them that some strategies may have conflict problems, but this is not enough, we have to show how coflict and how to use the strategies when conflicts exist.

Strategies Redundancy Design Fault-tolerant Design Encryption Design Reliability, Safety, Maintainability Security, Speed Fault-tolerant Design Reliability, Usability Security, Accuracy Encryption Design Security Speed, Maintainability End-user Programming, Across domain component, Tight Coupling..... Redundancy Design: add more physical/cyber capacities, if some components failed redundant hardware can be used to assure the system not failed. This is also good to safety and maintainability. But adding more capacities maybe add attack surface. Attack surface is the ways in which an adversary can enter the system and potentially cause damage, such as methods, channels, and data items. The smaller attack surface the more secure the system. If we backup in more components it will cost more time, which means lower speed. Encryption Design: protect keys for encryption will complex maintainability and need more maintenance cost.

Zhu’s Tradeoff Analysis Many scholars present solving method. I only use one example here. It is Zhu mingxun’s tradeoff analysis for trustworthy software. Because NFRs impact trustworthiness of software he try to balance the conflict such as security and performance. Usually, the higher the security the lower the performance. Here he compare two algorithms RSA and DES (I have to mention that this comparison between RSA and DES may not be good because they are different algorithms and used in different ways. Please ignore the problem, what I want to show that the options or this algorithms can be measured and some useful values maybe helpful for designers). He use fuzzy linguistic variables to obtain what stakeholders want and then use defuzzification procedure to get values for each options. The good thought here is to show a specific values to designers to make them easier to make decisions. Because the process time and security level can be measured some of the strategies can be measured. The problem of this example is that if we have more options what the relations among these options, can we show more details of these options.

My Tradeoff Analysis I borrow the concepts form the theory of production. In case of labor and capital are both variable inputs, an isoquant shows the various combinations of two inputs (say, labor and capital) that can be used to produce a specific level of output. These various combinations show the elasticity of their substitution. In my tradeoff analysis, the isoquant shows the combinations of options in strategis. But different from isoquant, this curve is made up of straight line segments and will have kinks rather than being smooth. The dots are options. Different dots show different relations between SQs.

Optimize Tradeoff The next problem is how to choose from these options. I refer to the linear programming. To add constraints. There are two constraints can be added. The first is which SQ is more important. But how can we get the values to show this importance? I obtain them from stakeholders. The second constraint is the minimum or maximum of each SQ. For example, for security, we may have minimum security level. For adding hardware for redundancy we may have maximum constraint. By adding these constraints I think I can find the proper options. The darker region is feasible region shows that the options in this region can be chosen. The dot near to the intersection is the proper options.

SQs Tradeoff Framework

SQs Priority

Synergies and Conflicts

Tradeoff Optimization Minimum distance from point to line.

Impact of Changes Changes: upgrade platform, better techniques, more or less constraints.

3 Categories of Strategies In real project, not all strategies are measurable. Immeasurable: agile methods.

COCOMO Strategies

Measurable Strategies

Tradeoff Summary

High Level Architecture Support Tool

Empirical Application A trusted third party certification authority (CA) project.

Normalization : Min-Max scaling and scale the data in a fixed range of 1 to n, where n is the numbers of solutions.

Thank you!