• Aucun résultat trouvé

Law and the software development life cycle

N/A
N/A
Protected

Academic year: 2021

Partager "Law and the software development life cycle"

Copied!
51
0
0

Texte intégral

(1)

Law and the software development life cycle

November 25, 2017

Cesare Bartolini, Gabriele Lenzini

Interdisciplinary Centre for Security, Reliability and Trust (SnT), University of Luxembourg

(2)

Outline

1 Legal requirements

2 The Software Development Life Cycle

3 Legal requirements in the Software Development Life Cycle (SDLC)

4 Putting it all together

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 1 / 33

(3)
(4)

LATEX

Outline

1 Legal requirements

2 The Software Development Life Cycle

3 Legal requirements in the SDLC

4 Putting it all together

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 2 / 33

(5)

Requirements in software

I Functional

I Whatthe system must do

I Non functional

I Howthe system must do it

Typical non functional requirements

I Performance (good quality software)

I Security (confidentiality of information)

I Efficiency (limited use of resources)

I Cost-effectiveness (competitiveness on the market)

I Usability (easy to use for its target customers)

I . . .

I Compliance with legal obligations

(6)

Requirements in software

I Functional

I Whatthe system must do

I Non functional

I Howthe system must do it

Typical non functional requirements

I Performance (good quality software)

I Security (confidentiality of information)

I Efficiency (limited use of resources)

I Cost-effectiveness (competitiveness on the market)

I Usability (easy to use for its target customers)

I . . .

I Compliance with legal obligations

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 3 / 33

(7)

Requirements in software

I Functional

I Whatthe system must do

I Non functional

I Howthe system must do it

Typical non functional requirements

I Performance (good quality software)

I Security (confidentiality of information)

I Efficiency (limited use of resources)

I Cost-effectiveness (competitiveness on the market)

I Usability (easy to use for its target customers)

I . . .

I Compliance with legal obligations

(8)

Ratio of legal requirements

I Laws set rules for enterprises

I Obligations / prohibitions / permissions

I Already happened in the past

I Products (health, transparency, competition. . . )

I Industrial processes (safety, environment. . . )

I Now happening in the digital world

I Growing number of digital policies

I Especially in the European Union

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 4 / 33

(9)

Ratio of legal requirements

I Laws set rules for enterprises

I Obligations / prohibitions / permissions

I Already happened in the past

I Products (health, transparency, competition. . . )

I Industrial processes (safety, environment. . . )

I Now happening in the digital world

I Growing number of digital policies

I Especially in the European Union

(10)

Ratio of legal requirements

I Laws set rules for enterprises

I Obligations / prohibitions / permissions

I Already happened in the past

I Products (health, transparency, competition. . . )

I Industrial processes (safety, environment. . . )

I Now happening in the digital world

I Growing number of digital policies

I Especially in the European Union

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 4 / 33

(11)

Purposes

I Corporates

I Security for trade secrets

I E-commerce

I Intellectual property

I Users

I Data protection

I Privacy

I Public safety

I Cybersecurity

I Data and news reliability

I Social trust

(12)

Purposes (2)

I Crime control

I Backdoors

I Access to authorities

I Notice and take down

I National security

I Export control

I Security in military / intelligence software

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 6 / 33

(13)

Legal sources

I Law

I HIPAA

I E-commerce Directive

I General Data Protection Regulation (GDPR)

I Export control (ITAR)

I . . .

I Policies / standards

I Security standards

I Sectorial standards

I Contracts

I Service-Level Agreements (SLAs)

(14)

Standards and laws

Policies / standards may be mandated

I PCI DSS (payment cards) in Nevada & Washington

I A variant of ISO 13485 (medical devices) in Mexico

I . . .

Problems

Mandatory standards can introduce limitations to competitivity due to stringent requirements that may limit the target market.

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 8 / 33

(15)

Standards and laws

Policies / standards may be mandated

I PCI DSS (payment cards) in Nevada & Washington

I A variant of ISO 13485 (medical devices) in Mexico

I . . .

Problems

Mandatory standards can introduce limitations to competitivity due to stringent requirements that may limit the target market.

(16)

Two types of requirements

Organizational

I Concerns the structure of the enterprise or the business processes

I May introduce specific roles

I May introduce specific activities

I May introduce specific timings

I May depend on enterprise size and type

Technical

I Concerns specific activities to be put into place

I Depend on the technical state of the art

I By means of arelatio

I May or may not evolve in time

I Formal or substantiverelatio

I May exclude from damage liability

I May be integrated into the SDLC

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 9 / 33

(17)

Two types of requirements

Organizational

