SlideShare a Scribd company logo
Understanding ObjectsUnderstanding Objects
Object Oriented Design for Content Specialists
© Mark Lewis
mlewis@ditametrics.com
Part of the
Alignment blog series.
Download the audio
Recording: mp3 & wav
What & WhyWhat & Why
 For Software Development
– facilitates re-use of code
– single point of maintenance
– data hiding or encapsulation
– API = Application Programming Interface
 For Technical Writing
– facilitates re-use of content
– single point of maintenance
– CMS = Content Management System
– AuthorIT
– XML
Take-AwaysTake-Aways
OO defined for Tech Writers
Examples
Book Recommendations
Ability to speak and do OO
AgendaAgenda
Definitions & Concepts
Simple Objects
Composite Objects
Behaviors / Methods
Responsibilities / Encapsulation
Inheritance
Content Management & Re-use
Definitions & ConceptsDefinitions & Concepts
Object
What it is , What it does and How it interacts with
other objects
…share a common structure and a common behavior
…has a predictable or fixed relationship with other
objects
Definitions & ConceptsDefinitions & Concepts
Class
The definition or blueprint of an Object. Almost
interchangeable with “Object”.
Attribute
A characteristic of an object. What it is…
…programming lingo…
Also known as a Property.
Behavior
An activity of an object. What it does/is responsible
for…
…programming lingo…
Also known as a Method.
Definitions & ConceptsDefinitions & Concepts
Object
A categorization or classification of things
that allows us to organize functionality or
information in a way that it may be re-
used / re-purposed.
The StrategyThe Strategy
Find the commonality in the “what it is” and
“what it does”
Find the commonality in the attributes and
behaviors
What is shared?
! The design will depend on your GOALS
SimpleSimple
Cell
TypesTypes
Cell Types
ComplexComplex
Cell, Organ, System
Common AttributesCommon Attributes
Muscle Cell
– Membrane
– Nucleus
– Endoplasmic Reticulum (protein factory)
– Cytoplasm (fluid medium)
– Mitochondria (energy converters)
Common AttributesCommon Attributes
Blood Cell
– Membrane
– Nucleus
– Endoplasmic Reticulum (protein factory)
– Cytoplasm (fluid medium)
– Mitochondria (energy converters)
Common AttributesCommon Attributes
Nerve Cell
– Membrane
– Nucleus
– Endoplasmic Reticulum (protein factory)
– Cytoplasm (fluid medium)
– Mitochondria (energy converters)
Simple ObjectSimple Object
cCell “class definition”
– Membrane
– Nucleus
– Endoplasmic Reticulum (protein factory)
– Cytoplasm (fluid medium)
– Mitochondria (energy converters)
! Attributes common to all cells
Common AttributesCommon Attributes
Employee
– Address Line 1
– Address Line 2
– City
– State
– Zip
– Other Employee specific attributes:
 Name, SSN, Gender, Full/Part Time, etc.
Common AttributesCommon Attributes
Company
– Address Line 1
– Address Line 2
– City
– State
– Zip
– Other Company specific attributes:
 Name, Corp. Type, EIN, etc.
Common AttributesCommon Attributes
Vendor
– Address Line 1
– Address Line 2
– City
– State
– Zip
– Other Vendor specific attributes:
 Name, Vendor Type, Govt. Work, etc.
Simple ObjectsSimple Objects
 cAddress “class definition”
– Address Line 1
– Address Line 2
– City
– State
– Zip
! Classification or categorization of common
attributes / characteristics
Composite ObjectsComposite Objects
 Employee
– cAddress {Addr 1, Addr 2 ….}
– Employee specific attributes
 Company
– cAddress {Addr 1, Addr 2 ….}
– Company specific attributes
 Vendor
– cAddress {Addr 1, Addr 2 ….}
– Vendor specific attributes
! Re-use of an object
Composite ObjectsComposite Objects
Company
– Mailing Address
– Billing Address
– Shipping Address
– Company specific attributes
! Re-use of an object
Ease of MaintenanceEase of Maintenance
 cAddress/cContact (* = new)
– Address Line 1
– Address Line 2
– City
– State
– Zip
– Voice Phone Number*
– Fax Phone Number*
– Email*
! Maintenance is reduced to one place
BehaviorsBehaviors
 cCell “class definition”
– Grow
– Reproduce
– Intake Nutrients
– Output Waste
– Send Message
! Behaviors are what an object does & what it is
responsible for
! Behaviors common to all cells
BehaviorsBehaviors
 Muscle
– Contract
– Relax
 Blood
