21
1 © 2011 | PN AZRINA BINTI TAHIR

1-2 Basic Object Technology Concept Terminology

Embed Size (px)

Citation preview

Page 1: 1-2 Basic Object Technology Concept Terminology

1

© 2011 | PN AZRINA BINTI TAHIR

Page 2: 1-2 Basic Object Technology Concept Terminology

2

Page 3: 1-2 Basic Object Technology Concept Terminology

3

© 2011 | PN AZRINA BINTI TAHIR

Page 4: 1-2 Basic Object Technology Concept Terminology

• Objects▫ Instance of a class.▫ Can be defined as a thing.▫ Set of attribute and behavior.

• Attribute▫ Characteristic of the object▫ State of an object

• Behavior▫ Process or operation of the object that usually modify the state of an attribute.

© 2011 | PN AZRINA BINTI TAHIR

4

Page 5: 1-2 Basic Object Technology Concept Terminology

© 2011 | PN AZRINA BINTI TAHIR

5

Object Car

Attribute -Color-No of tire-No of door-Chassis

Operation -Driving

Page 6: 1-2 Basic Object Technology Concept Terminology

© 2011 | PN AZRINA BINTI TAHIR

6

• Object-oriented analysis and design (OOAD) is a software engineering approach that models a system as a group of interacting objects.

• Each object represents some entity of interest in the system being modeled, and is characterized by its class, its state (attribute), and its behavior.

• It also can be define as a process of analyzing and designing a system from an object-oriented point of view.

• Various models can be created to show the static structure, dynamic behavior, and run-time deployment of these collaborating objects. There are a number of different notations for representing these models, such as the Unified Modeling Language (UML).

Page 7: 1-2 Basic Object Technology Concept Terminology

© 2011 | PN AZRINA BINTI TAHIR

7

• To emphasize a problem domain and logical solution from the perspective of objects (things, concepts or entities)

• OO Analysis▫ To find and describe the objects or concepts in the problem domain.▫ For example in the Library Information System, some of the concepts include Book, Library

and Patron.

• OO Design▫ To define software objects (attributes and operations) and how they collaborate to fulfill the

requirements that will be implemented in an OO programming language.▫ For example in the Library Information System, a Book is an object that have a title as it

attribute and getChapter as the method.

• OO Programming▫ Design components are implemented.

Page 8: 1-2 Basic Object Technology Concept Terminology

• The Unified Modeling Language or UML is a language for specifying, visualizing, constructing and documenting the artifacts of software systems, as well as for business modeling and other non-software system.

• It is also a graphical modeling language that is used to express designs. 

• It is a standardized language in which to specify the artifacts and components of a software system. 

• It is important to understand that the UML describes a notation and not a process. 

• It does not put forth a single method or process of design, but rather is a standardized tool that can be used in a design process.

© 2011 | PN AZRINA BINTI TAHIR

8

Page 9: 1-2 Basic Object Technology Concept Terminology

• There is nine(9) diagram that can be used in UML :-

© 2011 | PN AZRINA BINTI TAHIR

9

Diagram Description

Use case diagram show actors (people or other users of the system), use cases (the scenarios when they use the system), and their relationships

Class diagram The class diagram is core to object-oriented design.  It describes the types of objects in the system, show classes and the relationships between them

Sequence diagram show objects and a sequence of method calls they make to other objects.

Collaboration diagram

show objects and their relationship, putting emphasis on the objects that participate in the message exchange

State diagram show states, state changes and events in an object or a part of the system

Activity diagram show activities and the changes from one activity to another with the events occurring in some part of the system

Component diagram

show the high level programming components (such as KParts or Java Beans).

Deployment diagram

show the instances of the components and their relationships.

Entity relationship diagram

show data and the relationships and constraints between the data.

Page 10: 1-2 Basic Object Technology Concept Terminology

• UML offers a standard way to visualize a system's architectural blueprints, including elements such as:▫ activities▫ actors▫ business processes▫ database schemas▫ (logical) components▫ programming language statements▫ reusable software components.

© 2011 | PN AZRINA BINTI TAHIR

10

Page 11: 1-2 Basic Object Technology Concept Terminology

© 2011 | PN AZRINA BINTI TAHIR

11

• To analyze a problem (case study), there will be three(3) main factor to be considered which is:-▫ Identify problem domain▫ Identify objects▫ Identify object attributes and operations

• Example of case study:

DirectClothing Inc. Sells shirts from their catalog. Business is growing 30 percent per year and they need a new order entry system. You have been contracted by DirectClothing to design the new system.

DirectClothing produces a catalog of clothing every six months and mails it to subscribers. Each shirt in the catalog has an item identifier (ID), one or more colors (each with a different color code), one or more sizes, a description and a price.

DirectClothing accepts cheques and credit cards.

to place an order, customers can call DirectClothing to order directly from a customer service representative (CSR) or customers can mail or fax an order form to DirectClothing.

Page 12: 1-2 Basic Object Technology Concept Terminology

© 2011 | PN AZRINA BINTI TAHIR

12

• A problem domain is the scope of the problem that need to be solve.

• For example, “Create a system allowing order entry people to enter and accept payment for an order”.

Page 13: 1-2 Basic Object Technology Concept Terminology

© 2011 | PN AZRINA BINTI TAHIR

13

• Objects can be physical or conceptual.

• Object have attributes (characteristics).▫ Size, name, shape and so on.

• Object have operations (the things they can do)• Setting a value, displaying a screen or increasing speed.

Page 14: 1-2 Basic Object Technology Concept Terminology

© 2011 | PN AZRINA BINTI TAHIR

14

Page 15: 1-2 Basic Object Technology Concept Terminology

© 2011 | PN AZRINA BINTI TAHIR

15

• Additional criteria for recognizing objects:• Relevance to the problem domain

• Does the object exist within the boundaries of the problem domain?• Is the object required for the solution to be complete?• Is the object required as part of an interaction between a user and the solution?

• Independent existence• For an item to be an object and not an attribute of another object, it must exist

independently in the context of problem domain.

• Possible objects in the DirectClothing case study as follow:

Page 16: 1-2 Basic Object Technology Concept Terminology

• Attributes are data:▫ Order ID ▫ Customer ID

Operations are action: Delete Item Change ID

© 2011 | PN AZRINA BINTI TAHIR

16

Order object

Page 17: 1-2 Basic Object Technology Concept Terminology

• Object with another object as an attribute

© 2011 | PN AZRINA BINTI TAHIR

17

Page 18: 1-2 Basic Object Technology Concept Terminology

• Possible attributes and operations for objects in the DirectClothing, Inc. case study

© 2011 | PN AZRINA BINTI TAHIR

18

Page 19: 1-2 Basic Object Technology Concept Terminology

© 2011 | PN AZRINA BINTI TAHIR

19

Page 20: 1-2 Basic Object Technology Concept Terminology

© 2011 | PN AZRINA BINTI TAHIR

20

• To design a class you need to identify:▫ Object (class name)▫ Attributes (variables name)▫ Operations (methods name)

• Syntax:

ClassName

attributeVariableName [range of values]attributeVariableName [range of values]…

methodName()methodName()…

Page 21: 1-2 Basic Object Technology Concept Terminology

• Example:

© 2011 | PN AZRINA BINTI TAHIR

21

Shirt

shirtIDPriceDescriptionSizecolorCode R=Red, B=Blue, G=Green

calculateShirtID()displayInformation()