260 likes | 274 Views
Dive into Unified Modeling Language (UML) concepts, diagrams, and relationships for effective software design and architecture. Learn about object modeling, dynamic models, and UML elements. Perfect for architects, analysts, and developers.
E N D
Software Architecture & Design Pattern • Lecture 4 Software Development Methodology • Object Model • OO Analysis • OO Modeling/UML Basics • Software Development Process 1
Software Architecture & Design Pattern • Object Model • The collection of concepts used to describe objects in a particular object-oriented language, specification, or analysis and design methodology • Object Model • - abstraction of object • - behavior of object • - description of interface • Dynamic Model • Functional Model 2
Software Architecture & Design Pattern • Object Properties/Attributes • Attributes • Operations/methods(synch vs. asynch) • Messages • Specification of behavioral semantics • State • Object lifetime • Behavior/state grouping • Communication model • Events 3
Software Architecture & Design Pattern Entity/Object • Java Object Model • Packages • Classes • Interfaces • Dynamic Loading 4
Software Architecture & Design Pattern System Level Dynamic Model - system events and states 7
Software Architecture & Design Pattern Class Level Dynamic Model - interaction, messaging and states among objects 8
Software Architecture & Design Pattern Object Functional Model Describes the operations, services, input/output, and dynamics of an object in a system. 9
Software Architecture & Design Pattern Transformation of Operations of a Functional Model 10
Software Architecture & Design Pattern Classes and Relationships - Object Model Objects, Messages and States - Dynamic Model 11
Software Architecture & Design Pattern • OO Modeling/UML Basics • UML elements • UML relationships • UML model/diagram 12
Software Architecture & Design Pattern • UML (Unified Modeling Language) • "The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system.” • --- OMG definition 13
Software Architecture & Design Pattern • UML Basics • UML consists of • - elements • - relationship • - diagrams • UML models • - Use Case model • - Class (Logic) model • - Component (Physical) model • - Interaction/Communication model • - Deployment model 14
Software Architecture & Design Pattern • UML Elements • Use Case • class • interface • component • node • message • state • package • note 15
Software Architecture & Design Pattern • Relationship • Association • Generalization • Aggregation • Interaction 16
Software Architecture & Design Pattern Association A link between objects that is a general mapping between the classes. An association relationship may be described as "has a", "associated with", or "knows about". 17
Software Architecture & Design Pattern Aggregation An association with "part of" semantics. An aggregation relationship may be described as "part of" or "bill of materials" between an assembly (whole) object and part objects. 18
Software Architecture & Design Pattern Generalization Indicates a commonality between a superclass and subclasses. It indicates that the superclass and subclass have common attributes, operations, and relationships. It is a "type of" relationship. 19
Software Architecture & Design Pattern Interaction (events or messages) A call or communication between objects. An interaction relationship may be described as "calls", "interacts", or "communicates with". 20
Software Architecture & Design Pattern System event- a stimulus for a system Object event- a stimulus that may result in transition to a new state for a state-based object Message - a stimulus from one object to another object, which invokes an operation 21
Software Architecture & Design Pattern • UML Diagrams • Structural Modeling • class diagram • component diagram • package diagram • deployment diagram • Behavioral Modeling • Use Case diagram • sequence diagram • interaction diagram • state diagram 22
Software Architecture & Design Pattern • Use Case Model • A Use Case represents a discrete unit of • interaction between a user (human or machine • or other system) and the system. • Each Use Case describes the functionality to • be built in the proposed system. 23
Software Architecture & Design Pattern • Use Case • A technique for capturing functional requirements • of systems. Each use case provides one or more • scenarios that convey how the system should • interact with the users called actors to achieve a • specific business goal or function • Three Key Elements in Use Case • Actor • System • Scenario • Goal 24
Software Architecture & Design Pattern Questions ? 26