上降文通大学 SHANGHAI JLAO TONG UNIVERSITY 8.Object Design: Reusing Pattern Solutions 漏 IN OUT pP SHANG 1日gG ERSI
8. Object Design: Reusing Pattern Solutions
上游充通大兽 Outline SHANGHAI JIAO TONG UNIVERSITY An overview of object design ©Reuse Design Patterns ©Frameworks Software Engineering
Software Engineering Outline An overview of object design Reuse Design Patterns Frameworks
上游充通大粤 SHANGHAI JIAO TONG UNIVERSITY 1.An Overview of Object Design Aralysis Domain Direct relation between users'vocabuary and churks of program code(='classes】 System C++,Java,eir http://www.trireme.com/whitepapers/design/objects/obj ect_oriented_design_what.html Software Engineering
Software Engineering 1. An Overview of Object Design http://www.trireme.com/whitepapers/design/objects/obj ect_oriented_design_what.html
上海文通大学 SHANGHAI JIAO TONG UNIVERSITY 1.1 Object Design Object design is the process of adding details to the requirements analysis and making implementation decisions The object designer must choose among different ways to implement the analysis model with the goal to minimize execution time,memory and other measures of cost. Requirements Analysis: Object Design: Iterates on the models,in Use cases,functional and particular the object model and dynamic model deliver operations refine the models; for object model Serves as the basis of implementation Software Engineering
Software Engineering 1.1 Object Design Object design is the process of adding details to the requirements analysis and making implementation decisions The object designer must choose among different ways to implement the analysis model with the goal to minimize execution time, memory and other measures of cost. Requirements Analysis: Use cases, functional and dynamic model deliver operations for object model Object Design: - Iterates on the models, in particular the object model and refine the models; - - Serves as the basis of implementation
上游文通大学 1.2 Closing the Gap SHANGHAI JIAO TONG UNIVERSITY System Problem Application objects 1 Requiements gal I Solution objects 7个 Custom objects Object design ga off-the-shelf components Systeml design g Machine Software Engineering
Software Engineering 1.2 Closing the Gap
上降充通大 SHANGHAI JIAO TONG UNIVERSITY 1.3 Object Design Activities © Group of activities: ·Reuse Interface specification 。Restructuring 。Optimization Software Engineering
Software Engineering 1.3 Object Design Activities Group of activities: • Reuse • Interface specification • Restructuring • Optimization
上游文通大学 SHANGHAI JIAO TONG UNIVERSITY Select Subsystem Specification Reuse Identifying missing attributes operations Identifying components Specifying visibility Adjusting components Specifying types signatures Identifying patterns Specifying constraints Specifying exceptions Adjusting patterns Software Engineering
Software Engineering Specifying constraints Specifying types & signatures Identifying patterns Adjusting patterns Identifying missing attributes & operations Specifying visibility Specification Specifying exceptions Reuse Identifying components Adjusting components Select Subsystem
上海文通大学 SHANGHAI JIAO TONG UNIVERSITY O← Check Use Cases Restructuring Optimization Revisiting Optimizing access inheritance paths Collapsing classes Caching complex computations Realizing associations Delaying complex computations Software Engineering
Software Engineering Collapsing classes Restructuring Optimization Revisiting inheritance Optimizing access paths Caching complex computations Delaying complex computations Check Use Cases Realizing associations
上大Examples of Object Design Activities SHANGHAI JIAO TONG UNIVERSITY Identification of existing components Full definition of associations Full definition of classes: System Design =Service, ·Object Design=>API Specifying the contract for each component Choosing algorithms and data structures Identifying possibilities of reuse Detection of solution-domain classes Optimization Increase of inheritance Decision on control (Re-)Packaging Software Engineering
Software Engineering Examples of Object Design Activities Identification of existing components Full definition of associations Full definition of classes: • System Design => Service, • Object Design => API Specifying the contract for each component Choosing algorithms and data structures Identifying possibilities of reuse Detection of solution-domain classes Optimization Increase of inheritance Decision on control (Re-)Packaging
上游充通大兽 SHANGHAI JIAO TONG UNIVERSITY 1.Reuse:Identification of existing solutions ·Use of inheritance Off-the-shelf components and additional solution Object objects Design lectures Design patterns 2.Interface specification Describes precisely each class interface 3.Object model restructuring Transforms the object design model to improve its understandability and extensibility Mapping 4.Object model optimization Models to Code lecture Transforms the object design model to address performance criteria such as response time or memory utilization. Software Engineering
Software Engineering 1. Reuse: Identification of existing solutions • Use of inheritance • Off-the-shelf components and additional solution objects • Design patterns 2. Interface specification • Describes precisely each class interface 3. Object model restructuring • Transforms the object design model to improve its understandability and extensibility 4. Object model optimization • Transforms the object design model to address performance criteria such as response time or memory utilization. Object Design lectures Mapping Models to Code lecture