20
Requirements Engineering for Software vs. Systems (c) Hermann Kaindl 1 Institut für Computertechnik ICT Institute of Computer Technology Requirements Engineering for Software vs. Systems in General? Moderator: Hermann Kaindl Vienna University of Technology, ICT Institute of Computer Technology Panelists Marko Jäntti University of Eastern Finland Herwig Mannaert University of Antwerp Kazumi Nakamatsu University of Hyogo Roland Rieke Fraunhofer Institute for Secure Information Tech.

Requirements Engineering for Software vs. Systems in · PDF fileRequirements Engineering for Software vs. Systems (c) ... arrangement or relationship of elements in a system ... Difference

  • Upload
    buinhu

  • View
    216

  • Download
    2

Embed Size (px)

Citation preview

Requirements Engineering for Software vs. Systems

(c) Hermann Kaindl 1

Institut fürComputertechnik

ICT

Institute ofComputer Technology

Requirements Engineering for Software vs.

Systems in General?

Moderator:Hermann Kaindl

Vienna University of Technology, ICT

Institute of Computer Technology

Panelists

Marko Jäntti University of Eastern Finland Herwig Mannaert University of Antwerp Kazumi Nakamatsu University of Hyogo Roland Rieke Fraunhofer Institute for

Secure Information Tech.

Requirements Engineering for Software vs. Systems

(c) Hermann Kaindl 2

Institute of Computer Technology

Application Domain

User

System to be built

System Border

Composite system

System overview

Institute of Computer Technology

User wishes / needs IEEE Standard:

“A condition or capacity needed by a user to solve a problem or achieve an objective.”

“The <system> shall be able to ...”- system to be built- composite system

Example: “The ATM shall accept a cash card.” Requirements modeling

What are requirements?

Application Domain

User

System to be built

System Border

Composite system

Requirements Engineering for Software vs. Systems

(c) Hermann Kaindl 3

Institute of Computer Technology

Types of requirements: Functions: effects achieved by some entity Behavior: state change over time Structure: arrangement or relationship of elements

in a system (physical or logical structure) Constraints: restrictions or limitations

All of them equally relevant for software and systems in general?

Fundamental technical differences?

Institute of Computer Technology

Structural requirements

Function to support someone when sitting on a chair only through its physical structure

Function to fly related to the structure of an airplane (aerodynamics)

Structural requirements on software? Software architecture and subsystem decomposition Constraint requirement Difference between software and systems in general

Requirements Engineering for Software vs. Systems

(c) Hermann Kaindl 4

Institute of Computer Technology

Thank you for your attention!

REQUIREMENTS ENGINEERING

FOR

SOFTWARE

VS.SYSTEMS IN GENERAL

REASONING-BASED

INTELLIGENT SYSTEMS

Kazumi Nakamatsu

University of Hyogo

JAPAN

VIEWPOINT AS REASONING

Software

Automated reasoning systems implemented onelectronic devices,

which are functional models of objective systems

General Systems

More human-like systems maybe includinginteractions such as man-machine/man-man

Software/Objective Systems

General Systems

by re-modeling their reasoning

structures with logic/logic program

Reasoning-based Intelligent SystemsReasoning-based Intelligent Systems

Requirements modeled by logic/logic program

Examples

*Railway interlocking system

(software on relay/electronic device)

whose basic reasoning part can be modeled byclassical logic.

Requirements: assuring safety

*Trial system (decision system: guilty or not)

whose basic reasoning part can be modeled byplausible logic.

Requirements: mutual understanding betweenprofessional judges and citizen judges

DEVELOPMENT OF ANNOTATED LOGIC

PROGRAMSAnnotated Logic by da Costa and Subrahmanian

Annotated Logic Program by Subrahmanian et al.

ALPSN (Annotated Logic Program with Strong Negation)--- non-monotonic reasoning

Eg. default, autoepistemic reasoning, etc.

VALPSN (Vector Annotated Logic Program with StrongNegation)--- defeasible reasoning Eg. conflict resolving

EVALPSN (Extended Vector Annotated Logic Program withStrong Negation)

--- defeasible deontic reasoning Eg. various controls,logical verification

