《面向对象软件工程》课程PPT教学课件(英文版)Chapter 3:Basing Software Development on Reusable Technology

object-Oriented Software Engineering Practical Software development using uml and Java Chapter 3 Basing software development on Reusable Technology www.oseng.com
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 3: Basing Software Development on Reusable Technology

3.1 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 www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 2 3.1 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

3.2 Reusability and Reuse in SE R euse an nd 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 www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 3 3.2 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

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 de lesign www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable 4
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 4 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

3.3 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 www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 5 3.3 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

Frameworks to promote reuse A framework is intrinsically incomplete Certain classes or methods are used by the framework but are missing(slots) Some functionality is optional Allowance is made for developer to provide it (hooks) Developers use the services that the framework provides Taken together the services are called the Application Program Interface(APD) www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable 6
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 6 Frameworks to promote reuse A framework is intrinsically incomplete • Certain classes or methods are used by the framework, but are missing (slots) • Some functionality is optional — Allowance is made for developer to provide it (hooks) • Developers use the services that the framework provides —Taken together the services are called the Application Program Interface (API)

Object-oriented frameworks In the object oriented paradigm, a framework is composed of a library of classes The API is defined by the set of all public methods of these classes Some of the classes will normally be abstract www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 7 Object-oriented frameworks In the object oriented paradigm, a framework is composed of a library of classes. • The API is defined by the set of all public methods of these classes. • Some of the classes will normally be abstract

Examples of frameworks a framework for payroll management a framework for frequent buyer clubs a framework for university registration a framework for e-commerce web sites A framework for controlling microwave ovens www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable 8
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 8 Examples of frameworks • A framework for payroll management • A framework for frequent buyer clubs • A framework for university registration • A framework for e-commerce web sites • A framework for controlling microwave ovens

Types of frameworks a horizontal framework provides general application facilities that a large number of applications can use .A vertical framework(application framework is more complete but still needs some slots to be filled to adapt it to specifIc application needs Application Services offere Application by the framework Horizontal framew ork Vertical framew ork Code to be provided to adapt the framew ork to the needs of the application www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 9 Types of frameworks •A horizontal framework provides general application facilities that a large number of applications can use •A vertical framework (application framework) is more ‘complete’ but still needs some slots to be filled to adapt it to specific application needs Application Application Horizontal framew ork Vertical framew ork Code to be provided to adapt the framew ork to the needs of the application Services offered by the framew ork

3.4 The client-Server Architecture a distributed system is a system in which: computations are performed by separate programs normally running on separate pieces of hardware that co-operate to perform the task of the system server a program that provides a service for other programs that connect to it using a communication channe Client a program that accesses a server (or several servers )to obtain services a server may be accessed by many clients simultaneously www.oseng.com O Lethbridge/Laganiere 2001 Chap 3: Basing Development on Reusable
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 10 3.4 The Client-Server Architecture A distributed system is a system in which: • computations are performed by separate programs • … normally running on separate pieces of hardware • … that co-operate to perform the task of the system. Server: • A program that provides a service for other programs that connect to it using a communication channel Client • A program that accesses a server (or several servers) to obtain services • A server may be accessed by many clients simultaneously
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《面向对象软件工程》课程PPT教学课件(英文版)Chapter 2:Review of Object Orientation.ppt
- 《面向对象软件工程》课程PPT教学课件(英文版)Chapter 1:Software and Software Engineering.ppt
- 《面向对象软件工程》课程PPT教学课件(英文版)Chapter 7:Focusing on Users and Their Tasks.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)总目录.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)导论(主讲:武长柱).ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)复习.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp14电子商务发展中的法律法规.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp9 电子商务开发技术.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp8 电子政务.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp7 物流与供应链管理.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp6 客户关系管理.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp5 网络银行与支付.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp4 网络营销与管理.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp3 电子商业与贸易.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp2 电子商务机理与模式.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp15 电子商务发展状况.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp12 电子商务网站建设.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp11 电子商务系统设计.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp10 电子商务安全技术.ppt
- 徐州工程学院:《电子商务概论》课程教学资源(PPT课件讲稿)chp1 电子商务概述.ppt
- 《面向对象软件工程》课程PPT教学课件(英文版)Chapter 4:Developing Requirements.ppt
- 《面向对象软件工程》课程PPT教学课件(英文版)Chapter 5:Modelling with Classes.ppt
- 《面向对象软件工程》课程PPT教学课件(英文版)Chapter 6:Using Design Patterns.ppt
- 《面向对象软件工程》课程PPT教学课件(英文版)Chapter 1. Software and Software Engineering.pdf
- 《面向对象软件工程》课程PPT教学课件(英文版)Chapter 8:Modelling Interactions and Behaviour.ppt
- 《面向对象软件工程》课程PPT教学课件(英文版)Chapter 9:Architecting and Designing Softwarech09.ppt
- 《面向对象软件工程》课程PPT教学课件(英文版)Chapter 10:Testing and Inspecting to Ensure High Quality.ppt
- 《面向对象软件工程》课程PPT教学课件(英文版)Chapter 11:Managing the Software Process.ppt
- 《PPT应用与计算机安全》讲义.ppt
- 《新标准中文版Photoshop7基础培训教程》教学资源(PPT课件讲稿)第10章 滤镜(上).ppt
- 《新标准中文版Photoshop7基础培训教程》教学资源(PPT课件讲稿)第11章 滤镜(下).ppt
- 《新标准中文版Photoshop7基础培训教程》教学资源(PPT课件讲稿)第1章 初识Photoshop 7.ppt
- 《新标准中文版Photoshop7基础培训教程》教学资源(PPT课件讲稿)第2章 基础工具.ppt
- 《新标准中文版Photoshop7基础培训教程》教学资源(PPT课件讲稿)第3章 绘图工具.ppt
- 《新标准中文版Photoshop7基础培训教程》教学资源(PPT课件讲稿)第4章 油漆桶和渐变工具.ppt
- 《新标准中文版Photoshop7基础培训教程》教学资源(PPT课件讲稿)第5章 路径及形状处理工具.ppt
- 《新标准中文版Photoshop7基础培训教程》教学资源(PPT课件讲稿)第6章 文字工具.ppt
- 《新标准中文版Photoshop7基础培训教程》教学资源(PPT课件讲稿)第7章 其他工具.ppt
- 《新标准中文版Photoshop7基础培训教程》教学资源(PPT课件讲稿)第8章 图层与蒙版第8章.ppt
- 《新标准中文版Photoshop7基础培训教程》教学资源(PPT课件讲稿)第9章 通道的应用.ppt