I Concerns the structure of the enterprise or the business processes

I May introduce specific roles

I May introduce specific activities

I May introduce specific timings

I May depend on enterprise size and type

Technical

I Concerns specific activities to be put into place

I Depend on the technical state of the art

I By means of arelatio

I May or may not evolve in time

I Formal or substantiverelatio

I May exclude from damage liability

I May be integrated into the SDLC

(18)

Outline

1 Legal requirements

2 The Software Development Life Cycle

3 Legal requirements in the SDLC

4 Putting it all together

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 10 / 33

(19)

SDLC concept

Figure:Stages of the SDLC.

(20)

SDLC structures

Figure: The waterfall model.

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 12 / 33

(21)

SDLC structures (2)

Figure:The V-model.

(22)

SDLC structures (3)

Figure: The spiral model.

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 14 / 33

(23)

Dealing with requirements

I Formal definition

I Representation (model)

I Implementation (measures)

I Assessment (metrics)

I Monitoring

(24)

Outline

1 Legal requirements

2 The Software Development Life Cycle

3 Legal requirements in the SDLC

4 Putting it all together

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 16 / 33

(25)

One objective, many solutions

I SDLC extension with legal requirements can happen in many ways

I Different methodologies for each SDLC stage

I Also depend on the software engineering approaches used

I Just a few guidelines

(26)

Definition

I Definition written in legal language

I Especially when the source is the law

I Standards and contracts may give an easier time

I Many possible technical definitions

I Only partial overlap between legal and technical definitions

I Definition must be interpreted

I May differ depending on interpretation

Examples

Service, cloud, database, file, request. . .

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 18 / 33

(27)

Definition

I Definition written in legal language

I Especially when the source is the law

I Standards and contracts may give an easier time

I Many possible technical definitions

I Only partial overlap between legal and technical definitions

I Definition must be interpreted

I May differ depending on interpretation

Examples

Service, cloud, database, file, request. . .

(28)

More than words

I Affects all of the following stages

I Model

I Implementation

I Metrics

I Taken from literature orad hoc

I May require feedback from later stages. . .

I . . . if it proves too problematic to use

I . . . if the scope is too broad or too narrow

I . . . if it is not useful enough

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 19 / 33

(29)

Formal definition

Natural language Ontologies

(30)

Ontologies

I Knowledge representation

I Descriptions of a knowledge domain

I Language used: Web Ontology Language (OWL)

I (Sic)

I Representation of real-world objects

I They do notdefineanything

I Objects are defined in the domain itself

I They describerelations

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 21 / 33

(31)

A parliament of OWLs

I Ontologies can be extended withdeontic rules

I must

I should not

I may

I . . .

I Legal ontologies

I These can describe duties etc.

I They can be used to describe legal requirements

(32)

A parliament of OWLs

I Ontologies can be extended withdeontic rules

I must

I should not

I may

I . . .

I Legal ontologies

I These can describe duties etc.

I They can be used to describe legal requirements

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 22 / 33

(33)

Representation

I Describes the requirement in formal terms

I Various degrees of detail

I Caninclude a destructuring

I Caninclude relationship with other requirements

I Shouldinclude metrics for evaluation

I Shouldconnect to the design tools and models

(34)

Formal models

I Unified Modeling Language (UML)

I Easy to connect with design tools

I i*

I Highlights roles of stakeholders

I Goal model

I Hierarchical representation

I 4-variable model

I Strong connection between actual data and software

I . . .

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 24 / 33

(35)

Implementation

I The requirement must be implemented into the software

I Implementation differs depending on many factors

I Development tools

I Programming language

I Content of requirement

I Nature of requirement

I Functionality

I Performance

I Restriction

I . . .

(36)

Sample implementations

Right of access to personal data

I Requires a module that grants access

I Front-end interface

I Authentication method

I Data base and query engine

Encryption protocol for secure payments

I Needs a component to process encrypted data

I Encrypting module

I Decryping module

Export control under ITAR regulations

I Access must be denied to non-citizens

I Database of citizenships

I Access limitations

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 26 / 33

(37)

Sample implementations

Right of access to personal data

I Requires a module that grants access

I Front-end interface

I Authentication method

I Data base and query engine

Encryption protocol for secure payments

I Needs a component to process encrypted data

I Encrypting module

I Decryping module

Export control under ITAR regulations

I Access must be denied to non-citizens

I Database of citizenships

I Access limitations

(38)

Sample implementations

Right of access to personal data

I Requires a module that grants access

I Front-end interface

I Authentication method

I Data base and query engine

Encryption protocol for secure payments

I Needs a component to process encrypted data

I Encrypting module

