Saturday, April 17, 2010

UML Concepts and Questions

1. What is UML?
The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systemes

2. Who developed UML?
UML was not developed by Rational Software (was developed by the Object Management Group), although some of the people on the OMG committee do/did work for RS (now owned by IBM, in the Rational division)

3. Explain about derived element in UML?
Derived elements, as the name suggests, can be derived from one or more other elements of the system type. it is logically redundant to depict a derived elements in a design model. However, you can use the derived elements to model an explicit detailed design. To represent a derived element in a class diagram, you place a slash (\) before the name of the element.

4. How many types of notation in UML?
UML provides two types of notations to realize an interface.
  •  Lollipop notation
  •  Dashed arrow notation 
5. Explain about lollipop notation.
 The interface as a circle and display the class that realizes the interface in a rectangle. The details of the operations contained in the interface or the class are not show.

The following figures show the realization of interface by using the lollipop notation.



NOTE: - The AcceptCreditCard class realizes the interface, IAcceptCard.

  
6. How many types of derived elements,  explain each type?
A derived element can be of two types.

· Derived attribute: - you calculate the value of derived attribute form the value of the other attribute of the object. The formula to calculate the derived attribute is represented as constraint in the class diagram.

The following figure shows the representation of a derived attribute in UML notation.






NOTE: - The employee class may have D.O.B and Age as attribute. The D.O.B attribute is used to derive the value of the Age Attribute. You use a dotted straight line with the team, <;< derived>>, to represent the relationship between the D.O.B and Age attribute.
  •  Derived association: - you can deduce a derived association from the other associations in a class diagrams.
The following figure show the representation of a derived association.


NOTE: - The Employee class is association to the Department class and the Department class is a part of the organization class. Therefore, the Employee class is also association to the organization class. You can derive this association from the association’s betweens the Department and Employee classes and the organization and Department classes.

7. Explain about executable UML?
Executable does not use full functionality and standards as present in UML. Although there are many constructs present in UML all of them are not used for designing, executable UML uses only limited number of constructs.

8. Explain the UML diagram modeling techniques, how many types of modeling techniques.

You can divide all the UML diagram into four modeling techniques.
  • Reqirements modeling: - involves depicting the requirements using use case diagram. 
  •  Static modeling: - involves depicting the static constituents of the software system using the class, object, and composite structure diagrams.
  •  Dynamic modeling: - involves depicting the behavior of static constituents using the diagrams.
  •  Architectural modeling:- Architectural of the software system into multitier, such as presentation, business, and resource. Architectural modeling depicts the architectural of the software system by using the diagrams.
9. Explain about building blocks of uml, how many types of building blocks of uml
The building block of uml includes the components that are necessary for creating models of the software system.

The three types of UML building blocks.

  •  Basic UML constituents: - include the static, dynamic, grouping, and an notational constituents.
  •  Relationships: - Depict the relations between the various constituents of a uml.
  • Diagrams: - Represent the various artifacts of a system graphically. Diagrams enable you to visualize a system form all the aspects of software development.
10. What is a Use Case diagram?
 A use case diagram depicts the various operations that a system performs. It contains use case, user (actor), and there relationship. Use cases are the sequence of action that forms a single unit of works for an actor. An actor represents a user who is external to the system and interacts with the use case.

 The following figure depicts the graphical notation for a use case diagram











NOTE:-

 1. The figure that corresponds to the user is called an ‘Actor’.
2. The ellipse represents the ‘use case’.

11. Explain the use case view.
Indicate the functionalities that the system offers to each stakeholder. You can depict this view by using the use case, sequence, communication, state, activity, and interaction overview diagrams.

12. Different between process view and implementation view .
Represents the various processes executing in a system at a given instance of time . The primary focus of this view is to evaluate the execution of processes in terms of performance and scalability. The process view is again important for analysts, architects, and end user to view the information flow during process execution and how data is modified while processing. You can depict this view by using the class , object ,sequence ,communication, state, timing, interaction overview, and activity diagrams.

         Implementation view represents the physical system including the file and components required to assemble the system. The view focuses on various methods of assembling and configuring the components to release the required software system. This view is important for the client and project manager in terms of the plans for the release. It is important for developer and tester’s it know about the final components that need to be assembled for the system. You can depict this view by using the component, sequence, communication, state, composite structure, timing, and activity diagrams.