Bf-EVALPSN (Before-after EVALPSN)--- before-after relations between time intervals(processes)

MY OPINION

There is no fundamental difference

between

Requirement Engineering forSoftwareSoftware

and

Systems in General

Panel: Requirements Engineering for

Software vs. Systems in General

Marko Jäntti

Software / System / Service Requirements

Service Strategy

Co

ntin

ua

l

Hardware Software People Infrastructure

Services

INFORMATION SYSTEM REQUIREMENTS

SERVICEREQUIREMENTS

FUNCTIONAL Service

NON-FUNCTIONALREQUIREMENTS USABILITY

REQUIREMENTS

15.6.2012 2

Service Design

Service Transition

Service Operation

Co

ntin

ua

lS

erv

iceIm

pro

ve

me

nt

IT Infrastructure Library v3

FUNCTIONALREQUIREMENTS

ServiceavailabilityUML

Example: Service desk tool requirements

•Functional requirement : Create a support request

•Non-functional requirement: Data security. Cases from CustomerY have to be handled by Team T.

•Usability requirement: Submitting a support request should bedone within 5 minutesdone within 5 minutes

•Hardware requirement: User should be able to create a request viasmart phone (android, windows phone)

•Infrastructure/integration: The system needs to have an interfaceto the service provider X’s service desk tool

•Service requirement: Availability of support system 24/7

15.6.2012 3

Panel: Requirements Engineering for Software vs.Systems in General

– Security and Reliability –

Roland [email protected]

Fraunhofer Institute for Secure Information Technology SIT, Darmstadt, Germany

ICONS, March 2012

Roland Rieke (SIT) Requirements Engineering for Software vs. Systems in General ICONS’12 1

Requirements-driven System Design in Project MASSIF

;

Roland Rieke (SIT) Requirements Engineering for Software vs. Systems in General ICONS’12 2

Common Tasks in Security Engineering Methods

Security Requirements Engineering Processidentification of the target of evaluation &principal security goals

elicitation of artifacts (e.g. use case and threat scenarios)

risk assessment

the actual security requirements elicitation process

requirements categorisation and prioritisation

Further steps in Security Engineeringsecurity requirements (structural) refinement

mapping of security requirements to security mechanisms→ softwarerequirements

Roland Rieke (SIT) Requirements Engineering for Software vs. Systems in General ICONS’12 3

Methods to Elicit Security Requirementsmisuse cases (attack analysis), soft systems methodology, qualityfunction deployment, controlled requirements expression, issue-basedinformation systems, joint application development, feature-orienteddomain analysis, critical discourse analysis, accelerated requirementsmethod, (cf. SQUARE)anti-goals derived from negated security goals,use Jackson‘s problem diagrams,actor dependency analysis (i∗ approach)vulnerability analysis (attack graph/surface)functional dependencies analysis (Fuchs/Rieke ’09)

Completeness Avoid premature architecture constraintsprotocols SSL/TLS/VPN/IPv6

trust anchor TPM

infrastructure PKI, PDP/PEP

end-to-end/hop-by-hop

Roland Rieke (SIT) Requirements Engineering for Software vs. Systems in General ICONS’12 4

Example: Security Requirements Elicitationby Functional Dependency Analysis

Truck x

gpsx(pos)

recvx(route)

sendx(pos)

Freight Forwarder

broadcast(TMC) send(route)

recv(pos)

recv(schedule)

replan(routing)

prio(payload)

Airport y

recv(flight) send(schedule)

Security Requirement

auth(gpsx(pos), replan(routing),scheduler)

Roland Rieke (SIT) Requirements Engineering for Software vs. Systems in General ICONS’12 5

Models – Understand System’s Behaviour & Predict Effects

System (of Systems) Model& Security Requirements

M-119 M-105

M-159

M-80

M-132

M-81

M-133

M-118 M-104

M-158M-186 M-174

M-214

M-184 M-172

M-212

M-60

M-113

M-50

M-99

M-94

M-153

M-37

M-77

M-72

M-129

M-145

M-195

M-185 M-173

M-213

M-148

M-198

M-146

M-196

M-147

M-197

M-35

M-75

M-70

M-127

