Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering with Reusable Components

Similar presentations


Presentation on theme: "Software Engineering with Reusable Components"— Presentation transcript:

1 Software Engineering with Reusable Components
RiSE’s Seminars Sametinger’s book :: Chapters 19, 20 and 21 Ana Paula Cavalcanti November 29, 2018

2 Summary Reuse Measurement in Literate Programs (Chapter 19)
Motivation Line and Word Runs Case Study Documentation Reuse (Chapter 20) Source Code Inheritance Documentation Inheritance Conclusion (Chapter 21) A Paradigm Shift Limits of Component Reuse Prospects November 29, 2018

3 Reuse Measurement in Literate Programs
November 29, 2018

4 Provide and example of reuse measurement
Reuse Measurement in Literate Programs :: Chapter 19 Motivation To focus is to determine the amount of ad-hoc reuse in literate programs (description of problems and solutions) Provide and example of reuse measurement Demonstrate the need fort systematic reuse of documentation November 29, 2018

5 Reuse (l,len) = Identical (l.len) x 100
Reuse Measurement in Literate Programs :: Chapter 19 Line and Word Runs Similarities and differences of texts have to be determined Comparison of lines and words Reuse (l,len) = Identical (l.len) x 100 Total (l) L = line Len = Length high line reuse  Good indication of reuse low line reuse, high word reuse  much reuse has taken place, modification low reuse low, low word reuse  not much reuse November 29, 2018

6 Case Study Reuse Measurement in Literate Programs :: Chapter 19
TEX :: converts plain text file containing document markup into a device independent graphics metafile MetaFont :: reads a source file (metadescription) and does graphics interpretations MetaPost :: file layouts as input and book quality figures as output Systems Lines Words TEX 21,541 122,137 MetaFont 20,481 109,307 MetaPost 20,460 104,375 Systems Portion R(l) R(w) TEX  MetaFont 100% 34.4% 14.3% 42.8% 21.5% 60.7% MetaFont  MetaPost 80.8% 63.4% 78.5% 67.0% 85.1% November 29, 2018

7 Case Study  consequences
Reuse Measurement in Literate Programs :: Chapter 19 Case Study  consequences Reuse measurement based on line and word runs can be used for many different purposes Evaluation of white-box reuse Finding (legal/illegal) reuse in technical/scientific papers, determining the amount of modifications from one version of software to another Finding potential locations for redesign Finding the amount of “reuse” in programs handed in by students for programming courses November 29, 2018

8 Documentation Reuse November 29, 2018

9 Documentation Reuse :: Chapter 20
Motivation Adequate documentation is mandatory for software maintenance as well as for economic reuse of software components. Overlapping information is typical both for source code and for documentation. Therefore, the inheritance mechanism should be applied to the documentation as well. November 29, 2018

10 Source Code Inheritance
Documentation Reuse :: Chapter 20 Source Code Inheritance A class may inherit structure and behavior of another class and additionally extend and modify it. Methods Classes Rectangle Shape Draw Outline Move Rotate November 29, 2018

11 Documentation Inheritance
Documentation Reuse :: Chapter 20 Documentation Inheritance Inherits the content of its base documentation Chapters {Classes} Sections {Methods} Abstract Classes Predefined structure for a certain group of elements guarantees uniform and consistent appearance Information should not be spread over several files and/or directories {Inclusion and References} November 29, 2018

12 Documentation Inheritance
Documentation Reuse :: Chapter 20 Documentation Inheritance Information filtering is important for efficient access Categories definition Various views To meet different documentation needs of various readers Documentation Hierarchies “The goal is to have software systems built from reusable components and to have their documentation built upon theses components’ documentation.” November 29, 2018

13 Conclusion November 29, 2018

14 Conclusion :: Chapter 20 A Paradigm Shift
“There is still a long way to go until systematic reuse of software components, especially beyond company boundaries. It requires more research in various areas as well as commitment from companies to systematic reuse.” “… unexpected discoveries may prove inconsistent with the prevailing paradigm. This may trigger a scientific revolution.” Involve the development of new ideas, concepts, methods and problems… Provides a way of doing software engineering better and more efficiently. November 29, 2018

15 Software reuse and software components contribute to a paradigm shift in Software Engineering?
November 29, 2018

16 A Paradigm Shift  Software Components
Conclusion :: Chapter 20 A Paradigm Shift  Software Components Components :: arbitrary reusable entities including macros and functions. Component-based systems as a system that has components as primitive description units and communication between components as computation units. November 29, 2018

17 A Paradigm Shift  Software reuse
Conclusion :: Chapter 20 A Paradigm Shift  Software reuse Many new activities for software engineering are introduced through software reuse Domain analyses Development for/with reuse, reuse measurement Reuse certification Reuse classification Repository compilation Discipline concerned with construction related systems that share many commonalties and very in regular and identifiable ways November 29, 2018

18 Limits of Component Reuse
Conclusion :: Chapter 20 Limits of Component Reuse The most challenging aspect is component integration Coordination Communication Interoperation Can we raise abstraction levels of components and at the same time achieve high-performance systems by using these components? November 29, 2018

19 Different way to build software systems
Conclusion :: Chapter 20 Prospects Different way to build software systems More productivity The goal:: to evolve software The landscape of software systems will constantly change from closed monolithic to open systems of reusable components. November 29, 2018

20 References SAMETINGER, J. Software Engineering with Reusable Components. Springer-Verlag, 1997. November 29, 2018


Download ppt "Software Engineering with Reusable Components"

Similar presentations


Ads by Google