Presentation is loading. Please wait.

Presentation is loading. Please wait.

ADMS-BIS Bouwkundige Informatiesystemen ADMS 2006 UML part 2 Jan Dijkstra - 23 oktober 2006.

Similar presentations


Presentation on theme: "ADMS-BIS Bouwkundige Informatiesystemen ADMS 2006 UML part 2 Jan Dijkstra - 23 oktober 2006."— Presentation transcript:

1 ADMS-BIS Bouwkundige Informatiesystemen ADMS 2006 UML part 2 Jan Dijkstra - 23 oktober 2006

2 ADMS-BIS Subjects

3 ADMS-BIS UML Models, Views and Diagrams A diagram is a view into a model –presented from the aspect of a particular stakeholder –and provides a partial representation of the system

4 ADMS-BIS UML Views Design view Interaction view Implementa- tion view Deployment view Use Case view vocabulary functionality behaviour performance scalability throughput system assembly configuration management system topology distribution delivery installation physicallogical Design view Interaction view Implementa- tion view Deployment view Use Case view

5 ADMS-BIS UML Diagrams Structure diagram –Class diagram –Object diagram –Component diagram –Composite structure diagram –Deployment diagram –Artifact diagram Behaviour diagram –Use Case diagram –Sequence diagram –Communication diagram –State diagram –Activity diagram

6 ADMS-BIS Use Case diagram

7 ADMS-BIS Classes/objects “course management”

8 ADMS-BIS UML Class Diagrams The class diagram provides a static structure of all the classes that exist within the system. Classes are arranged in hierarchies sharing common structure and behaviour and are associated with other classes. Class diagrams are used in: Analysis To build a conceptual domain model with semantic associations between concepts

9 ADMS-BIS Class Diagram: associations between classes

10 ADMS-BIS Classes and Objects object is described by a class An object is described by a class. A class may define a number of objects with identical properties

11 ADMS-BIS Object Diagram: links between objects

12 ADMS-BIS Class diagram A class diagram describes the type of objects in a system and the static relationships between them. Static relations: – Associations – Subtypes Static structure: – Attributes – Operations

13 ADMS-BIS Class A class is a set of objects that share the same properties. Name

14 ADMS-BIS Class A class is a set of objects that share the same properties. A class has a name. Course

15 ADMS-BIS Class - attributes The class captures the abstraction of properties in the set of objects. Name Attributes

16 ADMS-BIS Class - attributes An attribute of a class is identified by name, and it identifies a property of the objects of the class, for which each object takes a value. A class has 0 to n attributes. Course courseNum: Integer title: String datum: Date

17 ADMS-BIS Class - operations OrderAttributesOperations Operations are the processes that a class knows to carry out.

18 ADMS-BIS Class - operations The operations are the ‘responsibilities’ – the things we can ask an object to do. A class has 0 to n operations. Course courseNum: Integer title: String datum: Date addReservation() cancel()

19 ADMS-BIS UML Class Diagrams Class diagrams are used in: Analysis To build a conceptual domain model with semantic associations between concepts Design Structural model of a design in terms of class interfaces Implementation Source code documentation, exposing the implementation The class diagram provides a static structure of all the classes that exist within the system. Classes are arranged in hierarchies sharing common structure and behaviour and are associated with other classes.

20 ADMS-BIS Classes and Objects Objects looks like modules in some ways Object = Identity + State + Behaviour Objects provide encapsulation of data object is described by a classAn object is described by a class. A class may define a number of objects with identical properties

21 ADMS-BIS About an Object operationsAn object has a public interface defining the operations (methods) it will support attributesAn object has private data called attributes, which only its own operations can access An object can have private operations for its own use associationsAn object may know about other objects by means of associations

22 ADMS-BIS Classes - recapitulation A class is simply represented as a box with the name of the class inside – The diagram may also show the attributes and operations Rectangle height width Rectangle height width getArea resize Rectangle height: int width: int getArea(): int resize(int,int) The complete signature of an operation is: operationName(parameterName: parameterType …): returnType

23 ADMS-BIS

24 Essentials of UML Class Diagrams recapitulation The main symbols shown on class diagrams are: Classes –Represent the types of data themselves Associations –Represent linkages between instances of classes Attributes –Are simple data found in classes and their instances Operations –Represent the functions performed by the classes and their instances Generalizations –Group classes into inheritance hierarchies

