ch14 - Ian Sommerville 2000 Software Engineering, 6th...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Design with Reuse l Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 2 Objectives l To explain the benefits of software reuse and some reuse problems l To describe different types of reusable component and processes for reuse l To introduce application families as a route to reuse l To describe design patterns as high-level abstractions that promote reuse Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 3 Topics covered l Component-based development l Application families l Design patterns Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 4 Software reuse l In most engineering disciplines, systems are designed by composing existing components that have been used in other systems l Software engineering has been more focused on original development but it is now recognised that to achieve better software, more quickly and at lower cost, we need to adopt a design process that is based on systematic reuse Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 5 Reuse-based software engineering l Application system reuse The whole of an application system may be reused either by incorporating it without change into other systems (COTS reuse) or by developing application families l Component reuse Components of an application from sub-systems to single objects may be reused l Function reuse Software components that implement a single well-defined function may be reused Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 6 Reuse practice l Application system reuse Widely practised as software systems are implemented as application families. COTS reuse is becoming increasingly common l Component reuse Now seen as the key to effective and widespread reuse through component-based software engineering. However, it is still relatively immature l Function reuse Common in some application domains (e.g. engineering) where domain-specific libraries of reusable functions have been established Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 7 Benefits of reuse l Increased reliability Components exercised in working systems l Reduced process risk Less uncertainty in development costs l Effective use of spets Reuse components instead of people l Standards compliance Embed standards in reusable components l Accelerated development Avoid original development and hence speed-up production Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 8 Requirements for design with reuse l It must be possible to find appropriate reusable components l The reuser of the component must be confident that the components will be reliable and will behave as specified l The components must be documented so that they can be understood and, where appropriate, modified Ian Sommerville 2000...
View Full Document

Page1 / 49

ch14 - Ian Sommerville 2000 Software Engineering, 6th...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online