1 / 11

GE 393 Software Design

GE 393 Software Design. Design Patterns: Elements of Reusable Object Oriented Software By Gamma, Helm, Johnson and Vlissides. The practice of Programming , By Brian W. Kernighan. Software Creativity, By Robert L. Glass. Serious Creativity By

Download Presentation

GE 393 Software Design

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. GE 393Software Design Design Patterns: Elements of Reusable Object Oriented Software By Gamma, Helm, Johnson and Vlissides The practice of Programming , By Brian W. Kernighan Software Creativity, By Robert L. Glass Serious Creativity By Edward de Bono Presented By Agnita Pandian

  2. What is Software Design?? • The hardest part in software generation • It’s a problem-solving activity • the world of technology and the world of human purposes---bring the two together

  3. Cont… • “Beauty is in the eye of the beholder” • Software design means different things to different people • Is performance important? Is it ease of maintenance? ease of use? security? Modularity?

  4. Creativity generates truly great software • Human Imagination is the only limit e.g. Lotus • Good software comes when you take time to explore the design space of possibilities e.g. Windows • So they say, Generating Software is one of the most creative activity by humans e.g. Compilers

  5. Software Engineering model • Reduces our ability to be creative • Methodologies entails repeatable results • Reuse of the software • Ship dates • Simple Example:

  6. Why do you need Creativity?? • As Edward de Bono argues, "...unless your job involved creativity, you are (eventually) replaceable by a computer." • The right design style for the right product gives structure for future • Innovation • Ease our lifestyles • e.g. Put together different modules to make a PC

  7. The real concern is……. • To design modules that cut development time • To design software that runs more efficiently using minimum resources • Ultimately, you want to reduce costs…

  8. Object Oriented Software • Smarter coding • Objects • Class • Inheritance • Polymorphism • Overloading • Encapsulation

  9. Creativity • Sorting • Hash Tables • Data Structures • Internet • Interfacing w/Hardware • Testing

  10. Learn to be creative • Specify completely the user's whole experience • Balance your goals and constraints • Know the programming language well

  11. References • Robert L. Glass, Software Creativity; Prentice Hall 1995 • Serious Creativity by Edward de Bono • Programming Pearls by Jon Bentley • Bringing Design to Software Edited by Terry Winograd

More Related