SlideServe
Menu
Préférences
© SlideServe · v2026

Principles of Object-Oriented Software Development

ata avatar
45 diapositives · 671 Views · Jun 04, 2012

Introduction. . Introduction Themes and variations Paradigms of programming The object-oriented software life-cycle Trends and technologies Summary Q/A Literature . Themes and Variations. . Subsections: Object Terminology Object Computation Des

Principles of Object-Oriented Software Development - slide 1
01 / 45Principles of Object-Oriented Software Development
1 / 17

Télécharger la présentation

Principles of Object-Oriented Software Development
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation

    1. Principles of Object-Oriented Software Development Introduction

    2. Introduction

    3. Themes and Variations

    4. Themes and Variations abstraction -- the object metaphor modeling -- understanding structure and behavior software architecture -- mastering complexity frameworks -- patterns for problem solving components -- scalable software

    5. Object Terminology objects -- packet containing data and procedures methods -- deliver service message -- request to execute a method class -- template for creating objects instance -- an object that belongs to a class encapsulation -- information hiding by objects inheritance -- allowing the reuse of class spec.s class hierarchy -- tree structure inheritance relations polymorphism -- to hide different implementations

    6. Features of OOP information hiding: state, autonomous behavior data abstraction: emphasis on what rather than how dynamic binding: binding at runtime, polymorphism , virtual functions inheritance: incremental changes (specialization), reusability

    7. Benefits of OOP OO = encapsulation + inheritance modularity -- autonomous entities, cooperation through exchanges of messages deferred commitment -- the internal workings of an object can be redefined without changing other parts of the system reusability -- refining classes through inheritance naturalness -- object-oriented analysis/design, modeling

    8. Object Computation

    10. Design by Contract

    16. Paradigms of programming

    19. Procedural programming

    20. Data abstraction

    21. Object-oriented programming

    22. The object-oriented software life-cycle

    23. The software life-cycle Analysis -- Conceptual Model, System Requirements Design -- System Design, Detailed Design Implementation -- Coding, Testing

    24. Requirements -- user needs are constantly evolving Reliability -- incremental development, reuse, synthesis Adaptability -- evolutionary prototyping Maintainability -- incremental development, synthesis Performance -- incremental development, reuse

    25. Software Development Models rapid throwaway prototyping -- quick and dirty incremental development -- slowly evolving evolutionary prototyping -- evolving requirements reusable software -- reduces cost and time automated software synthesis -- one level of abstraction higher

    26. Analysis

    27. Analysis Methods Functional Decomposition = Functions + Interfaces Data Flow Approach = Data Flow + Bubbles Information Modeling = Entities + Attributes + Relationships Object-Oriented = Objects + Inheritance + Message passing

    28. Design

    29. Design assignments

    30. IDA

    31. MASS

    33. Implementation

    34. Errors, bugs TeX [A] -- algorithm awry [B] -- blunder [C] -- structure debacle [F] -- forgotten function [L] -- language liability [M] -- mismatch between modules [R] -- reinforcement of robustness [S] -- surprises [T] -- a trivial typo

    36. Beyond Object-Orientation?

    38. Challenges in O-O vertical framework development -- finance, medical care, insurance separation of 'logic' from 'control' -- business rules distributed object technology -- heterogeneous systems visualisation -- structure and processes knowledge intensive applications -- declarative heterogeneous systems - fragmented applications

    39. Summary

    40. Themes and Variations terminology -- all phrases object computation -- message passing contracts -- for constructing and validating software

    41. Paradigms of programming styles of programming -- as a family of conventions data abstraction -- and its possible realizations polymorphism -- and the features of inheritance

    42. The object-oriented software life-cycle software development models -- in particular the role of prototyping software quality -- in relation to reuse and maintenance programming languages -- the choice of a vehicle

    43. Beyond object-orientation? modeling -- patterns, UML components -- CORBA, (D)COM, Java heterogeneous systems -- separating logic and control

    44. Questions

    46. Further reading