Midterm Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of Central Florida February 26, 2010 Terms • Software Process and Engineering Terms Software Engineering Computer Science Software Process Model Software Process Water Fall Model Spiral Model Software Life Cycle Software Development Cycle Requirements Elicitation Requirements Elaboration Architectural Design Detailed Design Implementation Code & Unit Test Integration and System Test Delivery & Installation Maintenance • Unified Process and UML Terms Class and Object Diagram (COD) Use Case Diagram (UCD) Communication Diagram (CMD) Activity Diagram (ACD) Generalize/Specialize Relation Association Relation Composition Relation Aggregation Relation Includes Relation Extends Relation Uses Relation Use Case Actor • Design Focus Areas Module Decomposition Principles Architectural Design Data Design Interface Design Module Design February 26, 2010 • Design Properties and Techniques Abstraction Procedural Abstraction Data Abstraction Information Hiding Data Encapsulation Reusability Control Distribution (c) Dr. David Workman •OO Concepts Object Active Objects Passive Objects Class Abstract Class Concrete Class Message Analysis Class Boundary Class Entity Class Control Class Polymorphism Dynamic Binding Static Type Dynamic Type Overriding Overloading Will be covered In Thursday's Lecture. Some will be included on the exam. 2 C++ Concepts and Features • Classes – – – – – – • How to declare and implement? How to define subclasses? Access or visibility attributes and qualifiers Inherited attributes and methods Virtual methods, Polymorphism & Runtime binding Overriding vs. Overloading OO Data Protocol – – – – External ASCII image reflects declaration of class and its data members Extract, Get, Insert, Put methods (what they do, how they are structured) Extraction and Insertion operators (>>) and (<<). Review Solution 3 of Grocery/Produce example February 26, 2010 (c) Dr. David Workman 4 Unified Process and UML Concepts • Use Case Model – – – – – • Purpose Use Case Diagrams, Activity Diagrams, Communication Diagrams Actors Use Cases Relationships (association, includes, extends, generalize/specialize) Analysis Model – Purpose – Contrast with Use Case Model – Class Diagrams (Boundary, Control & Entity Classes) (Static view), Communication & Sequence Diagrams (Dynamic view) – Object and Class relationships (Composition, Aggregation, Affiliation, Gen/Spec, Association, InstanceOf ) • Data Flow Diagrams – – – – External Entities Process Bubbles Stores Data Flows February 26, 2010 (c) Dr. David Workman 5