SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
27th IEEE International Conference on Software Maintenance
             September 25 – 30, 2011




 The Evolution of Information Systems
A Case Study on Document Management

                             Paolo Salvaneschi

             University of Bergamo
             Faculty of Engineering


 ICSM 2011                         Paolo Salvaneschi              1
Summary

•   The problem
•   Aims of the study
•   The Information System
•   The study
•   Results
•   Validity and Scope
•   Conclusions and future work




    ICSM 2011         Paolo Salvaneschi   2
The problem

• The management of knowledge required to
  support the evolution of large information
  systems
• A well-known and difficult problem for IT
  departments of organizations
• Many existing applications evolving for a long
  period of time (e.g. 10 years).
• New projects :
   - a change of one or more applications ( evolution step)
   - or the development of a new application


 ICSM 2011              Paolo Salvaneschi               3
The problem

• Although the initial development was based on
  the best Software Engineering practices, the
  delivered documents become quickly outdated
  and no longer useful
• The cost of maintaining them during the
  evolution phase is too high.
• Analysts and programmers do not have time to
  update the documents
• Turnover causes loss of knowledge


 ICSM 2011          Paolo Salvaneschi         4
Aims of the study

• To verify a set of hypotheses
   - The evolution can be supported by a minimal
     set of “good enough” documents
   - The set of evolution documents derives
     from a selections of contents of the
     development documents
   - It is based on a cost-benefit analysis
• To define an engineering guideline (types and
  patterns of documents)
• To develop a tool for managing the documents

 ICSM 2011         Paolo Salvaneschi         5
Aims of the study

• Minimal set of “good enough” documents
   - Knowledge is a property emerging from a system
     composed by analysts/programmers and documents
   - Documents do not require being “complete” It is
     sufficient that they be “good enough”
   - The analysts/programmers may use a minimal set of
     document as a “landscape” for understanding where
     to read the details in the code
     Reference: the theory of minimalist instruction
     founded in the psychology of learning and problem
     solving [Carroll, J. M. 1990]


 ICSM 2011             Paolo Salvaneschi            6
Aims of the study

• Questions
  - Are the actors involved in the evolution able to
    identify a minimal set (based on a cost-benefit
    analysis) of evolution documents they consider
    important to understand the software to be
    changed?
  - What is the content of these documents?
  - What is the relationship between these evolution
    documents and the development documents?
  - Are there recurrent sets of evolution documents
    for classes of applications?
 ICSM 2011           Paolo Salvaneschi           7
The Information System

• The information system of a large retail company
   - 100 stores in Italy, 2 billion Euro turnover,
     more than 8000 employees (year end 2009)
   - IT department: 70 employees,150 servers,
     4000 clients, about 100 software applications,
     5000 users.
   - Internally developed software (external
     suppliers) and tailored market-available
     packages
   - AS400 and Web-based environments

 ICSM 2011           Paolo Salvaneschi           8
The study

• 21 interviewed people (analysts/programmers,
  project managers and system managers) and an
  external consultant having the role of researcher
• 89 applications
• About 400.000 Java-JSP LOC, about 1.100.000
  RPG LOC and tailored COTS




 ICSM 2011           Paolo Salvaneschi           9
The study

Number, role and experience of interviewed people




  ICSM 2011           Paolo Salvaneschi         10
The study
Applications classified by technology




Software applications classified by evolution life




  ICSM 2011            Paolo Salvaneschi             11
The study

• Information sources:
   - Development document stored on a project
     basis into a database under version control
   - Applications owners
• We study the documents that can help the
  analyst/programmer to understand the code
  during software evolution
• We do not examine the source code



 ICSM 2011           Paolo Salvaneschi             12
The study

• Meetings between the researcher and each
  application owner
   - The researcher explains the hypotheses and
     requests the application owner to identify a
     minimum set of evolution documents
• An evolution document may be:
   - A development document stored in the
     database
   - A part of a development document
     (a document whose quality is poor may
     require a re-documentation process)
 ICSM 2011           Paolo Salvaneschi          13
The study

• Result: a set of candidate documents
• Selection through a cost benefit analysis

Selection rule




   ICSM 2011           Paolo Salvaneschi      14
The study

• Rcost Cost spent by the new
  analyst/programmer for reconstructing the
  content of the evolution document, when
  needed, from code, data structures and program
  behavior
