Legacy Systems. Older software systems that remain vital to an organisation. Legacy systems. Legacy system replacement

Size: px
Start display at page:

Download "Legacy Systems. Older software systems that remain vital to an organisation. Legacy systems. Legacy system replacement"

Transcription

1 Legacy Systems Older software systems that remain vital to an organisation Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 1 Legacy systems Software systems that are developed specially for an organisation have a long lifetime Many software systems that are still in use were developed many years ago using technologies that are now obsolete These systems are still business critical that is, they are essential for the normal functioning of the business They have been given the name legacy systems Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 2 Legacy system replacement There is a significant business risk in simply scrapping a legacy system and replacing it with a system that has been developed using modern technology Legacy systems rarely have a complete specification. During their lifetime they have undergone major changes which may not have been documented Business processes are reliant on the legacy system The system may embed business rules that are not formally documented elsewhere New software development is risky and may not be successful Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 3

2 Legacy system change Systems must change in order to remain useful However, changing legacy systems is often expensive Different parts implemented by different teams so no consistent programming style The system may use an obsolete programming language The system documentation is often out-of-date The system structure may be corrupted by many years of maintenance Techniques to save space or increase speed at the expense of understandability may have been used File structures used may be incompatible Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 4 The legacy dilemma It is expensive and risky to replace the legacy system It is expensive to maintain the legacy system Businesses must weigh up the costs and risks and may choose to extend the system lifetime using techniques such as re-engineering. This is covered in Chapters 27 and 28 Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 5 Legacy system structures Legacy systems can be considered to be sociotechnical systems and not simply software systems System hardware - may be mainframe hardware Support software - operating systems and utilities Application software - several different programs Application data - data used by these programs that is often critical business information Business processes - the processes that support a business objective and which rely on the legacy software and hardware Business policies and rules - constraints on business operations Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 6

3 Legacy system components Support software Uses Application software Embeds knowledge of Business policies and rules Runs-on Runs-on Uses Uses Constrains System hardware Application data Business processes Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 7 Layered model Socio-technical system Business processes Application software Support software Hardware Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 8 System change In principle, it should be possible to replace a layer in the system leaving the other layers unchanged In practice, this is usually impossible Changing one layer introduces new facilities and higher level layers must then change to make use of these Changing the software may slow it down so hardware changes are then required It is often impossible to maintain hardware interfaces because of the wide gap between mainframes and client-server systems Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 9

4 Legacy application system Program 1 Program 2 Program 3 File 1 File 2 File 3 File 4 File 5 File 6 Program 4 Program 5 Program 6 Program 7 Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 10 Database-centred system Program 1 Program 2 Program 3 Program 4 Database management system describes Logical and physical data models Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 11 Transaction processing Account queries and updates Teleprocessing monitor Serialised transactions Accounts database ATMs and terminals Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 12

5 Legacy data The system may be file-based with incompatible files. The change required may be to move to a database-management system In legacy systems that use a DBMS the database management system may be obsolete and incompatible with other DBMSs used by the business The teleprocessing monitor may be designed for a particular DB and mainframe. Changing to a new DB may require a new TP monitor Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 13 Legacy system design Most legacy systems were designed before object-oriented development was used Rather than being organised as a set of interacting objects, these systems have been designed using a function-oriented design strategy Several methods and CASE tools are available to support function-oriented design and the approach is still used for many business applications Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 14 Legacy system assessment Organisations that rely on legacy systems must choose a strategy for evolving these systems Scrap the system completely and modify business processes so that it is no longer required Continue maintaining the system Transform the system by re-engineering to improve its maintainability Replace the system with a new system The strategy chosen should depend on the system quality and its business value Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 15

6 System quality and business value Business value 9 High business value Low quality 10 Low business value Low quality High business value High quality Low business value High quality System quality Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 16 Legacy system categories Low quality, low business value These systems should be scrapped Low-quality, high-business value These make an important business contribution but are expensive to maintain. Should be re-engineered or replaced if a suitable system is available High-quality, low-business value Replace with COTS, scrap completely or maintain High-quality, high business value Continue in operation using normal system maintenance Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 17 Business value assessment Assessment should take different viewpoints into account System end-users Business customers Line managers IT managers Senior managers Interview different stakeholders and collate results Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 18

7 System quality assessment Business process assessment How well does the business process support the current goals of the business? Environment assessment How effective is the system s environment and how expensive is it to maintain Application assessment What is the quality of the application software system Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 19 Business process assessment Use a viewpoint-oriented approach and seek answers from system stakeholders Is there a defined process model and is it followed? Do different parts of the organisation use different processes for the same function? How has the process been adapted? What are the relationships with other business processes and are these necessary? Is the process effectively supported by the legacy application software? Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 20 Environment assessment Factor Questions Supplier Is the supplier is still in existence? Is the supplier financially stable and stability likely to cont inue in existence? If the supplier is no longer in business, are the systems maintained by so meone else? Failure rate Does the hardware have a high rate of reported failures? Does the support software crash and force system restarts? Age How old is the hardware and software? The older the hardware and support software, the more obsolete it will be. It may still function correctly but th ere could b e significant economic and bu siness benefits to moving to more modern systems. Performance Is the performance of the system adequate? Do performance problems have a significant effect on system users? Support What local support is required by th e hardware and software? If there requirements are high costs associated with this support, it may be worth considering system replacement. Maintenance What are the costs of hardware maintenance and suppo rt software costs licences? Older hardware may have high er maintenance costs than modern systems. Support software may have h igh annual licensing costs. Interoperability Are there problems interfacing the system to other systems? Can compilers etc. be used with current versions of the op erating system? Is hardware emulation required? Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 21

