INFS 6225 – Object-Oriented Systems Analysis & Design

Slides:



Advertisements
Similar presentations
Design by Contract.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Object-Oriented Analysis and Design
Design The goal is to design a modular solution, using the techniques of: Decomposition Abstraction Encapsulation In Object Oriented Programming this is.
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Chapter 1 Principles of Programming and Software Engineering.
Chapter 10 Class and Method Design
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
Slide 1 Chapter 10 Class and Method Design. Slide 2 REVISITING THE BASIC CHARACTERISTICS OF OBJECT-ORIENTATION.
INTRODUCTION TO JAVA PROGRAMMING Chapter 1. What is Computer Programming?
C++ fundamentals.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
An Object-Oriented Approach to Programming Logic and Design
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 10: Class and Method.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
Computer Concepts 2014 Chapter 12 Computer Programming.
Systems Analysis and Design in a Changing World, 3rd Edition
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 10: Class and Method.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
9 - Class & Method Design Model Enhancement Design to Code Proposal Presentation.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Basic Characteristics of Object-Oriented Systems
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Principles of Programming & Software Engineering
Unit - 3 OBJECT ORIENTED DESIGN PROCESS AND AXIOMS
Cmpe 589 Spring 2006.
Chapter 1: Introduction to Systems Analysis and Design
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Business System Development
Sections Basic Concepts of Programming
Systems Analysis and Design With UML 2
Data Abstraction: The Walls
Principles of Programming and Software Engineering
OOP What is problem? Solution? OOP
Systems Analysis and Design With UML 2
Distribution and components
About the Presentations
Object Oriented Concepts -I
Object-Oriented Programming
TIM 58 Chapter 8: Class and Method Design
Class and Method Design
Software Design AITI GP John Paul Vergara.
The Object Oriented Approach to Design
Chapter 20 Object-Oriented Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Chapter 1: Introduction to Systems Analysis and Design
Systems Analysis and Design with UML Version 2.0, Second Edition
Presentation transcript:

INFS 6225 – Object-Oriented Systems Analysis & Design Chapter 8: Class & Method Design

Class & Method Design Criteria, activities, & techniques used to design classes & methods Part of Design Phase where work is actually accomplished Refinement of UML models to create the most efficient system possible that still meets the users’ requirements The steps just before the actual coding of the system

Review of Terms Object – basic building block of a system; instances of classes Class – defines both data & processes that each object contains Attributes – describe data about the object Methods – specify processes that objects can perform Message – procedural call from one object to another

More Terms Inheritance – superior classes pass attributes & methods to subordinate classes Encapsulation – combining processes & data into a single object Information Hiding – only information required to use an object should be available outside of an object Polymorphism – same message is interpreted differently by different objects Dynamic binding – interpretation of message by an object takes place at run time

New Terms Cohesion – how specific a module is within a system (i.e., a class or object should represent only one thing) Coupling – level of interdependence among modules (classes, objects, & methods) in a system The higher the degree of coupling, the more likely that changes in part of a system will require changes in other parts Connascence – two modules are so intertwined that a change in one requires a change in the other Ideally, a system should have high Cohesion and low (i.e., loose) Coupling

Opportunities for Reuse Class Library Set of implemented classes that are designed for reuse Pre-built “template” classes with Attributes and Methods already defined Can be utilized using Inheritance Support Foundation Layer Component Self-contained piece of software that can be “plugged” into a system Simplify development of objects on Problem Domain & Human-Computer Interaction Layers

Optimizing the Design Shorten/simplify paths between objects Move attributes to provide more direct access Reduce the number of messages (Fan-out) sent by an object Reorder execution of statements Cache (temporarily save) computational results

Constraints & Contracts formalizes the interactions between client and server objects Document the message passing between objects Contain information necessary for programmer to understand method Contracts may contain: Pre-conditions – constraints that must be met for a method to execute Post-conditions – constraints that must be met after the method executes (or method is undone)

Contract Example Method Name: Class Name: ID: Clients (Consumers): Associated Use Cases: Description of Responsibilities: Arguments Received: Type of Value Returned: Pre-Conditions: Post-Conditions:

Method Specification Method Specifications – written documents that include explicit instructions on how to write the code to implement a method No standard syntax for Method Specification Written in Structured English – short sentences 4 Components: General Information about Method Events – items that trigger method Message Passing – what is being passed, and returned Algorithm Specification (calculations, formula, etc.)