CSE 111: Object Oriented Design. Design “To program is human but to design is divine” (WEH)

Slides:



Advertisements
Similar presentations
Lecture 6: Software Design (Part I)
Advertisements

1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
General OO Concepts and Principles CSE301 University of Sunderland Harry R. Erwin, PhD.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Unified Modeling Language
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
Introduction To System Analysis and Design
Software Testing and Quality Assurance
Lecture 5a: Sequence Interaction Diagrams CSE 111 Copyright W. Howden1.
Copyright W. Howden1 Lecture 6: Design Evaluation and Intro to OO Design Patterns.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
System Architecture Lecture 3 CSE 111 Spring /22/20151Copyright William E. Howden.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Developed by Reneta Barneva, SUNY Fredonia Component Level Design.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Distribution of Marks Internal Sessional Evaluation Assignments – 10 Quizzes – 10 Class Participation Attendence – 5 Mid – Term Test – 25 External Evaluation.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Architectural Design.
Introduction to Information System Development.
Introduction To System Analysis and design
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
Systems Analysis and Design in a Changing World, Tuesday, Feb 27
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
Lesson 7 Guide for Software Design Description (SDD)
Systems Analysis and Design in a Changing World, Fifth Edition
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
IS0514Slide 1 IS0514 Lecture Week 5 Introduction to Object Orientation.
CHAPTER ONE Problem Solving and the Object- Oriented Paradigm.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
Chapter 9 Moving to Design
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Guided Notes Ch. 9 ADT and Modules Ch. 10 Object-Oriented Programming PHP support for OOP and Assignment 4 Term project proposal C++ and Java Designer.
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
1 Introduction to Software Engineering Lecture 1.
Modeling system requirements. Purpose of Models Models help an analyst clarify and refine a design. Models help simplify the complexity of information.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Kal Bugrara, Ph.DSoftware Engineering Northeastern University Fundamentals Of Software Engineering Lecture V.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
SCOPE DEFINITION,VERIFICATION AND CONTROL Ashima Wadhwa.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 12 Exploring Information System Development.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
Basic Characteristics of Object-Oriented Systems
CSCE 240 – Intro to Software Engineering Lecture 3.
David Adams ATLAS Hybrid Event Store Integration with Athena/StoreGate David Adams BNL March 5, 2002 ATLAS Software Week Event Data Model and Detector.
Software Engineering Lecture 4 System Modeling The Analysis Stage.
The Movement To Objects
Systems Analysis and Design With UML 2
Introduction to Design Patterns
Systems Analysis and Design With UML 2
University of Houston-Clear Lake
DESIGNING YOUR SYSTEM.
PPT6: Object-oriented design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
ENERGY 211 / CME 211 Lecture 27 November 21, 2008.
Presentation transcript:

CSE 111: Object Oriented Design

Design “To program is human but to design is divine” (WEH)

What is a Design? Different possibilities, e.g. –Algorithmic strategy e.g. rate-monotonic scheduling strategy for a real time system –Decomposition of a system modules with well-defined consistent interfaces –Abstract function hierarchy abstract functions defined in terms of less abstract functions

Design and Abstraction Design uses abstraction to create views that are comprehensible –Vs the complete code for the program that cannot be comprehended all at the same time –breaking down a system into pieces involves an abstract model that ties the pieces together

Why Design? Provides an overall picture of the system Allows us to focus on one thing at a time A harmonious, understandable design is our best hope for constructing a program that works Facilitates (design) reuse (NOT code reuse): transmission of expert knowledge

No Design? Possible for simple or small well- understood programs For complex systems: 85% phenomenon milestone 1: 50% done milestone 2: 75% done milestone 3: 85% done milestone 4: 85% done milestone 5: 85% done

Design Paradigms – Functional 1 Basic components: functions/procedures Component relationships: one function calls other functions Abstraction –one function calls another defined in terms of less abstract or concrete functions

Design Paradigms - Functional 2 Design strategy –top level function corresponds to program requirements –define this in terms of less abstract functions –continue on down until all functions are concrete Refactoring: go back and re-design higher level functions if design becomes ugly

Design Paradigms – Object Oriented 1 Basic components: –classes: state plus function Component relationships –one class uses other classes to help it fulfill its responsibilities (by its methods calling methods in the other classes) –inheritance –classes grouped into packages/subsystems

Design Paradigms – Object Oriented 2 Abstraction –inheritance where a superclass is an abstraction of subclasses usefulness much more restricted than functional top down abstraction –when one class’s methods call methods in another class, this is often a peer relationship not a (top down) abstraction relationship

Design Paradigms – Object Oriented 3 Layers abstraction –group classes into “layers” in which the classes in the upper layers can use classes in lower layers but not vice-versa –lower layers simulate existence of an abstract machine that can be “used” by higher layers

Design Paradigms – Object Oriented 4 Design Strategy –identify basic objects/concepts in application domain, and use these as foundation classes –select a design architecture/metaphor –add additional classes for desired functionality –abstract out superclasses to facilitate understanding and possible re-use –refactor as necessary

Functional versus Object Oriented Design? Application types –Functional input – computation – output –input may include persistent data (data base or files) –Object oriented interactive programs with retained distributed session state between interactions object methods are functions that can be functionally designed but are often simple

Topics Development Process Design Paradigms Design Patterns –mid to low level design ideas that are useful in certain commonly occurring contexts UML Modeling and Design Language

Project Two phases –due at midterm and end of class Purpose: help learn UML and design patterns Deliverables –assigned at the end of the lecture in which they are described –not due until end of first and second phase

Running Example Use to illustrate patterns and corresponding UML diagrams Template for required simple project Very simple toy dating system

Dating System Example Initial Start/End screen Member and Admin Users –Admin recognized by special name at login Admin can add and delete users Member can ask for date or update/initialize member data After each request reset to Start/End

Some Dating System Details Member properties: –world view: spiritual/ secular –gender: M/F Exact matches only Members identified by their names If date found, member info returned (name, address)

Assignment 1 Form a project team Choose a project topic –.5 to 1 page brief description –“concept document” Submit for approval by the end of the week –in class or to