8 Application assessment Factor Understandability Questions How difficult is it to unde rstand the source code of the current system? How complex are the cont rol structures which are used? Do variables have meaningful names that reflect their function? Documentation What system documentation is available? Is the documentation complete, consistent and up -to-date? Data Is there an explicit data model for the system? To what extent is data duplicated in different files? Is the data used by the system up-to-date and consistent? Performance Is the performance of the application adequate? Do performance problems have a significant effect on system users? Programming language Configuration management Test data Personnel skills Are modern compilers available for the programming language u sed to develop the system? Is the programming language still used for new system development? Are all versions of all parts of the system managed by a configuration management system? Is there an explicit description of the versions of components that are used in the current system? Does test data for the system exist? Is there a record of regression tests carried out when new features have been added to the system? Are there people available who have the skills to maintain the application? Are there only a limited number of people who understand the system? Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 22 System measurement You may collect quantitative data to make an assessment of the quality of the application system The number of system change requests The number of different user interfaces used by the system The volume of data used by the system Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 23 Software maintenance Managing the processes of system change Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 24

9 Software maintenance Modifying a program after it has been put into use Maintenance management is concerned with planning and predicting the process of change Configuration management is the management of products undergoing change. Covered in the following chapter Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 25 Maintenance is inevitable The system requirements are likely to change while the system is being developed because the environment is changing. Therefore a delivered system won't meet its requirements! Systems are tightly coupled with their environment. When a system is installed in an environment it changes that environment and therefore changes the system requirements. Systems MUST be maintained therefore if they are to remain useful in an environment Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 26 Types of maintenance Perfective maintenance Changing a system to make it meet its requirements more effectively Adaptive maintenance Changing a system to meet new requirements Corrective maintenance Changing a system to correct deficiencies in the way meets its requirements Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 27

10 Distribution of maintenance effort Corrective maintenance (17%) Adaptive maintenance (18%) Perfective maintenance (65%) Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 28 Evolving systems It is usually more expensive to add functionality after a system has been developed rather than design this into the system Maintenance staff are often inexperienced and unfamiliar with the application domain Programs may be poorly structured and hard to understand Changes may introduce new faults as the complexity of the system makes impact assessment difficult The structure may be degraded due to continual change There may be no documentation available to describe the program Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 29 Maintenance management Maintenance has a poor image amongst development staff as it is not seen as challenging and creative Maintenance costs increase as the software is maintained The amount of software which has to be maintained increases with time Inadequate configuration management often means that the different representations of a system are out of step Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 30

11 Staff motivation Relate software development to organizational goals - maintenance rationale Relate rewards to organizational performance Integrate maintenance with development Create a discretionary preventative maintenance budget Plan for maintenance early in the development process Plan to expend effort on program maintainability Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 31 The maintenance process Maintenance is triggered by change requests from customers or marketing requirements Changes are normally batched and implemented in a new release of the system Programs sometimes need to be repaired without a complete process iteration but this is dangerous as it leads to documentation and programs getting out of step Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 32 The maintenance process Change requests Impact analysis System release planning Change implementation System release Perfective maintenance Adaptive maintenance Corrective maintenance Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 33

12 Change processes Change requests Analyze source code Modify source code Deliver repaired system Fault repair process Change requests Change analysis Requirements updating Software development Iterative development process Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 34 System documentation Requirements document System architecture description Program design documentation Source code listings Test plans and validation reports System maintenance guide Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 35 Document production Structure documents with overviews leading the reader into more detailed technical descriptions Produce good quality, readable manuals - they may have to last 20 years Use tool-generated documentation whenever possible Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 36

13 Program evolution dynamics Program evolution dynamics is the study of the processes of system change After major empirical study, Lehman and Belady proposed that there were a number of laws which applied to all systems as they evolved There are sensible observations rather than laws. They are applicable to large systems developed by large organisations. Perhaps less applicable in other cases Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 37 Lehman s laws Law Description Continuing change A program that is used in a real-world environment necessarily must change or become progressively less useful in that environment. Increasing complexity As an evolving program changes, its structure tends to become more complex. Extra resources must be devoted to preserving and simplifying the structure. Large program evolution Program evolution is a self-regulating process. System attributes such as size, time between releases and the number of reported errors are approximately invariant for each system release. Organisational stability Over a program s lifetime, its rate of development is approximately constant and independent of the resources devoted to system development. Conservation of Over the lifetime of a system, the incremental change familiarity in each release is approximately constant. Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 38 Maintenance costs Usually greater than development costs (2* to 100* depending on the application) Affected by both technical and non-technical factors Increases as software is maintained. Maintenance corrupts the software structure so makes further maintenance more difficult. Ageing software can have high support costs (e.g. old languages, compilers etc.) Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 39

14 Development/maintenance costs System 1 System $ Development costs Maintenance costs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 40 Maintenance cost factors Module independence It should be possible to change one module without affecting others Programming language High-level language programs are easier to maintain Programming style Well-structured programs are easier to maintain Program validation and testing Well-validated programs tend to require fewer changes due to corrective maintenance Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 41 Maintenance cost factors Documentation Good documentation makes programs easier to understand Configuration management Good CM means that links between programs and their documentation are maintained Application domain Maintenance is easier in mature and well-understood application domains Staff stability Maintenance costs are reduced if the same staff are involved with them for some time Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 42

15 Maintenance cost factors Program age The older the program, the more expensive it is to maintain (usually) External environment If a program is dependent on its external environment, it may have to be changed to reflect environmental changes Hardware stability Programs designed for stable hardware will not require to change as the hardware changes Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 43 Maintenance metrics Measurements of program characteristics which would allow maintainability to be predicted Essentially technical, how can technical factors above be quantified Any software components whose measurements are out of line with other components may be excessively expensive to maintain. Perhaps perfective maintenance effort should be devoted to these components Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 44 Maintenance metrics Control complexity Can be measured by examining the conditional statements in the program Data complexity Complexity of data structures and component interfaces. Length of identifier names Longer names imply readability Program comments Perhaps more comments mean easier maintenance Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 45

