1 / 21

Ch 4:- Architecting & Designing Software

Learn about the importance of software reuse, different types of reuse, pros and cons, introduction to frameworks, components of frameworks, types of frameworks, and an introduction to design patterns.

bhunter
Télécharger la présentation

Ch 4:- Architecting & Designing Software

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. Ch 4:-Architecting & Designing Software Subtopics: Frameworks :Reusable systems Design Patterns

  2. Frameworks: reusable systems What are re-use able systems? • Reuse: Reuse can be defined as adapting to an existing system. • It facilitates software development. • Frameworks are a software technology, that promotes reuse.

  3. What is Software Reuse? • It is the process of implementing or updating software systems using existing software assets. • Software assets, include all software products, from requirements to specifications & designs. • Anything that is produced from a software development effort can be reused.

  4. Why Reuse Software? • Reusable means developing software that is understandable & flexible enough to be used in a variety of systems. • It avoids redeveloping software. • Facilitates the increase of productivity, quality, and reliability, and the decrease of costs and implementation time.

  5. Types Of Reuse Expertise Complete Applications Frameworks StandardDesigns Classes & Procedures

  6. Pros & Cons of software reuse: PROS: CONS: • Efficiency • Standardization • Debugging • Profit earning • Mismatch: Design may not completely match your system. • Expense: Some components maybe too expensive for the project’s budget.

  7. 1. Frameworks: Introduction to frameworks Components of a framework Types of frameworks Object-Oriented frameworks Example

  8. Introduction: • Framework: • Frameworks promote re-usability. • Provides common facilities which can be applied to various application programs. A framework is a reusable software that provides a generic solution to a generalized problem.

  9. Principle behind a framework: “identify the common design elements & develop software that implements these design elements in a useful way.” • They are different from other subsystems, since they are intrinsically incomplete. • This means they comprise of classes & methods which are either undeveloped or missing.

  10. Elements of a Framework • SLOTS: • Missing parts • Filled in by developer to suit the system. • Increases complexity. • HOOKS: • Similar to slots • Optional for the developer. • API: • Set of services provided by frameworks. • Consists of useful methods (functions).

  11. Types of frameworks: HORI ZONTA L VERTICA L • Provides general application facilities to be used by large no. of applications. • It is a single API. • Larger no. of slots and hooks, since implementation is more general &not specific. • Produces complexity in the development process. • Provides general application facilities to be used by specific classes only. • Comprised of several horizontal frameworks. • Fewer slots &hooks since implementation is specific. • Allows easy development.

  12. Services offered by the framework application application Horizontalframework Verticalframework slot hook slot hook Code to be provided to adapt the framework to the needs of the application Fig: Horizontal & Vertical Framework

  13. Example: Library Management • Problem Definition: Design a framework , so that different libraries would be able to adapt to, meet their needs. List the kind of facilities you want to provide , if you were to design such a framework. In what way do libraries differ such that they would want to use a framework rather than a complete application.?

  14. Solution: Common Factors Differentiating Factors • User interface for standard searches(browsing). • Basic classes for books, clients, &their common operations. • Methods that store the user info. Like address etc. .i.e. common data. • Kind of info kept about each member. • Rules of issuing book & fine schemes. • Specialized items that can be issued from the library. • Security mechanisms. • Integration of the system with other online libraries or books database.

  15. Object-oriented frameworks: Developer Abstract Classes creates Method1(); Method2(); Concrete Class inheritance Subclass: Method1(); Method2(); Only SLOTS Actual methods

  16. 2:- Introduction to Design patterns

  17. Patterns: • Patterns are recurring aspects of designs. • Used to create hierarchies of instances, i.e. General hierarchy. “ A pattern is the outline or a reusable solution to a general problem encountered in a particular context.”

  18. Context References Problem A good Pattern Related Patterns Forces Anti patterns Solution

  19. A good pattern should……. • Have a name. • Simple diagram, described in a narrative style. • The general situation. • Acknowledgements of contributors. • Recommended solution to the problem. • Issues to be considered while solving. • Main difficulty to be tackled.

  20. TYPES Singleton Proxy Observer Facade Adapter

  21. Thank you L.L.Britto,XIE,TE-I.T

More Related