object orientated analysis and design - contents

18
K. Ingram 1 November 2000 Object Orientated Analysis and Design - Contents When to use OO? What is OO? Unified Modelling Language OO Methodologies: –O bject M odelling T echnique (Rumbaugh et al, 1991) – Objectory (Jacobson et al, 1992) –O bject-oriented P rocess, E nvironment & N otation (Graham et al, 1998) • Conclusion

Upload: valdemar-astrid

Post on 31-Dec-2015

28 views

Category:

Documents


2 download

DESCRIPTION

Object Orientated Analysis and Design - Contents. When to use OO? What is OO? Unified Modelling Language OO Methodologies: O bject M odelling T echnique (Rumbaugh et al, 1991) Objectory (Jacobson et al, 1992) O bject-oriented P rocess, E nvironment & N otation (Graham et al, 1998) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Object Orientated Analysis and Design - Contents

K. Ingram 1 November 2000

Object Orientated Analysis and Design - Contents

• When to use OO?• What is OO?• Unified Modelling Language• OO Methodologies:

– Object Modelling Technique (Rumbaugh et al, 1991)

– Objectory (Jacobson et al, 1992)– Object-oriented Process, Environment & Notation

(Graham et al, 1998)• Conclusion

Page 2: Object Orientated Analysis and Design - Contents

K. Ingram 2 November 2000

When to use OO?

• For complex information systems: – by use of structures which enable the complexity

to be split down into subdivisions– by use of structures that map from real situation

through to system development.• For reliable, maintainable, modifiable information

systems.• Use OO Analysis and Design when development is

known to be in an OO language or database.• GUI-based and event-driven systems

Page 3: Object Orientated Analysis and Design - Contents

K. Ingram 3 November 2000

What is OO?

• Class and Object• Generalisation and Specialisation• Message-passing• Polymorphism

Page 4: Object Orientated Analysis and Design - Contents

K. Ingram 4 November 2000

OO Methodology Generations

1st Shlaer and Mellor (1988)

2nd OMT (1991), OOA (Coad and Yourdon 1991, see recommended text), Booch (1991),

Objectory (1992)

3rd Fusion, Syntropy

4thUnified Software Development Process (Jacobson et al, 1999) leading to RUP,

OPEN (1997)

Page 5: Object Orientated Analysis and Design - Contents

K. Ingram 5 November 2000

Object Modelling Technique

• A framework for development proposed in 1991 by Rumbaugh et al.

• Order of most steps unimportant • Experienced developers may combine steps or

perform steps in parallel• Multiple levels of detail for each model

Page 6: Object Orientated Analysis and Design - Contents

K. Ingram 6 November 2000

OMT Structure

• Analysis Phase – what the system will do in real-world terminology

• System Design Phase – High level structure of the system

• Object Design Phase – Detailed spec. for practical implementation in computer terminology (but NOT related to a specific language/database)

• See appendix 1• See appendix 2

Page 7: Object Orientated Analysis and Design - Contents

K. Ingram 7 November 2000

Objectory Structure

Analysis

Testing

Construction

Test modelDesign modelConstruction model

Requirements modelAnalysis model

• 5 models produced by 3 non-sequential processes

Page 8: Object Orientated Analysis and Design - Contents

K. Ingram 8 November 2000

Objectory Analysis

• Requirements Model (Functional requirements):– Mainly a Use Case model,

– Sometimes an Interface model (prototype screens)

– Sometimes a Domain Object model

• Analysis Model (gives structure to requirements):– Identify entity objects, control objects, interface objects

– Assign attributes, roles, responsibilities, associations

– Identify sub-systems dependent on coupling density.

Page 9: Object Orientated Analysis and Design - Contents

K. Ingram 9 November 2000

Objectory Construction• Design Model

– each analysis object becomes a ‘block’ (i.e. a module, i.e. a UML design class)

– Possibly optimise block groupings

– Create interaction sequence diagrams for each use case

• Construction Model– Add blocks for services related to specific platform to be used

Objectory Testing• Test Model

– Verify the code

Page 10: Object Orientated Analysis and Design - Contents

K. Ingram 10 November 2000

Unified Modelling Language

• Core Models:– Requirements capture – Use Case Diagrams

and Use Case Scripts– Requirements analysis – Class Diagrams

• Models derived from them:– Interaction Diagrams (Sequence or

Collaboration)– State or Activity Diagrams

Page 11: Object Orientated Analysis and Design - Contents

K. Ingram 11 November 2000

Use Case Driven lifecycle(as used in OOM module)

Use Case

Diagrams

(UCD)

Use Case

Scripts

(UCS)

Class

Diagrams

And State

Diagrams

Object

Sequence

Diagrams

(OSD)

Page 12: Object Orientated Analysis and Design - Contents

K. Ingram 12 November 2000

Object-oriented Process, Environment & Notation

• OPEN is a ‘process framework’ – within the framework an organisation selects the processes (Activities, Tasks, Techniques) they require to be used.

• The Activities may cover whichever life cycle phases the organisation requires – suggests Project Initiation, Requirements Engineering, Analysis and model refinement, Project Planning, Build, User Review, Consolidation

Page 13: Object Orientated Analysis and Design - Contents

K. Ingram 13 November 2000

Stages

Producers

Work Units Work Products

Languages

provide organisation to the

perform produce

createevaluateiteratemaintain

are documented using

Guidelineshelp to

Components of the OPEN Process Framework

Page 14: Object Orientated Analysis and Design - Contents

K. Ingram 14 November 2000

OPEN Components• Work Units: Activities, Tasks, Techniques• Producers: the roles of people/tools that created

the product or the team(s) that caused production• Work Products: the things (documents, diagrams,

models, classes, software) that the producers produce using the techniques and tasks

• Stages: phase, life cycle, milestone, ….• Languages: natural (e.g.English), modelling

(e.g.UML /OML / other), coding (e.g.Java, SQL)

Page 15: Object Orientated Analysis and Design - Contents

K. Ingram 15 November 2000

OPEN Work Units

• Activities and Tasks both represent goals (what is to be done, not how).

• Tasks are smaller units than activities – the smallest project-manageable unit.

• Techniques specify how a task is to be done (e.g.CRC Cards, e.g. aggregation modelling, e.g. module coding)

Page 16: Object Orientated Analysis and Design - Contents

K. Ingram 16 November 2000

OPEN Conclusion

• OPEN provides – flexibility since it is a process meta-model –

usable for large/small, critical/noncritical, long/short term projects.

– Support for full life cycle– Embedded project management framework– CMM

Page 17: Object Orientated Analysis and Design - Contents

K. Ingram 17 November 2000

Conclusion

• New Methodologies are always evolving to suit new circumstances

• Not all projects match the newest circumstances

Why do most Software Development organisations use their own ‘Special Blend’ of methodologies?

Page 18: Object Orientated Analysis and Design - Contents

K. Ingram 18 November 2000

Further reading on Frameworks

• Here we are talking about Software Development Frameworks not System (architecture) frameworks

• http://www.realsoftwaredevelopment.com/the-complete-list-of-software-development-frameworks-processs-methods-or-philosophies/