16 Maintenance metrics Coupling How much use is made of other components or data structures Degree of user interaction The more user I/O, the more likely the component is to require change Speed and space requirements Require tricky programming, harder to maintain Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 46 Process metrics Number of requests for corrective maintenance Average time required for impact analysis Average time taken to implement a change request Number of outstanding change requests If any or all of these is increasing, this may indicate a decline in maintainability Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 47 Maintenance metrics Log maintenance effort on a per component basis Choose set of possible metrics which may be related to maintenance Assess possible metrics for each maintained components Look for correlation between maintenance effort and metric values Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 48

17 Software re-engineering Reorganising and modifying existing software systems to make them more maintainable Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 49 System re-engineering Re-structuring or re-writing part or all of a legacy system without changing its functionality Applicable where some but not all sub-systems of a larger system require frequent maintenance Re-engineering involves adding effort to make them easier to maintain. The system may be restructured and re-documented Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 50 When to re-engineer When system changes are mostly confined to part of the system then re-engineer that part When hardware or software support becomes obsolete When tools to support re-structuring are available Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 51

18 Re-engineering advantages Reduced risk There is a high risk in new software development. There may be development problems, staffing problems and specification problems Reduced cost The cost of re-engineering is often significantly less than the costs of developing new software Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 52 Business process re-engineering Concerned with re-designing business processes to make them more responsive and more efficient Often reliant on the introduction of new computer systems to support the revised processes May force software re-engineering as the legacy systems are designed to support existing processes Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 53 Forward engineering and re-engineering System specification Forward engineering Design and implementation New system Existing software system Software re-engineering Understanding and transformation Re-engineered system Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 54

19 The re-engineering process Original program Program documentation Modularised program Original data Reverse engineering Source code translation Program modularisation Data reengineering Program structure improvement Structured program Reengineered data Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 55 Re-engineering cost factors The quality of the software to be re-engineered The tool support available for re-engineering The extent of the data conversion which is required The availability of expert staff for re-engineering Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 56 Re-engineering approaches Automated program restructuring Program and data restructuring Automated source code conversion Automated restructuring with manual changes Restructuring plus architectural changes Increased cost Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 57

20 Source code translation Involves converting the code from one language (or language version) to another e.g. FORTRAN to C May be necessary because of: Hardware platform update Staff skill shortages Organisational policy changes Only realistic if an automatic translator is available Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 58 The program translation process System to be re-engineered System to be re-engineered Re-engineered system Identify source code differences Design translator instructions Automatically translate code Manually translate code Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 59 Reverse engineering Analysing software with a view to understanding its design and specification May be part of a re-engineering process but may also be used to re-specify a system for re-implementation Builds a program data base and generates information from this Program understanding tools (browsers, cross-reference generators, etc.) may be used in this process Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 60

21 The reverse engineering process System to be re-engineered Automated analysis Manual annotation System information store Document generation Program stucture diagrams Data stucture diagrams Traceability matrices Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 61 Reverse engineering Reverse engineering often precedes reengineering but is sometimes worthwhile in its own right The design and specification of a system may be reverse engineered so that they can be an input to the requirements specification process for the system s replacement The design and specification may be reverse engineered to support program maintenance Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 62 Program structure improvement Maintenance tends to corrupt the structure of a program. It becomes harder and harder to understand The program may be automatically restructured to remove unconditional branches Conditions may be simplified to make them more readable Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 63

