Ebook Software engineering: Part 2
➤ Gửi thông báo lỗi ⚠️ Báo cáo tài liệu vi phạmNội dung chi tiết: Ebook Software engineering: Part 2
Ebook Software engineering: Part 2
18Software reuseObjectivesThe objectives of this chapter are to introduce software reuse and to explain how reuse contributes to the software developm Ebook Software engineering: Part 2ment process. When you have read this chapter, you will:■understand the benefits and problems of reusing software when developing new systems;■have learned several ways to implement software reuse;■understand concept reuse and how reusable concepts can be represented as patterns or embedded in progr Ebook Software engineering: Part 2am generators;■have learned how systems can be developed quickly by composing large, off-the-shelf applications;■have been introduced to software prodEbook Software engineering: Part 2
uct lines that are made up of a common core architecture and configurable, reusable components.Contents18.1The reuse landscape18.2Design patterns18.3G18Software reuseObjectivesThe objectives of this chapter are to introduce software reuse and to explain how reuse contributes to the software developm Ebook Software engineering: Part 2lines is bused on reuse of existing systems or components. Mechanical or electrical engineers do not normally specify a design where every component has Io be manufactured specially. They base their design on components that have been tried and tested in other systems. These are not just small compo Ebook Software engineering: Part 2nents such as flanges and valves but include major subsystems such as engines, condensers or turbines.Reuse-based software engineering is a comparableEbook Software engineering: Part 2
software engineering strategy where the development process is geared to reusing existing software. Although the benefits of reuse have been recognis18Software reuseObjectivesThe objectives of this chapter are to introduce software reuse and to explain how reuse contributes to the software developm Ebook Software engineering: Part 2e-based development. The move to reuse-based development has been in response to demands for lower software production and maintenance costs, faster delivery' of systems and increased software quality. More and more companies see their software as a valuable asset and are promoting reuse to increase Ebook Software engineering: Part 2 their return on software investments.Reuse-based software engineering is an approach to development that tries to maximise the reuse of existing softEbook Software engineering: Part 2
ware. The software units that are reused may be of radically different sizes, for example:1Application system reuse The whole of an application system18Software reuseObjectivesThe objectives of this chapter are to introduce software reuse and to explain how reuse contributes to the software developm Ebook Software engineering: Part 2ion families that have a common architecture but arc tailored for specific customers. I cover application system reuse in Section 18.5.2Component reuse Components of an application ranging in size from sub-systems to single objects may be reused, for example, a pattern-matching system developed as p Ebook Software engineering: Part 2an of a text-processing system may be reused in a database management system. This is covered in (Chapter 19.3Object and function reuse Software compoEbook Software engineering: Part 2
nents that implement a single function. such as a mathematical function or an object class, may be reused. This form of reuse, based around standard l18Software reuseObjectivesThe objectives of this chapter are to introduce software reuse and to explain how reuse contributes to the software developm Ebook Software engineering: Part 2rc available. These can be easily used by linking them with other application code. In areas such as mathematical algorithms and graphics, where specific expertise is needed to develop objects and functions, this is a particularly effective approach.Software systems and components are specific reusa Ebook Software engineering: Part 2ble entities, but their specific nature sometimes means that it is expensive to modify' them for a new situation. A complementary form of reuse is conEbook Software engineering: Part 2
cept reuse where, rather than reuse a component, the reused entity is more abstract and is designed to be configured and adapted for a range of situat18Software reuseObjectivesThe objectives of this chapter are to introduce software reuse and to explain how reuse contributes to the software developm Ebook Software engineering: Part 2n concepts are reused, includes an instantiation activity where the abstract concepts areChapter 18 ■» juuwaic Ituse •♦*/Figure 18.1 Benefits of software reuseBenefitExplanationIIIncreased dependabilityReused software, which has been tried and tested in working systems, should be more dependable tha Ebook Software engineering: Part 2n new software because its design and implementation faults have already been found and fixed.Reduced process riskThe cost of existing software is alrEbook Software engineering: Part 2
eady known, while the costs of development are always a matter of judgement. This is an important factor for project management because it reduces the18Software reuseObjectivesThe objectives of this chapter are to introduce software reuse and to explain how reuse contributes to the software developm Ebook Software engineering: Part 2ve use of specialistsInstead doing the same work over and over, these application specialists can develop reusable software that encapsulates their knowledge.Standards complianceSome standards, such as user interface standards, can be implemented as a set of standard reusable components. For example Ebook Software engineering: Part 2, if menus in a user interface are implemented using reusable components, all applications present the same menu formats to users. The use of standardEbook Software engineering: Part 2
user interfaces improves dependability because users arc less likely to make mistakes when presented with a familiar interface.Accelerated developmen18Software reuseObjectivesThe objectives of this chapter are to introduce software reuse and to explain how reuse contributes to the software developm Ebook Software engineering: Part 2ion because both development and validation time should be reduced.configured for a specific situation. I cover two of these approaches to concept reuse— design patterns and program generation later in this chapter.An obvious advantage of software reuse is that overall development costs should be re Ebook Software engineering: Part 2duced. Fewer software components need be specified, designed, implemented and validated. However, cost reduction is only one advantage of reuse. In FiEbook Software engineering: Part 2
gure 18.1. 1 have listed other advantages of reusing software assets.However, there are also costs and problems associated with reuse (Figure 18.2). I18Software reuseObjectivesThe objectives of this chapter are to introduce software reuse and to explain how reuse contributes to the software developm Ebook Software engineering: Part 2ting that component to ensure its dependability. These additional costs may inhibit the introduction of reuse and may mean that the reductions in overall development cost through reuse may be less than anticipated.Systematic reuse does not just happen—it must be planned and introduced through an org Ebook Software engineering: Part 2anisation-wide reuse programme. This has been recognised for many years in Japan (Matsumoto. 1984). where reuse is an integral part of the Japanese18Software reuseObjectivesThe objectives of this chapter are to introduce software reuse and to explain how reuse contributes to the software developm18Software reuseObjectivesThe objectives of this chapter are to introduce software reuse and to explain how reuse contributes to the software developmGọi ngay
Chat zalo
Facebook