Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?

Similar presentations


Presentation on theme: "Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?"— Presentation transcript:

1 Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?

2 Software development (SD) & Software development methodologies (SDM):
SD refers to all activities that go into producing an information system SD is dynamic & always undergoing major changes Many tools and methodologies It consists of system analysis, design, implementation, testing and maintenance SDM is a series of processes that , if followed, can lead to the development of an application It describes how the work is to be carried out to achieve the original goal based on the system requirements It consists of a number of steps and rules that should be performed during development

3 Orthogonal views of the software:
Traditional development technique 1. Algorithmic centric Focus on algorithm (what is it doing) 2. Data centric Focus on data (what data is accessed) Object Oriented System Development (OOSD) or Object Oriented Analysis and Design (OOAD) Focus on object (Algorithm & Data)

4 OOSD Methodology: It is a way to develop software by building self contained objects that can be easily replaced, modified and reused In an O-O environment, software is a collection of discrete objects. These objects encapsulate their data and functionalities to model real world "objects”.

5 OOSD Methodology: An object-oriented life cycle encourages a view of the world as a system of cooperative and collaborating agents. In an OO system, everything is an object and each object is responsible for itself

6 OOSD Methodology: Example:
A window object is responsible for things like opening, sizing and closing itself. Class window { Data_type data; void close(.,.) {……..} int open(.,.) {…….} float sizing(.,.) {…..} } Class chart { Void draw(.,.) {…..}

7 OOSD Methodology: Note:
Rather than writing a lot of code to do all the things that have to be done, you tend to create a lot of helpers that take on an active role, a spirit and that become a community whose interaction becomes an application

8 Why an Object Orientation?:
Higher level of abstraction: Supports abstraction at object level The development can proceed at the object level & ignore rest of the system for as long as necessary This makes system development much simpler Seamless transition among different phases of SD: Easy to move from one language to another Analysis & design is not language centric Reduces the level of the complexity & redundancy More robust system development

9 Why an Object Orientation?:
Encouragement of good programming techniques: Functions and data held together Objects are independent in a system Object change has no impact on other System achieves the benefits of an object orientation Easier to produce more modular & reusable code Promotion of reusability: Objects are reusable Each object stands by itself or within a small circle of peers Powerful Inheritance technique Only differences & enhancements between classes (super & sub-class) need to be designed

10 Agenda Object basics Object Objects responds to messages Classes
Meta-Class

11 Object basics: Motivating factor behind OOAD: Object:
Make software development easier & more natural by raising the level of abstraction to the point where applications can be implemented Object: It was first formally utilized in the simula language to simulate some aspect of reality A real world entity, identifiable separate from its surroundings A combination of data and logic that represents some real world entity It is associated with Properties Procedures Identity persistence

12 Object properties (Attributes):
Object basics: Object properties (Attributes): Describe the state of an object It refers to description rather than how they are represented in a particular programming language Example I am an Employee. I know my name, social security number and my address.

13 Object properties (Attributes):
Object basics: Object properties (Attributes): Example I am a Car. I know my color, manufacturer, cost, owner and model.

14 Object procedures (Methods):
Object basics: Object procedures (Methods): Methods or procedures define its behavior Behavior denotes the collection of methods that abstractly describes what an object is capable of doing Method encapsulate the behavior of an object, provide interface to the object The use of methods to exclusively access or update properties Object take responsibility for their own behavior. It simplifies application development & maintenance

15 It does things Object basics: Object procedures (Methods): Example
I know how to Compute my payroll. It does things

16 Object basics: Object procedures (Methods): Example I know how to stop.

17 Object Identity (OID):
Object basics: Object Identity (OID): Every object has its own unique & immutable identity It comes into being when the object is created & continue to represent that object from then on This identity never confused with another object, even if the original object has been deleted. It never reused The identity name never changes even if all the properties of the object change OID’s help to establish relationships/communication among objects OID’s help to implement object references during implementation Example : Employee Id, stud_Reg_Number

18 Object basics: Object persistence: Object have life time
They are explicitly created & can exist for a period of time (usually the duration of the process in which they were created) An object can persist beyond application session, this characteristics is called object persistence A file or database provides longer lifeline The lifetime of an object can be explicitly terminated. After an object is deleted

19 Objects responds to messages:
Object basics: Objects responds to messages: Messages essentially are non specific function calls Objects respond to messages according to methods defined in its class Different objects can respond to same message in different ways Polymorphism is the main difference between a message and a subroutine call Draw message can be sent to many objects like triangle, circle or line & each object could act differently

20 Objects responds to messages (con’t):
Object basics: Objects responds to messages (con’t): Message is the instruction & Method is the implementation A message has a name just like method An object understands a message when it can match the message to a method that has the same name as the message Message says what to do & method says how to do something Message so general, it can be used over & over again in many different contexts Changes to method has no impact on messages & system

21 Object basics: Classes:
Classes are used to distinguish one type of object from another Class is a set of objects that share a common structure & common behavior A single object is simply an instance of a class Every object of a given class has the same data format & responds to the same instructions Can create unlimited instances (except for singleton) Can use any of the predefined classes

22 Object basics: Meta Class (con’t): Everything is an object. How about a class? Is a class an object? Yes, a class is an object! So, if it is an object, it must belong to a class. Indeed, class belongs to a class called a Meta-Class or a class' class. All classes are instances of a Meta-class

23 Object basics: Meta Class: Meta-class used by the compiler. For example, the meta-classes handle messages to classes, such as constructors , "new“ and static member data


Download ppt "Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?"

Similar presentations


Ads by Google