Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

Similar documents
Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

Software Development. Modular Design and Algorithm Analysis

Outline of Lecture 3. Identifying Objects. Requirements Analysis Overview. Actors, Objects and Classes

Object Oriented Software Development CIS Today: Object Oriented Analysis

CS 2530 INTERMEDIATE COMPUTING

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Assigning Responsibilities by Larman

Object-Oriented Systems Development: Using the Unified Modeling Language

CSC 330 Object Oriented Software Design. Software Analysis Phase

Patterns and Testing

CSC 330 Object Oriented Software Design Software Analysis Phase Object-Oriented Paradigm Object-Oriented Analysis cont d

CS 451 Software Engineering

Reengineering II. Transforming the System

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Enhanced Entity- Relationship Models (EER)

Object-Oriented Analysis Phase

Object-Oriented Analysis Phase

Inheritance. EEC 521: Software Engineering. Dealing with Change. Polymorphism. Software Design. Changing requirements Code needs to be flexible

Participant Packet. Quality Attributes Workshop. Bates College Integrated Knowledge Environment

Lab # 1. Structuring System Requirements: Diagrams

Object-Oriented Systems Analysis and Design Using UML

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Review: Cohesion and Coupling, Mutable, Inheritance Screen Layouts. Object-Oriented Design CRC Cards - UML class diagrams

CS 1042 OBJECT ORIENTED ANALYSIS AND DESIGN. UNIT 1 INRODUCTION 1.1 An Overview of Object Oriented System and Development

OO Analysis and Design with UML 2 and UP

Object Oriented System Development

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN. Unit : I -V

Model-based Transition from Requirements to High-level Software Design

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language?

CS/CE 2336 Computer Science II

Design and Information Hiding

Learning OOABL - The Human Factor

SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN. Unit : I -V

References: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 1/13/ UML

References: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 9/25/ UML

Abstract. 1. The Expanded Role of Programmers. Kent Beck Ward Cunningham Tektronix, Inc. Presented at CASE 87, Boston Mass.

An Introduction to Patterns and Pattern Languages. Overview. Patterns -- Why? Patterns -- Why?

Software Engineering from a

Architectural Blueprint

Software Engineering - I

Software Design And Modeling BE 2015 (w. e. f Academic Year )

Requirements & Domain Models. Lecture 13: Object Oriented Modelling. Nearly anything can be an object. Object Oriented Analysis

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

Chapter (4) Enhanced Entity-Relationship and Object Modeling

Methods for requirements engineering

Designing applications. Main concepts to be covered

06. Analysis Modeling

Conceptual Data Modeling and the Entity- Relationship Model. Department of Computer Science Northern Illinois University September 2014

Introduction... ix. Chapter 1: Exploring Fundamental Programming Concepts... 1

Object Model. Object Orientated Analysis and Design. Benjamin Kenwright

Course 3 7 March

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

PROGRAM SPECIFICATION INTRODUCTION

Chapter 8: Enhanced ER Model

OO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado

Guide to applying the ESA software engineering standards to projects using Object-Oriented Methods

Chapter 4. Sahaj Computer Solutions Object Oriented Systems Development 1

CHAPTER 4 Domain Modeling

Topic 13 Object-oriented Analysis

Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks

CHAPTER 9 DESIGN ENGINEERING. Overview

Software Architectures. Lecture 6 (part 1)

An Efficient Methodology for Developing and Maintaining Consistent Software Using OOAD Tools

Enhanced Entity-Relationship (EER) Modeling

Functional Design of Web Applications. (partially, Chapter 7)

Software Engineering

Object Oriented Design: Identifying Objects

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Snapshots/User Manual for last two year students (Session & ) who had taken admission directly through DDE Online Panel

Documentation of SAP Student Lifecycle Management (IS-HER- CM) BS 7 (EHP 4)

Sr. No. Subject. 1 Paper I- Theory Computer Component Unit-I- Computer Organization & Architecture Unit-II- Software Engg Unit-III-O.S.

Conceptual and Logical Design

Software Architecture and Design I

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

A Data Modeling Process. Determining System Requirements. Planning the Project. Specifying Relationships. Specifying Entities

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Object-Oriented Programming CSCI-UA

CS487 Midterm Exam Summer 2005

Suggested answers are provided below. These answers are presented top-down, left to right.

