7_verelst

advertisement
Systematic research of
Combinatorial Effects at
Requirements Engineering Level
Jan Verelst
Alberto Rodrigues Silva
Herwig Mannaert
David Almeida Ferreira
Philip Huysmans
Overview
• Introduction
• Normalized Systems Theory
• Identifying Combinatorial Effects
-
BPMN
UML Use Cases
“Real World”
UML Domain Models
DEMO/EO
• Conclusions
• Research agenda
1
Introduction
• The origin: Sabbatical Alberto Silva, specialized in
Requirements Engineering (RE)
• The idea: to apply Normalized Systems Theory (NS) to RE.
Can RE be considered in terms of modular structures ? Or is
this too technical and therefore inappropriate ?
- Jorge Sanz’ talk: bring EE to mainstream management !
- “Together with communications theory-based approaches, such
as DEMO, this would suggest that the real world is first and
foremost an area of human behavior, which should therefore
not predominantly be studied by theories based on computer
science and/or automation. We agree with this point of view.
Nevertheless, in modern society, human behavior
increasingly takes place in highly structured, processbased contexts. Therefore, we argue that it is relevant to study
these aspects of reality based on concepts such as modularity,
while at the same time making an abstraction from purely
human and communication aspects.”
2
Software Requirements Specs
• Software Requirements Specification (SRS)
- A requirements specification is used throughout different
stages of the project life-cycle, namely to help sharing the
system vision among the main stakeholders, as well as to
facilitate their communication, the overall project
management, and system development processes.
• Benefits
- Establishes the basis for agreement between the
customers and the suppliers on what the system is
expected to do;
- reduces development efforts;
- provides a basis for estimating costs and schedules;
- provides a baseline for verification and validation;
facilitates the system deployment;and
- serves as a basis for future maintenance activities
3
Business and System Level
•
•
Business level
-
Constructs
-
Languages/Models
•
Terminology, goals, stakeholders, business processes, business use cases
•
Goal-oriented languages (i*, KAOS), UML, BPMN, RUP Business Modeling, DEMO/EO, Archimate
System level
-
-
-
-
Context models
•
Constructs
•
Languages
-
System, subsystem, componenents, nodes, external actors
SysML Block Diagrams, UML Deployment Diagrams, Data Flow Diagrams
Domain Models
•
Constructs
•
Languages
-
Entities, classes, …
UML Class Diagrams, Entity Relationship Diagrams
Functional requirements models
•
Constructs
•
Languages
-
Actors, functional requirements, use cases, scenario’s, user stories
Natural language enriched with metadata (priority, risk levels…), UML Use Case diagrams, SysML
Requirements Diagrams
Quality attribute models
•
Constructs
•
Languages/Models
-
Qualities, metrics, utility values,
lists of quality attributes, quality-attributes scenario’s
4
Why study CE at RE-level ?
• In theory
- The importance of evolvability in RE is sometimes
overlooked
• OO: anthropomorphism
•  Simsion et al.: analysis = creative design activity
• In practice
- Inability to evolve may lead to misalignments
between requirements and information systems
• Requirements often constitute documentation => out-ofdate
- RE requires considerable resources => inefficient
5
About NS Theory
• A theoretical framework investigating Modular
Structures under Change
- Based on Systems Theoretic concepts
•  Completely independent of any framework, programming language,
package, …
• Has shown to be able to deal with the challenge of increasing complexity
-
E.g. hardware, Internet, space industry…
- Initial scope: Modular Structures in Software Architectures
- Publications: book, >50 conference proceedings, (invited)
lectures at different universities…
- Education: undergraduate, postgraduate…
6
NS @ software level
Struct
Func
Struct Customer
- Name
- Address
- VATnr
-…
Func computeInvoice
Struct Invoice
- Nr
- Date
-…
Func inviteCustomer
IMPACT
IMPACT
IMPACT
Func sendInvoice
N
IMPACT N
7
NS Principles
• Modularity x Change  Combinatorial Effects (CE) !
- CE = (hidden) coupling or dependencies, increasing with
size of the system !
- NS Principles identify CE at seemingly orthogonal levels
• SoC: Which tasks do you combine in a single module ?
-
“An action entity can only contain a single task.”
-
“Data entities that are received as input or produced as output by action entities,
need to exhibit version transparency.”
• DVT: How do you combine a data and action module ?
• AVT: How do you combine 2 modules ?
-
“Action entities that are called by other action entities, need to exhibit version
transparency.”
• SoS: How do you combine modules in a workflow ?
-
“The calling of an action entity by another action entity needs to exhibit state
keeping.”
• CE explain Lehman’s Law of Increasing Complexity !
8
NS Summary
Current Practice
1. Modularity
- Combinatorial Eff.
- White-box reuse
- Lehman
2. Standardization
- No expansion
Assumption:
Modular Structures:
Complexity ↑
X
Change ↑
NS-Determinism
1. Modularity
- No Combinatorial Eff.
- Black box reuse
- Lehman controlled
2. Standardization
- Expansion
Fine-grained/
No Combinatorial Eff.
Expansion
Lehman
Black-box reuse/
Lehman controlled
9
NS as a simple transformation
over F/C gap
Tasks
computeInvoice
inviteCustomer
F
Data
Customer
-Name
-Address
-VATnr
…
Struct
Struct Customer
- Name
- Address
- VATnr
-…
C
Func
Func computeInvoice
sendInvoice
Invoice
-Nr
-Date
-…
Struct Invoice
- Nr
- Date
-…
Func sendInvoice
Func inviteCustomer
IMPACT
Change:
addAttribute
IMPACT
IMPACT
N
IMPACT N
10
The concern trapezoid
Examples of concerns:
“Want innovative invoicing”
Business
F
Concerns are additive (?)