13. How many types of use case in alternative process.

Three types of use case in alternative process.

  •  Façade use case.
  •  Filled use case .
  •  Focused use case
14. Explain about façade use case.
Façade use cases describe the software system in three terms: information, input, and output. You can also include actors in a façade use case. You create façade use case in the initial phase of the requirements gathering process and, therefore, capture the ad-hoc and most basic requirements for the new system.

The attribute that façade use case contain are:

  •  Use case name: - Describes the function name, which is implemented by the use case, in the customer terminology.
  • Description: - Describes the purpose and output of the use case functions.
  • Role name: -Provides additional information about the role of the actor involve in the association relationship with the use case.
  • Input and output: - indicates the input and output of the process modeled by the use case.

 15. Explain about filled use case.
Filled use cases are involved from façade use case and they contain detailed information that is not providing in the façade use cases.
The information that a filled use case contains is:
  •  Pre-condition.
  • Trigger.
  •  Actors.
  •  Basic course of events.
  • Exceptions.
  •  Business rule.
16. What are diagrams?
 Diagrams are graphical representation of a set of elements most often shown made of things and associations.

17. What is a Class Diagram?
Class diagrams are the most important part of object-oriented analysis and design. UML 2 class diagrams show the classes of the system, their interrelationships (including inheritance, aggregation, and association), and the operations and attributes of the classes. Class diagrams are used for a wide variety of purposes.


 The following figure depicts the graphical notation for a class diagrams




Note: - A rectangle is the icon that represents the class. It’s divided into three areas. The uppermost area contains the name, middle area holds the attributes, and the lowest area shows the operation.

18. What are the different types of classes in UML?

UML enables you to classify classes into the four types.
  •  Abstract class.
  •  Parameterized class.
  •  Factory class.
  •  Self-linked class

 19. Explain about Parameterized class.

 A Parameterized class, also called template class, provides a mechanism that enables you to use operation and classes to work with different data types.A Parameterized class consists of type parameters that are unbounded, which means that the data types of the parameters are not define in the parameterized class. You can’t create the object of a parameterized class. To use the functions defined in the parameterized class, you need to realize the parameterized class by using classes.


 The following figure depicts the graphical notation show the parameterize class.













NOTE: -Represent a parameterized class by a dashed rectangle that you place on the upper right corner of the class. The dashed rectangle contains the list of formal parameters using the syntax, name: type.

20. What is Factory class?

 A class that has multiple objects having the same attribute value is known as a Factory class. To represent the multiple object of a factory class, you can use a symbol of overlapping rectangles.
Show in the following figure in factory class.











NOTE: - Factory class is an EJB factory class that creates multiple instances of EJB in an instances pool of the J2EE middle tier server. Multiple instances are used whenever request for the same arrive at the server.

21. What is Abstraction?
 Abstraction Focuses on essential, inherent aspects of an entity ignoring its implementation details. An abstract class specifies the abstract operation but does not include its implementation. The implementation is provided in the derived classes of the abstraction class. Consider an Example of the polygon class that specifies an abstract operation, Compute Area ().The polygon class does not provide the implementation of the operation, Compute Area ().the Derived classes of the polygon class, rectangle and Square, implement the Compute Area () operation to compute the area of Rectangle and square.

22. What is Realization in UML?

Realization represents the semantic relationship among the components of a class diagram, where one component specifies a contract and the other component implements the contract. You define a contract as a set of function.

The following figure shows the representation Realization relationship.












NOTE: -there may be various payment counters in the store to pay the bill. The payment counter acts as interface that realizes the bill class to generate a bill for a customer. The paymentsCounter interface and bill class share a realization relationship. The <> denotes that payment counter is an interface.

23. Explain about the interfaces?