25 ADMS-BIS

26 Identifying objects ? A possible recipe –We can identify objects in our problem context by looking for nouns and noun phrases –Each of these can be underlined and becomes a candidate for an object in our solution –Eliminate irrelevant objects Redundant, vague, event, outside scope, attribute, meta- language

27 ADMS-BIS The Bank Account Example You are asked to design a system to handle current and savings accounts for a bank. Accounts are assigned to one or more customers, who may make deposits or withdraw money. Each type of account earns interest on the current balance held in it. Current accounts may have negative balances (overdrafts) and then interest is deducted. Rates of interest are different for each type of account. On a savings account, there is a maximum amount that can be withdrawn in one transaction. Bank employees may check any account that is held at their branch. They are responsible for invoking the addition of interest and for issuing statements at the correct times. A money transfer is a short lived record of an amount which has been debited from one account and has to be credited to another. A customer may create such a transfer from their account to any other. Transfers within a branch happen immediately, while those between branches take three days.

28 ADMS-BIS The Bank Account Example You are asked to design a system to handle current and savings accounts for a bank. Accounts are assigned to one or more customers, who may make deposits or withdraw money. Each type of account earns interest on the current balance held in it. Current accounts may have negative balances (overdrafts) and then interest is deducted. Rates of interest are different for each type of account. On a savings account, there is a maximum amount that can be withdrawn in one transaction. Bank employees may check any account that is held at their branch. They are responsible for invoking the addition of interest and for issuing statements at the correct times. A money transfer is a short lived record of an amount which has been debited from one account and has to be credited to another. A customer may create such a transfer from their account to any other. Transfers within a branch happen immediately, while those between branches take three days. Question ? Recognize the nouns!

29 ADMS-BIS You are asked to design a system to handle current and savings accounts for a bank. Accounts are assigned to one or more customers, who may make deposits or withdraw money. Each type of account earns interest on the current balance held in it. Current accounts may have negative balances (overdrafts) and then interest is deducted. Rates of interest are different for each type of account. On a savings account, there is a maximum amount that can be withdrawn in one transaction. Bank employees may check any account that is held at their branch. They are responsible for invoking the addition of interest and for issuing statements at the correct times. A money transfer is a short lived record of an amount which has been debited from one account and has to be credited to another. A customer may create such a transfer from their account to any other. Transfers within a branch happen immediately, while those between branches take three days. Nouns in the bank account example

30 ADMS-BIS Redundant Redundant - overdraft, account Vague Vague - amount, money An event or an operation An event or an operation - transaction, deposit Outside scope of system Outside scope of system - bank, days An attribute An attribute - interest, rate of interest, maximum amount, current balance, overdraft Meta-language Meta-language - transaction, correct times, record Nouns eliminated

31 ADMS-BIS Nouns left current account, savings account, customer, branch, statement, transfer Remark: The Bank Account is derived from Pauline Wilcox – ‘The Unified Modelling Language’ in Msc in Systems Level Integration – Systems Partitioning Module

32 ADMS-BIS Class Diagram (without adornments) bank account example current account, savings account, customer, branch, statement, transfer

33 ADMS-BIS Association Adornments: Name, Role The association has a name - the descriptive term, often a verb, for the association. Each association has two association ends; each end is attached to one of the classes in the association. An end can be explicitly named with a label. This label is called a role name (association ends are often called roles). PersonCompany employee employer works for PersonCompany employee employer  has employment for

34 ADMS-BIS Association: Multiplicity Multiplicity defines the number of objects associated with an instance of the association. –Default of 1 (1: 1) –0 or 1: 0..1 –Zero or more (0..infinite): * –1 or more (1..infinite): 1..* –n..m; range from n to m inclusive CarPerson transports passenger CarPerson transports passenger 5 CarPerson transports passenger * CarPerson transports passenger 1..* CarPerson transports passenger 2..5

35 ADMS-BIS Class Diagram (with multiplicities) bank account example

36 ADMS-BIS Association classes Sometimes an attribute that concerns two associated classes cannot be placed in either of the classes StudentCourseSection ** Registration grade StudentCourseSection Registration grade **

37 ADMS-BIS Attribute Analysis It is not always clear which attributes belongs to which classes by finding out the class attributes. An attribute is assigned to that class where it is certainly a feature. For example: a project leader has the attributes name, department and age. But what to do with the attributes project number, project duration, starting time, and budget? These attributes clarifies something about the relation between project leader and type of project. This often happens if a n:m relation refers to an association between two classes. In that case, we can define a new class, for instance project management.

