Construction By Configuration: a new challenge for software engineering education Prof. Ian Sommerville Lancaster University

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 1

Responsibilities of SE educators ●

Principles • •



Technologies • •



Introduce students to current technologies E.g. how to use the UML for system modelling

Processes •



Teach students fundamental principles of software engineering whose rate of change will be slower than changes in technology and platforms E.g. teach students about data abstraction not just how to create objects

Sensitise students to the realities of industrial software development

Skills •

©Ian Sommerville 2005

Equip students with specific skills (e.g. system modelling) that will allow them to become economically productive members of the workforce Construction by Configuration: A new challenge for software engineering education

Slide 2

The changing face of SE ●





For business systems development, the predominant approach for application system development is based around software reuse rather than original software development Only a minority of systems are developed in ‘conventional’ programming languages. Even when languages such as Java and C# are used, extensive reuse is the norm As technologies improve and processor performance increases, the same approach will inevitably be transferred to the development of other types of system

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 3

Current teaching in SE ●

The majority of university curricula in software engineering are based around a conventional development process • • • •



Mathematical foundations (e.g. formal specification) Programming in an OO language such as Java UML based exercises in design Projects to specify, design and program small systems

Issues around software reuse are not given a high priority in most curricula •

©Ian Sommerville 2005

ACM 2004 curriculum guidelines suggest that only a very small percentage of time is devoted to reuse (although the document suggests that reuse should be encouraged)

Construction by Configuration: A new challenge for software engineering education

Slide 4

Software reuse ●

Software reuse is implemented in a number of different ways • • • • •

©Ian Sommerville 2005

Component-based Software Engineering (CBSE) Service-oriented Systems System families ERP systems (SAP, Oracle, etc.) COTS-based (vertical) software development

Construction by Configuration: A new challenge for software engineering education

Slide 5

Domain abstractions ●





The common features of all of these approaches to reuse is that they change the focus of system construction from technology-based abstractions to business-focused domain abstractions These abstractions (e.g. patients, appointments, nurses, treatments, etc.) are built into the system rather than defined. High level functionality is defined on these abstractions so programmer has less need to think about implementation abstractions such as selection, loops, sequences, etc.

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 6

Construction by configuration (C-b-C) ●







Software development with reuse rarely means reusing abstractions without change. The reusable abstractions have to be configured to adapt them to their local circumstances of use. This can range from simple parameter setting through the definition of business rules to special purpose component development. Critically, reuse generally also means configuring the process (and sometimes configuring the customer) as well as configuring the software.

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 7

Reuse and configuration ●





Components and services are intended to be used with limited configuration. Here the adaptation and configuration is often in the ‘glue code’ used to link these entities System families are configured by adapting specified parts of the system code ERP systems and generic COTS, by contrast, are designed for configuration without access to the source code of the system. •

©Ian Sommerville 2005

In these systems, the system development is the configuration.

Construction by Configuration: A new challenge for software engineering education

Slide 8

Teaching about reuse ●

Teaching about software development with reuse is important for 2 reasons: • •

©Ian Sommerville 2005

Students should be aware of the realities of industrial practice We should be trying to ensure that students think about problems in terms of reuse rather than inventing their own solutions

Construction by Configuration: A new challenge for software engineering education

Slide 9

COTS-based reuse ●







COTS-based reuse is generally based around some system for a specific application domain (e.g. patient information system in healthcare) This incorporates generic functionality and abstractions from the domain. These are then configured for each specific customer. This can be a (very) long-term process •

©Ian Sommerville 2005

The current Spanish en-route air traffic control system is being reconfigured for use in the UK. The process is anticipated to take 6 years.

Construction by Configuration: A new challenge for software engineering education

Slide 10

Realities of COTS-based SE ●



The decision on which COTS system to use is rarely based on a detailed analysis of the requirements in a specific setting Issues that affect the decision include: • • • • •

©Ian Sommerville 2005

Political issues Platform issues Cost and schedule issues Availability of expertise Prejudice!

Construction by Configuration: A new challenge for software engineering education

Slide 11

A patient management system ●





We have followed the deployment of a patient management system for mental healthcare in Edinburgh, Scotland Based around a generic COTS-package developed in the UK for hospitals in England which was designed to be adapted for different types of clinic (orthopaedic, diabetic, etc.) Scotland has its own legal system and laws and healthcare is a devolved responsibility. The Scottish executive sets its own targets and priorities for healthcare

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 12

Procurement issues ●





A major influence in choosing that particular system was that it offered the opportunity for hospital managers (rather than doctors) to control how information was recorded The Executive placed a tight deadline on hospitals for reporting against a set of targets. There was little time to carry out a detailed comparison of alternatives and this system had already been successfully deployed elsewhere

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 13

Software engineering ●









Configuring the data model required for a particular set of clinics Configuring the menus for the particular type of clinic and the patient information that had to be recorded Configuring the reports to be generated by the system Configuring the rules that should be applied to the system data Configuring the process of use of the system

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 14