An interface is a collection of operations that are used to represent the services provided by a class or component. An interface provides the declaration of only the public methods and doesn’t provide their implementation. As a result, interfaces do not contain attributes.

Example of a class diagram in which the Professor and Student classes implement the Person interface.














NOTE: - Both the Professor and Student classes implement the Person interface and do not inherit from it. We know this for two reasons: 1) The Person object is defined as an interface — it has the "«interface»" text in the object's name area, and we see that the Professor and Student objects are class objects because they are labeled according to the rules for drawing a class object (there is no additional classification text in their name area). 2) We know inheritance is not being shown here, because the line with the arrow is dotted and not solid. A dotted line with a closed, unfilled arrow means inheritance.

24. What is different between Abstract class and interface?
Interfaces enable you to implement multiple inheritances because a class can implement more than one interface.
Abstract classes do not support multiple inheritances. A class con not inherits more than one abstract class.
An abstract class contains attributes and methods that can be public, private, or protected. Interface consists of only methods.
An abstract class may provide the definition of some of its methods, But interface do not provide any definition.An abstract class is used in the same package as opposed to an interface that can be realized across multiple packages.

25. What is encapsulation?
Encapsulation means preventing access to non-essential details. For example, when you plug in cord of the vacuum cleaner and switch it on, the vacuum cleaner starts smoothly. You cannot see the complex processes needed to actually convert electricity into suction power.

26.What is polymorphism?
The concept of using operators or functions in different ways depending on what they operating on is called polymorphism.

The following figure depicts the graphical notation show the polymorphism.











NOTE:-In this hierarchy, Rectangle, Oval, and Line are more specialized from of Shape. They share some basic behavior, though. If Shape has a method called draw, Rectangle, Oval, and Line inherit this method. However, the draw method inherited can be overridden in the child class. This method overriding is actually what makes things more interesting.

27.Explain About inheritance.
Inheritance refers to sharing of attributes and behaviors among classes based upon hierarchical relationship. The inheritance feature allows you to define a new class by extending an existing class. The original class is called base class or super class and the new class obtained through inheritance is called a derived class or a sub class.

The following figure depicts inheritance of a derived class from the base class.




















NOTE: - inheritances of classes allow you to reuse code. If certain data or methods are similar in a set of classes, then instead of defining those methods and data in each class separately, you can define the common methods and data in the base class.

28.What is a dependency?
In another kind of relationship, one class uses another. This is called a dependency. The most common usage of a dependency is to show that the signature of one class’s operation uses another class.

The following figure depicts the graphical notation show the dependency.












NOTE: - A dotted line with an arrowhead represents a dependency


 29.Explain about aggregations?

 Sometime a class consists of a number of component classes. This is a special type of relationship called an aggregation.

 The following figure depicts the graphical notation show the aggregations.












NOTE: -Represent an aggregation as a hierarchy with the “Whole” class at the top, and the components below. A line joins a whole to a component, with an open diamond on the line near the whole. Figure show the computer system as an aggregation.

  30.What is deferent’s between recursive aggregation and qualified association.

  Recursive aggregation is an association relationship between two objects of the same class.

 The following figure depicts the graphical notation show the recursive aggregation.


















NOTE: -Consider an employee information system in which project Manager and developer are two object of the employee class. The developer reports to the project manager. Therefore, the project Manager and Developer object the employee class share a recursive aggregation relationship.
  • Qualified association: - qualified association is an association relationship that relates an object of a class to a particular object or a set of another class. You use a value, known as qualifier, to distinguish the object of one class from another. A qualifier can be an attributes of the class.

 The following figure depicts the graphical notation show the qualified association.


NOTE:-Many students are associated to a university. To distinguish a particular student from other student, you need to map a particular enrolment Number to the student. For this reason, the university class uses the enrolment Number attribute of the student. class as the qualifier to distinguish a particular student from other students. The university and student classes share an association relationship.

31.What is a composite? 
A composite is a strong type of aggregation. Each component in a composite can belong to just one whole.

The following figure depicts the graphical notation show the composite.












