130 likes | 255 Vues
This document explores the foundational concepts of Object-Oriented (OO) modeling in software engineering, focusing on static and dynamic models. It covers essential topics such as class members, attributes, operations, and structural relationships like inheritance, aggregation, and composition. Case studies, including the Punch-in Info program, illustrate practical applications of UML notations, use case diagrams, sequence diagrams, and statechart diagrams to model system behavior and structure effectively. Gain insights into organizing and structuring software systems through these visual tools.
E N D
CSC 480Software Engineering PSP Project 3 September 6, 2002
Topics • OO Modeling • Review static (or structural) models • Dynamic (or behavioral) models • Case Study – Displaying Punch-in Info CSC 480 - Software Engineering
Basic Structural Modeling • Class members (or responsibilities) • Attributes • Operations • Relationships • Inheritance • Structural relationships • Aggregation • Composition CSC 480 - Software Engineering
UML Notations – Inheritance Stock SmallCapStock LargeCapStock CSC 480 - Software Engineering
UML Notations – aggregation & composition has School Department member assigned to chair attends teaches Student Course Instructor CSC 480 - Software Engineering
Class V.S. Object i:Invoice Invoice -billingAddress -items +add(aProd, qtty) +format() +getAmountDue() addr:Address i1:item i1:item street = “123 Main” city = “Macon” state = “GA” product = prod1 quantity = 3 Class diagram Object diagram CSC 480 - Software Engineering
Behavioral Modeling • Use case diagram • Organizes the behaviors of the system • Sequence diagram • Focused on the time ordering of messages • Collaboration diagram • Focused on the structural organization of objects • Statechart diagram • Focused on the changing state of a system CSC 480 - Software Engineering
Message Passing YourBicycle.changeGears(lowerGear) CSC 480 - Software Engineering
Use Case Diagram system actor Print invoice • … • … • … use case CSC 480 - Software Engineering
Sequence Diagram CSC 480 - Software Engineering
Collaboration Diagram CSC 480 - Software Engineering
Statechart Diagram CSC 480 - Software Engineering
Case Study • The PunchIn program from chapter 14 • Programming & Problem Solving with C++ Dale, Weems, and Headington • Classes used • Time • TimeCard • TCList CSC 480 - Software Engineering