• Mcost Maintenance cost of the evolution
  document, estimated by the number of pages
  Low       < 5 pages
  Medium 5 to 10 pages
  High      > 10 pages

 ICSM 2011          Paolo Salvaneschi        15
The study

• Example 1:
   - Specification document : a detailed
     specification of interactive screens.
   - The reconstruction cost is low: the
     programmer may run the product and use the
     person machine interface as a living
     specification for understanding code
   - discard




    ICSM 2011         Paolo Salvaneschi           16
The study

• Example 2:
   - Design document : includes a five-page model
     of software architecture
   - The maintenance cost is low
   - The cost of understanding and reconstructing
     the architecture from code is high
   - select




    ICSM 2011          Paolo Salvaneschi            17
The study

• Example 3:
   - The design document includes a detailed
     specification (a dozen pages) of an algorithm
     implementing a set of very complex business
     rules
   - The reconstruction cost is high
   - Also the maintenance cost is high
   - The owner notes that it is
     very difficult to understand
     the algorithm by reading code.
   - After a discussion: select
    ICSM 2011           Paolo Salvaneschi            18
Results

• Example: the application "Supply Chain"
  Development
  documents




  Evolution
  Documents
  The minimal set


The E-R model of the central RDBMS is not considered
     ICSM 2011                  Paolo Salvaneschi      19
Results

• The minimalist approach: an average reduction
  factor of 10 (number of pages of development
  documents / number of pages of evolution
  documents)
• Types of evolution documents:
   - Landscapes (e.g. Software architecture)
   - Aspects (e.g. Use case)
   - Critical points (e.g. Complex algorithm)



 ICSM 2011          Paolo Salvaneschi         20
Results

• Development documents vs evolution documents
  - Some contents of the development documents
    have been discarded or significantly downsized
  - The development documents tend to be
    complete and layered according to abstraction
    levels. The evolution documents include only
    the most important information and collect
    parts of the development documents at very
    different levels of abstraction



 ICSM 2011          Paolo Salvaneschi         21
Results

• From the analysis of the
  meeting reports:
  Patterns of evolution documents




  ICSM 2011           Paolo Salvaneschi   22
Results

• Classes of applications




    ICSM 2011           Paolo Salvaneschi   23
Results

• Types
  of documents
• Content
  of each type




   ICSM 2011     Paolo Salvaneschi   24
Results

• The wiki tool
   - MediaWiki environment
   - Now in service
   - Loaded with all the 89 applications examined
     in the study
   - 500 pages and links to three data models
     generated by an external CASE
   - 60 registered users
   - A standard process to upgrade the wiki at the
     end of each development step

 ICSM 2011           Paolo Salvaneschi         25
Results




ICSM 2011   Paolo Salvaneschi   26
Validity and Scope

• Threats of validity
• Representativeness of the results
   - People and applications biased by specific skills or
       technologies
   - Owners with different roles and experience.
     Applications covering different technologies and
     development /acquisition processes
• Reliability of classification
   - Subjective assignment of RCost and MCost.
   - Reduced using an evaluation based on the number of
     pages

 ICSM 2011                Paolo Salvaneschi                 27
Validity and Scope

• Scope
• Study related to just one information system
  Generalization of the results to other information
  systems should be done with caution
• A contribution that can be replicated on other
  information systems




 ICSM 2011           Paolo Salvaneschi           28
Validity and Scope

• Scope
• The study may be generalized to other commercial
  information systems?
   - The studied information system is representative
     of many others commercial systems
   - The types and patterns of evolution document do
     not depend on specific technologies or business
     processes
     They essentially depend on:
     The architectural characterization of the application
     The degree of transparency (in house developed vs COTS)
   ICSM 2011             Paolo Salvaneschi             29
Conclusions and future work


• The study questions have been positively answered
• The guideline and the tool are used in the specific
  information system



• Replicate the study for other commercial systems
• Other types of systems?




  ICSM 2011            Paolo Salvaneschi         30

Contenu connexe

En vedette

Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...ICSM 2011
 
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationImpact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationICSM 2011
 
Postdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindlePostdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindleICSM 2011
 
Industry - Estimating software maintenance effort from use cases an indu...
Industry - Estimating software maintenance effort from use cases an      indu...Industry - Estimating software maintenance effort from use cases an      indu...
Industry - Estimating software maintenance effort from use cases an indu...ICSM 2011
 
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...ICSM 2011
 
