AliceAliceBobBobLogLogAuthentication Requestalt[successful case]Authentication Accepted[some kind of failure]Authentication FailureMy own labelLog attack startloop[1000 times]DNS AttackLog attack end[Another type of failure]Please repeat
@startuml
Alice -> Bob: Authentication Request
alt successful case
Bob -> Alice: Authentication Accepted
else some kind of failure
Bob -> Alice: Authentication Failure
group My own label
Alice -> Log : Log attack start
loop 1000 times
Alice -> Bob: DNS Attack
end
Alice -> Log : Log attack end
end
else Another type of failure
Bob -> Alice: Please repeat
end
@enduml
SEQUENCE DIAGRAM
5410611357810688
audio_rxtx Interaction DiagramSender Shutdown On Incompatibilityprocprocsendersenderreceiverreceiver1configure & start2start listening for audio3configure & start4start offering audio5/offer6check compatibilty7/deny8stop offering audio9shutdown on incompatibility
SEQUENCE DIAGRAM
5410730543153152
audio_rxtx Interaction DiagramSender Shutdown On Incompatibilityprocprocsendersenderreceiverreceiver1configure & start2start listening for audio3configure & start4start offering audio5/offer6check compatibilty7/deny8stop offering audio9shutdown on incompatibility
UserUserSystemSystemadd an objectloop[!validation]informations demandname, corresponding classloopadd a valueloop[!validation]informations demandcorresponding attribute, value
SEQUENCE DIAGRAM
5412734816485376
UserUserSystemSystemadd an objectloop[!validation]informations demandname, corresponding classloopadd a valueloop[!validation]informations demandcorresponding attribute, value
@startuml
actor User as U
participant System as S
U -> S: add an object
loop !validation
S -> U: informations demand
U --> S: name, corresponding class
end
loop
U -> S: add a value
loop !validation
S -> U: informations demand
U --> S: corresponding attribute, value
end
end
@enduml
@startuml
hide footbox
[-> a
create b
a -> b
activate b
note right: Starting processing
||25||
==25% done==
||25||
==50% done==
...
==100% done==
b --> a
note right: Done with processing
deactivate b
[<- a
@enduml
SEQUENCE DIAGRAM
5415130737147904
سامانه سیمرغبازدید کنندهسرور هتلسرور بانکمشتریمدیر هتلمدیر سامانهنتیجه اعتبارسنجی مشخصات کاربرینمایش فرم ایجاد حساب کاربرینتیجه صحت نام کاربری و کلمه عبورنمایش فرم ورود به سیستمنمایش مشخصات اتاق هانتیجه جستجوی اتاق و هتلجستجوی اتاقها و هتلدرخواست مشاهدهی مشخصات اتاقدرخواست ورود به سیستمدرخواست ساخت حساب کاربری و مشخصاتتایید پرداختدرخواست پرداختوضعیت اتاقدرخواست رزرو موقت(۳۰ دقیقهای) اتاقدرخواست رزرو نهایی اتاقدرخواست بررسی وضعیت اتاقدرخواست خروج از سیستمدرخواست بررسی وضعیت اتاقویرایش مشخصات کاربرینتیجهی اعتبارسنجی مشخصات کاربریپیام تایید خروج از سیستماعلام وضعیت خالی بودن اتاقهدایت به سیستم بانکینمایش برگه رزرواسیون نهایی جهت تهیه ی پرینتویرایش مشخصات هتلتایید / رد هتل جدیددرخواست گزارش مالیدرخواست گزارش وضعیت رزروهانمایش لیست هتل هاارسال اطلاعات هتل جهت ثبتویرایش مشخصات هتلدرخواست گزارش مالیدرخواست گزارش وضعیت رزروهامشاهده ی وضعیت تایید هتلارسال گزارش مالیارسال گزارش وضعیت رزروها
CLASS DIAGRAM
5415948123111424
سامانه سیمرغبازدید کنندهسرور هتلسرور بانکمشتریمدیر هتلمدیر سامانهنتیجه اعتبارسنجی مشخصات کاربرینمایش فرم ایجاد حساب کاربرینتیجه صحت نام کاربری و کلمه عبورنمایش فرم ورود به سیستمنمایش مشخصات اتاق هانتیجه جستجوی اتاق و هتلجستجوی اتاقها و هتلدرخواست مشاهدهی مشخصات اتاقدرخواست ورود به سیستمدرخواست ساخت حساب کاربری و مشخصاتتایید پرداختدرخواست پرداختوضعیت اتاقدرخواست رزرو موقت(۳۰ دقیقهای) اتاقدرخواست رزرو نهایی اتاقدرخواست بررسی وضعیت اتاقدرخواست خروج از سیستمدرخواست بررسی وضعیت اتاقویرایش مشخصات کاربرینتیجهی اعتبارسنجی مشخصات کاربریپیام تایید خروج از سیستماعلام وضعیت خالی بودن اتاقهدایت به سیستم بانکینمایش برگه رزرواسیون نهایی جهت تهیه ی پرینتویرایش مشخصات هتلتایید / رد هتل جدیددرخواست گزارش مالیدرخواست گزارش وضعیت رزروهانمایش لیست هتل هاارسال اطلاعات هتل جهت ثبتویرایش مشخصات هتلدرخواست گزارش مالیدرخواست گزارش وضعیت رزروهامشاهده ی وضعیت تایید هتلارسال گزارش مالیارسال گزارش وضعیت رزروها
@startuml
object "سامانه سیمرغ" as samane
object "بازدید کننده" as anonymous
object "سرور هتل" as hotel
object "سرور بانک" as bank
object "مشتری" as customer
object "مدیر هتل" as mh
object "مدیر سامانه" as ms
samane ..> anonymous : "نتیجه اعتبارسنجی مشخصات کاربری"
samane ..> anonymous : "نمایش فرم ایجاد حساب کاربری"
samane ..> anonymous : "نتیجه صحت نام کاربری و کلمه عبور"
samane ..> anonymous : "نمایش فرم ورود به سیستم"
samane ..> anonymous : "نمایش مشخصات اتاق ها"
samane ..> anonymous : "نتیجه جستجوی اتاق و هتل"
anonymous ..> samane : "جستجوی اتاقها و هتل"
anonymous ..> samane : "درخواست مشاهدهی مشخصات اتاق"
anonymous ..> samane : "درخواست ورود به سیستم"
anonymous ..> samane : "درخواست ساخت حساب کاربری و مشخصات"
bank ..> samane : "تایید پرداخت"
samane ..> bank : "درخواست پرداخت"
hotel ..> samane : "وضعیت اتاق"
samane ..> hotel : "درخواست رزرو موقت(۳۰ دقیقهای) اتاق"
samane ..> hotel : "درخواست رزرو نهایی اتاق"
samane ..> hotel : "درخواست بررسی وضعیت اتاق"
customer ..> samane : "درخواست خروج از سیستم"
customer ..> samane : "درخواست بررسی وضعیت اتاق"
customer ..> samane : "ویرایش مشخصات کاربری"
samane ..> customer : "نتیجهی اعتبارسنجی مشخصات کاربری"
samane ..> customer : "پیام تایید خروج از سیستم"
samane ..> customer : "اعلام وضعیت خالی بودن اتاق"
samane ..> customer : "هدایت به سیستم بانکی"
samane ..> customer : "نمایش برگه رزرواسیون نهایی جهت تهیه ی پرینت"
ms ..> samane : "ویرایش مشخصات هتل"
ms ..> samane : "تایید / رد هتل جدید"
ms ..> samane : "درخواست گزارش مالی"
ms ..> samane : "درخواست گزارش وضعیت رزروها"
samane ..> ms : "نمایش لیست هتل ها"
mh ..> samane : "ارسال اطلاعات هتل جهت ثبت"
mh ..> samane : "ویرایش مشخصات هتل"
mh ..> samane : "درخواست گزارش مالی"
mh ..> samane : "درخواست گزارش وضعیت رزروها"
samane ..> mh : "مشاهده ی وضعیت تایید هتل"
samane ..> mh : "ارسال گزارش مالی"
samane ..> mh : "ارسال گزارش وضعیت رزروها"
@enduml
CLASS DIAGRAM
5415948123111424
la:LoadActionzw:ZoneWriterzd_new:ZoneDatanew:MemorySegment(Mapped):b10-memmgr:b10-memmgr:ConfigurableClientList:ConfigurableClientList:CacheConfig:CacheConfig:ZoneTableSegment(Mapped):ZoneTableSegment(Mapped)existing:MemorySegment(Mapped)existing:MemorySegment(Mapped)new:MemorySegment(Mapped):ZoneTable:ZoneTablezw:ZoneWriterla:LoadActionzd_existing:ZoneDatazd_existing:ZoneDatazd_new:ZoneDatareload(zonename)getCachedZoneWriter(zone_name)isWritable()truegetLoadAction()<<construct>>la:LoadActionla<<construct>> (la)zw:ZoneWriterzwload()(funcall)<<construct>> via helperszd_new:ZoneDatazd_newinstall()addZone(zd_new)zd_existing (old data)cleanup()<<destroy>>command tomodules(datasrc_name,segmentparam)ack from allmodulesresetMemorySegment(datasrc_name,READ_WRITE,segmentparam)reset(READ_WRITE,segmentparam)<<destroy>><<construct>>new:MemorySegment(Mapped)(repeat thesame sequencefor loading to theother segment)getCachedZoneWriter(zone_name)
SEQUENCE DIAGRAM
5418239219728384
la:LoadActionzw:ZoneWriterzd_new:ZoneDatanew:MemorySegment(Mapped):b10-memmgr:b10-memmgr:ConfigurableClientList:ConfigurableClientList:CacheConfig:CacheConfig:ZoneTableSegment(Mapped):ZoneTableSegment(Mapped)existing:MemorySegment(Mapped)existing:MemorySegment(Mapped)new:MemorySegment(Mapped):ZoneTable:ZoneTablezw:ZoneWriterla:LoadActionzd_existing:ZoneDatazd_existing:ZoneDatazd_new:ZoneDatareload(zonename)getCachedZoneWriter(zone_name)isWritable()truegetLoadAction()<<construct>>la:LoadActionla<<construct>> (la)zw:ZoneWriterzwload()(funcall)<<construct>> via helperszd_new:ZoneDatazd_newinstall()addZone(zd_new)zd_existing (old data)cleanup()<<destroy>>command tomodules(datasrc_name,segmentparam)ack from allmodulesresetMemorySegment(datasrc_name,READ_WRITE,segmentparam)reset(READ_WRITE,segmentparam)<<destroy>><<construct>>new:MemorySegment(Mapped)(repeat thesame sequencefor loading to theother segment)getCachedZoneWriter(zone_name)
@startuml
actor User as U
participant System as S
U -> S: add an interface
loop !validation
S -> U: informations demand
U --> S: name, package
end
loop
U -> S: add a method
loop !validation
S -> U: information demand
U --> S: name, type, visibility, parameters
end
end
@enduml
@startuml
start
if (Graphviz installed?) then (yes)
:process all\ndiagrams;
else (no)
:process only
__sequence__ and __activity__ diagrams;
endif
stop
@enduml
ACTIVITY DIAGRAM
5427593121628160
UtilisateurObtenir la liste des URLs nonvalides d'un fichier sélectionnéObtenir la liste des URLs non valides detous les fichiers d'un dossier sélectionnéObtenir la liste des fichiers déjà vérifiéset rejouer les vérifications au choix
COMPONENT DIAGRAM
5428467952779264
UtilisateurObtenir la liste des URLs nonvalides d'un fichier sélectionnéObtenir la liste des URLs non valides detous les fichiers d'un dossier sélectionnéObtenir la liste des fichiers déjà vérifiéset rejouer les vérifications au choix
@startuml
Utilisateur--> (Obtenir la liste des URLs non\nvalides d'un fichier sélectionné)
Utilisateur--> (Obtenir la liste des URLs non valides de\ntous les fichiers d'un dossier sélectionné)
Utilisateur--> (Obtenir la liste des fichiers déjà vérifiés\net rejouer les vérifications au choix)
@enduml
@startuml
title this is my title
if (condition?) then (yes)
:yes;
else (no)
:no;
note right
this is a note
end note
endif
stop
legend
this is the legend
endlegend
footer dummy footer
header
this is
a long __dummy__ header
end header
@endum

###5.9颜色
您可以使用为一些项目指定一个颜色。
@startuml
start
:starting progress;
#HotPink:reading configuration files
These files should edited at this point!;
#AAAAAA:ending of the process;
@enduml
@startuml
skinparam monochrome true
title Self Shunt Pattern
Test -down-> SubjectUnderTest
class Test
class SubjectUnderTest
interface Dependency
Dependency <|.. Test
SubjectUnderTest -> Dependency
@enduml
@startuml
participant User
User -> A: DoWork
activate A #FFBBBB
A -> A: Internal call
activate A #DarkSalmon
A -> B: << createRequest >>
activate B
B --> A: RequestCreated
deactivate B
deactivate A
A -> User: Done
deactivate A
@enduml