22 Spaghetti logic Start: Get (Time-on, Time-off, Time, Setting, Temp, Switch) if Switch = off goto off if Switch = on goto on goto Cntrld off: if Heating-status = on goto Sw-off goto loop on: if Heating-status = off goto Sw-on goto loop Cntrld: if Time = Time-on goto on if Time = Time-off goto off if Time < Time-on goto Start if Time > Time-off goto Start if Temp > Setting then goto off if Temp < Setting then goto on Sw-off: Heating-status := off goto Switch Sw-on: Heating-status := on Switch: Switch-heating loop: goto Start Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 64 Structured control logic loop -- The Get statement finds values for the given variables from the system s -- environment. Get (Time-on, Time-off, Time, Setting, Temp, Switch) ; case Switch of when On => if Heating-status = off then Switch-heating ; Heating-status := on ; end if ; when Off => if Heating-status = on then Switch-heating ; Heating-status := off ; end if; when Controlled => if Time >= Time-on and Time < = Time-off then if Temp > Setting and Heating-status = on then Switch-heating; Heating-status = off; elsif Temp < Setting and Heating-status = off then Switch-heating; Heating-status := on ; end if; end if ; end case ; end loop ; Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 65 Condition simplification -- Complex condition if not (A > B and (C < D or not ( E > F) ) ) Simplified condition if (A <= B and (C>= D or E > F)... Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 66

23 Automatic program restructuring Program to be restructured Restructured program Analyser and graph builder Program generator Graph representation Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 67 Restructuring problems Problems with re-structuring are: Loss of comments Loss of documentation Heavy computational demands Restructuring doesn t help with poor modularisation where related components are dispersed throughout the code The understandability of data-driven programs may not be improved by re-structuring Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 68 Program modularisation The process of re-organising a program so that related program parts are collected together in a single module Usually a manual process that is carried out by program inspection and re-organisation Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 69

24 Module types Data abstractions Abstract data types where datastructures and associated operations are grouped Hardware modules All functions required to interface with a hardware unit Functional modules Modules containing functions that carry out closely related tasks Process support modules Modules where the functions support a business process or process fragment Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 70 Recovering data abstractions Many legacy systems use shared tables and global data to save memory space Causes problems because changes have a wide impact in the system Shared global data may be converted to objects or ADTs Analyse common data areas to identify logical abstractions Create an ADT or object for these abstractions Use a browser to find all data references and replace with reference to the data abstraction Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 71 Data abstraction recovery Analyse common data areas to identify logical abstractions Create an abstract data type or object class for each of these abstractions Provide functions to access and update each field of the data abstraction Use a program browser to find calls to these data abstractions and replace these with the new defined functions Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 72

25 Data re-engineering Involves analysing and reorganising the data structures (and sometimes the data values) in a program May be part of the process of migrating from a file-based system to a DBMS-based system or changing from one DBMS to another Objective is to create a managed data environment Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 73 Approaches to data re-engineering Approach Data cleanup Data extension Data migration Description The data records and values are analysed to improve their quality. Duplicates are removed, redundant information is deleted and a consistent format applied to all records. This should not normally require any associated program changes. In this case, the data and associated programs are re-engineered to remove limits on the data processing. This may require changes to programs to increase field lengths, modify upper limits on the tables, etc. The data itself may then have to be rewritten and cleaned up to reflect the program changes. In this case, data is moved into the control of a modern database management system. The data may be stored in separate files or may be managed by an older type of DBMS. Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 74 Data problems End-users want data on their desktop machines rather than in a file system. They need to be able to download this data from a DBMS Systems may have to process much more data than was originally intended by their designers Redundant data may be stored in different formats in different places in the system Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 75

26 Program 1 Program 2 Program 3 File 1 File 2 File 3 File 4 File 5 File 6 Program 4 Program 5 Program 6 Program 7 Becomes Program 3 Program 4 Program 5 Program 6 Program 2 Program 7 Program 1 Database management system describes Logical and physical data models Data migration Data problems Data naming problems Names may be hard to understand. The same data may have different names in different programs Field length problems The same item may be assigned different lengths in different programs Record organisation problems Records representing the same entity may be organised differently in different programs Hard-coded literals No data dictionary Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 77 Data value inconsistencies Data inconsistency Inconsistent default values Inconsistent units Inconsistent validation rules Inconsistent representation semantics Inconsistent handling of negative values Description Different programs assign different default values to the same logical data items. This causes problems for programs other than those that created the data. The problem is compounded when missing values are assigned a default value that is valid. The missing data cannot then be discovered. The same information is represented in different units in different programs. For example, in the US or the UK, weight data may be represented in pounds in older programs but in kilograms in more recent systems. A major problem of this type has arisen in Europe with the introduction of a single European currency. Legacy systems have bee n written to deal with national currency units and data has to be converted to euros. Different programs apply different data validation rules. Data written by one program may be rejected by another. This is a particular problem for archival data which may not have been updated in line with changes to data validation rules. Programs assume some meaning in the way items are represented. For example, some programs may assume that upper-case text means an address. Programs may use different conventions and may therefore reject data which is semantically valid. Some programs reject negative values for entities which must always be positive. Others, however, may accept these as negative values or fail to recognise them as negative and convert them to a positive value. Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 78

27 Data conversion Data re-engineering may involve changing the data structure organisation without changing the data values Data value conversion is very expensive. Specialpurpose programs have to be written to carry out the conversion Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 79 The data re-engineering process Program to be re-engineered Data analysis Data analysis Entity name modification Literal replacement Data definition re-ordering Data re-formatting Default value conversion Validation rule modification Data conversion Stage 1 Stage 2 Stage 3 Change summary tables Modified data Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 26,27,28 Slide 80

Software re-engineering

Software re-engineering Software re-engineering Reorganising and modifying existing software systems to make them more maintainable Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 28 Slide 1 Objectives To explain

More information

Software Maintenance. Maintenance is Inevitable. Types of Maintenance. Managing the processes of system change

Software Maintenance. Maintenance is Inevitable. Types of Maintenance. Managing the processes of system change Software Maintenance Managing the processes of system change Maintenance is Inevitable The system requirements are likely to change while the system is being developed because the environment is changing.

More information

Software change. Software maintenance

Software change. Software maintenance Software change 1 Software change is inevitable New requirements emerge when the software is used The business environment changes Errors must be repaired New equipment must be accommodated The performance

More information

Software Engineering I. Chapters 8 & 9. SW Testing & Maintenance. Slide 1. 12/17/2017 SW Testing and Maintenance

Software Engineering I. Chapters 8 & 9. SW Testing & Maintenance. Slide 1. 12/17/2017 SW Testing and Maintenance Software Engineering I Chapters 8 & 9 SW Testing & Maintenance 12/17/2017 SW Testing and Maintenance Slide 1 Chapter 8 Software Testing 12/17/2017 SW Testing and Maintenance Slide 2 Program testing Testing

More information

CSC 408F/CSC2105F Lecture Notes

CSC 408F/CSC2105F Lecture Notes CSC 408F/CSC2105F Lecture Notes These lecture notes are provided for the personal use of students taking CSC 408H/CSC 2105H in the Fall term 2004/2005 at the University of Toronto. Copying for purposes

More information

Software Prototyping Animating and demonstrating system requirements. Uses of System Prototypes. Prototyping Benefits

Software Prototyping Animating and demonstrating system requirements. Uses of System Prototypes. Prototyping Benefits Software Prototyping Animating and demonstrating requirements Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Uses of System Prototypes

More information

Requirements Engineering. Establishing what the customer requires from a software system. Requirements Engineering. What is a Requirement?

Requirements Engineering. Establishing what the customer requires from a software system. Requirements Engineering. What is a Requirement? Engineering Establishing what the customer requires from a software system Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 5 and 6 Slide 1 Engineering

More information

Legacy Metamorphosis. By Charles Finley, Transformix Computer Corporation

Legacy Metamorphosis. By Charles Finley, Transformix Computer Corporation Legacy Metamorphosis By Charles Finley, Transformix Computer Corporation Legacy Metamorphosis By Charles Finley, Transformix Computer Corporation Introduction A legacy application is any application based

More information

Software Evolution. Dr. James A. Bednar. With material from

Software Evolution. Dr. James A. Bednar.  With material from Software Evolution Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar With material from Massimo Felici, Conrad Hughes, and Perdita Stevens SAPM Spring 2012: Evolution 1 Software

More information

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1

More information

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

SOFTWARE MAINTENANCE: A

SOFTWARE MAINTENANCE: A SOFTWARE MAINTENANCE: A TUTORIAL BY KEITH H. BENNETT 2008.10.13 소프트웨어 200310612 조보경 Software Engineering Field Main problem of software engineering Scale and Complexity of the software Goal of software

More information

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering? Q2a. What are the key challenges being faced by software engineering? Ans 2a. The key challenges facing software engineering are: 1. Coping with legacy systems, coping with increasing diversity and coping

More information

Configuration management. Adapted from Ian Sommerville 2006, Software Engineering, 8th edition. Chapter 29 1

Configuration management. Adapted from Ian Sommerville 2006, Software Engineering, 8th edition. Chapter 29 1 Configuration management Adapted from Ian Sommerville 2006, Software Engineering, 8th edition. Chapter 29 1 Objectives To explain the importance of software configuration management (CM) To describe key

More information

Static and dynamic Testing

Static and dynamic Testing Static and dynamic Testing Static testing Requirements specification High-level design Formal specification Detailed design Program Prototype Dynamic testing Ian Sommerville 1995 Software Engineering,

More information

SOFTWARE ENGINEERING SOFTWARE EVOLUTION. Saulius Ragaišis.

SOFTWARE ENGINEERING SOFTWARE EVOLUTION. Saulius Ragaišis. SOFTWARE ENGINEERING SOFTWARE EVOLUTION Saulius Ragaišis saulius.ragaisis@mif.vu.lt CSC2008 SE Software Evolution Learning Objectives: Identify the principal issues associated with software evolution and

More information

Software Maintenance and Evolution

Software Maintenance and Evolution Software Maintenance and Evolution Minsoo Ryu Hanyang University Topics Covered 1. Software Maintenance and Evolution 2. Reverse Engineering 3. Reengineering 2 2 Software Change Software change is inevitable

More information

Documentation & Maintenance

Documentation & Maintenance Documentation & Maintenance Princípy tvorby softvéru, FMFI UK Jana Kostičová, 16.5.2016 Documentation Why documentation? 1. Facilitates communication Within the development team itself Between the development

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 6 Architectural Design. Chapter 6 Architectural design Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do? Topics 1) What is trying to do? Manifesto & XP Chapter 3.1-3.3 2) How to choose plan-driven vs? 3) What practices go into (XP) development? 4) How to write tests while writing new code? CMPT 276 Dr. B.

