Object-oriented techniques and methodologies Avison & Fitzgerald (2003), pp. 241-256 UML Aims (Booch, Rumbaugh etc.) Provide a ready-to-use, expressive, visual modelling language so users can develop and exchange meaningful models Ability to extend and specialise core concepts Independence from programming languages and development processes Formal basis for understanding modelling language Encourage growth of OO tools market Support higher-level development concepts Integrate best practices and methodologies UML Techniques Static application diagrams Class diagrams Object diagrams Component diagrams Deployment diagrams Dynamic behaviour diagrams Use case diagrams Sequence diagrams Activity diagrams Collaboration diagrams Statechart diagrams Organisation and management Packages Subsystems Models Avison & Fitzgerald (2003), pp. 413-431 OOA (Object-oriented analysis) – P. Coad & E. Yourdon Activities finding class-and-objects identifying structures identifying subjects identifying attributes identifying services Finding class-and objects look for structures (see activity 2) look at other systems with which this one interacts ask what physical devices the system interacts with examine the events that must be remembered and recorded examine relevant physical, geographical and organisational units RUP (Rational Unified Process) – I. Jacobson (1998) “a method[ology] is usually a set of interesting ideas and general step-by-step descriptions. However, it typically does not guide developers in how to use it in commercial product development” Shortcomings of methodologies they are paper products, typically frozen in a book they are rarely tried or tested on real products before publication they are simple introductions, insufficient for use in real, typically complex projects they focus on developing new systems at the expense of evolving development and maintenance they are rich in notations but lack semantics RUP key concepts use-cases architecture iterative and incremental approach RUP cycles inception elaboration construction transition RUP workflows Business modelling Requirements Analysis and design Implementation Test Deployment Configuration and change management Project management Environment (support: processes, methods, tools) Avison, A. & Fitzgerald, G. 2003. Information systems development (3rd edn). Maidenhead: McGraw-Hill