The Music Notation Toolkit: A Study in Object- Oriented Development

Software component interactions and sequence diagrams

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

1 Executive Overview The Benefits and Objectives of BPDM

Objects First with Java

Object-Oriented Analysis and Design Using UML

Design and Evolution of an Agent-Based CASE System for OOAD

CHAPTER 5 GENERAL OOP CONCEPTS

CSC Advanced Object Oriented Programming, Spring Overview

Software Service Engineering

Database Management Systems MIT Introduction By S. Sabraz Nawaz

Programming 2. Object Oriented Programming. Daniel POP

UNIT III. Software Design

Database Systems. Overview - important points. Lecture 5. Some introductory information ERD diagrams Normalization Other stuff 08/03/2015

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

(Team Name) (Project Title) Software Design Document. Student Name (s):

Managing Change and Complexity

Evolution of Service Oriented Architectures

Transcription:

Object Oriented Processes R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

Life Cycle Models Waterfall Spiral Fountain Extreme Model Driven

Phases and their relations with object orientation requirements modeling analysis of requirements and the domain domain modeling design of solution space implementation develop-test-build refactoring deploying the solution

Requirements modeling functional requirements core business logic, business protocols etc. non-functional requirements performance, distribution, security etc.

OOSE Transforming requirements into OO implementation applying object orientation in modeling There is also a process called OOSE, which is use case driven (Jacobson)

Methods of organization Differentiation of experience into objects and their attributes Distinction between whole objects and their parts Formation of classes of objects and distinction/similarities between the classes [Classification theory] OOA builds upon these three organizational methods

Primitives for organization Abstraction Encapsulation Inheritance Association Communication with messages

Major approaches to analysis Functional decomposition Subfunctions + function interfaces Dataflow Analysis Data and control flows Data transformations, transformers Data and control stores Information modeling: Entity Relationships Entities, relations, subtypes, associations Object Oriented Classes and objects, inheritance, associations, messages

Coad and Yourdon s OOA Process

Major activities (Layers) in an OOA process Finding classes and objects Identifying structures Identifying subjects Defining attributes Defining services

Layer 1: Finding classes and objects Objects are abstractions in problem domain Classes describe one or more objects with uniform set of attributes and behavior

Where to look for? Observe first hand go to the site of use Listen to problem domain experts Reuse previous OOA results Reuse results from similar systems Read the requirements document Ask the client for a concise summary

What to look for? Roles E.g. supervisor, clerk, student, faculty, manager, account holder, member Things and Structures in the problem domain E.g. Types of vehicles, types of operators for the system Devices E.g. sensor, port, modem Operational procedures E.g. registration, drop a course, pay fees, issue book Events remembered E.g. successful Registration, update, login session Places, locations Machine a.b.c.d, branch of a bank

How to name? Use Nouns in singular Nouns with adjectives Activity names Standard vocabulary in problem domain

Layer 2: Identifying Structures What s structure? Why structure? What to structure? Objects, activities How to structure? Inheritance, part-whole, client-server, peer-peer

Layer 3: Identifying Subjects What are they? e.g. organization, persons, vehicles, sensors Why? How select refine construct add

Layer 4: Attribute Layer what? how? attributes,instance connections etc. Visibilities

Layer 5: Service Layer what? req/response, state machines, protocols Why? How?

Beck and Cunningham s CRC Method of Object Identification

CRC A Method for object oriented thinking Classes Responsibilities and Collaborators Class name Its responsibilities Its collaborators

CRC: our recommendation Class name Its responsibilities Its <collaborators collaborations> Collaborators are other CRC cards Collaborations will be their responsibilities

A system decomposed in CRCs Class name Its responsibilities Its collaborators Class name Its responsibilities Its collaborators Class name Its responsibilities Its collaborators Class name Its responsibilities Its collaborators Class name Its responsibilities Its collaborators

Contributions of CRC The authors found that CRC gives a perspective of object-ness in the problem domain It s a good technique to teach object decomposition to novices A card is 4X6 inch size (palmtop)

Classroom Case study IIT Lan Acadaemic system for courses, registrations, grades

References Peter Coad/ Edward yourdon: Objectoriented Analysis, Yourdon press computing series, Pearson education, 1991 Kent Beck, Ward Cunningham: A laboratory for object oriented thinking, OOPSLA 1989 conference