CS212: Object Oriented Analysis and Design Lecture 1: Introduction.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

OBJECT ORIENTED PROGRAMMING M Taimoor Khan
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Object-Oriented Analysis and Design
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Unified Modeling Language
Introduction To System Analysis and Design
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Object Oriented Analysis and Design
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Lecturer: Dr. AJ Bieszczad Chapter 66-1 Object-Oriented analysis and design Special nature of OO development Use cases Design with UML OO system design.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
1 Object-Oriented Software Engineering CIS 375 Bruce R. Maxim UM-Dearborn.
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
BACS 287 Basics of Object-Oriented Programming 1.
Introduction To System Analysis and design
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
Copyright © 2002, Systems and Computer Engineering, Carleton University Intro.ppt * Object-Oriented Software Development Unit 1 Course.
C++ Object Oriented 1. Class and Object The main purpose of C++ programming is to add object orientation to the C programming language and classes are.
RUP Fundamentals - Instructor Notes
Object Oriented Concepts & Principles Ingrid Kirschning & Gerardo Ayala.
Satzinger Chp. 2 Part Part 4 of 4 2 Object-Oriented Analysis and Design with the Unified Process Testing Testing is critical discipline Testing activities.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
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.
Unified Modeling Language, Version 2.0
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Object-Oriented Analysis and Design Fall 2009.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN Objectives Describe the book goals and scope Define OOA/D (Object-Oriented Analysis and Design) Illustrate.
The Systems Development Environment Systems Analysis and Design II.
1 Unified Modeling Language, Version 2.0 Chapter 2.
CMSC 345 Fall 2000 OO Design. Characteristics of OOD Objects are abstractions of real-world or system entities and manage themselves Objects are independent.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Objectives In this lesson, you will learn about : *Object-oriented modeling * Origin and evolution of UML *Architecture of UML *User View 3 Actor 3 Use.
Basic Characteristics of Object-Oriented Systems
Object Oriented Analysis & Design By Rashid Mahmood.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
TK2023 Object-Oriented Software Engineering
Object-Oriented Design
Object-Oriented Analysis and Design
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Chapter 5: Object Oriented Analysis and Design
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
COMP 350: Object Oriented Analysis and Design Lecture 2
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
2D1359 & 2D1360 : Object Oriented Modeling, Programming & Analysis
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CSCI 360: Software Architecture & Design
Chapter 20 Object-Oriented Concepts and Principles
Presentation transcript:

CS212: Object Oriented Analysis and Design Lecture 1: Introduction

Object-oriented and Analysis emphasizes an investigation of the problem and requirements, rather than a solution. Design emphasizes a conceptual solution that fulfils the requirements, rather than its implementation. Do the right thing Do the thing right

What is OOAD? Object-oriented analysis emphasises on finding and describing the objects—or concepts—in the problem domain. Object-oriented design emphasises on defining software objects and how they collaborate to fulfil the requirements.

Example: Library management system Domain Concepts Book title Visualizatio n of Domain Concepts Public class Book{ private String title; public Chapter getChapter (int){…} } Representation in an object oriented programming language

Course Layout OOAD C++UMLDPSE

Introduction to OOAD (CS212) Repeatable solution to a commonly occurring problem Design and development of software Modeling Language to visualize design of a system Object Oriented Programming C+ + UM L DPSE

Course structure OOAD Theory OO Concepts Design Patterns OO Modeling LaboratoryC++

Marks distribution Theory Class participation: 5 Mid semester 1: 15 Mid semester 2: 20 End semester: 60 Lab Each lab: 15 Mid semester Practical: 20 End semester Practical: 30

Lecture Plan Mid sem 1 Class and Object OverloadingInheritance Mid sem 2 Virtual Function and Polymorphism Exception handling Template End sem STLUML Design Patterns

About Lab sessions C++ programming assignments Thursday – 1 PM to 3 PM - B14CS001 to B14SS017 Friday – 1 PM to 3 PM - UG to UG Venue: Computer centre 10 programming assignments, 1 mid-semester practical, 1 end-semester practical

Evaluation criteria for the lab Format - 2 Documentation - 2 Response - 4 Design - 3 Execution - 4

Procedural vs. Object-Oriented Line of code Data is stored independent of application Each object is independent of the others OO-application Procedural application DATA

Main OO Concepts EncapsulationAbstraction InheritancePolimorphism OO Concepts

Encapsulation Each objects methods manage it’s own attributes. This is also known as information hiding. An object A can learn about the values of attributes of another object B, only by invoking the corresponding method associated to the object B. Example: Class: Student Attributes: Name, roll number Methods: getName(), setRollNumber()

Abstraction A problem solving tool that allows one to think of a problem at a higher level without worrying about the details. Provides only essential information to the outside world and hides their background details, To represent the needed information in program without presenting the details. For example, a clock shows the time to the user, without telling how it is internally stored.

Abstraction vs. Encapsulation Every entity that performs abstraction is encapsulated internally but every thing that shows encapsulation need not be abstraction always.

Classes Classes are templates that have methods and attribute names and type information packaged in a single unit Objects are generated by these classes and they actually contain values. We design an application at the class level. During execution objects are created by classes as they are needed to contain state information. Objects are removed when not needed.

Class & Objects Name Number CLASS: Furniture methods: Example ChangeNumber Objects: Desk ChairA ChairB 45687

Class Hierarchies & Inheritance Classes can be arranged in hierarchies so that more classes inherit attributes and methods from more abstract clases Class hierarchy diagrams Class: Chair subclasses Chair Type AChair Type B

Polimorphism One method will behave differently when it is applied to the objects of different classes Different methods associated with different classes can interpret the same message in different ways. Example: an object can send a message PRINT to several objects, and each one will use it’s own PRINT method to execute the message. E.g. Overloading

Unified Process Inception— approximate vision, business case, scope, vague estimates. Elaboration— refined vision, iterative implementation of the core architecture, resolution of high risks, identification of most requirements and scope, more realistic estimates. Construction— iterative implementation of the remaining lower risk and easier elements, and preparation for deployment. Transition— beta tests, deployment.

Schedule-oriented terms in the Unified Process InceptionElaborationConstructionTransition IterationPhase Milestone Release Final Product

Thank you Next Lecture: Quick Programming Recap