COP 4331 OODP Lecture 10 Development Process Class

  • Slides: 13
Download presentation
COP 4331 – OOD&P Lecture 10 Development Process & Class Models

COP 4331 – OOD&P Lecture 10 Development Process & Class Models

Development Process • Development Process – Rules that define how to carry out a

Development Process • Development Process – Rules that define how to carry out a development project • Methodology or method – Specifies what modeling language should be used in describing analysis and design work • Model – Abstract representation of a specification, design, or system, from a particular point of view

Development Process. 2 • Modeling Language – Way of expressing models – Provides syntax

Development Process. 2 • Modeling Language – Way of expressing models – Provides syntax and semantics • Unified Modeling Language (UML) – Integrates features of several modeling languages to provide complete coverage and generality

Development Process. 3 • • Many possibilities Unified Process – Uses UML – Spiral

Development Process. 3 • • Many possibilities Unified Process – Uses UML – Spiral process 1. 2. 3. 4. Inception Elaboration Construction Transition

UML Models • Use case model • Static model • Dynamic model • •

UML Models • Use case model • Static model • Dynamic model • • Logical view Process view Development view Physical vies

Class Model Essentials • Characteristics of a good class • Building class model –

Class Model Essentials • Characteristics of a good class • Building class model – Data driven design – Responsibility driven design • Noun identification – To find classes • Things that are classes – Real world objects vs system representation

Class Model Essentials. 2 • • • Associations Multiplicities Operations Attributes Generalization and Inheritance

Class Model Essentials. 2 • • • Associations Multiplicities Operations Attributes Generalization and Inheritance – Is-a relationship

Class Model Essentials. 3 • CRC cards – Name at top – Responsibilities on

Class Model Essentials. 3 • CRC cards – Name at top – Responsibilities on left-hand side – Collaborators on right-hand side • Refactoring – Create new classes for common behavior – Write once

More About Associations • Aggregation – Is part of – Is owned by –

More About Associations • Aggregation – Is part of – Is owned by – Open diamond symbol • Composition – Stronger form of aggregation – Exists only as a part of – Closed diamond symbol

More About Associations. 2 • Roles – Associations are inherently bidirectional – Component at

More About Associations. 2 • Roles – Associations are inherently bidirectional – Component at one end may have specific, named relationship, a role, with component at other end • Navigability – Arrow at end of association points in direction of relationship

More About Associations. 3 • Qualified Association – Elements of a many-to-one association may

More About Associations. 3 • Qualified Association – Elements of a many-to-one association may have a specific relationship • Ex: row and column number of squares on a game board – Place qualification values in box at one end of association and reduce multiplicity at other end

More About Associations. 4 • Derived Associations – In a triangular pattern two of

More About Associations. 4 • Derived Associations – In a triangular pattern two of the associations may be essential and the third may be defined by the other two, a derived association – Put / in front of name of derived association • Constraints – Label associations with special conditions on one or more component – Dashed line connects pair of constrained associations as when only one is allowed, {xor}

More About Associations. 5 • Association Classes – Association may have its own attributes

More About Associations. 5 • Association Classes – Association may have its own attributes or even methods that are part of the association but not part of the end-point classes – Dashed line off association to class