04-29-11 | 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Facilitating Software Architecting by.

Slides:



Advertisements
Similar presentations
Episode 3 / CAATS II joint dissemination event Gaming Techniques Episode 3 - CAATS II Final Dissemination Event Patricia López Aena Episode 3 Brussels,
Advertisements

System Integration Verification and Validation
Systems Analysis and Design in a Changing World
Chapter 8: Evaluating Alternatives for Requirements, Environment, and Implementation.
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
SWE Introduction to Software Engineering
SE 555 Software Requirements & Specification Requirements Management.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
System-of-Systems Cost Modeling: COSOSIMO July 2005 Workshop Results Jo Ann Lane University of Southern California Center for Software Engineering.
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Project Risk Management EECS811: IT Project Management Presenter: Gavaskar Ramanathan.
What is Business Analysis Planning & Monitoring?
S/W Project Management
Chapter 1: Introduction to Statistics
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Software Project Management Lecture # 8. Outline Earned Value Analysis (Chapter 24) Topics from Chapter 25.
ITEC224 Database Programming
An Introduction to Software Architecture
Business Analysis and Essential Competencies
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
Data Mining Process A manifestation of best practices A systematic way to conduct DM projects Different groups has different versions Most common standard.
Certification and Accreditation CS Phase-1: Definition Atif Sultanuddin Raja Chawat Raja Chawat.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Module 4: Systems Development Chapter 12: (IS) Project Management.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements.
Experimental Research Methods in Language Learning Chapter 16 Experimental Research Proposals.
Management & Development of Complex Projects Course Code MS Project Management Perform Qualitative Risk Analysis Lecture # 25.
Lecture 7: Requirements Engineering
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Subcommittee on Design New Strategies for Cost Estimating Research on Cost Estimating and Management NCHRP Project 8-49 Annual Meeting Orlando, Florida.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
Chapter 3: Software Project Management Metrics
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
| 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Identifying Potential Core Assets in.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Project Risk Management Planning Stage
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
IAEA International Atomic Energy Agency Methodology and Responsibilities for Periodic Safety Review for Research Reactors William Kennedy Research Reactor.
WERST – Methodology Group
Requirements Engineering Process
Stages of design  High level design  High level data structure  Architecture  Low level design-code design  Algorithms  Low level data structures.
Technology Needs Assessments under GEF Enabling Activities “Top Ups” UNFCCC/UNDP Expert Meeting on Methodologies for Technology Needs Assessments
Requirements Analysis
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
CIS Review for Exam 11 Review for Exam I. CIS Review for Exam 12 Gorry and Scott Morton Framework Robert Anthony Herbert Simon.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
CS223: Software Engineering Lecture 13: Software Architecture.
Chapter Two Copyright © 2006 McGraw-Hill/Irwin The Marketing Research Process.
Prepared by Amira Selim 31 st October 2009 Revised by Dahlia Biazid Requirements Analysis.
Chapter 5: Software effort estimation
EIAScreening6(Gajaseni, 2007)1 II. Scoping. EIAScreening6(Gajaseni, 2007)2 Scoping Definition: is a process of interaction between the interested public,
Project Cost Management
OVERVIEW Impact of Modelling and simulation in Mechatronics system
Presented by Munezero Immaculee Joselyne PhD in Software Engineering
The Systems Engineering Context
HUMAN RESOURCE GOVERNANCE, RISK MANAGEMENT AND COMPLIANCE
The ANSI/SPARC Architecture aka the 3 Level Architecture
Information Systems Development (ISD) Systems Development Life Cycle
Review and comparison of the modeling approaches and risk analysis methods for complex ship system. Author: Sunil Basnet.
Presentation transcript:

| 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Facilitating Software Architecting by Ranking Requirements based on their Impact on the Architecture Process

| 2 Research problem ›What is the impact of requirements on the software architecture process? ›Goal Investigate how to rank requirements that makes them more suitable for architecting

| 3 Background and related work ›Many ranking techniques exist in literature 1. Select prioritization criteria 2. Order requirements based on these criteria 3. Compose individual ordering into final ordering ›Criteria Generic requirements categories (e.g., mandatory) Value, etc.

