Friday, April 23, 2010

UML

Unified Modeling Language? Here I have tried to simplify the keyword UML. In software engineering, whenever the pictorial graphical representation is required, as process document or some application architecture or design need to be elaborated, then it is done with the help of UML. Simply defining, the Unified Modeling Language (UML) is a standardized visual specification language for object modeling. Defining in other terms , UML is a general-purpose modeling language that includes a graphical notation used to create an abstract model of a system, referred to as a UML model. Going into bit detail description, UML is officially defined at the Object Management Group (OMG) by the UML metamodel, a Meta-Object Facility metamodel (MOF). Like other MOF-based specifications, the UML metamodel and UML models may be serialized in XML. UML was designed to specify, visualize, construct, and document software-intensive systems. To understand more about the language, I have just framed and complied some general FAQ sort. I believe just going thru these answered questions, is enough to develop the basic understanding of the UML. First of all, in the layman termed, basic query. What is UML? - Unified Modeling Language (UML) is the industry-standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. Using UML, programmers and application architects can make a blueprint of a project, which, in turn, makes the actual software development process easier. What can I use UML for? - UML was designed with these primary purposes in mind: · Business process modeling with use cases · Class and object modeling · Component modeling · Distribution and deployment modeling What's the actual need of UML, isn't it enough to write some thing about our application's design and architecture, somewhere in documentation, without using the pictorial symbols of UML? - While it's certainly possible to describe interrelated processes and code architecture in words, many people prefer to use a diagram to visualize the relationship of elements to one another. UML is a standard way to create these diagrams. As a result, it makes it easier for programmers and software architects to communicate. Different types of diagrams available in UML? - UML provides many different models of a system. The following is a list of then: 1) The Use Case Diagrams - A use case is a description of the system's behavior from a user's viewpoint. 2) The Class Diagrams - "What objects do we need? How will they be related?" 3) Collaboration Diagrams - "How will the objects interact?" 4) Sequence Diagrams - "How will the objects interact?" 5) State Diagrams - "What state should our object be in" 6) Package Diagrams - "How are we going to modularize our development?" 7) Component Diagrams - "How will our software components be related?" 8) Deployment Diagrams - "How will the software be deployed?" What is a "use case"? - A complete end-to-end business process that satisfies the needs of a user. What are different categories of use cases? - Detail Level: - High level / ExpandedTask Level: - Super / Sub (Abstract; Equal Alternatives; Complete v. Partial)Importance: - Primary / Secondary (use Secondary for exceptional processes)Abstraction: - Essential / Real What is the difference between a real and essential use case? - Essential - describes the "essence" of the problem; technology independent real - good for GUI designing; shows problem as related to technology decisions. In a System Sequence Diagram, what is a System Event? - It is from the expanded use case. It is an actor action the system directly responds to. Give an example of a situation which a State Diagram could effectively model. - Think of a cake and its different stages through the baking process: dough, baked, burned. For what are Operations Contracts written? - System Events. In an Operations Contract's postconditions, four types of activities are specified. What are they? - They are: · Instances created · Associations formed · Associations broken · Attributes changed What does an Operations Contract do? -Provides a snapshot of the System's state before and after a System Event. It is not interested in the Event's specific behavior. What does a Collaboration Diagram (or Sequence Event, depending on the process) model? - A System Event's behavior. How does one model a class in a Collaboration Diagram? An instance? - A box will represent both; however, a class is written as MyClass whereas an instance is written as myInstance:MyClass. What are the three parts of a class in a Class Diagram? - Name, Attributes, Methods. In Analysis, we are interested in documenting concepts within the relevant problem domain. What is a concept? - A person, place, thing, or idea that relates to the problem domain. They are candidates for objects. Does a concept HAVE to become a class in Design? - No. In a Class Diagram, what does a line with an arrow from one class to another denote? - Attribute visibility. What are the four types of visibility between objects? - Local Parameter Attribute Global. When do you use inheritance as opposed to aggregation? - An aggregation is a "has a" relationship, and it is represented in the UML by a clear diamond. When would I prefer to use composition rather than aggregation? - Composition is a stronger form of aggregation. The object which is "contained" in another object is expected to live and die with the object which "contains" it. Composition is represented in the UML by a darkened diamond. Is the UML a process, method, or notation? - It is a notation. A process is Objectory, Booch, OMT, or the Unified Process. A process and a notation together make an OO method.

No comments:

Post a Comment

Health Benefits of Cashews

  Benefits of Cashews. Healthy food is an integral part of healthy body. Regular exercises such as Yoga and healthy diet is important to...