M-62

M-115

M-52

M-101

M-96

M-155

M-183 M-171

M-211

M-12

M-32M-28

M-67

M-23

M-57

M-18

M-47M-43

M-91

M-59 M-49

M-93

M-34

M-69 M-124 M-110

M-164

M-122 M-108

M-162

M-21

M-55

M-16

M-45M-41

M-89

M-11

M-31M-27

M-66 M-123 M-109

M-163

M-86

M-138

M-84

M-136

M-85

M-137

M-10

M-30M-26

M-65

M-22

M-56

M-17

M-46M-42

M-90

M-5

M-9M-8

M-25

M-7

M-20

M-6

M-15M-14

M-40

M-4

M-181 M-169

M-209

M-182 M-170

M-210

M-144

M-194

M-143

M-193

M-126

M-180

M-112

M-168

M-166

M-208

M-223M-219

M-231

M-226M-222

M-234

M-224M-220

M-232

M-225M-221

M-233

M-125

M-179

M-111

M-167

M-165

M-207

M-206

M-230

M-204

M-228

M-205

M-229

M-87

M-141

M-139

M-191

M-88

M-142

M-140

M-192

M-203

M-227

M-64

M-117

M-54

M-103M-98

M-157

M-39

M-79M-74

M-131

M-120 M-106

M-160

M-121 M-107

M-161

M-83

M-135

M-82

M-134

M-63

M-116

M-53

M-102

M-97

M-156

M-187 M-175

M-215

M-190 M-178

M-218

M-188 M-176

M-216

M-189 M-177

M-217

M-61

M-114

M-51

M-100

M-95

M-154

M-152

M-202

M-150

M-200

M-151

M-201

M-36

M-76

M-71

M-128

M-38

M-78

M-73

M-130

M-149

M-199

M-24

M-58

M-19

M-48M-44

M-92

M-13

M-33M-29

M-68

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( ) $(3 . 10) (5)( ) $(4 . 10)

( ) $(3 . 10) (5)( ) $(4 . 10)

( )

( )( ) $(3 . 10) (5)( ) $(4 . 10)

( )

( ) $(3 . 10) ( ) $(3 . 10)

( )

( )( ) $(3 . 10)

( )

( ) $(3 . 10)

( )

( ) $(2 . 2) (3)

( ) $(3 . 10)

( ) $(2 . 2) (3)

( )

( )

( ) $(3 . 10)

( )

( )

( ) $(2 . 2) (3)

( ) $(3 . 10) (5)( ) $(4 . 10)

( ) $(2 . 2) (3)

( )

( )

( ) $(3 . 10) (5)( ) $(4 . 10)

( )

( )

( ) $(2 . 2) (3)

( ) $(3 . 10)

( )

( )( ) $(3 . 10)

( )

( ) $(3 . 10) ( ) $(3 . 10)

( )

( )( ) $(3 . 10)

( ) $(3 . 10) (5)( ) $(4 . 10)

( )

( )( ) $(3 . 10) (5)( ) $(4 . 10)

( ) $(3 . 10)

( )

( )( ) $(3 . 10)

( ) $(3 . 10)

( )

( )( ) $(3 . 10)

( ) $(3 . 10)

( ) $(2 . 2) (3)

( )

( )

( ) $(3 . 10)

( )

( )

( ) $(2 . 2) (3)

( )

( ) $(4 . 10) (5)( ) $(3 . 10)

( )

( ) $(2 . 2) (3)

( ) $(4 . 10) (5)( ) $(3 . 10)

( ) $(2 . 2) (3)

( )

( )

( ) $(3 . 10) (5)( ) $(4 . 10)

( )

( )

( ) $(2 . 2) (3)

( )

( ) $(3 . 10) ( ) $(3 . 10)

( )

( )( ) $(3 . 10)

( ) $(4 . 10) (3)( ) $(3 . 10)( ) $(3 . 10)

( ) $(1 . 6)( ) $(1 . 6)

( ) $(4 . 10) (3)( ) $(3 . 10)( ) $(3 . 10)

( ) $(2 . 2) (2)

( ) $(4 . 10) (3)( ) $(3 . 10)( ) $(3 . 10)

