ims5024 week 61 ims 5024 object orientation (1). ims5024 week 62 content individual assignment date...

33
IMS5024 Week 6 1 IMS 5024 Object orientation (1)

Post on 21-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 1

IMS 5024

Object orientation (1)

Page 2: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 2

Content

Individual assignment date Group assignment What is object orientation? n n Place in ISD Evaluation of Object orientation Reading list

Page 3: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 3

Reminder - Date for the individual assignment

30 August 2001 in class

Page 4: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 4

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

Page 5: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 5

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

Page 6: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 6

Object orientation describe:

Structure (data) Behaviour Function (too a lesser degree?)

Of Objects

Page 7: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 7

Object orientation help to present:

The objectStateBehaviour described by actions

Of objects

Page 8: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 8

Other characteristics

AbstractionInheritance EncapsulationPolymorphism

Page 9: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 9

Techniques used in Object orientation Object model – object diagrams Dynamic model – state transition

diagrams Functional model – action data flow

diagrams, use case

Page 10: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 10

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

Page 11: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 11

Class

‘A group of object exhibiting the same characteristics such as structure and behaviour’

Abstraction Inheritance

Page 12: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 12

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

Page 13: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 13

Notation for a class

Object name

Attributes

Processes/Methods

Public part

Page 14: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 14

Aggregation/ whole/part class

Car

WheelEngineBody

CylinderCamshaft

Page 15: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 15

Generalisation/Specialisation

Account

Basicaccount

Checking account

Loan

ServiceAccount

Page 16: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 16

Steps

Develop a summary paragraph Identify objects of interest Identify method/processes Define attributes of objects Perform class analysis Draw state transition diagram

Page 17: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 17

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

Page 18: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 18

Example of declarative sentences

Page 19: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 19

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

Page 20: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 20

Example of objects

Page 21: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 21

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

Page 22: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 22

Example of processes

Page 23: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 23

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

Page 24: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 24

Example of attributes

Page 25: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 25

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

Page 26: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 26

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

Page 27: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 27

Example of class analysis

Page 28: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 28

Thinking in Object orientation

Hard Vs Soft ?? Perspective

– Objective vs Subjective– Nature of the organisation

Page 29: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 29

Evaluation of object orientated modelling

Problem oriented Product oriented

Concep-tual

Structured analysis

Entity relationship modelling

Logical construction of systems

Modern structured analysis

Object oriented analysis

Structured design

Object oriented design

Formal PSL/PSA

JSD

VDM

Levels of abstraction

Stepwise refinement

Proof of correctness

Data abstraction

JSP

Object oriented programming

Page 30: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 30

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

Page 31: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 31

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??

Page 32: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 32

Object orientation view of ISD

Development group

Objectives

Environment

Object system

ObjectsystemChange

process

Hirschheim et al see reading list

Page 33: IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place

IMS5024 Week 6 33

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