Issues and problems ●

Requirements conflict •



Invalid configuration assumptions •



The system was required to support reporting against a set of targets set by the Executive. This included reasons why the patient was referred to a clinic. However, the Executive’s reasons for referral did not match the reasons normally recorded by clinicians. The language for defining the rules of the system was not expressive enough to cover the requirements of Scots law regarding the forced detention of patients

Failure to configure the process •

©Ian Sommerville 2005

Local process differences meant that different clinics recorded different information about patients

Construction by Configuration: A new challenge for software engineering education

Slide 15

The C-b-C process for COTS ●







There is often no clear distinction between specification, design and development Systems are rarely completely configured before being put into use - the configuration process continues as the system is integrated with operational processes There is often extensive “user” configuration of the system It is often necessary to configure the expectations of system stakeholders

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 16

C-b-C and conventional SE ●

Two-stage system requirements process • •

● ●



Identify generic environments to chose reusable system Identify specific requirements from a setting of use

More active stakeholder involvement? Co-realisation (process changes + s/w changes) Good practices such as configuration management, reviews, etc. are practically impossible to implement

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 17

System testing ●







Testing is a particular problem for COTS-based systems Systems are not designed for running automated test suites There is no specification that can serve as a basis for deriving tests Problems that arise are often a consequence of interactions between the process of use and the system rather than system failure.

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 18

Problems of teaching C-b-C ●

Principles •



Technologies •



What technologies can be practically introduced at a university level?

Processes •



What are the principles of C-b-C that will equip students to transfer knowledge from one system to another?

How can students be introduced to the C-b-C process?

Skills •

©Ian Sommerville 2005

Do the challenges of C-b-C require different skills from those acquired in a conventional SE course?

Construction by Configuration: A new challenge for software engineering education

Slide 19

Principles ●



The diversity of different approaches to C-b-C mean that identifying unifying principles across different systems is very difficult Possible examples of principles • • • •

©Ian Sommerville 2005

Principle of visibility - make configurations explicit? Principle of low coupling - reduce dependencies across configurations? Principle of scalability - separate configuration of system deployment from configuration of functionality Principle of localisation - localise volatile configuration entities

Construction by Configuration: A new challenge for software engineering education

Slide 20

Technologies ●





There are many different technologies that act as a basis for C-b-C. Can we chose a representative set of technologies? Many of these technologies are very expensive (e.g. SAP) and cannot be scaled down for use in a teaching environment Learning about specific (complex) technologies takes a lot of time - how can this be fitted into a (crowded) curriculum?

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 21

Processes ●

Users may be partly responsible for parts of the configuration process. This causes major problems with supporting processes • • •



Configuration management Change management Quality management

As well as requirements, we need to discuss the implementation of processes such as system deployment and co-realisation processes.

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 22

Skills ●

Selection and evaluation skills •



People skills •



Choosing the right system to configure Working with users and system stakeholders

Prioritisation skills •

©Ian Sommerville 2005

Balancing different requirements against facilities offered by the system

Construction by Configuration: A new challenge for software engineering education

Slide 23

Spreadsheet software engineering ●





Spreadsheets offer the opportunity to introduce students to many of the issues around construction by configuration Spreadsheets (Excel or open source alternatives) are universally available and low-cost Using spreadsheet technologies allow real applications not toy programs to be developed

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 24

Learning from spreadsheets ●



● ●

Alternative programming models (but do students realise that developing a spreadsheet is programming?) Importance of visibility - how are cells related to each other Working without a clear specification Problems of system testing

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 25

Spreadsheet projects ●



Using spreadsheets offers the opportunity to work with real users in the University or SMEs Project examples • • • •

©Ian Sommerville 2005

A system for costing research proposals A system for supporting the development of a vegetation atlas A system for tracking samples used in destructive testing A system to manage information for a safety case Construction by Configuration: A new challenge for software engineering education

Slide 26

Conclusions ●







Reuse is a reality of software engineering and we have a responsibility to incorporate this into CS curricula C-b-C is as technically challenging as original programming and students should be introduced to this More research is needed to establish a solid scientific basis for C-b-C However, a key question is how to find space in the curriculum for these new approaches. What should be dropped?

©Ian Sommerville 2005

Construction by Configuration: A new challenge for software engineering education

Slide 27

Construction By Configuration: a new challenge for ... - Semantic Scholar

A system for supporting the development of a vegetation atlas. • A system for tracking samples used in destructive testing. • A system to manage information for a ...

161KB Sizes 2 Downloads 245 Views

Recommend Documents

Construction By Configuration: a new challenge for software ...
Teach students fundamental principles of software engineering ... development is based around software reuse rather than original software development. #.

Williams–Beuren syndrome: a challenge for ... - Semantic Scholar
Our data. Human Molecular Genetics, 2003, Vol. 12, Review Issue 2. R233 .... obvious what the phenotypic consequences of impaired VDR signaling are.

