UML VIVA Questions and Answers :-
1. What is UML?
UML stands for the Unified Modeling Language.
It is a graphical language for
- visualizing
- constructing
- documenting the artifacts of a system.
It allows you to create a blue print of all the aspects of the system, before actually physically implementing the system.
2. What are the advantages of creating a model?
- Modeling is a proven and well-accepted engineering technique which helps build a model.
- Model is a simplification of reality; it is a blueprint of the actual system that needs to be built.
- Model helps to visualize the system.
- Model helps to specify the structural and behavior of the system.
- Model helps make templates for constructing the system.
- Model helps document the system.
3. What are the different views that are considered when building an object-oriented software system?
Normally there are 5 views.
- Use Case view – This view exposes the requirements of a system.
- Design View – Capturing the vocabulary.
- Process View – modeling the distribution of the systems processes and threads.
- Implementation view – addressing the physical implementation of the system.
- Deployment view – focus on the modeling the components required for deploying the system.
4. What are the major three types of modeling used?
The 3 Major types of modeling are
- architectural,
- behavioral, and
- structural.
5. Name 9 modeling diagrams that are frequently used?
9 Modeling diagrams that are commonly used are
- Use case diagram
- Class Diagram
- Object Diagram
- Sequence Diagram
- statechart Diagram
- Collaboration Diagram
- Activity Diagram
- Component diagram
- Deployment Diagram.
6. How would you define Architecture?
Architecture is not only taking care of the structural and behavioral aspect of a software system but also taking into account the software usage, functionality, performance, reuse, economic and technology constraints.
7.What is SDLC (Software Development Life Cycle)?
SDLC is a system including processes that are
- Use case driven,
- Architecture centric,
- Iterative, and
- Incremental.
UML VIVA Questions and Answers :-
8. What is the Life Cycle divided into?
This Life cycle is divided into phases.
Each Phase is a time span between two milestones.
The milestones are
- Inception,
- Elaboration,
- Construction, and
- Transition.
9. What are the Process Workflows that evolve through these phases?
The Process Workflows that evolve through these phases are
- Business Modeling,
- Requirement gathering,
- Analysis and Design,
- Implementation,
- Testing,
- Deployment.
Supporting Workflows are Configuration, change management, and Project management.
10. What are Relationships?
There are different kinds of relationships:
- Dependencies,
- Generalization, and
- Association.
Dependencies are relationships between two entities.
A change in specification of one thing may affect another thing.
Most commonly it is used to show that one class uses another class as an argument in the signature of the operation.
Generalization is relationships specified in the class subclass scenario, it is shown when one entity inherits from other.
Associations are structural relationships that are:
a room has walls,
Person works for a company.
Aggregation is a type of association where there is a has a relationship.
As in the following examples: A room has walls, or if there are two classes room and walls then the relation ship is called a association and further defined as an aggregation.
11. How are the diagrams divided?
The nine diagrams are divided into static diagrams and dynamic diagrams.
12. Static Diagrams (Also called Structural Diagram):
The following diagrams are static diagrams.
- Class diagram,
- Object diagram,
- Component Diagram,
- Deployment diagram.
13. Dynamic Diagrams (Also called Behavioral Diagrams):
The following diagrams are dynamic diagrams.
- Use Case Diagram,
- Sequence Diagram,
- Collaboration Diagram,
- Activity diagram,
- Statechart diagram.
14. What are Messages?
A message is the specification of a communication, when a message is passed that results in action that is in turn an executable statement.
15. What is an Use Case?
- A use case specifies the behavior of a system or a part of a system.
- Use cases are used to capture the behavior that need to be developed.
- It involves the interaction of actors and the system.