– Absorb Oxygen
– Release Oxygen
 Nerve
– Interstate Messaging
! Behaviors are also known as Methods
PracticePractice
Business Letter
Composite ObjectsComposite Objects
Cell, Organ, System
CollectionsCollections
Resume
– Name
– Contact Info.
– Objective
– Skills
– Experience
– References
– Hobbies
! A Collection is a set of objects
CollectionsCollections
Experience
– Date Range
– Company
– Position
– Description
PracticePractice
Book
Intermission / SponsorIntermission / Sponsor
Composite ObjectsComposite Objects
Refrigerator
Composite ObjectsComposite Objects
Refrigerator
– Freezer Capacity
– Fridge Capacity
– Freezer Temp
– Frig Temp
– Doors
– Drawers
– Color
Composite ObjectsComposite Objects
 cCooling Unit
– Capacity
– Temp “current”
– Maximum Temp
– Minimum Temp
– Light
– Drawers
– Door
– Color
– Dimensions
Composite ObjectsComposite Objects
Refrigerator
– Freezer Section : cCooling Unit
– Fridge Section : cCooling Unit
Refrigerator
– cCooling Units “collection”
! A composite object is known as a Parent
! An embedded object is known as a Child
EncapsulationEncapsulation
 cCooling Unit
Behaviors for accessing data. What it is.
– GetCapacity / SetCapacity
– GetDimensions / SetDimensions
– GetTemp “current” / SetTemp
– GetColor / SetColor
Behaviors that do something. What it does.
– DoorOpen / DoorClose
– LightOn / LightOff “private”
– Draw
! Encapsulation hides the internals of data and
behaviors from other objects
! Private behaviors may not be used/called by other
objects
Parent & Child ObjectsParent & Child Objects
Draw Discussion
GlossaryGlossary
Behavior Something that an object does or can do. Some behaviors may be
invoked by other objects others are strictly for internal use only.
…programming lingo…
Also know as a Method.
Public methods may be invoked / called by other objects.
Private methods may only be invoked / called internally by the
object itself.
Common AttributesCommon Attributes
cCell “class definition”
– Membrane
– Nucleus
– Endoplasmic Reticulum (protein factory)
– Cytoplasm (fluid medium)
– Mitochondria (energy converters)
! Attributes common to all cells
Common BehaviorsCommon Behaviors
cCell “class definition”
– Grow
– Reproduce
– Intake Nutrients
– Output Waste
– Send Message
! Behaviors are what a object can do &
what it is responsible for
Unique BehaviorsUnique Behaviors
 Muscle
– Contract
– Relax
 Blood
– Absorb Oxygen
– Release Oxygen
 Nerve
– Interstate Messaging
! Unique attributes and behaviors cause
the need for Inheritance
InheritanceInheritance
 cMuscleCell : cCell
– Contract
– Relax
 cBlood : cCell
– Absorb Oxygen
– Release Oxygen
 cNerve : cCell
– Interstate Messaging
! An object that inherits from a base object gets
all the attributes & behaviors of the base
object PLUS any unique attributes & behaviors
InheritanceInheritance
Employee
– Name
– SSN
– Gender
– Contact info
– Pay Rate
InheritanceInheritance
cEmployee “class definition”
– Name
– SSN
– Gender
– cAddress
InheritanceInheritance
 cSalariedEmployee : cEmployee
– Annual Rate
– Accrued Vacation, Accrued Sick Time
 cHourlyFullTimeEmployee : cEmployee
– Hourly Rate
– Accrued Vacation, Accrued Sick Time
 cHourlyPartTimeEmployee : cEmployee
– Hourly Rate
! Look for the common attributes & behaviors.
Strategy.
Content ManagementContent Management
A form, slide layout or a skeleton doc
provides a template / class design.
Different from a WORD template (.DOT)
though, for .DOT provides styles only,
not structure.
Re-use MapRe-use Map
Structured ContentStructured Content
Employee: Definition, Usage, Special Considerations
Re-use in Reference GuideRe-use in Reference Guide
 From the menu tree, select
Payroll, Maintenance,
Employee
 Employee: An employee is an
individual who is performing or
has performed work on the
company's behalf while on the
company's payroll.
 Usage: The Employee
document is used by time, unit
pricing and expense input to
record appropriate charges for
project and payroll processes.
Used for sorting, analyzing,
inquiry and reporting purposes.
 Employee Code: Provides a
unique user-defined employee
identifier.
 From the menu tree, select
Payroll, Maintenance,
Employee
 Employee: An employee is an