ERA - A Comparison of Stemmers on Source Code Identifiers for Software Search
ERA - A Comparison of Stemmers on Source Code Identifiers for Software SearchERA - A Comparison of Stemmers on Source Code Identifiers for Software Search
ERA - A Comparison of Stemmers on Source Code Identifiers for Software SearchICSM 2011
 
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...ICSM 2011
 
ERA - Tracking Technical Debt
ERA - Tracking Technical DebtERA - Tracking Technical Debt
ERA - Tracking Technical DebtICSM 2011
 
Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsICSM 2011
 
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ICSM 2011
 
Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects ICSM 2011
 
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...ICSM 2011
 
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...ICSM 2011
 
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer KoschkeICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer KoschkeICSM 2011
 
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesMetrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesICSM 2011
 
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...ICSM 2011
 
Components - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsComponents - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsICSM 2011
 
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...ICSM 2011
 
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...ICSM 2011
 
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...ICSM 2011
 

En vedette (20)

Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
 
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationImpact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
 
Postdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindlePostdoc Symposium - Abram Hindle
Postdoc Symposium - Abram Hindle
 
Industry - Estimating software maintenance effort from use cases an indu...
Industry - Estimating software maintenance effort from use cases an      indu...Industry - Estimating software maintenance effort from use cases an      indu...
Industry - Estimating software maintenance effort from use cases an indu...
 
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
 
ERA - A Comparison of Stemmers on Source Code Identifiers for Software Search
ERA - A Comparison of Stemmers on Source Code Identifiers for Software SearchERA - A Comparison of Stemmers on Source Code Identifiers for Software Search
ERA - A Comparison of Stemmers on Source Code Identifiers for Software Search
 
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
 
ERA - Tracking Technical Debt
ERA - Tracking Technical DebtERA - Tracking Technical Debt
ERA - Tracking Technical Debt
 
Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming Conventions
 
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
 
Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects
 
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
 
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
 
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer KoschkeICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
 
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesMetrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
 
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
 
Components - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsComponents - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API Limitations
 
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
 
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
 
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
 

Similaire à Industry - The Evolution of Information Systems. A Case Study on Document Management

Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Comp8 unit5 lecture_slides
Comp8 unit5 lecture_slidesComp8 unit5 lecture_slides
Comp8 unit5 lecture_slidesCMDLMS
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...Hironori Washizaki
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckUtrecht University
 
Leverage DSpace for an enterprise, mission critical platform
Leverage DSpace for an enterprise, mission critical platformLeverage DSpace for an enterprise, mission critical platform
Leverage DSpace for an enterprise, mission critical platformAndrea Bollini
 
1st eStandards conference: next steps for standardization in large scale eHea...
1st eStandards conference: next steps for standardization in large scale eHea...1st eStandards conference: next steps for standardization in large scale eHea...
1st eStandards conference: next steps for standardization in large scale eHea...chronaki
 
SE_Module1new.ppt
SE_Module1new.pptSE_Module1new.ppt
SE_Module1new.pptADARSHN40
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesTao Xie
 
Introductie slides Agile Software Architecture
Introductie slides Agile Software ArchitectureIntroductie slides Agile Software Architecture
Introductie slides Agile Software ArchitectureMaikel Meeuwse
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
 
Exploiting the value of Dublin Core through pragmatic development
Exploiting the value of Dublin Core through pragmatic developmentExploiting the value of Dublin Core through pragmatic development
Exploiting the value of Dublin Core through pragmatic developmentPaul Walk
 
Software design for scientific applications
Software design for scientific applicationsSoftware design for scientific applications
Software design for scientific applicationsPriyanka Lal
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03YousefYassin5
 
Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Lionel Briand
 

Similaire à Industry - The Evolution of Information Systems. A Case Study on Document Management (20)

Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Comp8 unit5 lecture_slides
Comp8 unit5 lecture_slidesComp8 unit5 lecture_slides
Comp8 unit5 lecture_slides
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide Deck
 
Software Analytics
Software AnalyticsSoftware Analytics
Software Analytics
 
Leverage DSpace for an enterprise, mission critical platform
Leverage DSpace for an enterprise, mission critical platformLeverage DSpace for an enterprise, mission critical platform
Leverage DSpace for an enterprise, mission critical platform
 
1st eStandards conference: next steps for standardization in large scale eHea...
1st eStandards conference: next steps for standardization in large scale eHea...1st eStandards conference: next steps for standardization in large scale eHea...
1st eStandards conference: next steps for standardization in large scale eHea...
 
