Requirements Analysis Roman Kontchakov Birkbeck, University of - - PowerPoint PPT Presentation

requirements analysis
SMART_READER_LITE
LIVE PREVIEW

Requirements Analysis Roman Kontchakov Birkbeck, University of - - PowerPoint PPT Presentation

Information Systems Concepts Requirements Analysis Roman Kontchakov Birkbeck, University of London Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design Using UML, (4th Edition), McGraw Hill, 2010 1


slide-1
SLIDE 1

1

Information Systems Concepts

Requirements Analysis

Roman Kontchakov

Birkbeck, University of London

Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design Using UML, (4th Edition), McGraw Hill, 2010

slide-2
SLIDE 2

2 n Class Diagrams

n Section 7.3 (pp. 184 – 194) n Section 7.5.5 – 7.5.10 (pp. 208 – 215) n Section 7.5.2 (pp. 198 – 201)

Outline

slide-3
SLIDE 3

3

Class Diagrams

n Class (and Object/Instance) n Stereotypes n Attributes (and State) n Associations (and Links) n Multiplicity n Operations

Symbols of Instances, States, and Links are used in other UML diagram types (Object Diagrams, Communication Diagrams, etc.)

slide-4
SLIDE 4

4

Notation: Class

Client companyAddress companyEmail companyFax companyName companyTelephone

class name compartment attributes compartment

  • perations compartment
slide-5
SLIDE 5

5

Notation: Object/Instance

FoodCo:Client companyAddress=Evans Farm, Norfolk companyEmail=mail@foodco.com companyFax=01589-008636 companyName=FoodCo companyTelephone=01589-008638

  • bject name

compartment attribute values instances do not have operations

slide-6
SLIDE 6

6

Attributes

n Attributes are:

n part of the essential description of a class n the common structure of what all objects of the class can

‘know’

n each object has its own value for each attribute of its class n attribute values characterize state of the object

slide-7
SLIDE 7

7

Notation: Attributes

Campaign actualCost campaignFinishDate campaignStartDate completionDate datePaid estimatedCost title checkCampaignBudget ( ) getCampaignContribution ( ) recordPayment ( ) setCompleted ( )

slide-8
SLIDE 8

8

Links

FoodCo:Client Yellow Partridge:Client Soong Motor Co:Client Grace Chia:StaffMember Carlos Moncada:StaffMember

a link is a logical connection between two objects

slide-9
SLIDE 9

9

Associations

n An associations represent the possibility of a logical

relationship or connection between objects of one class and objects of another

n If two objects can be linked, their classes have an

association

slide-10
SLIDE 10

10

Notation: Associations

StaffMember staffName staffNo staffStartDate Client companyAddress companyEmail companyFax companyName companyTelephone liaises with staffContact

association role association association name direction in which name should be read

slide-11
SLIDE 11

Notation: Associations

StaffGrade gradeStartDate gradeFinishDate previous following

association role

slide-12
SLIDE 12

12

Multiplicity

n The multiplicity of an association is the range of

permitted cardinalities of its participating objects, according to or business rules.

n for example:

n any bank customer may have one or more accounts n every individual account is for one, and only one, customer

slide-13
SLIDE 13

13

Notation: Multiplicity

n n: exactly n n *: any number n m..n: any number in the range m to n (inclusive)

n 0..1: optional (i.e., either none or 1) n 1..*: at least one

slide-14
SLIDE 14

14

Notation: Multiplicity

StaffMember staffName staffNo staffStartDate Client companyAddress companyEmail companyFax companyName companyTelephone 1 0..* liaises with

multiplicities

A staff member may liaise with any number of clients (including 0) Each client is liaised with exactly one staff member

See Also: Figure 7.9-7.11 (p. 191)

slide-15
SLIDE 15

15

Operations

n Operations are:

n part of the essential description of a class n the common behaviour that all objects of the class can ‘do’

n get or set attribute values (not specified in Analysis Model) n perform calculations n send messages to other objects n create or destroy links (not specified in Analysis Model)

n services that objects of a class can provide to other objects

slide-16
SLIDE 16

16

Notation: Operations

Campaign actualCost campaignFinishDate campaignStartDate completionDate datePaid estimatedCost title checkCampaignBudget ( ) getCampaignContribution ( ) recordPayment ( ) setCompleted ( )

slide-17
SLIDE 17

17

Static Analysis with UML

n Requirements Model

→ Analysis Model → Design Model

n To Draw an Analysis Class Diagram

n Identify Classes n Determine Stereotypes n Find and Locate Attributes n Add Associations n Determine Multiplicity n Find and Locate Operations

slide-18
SLIDE 18

18

Looking for Potential Classes

Category Examples People Mr Harmsworth (a campaign manager), Dilip (a copywriter). Organisations Jones & Co (a forklift truck distributor), the Soong Motor Company, Agate’s Creative Department. Structures Team, project, campaign, assembly. Physical things Fork-lift truck, electric drill, tube of toothpaste. Abstractions of people Employee, supervisor, customer, client. Abstractions of physical things Wheeled vehicle, hand tool, retail goods. Conceptual things Campaign, employee, rule, team, project, customer, qualification. Enduring relationships between members of

  • ther categories.

Sale, purchase, contract, campaign, agreement, assembly, employment.

slide-19
SLIDE 19

19

Identifying Classes

n Should this really be considered as a class?

n Is it beyond the scope of the system? n Does it refer to the system as a whole? n Does it duplicate another class? n Is it too vague? n Is it too specific? n Is it too tied up with physical inputs and outputs? n Is it really an attribute? n Is it really an operation? n 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).

slide-20
SLIDE 20

20

Take Home Messages

n Class Diagrams

n Class (and Object/Instance) n Attributes (and State) n Associations (and Links) n Multiplicity n Operations