keywords:
Bookmark and Share



Front Back
What is Composition within a Class Diagram?
Composition (filled in diamond) implies a coincident lifetime – the part components are created at the same time (as the whole). If the whole is destroyed, so are all the parts. e.g. a Document is composed of an Index and Sections. If the document is deleted (no longer exists), the Index and Sections will also be deleted – they have no independent existence.
What is Aggregation within a Class Diagram?
Aggregation (blank diamond) implies a whole-part structure between two classes where the parts can exist without the whole. e.g. a Train is made up of Engines and Coaches. If a Train is cancelled (deleted) the Engines and Coaches will still exist.
Describe what an Actor represents in Use Case Diagrams.
An ‘Actor’ is anything outside the system to which the system interfaces. An actor can be either a person or a thing.  These include users, groups of users, other systems, machines, devices, time, external bodies or organisations. Actors represent roles. One actor can represent any number of users of the system so long as all these users have the same role (e.g. customers using an on line shop system) One person can be represented by more than one actor if he/she has uses the system for more than one purpose.
Explain include (Uses) relationship
‘include’ Relationships are used to model relationships between use cases in which a base use case instance will always include the behaviour specified by a common use case. Include relationships are used to share common behaviour among use cases They are denoted by an arrows (with dashed line & open arrowhead) pointing away from the base use case, and towards the included use case. The keyword <<include>> is written in guillemets (<< .. >>) alongside the relationship arrow.
Explain extend relationship
‘extend’ Relationships are used to model relationships between use cases in which a base use case instance may include the behaviour specified by an extending use case, subject to conditions specified in the extend relationship. They are used to capture exceptional behaviour, or variation from normal behaviour. They are denoted by an arrows (with dashed line & open arrowhead) pointing towards the base use case from the extending use case. The keyword <<extend>> is written in guillemets (<< .. >>) alongside the relationship arrow.
Explain generalisation association
Sometimes there may be different versions of the same use case. There is the general case, then specializations of this use case. This can be represented in a diagram using the generalisation association, which is denoted by an arrow (continuous line & triangular arrowhead which is not filled in) pointing towards the general use case from the specialised use case. This is a similar concept to inheritance in OO programming where you might have a general class (e.g. Person) and specialist classes (e.g. Student, Staff). Generalisation can also exist between actors.
Explain the use of substates in State machine Diagrams.
The idea of a state in a State Machine itself having a number of states – greater refinement/granularity/abstraction. Expand a bit on this.
Describe the role of Activity Diagrams in the development of a system.
Activity diagram – a behaviour diagram Activity diagrams can specify use cases Activity Diagrams can show the flow of control in a use case. Activity Diagrams can also be used to verify a use case – show a stakeholder an activity diagram of a use case to make sure that the developer’s understanding of the use case matches that of the stakeholder. They are flow diagrams and can be used not only to model workflows and use cases, but also to identify candidate use cases.
Describe a Decision Node
  • has a diamond shape
  • Has a single (usually) incoming flow
  • Has several guarded out bound flows
  • Each outbound flow has a guard
–        A guard is a boolean condition placed inside square brackets e.g. [priority order] –        Each time you reach a decision you take only one of the outbound flows –        The guards are mutually exclusive –        [else] flow indicates all other guards on the decision are false
Describe a Merge Node
  • Has the same diamond shape as a decision
  • has several flows entering and one leaving.
  • This should only be used to bring together alternative – not parallel – flows.
Describe a Fork Node
  • A black bar
  • with one flow going into it and several leaving it.
  • This denotes the beginning of parallel activity.
Describe a Join Node
  • A black bar
  • with several flows entering it and one leaving it.
  • All flows going into the join must reach it before processing may continue.
  • This denotes the end of parallel processing.
What is an Object?
Object-is an instance of a class.  An object is something you can do things to.  It has state, behaviour and identity.  The structure and behaviour of similar objects are defined in their common class.
What is a Class?
Class- is a set of objects that share a common structure and a common behaviour.  A class defines the attributes (data) and operations (function) that instances (objects) of that class may have.  It is a template for instances (objects) of that class.
Describe what is ment by Public in a Class Diagram?
Public (+)  : means the feature is available to any class associated with the class that owns that feature.
Describe what is ment by Private in a Class Diagram?
Private (-)  : means that a feature is available only within the class that owns that feature.
Describe what is ment by Protected in a Class Diagram?
Protected (#)  : means that the feature is available within the class that owns that feature and any subclass of that class
Why is Testing important in the Development of a system?
Very important.  Testing can be carried out in many different ways – including running systems, designs and parts of systems. Major aims – to find bugs, to convince customer there are no (important) bugs, to provide information to help with system evolution (future requirements, priorities, present performance information).  Could outline different types of testing eg usability, module, integration, system, acceptance, performance
x of y cards