( )

( )

( ) $(1 . 6)( ) $(1 . 6)

( ) $(3 . 10) (3)( ) $(4 . 10)( ) $(3 . 10)

( )

( )( ) $(2 . 2) (2)

( ) $(4 . 10) (3)( ) $(3 . 10) ( ) $(3 . 10)

( )

( ) $(1 . 6)( ) $(1 . 6)

( ) $(3 . 10) (3)( ) $(4 . 10)( ) $(3 . 10)

( )

( ) $(2 . 2) (2) ( ) $(4 . 10) (3)( ) $(3 . 10) ( ) $(3 . 10)

( ) $(1 . 6)( ) $(1 . 6)

( ) $(3 . 10) (3)( ) $(4 . 10) ( ) $(3 . 10)

( ) $(2 . 2) (2)

( ) $(3 . 10) (3)( ) $(4 . 10) ( ) $(3 . 10)

( )

( )

( ) $(1 . 6)( ) $(1 . 6)

( ) $(3 . 10) (3)( ) $(4 . 10) ( ) $(3 . 10)

( )

( )( ) $(2 . 2) (2)( ) $(4 . 10)

( )

( ) $(4 . 10)

( ) $(4 . 10)

( )

( )( ) $(4 . 10)

( ) $(4 . 10)

( )

( )

( ) $(4 . 10)

( )

( ) $(4 . 10) (3)( ) $(3 . 10)

( ) $(4 . 10)

( ) $(4 . 10) (3)( ) $(3 . 10)

( ) $(4 . 10)

( )

( )( ) $(4 . 10) (3)( ) $(3 . 10)

( ) $(4 . 10)

( )

( ) $(3 . 10)

( ) $(4 . 10)

( ) $(3 . 10)

( ) $(4 . 10)

( )

( )( ) $(3 . 10)

( ) $(4 . 10)

( )

( ) $(4 . 10)

( )

( ) $(2 . 2) (2) ( ) $(4 . 10)

( ) $(4 . 10)

( ) $(2 . 2) (2)

( ) $(4 . 10)

( )

( )

( ) $(4 . 10)

( )

( )( ) $(2 . 2) (2)

( ) $(4 . 10)

( ) $(4 . 10)

( ) $(2 . 2) (2)

( ) $(4 . 10)

( )

( )

( ) $(4 . 10)

( )

( )( ) $(2 . 2) (2)

( ) $(4 . 10)

( )

( ) $(3 . 10)

( ) $(4 . 10)

( ) $(3 . 10)

( ) $(4 . 10)

( )

( )( ) $(3 . 10)( ) $(4 . 10)

( ) $(4 . 10) (3)( ) $(3 . 10)

( ) $(4 . 10)

( )

( )( ) $(4 . 10) (3)( ) $(3 . 10)

( ) $(4 . 10)

( ) $(3 . 10)

( ) $(4 . 10)

( )

( )( ) $(3 . 10) ( ) $(4 . 10)

( ) $(3 . 10)

( ) $(4 . 10)

( )

( )( ) $(3 . 10)

( ) $(4 . 10)

( ) $(4 . 10)

( ) $(2 . 2) (2)

( ) $(4 . 10)

( )

( )

( ) $(4 . 10)

( )

( )( ) $(2 . 2) (2)

( ) $(4 . 10)

( )

( ) $(4 . 10)

( )

( ) $(2 . 2) (2) ( ) $(4 . 10)

( ) $(4 . 10)

( ) $(2 . 2) (2)

( ) $(4 . 10)

( )

( )

( ) $(4 . 10)

( )

( )( ) $(2 . 2) (2)

( ) $(4 . 10)( ) $(4 . 10)( ) $(3 . 10)

( ) $(1 . 6)( ) $(4 . 10)( ) $(4 . 10)( ) $(3 . 10)

( ) $(2 . 2)

( ) $(4 . 10) ( ) $(4 . 10)( ) $(3 . 10)

( )

( )

( ) $(1 . 6)( ) $(4 . 10)( ) $(4 . 10)( ) $(3 . 10)

( )

( )( ) $(2 . 2)