NOTE: - The component of a coffee table the tabletop and the legs make up a composite. The symbol for a composite is the same as the symbol for an aggregation except the diamond is filled.

 32.Explain the mining of association.

 When classes are connected together conceptually, that connection is called an associations.
For example: - association between player and team.








NOTE: - one the association between player and team. You can characterize this association with the phrase “a player play on a team.” You visualize the association as a line connecting the two classes. With the name of the association just above the line.

 33.What is a UML sequence diagram?
UML sequence diagrams are used to represent or model the flow of messages, events and actions between the objects or components of a system. Time is represented in the vertical direction showing the sequence of interactions of the header elements, which are displayed horizontally at the top of the diagram.
Sequence Diagrams are used primarily to design, document and validate the architecture, interfaces and logic of the system by describing the sequence of actions that need to be performed to complete a task or scenario. UML sequence diagrams are useful design tools because they provide a dynamic view of the system behavior which can be difficult to extract from static diagrams or specifications.

 Although UML sequence diagrams are typically used to describe object-oriented software systems, they are also extremely useful as system engineering tools to design system architectures, in business process engineering as process flow diagrams, as message sequence charts and call flows for telecom/wireless system design, and for protocol stack design and analysis.
For example: - shows message calls on the sequence diagram…















34. What is an object diagram?
Object diagrams are derived from class diagrams so object diagrams are dependent upon class diagrams. Object diagrams represent an instance of a class diagram. The basic concepts are similar for class diagrams and object diagrams. Object diagrams also represent the static view of a system but this static view is a snapshot of the system at a particular moment. Object diagrams are used to render a set of objects and their relationships as an instance.

Purpose:
The purpose of a diagram should be understood clearly to implement it practically. The purposes of object diagrams are similar to class diagrams.
The difference is that a class diagram represents an abstract model consists of classes and their relationships. But an object diagram represents an instance at a particular moment which is concrete in nature.
It means the object diagram is more close to the actual system behavior. The purpose is to capture the static view of a system at a particular moment.

So the purpose of the object diagram can be summarized as:

* Forward and reverse engineering.

 * Object relationships of a system

 * Static view of an interaction.

 * Understand object behavior and their relationship from practical perspective


 Fig- represents the object diagrams.












NOTE: - That the icon is a rectangle, just like the class icon, but the name is underlined. The name of the specific instance is on the left side of a colon, and the name of the class is on the right side of the colon.

 35.What is state diagram?
 State diagrams are used to describe the behavior of a system. State diagrams describe all of the possible states of an object as events occur. Each diagram usually represents objects of a single class and tracks the different states of its objects through the system.

36.When to Use: State Diagrams.

 Use state diagrams to demonstrate the behavior of an object through many use cases of the system. Only use state diagrams for classes where it is necessary to understand the behavior of the object through the entire system. Not all classes will require a state diagram and state diagrams are not useful for describing the collaboration of all objects in a use case. State diagrams are other combined with other diagrams such as interaction diagrams and activity diagrams


 Fig: - uml state diagrams, show the capture this bit of reality. The figure shows that the Software Development life cycle forms one state to next state.





















Note: - The symbol at the top of the figure represents the start state and the symbol at the bottom state represents the end state.

  
37.What is UML Package Diagrams
Use package (package: A grouping of model elements represented in the UML by a symbol that resembles a manila file folder. Each element in a system can be owned by only one package, and one package can be nested in another.) Diagrams to group related elements in a system. One package can contain subordinate packages, diagrams, or single elements.

The following figure depicts the graphical notation show the Package Diagrams