The New Challenge: Mobile Multimedia Sensor ... - Semantic Scholar
the capability of WSNs, e.g., wireless mobile sensor networks Munir et al. (2007); ... video coding technology to reduce the system delay in wireless multimedia.

The New Challenge: Mobile Multimedia Sensor ... - Semantic Scholar
Abstract: Along with the fast development of sensor hardware, traditional .... From the application point of view, we particularly believe that mobile multimedia ...

A new subspecies of hutia - Semantic Scholar
May 14, 2015 - lecular analysis has identified three genetically isolated allopatric hutia ... tion through comparison with genetic data for other capromyids.

Link-PLSA-LDA: A new unsupervised model for ... - Semantic Scholar
The output of the new model on blog data reveals very inter- ... modeling topics and topic specific influence of blogs. Introduction ..... 07/04/2005 and 07/24/2005.

Model Construction in Planning - Semantic Scholar
For all but the simplest domains, this technique has obvious deficiencies. ... programming might be a good trick to use, though, if we can develop a planner that can identify parts of a ... It might post a goal to visit the market to buy supplies.

Formal Compiler Construction in a Logical ... - Semantic Scholar
literate programming), and the complete source code is available online ..... class of atoms into two parts: those that may raise an exception, and those that do not, and ...... PLAN Notices, pages 199–208, Atlanta, Georgia, June 1988. ACM.

Formal Compiler Construction in a Logical ... - Semantic Scholar
Research Initiative (MURI) program administered by the Office of Naval Research. (ONR) under ... address the problem of compiler verification in this paper; our main ...... Science Technical Report 32, AT&T Bell Laboratories, July 1975. Lee89 ...

A Appendix - Semantic Scholar
buyer during the learning and exploit phase of the LEAP algorithm, respectively. We have. S2. T. X t=T↵+1 γt1 = γT↵. T T↵. 1. X t=0 γt = γT↵. 1 γ. (1. γT T↵ ) . (7). Indeed, this an upper bound on the total surplus any buyer can hope

Semantic Queries by Example - Semantic Scholar
Mar 18, 2013 - a novel method to support semantic queries in relational databases with ease. Instead of casting ontology into rela- tional form and creating new language constructs to express ...... uni-karlsruhe.de/index_ob.html. [19] OTK ...

A Appendix - Semantic Scholar
The kernelized LEAP algorithm is given below. Algorithm 2 Kernelized LEAP algorithm. • Let K(·, ·) be a PDS function s.t. 8x : |K(x, x)| 1, 0 ↵ 1, T↵ = d↵Te,.

A demographic model for Palaeolithic ... - Semantic Scholar
Dec 25, 2008 - A tradition may be defined as a particular behaviour (e.g., tool ...... Stamer, C., Prugnolle, F., van der Merwe, S.W., Yamaoka, Y., Graham, D.Y., ...

Semantic Queries by Example - Semantic Scholar
Mar 18, 2013 - Finally, we apply the query semantics on the data to ..... mantic queries involving the ontology data are usually hard ...... file from and to disk.

Biotechnology—a sustainable alternative for ... - Semantic Scholar
Available online 24 May 2005. Abstract. This review outlines the current and emerging applications of biotechnology, particularly in the production and processing of chemicals, for sustainable development. Biotechnology is bthe application of scienti

a new color image cryptosystem based on a ... - Semantic Scholar
is used to build a new digital chaotic cryptosystem. The characteristics of PWLCM are very suitable for the de- sign of encryption schemes. The implicit digital ...

Biotechnology—a sustainable alternative for ... - Semantic Scholar
May 24, 2005 - needsQ, as defined by World Commission on Environment and Development (Brundt- ... security, habitat loss and global health, all in the context of social justice and ...... Hsu J. European Union's action plan for boosting the competiti

Toward a new supermarket layout: from industrial ... - Semantic Scholar
Keywords: Data mining, market basket analysis, retailing, store layout. .... These new layout applications do not take the one stop shop phenomenon into ...

A New Engine Boosting Concept with Energy ... - Semantic Scholar
Sep 10, 2010 - overlaid upon the clear need to delivering the legislated ..... optimised combustion system. Figure 9: Transient Load Step Power Consumption Comparison – VTES vs. Direct Electric Drive. This is in principle directly comparable with a

Distance Education Trends: Integrating new ... - Semantic Scholar
Nevertheless, it is second-generation Web tools that promise to take ... Weblogs are best used as student portfolios that keep record of an individual's progress ...

Introducing the New ADAPTIVEREG Procedure for ... - Semantic Scholar
The following step reads the median home values data set from the UCI Machine .... Will People Report Addresses Free Business Email You Credit Your Font ..... SAS and all other SAS Institute Inc. product or service names are registered ...

A New Approach to Linear Filtering and Prediction ... - Semantic Scholar
This paper introduces a new look at this whole assemblage of problems, sidestepping the difficulties just mentioned. The following are the highlights of the paper: (5) Optimal Estimates and Orthogonal Projections. The. Wiener problem is approached fr