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 software ...

Teach students fundamental principles of software engineering ... development is based around software reuse rather than original software development. #.

161KB Sizes 2 Downloads 198 Views

Recommend Documents

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 ...

Software Construction Software Construction
UBC CPSC 210 Software Construction. 2. UBC CPSC 210 Software Construction. Models. We will use various kinds of models—control-flow models, data-flow models, class diagrams and more—to help design and understand software systems. Each model abstr

software configuration management pdf by pressman
software configuration management pdf by pressman. software configuration management pdf by pressman. Open. Extract. Open with. Sign In. Main menu.

A Unified Software Pipeline Construction Scheme for ...
scheduling, and k the degree of kernel unrolling required by modulo expan- sion3. ... Build the ScdTask, called lasttask, which will be the last task in the master .... which records the collision distance (denoted Ω in [8]) from the defining effect

A Product Management Challenge: Creating Software ...
Furthermore, the management of software product value is dependant on the ..... open working environment, the Product Manager wrote a monthly report that detailed all work ...... Requirements source, customer type (big or small – importance: potent

A New Software for Sheep Flock Management
Oct 10, 2003 - Sheep Flock Management Software (SFMS) has a flexible query module ... which are seen by user, the most important field is Ram Ear Number ...

The challenge of new drug discovery for tuberculosis - TB Alliance
Jan 27, 2011 - causative agent of TB, but since his discovery the global TB epidemic seems unabated; this year it ... a new mechanism of action approved for TB was rifampicin (discovered in 1963). Further complicating ... To achieve global control of

A Formal Framework for the Correct-by-construction ...
to while building control models. These features helped the engineers to go back and forth between high level models and implementations. This is essential in ...

Configuration for "Command" Phone
SMS Fail. Event - SMS Failure. %REMOTE. SMSfail. 5. SMS Received .... Text: Sent command to enable battery save mode. 6 ..... 45 Phone - Send SMS.

The challenge of new drug discovery for tuberculosis - UAH
drugs and analysis of their chemical space is desirable. The physicochemical ... bacterial compounds (1,663) identified from the Prous Integrity data- ..... S. Mostmans from the Business Intelligence Group for providing TB pipeline updates,.

Configuration Synthesis for Programmable ... - people.csail.mit.edu
Jun 17, 2016 - Compilers; C.1.3 [Processor Styles]: Analog Computers. Keywords Compilers, Analog Computing, .... Because Arco works with a hardware specification language that defines the capabilities of the ..... lows the programmer to describe the

a practical handbook of software construction pdf
a practical handbook of software construction pdf. a practical handbook of software construction pdf. Open. Extract. Open with. Sign In. Main menu.