1 / 16

Presented by Michael James Anderson North Central College Naperville, Illinois March 12, 2001

An Examination of the Borland C++ Builder Framework: Illustrating How Frameworks and Patterns Improve Software Development. Presented by Michael James Anderson North Central College Naperville, Illinois March 12, 2001. What ? Improve Software Development Why?

kyne
Download Presentation

Presented by Michael James Anderson North Central College Naperville, Illinois March 12, 2001

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Examination of the Borland C++ Builder Framework: Illustrating How Frameworks and Patterns Improve Software Development Presented by Michael James Anderson North Central College Naperville, Illinois March 12, 2001

  2. What ? Improve Software Development Why? • On average, large projects take 50% longer than planned • 75% of large projects planned are operational failures • 25% of large projects are cancelled -W. Gibbs, Software’s Chronic Crises Scientific American, Sept. 1994

  3. Software Quality Will Improve! This Project’s Methodology 1. Create software that will increase QOL 2. Use a software tool to expedite step 1 3. Expand the concept

  4. Software Frameworks Framework: A collection of Classes. The Classes represent Objects that have been created to be reused and/or combined to build a computer system.

  5. Benefits of Frameworks • Code Reuse • Rapid Application Development • Amortize Development Costs • Object Oriented Design (OOD) • Shorten OOD Learning Curve

  6. Pitfalls of Frameworks • Increased Overhead • Coding Outside the Framework • GUI Design is Difficult • Prototypes are NOT Production Systems • Framework must be Bullet Proof

  7. Frameworks = Reusable Objects Patterns = Reusable Design

  8. Simple Definition Pattern: A solution to a design problem that is not obvious and that has been corroborated by experts in the field.

  9. Software Pattern History • 1968 NATO Software Engineering Conference • Notes on the Synthesis of Form, C. Alexander • 1977 A Pattern Language, C. Alexander • 1992 Advanced C++ Programming Styles and Idioms, J. Coplien • 1995 Design Patterns: Elements of Reusable Object-OrientedSoftware, E. Gamma, R. Helm, R. Johnson, and J.Vlissides

  10. Pattern Flavors • Low-Level - Idioms • High-Level - Design Patterns, Organizational • Anti-Patterns

  11. High-Level Design Pattern Name: Minimize Human Intervention Author: James Coplien, (1996) Software Patterns, New York: SIGS Books and Multimedia Problem: History has shown that people cause the majority of problems in continuously running systems (wrong actions, wrong systems, wrong buttons). Context: High-reliability continuous-running digital system where downtime, human-induced or otherwise must be minimized.

  12. Forces:Humans are truly intelligent; machines aren’t. Humans are better at detecting patterns of system behavior, especially among seemingly random occurrences separated by time (People Know Best). Humans feel a need to intervene, if they can’t see that the system is making serious attempts at restoration. Human reaction and decision times are very slow (by orders of magnitude) compared to computer processors. Human operators get bored with ongoing surveillance and may ignore or miss critical events. Normal processing or failure events are happening so quickly that inclusion of the human operator is infeasible.

  13. State of Pattern Research Gang of Four Hillside Group PLoP Chili, Euro, Koala http://hillside.net/patterns/

  14. Patterns do not createexperts

  15. Conclusion Frameworks before choosing carefully consider Time to Deliver vs Maintenance Costs Patterns Reduce Discovery Costs Improve Communication Quality $ =

More Related