Download presentation
Presentation is loading. Please wait.
Published byScarlett Watkins Modified over 9 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.