240 likes | 613 Views
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML). OUTLINES . Introduction. Implementation. - class diagrams - Objects - Activity Diagrams Advantages of UML. Disadvantages of UML. Conclusion. . Introduction. Unified modeling language ( UML ):
E N D
OUTLINES • Introduction. • Implementation. - class diagrams - Objects - Activity Diagrams • Advantages of UML. • Disadvantages of UML. • Conclusion.
Introduction • Unified modeling language ( UML ): - specifying, visualizing, constructing, and documenting all the artifacts of a software system . • It is a family of design notations. • It is a specification language that is used in the software engineering field. • The Unified Modeling Language is commonly used to visualize and construct systems which are software intensive. - Because software has become much more complex in recent years.
class diagram class diagram is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among the classes.
class diagram The class diagram these classes are represented with boxes which contain three parts: A class with three sections. 1-The upper part holds the name of the class . 2-The middle part contains the attributes of the class. 3-The bottom part gives the methods or operations the class can take.
Visibility • To specify the visibility of a class member (i.e., any attribute or method) these are the following notations that must be placed before the member's name:the Visibility of a Class Members Are: + Public - Private # Protected
Multiplicity Place multiplicity notations near the ends of an association. These symbols indicate the number of instances of one class linked to one instance of the other class.
use Class Diagram •Describing the static view of the system. •Showing the collaboration among the elements of the static view. •Describing the functionalities performed by the system.
What are objects? • ‘An abstraction of something in a problem domain, reflecting the capabilities of the system to keep information about it, interact with it, or both’ • ‘...a concept, abstraction, or thing with crisp boundaries and meaning for the problem at hand.’ • Similar in concept to an ‘entity’ but also represent dynamic aspects (behavior) of real world item of interest.
Where objects sit • Objects represent both static structures (data) and dynamic behavior (process and interface). • Distinction between conceptual and logical layers is effectively removed. • Objects can be grouped (packaged) to represent all three threads.
advantages • Natural ways of reflecting the real-world entities manipulated by the system • Handle more complexity: • Able to specify operations to manipulate complex structures. • Objects are potentially reusable components • Not specific to objects. • Low impedance mismatch with object programming languages
Object properties • Attributes: • which take values that describe characteristics of an object. • Relationships: • which link objects (in much the same way as primary and foreign keys do in a relational database.) • Binary association between two objects. • Cardinality: 1-1, 1-M, M-M • Specified by pairs of traversal paths.
Chapter 3 Object (ERD)
What are Activity Diagrams • A diagramming technique that models different dynamic aspects of a system. • ‘is a unit of work to be carried out’ • Represents flow for control required to carry out: • High-level business activities. • Low-level internal details of an operation. • ‘Essentially a flowchart, showing flow of control from activity to activity’.
Purpose • Represent high level view of business activities: • Describing workflows in the development of a business model. • Visualize the workflow of a business use case. • Describe dynamic complex behavior of an object. • Describe the flow within an individual operation. • Complement interaction diagrams: • Recall difference in perspective. • Document development tasks performed by development organization.
Advantages • Able to describe complex flows and use cases. • Can identify pre- and post- conditions for use cases. • Relatively simple to construct and interpret. • Can be used at different times in development process: • Analysis business activities • Design operation flow • Can be presented to stakeholders for checking and confirmation.
Producing a book example • Author writes chapter. • Reviewer reviews chapter. • Author revises chapter. • If book not complete: • author writes another chapter. • If book complete: • typesetter typesets book. • Author corrects proofs. • Typesetter resets book. • Printer prints book.
Author Reviewer Typesetter Printer Correct proofs Write chapter Revise chapter Typeset book Reset book Print book Review chapter [book complete] [book incomplete] Producing a book diagram
Advantages of UML • You can model just about any type of application. • UML is effective for modeling large, complex software. • It is simple to learn for most developers, but provides systems . • advanced features for expert analysts, designers and architects. • It can specify systems in an implementation-independent manner
disadvantage : • It takes a lot of time to keep the diagram reasonable and synchronized with the actual code. UML diagrams don't run, but require a lot of time. So they are good only if your organization size can manage them . • You cannot represent every condition in a sequence diagram. It's impossible if you want to deliver. So state diagrams should convey basic facts, not all the possible outcomes. • Good UML software costs money and it takes some time to master properly.
Conclusion. • It is useful clear and easy to used for describing the static view of system. • Reflecting the real-world entities . • Standard software development.