individual who is performing or
has performed work on the
company's behalf while on the
company's payroll.
 Usage: The Employee
document is used by time, unit
pricing and expense input to
record appropriate charges for
project and payroll processes.
Used for sorting, analyzing,
inquiry and reporting purposes.
 Employee Code: Provides a
unique user-defined employee
identifier.
Payroll Master Files – Employee Maintenance Foundation > Master File Setup
Payroll Master Files – Employee Maintenance Foundation > Master File Setup
 From the menu tree, select
Payroll, Maintenance,
Employee, General tab
 The General Information tab
contains employee-related
attributes needed to process the
employee in the ABC system
 Name: Specifies the legal name
of the employee.
 Alpha Name: Alphabetical
employee name format.
 SSN / SIN: Identifies the
employee's federal tax
identification code such as the
U.S. federal Social Security
Number or the Canadian federal
Social Insurance Number.
 Usage: Used for third party
payroll system integration.
 From the menu tree, select
Payroll, Maintenance,
Employee, General tab
 The General Information tab
contains employee-related
attributes needed to process the
employee in the ABC system
 Name: Specifies the legal name
of the employee.
 Alpha Name: Alphabetical
employee name format.
 SSN / SIN: Identifies the
employee's federal tax
identification code such as the
U.S. federal Social Security
Number or the Canadian federal
Social Insurance Number.
 Usage: Used for third party
payroll system integration.
 Company: Specifies the Company for which the employee primarily works.
 Usage: Used as the Company code for employee related inputs such as time,
unit pricing and expense.
 Currency: Specifies the Currency or monetary unit of the employee.
 Usage: Specifies the Currency in which the employee will be paid for payroll
purposes. An Employee may charge to any Project Currency, but will be paid
in their Employee Currency.
 Organization: Specifies the Organization for which the employee primarily
works.
 Usage: Used as the default Organization code for employee related input
such as time, unit pricing and expense.
 Company: Specifies the Company for which the employee primarily works.
 Usage: Used as the Company code for employee related inputs such as time,
unit pricing and expense.
 Currency: Specifies the Currency or monetary unit of the employee.
 Usage: Specifies the Currency in which the employee will be paid for payroll
purposes. An Employee may charge to any Project Currency, but will be paid
in their Employee Currency.
 Organization: Specifies the Organization for which the employee primarily
works.
 Usage: Used as the default Organization code for employee related input
such as time, unit pricing and expense.
Agenda recapAgenda recap
Definitions & Concepts
Simple Objects
Composite Objects
Behaviors / Methods
Responsibilities / Encapsulation
Inheritance
Content Management & Re-use
The StrategyThe Strategy
Find the commonality in the “what it is” and
“what it does”
Find the commonality in the attributes and
behaviors
What is shared?
! The design will depend on your GOALS
WhyWhy
 For Software Development
– facilitates re-use of code
– single point of maintenance
– data hiding or encapsulation
– API = Application Programming Interface
 For Technical Writing
– facilitates re-use of content
– single point of maintenance
– CMS = Content Management System
– AuthorIT
– XML
ResourcesResources
Recommended Reading
Object Technology: A Manager’s Guide
David A. Taylor
Addison Wesley
ISBN: 0201309947
Managing Enterprise Content
Ann Rockley – www.Rockley.com
New Riders
ISBN: 0735713065
ResourcesResources
Recommended Website
Ann Rockley presentations
www.Rockley.com
OOD goodies
www.java.sun.com/docs/books/tutorial/java/concepts/
GlossaryGlossary
Object “An object corresponds to a concept, abstraction, or thing that can
be distinctly identified. During analysis, objects have attributes and
may be involved in relationships with other objects. During design,
the notion of object is extended by the introduction of methods and
objects attributes. In the implementation phase the notion of object
is determined by the programming language."1
“An object is a software bundle of related variables and methods.
Software objects are often used to model real-world objects you find
in everyday life. 3
Class "A set of objects that share a common structure and a common
behavior. A class is an abstraction, which represents the idea or
general notion of a set of similar objects."1
“A class is a blueprint or prototype that defines the variables and the
methods common to all objects of a certain kind.” 3
Class
Description
"Description of the attributes, methods interface and inheritances
relationships of a class."1
GlossaryGlossary
Attribute "A set of named values associated with an object or relationship."1
Behavior Something that an object does or can do. Some behaviors may be
invoked by other objects others are strictly for internal use only.
…programming lingo…
Also know as a Method.
Public methods may be invoked / called by other objects.
Private methods may only be invoked / called internally by the
object itself.
Inheritance “A class inherits state and behavior from its superclass. Inheritance
provides a powerful and natural mechanism for organizing and
structuring software programs. ” 3
Messaging “Software objects interact and communicate with each other using
messages. ” 3
ContactContactMark Lewis
via LinkedIn
And
mlewis@ditametrics.com
Thank You!
© Mark Lewis + ©David Taylor- Object Technology content
Guest Author: ROI ChapterGuest Author: ROI Chapter
DITA 101 2nd
edition
“Fundamentals of DITA for
Authors and Managers”
By the Rockley Group
with Mark Lewis
– For sale at LuLu.com
Technical ReviewerTechnical Reviewer
Managing Enterprise Content:
A Unified Content Strategy
2nd
edition
By Ann Rockley
& Charles Cooper
– For sale at Amazon.com
DITAMetrics.comDITAMetrics.com
Book & Spreadsheets
Published by
The Rockley Group
Metrics for Intelligent
Content
ResourcesResources
It’s about metrics
…for intelligent content
– white papers
– discussions
– webinar recordings
– thought leadership
ReferencesReferences
1 Object-Oriented Development: The Fusion Method
Coleman, Arnold, Bodoff, Dollin,Gilchrist, Hayes & Jeremaes
Prentice Hall
ISBN: 0133388239
2 Object Technology: A Manager’s Guide
David A. Taylor
Addison Wesley
ISBN: 0201309947
3 www.java.sun.com/docs/books/tutorial/java/concepts/

