Final Flashcards
What are the 3 Object-Oriented Methods?
Object-Oriented Development (Booch), Object Modeling Technique (Rumbaugh), Object-Oriented SE (Jacobson)
What does UML stand for?
Unified Modeling Language, standard in system development, merges the 3 OO languages
What are 6 things UML is used for specifying/visualizing/documenting?
functions, entities with whom the software interacts, sequence of events during run-time for a function, classes & relationships, states of objects at run-time, physical architecture of the software
How are UML diagrams useful for stakeholders?
Stakeholders view the system from different perspectives using the set of UML diagrams that make up the system model
What are the 10 Common UML Diagrams?
Use case, Activity, Collaboration, Sequence, Class, Object, State Transition, Component, Deployment, Package
What are the 3 views for software systems?
Use case (interactions), static (structure), dynamic (behaviour)
What does the use case view describe?
Describes the functionality of the system from the user’s POV [use case diagram]
What does the static view describe?
Describes the entities of the system and their relationships [class, object, component, deployment, and package diagrams]
What does the dynamic view describe?
Describes the behaviour of the system (shows changes and progress) [state transition, activity, interaction (sequence and collaboration) diagrams]
What are UML tools used for?
Drawing UML diagrams, fixing errors, some code generation (in Java and C++)
What does OMG stand for?
Object Management Group
What are the Object-Oriented Concepts with UML?
Abstraction, Information Hiding, Inheritance, Polymorphism, Composition, Strong Cohesion, Loose Coupling
What is Abstraction?
Details are ignored
What is Information Hiding?
Details are hidden
What is Inheritance?
Reusability through specialization
What is Polymorphism?
Many forms
What is Composition?
Larger classes
What is Strong Cohesion?
One responsibility
What is Loose Coupling?
Low dependency
What is the object-oriented approach?
Focus on both data and actions, system state is decentralized, system viewed as a collection of interacting objects, objects communicate via message passing (method invocation)
What does a use case diagram include?
Functions of the system (set of use cases) and who will interact with them (actors [initiating and benefiting]), and relationships (extension, inclusion, inheritance)
What needs to be included in a use case diagram?
Pre-conditions, primary scenario, alternate scenarios, post-conditions
What is a scenario?
A sequence of related actions performed by the actor and system
What are the 3 Types of use case relationships?
Inclusion, Extension, Inheritance
What is Inclusion in use case relationships?
Reuse one use case’s actions inside another use case (behaviour factored out)
What is Extension in use case relationships?
Additional behaviour performed under certain conditions
What is Inheritance in use case relationships?
Inherit the behaviour of a parent use case and replace some actions
What is Generalization?
Inheritance among actors
What does a Sequence diagram describe?
Describe the dynamic behaviour between objects: runtime communication
What is the syntax of a Sequence diagram?
Actor, objects, boxes (time needed by an object to complete a task), messages, lifeline
What is a Sequence fragment?
Grouping of actions with an operator (alt, opt, loop)
What is a Petri Net used for?
Specifying and verifying concurrent systems. Used to model and test the behaviour of complex processes.
What is improved with concurrent processing?
Time-efficiency
What are two problems of concurrency?
Starvation and deadlock
What is Starvation?
A process is denied a resource for a long time. Enabled transitions that do not fire
What is Deadlock?
No progress is possible in the system. No enabled transitions.
What is Liveness?
A deadlock can never occur - opposite of deadlock
What are the characteristics of a Petri Net?
Directed, weighted graph defined with: places (input/output), transitions, input and output arcs, and tokens
What is a PN state?
The marking of its places
What is marking in a PN?
The distribution of tokens in a net (number of tokens in a place)
What is the initial marking of a PN?
Indication of where the tokens are initially. Format: <P1(2), P2(1)>
When is a transition enabled in a PN?
When there is at least one token in each of its input places
What is a ‘firing sequence’ for a PN?
The order of transitions to be executed <t1, t2, …, tn>
What happens when a transition fires?
One token is removed from each input place and one token is inserted in each output place.
Describe the execution of a PN.
- Establish initial marking, 2. Select an eligible (enabled) transition. The choice is non-deterministic., 3. Executing the selected transition, 4. Repeating steps 2 and 3.
What is the difference between a Deterministic and Non-deterministic choice?
Deterministic: Single possible outcome, Non-deterministic: Multiple possible outcomes
What happens when an input/output arc has a weight?
The arc’s weight determines how many tokens are required for the input or output.