1
- Dr. Tom Hicks
Computer Science Department Trinity University
1
Dr. Tom Hicks Computer Science Department Trinity University 1 1 - - PowerPoint PPT Presentation
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 by Composing Existing
1
Computer Science Department Trinity University
1
2
3
Software Reuse
4
Reuse-Based Software Engineering Offers 3 Reuse Options - 1
5
Reuse-Based Software Engineering Offers 3 Reuse Options - 2
Function Reuse Software components that implement a single well-defined function may be reused
6
7
5 Major Benefits Of Reuse - 1
Increased Reliability
8
5 Major Benefits Of Reuse - 2
Reduced Process Risk
9
5 Major Benefits Of Reuse - 3
Effective Use of Components
10
5 Major Benefits Of Reuse - 4
Standards Compliance
11
5 Major Benefits Of Reuse - 5
Accelerated Development
production
12
13
14
15
16
17
18
5 Common Reuse Problems - 1
19
5 Common Reuse Problems - 2
20
5 Common Reuse Problems - 3
21
5 Common Reuse Problems - 4
22
5 Common Reuse Problems - 5
23
24
Generator-Based Reuse - 1
25
Generator-Based Reuse - 2
26
27
Reuse Through Program Generation
Program generator Generated program Application description Application domain knowledge Database
28
29
About Components - 1
30
About Components - 2
31
32
CBSE
the exception!]
33
CBSE Components More Abstract
34
CBSE Processes
Component-Based Software Engineering
35
CBSE Prototyping
36
37
3 Most Common CBSE Problems - 1
38
39
40
41
About Application Frameworks
42
3 Framework Classes
Standards and classes that support component communication and information exchange such as MS SQL Server, MySQL, Oracle, FoxPro, etc.
43
Extending Frameworks
44
45
COTS Product Reuse
46
Integrating COTS
47
48
49
4 Problems With COTS System Integration - 1
4 Problems With COTS System Integration - 1
assumptions that means interface may be difficult
50
4 Problems With COTS System Integration - 3
51
4 Problems With COTS System Integration - 1
52
53
Component Development For Reuse #1
54
Component Development For Reuse #2
55
Reusable Components Development Costs
56
Space & Execution
57
58
Reusability Enhancement #1
4 Generalizations
59
Reusability Enhancement #2
4 Generalizations
60
Reusability Enhancement #3
4 Generalizations
61
Reusability Enhancement #3
4 Generalizations
62
63
Application Families – Product Line
64
3 Application Family Specializations
65
Application Families Suppose You Are Developer!
66
A Resource Management System
Resource database Resource desc. Screen spec. Report spec. Add Delete Query Browse Admin Report User access Program access
You might start out with this ultra simplistic description of functionality! 67
Inventory Management Systems
Maintains details of the things that are being managed
Describes the structures in the resource database and input and output formats that are used
Provides functions implementing queries over the resources
A user interface and an application programming interface
68
Application Family Architectures
69
Application Families Suppose You Are Developer!
70
A Library System
Library holdings database Resource desc. Screen spec. Report spec. Add Delete Query Browse Admin Report Library user access Issue Return Users
You might start out with this ultra simplistic description of functionality! 71
Library System
72
Can You See The Potential Component Reuse?
Resource database Resource desc. Screen spec. Report spec. Add Delete Query Browse Admin Report User access Program access
Library holdings database Resource desc. Screen spec. Report spec. Add Delete Query Browse Admin Report Library user access Issue Return Users
A Library System Resource Management System
73
Textbook: Software Engineering By Roger Pressman Textbook: Software Engineering By Ian Sommerville Special Thanks To WCB/McGraw-Hill & Addison Wesley For Providing Graphics Of Some Of Text Book Figures For Use In This Presentation.
74