More information

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 1 Database Systems

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 1 Database Systems Database Systems: Design, Implementation, and Management Tenth Edition Chapter 1 Database Systems Objectives In this chapter, you will learn: The difference between data and information What a database

More information

Klocwork Architecture Excavation Methodology. Nikolai Mansurov Chief Scientist & Architect

Klocwork Architecture Excavation Methodology. Nikolai Mansurov Chief Scientist & Architect Klocwork Architecture Excavation Methodology Nikolai Mansurov Chief Scientist & Architect Overview Introduction Production of software is evolutionary and involves multiple releases Evolution of existing

More information

THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT. Software Engineering 2

THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT. Software Engineering 2 General Comments THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT Software Engineering 2 The pass rate was 40% representing the lowest mark

More information

Software Engineering

Software Engineering Software Engineering chap 4. Software Reuse 1 SuJin Choi, PhD. Sogang University Email: sujinchoi@sogang.ac.kr Slides modified, based on original slides by Ian Sommerville (Software Engineering 10 th Edition)

More information

The Migration/Modernization Dilemma

The Migration/Modernization Dilemma The Migration/Modernization Dilemma By William Calcagni www.languageportability.com 866.731.9977 Approaches to Legacy Conversion For many years businesses have sought to reduce costs by moving their legacy

More information

Verification and Validation

Verification and Validation Verification and Validation Assuring that a software system meets a user's needs Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 19 Slide 1 Objectives To introduce software verification

More information

User interface design. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1

User interface design. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1 The user interface Should be designed to match: Skills, experience and expectations of its anticipated users.

More information

Training & Documentation. Different Users. Types of training. Reading: Chapter 10. User training (what the system does)

Training & Documentation. Different Users. Types of training. Reading: Chapter 10. User training (what the system does) Training & Documentation Reading: Chapter 10 Different Users Types of training User training (what the system does) Operator training (how the system works) Special training needs: new users vs. brush-up

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS QM 433 - Chapter 1 Database Fundamentals Version 10 th Ed Prepared by Dr Kamel Rouibah / Dept QM & IS www.cba.edu.kw/krouibah Dr K. Rouibah / dept QM & IS Chapter 1 (433) Database fundamentals 1 Objectives

More information

Software Quality. Richard Harris

Software Quality. Richard Harris Software Quality Richard Harris Part 1 Software Quality 143.465 Software Quality 2 Presentation Outline Defining Software Quality Improving source code quality More on reliability Software testing Software

More information

Lecture 1. Chapter 6 Architectural design

Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process

More information

Chapter 18. Software Reuse

Chapter 18. Software Reuse Chapter 18 Software Reuse Ian Sommerville Lutz Prechelt Ian Sommerville 2004, Software Engineering, 7th edition, prechelt@inf.fu-berlin.de 1 Objectives To explain the benefits of software reuse and some

