Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Reuse Course: # 605.703. The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 1 - September 7, 2004.

Similar presentations


Presentation on theme: "Software Reuse Course: # 605.703. The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 1 - September 7, 2004."— Presentation transcript:

1 Software Reuse Course: # 605.703. The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 1 - September 7, 2004

2 Contact Information Thomas Pole 571 226 1790 (day) Prof@HisDomain.net http://www.ComputerTrainingGuild.org/JHU /SoftwareReuse_Fall04

3 Class Requirements (1 of 3) Text: “Software Reuse”, by Jacobson, Griss and Jonsson, ISBN 0-20-192476-5 Development Platform: PC running a 32 bit Windows platform, Win98, NT 4.0 or Win 2000 An IDE (Integrated Development Environment) capable of supporting –Component development (e.g. COM, JavaBeans, CORBA,.NET assemblies) –C++, Java or Visual Basic development –Visual Studio 6.0 or.NET strongly suggested (if you want debugging help from me)

4 Class Requirements (2 of 3) You will need to understand before you complete this course: –Traditional Software Development Life Cycle process. –System Requirements analysis –System design –Component Development –Component Integration –Domain definition –Domain analysis –Component Based Software Engineering

5 Class Requirements (3 of 3) You will need to be able to do before you complete this course –Generic Application Design –Component Design –Component Implementation Language of your choice from options listed earlier. –Component Integration –Requirements and/or design traceability. –Discuss and write about (in clear concise English) the issues and methods in Reuse

6 Software Reuse: Definition Precise definitions have not only evolved, they have propagated. The more definitions you have, the less meaning in the term ‘Reuse’. Good definitions exist for: Reusable Asset, Leveraged Reuse, Systematic Reuse Bad definitions exist for: ‘Software Reuse’ itself –Contradictory, inexact, some published definitions are almost useless. We will define these terms in this course, for this course. –Other texts, classes, and organizations will define them somewhat differently, but in this class we’ll have specific definitions we can use.

7 Software Reuse Definition Software Reuse is a method of increasing the efficiency of developing new software, by reusing existing software assets on a new project, that were created outside of and usually prior to that new project. –More details later. A software asset is any work product created in the normal software development life cycle. (SDLC)

8 Major Trends in Reuse As we cover the rest of tonight’s letter, think about where you and your company fit in. SW represents knowledge management of –SW implementation knowledge –Problem solving knowledge –Business and Engineering Domain knowledge. Therefore, reuse of SW requires knowledge management skills.

9 Defining Knowledge Management Managing what an organization, its staff, its customers, and its user base know about: –The business domain that organization participated in. –The products that organization creates. –The engineering domains the organization employs to perform its tasks and reach its goals. –The organization itself.

10 More Definitions Reuse - When any product (or by product) of a software development effort which occurred before, or independently of a second separate development effort, is also used in that second development effort. Reuse potential - Is the commonality stable enough and the predictable variability great enough to support the expense of a reuse driven process.

11 Still More Definitions Software Module - source and object code reuse. DIAE Component (or simply Component) – Dynamically Integrable. Autonomously Executable software module. Framework or Architecture Based Reuse – A generic architectural captures the commonality, swappable individual components represent the variability of a framework for building applications from a software framework.

12 State of: Modules and Components Modules: Java applets, classes, Java Beans etc. C++ libraries, language or application specific libraries. Components: COM component, CORBA components, Web Services.

13 State of: Reuse Tools A marketplace sadly in great disarray. Oversold by the marketers, similar to the Artificial Intelligence Winter syndrome of the mid 1990’s. Desperately needed if we are to progress in reuse process maturity. NOT A SOLVED PROBLEM. E.g. component collections, library/archive mechanisms, process support tools, training.

14 State of: Reuse Training Fallen on bad times. Replaced with some success by technology specific training: –VB/COM/COM+ training –CORBA training –framework SDK training Reuse process and systematic reuse training almost non-existent.

15 Reuse Potential Self Exam To ask yourself: What is my potential to reuse software ? What is my potential to enable reuse ? What is my org’s potential to reuse? What is my org’s potential for systematic reuse ? What is my org’s potential to enable reuse in other organizations ?

16 Reading Assignments See Chapters listed in Schedule - read these chapters PRIOR to the lectures. No assignment this week other than too get your work station/PC set up with a recommended Integrated Development Environment (IDE) Questions ? See you next week.


Download ppt "Software Reuse Course: # 605.703. The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 1 - September 7, 2004."

Similar presentations


Ads by Google