| 4 Proposed method – overview Preparation Execution Presentation Create list of atomic requirements Perform ranking Present ranking to stakeholders R = {r 1, …, r N } Target ranking

| 5 Stage 1 - preparation ›Specify atomic requirements To ensure proper requirements attribute assessment No differentiation between functional and non- functional requirements ›Global concerns are not atomized Key drivers act as criteria when making design decisions

| 6 Stage 2 – execution ›Assessment of requirements attribute values ›10 requirements attributes Characteristics of individual requirements that affect the architecture process

| 7 Stage 2 – requirements attributes AttributeDescriptionPossible values effort Estimated cost of implementing r n 1 = low 2 = low-medium 3 = medium 4 = medium-high 5 = high risk Expected risk of failing to implement r n and potential to introduce errors into the software 1 = low 2 = low-medium 3 = medium 4 = medium-high 5 = high complexity Estimated difficulty of implementing r n 1 = low 2 = low-medium 3 = medium 4 = medium-high 5 = high early design Existence of design information implied by r n yes no dependencies Dependencies of r n with other requirements Any combination of requirements in requirements set R AttributeDescriptionPossible values volatility Likelyhood of r n to change 1 = low 2 = low-medium 3 = medium 4 = medium-high 5 = high hardware constraints Existence of hardware constraints imposed by r n yes no aspects addressed System aspects addressed by r n internal communication external communication user interface business logic importance Importance of r n as perceived by stakeholders 1 = low 2 = low-medium 3 = medium 4 = medium-high 5 = high familiarity Developers’ knowledge and experience related to r n 1 = low 2 = low-medium 3 = medium 4 = medium-high 5 = high

| 8 Stage 3 – presentation ›Four sub-steps 1. Definition of impeding forces I n for each r n 2. Definition of enabling factors E n for each r n 3. Calculation of the impact of I n and E n on  n 4. Calculation of for  n each r n

| 9 Stage 3 – impeding forces I n ›Attributes which make it difficult to implement r n ›Potential impeding forces AttributeCriterion effort Impeding force if attribute value has the highest value among (effort, risk, complexity, volatility, importance). If more than one attribute share the highest value, more than one impeding force exists. risk complexity volatility importance familiarityImpeding force if value of familiarity is “low”.

| 10 Stage 3 – enabling factors E n ›Attributes which support the implementation of r n ›Potential enabling factors AttributeCriterion effort Enabling factor if attribute value has a value of “low”. If more than one attribute has a value of “low”, more than one enabling factor exists. risk complexity volatility importance familiarityImpeding force if value of familiarity is “high”.

| 11 Stage 3 – impact of I n and E n on  n II n = isIF(risk) x (-1) x valueOf(risk) + isIF(volatility) x (-1) x valueOf(volatility) + isIF(importance) x valueOf(importance) +(1) isIF(familiarity) x (-1) x valueOf(familiarity) EI n = 5 x | E n |(2)

| 12 Stage 3 – ranking index  n importance n x (II n + EI n ) iff II n + EI n > 0 importance n iff II n + EI n = 0(3) (1 / importance n ) x (II n + EI n ) iff II n + EI n < 0  n =

| 13 Post-processing ›Early design (design constraints imposed by reqs) ›Dependencies (“linked” requirements, independent of priority) ›Hardware constraints (descriptions of HW components and interactions) ›Addressed aspects (architecture views affected)

| 14 Case study ›Single-project case study Experimental setup for VR simulation ›Question How does the ranking from an architectural perspective compare to the target ranking?

| 15 Case study: step 1 – preparation ›26 architecture relevant requirements, e.g., r 1 : The VR system shall provide real-time interaction. r 4 : The application must display virtual objects of different stiffness. r 14 : The VR system shall provide real-time interaction. r 17 : Rendering must allow for more than 2% of geometric difference between frames.