More information

2. Draw and explain state transition diagram for a typical weather information system. (8M)

2. Draw and explain state transition diagram for a typical weather information system. (8M) 1. Explain, with a neat diagram, the distinct phases of Rational Unified Process (RUP). 1b. List and explain the different stages involved in the object oriented design process. 2. Draw and explain state

More information

System models Abstract descriptions of systems whose requirements are being analysed. System modelling. Structured methods

System models Abstract descriptions of systems whose requirements are being analysed. System modelling. Structured methods System models Abstract descriptions of systems whose requirements are being analysed Ian Sommerville 995/2000 (Modified by Spiros Mancoridis 999) Software Engineering, 6th edition. Chapter 7 Slide System

More information

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations

More information

Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel Chapter 8 Database Design Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel 1 In this chapter, you will learn: That successful database design must reflect the information

More information

COURSE 11 DESIGN PATTERNS

COURSE 11 DESIGN PATTERNS COURSE 11 DESIGN PATTERNS PREVIOUS COURSE J2EE Design Patterns CURRENT COURSE Refactoring Way refactoring Some refactoring examples SOFTWARE EVOLUTION Problem: You need to modify existing code extend/adapt/correct/

More information

Modern Systems Analysis and Design. Third Edition. Jeffrey A. Hoffer Joey F. George Joseph S. Valacich. Chapter 17 System Implementation

Modern Systems Analysis and Design. Third Edition. Jeffrey A. Hoffer Joey F. George Joseph S. Valacich. Chapter 17 System Implementation Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 17 System Implementation 17.1 Copyright 2002 Prentice-Hall, Inc. Learning Objectives Describe

More information

Critical Systems. Objectives. Topics covered. Critical Systems. System dependability. Importance of dependability

Critical Systems. Objectives. Topics covered. Critical Systems. System dependability. Importance of dependability Objectives Critical Systems To explain what is meant by a critical system where system failure can have severe human or economic consequence. To explain four dimensions of dependability - availability,

More information

SOFTWARE ENGINEERING. Software Specification Software Design and Implementation Software Validation. Peter Mileff PhD

SOFTWARE ENGINEERING. Software Specification Software Design and Implementation Software Validation. Peter Mileff PhD Peter Mileff PhD SOFTWARE ENGINEERING Software Specification Software Design and Implementation Software Validation University of Miskolc Department of Information Technology Software Specification...

More information

Specifying and Prototyping

Specifying and Prototyping Contents Specifying and Prototyping M. EVREN KIYMAÇ 2008639030 What is Specifying? Gathering Specifications Specifying Approach & Waterfall Model What is Prototyping? Uses of Prototypes Prototyping Process

More information

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design Database Systems: Design, Implementation, and Management Tenth Edition Chapter 9 Database Design Objectives In this chapter, you will learn: That successful database design must reflect the information

More information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM): viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information

More information

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1 Verification and Validation Slide 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V

More information

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design

More information

Chapter 6 Architectural Design

Chapter 6 Architectural Design Chapter 6 Architectural Design Chapter 6 Architectural Design Slide 1 Topics covered The WHAT and WHY of architectural design Architectural design decisions Architectural views/perspectives Architectural

More information

Objectives. Chapter 19. Verification vs. validation. Topics covered. Static and dynamic verification. The V&V process

Objectives. Chapter 19. Verification vs. validation. Topics covered. Static and dynamic verification. The V&V process Objectives Chapter 19 Verification and Validation Assuring that a software system meets a user s need are to introduce software verification and validation (V&V) and to discuss the distinction between

More information

Software Evolution: An Empirical Study of Mozilla Firefox

Software Evolution: An Empirical Study of Mozilla Firefox Software Evolution: An Empirical Study of Mozilla Firefox Anita Ganpati Dr. Arvind Kalia Dr. Hardeep Singh Computer Science Dept. Computer Science Dept. Computer Sci. & Engg. Dept. Himachal Pradesh University,

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

IT323 - Software Engineering 2 1

IT323 - Software Engineering 2 1 IT323 - Software Engineering 2 1 Explain how standards may be used to capture organizational wisdom about effective methods of software development. Suggest four types of knowledge that might be captured

More information

Virtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives,

Virtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives, Virtualization Q&A with an industry leader Virtualization is rapidly becoming a fact of life for agency executives, as the basis for data center consolidation and cloud computing and, increasingly, as

More information

Types of Software Testing: Different Testing Types with Details

Types of Software Testing: Different Testing Types with Details Types of Software Testing: Different Testing Types with Details What are the different Types of Software Testing? We, as testers are aware of the various types of Software Testing such as Functional Testing,

More information

ΗΜΥ 317 Τεχνολογία Υπολογισμού