#concerns ↑↑
High-level business
- Strategy (innovation vs cost)
- Internationalisation
High-level ICT
- Stick with current package
- Commodity ICT
Human
- Stakeholder issues (political…)
- Communication, negotiation
C
Examples of concerns:
Low level ICT:
- Performance of an algorithm or call to package
- Interface stability
- Internationalisation libraries present
- Technical security details
- …
ICT
13
Bridging a F/C gap
• An ill-structured (or wicked) design problem
- Incomplete and ambiguous specification of the problem;
- No deterministic path to solution;
- Knowledge of several domains needs to be integrated in
order to find a solution;
- No clear criteria te compare and evaluate possible
solutions.
• Characteristics
- M:N, not 1:1
- Integration = Fragile/Non-lineair behavior: 5% extra
reliability  totally different architecture
- Integration = sometimes all-or-nothing
• ALL concerns need to be separated at compile/deploy/runtime, or the
remaining coupling
- May make the artifact totally useless in practice !
- Solving this requires a white box-perspective without complexity
reduction !
14
NS as a complex transformation
over F/C gap
Tasks
computeInvoice
F
inviteCustomer
Customer
-Name
-Address
-VATnr
…
Data
sendInvoice
Invoice
-Nr
-Date
-…
Change:
addAttribute
IMPACT
Data
Elements
Customer
Element
Invoice
Element
C
IMPACT
IMPACT
Action
Elements
compute
Invoice
Element
invite
Customer
Element
send
Invoice
Element
15
Enterprise = n F/C gaps
Strategy
RW
F
DEMO/EO
Use Cases
Domain Models
C
PPM/EA
F
C
PM
F
C
RE/Analysis
F (Alberto Silva’s group)
C
Design
F
BPMN
Implementation
Increasing
modular
structure
NS @ Enterprise=
Normalized
Transformation
Over the
F/C gaps
NS@
Software
C
Maintenance
25
Enterprise = n F/C gaps
Strategy
RW
PPM/EA
DEMO/EO
PM
Use Cases
Domain Models
NS @ Enterprise=
Normalized
Transformation
Over the
F/C gaps
RE/Analysis
(Alberto Silva’s group)
Design
BPMN
NS@
Software
Implementation
Increasing
modular
structure
Maintenance
26
BPMN models
BPMNcreateExpenseReimbursement
28
BPMN
Real World
createExpenseReimbursement
Real World
createBonusPayment
F
N
Change:
checkAccountExistence is shared
createExpenseReimbursement
checkAccountExistence v2
createBonusPayment
N
C
BPMN Task
IMPACT
IMPACT
IMPACT N
29
BPMN-with separated Task
F
Real World
createExpenseReimbursement
Real World
createBonusPayment
N
Change:
checkAccountExistence is shared
createExpenseReimbursement
C
checkAccountExistence v2
createBonusPayment
N
checkAccountExistence
Remark:this is NOT
an NS element !
BPMN Task
IMPACT
30
BPMN
• PhD Dieter Van Nuffel contains examples of CE
regarding SoC and 25 guidelines to eliminate them
• Modular structure ?
- “Easy, obvious !”
- Constructs ?
• All BPMN constructs…
- CE ?
• Violations of SoC, SoS may occur
• application of AvT and Dvt is less clear
• Implications
- Evolvability of BP is limited
•  popular claim of BPM-engines, even though they do add
evolvability at the software-level !
31
UML Use Cases
UML Use Cases
Use Case
createExpenseReimbursement
3. checkAccountExistence
4. createAccount
…
7. reimburse
Use Case
createBonusPayment
3. checkAccountExistence
4. createAccount
5. executePayment
33
UML Use Cases
Real World
Interviews (oral)
Interview transcripts
F
Change:
checkAccountExistence v2
createExpenseReimbursement
createBonusPayment
N
C
Use Cases
IMPACT
IMPACT
IMPACT N
34
UML Use Caseswith hypertext construct
Real World
Interviews (oral)
Interview transcripts
F
checkAccountExistence v2
createExpenseReimbursement
C
Change:
N
createBonusPayment
checkAccountExistence
Remark:this is NOT
an NS element !
Use Cases
IMPACT
35
Use Cases
• Modular structure ?
-
Constructs ?
• YES
-
• NO
-
-
Name of the use case => primitive interface of the module
Pre- and post-conditions => delineate functionality of the module
Workflow (tekst) => functionality details of the module
Other: A scenario, an exception, a trigger, a stakeholder, …
Text-based use cases allow for GOTO’s, ambiguities…
Hypertext construct not always available in tooling !
CE ?
• Use cases are usually too underspecified to allow detailed analysis of CE
• Violations of SoC may occur
• application of AvT and Dvt is less clear: do use cases have interfaces ?
• Implications
-
Evolvability of Use Cases is limited
• This is a well-known issue, particularly in large projects,
-
Maintaining documentation becomes expensive
Use Cases does not necessarily document the code (when the code itself is changed)
36
Real World
Example 1:
createExpenseReimbursement
Real World
Interviews (oral)
Interview transcripts
F
C
Manually
Executed
BP & IS (=paper)
Change:
checkAccountExistence v2:
“Use NL bank only from now !”
Actor 1:
createExpenseReimbursement
IMPACT
Actor 2:
createBonusPayment
IMPACT
N
IMPACT N
38
Example 1:
createExpenseReimbursement
• This example can be 100% manual !
• Modular structure ?
- Constructs ?
• Human actors executing formal/informal procedures
- CE ?
• Visible at runtime (resources): Violation of SoC ?
39
Example 2: Exam Marks
Real World
Procedure: ‘our university
applies … rounding’
F
Professor 1
Professor 2
Change:
Procedure v2
N
C
Decentralized
Execution of
BP & IS
IMPACT
IMPACT
IMPACT N
40
Example 2: Exam Marks
• Modular structure ?
- Constructs ?
• Human actors executing formal/informal procedures
- CE ?
• Visible at runtime (resources): Violation of SoC ?
41
Example 2: Exam Marks –
Compile Time Model
F
C
Decentralized
Execution of
BP & IS
Real World
Procedure: ‘our university
applies … rounding’
Procedure
Executed
by all Professors
Change:
Procedure v2
N
INVISIBLE
IMPACT !!!
42
Example 2: Exam Marks
F
C
Centralized
Execution of
BP & IS
Real World
Procedure: ‘our university
applies … rounding’
Change:
Procedure v2
Student
Office
IMPACT
43
Example 3: Mail distribution
Real World
Procedure: ‘our university
allows physical mail’
F
Secretary 1
Secretary 2
Change:
Procedure v2
N
C
Decentralized
Execution of
BP & IS
IMPACT
IMPACT
IMPACT N
44
Example 3: Mail distribution
• Modular structure ?
- Constructs ?
• Human actors executing formal/informal procedures
- CE ?
• Visible at runtime (resources): Violation of SoC ?
45
Example 3: Mail distribution
F
C
Centralized
Execution of
BP & IS
Real World
Procedure: ‘our university
applies … rounding’
Centralized &
virtual e-mail office
Change:
Procedure v2
N
IMPACT
46
Real World
• Modular structure ?
- Constructs ?
• Manual: actors, departments, manual databases, manual
procedures, …
• (IT-based execution):
- CE ?
• Violations of SoC may occur
- Violations of SoC are close to discussions in management literature
on
» ‘decentralization vs centralization’
» ‘the need for matrix organizations on top of departments’
» ‘the need for business processes on top of departments’
» => EE and Organizational Sciences meet !
» Remark: Organizational Sciences have swinging
preferences over time for many of these topics…
• Implications
- Enterprises, even manual ones, have limited evolvability
47
UML OO Domain Models
UML OO Domain Models
49
OO Domain Models
• Modular structures
- See OO programming… YES !
• CE
- Data:
• Codd’s normalization… but is this sufficient ?
- Functions:
• Violation of DvT: use of atomic data types
• Violation of SoS: Use of sync pipelines
• Coupling
- Is high coupling the reason that domain models
are not in widespread use in practice ?
50
DEMO/EO
• Are DEMO/EO models modular structures ?
- A few indications, but we did not focus on DEMO/EO
specifically in this paper !
• Similarities between DEMO and NS
- Separation of State in NS => P- and C-facts !
- Workflows in NS => structured aggregations of actions
into transactions
- Expansion in NS => instantiating transaction pattern in
DEMO
• Do DEMO/EO-models contain CE ?
-
Possibly…
In production acts…
In implementation, but is this DEMO/EO ?
In runtime behavior, but is this DEMO/EO ?
• Nevertheless, we should find out… see conclusion !
52
DEMO transactions
•
The production act of a transaction seems to
be a module consisting of a number of
tasks, detailed in the action models.
•
However, for each production act, there are
4 coordination acts  transactions are
aimed at coordination-intensive problems,
like enterprises consisting of human actors.
•
Actually, such transactions define the
interfaces of the modules !
-
Reminds of negotiation at operational level,
but also project level (~IS acceptance
problems)
This is why DEMO/EO works so well: it is
human modularity, which is used to
control complexity, and…
53
DEMO transactions
• Reduce complexity by 7090 %
• By using the transaction
pattern, with the same
internal structure, for all
transactions
• = similar approach to NS
expansion !
54
Conclusion
CE exist at all these levels !
Strategy
RW
PPM/EA
DEMO/EO
PM
Use Cases
Domain Models
NS @ Enterprise=
Normalized
Transformation
Over the
F/C gaps
RE/Analysis
(Alberto Silva’s group)
Design
BPMN
NS@
Software
Implementation
Increasing
modular
structure
Maintenance
60
Conclusions
• Examples of CE’s are relatively straightforward but
- they are sufficient to illustrate the omnipresence of instabilities
in a domain that is sometimes considered to be about
"identification of objects in the real world”.
- at the software, heuristics have shown to be insufficient to
control the large number of highly complex CEs that are
responsible for the symptoms of Lehman’s law.
- Some examples of CE’s correspond to technical advances
• Eg. The shift from physical to e-mail
• => this CE is no marginal detail !
• Implications
- Initially, when the system is small, the CE’s would probably not
be problematic, but over time their effects would grow and
slowly but surely increase the rigidity of requirements models
and specifications (which are sometimes used as the technical
documentation of the information system, or a component in a
legal contract concerning the system).
61
Conclusions - Research Agenda
1. Identification of CE at each enterprise level at
compile-, deployment- and runtime, as well as
entropy-related issues
2. Mechanisms to control CE
1. Expansion/tooling (hypertext support in RE-tool?)
2. (semi-)manual mechanisms at E-level ?
3. Appropriate levels of control at each
enterprise level
1.
2.
The examples show that these CE exist, and many
employees will feel that they should be removed => NS
perspective on Enterprises is not ‘too technical’, but
at the same time: Enterprises remain human entities, and
it is extremely unlikely that they should be normalized to
the same extent as software !
62
Conclusions - Research Agenda
• Approach: domain-dependent artifacts, such as
in classical engineering !
- “loosely coupled artifacts need to be developed in
areas such as finance, accounting, transport,
human resources, or in subareas such as invoicing,
staffing, project management, mail distribution,
payments, etc.”
- Then: “When these artifacts are developed using a
modular structure which exhibits control of coupling
issues (such as a low number of CE), they can be
aggregated into higher-order structures such as
an invoice.”
- Ex: PhD Els Vanhoof: simple problem, no solution in
2013 !
63
Link to Business Meeting…
This paper illustrates how Antwerp and Lisbon were able
to collaborate, in the context of Alberto Silva’s sabbatical
! Let’s continue this, and do more, because…
“In this way, we support the call by Dietz et al. for the
area of Enterprise Engineering to be developed [33].
The amount and complexity of issues that need to be
solved to achieve the next generation of truly agile
enterprises both in the service and industrial sector,
both in the for-profit and not-for-profit sector, is such that
a scientific basis focusing on structural issues
(including coupling) will be required.”
Thank you for your attention !
64
Download