( ) $(4 . 10)( ) $(4 . 10) ( ) $(3 . 10)

( )

( ) $(1 . 6)( ) $(4 . 10)( ) $(4 . 10) ( ) $(3 . 10)

( )

( ) $(2 . 2) ( ) $(4 . 10)( ) $(4 . 10) ( ) $(3 . 10)

( ) $(1 . 6)( ) $(4 . 10)( ) $(4 . 10) ( ) $(3 . 10)

( ) $(2 . 2)

( ) $(4 . 10)( ) $(4 . 10) ( ) $(3 . 10)

( )

( )

( ) $(1 . 6)( ) $(4 . 10)( ) $(4 . 10) ( ) $(3 . 10)

( )

( )( ) $(2 . 2)

( ) $(4 . 20)( ) $(4 . 20)( ) $(3 . 20)

( )

( )

( ) $(4 . 45) ( ) $(4 . 45)

( )

( )( ) $(4 . 45)

( )

( ) $(4 . 45) ( ) $(4 . 45)

( )

( )( ) $(4 . 45)

( ) $(4 . 45)

( )

( )( ) $(4 . 45)

( ) $(4 . 45)

( )

( )( ) $(4 . 45)

( )

( ) $(4 . 45)

( ) $(4 . 10) (7)( ) $(3 . 10)

( )

( ) $(2 . 2) (4)

( ) $(4 . 45)

( ) $(4 . 45)

( ) $(3 . 10) (7)( ) $(4 . 10)

( ) $(2 . 2) (4)

( ) $(4 . 45)

( )

( )( ) $(4 . 45)

( ) $(4 . 10) (7)( ) $(3 . 10)

( )

( )

( ) $(2 . 2) (4)

( ) $(4 . 45)

( )

( ) $(4 . 45)( ) $(3 . 10)( ) $(4 . 45)( ) $(3 . 10)

( )

( ) ( ) $(4 . 45)( ) $(3 . 10)

( )

( ) $(4 . 45)( ) $(4 . 10) (7)( ) $(3 . 10)( ) $(4 . 45)( ) $(3 . 10) (7)

( ) $(4 . 10)

( )

( )( ) $(4 . 45)( ) $(4 . 10) (7)( ) $(3 . 10)

( )

( ) $(4 . 45)( ) $(3 . 10) ( ) $(4 . 45)( ) $(3 . 10)

( )

( )( ) $(4 . 45)( ) $(3 . 10)

( )

( ) $(4 . 45)( ) $(3 . 10)( ) $(4 . 45)( ) $(3 . 10)

( )

( )( ) $(4 . 45) ( ) $(3 . 10)

( )

( ) $(4 . 45)

( ) $(3 . 10)

( )

( ) $(2 . 2) (4)

( ) $(4 . 45)

( ) $(4 . 45)

( ) $(3 . 10)

( ) $(2 . 2) (4)

( ) $(4 . 45)

( )

( )( ) $(4 . 45)

( ) $(3 . 10)

( )

( )

( ) $(2 . 2) (4)

( ) $(4 . 45)

( ) $(4 . 45)( ) $(4 . 10) (7)( ) $(3 . 10)

( )

( )( ) $(4 . 45)( ) $(4 . 10) (7)( ) $(3 . 10)

( ) $(4 . 45)( ) $(3 . 10)

( )

( )( ) $(4 . 45)( ) $(3 . 10)

( ) $(4 . 45)( ) $(3 . 10)

( )

( )( ) $(4 . 45) ( ) $(3 . 10)

( ) $(4 . 45)

( ) $(3 . 10)

( ) $(2 . 2) (4)

( ) $(4 . 45)

( )

( )( ) $(4 . 45)

( ) $(3 . 10)

( )

( )

( ) $(2 . 2) (4)

( ) $(4 . 45)

( ) $(4 . 45)

( ) $(3 . 10) (7)( ) $(4 . 10)

( ) $(2 . 2) (4)

( ) $(4 . 45)

( )

( )( ) $(4 . 45)

( ) $(3 . 10) (7)( ) $(4 . 10)

( )

( )

( ) $(2 . 2) (4)

( ) $(4 . 45)