| 16 Case study: step 2 – execution ›Example attribute values rnrn Attribute values r1r1 effort = “high” risk = “high” complexity = “high” early design = “no” dependencies = {r 16, r 25 } volatility = “low” hardware constraints = “yes” aspects addressed = “business logic” importance = “high” familiarity = “low-medium” r4r4 effort = “medium” risk = “medium-high” complexity = “medium-high” early design = “no” dependencies = {r 17, r 19 } volatility = “low” hardware constraints = “no” aspects addressed = “user interface” importance = “medium” familiarity = “low-medium” rnrn Attribute values r 14 effort = “high” risk = “high” complexity = “high” early design = “no” dependencies = {r 16, r 24 } volatility = “low-medium” hardware constraints = “no” aspects addressed = “user interface” importance = “low-medium” familiarity = “low-medium” r 17 effort = “medium-high” risk = “medium” complexity = “medium-high” early design = “no” dependencies = {r 20, r 25, r 26 } volatility = “low-medium” hardware constraints = “no” aspects addressed = “user interface” importance = “low-medium” familiarity = “low-medium”

| 17 Case study: step 3 – presentation (I) ›Calculation of ranking indices ›Example I 1 = {effort, risk, complexity, importance} E 1 = {volatility} II 1 = [(-1) x 5] + 5 = 0 EI 1 = 5 x 1 = 5  1 = 5 x (0 + 5) = 25

| 18 Case study : step 3 – presentation (II) ›Results RankRequirement Ranking index  n 1r r r r1r1 25 5r2r2 6r r5r5 24 8r r9r r3r r r r RankRequirement Ranking index  n 14r r6r6 4 16r7r7 4 17r8r8 4 18r r4r4 3 20r r r r r r r

| 19 Case study: post-processing ›Effect on requirements with similar / identical ranking index ›Dependencies between requirements made some requirements being ranked higher

| 20 Case study: discussion of results (I) ›  versus priority 7 / 26 requirements ranked the same ›  versus actual implementation order 4 / 26 requirements ranked the same

| 21 Case study – discussion of results (II) ›Diff(r n,  n ) = rank(r n,  n ) – rank(r n, actual)(4) ›Diff(r n, prio) = rank(r n, prio) – rank(r n, actual)(5)

| 22 Case study: discussion of results (III) ›Different ranking than priority-based ranking ›Ranking closer to actual implementation order ›Acceptable ranking (stakeholders) ›Technically feasible ranking

| 23 Case study: threats to validity ›External validity ›Internal validity ›Cost-benefit analysis

Limitations ›Subjective assessment of attributes Scalability Requirements attributes ›Reprioritization / evolving systems ›Integration with other constraints ›Effort / cost | 24

Summary and conclusions ›Rank requirements from an architecture perspective No focus on NFR, depends on expert assessment Can be used “as-is” or with other methods ›Case study Distance to final implementation order is smaller ›Future: Experiments, integration with other methods | 25

| 26 Thank you for your attention

| 27 Case study ›Data collection List of architecture-relevant requirements Attribute value assessment Priority of requirements (used for comparison) Final implementation order (used for comparison) Backup

| 28 Case study: discussion of results ›Priority and actual implementation order Rank Requirement (priority-based ranking) Requirement (actual order) 1r 26 (5)r 26 2r 12 (5)r3r3 3r 2 (5)r4r4 4r 1 (5)r5r5 5r 3 (4)r6r6 6r 11 (4)r7r7 7r 18 (4)r8r8 8r 23 (4)r2r2 9r 25 (4)r9r9 10r 4 (3)r 20 11r 13 (3)r 21 12r 16 (3)r 22 13r 24 (3)r 18 Rank Requirement (priority-based ranking) Requirement (actual order) 14r 19 (2)r1r1 15r 6 (2)r 25 16r 7 (2)r 23 17r 8 (2)r 10 18r 10 (2)r 14 19r 5 (2)r 15 20r 14 (2)r 12 21r 20 (2)r 16 22r 17 (2)r 17 23r 22 (2)r 19 24r 21 (2)r 24 25r 9 (1)r 13 26r 15 (1)r 11 Backup