OOdesignProcess1 The Object-Oriented Design Process Part 1: objects & classes.

Slides:



Advertisements
Similar presentations
Week 2 The Object-Oriented Approach to Requirements
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Lecture # 2 : Process Models
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Ch 12: Object-Oriented Analysis
CS3773 Software Engineering Lecture 03 UML Use Cases.
Elliott Bays, Taylor Ivy, Mark Sarosky, David Martin, Ovidiu Ravasan.
Chapter 1 Object-Oriented System Development
Introduction To System Analysis and Design
Use-case Modeling.
Introduction to System Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
The Architecture Design Process
1 SWE Introduction to Software Engineering Lecture 15 – System Modeling Using UML.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Customer Focus Module Preview
Object-Oriented Analysis and Design
The chapter will address the following questions:
Chapter 7: The Object-Oriented Approach to Requirements
Chapter 2 (Horstmann’s Book) – Part 2 The Object-Oriented Design Process Hwajung Lee.
Introduction To System Analysis and design
Chapter 4 Requirements Engineering
Object-Oriented Design & Patterns Cay S
Systems Analysis and Design in a Changing World, Fifth Edition
Software Engineering CS B Prof. George Heineman.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Systems Analysis and Design in a Changing World, Fifth Edition
Introduction To System Analysis and Design
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Content The system development life cycle
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
© 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.
Systems Analysis and Design in a Changing World, Fourth Edition
Click to add text Systems Analysis, Prototyping and Iteration.
Customer Focus Module Preview This PowerPoint provides a sample of the Strategic Planning Module PowerPoint. The actual Strategic Planning PowerPoint is.
Object-Oriented Analysis and Design Use cases Finding classes Collaboration and Sequence diagrams Associations between classes.
UML - Development Process 1 Software Development Process Using UML.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
1 Unified Modeling Language Michael K. Wildes University of California, Riverside – Extension Program Presentation 2.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
COTS testing Torbjørn Skramstad.
Unified Modeling Language
Object oriented system development life cycle
CSC480 Software Engineering
COTS testing Tor Stålhane.
Copyright 2007 Oxford Consulting, Ltd
ITEC324 Principle of CS III
ITEC324 Principle of CS III
Presentation transcript:

OOdesignProcess1 The Object-Oriented Design Process Part 1: objects & classes

OOdesignProcess2 Program development Programs exist to solve problems 3 phase development process: –Analysis –Design –Implementation

OOdesignProcess3 Program development Process is not linear –Implementation experience often leads to design modifications –New requirements require additional analysis/design OO design process facilitates evolutionary software development: –Problem domain, represented by objects and classes, is relatively stable –Methods within domain can be changed/improved as necessary

OOdesignProcess4 Object-oriented design Two questions, initially: –What are the players interacting in the system? –How should these players be represented? Answer to first question is the set of objects Answer to second question is the set of classes that describe the objects

OOdesignProcess5 Example: voice messaging system Your textbook uses the example of a simple voice mail system, which can do the following: –Receive voice messages as input –Store messages –Retrieve (and play back) messages –Delete messages In addition to the tasks above, the system is also capable of recording, storing, and playing back an outgoing message, and has passcode protection to ensure that only an authorized user can access his/her own “mailbox”

OOdesignProcess6 Analysis Phase In the analysis phase, we progress from a vague understanding of the problem to a precise description of tasks for the software to carry out functional specificationGoal of this phase is functional specification: a precise description of what the software should do

OOdesignProcess7 Use cases One form of functional specification Describe intended behavior of system from user standpoint Enumerate all tasks system does for user (one use case for each task) Describe what needs to be done, not how; algorithm selection occurs in implementation phase, use cases are analysis tools

OOdesignProcess8 Use cases Each use case is concerned with a specific scenario in which the system interacts with people or entities outside the system (users, for example) actorThe user or entity is called an actor The use case describes the steps necessary to bring the scenario to a completion point that is of some value to one of the actors

OOdesignProcess9 Use cases in voice mail example The set of use cases in the voice messaging system might include the following scenarios: –Reaching an extension –Leaving a message –Logging in –Retrieving messages –Changing the greeting –Changing the passcode

OOdesignProcess10 Example: use case for “reach an extension” 1.User dials main number for voice mail system 2.Voice mail system speaks a prompt: “Enter mailbox number followed by a #.” 3.User keys in recipient’s extension number 4.Voice mail system speaks another prompt: “You have reached mailbox xxxx. Please leave a message now.”

OOdesignProcess11 Use case variants Scenarios that could deliver a valuable outcome could also fail to do so Use cases include variants to describe these situations

OOdesignProcess12 Example: use case for “reach an extension” 1.User dials main number for voice mail system 2.Voice mail system speaks a prompt: “Enter mailbox number followed by a #.” 3.User keys in recipient’s extension number 4.Voice mail system speaks another prompt: “You have reached mailbox xxxx. Please leave a message now.” Variation #1: 1.1 In step 3, user enters an invalid extension 1.2 Voice mail system speaks prompt: “You have typed an invalid mail box number.” 1.3 Resume operation at step 2.

OOdesignProcess13 Design Phase In this phase, the program designer structures tasks identified in analysis phase into a set of interrelated classes Major goals of design phase: –Identify classes –Identify class responsibilities –Identify relationships between classes Again, these are goals, not steps; identification of one aspect of a class may lead to changes in, discovery of, others

OOdesignProcess14 Purposes of design phase Gather information as foundation for implementation phase Reduce time required for implementation and testing If done correctly, should be most time- consuming phase

OOdesignProcess15 Results of design phase Text descriptions of classes/responsibilities Diagrams depicting: –relationships between classes –usage scenarios –changes in class state

OOdesignProcess16 Implementation phase Goals of this phase include: –coding –testing –deployment

OOdesignProcess17 Traditional development vs. OOP Traditional: –complete & test each functional unit –when all are finished & tested, integrate them –often frustrating, as parts don’t always fit together as well as planned OO development: –program grows gradually –working classes and class clusters are successively attached, repeatedly tested –integration is part of the process, not done at the end

OOdesignProcess18 Rapid prototyping A prototype is a program that displays some of the functionality of the final product, deferring implementation of others Prototype can lead to new insights, leading to further analysis and design refinements OO design particularly suited to prototyping, since objects needed in prototype are likely to be same objects needed in final product

OOdesignProcess19 Objects & classes Objects: entities that interact in a computer program; properties include: –state: collection of information held by object –behavior: operations supported by object –identity: unique characteristic that differentiates two objects with identical state & behavior Class: describes properties of related objects

OOdesignProcess20 Objects & classes Class definition describes what an object is; includes: –operations allowed on the object –possible states of the object Objects formed using a particular class definition are said to be instances of the class

OOdesignProcess21 Identifying classes One of the major tasks of the design phase is finding the classes in a problem Need to examine functional specification to find objects, then develop classes to describe them

OOdesignProcess22 The Object-Oriented Design Process Part 1: objects & classes