( ) $(4 . 45)( ) $(3 . 10)

( )

( ) ( ) $(4 . 45)( ) $(3 . 10)

( ) $(3 . 10) (5)( ) $(4 . 10)

( ) $(3 . 10)

( )

( ) $(4 . 45)

( ) $(1 . 6)( ) $(1 . 6) (2)

( ) $(4 . 10) (5)( ) $(3 . 10)( ) $(3 . 10)

( )

( ) $(2 . 2) (3) ( ) $(4 . 45) ( ) $(4 . 10) (5)( ) $(3 . 10) ( ) $(3 . 10)

( ) $(4 . 45)

( ) $(1 . 6)( ) $(1 . 6) (2)

( ) $(3 . 10) (5)( ) $(4 . 10)( ) $(3 . 10)

( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (5)( ) $(3 . 10)

( ) $(3 . 10)

( )

( )( ) $(4 . 45)

( ) $(1 . 6) ( ) $(1 . 6) (2)

( ) $(3 . 10) (5)( ) $(4 . 10) ( ) $(3 . 10)

( )

( )( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (5)( ) $(3 . 10)( ) $(3 . 10)

( ) $(4 . 45)

( ) $(1 . 6)( ) $(1 . 6) (2)

( ) $(4 . 10) (5)( ) $(3 . 10) ( ) $(3 . 10)

( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (5)( ) $(3 . 10)( ) $(3 . 10)

( )

( )( ) $(4 . 45)

( ) $(1 . 6) ( ) $(1 . 6) (2)

( ) $(4 . 10) (5)( ) $(3 . 10)( ) $(3 . 10)

( )

( )( ) $(2 . 2) (3) ( ) $(4 . 45) ( ) $(4 . 10) (2)

( )

( ) $(4 . 10) (2)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 10) (2)

( )

( ) $(4 . 45)

( ) $(4 . 10) (2)

( ) $(4 . 45)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 45)( ) $(4 . 10) (2)

( ) $(4 . 45)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 45)( ) $(4 . 10) (2)

( ) $(4 . 10) (2)

( )

( )

( ) $(4 . 10) (2)

( )

( ) $(4 . 45)

