577ab Object Orientation Introduction

Slides:



Advertisements
Similar presentations
Introduction To System Analysis and Design
Advertisements

Software Testing and Quality Assurance
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
©1998, 1999, 2000 Rational Software - All rights reserved Session VM08 Structuring Your Rational Rose Model Robert Bretall Rational Software.
Software Engineering 1 Provisional Revision Plan.
Lecture 7: UML Class Diagrams CSE 111 7/15/20151Copyright W. Howden.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Object Oriented Analysis and Design Using the UML
Introduction To System Analysis and design
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
Systems Analysis and Design in a Changing World, Fifth Edition
Software Engineering CS B Prof. George Heineman.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
RUP Design RUP Artifacts and Deliverables
12 Systems Analysis and Design in a Changing World, Fifth Edition.
1 SAD2 - UML 4 th Lecture Class Diagram in Construction Phase Patterns Case Study Lecturer: Dr Dimitrios Makris
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Introduction To System Analysis and Design
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
Generic API Test tool By Moshe Sapir Almog Masika.
Systems Analysis and Design in a Changing World, 3rd Edition
Team Think For You. Outline  Introduction  Process  Requirements Engineering  Architecture  Detailed Design  Testing  Demo  Extensibility  Conclusions.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
University of Southern California Center for Systems and Software Engineering CS577a: SSAD in DC Nupul Kukreja 6/4/ © USC-CSSE
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
OOAD – III Software Design Nupul Kukreja 10 th October, 2014.
Software Design: Principles, Process, and Concepts Getting Started with Design.
Introduction to OOAD & Rational Rose cyt. 2 Outline RUP OOAD Rational Rose.
Software Architectural Views By the end of this lecture, you will be able to: list and describe the views in the 4+1 view model of software architecture.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
University of Southern California Center for Systems and Software Engineering Architecture and Design Patterns CSCI577A Fall2015 Kan Qi, Bo Wang.
+ TIC-TAC-TOE GAME CAPSTONE PROJECT SEN Team Members Sno.NameITU ID 1Keerthi Alimity Venkata Ganugapati Sujitha Sanku Bavi Bharathan87550.
Lecture 1: Introduction – Graduation Projects Topics to Discuss in Lectures 1. Project Deliverables 2. Course grading 3. Project Concept Writing.
Object Oriented Analysis and Design Introduction to Rational Rose.
University of Southern California Center for Systems and Software Engineering CS577a: Use-Case Analysis and Workshop 10/12/2009© USC-CSSE David.
Systems Analysis & Design David Walkiewicz March 31, 2012.
Design Concepts ch-8
Analysis Classes Unit 5.
Review for Final, Fall 2010 Close book, Close notes
Chapter ? Quality Assessment
Architecture Concept Documents
Introduction to Design Patterns
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Problem Solving How do we attack a large problem?
Chapter 5: Object Oriented Analysis and Design
OO Methodology OO Architecture.
COMP2110 Software Design in 2004 lecture 09 High level design
Class Diagrams Oct 20, 2006.
The Object Oriented Approach to Design
Software Architecture & Design Pattern
Chapter 13 Logical Architecture.
Object-Oriented Design
INFS 6225 Object-Oriented Systems Analysis & Design
Unified Modeling Language
UML Model Management.
Object oriented analysis and design
Starting Design: Logical Architecture and UML Package Diagrams
Chapter 13 Logical Architecture.
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2004 Instructor: Patrice Chalin.
Design Tips.
OBJECT ORIENTED ANALYSIS AND DESIGN
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Basic OOP Concepts and Terms
Design Yaodong Bi.
Use-Case Design in Context
Software Development Process Using UML Recap
Presentation transcript:

577ab Object Orientation Introduction David Klappholz A Winsor Brown, Nupul Kukreja (AWBrown@USC.edu, Kukreja@USC.edu) September 25, 2009

Agenda 577a Tutorials Lectures Assignments 577b Approach Workshops

577a Lectures 577a stresses the following aspects of OOA&D Domain Modeling using the Color Coded approach Architectural Styles and patterns (emphasizing the most applicable styles for the 577 projects Multilayered and 3-tiered, Blackboard, Event Based etc.,) Use case analysis using ‘Robustness Diagrams’ 09/26/2009 © USC-CSSE 2005-2009

577a Lectures (cont.) Moving from Robustness Diagrams to Sequence Diagrams Sequence Diagrams to Design level Class Diagrams which can very easily be mapped to implementation level class diagrams Note: The ‘Domain Model’ is constantly transformed into an analysis/design model (class diagram) through the above process. It can also be used to ‘verify’ that the domain related elements have been captured in the model of the ‘to-be-built’ system and to verify the suggested workflow of the use-case descriptions 09/26/2009 © USC-CSSE 2005-2009

577b Approach 577a restricts the process of OOA&D to produce not-so-low-level class diagrams May have ‘system’ related functionality in their attributes/methods (e.g., a ‘Button’ attribute or a ‘ConnectToDB()’ method) there are seldom any ‘languageT' implementation specific attributes/behaviors (e.g., JButton in case Java used for development) 09/26/2009 © USC-CSSE 2005-2009

577b Approach (cont.) 577b proceeds to refine the models of 577a to be more implementation specific: i.e., if still at a semi-implementation level, to drive it down to absolute implementation details basic data types int, float, double, bool or JButton, JFrame, JDialog etc., corresponding methods provided by the development environment 09/26/2009 © USC-CSSE 2005-2009

577b Lectures To have a high level ‘package’ view of the components of the chosen architecture. E.g., If the team chose 3-tier architecture then ‘planning’ for partitioning the ‘code’ into View, Business Logic and Data Layer ‘packages’ Creating appropriate ‘stubbed’ files in the respective packages before starting to code – based on the implementation class diagram Helps analyze the ‘feasibility’ of the implementation model 09/26/2009 © USC-CSSE 2005-2009

577b Lectures (cont.) Introduction to standard design patterns which are most applicable for the projects being developed. For example: Factory Pattern (both AbstractFactory and Factory Method) Singleton Pattern Strategy Pattern – helps understand the value/power of ‘interfaces’ and polymorphism Going from implementation level class diagrams to code 09/26/2009 © USC-CSSE 2005-2009