38.UML Component Diagrams.
Use a component diagram (component diagram: An implementation diagram that shows the structure of the code itself. From a component diagram, you can learn about compiler and run-time dependencies between software components,
The following figure depicts the graphical notation show the component diagram.













39.Deployment diagrams
Deployment diagram shows the physical placement of components in nodes over a network. A deployment diagrams can be drawn by identifying nodes and components. ,in other words Deployment diagrams show the hardware for your system, the software that is installed on that hardware, and the middleware used to connect the disparate machines to one another.

The following figure depicts the graphical notation show the deployment diagrams.





















NOTE:- For example, in the order processing system, the orderprocess.exe component is placed on the Clint node and the database component is placed on the Database server node. The request for the data for the order processing system is routed to the Database server through the processor server.

40.State some benefits of iterative development?

 Some of the benefits offered by iterative development are as follows: -

  •   Mitigation of risks in an earlier stage.
  •  Visibility of progress.
  •  Feedback, adaptation and engagement.
  •  Complexity management.
  •  Iteration management can improve the overall process of the project because it details and explains the various steps present in it.
41.Communication diagrams.
Communication diagrams are similar to sequence diagrams, but provide an overview of the relationships between objects, rather than focusing on the order of messages between objects, asyoursoftwareexecutes.
Communication diagrams have a free-form layout, so you can position objects to emphasize their relationships. Communication diagrams typically describe one instance, or a single path, of program execution.


 For example, the following figure depicts the interaction between the Student admission and passout of student.












42.Activity Diagrams.
Activity Diagrams are representation of the various operations performed by a class .an activity diagrams depicts the flow of control form one activity to another.

The following figure shows the flow of the activities.
















 43.Association relationship between the Actor and the use case and the actors of the Info DDI ATM system.

Use cases for DDI ATM system:

  
· Other information.

  •  Check book Request.
  •  Check Deposi.
  •  Fund transfer.
  •  Change pin.
  • Check Deposit.
  • Transaction Summary.

Actors for DDI ATM system
· Centralized Bank System.

The final use diagrams should appear as shown in the following Figure.





















44. Software Development Life Cycle (SDLC)
SDLC was introduced to address the problem faced during the software development process. SDLC is the process of developing information systems through investigation, analysis, design, implementation and maintenance. SDLC is also known as information systems development or application development.

There are six phases in SDLC.
1) Information Gatherin
2) Requirement Analysis
3) Desig
4) Coding
5) Testing
6) Implementation & Maintenance.

Information Gathering: include analysis of project requirements in terms of inputs data and desired outputs, processing required to transform input into output, cost-benefits analysis ,and schedule of the project., in other words information is gathered from the customer, if some information are missing then we need to go to customer and take the required information. Mainly this is done by the Business Analyst as they are the one who are completely involved in Software Development life Cycle.

Requirements Analysis Phase: includes gathering, analyzing, validating, and specifying requirements. At the end of this phase, the software requirements specification (SRS) documents is prepared.

Design Phase: translation of the requirements specified in the SRS into a logical structure that can be implemented in a programming language
Entry Criteria: SR
Exit Criteria: Design Document.

Coding Phase: Implementation of the design specified in the design document into executable programming language .
Entry Criteria: Design document.
Exit Criteria: .exe
Unit testing, integration testing & white box testing
Comes in this phase .

Testing: - detection of error in the software. The testing process starts with a test plan that recognizes test-related activities, such as test case generation, testing criteria, and resource allocation for testing

Implementing & Maintenance: The software will definitely undergo change once it is delivered to the customer. There can be many reasons for this change to occur. Change could happen because of some unexpected input values into the system. In addition, the changes in the system could directly affect the software operations.
45.Explain the storyboards
Storyboarding is a technique that involves the task to design a series of user interfaces on paper before you develop the software system. The user interface storyboards match the definitions of the use case paths described in the basic course of events and provide the graphic presentation s of various processes. Storyboarding enables you to obtain customer feedback on how the system should work at a very early stage.
46. How many types of storyboards. Explain the types of Storyboard
The various types of storyboards
  •  Passive storyboard: - consists of sketches, picture, screen short, presentations, or sample application outputs. In a passive storyboard, the analyst gives the description of each results generated by performing a particular operation.
  •  Active storyboard: - consist of animations or an animation tool. And a recorded computer script or simulation.
  • Interactive storyboard: - consist of simulation or prototypes. This storyboard requires an interaction with the end user and is useful to capture the requirements about which the stakeholders are not clear.





Free counter and web stats


Recent Posts