More Related Content

Similar to Understanding Objects by Mark Lewis

Programming in C++ and Data Strucutres
Programming in C++ and Data StrucutresProgramming in C++ and Data Strucutres
Programming in C++ and Data Strucutres
Dr. C.V. Suresh Babu
 
Cs2305 programming paradigms lecturer notes
Cs2305   programming paradigms lecturer notesCs2305   programming paradigms lecturer notes
Cs2305 programming paradigms lecturer notes
Saravanakumar viswanathan
 
Do More with Less: Semantic Technologies
Do More with Less: Semantic TechnologiesDo More with Less: Semantic Technologies
Do More with Less: Semantic Technologies
Colin Bell
 
09- Syed Rehan-ai-ppt2.pptx
09- Syed Rehan-ai-ppt2.pptx09- Syed Rehan-ai-ppt2.pptx
09- Syed Rehan-ai-ppt2.pptx
NandhiniV68
 
@note 23 Understanding Capability Maturity & Models 1-0
@note 23 Understanding Capability Maturity & Models 1-0@note 23 Understanding Capability Maturity & Models 1-0
@note 23 Understanding Capability Maturity & Models 1-0
Strategic Business & IT Services
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
arvind pandey
 
Hibernate Training Session1
Hibernate Training Session1Hibernate Training Session1
Hibernate Training Session1
Asad Khan
 
The Semantic Web - This time... its Personal
The Semantic Web - This time... its PersonalThe Semantic Web - This time... its Personal
The Semantic Web - This time... its Personal
Mark Wilkinson
 
C-ing the Future
C-ing the FutureC-ing the Future
C-ing the Future
Wayne Hodgins
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
Techglyphs
 
Object Oriented Programming.pptx
 Object Oriented Programming.pptx Object Oriented Programming.pptx
Object Oriented Programming.pptx
ShuvrojitMajumder
 
Cs 2352 object oriented analysis and design
Cs 2352 object oriented analysis and designCs 2352 object oriented analysis and design
Cs 2352 object oriented analysis and design
andrewsasi
 
Resilience Engineering: A field of study, a community, and some perspective s...
Resilience Engineering: A field of study, a community, and some perspective s...Resilience Engineering: A field of study, a community, and some perspective s...
Resilience Engineering: A field of study, a community, and some perspective s...
John Allspaw
 
73d32 session1 c++
73d32 session1 c++73d32 session1 c++
73d32 session1 c++
Mukund Trivedi
 
A Multifaceted Look At Faceting - Ted Sullivan, Lucidworks
A Multifaceted Look At Faceting - Ted Sullivan, LucidworksA Multifaceted Look At Faceting - Ted Sullivan, Lucidworks
A Multifaceted Look At Faceting - Ted Sullivan, Lucidworks
Lucidworks
 
03 namespace
03 namespace03 namespace
03 namespace
Baskarkncet
 
OOP-Advanced Programming with c++
OOP-Advanced Programming with c++OOP-Advanced Programming with c++
OOP-Advanced Programming with c++
Mohamed Essam
 
