Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris...

11
Software Architectural Assumptions in Software Architecting Chen Yang a,b , Peng Liang a , Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan University, China b Department of Computing Science, University of Groningen, The Netherlands

Transcript of Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris...

Page 1: Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan.

Software Architectural Assumptions in Software Architecting

Chen Yanga,b, Peng Lianga, Paris Avgerioub

 

a State Key Lab of Software Engineering, Wuhan University, Chinab Department of Computing Science, University of Groningen, The Netherlands

Page 2: Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan.

Outline

2

ConceptMotivationQuestionsRelated workOur workFuture work

Page 3: Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan.

What is Architectural Assumption (AA)?

3

A type of architectural knowledgeA type of Architectural Design Decision as

well as the reasons for making the decisions

Explicit documentation of the unknowns or the expectations to provide a context to decision making

Typically assumptions about the structure of the system under development

Page 4: Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan.

What is AA?

4

The AA concept is not newNo widely accepted definition of this

concept!AcademiaIndustry

Page 5: Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan.

Why should we manage AAs?

5

Uncertain things (e.g., requirements)Numerous AAs exist in projectsUsually implicit and undocumented

Originally invalid AAsPersonal experience and knowledge

Valid AAs turn to be invalidChanged requirements, architecture, and

project context

Different understandingDifferent stakeholdersResearchers vs. Practitioners

Page 6: Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan.

Why should we manage AAs?

6

Problems of not managing AAsArchitectural mismatchMisunderstanding of architecture Considerable time and effort

Page 7: Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan.

What, When, and How

7

What kinds of projects are suitable for introducing AA management?

What AAs should be managed?When to manage AAs?How to manage AAs?

Context dependent

Page 8: Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan.

Related work

8

AA definitionAA classificationAA activitiesMethods and tools for AA management

(e.g., identification, recording, and recovering)

Lessons learned for AA management

Page 9: Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan.

Our work

9

Chen Yang, Peng Liang. Identifying and Recording Software Architectural Assumptions in Agile Development. In: Proceedings of the 26th International Conference on Software Engineering and Knowledge Engineering (SEKE), pp. 308-313, 2014.

Chen Yang, Peng Liang, Paris Avgeriou. A Systematic Mapping Study on the Combination of Software Architecture and Agile Development. Journal of Systems and Software, 2015. (under review)

Chen Yang, Peng Liang, Paris Avgeriou. A Survey of Software Architectural Assumptions. Information and Software Technology, 2015. (under submission)

Page 10: Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan.

Future work

10

The state of the art of AA management from the practitioners’ perspective?

How to identify and record AAs in software development?

What is the process of AA management?How to trace AAs in software development?How to combine AA management and agile

development?

Page 11: Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan.

11

Thanks!