I Decryping module

Export control under ITAR regulations

I Access must be denied to non-citizens

I Database of citizenships

I Access limitations

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 26 / 33

(39)

Assessment

Compliance

I For every requirement in the specification

I Depending on its nature

I Qualitative (e.g., the functionality is present / not present)

I Quantitative (e.g., measure of the security strength)

I At different levels

I Component

I Integration

I Metrics must be implemented

I At least for quantitative assessments

(40)

Assessment

Compliance

I For every requirement in the specification

I Depending on its nature

I Qualitative (e.g., the functionality is present / not present)

I Quantitative (e.g., measure of the security strength)

I At different levels

I Component

I Integration

I Metricsmust be implemented

I At least for quantitative assessments

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 27 / 33

(41)

Assessment

Compliance

I For every requirement in the specification

I Depending on its nature

I Qualitative (e.g., the functionality is present / not present)

I Quantitative (e.g., measure of the security strength)

I At different levels

I Component

I Integration

I Metricsmust be implemented

I At least for quantitative assessments

(42)

Work in progress

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 28 / 33

(43)

Examples

Reliability

I System must backup data in three different locations

I Backup delay

I Backup time

I Security of transfer

Transparency

I System must provide information in a clear and intelligible form

I Usability of the interface

I Detailedness of the information

I Clarity of the language used

(44)

Examples

Reliability

I System must backup data in three different locations

I Backup delay

I Backup time

I Security of transfer

Transparency

I System must provide information in a clear and intelligible form

I Usability of the interface

I Detailedness of the information

I Clarity of the language used

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 29 / 33

(45)

Monitoring

I Things change over time (e.g., functionality, hardware, laws)

I And sometimes they just don’t work as they appear on paper

I And sometimes a periodic check is mandated

I Evaluate compliance over time

I Implementation of monitoring tools

I Halfway between implementation and testing

I Reports

(46)

Monitoring

I Things change over time (e.g., functionality, hardware, laws)

I And sometimes they just don’t work as they appear on paper

I And sometimes a periodic check is mandated

I Evaluate compliance over time

I Implementation of monitoring tools

I Halfway between implementation and testing

I Reports

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 30 / 33

(47)

Monitoring

I Things change over time (e.g., functionality, hardware, laws)

I And sometimes they just don’t work as they appear on paper

I And sometimes a periodic check is mandated

I Evaluate compliance over time

I Implementation of monitoring tools

I Halfway between implementation and testing

I Reports

(48)

Monitoring

I Things change over time (e.g., functionality, hardware, laws)

I And sometimes they just don’t work as they appear on paper

I And sometimes a periodic check is mandated

I Evaluate compliance over time

I Implementation of monitoring tools

I Halfway between implementation and testing

I Reports

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 30 / 33

(49)

Outline

1 Legal requirements

2 The Software Development Life Cycle

3 Legal requirements in the SDLC

4 Putting it all together

(50)

The three-eyed researcher

Three different perspectives

I Analysis and formalization of legal requirements

I Modelling legal requirements and defining metrics

I Integrating legal requirements in all stages of the SDLC

Cesare Bartolini, Gabriele Lenzini (SnT) Law and the software development life cycle November 25, 2017 32 / 33

(51)

How to achieve it

I Currently only somead hocsolutions for specific requirements

I More standardized approach to legal requirements

I Techniques to model interpretation

I Classification of legal requirements

I Extending SDLC methodologies and tools

Références

Documents relatifs

To quantify the effects of bad health on labor market trajecto- ries, wealth, and consumption, we develop a life-cycle heterogeneous agents model with a formal and an informal

In this paper, we propose a dual labor market theory that highlights how frictions and taxation in the formal sector as well as educational choices interact to

Moreover, all emissions were correctly distributed over time according to the temporal parameters defined for the foreground processes and for the ones included in temporal

[10] genetic algorithms, exactly NSGA-2, is used to perform a multi-objective optimization of LCC and initial costs of large steel structures.. Here it is possible to see

The detector controller (ST -1000) provides power, thermostating and timing signals to the detector head, coordinates data gathering with the experiment, sets exposure

Model Driven Engineering (MDE) benefits software development (a.k.a. Model Driven Software Development) as well as software processes (a.k.a. Software Process Mod-

1 LBE, Montpellier SupAgro, INRAE, UNIV Montpellier, Narbonne, France 2 ELSA, Research group for environmental life cycle sustainability assessment, 2 place Pierre Viala,

Cytoplasmic maturation pathway of pre-ribosomes Prior to nuclear export, the majority of assembly factors, which associate with pre-ribosomal particles during early biogenesis,