UML and Domain modelling (Week 2) Flashcards

1
Q

What is UML?

A

It is a standardized graphical modelling language for communicating software design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does UML allow?

A

Allows implementation-independent specification of:

  • User/system interactions(required behaviours)
  • Partitioning of responsibility(OO)
  • Integration with larger or existing systems
  • Data flow and dependency
  • Operation orderings (algorithms)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the motivations for UML?

A

This modelling language was created to

  • help develop efficient, effective and correct designs, particularly object oriented designs.
  • Communicate clearly with project stakeholders (developers,customers,etc)
  • Give us the big picture view of the project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Types of UML diagrams

A

Structure diagrams:

  • Class diagrams
  • profile diagrams
  • component diagrams
  • composite structure diagrams
  • object diagrams
  • deployment diagrams
  • package diagrams

Behaviour diagrams (dynamic, changes to the system over time):

  • Activity diagram
  • Use case diagram
  • State machine diagram
  • interaction diagram
    • sequence diagram
    • communication diagram
    • interaction overview diagram
    • timing diagram
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is a class diagram?

A

A central modelling technique that runs through nearly all object-oriented methods.
Describes the types of objects in the system and various kind of static relationships which exist between them
- Class diagram partitions the system into areas of responsibility (classes) and shows associations (dependencies) between them.
- Attributes (data), operations(methods), constraints, type-of (inheritance) relationships, access and cardinality (1 to many) may all be noted.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a component diagram?

A

Component diagram shows dependencies between high-level system components

  • The software in two distinct components/packages is separated; Components only interact through well-defined interfaces, there is no direct sharing of data or code
  • Component is usually a collection of related classes, and will usually be specified by it’s own class diagram
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Why use a domain model?

A

It helps us to identify the relevant concepts and ideas of a domain. We decompose the domain into concepts or objects in the real world, it’s the basis for the design of the software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

When is domain modelling done?

A

During object-oriented analysis

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the guideline for creating domain models?

A

Only create a domain model for the tasks at hand

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How to create a domain model?

A
  1. Find conceptual classes:
    - reuse or modify an existing model
    - use a category list
    - identify noun phrases
  2. Draw them as classes in a UML class diagram
  3. Add associations and attributes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly