Lecture Object-oriented software engineering: Chapter 3 - Timothy Lethbridge, Robert Laganiere

Chapter 3 - Basing software development on reusable technology. In this chapter you will learn about the following: Frameworks, reusable software subsystems that implement important facilities which many applications can use; the client–server architecture, an important way of designing programs in which the software is divided into two main parts: a client program which runs on each user’s computer, and a server program with which each user’s client communicates in order to obtain services; a client–server framework written in Java. | Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 3: Basing Software Development on Reusable Technology Building on the Experience of Others Software engineers should avoid re-developing software already developed Types of reuse: Reuse of expertise Reuse of standard designs and algorithms Reuse of libraries of classes or procedures Reuse of powerful commands built into languages and operating systems Reuse of frameworks Reuse of complete applications © Lethbridge/Laganière 2001 Reusability and Reuse in SE Reuse and design for reusability should be part of the culture of software development organizations But there are problems to overcome: Why take the extra time needed to develop something that will benefit other projects/customers? Management may only reward the efforts of people who create the visible ‘final products’. Reusable software are often created in a hurry and without enough attention to quality. © . | Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 3: Basing Software Development on Reusable Technology Building on the Experience of Others Software engineers should avoid re-developing software already developed Types of reuse: Reuse of expertise Reuse of standard designs and algorithms Reuse of libraries of classes or procedures Reuse of powerful commands built into languages and operating systems Reuse of frameworks Reuse of complete applications © Lethbridge/Laganière 2001 Reusability and Reuse in SE Reuse and design for reusability should be part of the culture of software development organizations But there are problems to overcome: Why take the extra time needed to develop something that will benefit other projects/customers? Management may only reward the efforts of people who create the visible ‘final products’. Reusable software are often created in a hurry and without enough attention to quality. © Lethbridge/Laganière 2001 A vicious cycle Developers tend not develop high quality reusable components, so there is often little to reuse To solve the problem, recognize that: This vicious cycle costs money Investment in reusable code is important Attention to quality of reusable components is essential So that potential reusers have confidence in them The quality of a software product is only as good as its lowest-quality reusable component Developing reusable components can often simplify design © Lethbridge/Laganière 2001 Frameworks: Reusable Subsystems A framework is reusable software that implements a generic solution to a generalized problem. It provides common facilities applicable to different application programs. Principle: Applications that do different, but related, things tend to have quite similar designs © Lethbridge/Laganière 2001 Frameworks to promote reuse A framework is intrinsically incomplete Certain classes or methods are used by the framework, but are missing .

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
2    776    2    04-05-2024
12    85    2    04-05-2024
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.