Title: Information Systems Concepts Requirements Analysis
1Information Systems Concepts Requirements
Analysis
- Dell Zhang
- Birkbeck, University of London
- Spring 2009
Based on Chapter 7 of Bennett, McRobb and Farmer
Object Oriented Systems Analysis and Design
Using UML, (3rd Edition), McGraw Hill, 2005.
2Outline
- Class Diagrams
- Section 7.4 (pp. 179 188)
- Section 7.5.3 7.5.9 (pp. 196 203)
- Section 7.3.2 (pp. 176 179)
3Static Analysis with UML
- To Draw a Class Diagram (Analysis Level)
- Identify Classes
- Determine Stereotypes
- Find and Locate Attributes
- Add Associations
- Determine Multiplicity
- Find and Locate Operations
4Class Diagrams
- Class (and Object/Instance)
- Stereotypes
- Attributes (and State)
- Associations (and Links)
- Multiplicity
- Operations
Symbols of Instances, States, and Links are used
in other UML diagram types (Object Diagrams,
Communication Diagrams, etc.)
5Class
- Looking for Potential Classes
6Class
- Should this really be considered as a class?
- Is it beyond the scope of the system?
- Does it refer to the system as a whole?
- Does it duplicate another class?
- Is it too vague?
- Is it too specific?
- Is it too tied up with physical inputs and
outputs? - Is it really an attribute?
- Is it really an operation?
- Is it really an association?
If any answer is Yes, consider modelling the
potential class in some other way (or do not
model it at all).
7Class
Class name compartment
Attributes compartment
Operations compartment
8Object/Instance
Object name compartment
FoodCoClient
companyAddressEvans Farm, Norfolk
companyEmailmail_at_foodco.com
Attribute values
companyFax01589-008636
companyNameFoodCo
companyTelephone01589-008638
Instances do not have operations
9Stereotypes
- Stereotypes differentiate the roles of objects
- Entity objects represent information and
behaviour in the application domain - Boundary objects model interaction between the
system and actors (and other systems) - Control objects co-ordinate and control other
objects
10Stereotypes
- Entity Class (alternative notations)
11Stereotypes
- Boundary Class (alternative notations)
User InterfaceAddAdvertUI
12Stereotypes
- Control Class (alternative notations)
13Attributes
- Attributes are
- part of the essential description of a class
- the common structure of what all objects of the
class can know - each object has its own value for each attribute
(state) of its class
14Attributes
15Links
A link is a logical connection between two objects
16Associations
- An associations represent the possibility of a
logical relationship or connection between
objects of one class and objects of another. - If two objects can be linked, their classes have
an association
17Associations
Association
Association role
Client
StaffMember
companyAddress
staffContact
staffName
companyEmail
staffNo
liaises with
companyFax
staffStartDate
companyName
companyTelephone
Association name
Direction in which name should be read
18Associations
- An associations class is joined to the
corresponding association by a dashed line.
19Multiplicity
- The multiplicity of an association is the range
of permitted cardinalities of its participating
objects, according to or business rules. - For example
- Any bank customer may have one or more accounts
- Every account is for one, and only one, customer
20Multiplicity
- n exactly n
- any number in the range 0 to infinity
- m..n any number in the range m to n (inclusive)
- 0..1 optional
- p.. any number in the range p to infinity
21Multiplicity
- A staff member may liaise with zero, one or more
clients - Each client is liaised with exactly one staff
member
See Also Figure 7.16, 7.17, 7.18 (p. 186)
22Operations
- Operations are
- part of the essential description of a class
- the common behaviour that all objects of the
class can do - get or set attribute values
- perform calculations
- send messages to other objects
- create or destroy links
- services that objects of a class can provide to
other objects
23Operations
24Class Diagrams
- Exercise
- Washing Machine
- Multiplicity
25Take Home Messages
- Class Diagrams
- Class (and Object/Instance)
- Stereotypes
- Attributes (and State)
- Associations (and Links)
- Multiplicity
- Operations