ΗΜΥ 317 Τεχνολογία Υπολογισμού ΗΜΥ 317 Τεχνολογία Υπολογισμού Εαρινό Εξάμηνο 2008 ΙΑΛΕΞΕΙΣ 18-19: Έλεγχος και Πιστοποίηση Λειτουργίας ΧΑΡΗΣ ΘΕΟΧΑΡΙ ΗΣ Λέκτορας ΗΜΜΥ (ttheocharides@ucy.ac.cy) [Προσαρμογή από Ian Sommerville, Software

More information

Database Administration. Database Administration CSCU9Q5. The Data Dictionary. 31Q5/IT31 Database P&A November 7, Overview:

Database Administration. Database Administration CSCU9Q5. The Data Dictionary. 31Q5/IT31 Database P&A November 7, Overview: Database Administration CSCU9Q5 Slide 1 Database Administration Overview: Data Dictionary Data Administrator Database Administrator Distributed Databases Slide 2 The Data Dictionary A DBMS must provide

More information

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture Objectives Architectural Design To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. March 2017 PRINCIPLES OF USER INTERFACE DESIGN

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. March 2017 PRINCIPLES OF USER INTERFACE DESIGN BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT March 2017 PRINCIPLES OF USER INTERFACE DESIGN EXAMINERS REPORT General Comments Candidates should focus

More information

Chapter 15. User Interface Design. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 15 Slide 1

Chapter 15. User Interface Design. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 15 Slide 1 Chapter 15 User Interface Design Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 15 Slide 1 Topics covered User interface design principles User interaction Information presentation User

More information

Expert Reference Series of White Papers. 12 Virtualization Myths Debunked

Expert Reference Series of White Papers. 12 Virtualization Myths Debunked Expert Reference Series of White Papers 12 Virtualization Myths Debunked 1-800-COURSES www.globalknowledge.com 12 Virtualization Myths Debunked Paul Simoneau, Global Knowledge Course Director, Network+,

More information

Certified Tester Foundation Level Performance Testing Sample Exam Questions

Certified Tester Foundation Level Performance Testing Sample Exam Questions International Software Testing Qualifications Board Certified Tester Foundation Level Performance Testing Sample Exam Questions Version 2018 Provided by American Software Testing Qualifications Board and

More information

W.C.Uduwela. Dept. of Mathematics & Computer Science

W.C.Uduwela. Dept. of Mathematics & Computer Science Software Testing W.C.Uduwela Dept. of Mathematics & Computer Science The image cann ot be displayed. Your compu ter may not have enough memory to open the image, or the image may have been cor rup ted.

More information

Sample Exam. Advanced Test Automation - Engineer

Sample Exam. Advanced Test Automation - Engineer Sample Exam Advanced Test Automation - Engineer Questions ASTQB Created - 2018 American Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

Software Evolution and Maintenance A Practitioner s Approach

Software Evolution and Maintenance A Practitioner s Approach Software Evolution and Maintenance A Practitioner s Approach Chapter 5 Legacy Information Systems Outline of the Chapter 5.1 General Idea 5.2 Wrapping 5.3 Migration 5.4 Migration Planning 5.5 Migration

More information

DESIGN HELPED A MAJOR AND HIGHER SOFTWARE CUSTOMER SUCCESS STORY ABOUT THE CLIENT

DESIGN HELPED A MAJOR AND HIGHER SOFTWARE CUSTOMER SUCCESS STORY ABOUT THE CLIENT CUSTOMER SUCCESS STORY AUTOMATED TEST DESIGN HELPED A MAJOR INSURANCE COMPANY ACHIEVE OPTIMIZED AND HIGHER SOFTWARE QUALITY ABOUT THE CLIENT The client is a major insurance company in the United States

More information

Introduction Database Technology [DBTECO601]

Introduction Database Technology [DBTECO601] Introduction Database Technology [DBTECO601] Thomas D. Devine http://www.noucamp.org thomas.devine@lyit.ie September 8, 2008 1 Contents 1 Document Information 4 2 Introduction 4 3 Traditional File-Based

More information

Continuous Processing versus Oracle RAC: An Analyst s Review

Continuous Processing versus Oracle RAC: An Analyst s Review Continuous Processing versus Oracle RAC: An Analyst s Review EXECUTIVE SUMMARY By Dan Kusnetzky, Distinguished Analyst Most organizations have become so totally reliant on information technology solutions

More information

Criteria for selecting methods in user-centred design

Criteria for selecting methods in user-centred design Extended version of I-USED 2009 workshop paper Criteria for selecting methods in user-centred design Nigel Bevan Professional Usability Services 12 King Edwards Gardens, London W3 9RG, UK mail@nigelbevan.com

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK TWO MARKS UNIT I SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering

More information

11. Architecture of Database Systems

11. Architecture of Database Systems 11. Architecture of Database Systems 11.1 Introduction Software systems generally have an architecture, ie. possessing of a structure (form) and organisation (function). The former describes identifiable

More information

A Model of Large Software Development

A Model of Large Software Development A Model of Large Software Development L.A Belady and M.M Lehman 1976 IBM OS/360 Seminal empirical study paper in software evolution What was it like in 1976? computers were huge computers were slow no

More information

Recommended Practice for Software Requirements Specifications (IEEE)

Recommended Practice for Software Requirements Specifications (IEEE) Recommended Practice for Software Requirements Specifications (IEEE) Author: John Doe Revision: 29/Dec/11 Abstract: The content and qualities of a good software requirements specification (SRS) are described

More information

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect How to Harvest Reusable Components in Existing Software Nikolai Mansurov Chief Scientist & Architect Overview Introduction Reuse, Architecture and MDA Option Analysis for Reengineering (OAR) Architecture

More information

Achieving Rapid Data Recovery for IBM AIX Environments An Executive Overview of EchoStream for AIX

Achieving Rapid Data Recovery for IBM AIX Environments An Executive Overview of EchoStream for AIX Achieving Rapid Data Recovery for IBM AIX Environments An Executive Overview of EchoStream for AIX Introduction Planning for recovery is a requirement in businesses of all sizes. In implementing an operational

More information

2 Software life span models

2 Software life span models 2 Software life span models Stages through which software goes, from conception to death Stages may be very different Software = product stages are similar to the stages in the life span of other products

More information

Implementing ITIL v3 Service Lifecycle

Implementing ITIL v3 Service Lifecycle Implementing ITIL v3 Lifecycle WHITE PAPER introduction GSS INFOTECH IT services have become an integral means for conducting business for all sizes of businesses, private and public organizations, educational

More information

Klocwork Architecture Excavation Methodology. Nikolai Mansurov Chief Scientist & Architect

Klocwork Architecture Excavation Methodology. Nikolai Mansurov Chief Scientist & Architect Klocwork Architecture Excavation Methodology Nikolai Mansurov Chief Scientist & Architect Overview! Introduction Production of software is evolutionary and involves multiple releases Evolution of existing

More information

OBJECTIVES DEFINITIONS CHAPTER 1: THE DATABASE ENVIRONMENT AND DEVELOPMENT PROCESS. Figure 1-1a Data in context

OBJECTIVES DEFINITIONS CHAPTER 1: THE DATABASE ENVIRONMENT AND DEVELOPMENT PROCESS. Figure 1-1a Data in context OBJECTIVES CHAPTER 1: THE DATABASE ENVIRONMENT AND DEVELOPMENT PROCESS Modern Database Management 11 th Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi! Define terms! Name limitations of conventional

More information

Fundamentals of Database Systems (INSY2061)

Fundamentals of Database Systems (INSY2061) Fundamentals of Database Systems (INSY2061) 1 What the course is about? These days, organizations are considering data as one important resource like finance, human resource and time. The management of

More information

SUGGESTED SOLUTION IPCC MAY 2017EXAM. Test Code - I M J

SUGGESTED SOLUTION IPCC MAY 2017EXAM. Test Code - I M J SUGGESTED SOLUTION IPCC MAY 2017EXAM INFORMATION TECHNOLOGY Test Code - I M J 7 1 2 1 BRANCH - (MULTIPLE) (Date : 20.11.2016) Head Office : Shraddha, 3 rd Floor, Near Chinai College, Andheri (E), Mumbai

More information

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Objectives To explain the advantages and disadvantages of different distributed systems architectures

More information

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

Dr. Tom Hicks. Computer Science Department Trinity University

Dr. Tom Hicks. Computer Science Department Trinity University Dr. Tom Hicks Computer Science Department Trinity University 1 1 About Design With Reuse 2 Software Reuse Why Do We Care About Reuse? Historically: In Most Engineering Disciplines, Systems are Designed

More information

Introduction to SET08104

Introduction to SET08104 Introduction to SET08104 SET08104 Database Systems Copyright @ Napier University Introduction Before Databases: Each application suite had independent master files. Duplication of data could lead to inconsistencies

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN

More information

Simulation Model Of Functional Stability Of Business Processes

Simulation Model Of Functional Stability Of Business Processes RESEARCH ARTICLE OPEN ACCESS Simulation Model Of Functional Stability Of Business Processes Yuri Monakhov*, Olga Fayman** *,**(Department of Informatics and IT Security, Vladimir State University, Russian

More information

SMD149 - Operating Systems - File systems

SMD149 - Operating Systems - File systems SMD149 - Operating Systems - File systems Roland Parviainen November 21, 2005 1 / 59 Outline Overview Files, directories Data integrity Transaction based file systems 2 / 59 Files Overview Named collection

More information

White Paper: FSA Data Audit

White Paper: FSA Data Audit White Paper: SA Data Audit Background In most insurers the internal model will consume information from a wide range of technology platforms. he prohibitive cost of formal integration of these platforms

More information

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa SE351a: Software Project & Process Management W4.1: Requirements Engineering 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa SE351 Roadmap Introduction to Software Project Management Project Management

More information

Overcoming the Challenges of Server Virtualisation

Overcoming the Challenges of Server Virtualisation Overcoming the Challenges of Server Virtualisation Maximise the benefits by optimising power & cooling in the server room Server rooms are unknowingly missing a great portion of their benefit entitlement

More information

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems Practical Database Design Methodology and Use of UML Diagrams 406.426 Design & Analysis of Database Systems Jonghun Park jonghun@snu.ac.kr Dept. of Industrial Engineering Seoul National University chapter

More information

Requirements. Requirements. Types of Requirement. What Is a Requirement?

Requirements. Requirements. Types of Requirement. What Is a Requirement? Beatrice Åkerblom beatrice@dsv.su.se Everything else in software development depends on the requirements. If you cannot get stable requirements you cannot get a predictable plan... What Is a Requirement?!

More information

Data Management Glossary

Data Management Glossary Data Management Glossary A Access path: The route through a system by which data is found, accessed and retrieved Agile methodology: An approach to software development which takes incremental, iterative

More information

Data Curation Handbook Steps

Data Curation Handbook Steps Data Curation Handbook Steps By Lisa R. Johnston Preliminary Step 0: Establish Your Data Curation Service: Repository data curation services should be sustained through appropriate staffing and business

More information

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements Journal of Software Engineering and Applications, 2016, 9, 112-127 Published Online April 2016 in SciRes. http://www.scirp.org/journal/jsea http://dx.doi.org/10.4236/jsea.2016.94010 The Analysis and Proposed

More information

Architectural Styles. Reid Holmes

Architectural Styles. Reid Holmes Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles Reid Holmes Lecture 5 - Tuesday,

More information

NHS Fife. 2015/16 Audit Computer Service Review Follow Up

NHS Fife. 2015/16 Audit Computer Service Review Follow Up NHS Fife 2015/16 Audit Computer Service Review Follow Up Prepared for NHS Fife April 2016 Audit Scotland is a statutory body set up in April 2000 under the Public Finance and Accountability (Scotland)

More information

OpenVMS migration to i4 and beyond

OpenVMS migration to i4 and beyond OpenVMS migration to i4 and beyond OpenVMS Bootcamp 2015 Migrating OpenVMS systems to Integrity -i4 servers and beyond Colin Butcher CEng FBCS CITP Technical director, XDelta Limited www.xdelta.co.uk Agenda

More information