Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "CS212: Object Oriented Analysis and Design Lecture 1: Introduction."— Presentation transcript:

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

2 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

3 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.

4 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

5 Course Layout OOAD C++UMLDPSE

6 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

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

8 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

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

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

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

12 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

13 Main OO Concepts EncapsulationAbstraction InheritancePolimorphism OO Concepts

14 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()

15 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.

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

17 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.

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

19 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

20 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

21 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.

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

23 Thank you Next Lecture: Quick Programming Recap


Download ppt "CS212: Object Oriented Analysis and Design Lecture 1: Introduction."

Similar presentations


Ads by Google