260 likes | 273 Views
Explore object-oriented development lifecycles, UML techniques, system requirements, class identification, and practical domain modeling using Unified Modelling Language (UML) tools. Learn modeling fundamentals and principles essential for business systems development.
E N D
IS0514 Lecture - Week 1(Semester 2) Business Systems Development Tools and Techniques
Learning Outcomes 6. Discuss an object-oriented development lifecycle and the role of UML techniques within it. 7. Explain fundamental principles of object-orientation as applied during analysis and design. 8. Specify system requirements in analysis by means of use cases and use case diagrams. 9. Identify classes in a domain and allocate responsibilities to them. 10. Interpret a realistic domain model in UML class diagram notation. 11. Use UML class diagram notation for simple modelling tasks such as producing a simple class diagram of domain concepts or extending/changing existing models.
Business Systems Development Tools and Techniques • Semester 2 • Unified Modelling Language (UML) • Unified Process • Object Orientation • Use case Diagrams • Class Diagrams • CRC Cards
Assignments • One assignment • Set Week 7 • Due 12/05/2008 • Object Oriented Modelling Exercise
Module Team • Module Tutor • Paula Brumby • Team • Dr Akhtar Ali Room PB101 Ext 3521 • Please contact us at the seminar / lecture in the first instance • Please see module tutor for admin issues
Today's Lecture • What is modelling? • Why model? • Introduction to UML.
What is modelling? • Information System Development is too complex to carry out in your head • Analysis and design produce models • In Information System Development, models are: • Abstract / None physical • Software in non-tangible • Visible • You wish to visualise non-tangible items
What is a model? Some definitions: • A hypothetical description of a complex entity or process • A simplified representation or description of a system under investigation • The act of representing something • A representation of some aspect of external reality in a program
Exercise 1 • In groups of 3-4 spend 5 minutes discussing and identifying • Diagrams you have come across • What purpose they serve • Are they sufficient in themselves? • At the end of that time you will be asked to share your thoughts with the rest of the group.
Exercise 1 • Also need • Data • Documentation • Street signs • Material information / craft skill • OK so how do I build this wall here? • Organisation knowledge • What does a managing director do? • Technical information • Is this in Java? • Is the database oracle or access?
Aims of modelling • Aims in modelling : • helps visualise the system as it is, or as we want it to be • permits the specification of the structure and behaviour of the system • provides a template which guides construction of the system • documents the decisions that have been made • provides a common language for all stakeholders • facilitates clarity and understanding
Principles of modelling • What is modelled affects: • How problems are attacked? • How the solution is shaped? • Every model may be expressed at different levels of • Detail – amount modelled • Precision – how much information supplied • The best models are connected to reality • No single model is sufficient. • non-trivial system is best approached through a small set of nearly independent models • we need several model types representing different views • Each model has different diagram(s) – we need several diagrams to model different views
Object Oriented Modelling • In systems, there are two main ways to approach modelling: • Structured – focuses on processing, data and time aspects – separate but related decompositions of these • Object Oriented – based on objects and classes • object – a “thing” of interest, which has uniqueness, state and behaviour (i.e. processing & data) • class – description of a group of objects • We are looking at Object-oriented modelling in this module
Why Model? • A model is a simplification of reality • Choose details to represent • Choose details to ignore • A model can evolve as our understanding does • A model can represent real and abstract things • Creating models allow a system to be better understood • A model can be used to communicate ideas • The larger the system the more important the models • A model can be used to simulate a real system • A model is quicker and easier to build than a real system!
Exercise 2 • In groups of 3-4 spend 5 minutes discussing models you have come across • What is the difference between a diagram and a model • At the end of that time you will be asked to share your thoughts with the rest of the group.
Brief History of Modelling tools • Up to late 1980s • Structured System Analysis and Design (SSADM) / Yourdon / etc • Focus upon processes and data • Late 1980s-1997 • Rise of Object Oriented Technologies • Useful / disparate – need for standardisation • 1995 – now • Unified Modelling Language (UML)
Why UML? • Best practice model • Consolidation of other languages (e.g., OMT, OOSE) • Internationally accepted – ISO standard - ISO/IEC 19501 • UK government mandate • e-Government Interoperability Framework (e-GIF) • Intuitive • Tool support • Widely Used
Use of UML • Surveys of development managers show • 20% of organisations use UML on all development projects • 59% of organisations use UML on some development projects • 18% of organisations never use UML • 3% of organisations have used UML in the past and have no plans to use it again • (Skidmore S (2004))
Introducing the Unified Modelling Language (UML) • UML is a language for • visualising • communication • complexity • specifying • models which are precise, unambiguous and complete • constructing • maps to a programming language like C++, JAVA • documentation
Where UML is used? • banking and financial systems • telecommunications • transportation and distribution • defence and aerospace • retail • medical electronics • scientific systems • distributed web-based services • business modelling • government • computer industry
Diagrams / Models • In UML a model is a collection of diagrams which describe a system from different views • Need to check • Consistency • Completeness – show all that is required • Simplicity of representation • Hierarchical representation • Different diagrams showing different amounts of detail
UML in this module • use case modelling – for requirements • identification/analysis of candidate objects • class diagrams – for specifying classes & relationships • Class, Responsibility, Collaboration (CRC) cards – for responsibilities & interactions
This weeks reading SUPPORTING READING Dennis A, Wixom B, and Tegarden D (2005) System Analysis and Design with UML version 2 second edition, Wiley – Pages 29-35 Bennett S., McRobb, S. and Farmer, R. (2002) Object-Oriented Systems Analysis and Design using UML, 2nd Edition, McGraw-Hill– Chapter 5 CRaG Systems (2004) A UML Introduction Tutorial • Available at: http://www.cragsystems.co.uk/ITMUML/ • Accessed 27/01/2008 Priestley M. (2003) Practical object-oriented design with UML, 2nd Edition, McGraw-Hill– Chapter 1
Summary • What is modelling • Why modelling • Introduction to UML • Next Week • Best Practice Development Methodology