M01_OO_Intro.ppt
M01_OO_Intro.pptM01_OO_Intro.ppt
M01_OO_Intro.ppt
RojaPogul1
 
Data Management
Data ManagementData Management
Data Management
Jackie Wirz, PhD
 
The need for sophistication in modern search engine implementations
The need for sophistication in modern search engine implementationsThe need for sophistication in modern search engine implementations
The need for sophistication in modern search engine implementations
Ben DeMott
 

Similar to Understanding Objects by Mark Lewis (20)

Programming in C++ and Data Strucutres
Programming in C++ and Data StrucutresProgramming in C++ and Data Strucutres
Programming in C++ and Data Strucutres
 
Cs2305 programming paradigms lecturer notes
Cs2305   programming paradigms lecturer notesCs2305   programming paradigms lecturer notes
Cs2305 programming paradigms lecturer notes
 
Do More with Less: Semantic Technologies
Do More with Less: Semantic TechnologiesDo More with Less: Semantic Technologies
Do More with Less: Semantic Technologies
 
09- Syed Rehan-ai-ppt2.pptx
09- Syed Rehan-ai-ppt2.pptx09- Syed Rehan-ai-ppt2.pptx
09- Syed Rehan-ai-ppt2.pptx
 
@note 23 Understanding Capability Maturity & Models 1-0
@note 23 Understanding Capability Maturity & Models 1-0@note 23 Understanding Capability Maturity & Models 1-0
@note 23 Understanding Capability Maturity & Models 1-0
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
Hibernate Training Session1
Hibernate Training Session1Hibernate Training Session1
Hibernate Training Session1
 
The Semantic Web - This time... its Personal
The Semantic Web - This time... its PersonalThe Semantic Web - This time... its Personal
The Semantic Web - This time... its Personal
 
C-ing the Future
C-ing the FutureC-ing the Future
C-ing the Future
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
 
Object Oriented Programming.pptx
 Object Oriented Programming.pptx Object Oriented Programming.pptx
Object Oriented Programming.pptx
 
Cs 2352 object oriented analysis and design
Cs 2352 object oriented analysis and designCs 2352 object oriented analysis and design
Cs 2352 object oriented analysis and design
 
Resilience Engineering: A field of study, a community, and some perspective s...
Resilience Engineering: A field of study, a community, and some perspective s...Resilience Engineering: A field of study, a community, and some perspective s...
Resilience Engineering: A field of study, a community, and some perspective s...
 
73d32 session1 c++
73d32 session1 c++73d32 session1 c++
73d32 session1 c++
 
A Multifaceted Look At Faceting - Ted Sullivan, Lucidworks
A Multifaceted Look At Faceting - Ted Sullivan, LucidworksA Multifaceted Look At Faceting - Ted Sullivan, Lucidworks
A Multifaceted Look At Faceting - Ted Sullivan, Lucidworks
 
03 namespace
03 namespace03 namespace
03 namespace
 
OOP-Advanced Programming with c++
OOP-Advanced Programming with c++OOP-Advanced Programming with c++
OOP-Advanced Programming with c++
 
M01_OO_Intro.ppt
M01_OO_Intro.pptM01_OO_Intro.ppt
M01_OO_Intro.ppt
 
Data Management
Data ManagementData Management
Data Management
 
The need for sophistication in modern search engine implementations
The need for sophistication in modern search engine implementationsThe need for sophistication in modern search engine implementations
The need for sophistication in modern search engine implementations
 

Recently uploaded

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 

Recently uploaded (20)

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 

