Nary Subramanian Firmware Engineer Applied Technology Division Anritsu Company Richardson, TX. Lawrence Chung.

Slides:



Advertisements
Similar presentations
A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs Sam Supakkul Titat Software LLC Lawrence Chung The.
Advertisements

SUBMITTED TO: DR. LAWRENCE CHUNG ASSOCIATE PROFESSOR, DEPARTMENT OF COMPUTER SCIENCE, THE UNIVERSITY OF TEXAS AT DALLAS, RICHARDSON, TX SUBMITTED.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
درس مهندسی نیازمندی ها استاد دکتر عبداله زاده دانشجو خیرالنسا مرچانت Dealing with NFR : Three Experimental Studies of a Process-Oriented Approach.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Dealing.
(c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Software Test and Analysis in a Nutshell.
Shiva Vafadar 1 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Dealing with Non-Functional.
Dealing with NFRs Vahid Jalali Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory,
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Selecting COTS Products Using a Requirements-Based Approach
Software Life Cycle Model
Toward Component Non-functional Interoperability Analysis: A UML- based and Goal-oriented Approach Sam Supakkul and Lawrence Chung The University of Texas.
Data Structures and Programming.  John Edgar2.
Presented By: Shashank Bhadauriya Varun Singh Shakti Suman.
Lecture 3.
Introduction SWE 619. Why Is Building Good Software Hard? Large software systems enormously complex  Millions of “moving parts” People expect software.
Lesson 7 Guide for Software Design Description (SDD)
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
CSE 303 – Software Design and Architecture
Virtual OSGi Framework and Telecommunications Sam Supakkul Yotta Networks Digital Pockets, LLC Dallas, Texas Lawrence Chung Dept.
Applying a Goal-Oriented Method for Hazard Analysis: A Case Study Sam Supakkul The University of Texas at Dallas Lawrence Chung The.
Chapter 10 Information Systems Analysis and Design
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Software Engineering Chapter 3 CPSC Pascal Brent M. Dingle Texas A&M University.
GRASP: Designing Objects with Responsibilities
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
EEL 5937 Agent models. EEL 5937 Multi Agent Systems Lecture 4, Jan 16, 2003 Lotzi Bölöni.
Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
1 CMPT 275 High Level Design Phase Modularization.
Capturing and Reusing Functional and Non-functional Requirements Knowledge: A Goal-Object Pattern Approach Lawrence Chung and Sam Supakkul The University.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 1.
COTS-Aware Requirements Engineering and Software Architecting
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Developing Adaptable Software Architectures for Real-Time Systems Using Design Patterns Lawrence Chung, Kendra Cooper, Anna Yi The University of Texas.
 SAP AG 2007, SAP CSUN 2007 Conference Presentation / 1 Presented by Team “Call of Duty” 29 th April 2010 CS 6361, University of Texas At Dallas.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software Architecting Using Goals, Scenarios, Patterns and Objects Lawrence Chung The University of Texas at Dallas.
Integrating FRs and NFRs: A Use Case and Goal Driven Approach Presented by Chin-Yi Tsai.
Integrating FRs and NFRs: A Use Case and Goal Driven Approach Sam Supakkul Network Surveillance Systems MCI Lawrence Chung Dept. of.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
ITEC 1010 Information and Organizations Chapter V Expert Systems.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
Rule-based Context-aware Adaptation Using a Goal-Oriented Ontology Hongyuan Wang (Jilin University, China) Rutvij Mehta (The University of Texas at Dallas,USA)
Page 1 An Overview of The COTS-Aware Requirements Engineering and Software Architecting Project (CARE/SA) The University of Texas at Dallas Department.
Advanced Software Engineering Dr. Cheng
Product Support BCA Exercise – JRATS/JTAMS
The University of Texas at Dallas
Introduction to Software Engineering
A Tutorial for a RE-Tool
Objective of This Course
Software Testing and Maintenance Maintenance and Evolution Overview
NFR Framework Workshop
Chapter 9 – Software Evolution and Maintenance
NFR Framework Workshop
Integrating FRs and NFRs: A Use Case and Goal Driven Approach
User Interface Design and Evaluation
DOD’S PHASED SYSTEM DEVELOPMENT PROCESS
Presentation transcript:

Nary Subramanian Firmware Engineer Applied Technology Division Anritsu Company Richardson, TX. Lawrence Chung Dept. Of Computer Science Univ. Of Texas at Dallas Richardson, TX. Software Architecture Adaptability: An NFR Approach

Jini and the Programmer* Once a lucky and broad-minded programmer found a Jini. Programmer: “I feel sorry for people in the mid-east. Can you fix that problem so that no more suffering occurs?” Jini: “I am sorry, but that is something I cannot do.” Programmer: “Then will you fix my programs so that they meet the needs of every single user?” Jini: “Give me the map - I have a better chance at Middle East!” *source: Web Moral : Be Adaptable

Software Architecture Adaptability: An NFR Approach dual-mode cell phone command-processing system that accepts commands of different versions software system being able to operate on different OS’s self-managing systems such as eLiza dynamic uploading of firmware Adaptability Examples

accomodate new requirements easily faster development of new software adding new software features fixing defects during maintenance phase (which consumes currently 50% of cost) Software Architecture Adaptability: An NFR Approach Advantages of Adaptable Systems

No fixed definition Examples: –ease with which system may be adapted to changing requirements –modifies behavior in response to changes in operating environment –a software quality metric –...and many more... Software Architecture Adaptability: An NFR Approach What is Adaptability?

Software Architecture Adaptability: An NFR Approach Current Approach to Adaptability State Problem “problem is to develop adaptable system that does xxx...” Define Adaptability “adaptability is evolution to meet the needs of user and business” Develop solution “Solution”

Lack of traceability of solutions to requirements : why should “Solution” be adaptable? The usual justification is “Solution does so-and-so and hence satisfies definition of adaptability”. No way to analyze/explore alternative solutions: what are other possibilities besides “Solution” No way to determine the degree to which system is adaptable Software Architecture Adaptability: An NFR Approach Some Drawbacks of Current Approach

Applicable to any definition of adaptability Allows alternative solutions to be explored Decomposes “adaptability” depending on the domain Criticalities can be allocated to different NFRs of the decomposition Permits design tradeoffs Assessment of adaptability is possible Software Architecture Adaptability: An NFR Approach The NFR Approach

Software Architecture Adaptability: An NFR Approach Steps in The NFR Approach Decompose Adaptability for the domain - NFR softgoal hierarchy Develop architectural alternatives - Design softgoal hierarchy Determine extent to which design softgoals satisfice NFR softgoals - claim softgoal hierarchy Assign criticalities to various softgoals Choose the design components that satisfice the relevant softgoals Legend: Down arrow = go to next step; Up arrow = iterate

Software Architecture Adaptability: An NFR Approach A Comprehensive Definition of Adaptability Legend: S,S’: old and new system E,E’: old and new environment  S,  E : change in system, environment

Software Architecture Adaptability: An NFR Approach Example SIG Development - Step 1 NFR Softgoal Decomposition SIG = Softgoal Interdependency Graph

Software Architecture Adaptability: An NFR Approach Example SIG Development - Step 2 Design Softgoal Decomposition SIG = Softgoal Interdependency Graph

Software Architecture Adaptability: An NFR Approach Final SIG SIG = Softgoal Interdependency Graph

Software Architecture Adaptability: An NFR Approach Notation for SIGs NFR Softgoal Design Softgoal OR-contribution AND-contribution Strongly-negatively satisficing Negatively satisficing Positively satisficing Strongly-positively satisficing Correlation Rule (negatively satisficing)

A KB of design goals, decomposition methods, correlations will make it easier to search for such items for future use. Currently even when such catalogs are available, they are not easy to use. NFR Approach allows for a knowledge- based approach Can be used to (semi-)automatically generate adaptable architectures Software Architecture Adaptability: An NFR Approach Knowledge-Based Approach

Software Architecture Adaptability: An NFR Approach Frame-like Notations Design Softgoal NFR Decomposition Method

Software Architecture Adaptability: An NFR Approach Frame-like Notations (cont’d) Operationalization MethodCorrelation Rule

Analysis of NFR adaptability Current techniques are not traceable to “whys” of software NFR Approach provides several advantages to developing adaptable architectures NFR Approach allows for a KB approach which will help generate architectures (semi-)automatically. Software Architecture Adaptability: An NFR Approach Summary

Software Architecture Adaptability: An NFR Approach Future Work Better cataloging of the NFR Adaptability and its refinements Develop methods for different domains so that KB is more useful to industry Develop procedure to generate architectures.