Master thesis: Automatic Extraction of Design Decision Relationships from a Task Management System Kick-Off Matthias Ruppel, 8th of May 2017, Munich.

Slides:



Advertisements
Similar presentations
Identifying, Modifying, Creating, and Removing Monitor Rules for SOC Ricardo Contreras Andrea Zisman
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Report on Intrusion Detection and Data Fusion By Ganesh Godavari.
Using Variability Modeling Principles to Capture Architectural Knowledge Marco Sinnema (University of Groningen), Jan Salvador van der Ven (University.
درس مهندسی نیازمندی ها استاد دکتر عبداله زاده دانشجو خیرالنسا مرچانت 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.
Software Architecture in Practice
Dealing with NFRs Vahid Jalali Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory,
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Software Process and Product Metrics
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Design, goal of design, design process in SE context, Process of design – Quality guidelines and attributes Evolution of software design process – Procedural,
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
CSE 303 – Software Design and Architecture
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Supplementary Specifications (Chapters 20,22 - Requirements Text) 1.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
Secure Systems Research Group - FAU Classifying security patterns E.B.Fernandez, H. Washizaki, N. Yoshioka, A. Kubo.
Project Administration Chapter-4. Project Administration Project Administration is the process which involves different kinds of activities of managing.
Report on Intrusion Detection and Data Fusion By Ganesh Godavari.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
10 Software Architecture CSCU 411 Software Engineering.
Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?
1 Introduction to Software Engineering Lecture 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Illustrations and Answers for TDT4252 exam, June
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Designing software architectures to achieve quality attribute requirements F. Bachmann, L. Bass, M. Klein and C. Shelton IEE Proceedings Software Tzu-Chin.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Towards Common Standards for Studies of Software Engineering Tools and Tool Features Timothy C. Lethbridge University of Ottawa.
Copyright Prof. Dr. Shuichiro Yamamoto Prof. Dr. Shuichiro Yamamoto Nagoya University.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
CSE 303 – Software Design and Architecture
Requirements Analysis
 P lanning is an intellectual process, consicous determination of courses of action, the basing of decisions on purpose, facts and considered estimates.
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
ITIL: Service Transition
A prototypical tool to discover architecture changes based on multiple monitoring data sources for a distributed system Patrick Schäfer, , Munich.
A Hierarchical Model for Object-Oriented Design Quality Assessment
Software Quality Control and Quality Assurance: Introduction
Software Engineering Lecture 4 System Modeling The Analysis Stage.
Classifications of Software Requirements
ECA 2010, Geneva, Switzerland Creating a synergy between BPM
Chapter 4 Requirements Engineering (1/3)
Chapter 4 – Requirements Engineering
Chapter 5 – System Modeling
Topic for Presentaion-2
Software Processes (a)
Requirement Engineering
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
SOFTWARE ARCHITECTURE AND DESIGN
HCI in the software process
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
HCI – DESIGN RATIONALE 20 November 2018.
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Database Systems Instructor Name: Lecture-3.
HCI in the software process
An Introduction to Software Architecture
CS310 Software Engineering Lecturer Dr.Doaa Sami
HCI in the software process
Chapter 17 - Component-based software engineering
Human Computer Interaction Lecture 14 HCI in Software Process
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
UML Design for an Automated Registration System
Presentation transcript:

Master thesis: Automatic Extraction of Design Decision Relationships from a Task Management System Kick-Off Matthias Ruppel, 8th of May 2017, Munich

Motivation and Theoretical Background Research Questions Observations Outline Motivation and Theoretical Background Research Questions Observations Research Approach Timeline Matthias Ruppel, 8th of May 2017, Master thesis Kick-Off © sebis

Introduction | Motivation Many architectural design decisions are made during development & maintenance Documenting takes a lot of effort, time & costs Architectural design decisions are hard to capture Current design decisions may interfere with previous design decisions Implicitly taken, not explicitly captured & documented Rational / Cause / Concern is not evident in the documentation Source: http://www.bmtools.com/services/overview.html Matthias Ruppel, 8th of May 2017, Master thesis Kick-Off © sebis

Architectural Design Decision Definition A description of the choice and considered alternatives that (partially) realize one or more requirements. Alternatives consist of a set of architectural additions, subtractions and modifications to the software architecture, the rationale, and the design rules, design constraints and additional requirements. design decision, which couples rationale with software architecture. Design decisions are integrated with the software architecture design. Design decisions only exist in the heads of the designers, which leads to the following problems: Typical design decisions affect multiple parts of the design. During the evolution of the system, designers can easily violate design rules and constraints arising from previously taken design decisions. Violations of these rules and constraints lead to architectural drift When obsolete design decisions are not removed, the system has the tendency to erode more rapidly. Also, the reusability of the architectural artifacts is limited if design decision knowledge vaporizes into the design. Design decisions can also be classified according to different abstraction levels. Jansen [11] proposes a funnel of decision-making model to classify decisions at different abstraction levels such as software architecture, detailed design, and implementation. Van der Ven and Bosch relate to these abstraction levels as high-level, medium-level, and realization-level decisions. => Decisions extracted from the issue management systems belong to either medium-level or realization-level decisions. An architectural design decision is defined as (follows: http://www.rug.nl/research/portal/files/2724654/c3.pdf) A description of the choice and considered alternatives that (partially) realize one or more requirements. Alternatives consist of a set of architectural additions, subtractions and modifications to the software architecture, the rationale, and the design rules, design constraints and additional requirements. The given architecture is a set of earlier made design decisions, which represent the architectural design at the moment the design decision is taken. The rationale represents the reasons behind an architectural design decision. Source: Jansen, A. G. J. (2008). Architectural design decisions s.n. Source: Zimmermann et. al. (2009). Managing architectural decision models with dependency relations, integrity constraints, and production rules Matthias Ruppel, 8th of May 2017, Master thesis Kick-Off © sebis

Non-Functional Requirements: ISO 9126-1 – Types of Quality ISO 9126-1 classifies software quality in a structured set of characteristics and sub-characteristics. Each quality sub-characteristic is further divided into attributes. But: Be aware of Tradeoffs Source: SO/IEC 9126-1:2001 Software engineering - Product quality - Part 1: Quality model. Matthias Ruppel, 8th of May 2017, Master thesis Kick-Off © sebis

Observation: Keyword classification method NFR type Extracted Keywords Security Confidentiality, integrity, completeness, accuracy, perturbation, virus, access, authorization, rule, validation, audit, biometrics, card, key, password, alarm, encryption, noise Performance Space, time, memory, storage, response, throughput, peak, mean, index, compress, uncompress, runtime, perform, execute, dynamic, offset, reduce, fixing, early, late Results Dependent on Context Only for a few NFRs Relatively poor performance: Security recall: 70%, precision: 32% Performance recall 44%, precision: 21% Source: Cleland-Huang et. Al. (2007). Automated classification of non-functional requirements Matthias Ruppel, 8th of May 2017, Master thesis Kick-Off © sebis

Observation: NFR-Classifier NFR type Selected Indicator terms from training set Availability Available, achieve, daily, time, hour, pm, year, downtime, long, product Security Online, access, author, user, inform, ensure, data, authentication, security, system, incorrect, product Usability Use, easy, user, train, product, able, understand, intuitive, learn, product Results “The product shall …” Better performance for some NFRs: Availability recall: 89%, precision: 11% Security recall 81%, precision: 19% Usability recall 98%, precision: 14% Source: Cleland-Huang et. Al. (2007). Automated classification of non-functional requirements Matthias Ruppel, 8th of May 2017, Master thesis Kick-Off © sebis

Research Question 1 Research Questions How to automatically identify the rationale of an architectural design decision Research Question 1 What is the influence of an architectural design decision on the quality attributes Research Question 2 Matthias Ruppel, 8th of May 2017, Master thesis Kick-Off © sebis

Research Approach Literature review of previous work Analysis of data set regarding Quality Attributes Deviation and formalization of patterns Implement a System to automatically extract the rational of the design decision Evaluate the System with an unknown project Matthias Ruppel, 8th of May 2017 © sebis

Timeline May June July August September Literature review Analysis Dataset Patterns | Classification System Design & Implementation Evaluation Submission Master Thesis Writing of Master Thesis Matthias Ruppel, 8th of May 2017, Master thesis Kick-Off © sebis

Matthias Ruppel matthias.ruppel@tum.de