Understanding Objects by Mark Lewis

  • 1. Understanding ObjectsUnderstanding Objects Object Oriented Design for Content Specialists © Mark Lewis mlewis@ditametrics.com Part of the Alignment blog series. Download the audio Recording: mp3 & wav
  • 2. What & WhyWhat & Why  For Software Development – facilitates re-use of code – single point of maintenance – data hiding or encapsulation – API = Application Programming Interface  For Technical Writing – facilitates re-use of content – single point of maintenance – CMS = Content Management System – AuthorIT – XML
  • 3. Take-AwaysTake-Aways OO defined for Tech Writers Examples Book Recommendations Ability to speak and do OO
  • 4. AgendaAgenda Definitions & Concepts Simple Objects Composite Objects Behaviors / Methods Responsibilities / Encapsulation Inheritance Content Management & Re-use
  • 5. Definitions & ConceptsDefinitions & Concepts Object What it is , What it does and How it interacts with other objects …share a common structure and a common behavior …has a predictable or fixed relationship with other objects
  • 6. Definitions & ConceptsDefinitions & Concepts Class The definition or blueprint of an Object. Almost interchangeable with “Object”. Attribute A characteristic of an object. What it is… …programming lingo… Also known as a Property. Behavior An activity of an object. What it does/is responsible for… …programming lingo… Also known as a Method.
  • 7. Definitions & ConceptsDefinitions & Concepts Object A categorization or classification of things that allows us to organize functionality or information in a way that it may be re- used / re-purposed.
  • 8. The StrategyThe Strategy Find the commonality in the “what it is” and “what it does” Find the commonality in the attributes and behaviors What is shared? ! The design will depend on your GOALS
  • 12. Common AttributesCommon Attributes Muscle Cell – Membrane – Nucleus – Endoplasmic Reticulum (protein factory) – Cytoplasm (fluid medium) – Mitochondria (energy converters)
  • 13. Common AttributesCommon Attributes Blood Cell – Membrane – Nucleus – Endoplasmic Reticulum (protein factory) – Cytoplasm (fluid medium) – Mitochondria (energy converters)
  • 14. Common AttributesCommon Attributes Nerve Cell – Membrane – Nucleus – Endoplasmic Reticulum (protein factory) – Cytoplasm (fluid medium) – Mitochondria (energy converters)
  • 15. Simple ObjectSimple Object cCell “class definition” – Membrane – Nucleus – Endoplasmic Reticulum (protein factory) – Cytoplasm (fluid medium) – Mitochondria (energy converters) ! Attributes common to all cells
  • 16. Common AttributesCommon Attributes Employee – Address Line 1 – Address Line 2 – City – State – Zip – Other Employee specific attributes:  Name, SSN, Gender, Full/Part Time, etc.
  • 17. Common AttributesCommon Attributes Company – Address Line 1 – Address Line 2 – City – State – Zip – Other Company specific attributes:  Name, Corp. Type, EIN, etc.
  • 18. Common AttributesCommon Attributes Vendor – Address Line 1 – Address Line 2 – City – State – Zip – Other Vendor specific attributes:  Name, Vendor Type, Govt. Work, etc.
  • 19. Simple ObjectsSimple Objects  cAddress “class definition” – Address Line 1 – Address Line 2 – City – State – Zip ! Classification or categorization of common attributes / characteristics
  • 20. Composite ObjectsComposite Objects  Employee – cAddress {Addr 1, Addr 2 ….} – Employee specific attributes  Company – cAddress {Addr 1, Addr 2 ….} – Company specific attributes  Vendor – cAddress {Addr 1, Addr 2 ….} – Vendor specific attributes ! Re-use of an object
  • 21. Composite ObjectsComposite Objects Company – Mailing Address – Billing Address – Shipping Address – Company specific attributes ! Re-use of an object
  • 22. Ease of MaintenanceEase of Maintenance  cAddress/cContact (* = new) – Address Line 1 – Address Line 2 – City – State – Zip – Voice Phone Number* – Fax Phone Number* – Email* ! Maintenance is reduced to one place
  • 23. BehaviorsBehaviors  cCell “class definition” – Grow – Reproduce – Intake Nutrients – Output Waste – Send Message ! Behaviors are what an object does & what it is responsible for ! Behaviors common to all cells
  • 24. BehaviorsBehaviors  Muscle – Contract – Relax  Blood – Absorb Oxygen – Release Oxygen  Nerve – Interstate Messaging ! Behaviors are also known as Methods
  • 27. CollectionsCollections Resume – Name – Contact Info. – Objective – Skills – Experience – References – Hobbies ! A Collection is a set of objects
  • 28. CollectionsCollections Experience – Date Range – Company – Position – Description
  • 32. Composite ObjectsComposite Objects Refrigerator – Freezer Capacity – Fridge Capacity – Freezer Temp – Frig Temp – Doors – Drawers – Color
  • 33. Composite ObjectsComposite Objects  cCooling Unit – Capacity – Temp “current” – Maximum Temp – Minimum Temp – Light – Drawers – Door – Color – Dimensions
  • 34. Composite ObjectsComposite Objects Refrigerator – Freezer Section : cCooling Unit – Fridge Section : cCooling Unit Refrigerator – cCooling Units “collection” ! A composite object is known as a Parent ! An embedded object is known as a Child
  • 35. EncapsulationEncapsulation  cCooling Unit Behaviors for accessing data. What it is. – GetCapacity / SetCapacity – GetDimensions / SetDimensions – GetTemp “current” / SetTemp – GetColor / SetColor Behaviors that do something. What it does. – DoorOpen / DoorClose – LightOn / LightOff “private” – Draw ! Encapsulation hides the internals of data and behaviors from other objects ! Private behaviors may not be used/called by other objects
  • 36. Parent & Child ObjectsParent & Child Objects Draw Discussion
  • 37. GlossaryGlossary Behavior Something that an object does or can do. Some behaviors may be invoked by other objects others are strictly for internal use only. …programming lingo… Also know as a Method. Public methods may be invoked / called by other objects. Private methods may only be invoked / called internally by the object itself.
  • 38. Common AttributesCommon Attributes cCell “class definition” – Membrane – Nucleus – Endoplasmic Reticulum (protein factory) – Cytoplasm (fluid medium) – Mitochondria (energy converters) ! Attributes common to all cells
  • 39. Common BehaviorsCommon Behaviors cCell “class definition” – Grow – Reproduce – Intake Nutrients – Output Waste – Send Message ! Behaviors are what a object can do & what it is responsible for
  • 40. Unique BehaviorsUnique Behaviors  Muscle – Contract – Relax  Blood – Absorb Oxygen – Release Oxygen  Nerve – Interstate Messaging ! Unique attributes and behaviors cause the need for Inheritance
  • 41. InheritanceInheritance  cMuscleCell : cCell – Contract – Relax  cBlood : cCell – Absorb Oxygen – Release Oxygen  cNerve : cCell – Interstate Messaging ! An object that inherits from a base object gets all the attributes & behaviors of the base object PLUS any unique attributes & behaviors
  • 42. InheritanceInheritance Employee – Name – SSN – Gender – Contact info – Pay Rate
  • 44. InheritanceInheritance  cSalariedEmployee : cEmployee – Annual Rate – Accrued Vacation, Accrued Sick Time  cHourlyFullTimeEmployee : cEmployee – Hourly Rate – Accrued Vacation, Accrued Sick Time  cHourlyPartTimeEmployee : cEmployee – Hourly Rate ! Look for the common attributes & behaviors. Strategy.
  • 45. Content ManagementContent Management A form, slide layout or a skeleton doc provides a template / class design. Different from a WORD template (.DOT) though, for .DOT provides styles only, not structure.
  • 47. Structured ContentStructured Content Employee: Definition, Usage, Special Considerations
  • 48. Re-use in Reference GuideRe-use in Reference Guide
  • 49.  From the menu tree, select Payroll, Maintenance, Employee  Employee: An employee is an individual who is performing or has performed work on the company's behalf while on the company's payroll.  Usage: The Employee document is used by time, unit pricing and expense input to record appropriate charges for project and payroll processes. Used for sorting, analyzing, inquiry and reporting purposes.  Employee Code: Provides a unique user-defined employee identifier.  From the menu tree, select Payroll, Maintenance, Employee  Employee: An employee is an individual who is performing or has performed work on the company's behalf while on the company's payroll.  Usage: The Employee document is used by time, unit pricing and expense input to record appropriate charges for project and payroll processes. Used for sorting, analyzing, inquiry and reporting purposes.  Employee Code: Provides a unique user-defined employee identifier. Payroll Master Files – Employee Maintenance Foundation > Master File Setup
  • 50. Payroll Master Files – Employee Maintenance Foundation > Master File Setup  From the menu tree, select Payroll, Maintenance, Employee, General tab  The General Information tab contains employee-related attributes needed to process the employee in the ABC system  Name: Specifies the legal name of the employee.  Alpha Name: Alphabetical employee name format.  SSN / SIN: Identifies the employee's federal tax identification code such as the U.S. federal Social Security Number or the Canadian federal Social Insurance Number.  Usage: Used for third party payroll system integration.  From the menu tree, select Payroll, Maintenance, Employee, General tab  The General Information tab contains employee-related attributes needed to process the employee in the ABC system  Name: Specifies the legal name of the employee.  Alpha Name: Alphabetical employee name format.  SSN / SIN: Identifies the employee's federal tax identification code such as the U.S. federal Social Security Number or the Canadian federal Social Insurance Number.  Usage: Used for third party payroll system integration.  Company: Specifies the Company for which the employee primarily works.  Usage: Used as the Company code for employee related inputs such as time, unit pricing and expense.  Currency: Specifies the Currency or monetary unit of the employee.  Usage: Specifies the Currency in which the employee will be paid for payroll purposes. An Employee may charge to any Project Currency, but will be paid in their Employee Currency.  Organization: Specifies the Organization for which the employee primarily works.  Usage: Used as the default Organization code for employee related input such as time, unit pricing and expense.  Company: Specifies the Company for which the employee primarily works.  Usage: Used as the Company code for employee related inputs such as time, unit pricing and expense.  Currency: Specifies the Currency or monetary unit of the employee.  Usage: Specifies the Currency in which the employee will be paid for payroll purposes. An Employee may charge to any Project Currency, but will be paid in their Employee Currency.  Organization: Specifies the Organization for which the employee primarily works.  Usage: Used as the default Organization code for employee related input such as time, unit pricing and expense.
  • 51. Agenda recapAgenda recap Definitions & Concepts Simple Objects Composite Objects Behaviors / Methods Responsibilities / Encapsulation Inheritance Content Management & Re-use
  • 52. The StrategyThe Strategy Find the commonality in the “what it is” and “what it does” Find the commonality in the attributes and behaviors What is shared? ! The design will depend on your GOALS
  • 53. WhyWhy  For Software Development – facilitates re-use of code – single point of maintenance – data hiding or encapsulation – API = Application Programming Interface  For Technical Writing – facilitates re-use of content – single point of maintenance – CMS = Content Management System – AuthorIT – XML
  • 54. ResourcesResources Recommended Reading Object Technology: A Manager’s Guide David A. Taylor Addison Wesley ISBN: 0201309947 Managing Enterprise Content Ann Rockley – www.Rockley.com New Riders ISBN: 0735713065
  • 55. ResourcesResources Recommended Website Ann Rockley presentations www.Rockley.com OOD goodies www.java.sun.com/docs/books/tutorial/java/concepts/
  • 56. GlossaryGlossary Object “An object corresponds to a concept, abstraction, or thing that can be distinctly identified. During analysis, objects have attributes and may be involved in relationships with other objects. During design, the notion of object is extended by the introduction of methods and objects attributes. In the implementation phase the notion of object is determined by the programming language."1 “An object is a software bundle of related variables and methods. Software objects are often used to model real-world objects you find in everyday life. 3 Class "A set of objects that share a common structure and a common behavior. A class is an abstraction, which represents the idea or general notion of a set of similar objects."1 “A class is a blueprint or prototype that defines the variables and the methods common to all objects of a certain kind.” 3 Class Description "Description of the attributes, methods interface and inheritances relationships of a class."1
  • 57. GlossaryGlossary Attribute "A set of named values associated with an object or relationship."1 Behavior Something that an object does or can do. Some behaviors may be invoked by other objects others are strictly for internal use only. …programming lingo… Also know as a Method. Public methods may be invoked / called by other objects. Private methods may only be invoked / called internally by the object itself. Inheritance “A class inherits state and behavior from its superclass. Inheritance provides a powerful and natural mechanism for organizing and structuring software programs. ” 3 Messaging “Software objects interact and communicate with each other using messages. ” 3
  • 58. ContactContactMark Lewis via LinkedIn And mlewis@ditametrics.com Thank You! © Mark Lewis + ©David Taylor- Object Technology content
  • 59. Guest Author: ROI ChapterGuest Author: ROI Chapter DITA 101 2nd edition “Fundamentals of DITA for Authors and Managers” By the Rockley Group with Mark Lewis – For sale at LuLu.com
  • 60. Technical ReviewerTechnical Reviewer Managing Enterprise Content: A Unified Content Strategy 2nd edition By Ann Rockley & Charles Cooper – For sale at Amazon.com
  • 61. DITAMetrics.comDITAMetrics.com Book & Spreadsheets Published by The Rockley Group Metrics for Intelligent Content
  • 62. ResourcesResources It’s about metrics …for intelligent content – white papers – discussions – webinar recordings – thought leadership
  • 63. ReferencesReferences 1 Object-Oriented Development: The Fusion Method Coleman, Arnold, Bodoff, Dollin,Gilchrist, Hayes & Jeremaes Prentice Hall ISBN: 0133388239 2 Object Technology: A Manager’s Guide David A. Taylor Addison Wesley ISBN: 0201309947 3 www.java.sun.com/docs/books/tutorial/java/concepts/

Editor's Notes

  1. Parallelism or coincidence XML for structuring and organizing Data…..XML for Content
  2. Object w/o attributes & behaviors
  3. Less code to write & Smaller code, might already be in memory
  4. Giveaways
  5. Glossary at the back
  6. Level 3
  7. Level 3
  8. Parallelism or coincidence XML for structuring and organizing Data…..XML for Content
  9. Parallelism or coincidence XML for structuring and organizing Data…..XML for Content