38 ADMS-BIS

39 Generalization A specialization / generalization relationship, in which objects of the specialized element (child) are substitutable for objects of the generalized element (parent). Superclass – the generalization of another class, the child. Subclass – the specialization of another class, the parent. Customer Corporate Customer Personal Customer

40 ADMS-BIS Generalization - characteristics Identify common features concerning behaviour and knowledge. Define these common features on a higher level in the inheritance hierarchy. The aim is at behaviour more than knowledge when combining classes. Generalization is a bottum-up process. A superclass includes all common properties of its subclasses.

41 ADMS-BIS Specialization - characteristics Define a new class which is a special appearance of an existing class. Specialization is a top-down process. A subclass can have attributes and operations that are specific for that sub-class. A subclass may redefine operations of its super-class.

42 ADMS-BIS

43 Associations vs. generalizations Associations describe the relationships that will exist between instances at run time –when you show an instance diagram generated from a class diagram, there will be an instance of both classes joined by an association Generalizations describe relationships between classes in class diagrams –they do not appear in instance diagrams at all –an instance of any class should also be considered to be an instance of that class’s super classes

44 ADMS-BIS Aggregation Aggregations are special associations that represent ‘part- whole’ relationships –the ‘whole’ side is often called the assembly or the aggregate VehicleVehiclePart * CountryRegion *

45 ADMS-BIS Composition A composition is a strong kind of aggregation –if the aggregate is destroyed, then the parts are destroyed as well BuildingRoom *

46 ADMS-BIS Aggregation and Composition: example AB Question: What is OK? 1.A 2.B 3.A & B 4.None

47 ADMS-BIS Object diagram An object diagram is shown as a class, and the name is underscored, although an object’s name can be shown optionally preceding the class name as: objectname: classname. The object does not have to be named, in which case only the classname is shown underscored.

48 ADMS-BIS Object diagram : example Computer name: String memory: String Author name: String age: Integer 0..*1..*

49 ADMS-BIS Object diagram : example Computer name: String memory: String Author name: String age: Integer 0..*1..* Brian’s PC: Computer name = “Dell 486” memory = “256MB” Brian: Author name = “Brain Jones” age = 35r Brian’sLaptop: Computer name = “Toshiba CT” memory = “512MB”

50 ADMS-BIS References Sommerville, Ian (2001) Software Engineering, 6 th edition http://www.software-engin.com Timothy Lethbridge & Robert Laganière (2005) Object-Oriented Software Engineering, 2 nd edition http://www.lloseng.com Martin Fowler (2000, 2004) Object-Oriented Software Engineering, 2 nd edition; 3 rd edition

51 ADMS-BIS NS Ticket service Make a class diagram of ‘NS ticket service’ including the classes ‘Ticket’ and ‘Destination’ Take ticket Destination

52 ADMS-BIS Use Case diagram ‘NS Ticket service’

53 ADMS-BIS Use CaseBuy OV Ticket ActorsTraveller PreconditionsTraveller has a valid pass Description1.Ticket device expects destination code 2.Traveller enters destination code 3.Extension point: NS ticket 4.Ticket device checks code and calculates the charge. Shows destination code & fare. Activates ticket machine for paying 5.Traveller pays (use case: Pay ticket) 6.Ticket device print and supplies ticket 7.Traveller takes ticket ExtensionDestination code = NS station. 3a. Ticket device expects ticket type 3b. Traveller enters Single/Return, Discount Y/N, Class ExceptionsTraveller interrupt the interaction or walk away Traveller enters an incorrect destination code Payment is not finished off successful ResultTraveller has ticket. (NS can look forward to the payment)

54 ADMS-BIS Make a class diagram of ‘NS ticket service’ including the classes ‘Ticket’ and ‘Destination’

55 ADMS-BIS Exercises Now

56 ADMS-BIS Exercise 30 October Ga uit van de MKW beschrijving van oefening van UML1 Identificeer enkele klassen Geef zo mogelijk relaties tussen klassen aan


Download ppt "ADMS-BIS Bouwkundige Informatiesystemen ADMS 2006 UML part 2 Jan Dijkstra - 23 oktober 2006."

Similar presentations


Ads by Google