CM402 Lecture Week 1

Download Report

Transcript CM402 Lecture Week 1

IS0514 Lecture - Week 1
(Semester 2)
Business Systems Development Tools and
Techniques
IS0514
Slide 1
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.
IS0514
Slide 2
Business Systems Development Tools
and Techniques
• Semester 2
–
–
–
–
–
–
IS0514
Unified Modelling Language (UML)
Unified Process
Object Orientation
Use case Diagrams
Class Diagrams
CRC Cards
Slide 3
Assignments
• One assignment
– Set Week 7
– Due 12/05/2008
• Object Oriented Modelling Exercise
IS0514
Slide 4
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
IS0514
Slide 5
Today's Lecture
• What is modelling?
• Why model?
• Introduction to UML.
IS0514
Slide 6
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
IS0514
Slide 7
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
IS0514
Slide 8
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.
IS0514
Slide 9
Exercise 1 – Possible Suggestions
IS0514
Slide 10
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?
IS0514
Slide 11
Aims of modelling
• Aims in modelling :
1. helps visualise the system as it is, or as we want it to be
2. permits the specification of the structure and behaviour of
the system
3. provides a template which guides construction of the
system
4. documents the decisions that have been made
5. provides a common language for all stakeholders
6. facilitates clarity and understanding
IS0514
Slide 12
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
IS0514
Slide 13
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
IS0514
Slide 14
Why Model?
•
A model is a simplification of reality
–
–
•
•
•
•
•
•
•
IS0514
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!
Slide 15
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.
IS0514
Slide 16
Exercise 2 - Answer
IS0514
Slide 17
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)
IS0514
Slide 18
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
IS0514
Slide 19
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))
IS0514
Slide 20
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
IS0514
Slide 21
Where UML is used?
•
•
•
•
•
•
•
•
•
•
•
IS0514
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
Slide 22
Diagrams / Models
• In UML a model is a collection of diagrams which
describe a system from different views
• Need to check
–
–
–
–
IS0514
Consistency
Completeness – show all that is required
Simplicity of representation
Hierarchical representation
• Different diagrams showing different amounts of detail
Slide 23
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
IS0514
Slide 24
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) ObjectOriented 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
IS0514
Slide 25
Summary
• What is modelling
• Why modelling
• Introduction to UML
• Next Week
– Best Practice Development Methodology
IS0514
Slide 26