Download presentation
Presentation is loading. Please wait.
1
Unıfıed modellıng language (uml)
ITEC 403 Seminar
2
designed by Halide Sariçizmeli
OBJECTIVES Explain the concept of Unified Process (UP) Describe Unified Modeling Language (UML) Explain the types of UML Diagrams Use-Case Diagram Class Diagram Activity Diagram Sequence Diagram designed by Halide Sariçizmeli
3
WHAT IS UNIFIED PROCESS?
Unified Process (UP) is an example of a system development methodology, based on object-oriented design. It consists of multiple iterations. Each iteration has a problem-solving approach of defining the requirements, analyzing and designing the solution, implementing and finally testing the system components. Unified Process life cycle is taken in 4 phases; Inception, Elaboration, Construction and Transition. designed by Halide Sariçizmeli
4
designed by Halide Sariçizmeli
UP Life cycle designed by Halide Sariçizmeli
5
WHAT IS UNIFIED PROCESS?
Anytime people need to record or communicate information, in any context, it is very useful to create a model. A model is a representation of the solution of a problem taken into consideration during the system development period. designed by Halide Sariçizmeli
6
What is U What are UML diagrams? ML?
UML, which stands for Unified Modeling Language, is a way to visually represent the architecture, design, and implementation of complex software systems. When you’re writing code, there are thousands of lines in an application, and it’s difficult to keep track of the relationships and hierarchies within a software system. UML diagrams divide that software system into components and subcomponents. designed by Halide Sariçizmeli
7
What is UML Why should you use UML diagrams?
UML is a standardized modeling language that can be used across different programming languages and development processes, so the majority of software developers will understand it and be able to apply it to their work. Though many engineers dread diagrams, they’re useful in an Agile development environment: they keep development productive and focused. Instead of thinking them as just a “nice to have,” treat your UML diagrams as core aspects of documentation. designed by Halide Sariçizmeli
8
designed by Halide Sariçizmeli
Benefits: Bring new team members or developers switching teams up to speed quickly. Navigate source code. Plan out new features before any programming takes place. Communicate with technical and non-technical audiences more easily. designed by Halide Sariçizmeli
9
designed by Halide Sariçizmeli
UML Diagrams There are a number of different UML diagrams that provides a look of the system from different perspectives, here are the models required for the ITEC403 progress report: Use Case diagram (General and Partial) Domain Model Class diagrams Activity diagrams Sequence Diagrams designed by Halide Sariçizmeli
10
designed by Halide Sariçizmeli
What is UML? To gain the greatest benefit from UML, it must be used at the beginning of the process when requirements are being collected, reviewed and evaluated. Traditionally, this has been a relatively informal activity involving discussion within technical committees. UML can provide the formalization and visualization which make the requirements clear and unambiguous. designed by Halide Sariçizmeli
11
designed by Halide Sariçizmeli
USECASE DIAGRAM Use case diagrams model how users, displayed as stick figures called “actors,” interact with the system. This type of UML diagram should be a high-level overview of the relationships between actors and systems, so it can be a great tool for explaining your system to a non-technical audience. designed by Halide Sariçizmeli
12
Use Case Di When to apply use case diagrams agram
A use case diagram doesn't go into a lot of detail— for example, don't expect it to model the order in which steps are performed. Instead, a proper use case diagram depicts a high-level overview of the relationship between use cases, actors, and systems. Experts recommend that use case diagrams be used to supplement a more descriptive textual use case. designed by Halide Sariçizmeli
13
UML use case diagrams are ideal for:
Representing the goals of system-user interactions Defining and organizing functional requirements in a system Specifying the context and requirements of a system Modeling the basic flow of events in a use case designed by Halide Sariçizmeli
14
designed by Halide Sariçizmeli
fig1 designed by Halide Sariçizmeli
15
Figure 2 – partial Use Case diagram Example
designed by Halide Sariçizmeli
16
Use case diagram(continue...)Case Diagram
For the progress report you are required to draw the use- case diagram from 2 perspectives; general and partial. The general use-case diagram, will display all the system functions and all the actors with the relationship lines as in fig.1. The partial use-case diagrams are designed for each actor separately, showing each actor’s role in the system by including the relative functions with the relationship lines as in fig.2. designed by Halide Sariçizmeli
17
Use Case Diagram(continue..)
Actors Actors are the users of a system. When one system is the actor of another system, label the actor system with the actor stereotype. Use Case Draw use cases using ovals. Label the ovals with verbs that represent the system's functions. designed by Halide Sariçizmeli
18
designed by Halide Sariçizmeli
Use case diagram(continue...) Relationships Illustrate relationships between an actor and a use case with a simple line. For relationships among use cases, use arrows labeled either "uses" or "extends." A "uses" relationship indicates that one use case is needed by another in order to perform a task. An "extends" relationship indicates alternative options under a certain use case designed by Halide Sariçizmeli
19
designed by Halide Sariçizmeli
Use case diagram(continue...) System Draw your system's boundaries using a rectangle that contains use cases. Place actors outside the system's boundaries. designed by Halide Sariçizmeli
20
designed by Halide Sariçizmeli
Use case diagram(continue...) Generalization is used when you find two or more use cases that have commonalities in behavior, structure, and purpose. When this happens, you can describe the shared parts in a new, often abstract, use case, that is then specialized by child use cases. designed by Halide Sariçizmeli
21
designed by Halide Sariçizmeli
Class Diagramagram Class diagrams are one of the most useful types of diagrams in UML as they clearly map out the structure of a particular system by modeling its classes, attributes, operations, and relationships between objects. designed by Halide Sariçizmeli
22
The standard class diagram is composed of three sections:
Upper section: Contains the name of the class. This section is always required, whether you are talking about the classifier or an object. Middle section: Contains the attributes of the class. Use this section to describe the qualities of the class. This is only required when describing a specific instance of a class. Bottom section: Includes class operations (methods). Displayed in list format, each operation takes up its own line. The operations describe how a class interacts with data. designed by Halide Sariçizmeli
23
Figure 3 – Member access modifiers(visibility) single Class
All classes have different access levels depending on the access modifier (visibility). Here are the access levels with their corresponding symbols: Public (+) Private (-) Protected (#) Package (~) designed by Halide Sariçizmeli
24
designed by Halide Sariçizmeli
Association fig3 designed by Halide Sariçizmeli
25
designed by Halide Sariçizmeli
In the example above(fig3), the Car class and RoadTrip class are interrelated. At one end of the line, the Car takes on the association of "assignedCar" with the multiplicity value of , so when the instance of RoadTrip exists, it can either have one instance of Car associated with it or no Cars associated with it. In this case, a separate Caravan class with a multiplicity value of 0..* is needed to demonstrate that a RoadTrip could have multiple instances of Cars associated with it. Since one Car instance could have multiple "getRoadTrip" associations—in other words, one car could go on multiple road trips—the multiplicity value is set to 0..* designed by Halide Sariçizmeli
26
designed by Halide Sariçizmeli
Inheritance fig4 designed by Halide Sariçizmeli
27
Inheritance(continue..)
In this example(fig4), the object "Car" would inherit all of the attributes (speed, numbers of passengers, fuel) and methods (go(), stop(), changeDirection()) of the parent class ("Vehicle") in addition to the specific attributes (model type, number of doors, auto maker) and methods of its own class (Radio(), windshieldWiper(), ac/heat()). Inheritance is shown in a class diagram by using a solid line with a closed, hollow arrow. designed by Halide Sariçizmeli
28
designed by Halide Sariçizmeli
Aggregation In this type of relationship, a more complex object is created by the assembling of different objects together. The interaction within the different group of objects is defined by Aggregation. The integrity of the objects are protected, and the response of the assembled objects are decided by the control object. In aggregation, the classes nurture the ‘has a’ relationship. designed by Halide Sariçizmeli
29
designed by Halide Sariçizmeli
Whole part relationship, Aggregation implies a relationship where the child can exist independently of the parent designed by Halide Sariçizmeli
30
designed by Halide Sariçizmeli
Composition It is a form of an aggregation which represents the whole part relationship. Here, the part classifier lifetime is dependent on the whole classifier lifetime. In a class, a strong life-cycle is represented by the composition relationship. There is usually a one direction flow of data here. It is generally indicated by a solid line. designed by Halide Sariçizmeli
31
Composition(continue...)
Composition implies a relationship where the child cannot exist independent of the parent. designed by Halide Sariçizmeli
32
designed by Halide Sariçizmeli
Activity Diagramgram The Unified Modeling Language includes several subsets of diagrams, including structure diagrams, interaction diagrams, and behavior diagrams. Activity diagrams, along with use case and state machine diagrams, are considered behavior diagrams because they describe what must happen in the system being modeled. designed by Halide Sariçizmeli
33
Activity Diagram(continue..)
Activity diagrams present a number of benefits to users. Consider creating an activity diagram to: Demonstrate the logic of an algorithm. Describe the steps performed in a UML use case. Illustrate a business process or workflow between users and the system. Simplify and improve any process by clarifying complicated use cases. Model software architecture elements, such as method, function, and operation. designed by Halide Sariçizmeli
34
designed by Halide Sariçizmeli
Symbol Description Initial node Final Node Decision Node Activcity Symbol(Action state) Join Node Fork Node Merge designed by Halide Sariçizmeli
35
designed by Halide Sariçizmeli
Activity Diagrams For the progress report we require an activity diagram for each use-case (function) in the system, in order to understand the workflow better. designed by Halide Sariçizmeli
36
designed by Halide Sariçizmeli
Sequence Diagram Sequence diagrams are a popular dynamic modeling solution in UML because they specifically focus on lifelines, or the processes and objects that live simultaneously, and the messages exchanged between them to perform a function before the lifeline ends. Along with our UML diagramming tool, use this guide to learn everything there is to know about sequence diagrams in UML. designed by Halide Sariçizmeli
37
Sequence Diagram Notations (continue..)
Lifeline A lifeline represents an individual participant in the Interaction. Actor An Actor a type of role played by an entity that interacts with the subject (e.g., by exchanging signals and data). An actor can also be an external to the subject (i.e., in the sense that an instance of an actor is not a part of the instance of its corresponding subject). They typically represent roles played by human users, external hardware, or other subjects designed by Halide Sariçizmeli
38
designed by Halide Sariçizmeli
Call Message A call message defines a particular communication between lifelines of an interaction, which represents an invocation of operation of target lifeline. Return Message A return message defines a particular communication between lifelines of an interaction, which represents the pass of information back to the caller of a corresponded former message. designed by Halide Sariçizmeli
39
designed by Halide Sariçizmeli
Sequence Diagram For the progress report we require an Sequence diagram for each use-case (function) in the system, in order to understand the workflow better. designed by Halide Sariçizmeli
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.