Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.

Similar presentations


Presentation on theme: "CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I."— Presentation transcript:

1 CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I

2 2 Administration 

3 3 The Waterfall Model Requirements Definition Implementation and Unit Testing Integration and System Testing Operation and Maintenance System and Software design

4 4 Useful Texts Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language. Addison-Wesley 1999. Grady Booch, Object-Oriented Analysis and Design with Applications, second edition. Benjamin/Cummings 1994. Rob Pooley, Perdita Stevens, Using UML Software Engineering with Objects and Components. Addison-Wesley 1999.

5 5 The Importance of Modeling  A model is a simplification of reality.  We build models so that we can better understand the system we are developing.  We build models of complex system because we cannot comprehend such a system in its entirety. Models can be informal or formal. The more complex the project the more valuable a formal model becomes. BRJ

6 6 Principles of Modeling  The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped.  Every model can be expressed at different levels of precision.  The best models are connected to reality.  No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models. BRJ

7 7 The Unified Modeling Language UML is a standard language for modeling software systems.  Serves as a bridge between the requirements specification and the implementation.  Provides a means to specify and document the design of a software system.  Is process and programming language independent.  Is particularly suited to object-oriented program development.

8 8 Notation: Classes Window origin size open() close() move() display() name attributes operations A class is a description of a set of objects that share the same attributes, operations, relationships and semantics.

9 9 Notation: Interface An interface is a collection of operations that specify a service of a class or component, i.e., the externally visible behavior of that element. ISpelling

10 10 Notation: Collaboration & Use Case Place order A use case is a description of a set of sequence of actions that a system performs that yields an observable result. Chain of responsibility A collaboration defines an interaction, i.e., a society of roles and other elements that work together to provide some cooperative behavior.

11 11 Notation: Active Class EventManager eventlist suspend() flush() An active class is a class whose objects own one or more processes or threads and therefore can initiate control activity.

12 12 Notation: Component & Node orderform.java A component is a physical and replaceable part of a system that conforms to and provides the realization of a set of interfaces. Server A node is a physical element that exists at run time and represents a computational resource.

13 13 Notation: Behavioral Things: Messages & States display An interaction is a behavior that comprises a set of messages exchanged among a set of objects within a particular context to accomplish a specific purpose. Waiting A state machine is a behavior that specifies the sequence of states an object or an interaction goes through during its lifetime in response to events.

14 14 Notation: Grouping and Annotation A package is a general-purpose mechanism for organizing elements into groups. Business rules return copy of self A note is a symbol for rendering constraints and comments attached to an element or a collection of elements.

15 15 Notation: Relationships A dependency is a semantic relationship between two things in which a change to one may effect the semantics of the other. 0..1 * employer employee An association is a structural relationship that describes a set of links, a link being a connection amng objects.

16 16 Notation: Relationships (continued) A generalization is a specialization/generalization relationship is which objects of the specialized element (child) are substitutable for objects of the generalized element (parent). childparent A realization is a semantic relationship between classifiers, wherein one classifier specifies a contract that another classifier guarantees to carry out.

17 17 Diagrams in UML A diagram is the graphical representation of a set of elements, usually rendered as a connected graph of vertices (things) and arcs (relationships).  Class diagram shows a set of classes, interfaces, and collaborations with their relationships.  Object diagram shows a set of objects and their relationships.  Use case diagram shows a set of use cases and actors (a special kind of class) and their relationships.

18 18 Diagrams in UML (continued)  Interaction diagram shows an interaction, consisting of a set of objects and the relationships, including the messages that may be dispatched among them. => A sequence diagram emphasizes the time ordering. => A collaboration diagram emphasizes the structural organization of the objects that send and receive messages.

19 19 Diagrams in UML (continued)  Statechart diagram shows a state machine consisting of states, transitions, events, and activities.  Activity diagram is a statechart diagram that shows the flow from activity to activity within a system.  Component diagram shows the organization and dependencies among a set of components.  Deployment diagram shows the configuration of processing nodes and the components that live on them.


Download ppt "CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I."

Similar presentations


Ads by Google