Structural Modeling Introduction A Structural model is a

  • Slides: 17
Download presentation
Structural Modeling

Structural Modeling

Introduction • A Structural model is a formal way of representating the objects that

Introduction • A Structural model is a formal way of representating the objects that are used and created by a business system • One of the primary purposes of the structural model is to create a vocabulary that can be used by analyst and the user

Classes • Templates for creating instances or objects • Concrete • Abstract • Classes

Classes • Templates for creating instances or objects • Concrete • Abstract • Classes represent real world thing. Typical examples include: • Application domain, user interface, data structure, file structure, operating environment, document, and multimedia classes Slide 3

Attributes & Operations • Attributes • Units of information relevant to the description of

Attributes & Operations • Attributes • Units of information relevant to the description of the class • Only attributes important to the task should be included • Operations (Methods) • Action that instances/objects can take • Focus on relevant problem-specific operations (at this point) Slide 4

Relationships • Generalization • Enables inheritance of attributes and operations. • Generalization is represented

Relationships • Generalization • Enables inheritance of attributes and operations. • Generalization is represented with a-kind-of relationship • Example: we say an employee is a-kind-of-person • Aggregation • Relates parts to wholes • Aggregation represents: a-part-of, a-member-of, contained-in, related-to, and associated-with • Association • Other relationships that do not neatly fit into generalization (a-kindof) or aggregation (a-part-of) Slide 5

Your Turn • What classes, attributes, and operations that would be required to describe

Your Turn • What classes, attributes, and operations that would be required to describe the process of registration for campus housing? Slide 6

Responsibilities and Collaborations • Responsibilities • Knowing responsibilities are those things that an instance

Responsibilities and Collaborations • Responsibilities • Knowing responsibilities are those things that an instance of a class must be capable of knowing • An instance typically knows the values of its attributes and its relationships • Doing responsibilities are those things that an instance of a class must be capable of doing. • An instance of a class can execute its operations, or it can request a second instance • Collaboration • Objects working together to service a request Slide 7

Class Diagram Syntaks

Class Diagram Syntaks

A CRC Card Front: Class name: ID: Type: Description: Responsibilities: Collaborators: Back: Attributes: Relationships:

A CRC Card Front: Class name: ID: Type: Description: Responsibilities: Collaborators: Back: Attributes: Relationships: Generalization (a-kind-of): Aggregation (has-parts): Other Associations: Slide 9

A Class • Represents a kind of person, place, or thing about which the

A Class • Represents a kind of person, place, or thing about which the system will need to capture and store information • Has a name typed in bold and centered in its top compartment • Has a list of attributes in its middle compartment • Has a list of operations int its bottom compartment • Does not exlicitly show operations that are available to all classes

An Attribute • Represents properties that describe the state of an object • Can

An Attribute • Represents properties that describe the state of an object • Can be derived from other attributes, shown by placing a slash before the attribute’s name

Object identification • Textual Analysis is an analysist of the text in the use-case

Object identification • Textual Analysis is an analysist of the text in the use-case description • Brainstorming: process of set of individuals sitting around table and suggesting potential classes that could be useful for problem under consideration • Common Object List is simply a list of objects common to business domain of system • Pattern is a simply a useful group of collaborating classes that provide a solution to a commonly occuring problem

An Operation • Represents the actions or functions that a class can perform •

An Operation • Represents the actions or functions that a class can perform • Can be classified as a contructor, query, or update operation • Includes parentheses that may contain paremeters of information needed to perform the operation

An Association • Represents a relationship between multiple classes or a class and itself

An Association • Represents a relationship between multiple classes or a class and itself • Is labeled using a verb phrase or a role name, whichecer better represents the relationship • Can exist between one or more classess • Contains multiplicity symbols, which represent the minimum and maximum times a class instance can be associated with the related class instance

A generalization • Represents a-kind-of relationship between multiple classes

A generalization • Represents a-kind-of relationship between multiple classes

An Aggregation • Represents a logical a-part-of relationship between multiple classes or a class

An Aggregation • Represents a logical a-part-of relationship between multiple classes or a class itself • Is a special form of an association

A composition • Represents a physical a-part-of relationship between multiple classes or a class

A composition • Represents a physical a-part-of relationship between multiple classes or a class itself • Is a special form of an association