SE_Module1new.ppt
SE_Module1new.pptSE_Module1new.ppt
SE_Module1new.ppt
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
Introductie slides Agile Software Architecture
Introductie slides Agile Software ArchitectureIntroductie slides Agile Software Architecture
Introductie slides Agile Software Architecture
 
Project and Portfolio Management for Digital Libraries
Project and Portfolio Management for Digital LibrariesProject and Portfolio Management for Digital Libraries
Project and Portfolio Management for Digital Libraries
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Exploiting the value of Dublin Core through pragmatic development
Exploiting the value of Dublin Core through pragmatic developmentExploiting the value of Dublin Core through pragmatic development
Exploiting the value of Dublin Core through pragmatic development
 
Software design for scientific applications
Software design for scientific applicationsSoftware design for scientific applications
Software design for scientific applications
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Sdlc 4
Sdlc 4Sdlc 4
Sdlc 4
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 
Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.
 
An introduction to_epf
An introduction to_epfAn introduction to_epf
An introduction to_epf
 

Dernier

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Dernier (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Industry - The Evolution of Information Systems. A Case Study on Document Management

  • 1. 27th IEEE International Conference on Software Maintenance September 25 – 30, 2011 The Evolution of Information Systems A Case Study on Document Management Paolo Salvaneschi University of Bergamo Faculty of Engineering ICSM 2011 Paolo Salvaneschi 1
  • 2. Summary • The problem • Aims of the study • The Information System • The study • Results • Validity and Scope • Conclusions and future work ICSM 2011 Paolo Salvaneschi 2
  • 3. The problem • The management of knowledge required to support the evolution of large information systems • A well-known and difficult problem for IT departments of organizations • Many existing applications evolving for a long period of time (e.g. 10 years). • New projects : - a change of one or more applications ( evolution step) - or the development of a new application ICSM 2011 Paolo Salvaneschi 3
  • 4. The problem • Although the initial development was based on the best Software Engineering practices, the delivered documents become quickly outdated and no longer useful • The cost of maintaining them during the evolution phase is too high. • Analysts and programmers do not have time to update the documents • Turnover causes loss of knowledge ICSM 2011 Paolo Salvaneschi 4
  • 5. Aims of the study • To verify a set of hypotheses - The evolution can be supported by a minimal set of “good enough” documents - The set of evolution documents derives from a selections of contents of the development documents - It is based on a cost-benefit analysis • To define an engineering guideline (types and patterns of documents) • To develop a tool for managing the documents ICSM 2011 Paolo Salvaneschi 5
  • 6. Aims of the study • Minimal set of “good enough” documents - Knowledge is a property emerging from a system composed by analysts/programmers and documents - Documents do not require being “complete” It is sufficient that they be “good enough” - The analysts/programmers may use a minimal set of document as a “landscape” for understanding where to read the details in the code Reference: the theory of minimalist instruction founded in the psychology of learning and problem solving [Carroll, J. M. 1990] ICSM 2011 Paolo Salvaneschi 6
  • 7. Aims of the study • Questions - Are the actors involved in the evolution able to identify a minimal set (based on a cost-benefit analysis) of evolution documents they consider important to understand the software to be changed? - What is the content of these documents? - What is the relationship between these evolution documents and the development documents? - Are there recurrent sets of evolution documents for classes of applications? ICSM 2011 Paolo Salvaneschi 7
  • 8. The Information System • The information system of a large retail company - 100 stores in Italy, 2 billion Euro turnover, more than 8000 employees (year end 2009) - IT department: 70 employees,150 servers, 4000 clients, about 100 software applications, 5000 users. - Internally developed software (external suppliers) and tailored market-available packages - AS400 and Web-based environments ICSM 2011 Paolo Salvaneschi 8
  • 9. The study • 21 interviewed people (analysts/programmers, project managers and system managers) and an external consultant having the role of researcher • 89 applications • About 400.000 Java-JSP LOC, about 1.100.000 RPG LOC and tailored COTS ICSM 2011 Paolo Salvaneschi 9
  • 10. The study Number, role and experience of interviewed people ICSM 2011 Paolo Salvaneschi 10
  • 11. The study Applications classified by technology Software applications classified by evolution life ICSM 2011 Paolo Salvaneschi 11
  • 12. The study • Information sources: - Development document stored on a project basis into a database under version control - Applications owners • We study the documents that can help the analyst/programmer to understand the code during software evolution • We do not examine the source code ICSM 2011 Paolo Salvaneschi 12
  • 13. The study • Meetings between the researcher and each application owner - The researcher explains the hypotheses and requests the application owner to identify a minimum set of evolution documents • An evolution document may be: - A development document stored in the database - A part of a development document (a document whose quality is poor may require a re-documentation process) ICSM 2011 Paolo Salvaneschi 13
  • 14. The study • Result: a set of candidate documents • Selection through a cost benefit analysis Selection rule ICSM 2011 Paolo Salvaneschi 14
  • 15. The study • Rcost Cost spent by the new analyst/programmer for reconstructing the content of the evolution document, when needed, from code, data structures and program behavior • Mcost Maintenance cost of the evolution document, estimated by the number of pages Low < 5 pages Medium 5 to 10 pages High > 10 pages ICSM 2011 Paolo Salvaneschi 15
  • 16. The study • Example 1: - Specification document : a detailed specification of interactive screens. - The reconstruction cost is low: the programmer may run the product and use the person machine interface as a living specification for understanding code - discard ICSM 2011 Paolo Salvaneschi 16
  • 17. The study • Example 2: - Design document : includes a five-page model of software architecture - The maintenance cost is low - The cost of understanding and reconstructing the architecture from code is high - select ICSM 2011 Paolo Salvaneschi 17
  • 18. The study • Example 3: - The design document includes a detailed specification (a dozen pages) of an algorithm implementing a set of very complex business rules - The reconstruction cost is high - Also the maintenance cost is high - The owner notes that it is very difficult to understand the algorithm by reading code. - After a discussion: select ICSM 2011 Paolo Salvaneschi 18
  • 19. Results • Example: the application "Supply Chain" Development documents Evolution Documents The minimal set The E-R model of the central RDBMS is not considered ICSM 2011 Paolo Salvaneschi 19
  • 20. Results • The minimalist approach: an average reduction factor of 10 (number of pages of development documents / number of pages of evolution documents) • Types of evolution documents: - Landscapes (e.g. Software architecture) - Aspects (e.g. Use case) - Critical points (e.g. Complex algorithm) ICSM 2011 Paolo Salvaneschi 20
  • 21. Results • Development documents vs evolution documents - Some contents of the development documents have been discarded or significantly downsized - The development documents tend to be complete and layered according to abstraction levels. The evolution documents include only the most important information and collect parts of the development documents at very different levels of abstraction ICSM 2011 Paolo Salvaneschi 21
  • 22. Results • From the analysis of the meeting reports: Patterns of evolution documents ICSM 2011 Paolo Salvaneschi 22
  • 23. Results • Classes of applications ICSM 2011 Paolo Salvaneschi 23
  • 24. Results • Types of documents • Content of each type ICSM 2011 Paolo Salvaneschi 24
  • 25. Results • The wiki tool - MediaWiki environment - Now in service - Loaded with all the 89 applications examined in the study - 500 pages and links to three data models generated by an external CASE - 60 registered users - A standard process to upgrade the wiki at the end of each development step ICSM 2011 Paolo Salvaneschi 25
  • 26. Results ICSM 2011 Paolo Salvaneschi 26
  • 27. Validity and Scope • Threats of validity • Representativeness of the results - People and applications biased by specific skills or technologies - Owners with different roles and experience. Applications covering different technologies and development /acquisition processes • Reliability of classification - Subjective assignment of RCost and MCost. - Reduced using an evaluation based on the number of pages ICSM 2011 Paolo Salvaneschi 27
  • 28. Validity and Scope • Scope • Study related to just one information system Generalization of the results to other information systems should be done with caution • A contribution that can be replicated on other information systems ICSM 2011 Paolo Salvaneschi 28
  • 29. Validity and Scope • Scope • The study may be generalized to other commercial information systems? - The studied information system is representative of many others commercial systems - The types and patterns of evolution document do not depend on specific technologies or business processes They essentially depend on: The architectural characterization of the application The degree of transparency (in house developed vs COTS) ICSM 2011 Paolo Salvaneschi 29
  • 30. Conclusions and future work • The study questions have been positively answered • The guideline and the tool are used in the specific information system • Replicate the study for other commercial systems • Other types of systems? ICSM 2011 Paolo Salvaneschi 30