( ) $(4 . 10) (5)( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (2)

( ) $(4 . 45)

( ) $(4 . 10) (5)( ) $(3 . 10)

( ) $(4 . 10) (2)

( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 45)

( ) $(3 . 10) (5)( ) $(4 . 10)

( ) $(4 . 10) (2)

( )

( )

( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (2)

( )

( ) $(3 . 10)

( ) $(4 . 10) (2)

( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( )( ) $(3 . 10) ( ) $(4 . 10) (2)

( )

( ) $(4 . 45)( ) $(3 . 10) (5)( ) $(4 . 10)

( ) $(4 . 10) (2)

( ) $(4 . 45)( ) $(4 . 10) (5)( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 45)( ) $(4 . 10) (5)( ) $(3 . 10) ( ) $(4 . 10) (2)

( )

( ) $(4 . 45)( ) $(3 . 10)

( ) $(4 . 10) (2)

( ) $(4 . 45)( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 45)( ) $(3 . 10) ( ) $(4 . 10) (2)

( )

( ) $(4 . 45)( ) $(3 . 10)

( ) $(4 . 10) (2)

( ) $(4 . 45)( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 45)( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( ) $(4 . 45)

( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (2)

( ) $(4 . 45)

( ) $(3 . 10)

( ) $(4 . 10) (2)

( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 45)

( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( )

( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (2)

( ) $(4 . 45)( ) $(4 . 10) (5)( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 45)( ) $(4 . 10) (5)( ) $(3 . 10) ( ) $(4 . 10) (2)

( ) $(4 . 45)( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 45)( ) $(3 . 10) ( ) $(4 . 10) (2)

( ) $(4 . 45)( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 45)( ) $(3 . 10)

( ) $(4 . 10) (2)

( ) $(4 . 45)

( ) $(3 . 10)

( ) $(4 . 10) (2)

( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 45)

( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( )

( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (2)

( ) $(4 . 45)

( ) $(4 . 10) (5)( ) $(3 . 10)

( ) $(4 . 10) (2)

( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (2)

( )

( )( ) $(4 . 45)

( ) $(3 . 10) (5)( ) $(4 . 10)

( ) $(4 . 10) (2)

( )

( )

( ) $(2 . 2) (3) ( ) $(4 . 45)

( ) $(4 . 10) (2)

( ) $(3 . 10)

( ) $(4 . 10) (2)

( )

( )( ) $(3 . 10)

( ) $(4 . 10) (2)( ) $(4 . 10) (3)( ) $(3 . 10) ( ) $(3 . 10)

( )

( ) $(4 . 45)

( ) $(1 . 6)( ) $(1 . 6)( ) $(4 . 10) (2)

( ) $(4 . 10) (3)( ) $(3 . 10)( ) $(3 . 10)

( )

( ) $(2 . 2) (2) ( ) $(4 . 45) ( ) $(4 . 10) (2)( ) $(4 . 10) (3)( ) $(3 . 10) ( ) $(3 . 10)

( ) $(4 . 45)

( ) $(1 . 6)( ) $(1 . 6)( ) $(4 . 10) (2)

( ) $(3 . 10) (3)( ) $(4 . 10)( ) $(3 . 10)

( ) $(2 . 2) (2) ( ) $(4 . 45)

( ) $(4 . 10) (2)( ) $(3 . 10) (3)( ) $(4 . 10) ( ) $(3 . 10)

( )

( )( ) $(4 . 45)

( ) $(1 . 6)( ) $(1 . 6)( ) $(4 . 10) (2)

( ) $(4 . 10) (3)( ) $(3 . 10)( ) $(3 . 10)

( )

( )( ) $(2 . 2) (2) ( ) $(4 . 45)

( ) $(4 . 10) (2) ( ) $(4 . 10) (3)( ) $(3 . 10)( ) $(3 . 10)

( ) $(4 . 45)

( ) $(1 . 6)( ) $(1 . 6)( ) $(4 . 10) (2)

( ) $(3 . 10) (3)( ) $(4 . 10) ( ) $(3 . 10)

( ) $(2 . 2) (2) ( ) $(4 . 45)

( ) $(4 . 10) (2)( ) $(4 . 10) (3)( ) $(3 . 10)( ) $(3 . 10)

( )

( )( ) $(4 . 45)

( ) $(1 . 6)( ) $(1 . 6)( ) $(4 . 10) (2)

( ) $(4 . 10) (3)( ) $(3 . 10) ( ) $(3 . 10)

( )

( )( ) $(2 . 2) (2) ( ) $(4 . 45)

Operational Model (SoS Sandbox)→ Behaviour Analysis (at SoS design time)

Abstractions are cru-tial to understand the

“interesting” aspects ofsystem’s behaviour w.r.t.requirements; they mayhide critical behaviour.

security events

present

time

future

time

Feasible

security

violations

Situational Security Analysis (at runtime)

Roland Rieke (SIT) Requirements Engineering for Software vs. Systems in General ICONS’12 6

Requirements Engineering for Software vs.Systems in General

Herwig MannaertHerwig Mannaert

University of Antwerp

Department of Management Information Systems

Normalized Systems Institute

The Seventh International Conference on Systems (ICONS) 2012

1 March 2012

Modular Structures

• Systems in general can be seen as modularstructures, i.e.

- mechanical

- information systems and software

- Organizations

1

- Organizations

• Subdividing a system in subsystems shouldresult in complexity reduction

• Software systems should strive to pay asmuch attention to modular structure asmechanical counterparts

Functional and Constructional

• Systems have both a black-box or functionalview and a white-box or constructional view

• The main issue is that often hidden coupling ispresent, invisible in interface

• Service oriented architectures are trying to

2

• Service oriented architectures are trying toaddress this

Blackbox vs. whitebox

Blackbox Whitebox

transformation?

3

Subject to Change

• Software systems are subject to change, asopposed to their mechanical counterparts

• Requirements will evolve during thedevelopment of software systems and throughthe entire lifecycle

4

the entire lifecycle

• Normalized Systems theory has shown that itis all but trivial to cope with these changingrequirements

• Neither can engineering systems in general,but they are not required to do so