Transcript IMS 5024

IMS 5024
Object orientation (1)
IMS5024 Week 3 Semester 2,
2004
1
Content
What is object orientation?
 Example of object oriented analysis
 Place in ISD
 Evaluation of Object orientation
 Reading list

IMS5024 Week 3 Semester 2,
2004
2
History of object orientation
Developed in the 1970’s
 Various places – computer architecture,
operating systems, databases, cognitive
science, artificial intelligence
 Programming language Simula and
Smalltalk

IMS5024 Week 3 Semester 2,
2004
3
Why popular now
Popularity of graphical interfaces
 Acceptance of C++
 Cost cutting by business
 Increase in the power of technology
 Shift from mainframes to distributed
computing

IMS5024 Week 3 Semester 2,
2004
4
Object orientation describe:
Structure (data)
 Behaviour
 Function (too a lesser degree?)

Of Objects
IMS5024 Week 3 Semester 2,
2004
5
Object orientation help to
present:
 The
object
 State
 Behaviour described by actions
Of objects
IMS5024 Week 3 Semester 2,
2004
6
Other characteristics
Abstraction
Inheritance
Encapsulation
Polymorphism
IMS5024 Week 3 Semester 2,
2004
7
Techniques used in Object
orientation
Object model – object diagrams
 Dynamic model – state transition
diagrams
 Functional model – action data flow
diagrams, use case

IMS5024 Week 3 Semester 2,
2004
8
Object
‘is something to which action is directed,
it has an identity, a state and exhibits
behaviour’
 Can be anything concrete or conceptual
 Is an abstraction of the real world

IMS5024 Week 3 Semester 2,
2004
9
Class
‘A group of object exhibiting the same
characteristics such as structure and
behaviour’
 Abstraction
 Inheritance

IMS5024 Week 3 Semester 2,
2004
10
Message/signal





Objects interact with one another through
signal or message
Signals are generated by an event
Event occur when the object’s state changes
Change the state of an object through an
objects methods
Has to conform to the interface of the object
IMS5024 Week 3 Semester 2,
2004
11
Notation for a class/object
Object name
Public part
Attributes
Processes/Methods
IMS5024 Week 3 Semester 2,
2004
12
Aggregation/ whole/part class
Car
Body
Engine
Cam
shaft
Wheel
Cylinder
IMS5024 Week 3 Semester 2,
2004
13
Generalisation/Specialisation
Account
Basic
account
Checking
account
Loan
Service
Account
IMS5024 Week 3 Semester 2,
2004
14
Steps
Develop a summary paragraph
 Identify objects of interest
 Identify method/processes
 Define attributes of objects
 Perform class analysis
 Draw state transition diagram

IMS5024 Week 3 Semester 2,
2004
15
Develop a summary paragraph
Write declarative sentences
 Write each sentence on its own line
 Review paragraph carefully to ensure:

– All desired functions are represented
– All major information and processes are
identified
– All sentences are at the same level of
abstraction and importance
IMS5024 Week 3 Semester 2,
2004
16
Example of declarative sentences
IMS5024 Week 3 Semester 2,
2004
17
Identify objects of interest
Underline all nouns in summary
paragraph
 List underlined nouns separately
 Evaluate each noun to ensure it is an
object
 Determine whether object is solution or
problem space
 Name each object in solution space

IMS5024 Week 3 Semester 2,
2004
18
Example of objects
IMS5024 Week 3 Semester 2,
2004
19
Identify processes







Circle all verbs in the summary paragraph
List verbs on a separate paper
Evaluate each verb
Determine whether the process is solution or
problem space
Name each unique process in the solution
space
Assign object to verbs if the objects is
transformed or read by the process
Evaluate object
assignments
IMS5024 Week 3 Semester 2,
20
2004
Example of processes
IMS5024 Week 3 Semester 2,
2004
21
Define attributes of objects
Attributes – named fields or properties
that describe a class or object
 A set of attributes values describe an
object or instance
 Primary key – unique set of values

IMS5024 Week 3 Semester 2,
2004
22
Example of attributes
IMS5024 Week 3 Semester 2,
2004
23
Define attributes of processes
Assign attributes which were set aside
during object or process definition
 Review the original problem description
and any notes
 Review the summary paragraph to find
implied attributes

IMS5024 Week 3 Semester 2,
2004
24
Perform class analysis





Look for shared attributes and processes
across class/objects to define inheritance
class
Evaluate the class/objects for specialization
Evaluate the class/objects for component part
relationships
Define common class objects
Define meta-class
IMS5024 Week 3 Semester 2,
2004
25
Example of class analysis
IMS5024 Week 3 Semester 2,
2004
26
Thinking in Object orientation
Hard Vs Soft ??
 Perspective

– Objective vs Subjective
– Nature of the organisation
IMS5024 Week 3 Semester 2,
2004
27
Evaluation of Object oriented
modelling
Problem oriented
Product oriented
Conceptual
Structured analysis
Structured design
Entity relationship
Object oriented design
modelling
Logical construction of
systems
Modern structured analysis
Object oriented analysis
Formal
PSL/PSA
JSD
VDM
Levels of abstraction
Stepwise refinement
Proof of correctness
Data abstraction
JSP
IMS5024 Week 3 Semester 2,
28
Object
oriented
programming
2004
Advantages/ Benefits of object
orientation






It unifies many aspects of the information
systems development process.
It facilitates re-use of software code – make
application development quicker and more
robust
Ability to tackle more complex problems
Improve user/analyst relations ???
Improvement in the consistency of results
Represent factors for change in the model
IMS5024 Week 3 Semester 2,
2004
29
Disadvantages of object
orientation
Only now starting to be used
 Case tools are not readily available
 Not easily understood by novice users
 Difficult to master for some analysts +
designers + programmers
 Inefficiency (need a lot of ‘power)
 Others??

IMS5024 Week 3 Semester 2,
2004
30
Object orientation view of ISD
Objectives
Development
group
Object
system
Hirschheim et al see reading list
Change
process
Object
system
Environment
IMS5024 Week 3 Semester 2,
2004
31
Reading for next week



Iivari, J. (1995) Object orientation as structural,
functional and behavioural modelling: a
comparison of six methods for object-orientated
analysis. Information and Software Technology,
vol 37, no. 3, pp. 155-163
Jacobsen, I., Booch, G., Rumbaugh, J. (1999).
The unified software development process.
Addison Wesley Longman, Inc. USA. Chapter 3,
7.4.3.
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy,
F., Lorensen, W. (1991) Object oriented modeling
and design. Prentice Hall, Inc. USA. Chapter 5.1
– 5.3
IMS5024 Week 3 Semester 2,
2004
32