UML hakkında bilmeniz gereken temel şeyler nelerdir?


18

Bir programın tasarım ve davranışına ilişkin karalamalarimin daha akıcı olmasını ve diğer geliştiricilerle ortak bir dile sahip olmasını istiyorum.

UML'ye baktım ve prensipte aradığım şey gibi görünüyor, ancak aşırıya kaçmış gibi görünüyor. Çevrimiçi bulduğum bilgiler de çok şişkin ve akademik görünüyor.

UML'yi meslektaşlarıma açıklayabilecek kadar İngilizce'yi nasıl anlayabilirim? UML'yi zemin seviyesinde anlamak için kanonik kaynaklar nelerdir?


1
Eski başlığı daha çok beğendim, en azından başlangıcı: "UML'nin en yararlı% 10'u nedir?" Aksi takdirde, iyi düzenleme!
Joey Adams

zaten zaten uml yazılmış belgeleriniz varsa, sadece sizin belge türünü aramaya karar verdiklerini
bilmiyorsunuz

Yanıtlar:


4

Soruları beğendim - kendime sorduğum soruların aynısı:

UML'yi meslektaşlarıma açıklayabilecek kadar İngilizce'yi nasıl anlayabilirim? UML'yi zemin seviyesinde anlamak için kanonik kaynaklar nelerdir?

İşte buldum:

Başlangıç ​​için: Seçimim Fowler'in UML Distile'ı olacaktı . Gerçekten de belirtildiği gibi temellerin bir damıtmasıdır: tanımlar, örnekler, belirli bir diyagram tipinin ne zaman kullanılması gerektiği veya kullanılmaması gerektiğine dair tavsiyeler. Ayrıca, kitap kapağını okumadan UML'nin belirli bir bölümüne odaklanmak istiyorsanız, iyi bir referanstır .

Daha ayrıntılı ve sade bir İngilizce tanıtımı için: Dummies için UML 2, meslektaşlarım ve ben için yaptı. Sadece UML'yi, sözdizimini ve uzun süreli kullanımlarını tanıtmakla kalmaz, aynı zamanda iyi programlama ve tasarım uygulamaları hakkında çok fazla tavsiyeye sahiptir.

İki kitap arasında hangi sözdiziminin UML standardının hangi sürümüne ait olduğu konusunda zaman zaman farklılıklar vardır. Bununla birlikte, bunlar tasarım fikirlerini iletmek için UML diyagramlarını kullanmak için çok küçük ve kesinlikle gerekli değildir. (Örneğin: UML 2'nin ayrı çokluklara izin verip vermediği, yani belirli bir özelliğin X'ten ziyade tam olarak X, Y veya Z nesnelerine sahip olabileceğini göstermek; katılımcıların adlarının altı çizilmesi gerektiğinde. ..)

Tamamen akademik olmayan ve daha az garip bir tanıtım için: Bu blogun çeşitli UML bitleriyle ilgili makaleleri vardır: http://blog.diadraw.com/category/uml/

Bu bir ders kitabı değildir, bu yüzden kapsamlı olmaktan uzaktır, ancak aynı zamanda ders kitabı olmayan hikayeler ve örnekler de kullanır. Kullanılabilir birkaç gönderi UML kavramlarını görsel olarak tanıtmaya odaklanmıştır, böylece metnin okumasını tamamen atlayabilirsiniz.


Bu blog linki güzel.
Hanno Fietz

8

Martin Fowler'ın UML Distile'ı gerçekten sevdim . Kısa ve tatlı ve beyaz tahta tartışmaları için fazlasıyla yeterli. Birkaç kopya alın ve takımın etrafından geçirin.


1
Bu kitaptan bahsettiğim için +1, cevabımı yazarken tamamen unutmuşum!
Alexander Galkin

2
Kitapla ilgili deneyimleriniz hakkında biraz daha bilgi verebilir misiniz?

Downvote'un nedeni neydi?
kevin cline

1
Takım lideri olduğumda yaptığım ilk şeylerden biri bu kitabın kopyalarını takımımdaki herkes için satın almaktı. Tasarımlarımızı tartışmak için hepimize ortak bir kelime dağarcığı verdi. Bazı genç erkekler de okudukları çeşitli tasarım deseni kitaplarındaki diyagramları daha iyi anlamalarına yardımcı olduğunu bildirdi.
TMN

2
@kevincline Bağlantıyı Stack Exchange için bir yönlendiren URL'ye dönüştüreceği için genellikle Amazon'a bağlarım. Birisi bu URL'yi tıklayıp satın alırsa, Stack Exchange para kazanabilir. Ayrıca, kitabı favori kitap satıcınızda en sevdiğiniz kitap bulmak için Amazon'dan başlık, yazar ve ISBN bilgileriyle önemsiz hale gelir.
Thomas Owens

5

Sadece diyagramlar her zaman yardımcı olmaz. Örneğin, kullanım senaryosu şeması iş kurallarını ayrıntılı olarak aktaramaz. Sınıf şeması ve onlardan DLL oluşturabileceğiniz için sınıf diyagramı çok yararlı olabilir.

Bu diyagramları en yararlı buluyorum:

  • Vaka Şemasını Kullan
  • Sınıf Diyagramları
  • Etkinlik şeması
  • Dizi Diyagramı

Çok fazla yararlı kaynak var, ancak şunları kontrol edin:

Mark'ın yorumuna yanıt olarak Edit-1 .

Bu kaynakları günlük olarak kullanmama rağmen, bunlar UML sözdizimi için hızlı başvuru işlevi görür. Yukarıdaki kaynaklar, UML diyagramlarının hızlı ve bir şekilde kapsamlı temsilini sağladığı için seçilir. Ortak diyagramları gösterir ve yeni UML kullanıcısının aralarındaki farkı hızla görmesine yardımcı olur. İlk kaynak olan video, Kullanım Durumu ve bunun diğer diyagramlarla ilişkisi hakkında ayrıntılar verir. Yukarıdaki kaynakların UML veya OOD öğrenmek isteyen herkes için yeterli olması beklenmemektedir, bu tür konuları öğrenmenin orijinal soruda amaçlanmadığını fark ediyorum.


Sınıf , Sıra ve Etkinlik diyagramları için +1 . Kullanım Vaka Diyagramları ile hiç ikna olmadım, bunun dışında kullanıcılar resimleri sevdiği için raporlar için mükemmel kapaklar.
Sjoerd

@Sjoerd, yorumunuz için teşekkürler. Doğru belirttiğiniz gibi, Kullanım Durumları kullanıcılar tarafından sevilir. Ayrıca, Kullanım Senaryolarının birçok değeri vardır. Aktörleri (birincil ve ikincil) tanımlamanıza ve "C-Level Cse Vakalarını" keşfetmenize izin verir. Etkinlik şemanızla ve sınıf şemanızla olan ilişkisi, spesifikasyonunuzda bir uyum oluşturan şeydir. Bunların ayrıntılı iş kurallarının ve eksiksiz gereksinimler belgelerinin yerine geçmediklerini unutmayın.
NoChance

Bu kaynaklarla ilgili deneyimleriniz hakkında daha fazla bilgi verebilir misiniz? Peki ya diğerleri değil, onlar UML'yi anlamanıza yardımcı oldu mu?

@ MarkTrapp, yorumunuz ve düzenlemeler için teşekkürler.
NoChance

2

Sadece% 10'undan memnunsanız , UML kitabından öğrenmeye çalışmamalısınız. Aksine, nesne yönelimli analiz veya tasarım desenleri hakkında iyi bir kitap okursanız daha iyi olur - bu kitaplar size aradığınız% 10'u sağlar.

Yine de UML için bir eğitim arıyorsanız, bu web sayfasını ve özellikle UML diyagramlarında bu makaleyi tavsiye ederim (Bu bir reklam değil, şahsen bu siteyle hiçbir ilişkim yok). Sadece şemalara göz atın ve onlara bakın: çoğunlukla kendi kendini açıklarlar ve OOP ve genel olarak program tasarımı ve mimarisinin farkında olduğunuz sürece neyi tasvir ettiklerini kolayca anlayabilirsiniz.

Neden tam olarak bu sayfayı öneriyorum? (yorumda sorulmuştur)

Diğerlerinden daha fazla sevmem için birkaç neden var:

  1. İlk sayfada UML diyagramlarına genel bir bakış sunar.
  2. Bu tablo, her UML2.0 diyagramının kısa tanımını vermenin yanı sıra, bir UML-yeni başlayanın en sık kullanılan UML diyagramlarını tanımlamasına yardımcı olabilecek çok yararlı bir "Öğrenme Önceliği" sütununa sahiptir.
  3. Buna da makine render diyagramlar içeren olsa da, çoğu diyagramlar (muhtemelen onlar elle çizilmiş olmak gibi bakmak vardır elle çizilmiş). Modellemenin hala sadece kaleminizi ve kağıdınızı kullanarak yapılabileceğinin bir işareti olarak alıyorum, başlangıçta UML görselleştirme yazılımına girmeye gerek yok.

Bu önerilerle ilgili deneyimleriniz hakkında daha fazla bilgi verebilir misiniz? Peki ya diğerleri değil, onlar UML'yi anlamanıza yardımcı oldu mu?

1

O'Reilly'nin UML 2.0 Cep Referansı bundan biraz daha ayrıntılı ama muhtemelen en iyi seçimdir, ihtiyacınız olanı hızlı bir şekilde bulabileceğiniz kadar küçüktür, ancak ihtiyacınız olduğunda hala açıklamaları vardır. Ve güncel, bu "UML hile sayfaları" veya web'de bulduğum referans kartları için geçerli değil - bunlar çoğunlukla UML 1.x'i tanımlar


Bu kitapla ilgili deneyimleriniz hakkında daha fazla bilgi verebilir misiniz? Peki ya diğer kitaplar değil, UML'yi anlamanıza yardımcı oldu mu?

@ Trak Trapp: esas olarak küçük olması, böylece ayrıntıları ve özel durumlarda kaybolmadan tüm temel öğeleri hızlı bir şekilde alabilirsiniz.
Michael Borgwardt

0

Bunun üç kısmı var:

  1. Resmi bir UML referansı alın

    Yeni bir "dil" öğrendiğinizde, ister kitap ister çevrimiçi kaynak olsun, istediğiniz zaman çekip kullanabileceğiniz bir referans alın. UML Distile küçük, harika açıklamaları ve bol net diyagramları var. Tüm özellikleri kullanmasanız bile, her zaman geri dönüp bir şeyi ifade etmenin "doğru" yoluna bakabilirsiniz.

  2. Bir şeyleri modellemek için UML'yi kullanma

    Artık bir referansınız olduğuna göre, kullanmaya başladığınız bazı küçük mevcut sistemleri veya sistemleri modellemek için kullanmaya başlayın. Muhtemelen çoğu durum için Sınıf Diyagramları, Sıra Diyagramları ve Durum Diyagramlarına bağlı kalmak isteyeceksiniz. Emin olmadığınız bir şey varsa, referansınıza gidin ve "doğru" kullanıma bakın - bu işe yaramazsa, bir miktar Google'ı deneyin veya Yığın Taşması'nı sorun. Tıpkı programlama gibi, uygulama da anahtardır.

  3. Gerçek projelerde biraz UML kullanın

    Ekibinizle UML kullanmaya başladığınızda, bunun yalnızca oluşturduğunuz veya oluşturacağınız sistemi anlamak için bir araç olduğunu unutmayın. Diyagram yaparken referansınızı yine de kontrol etmelisiniz, ancak kurallara kesinlikle uymadan bilgileri aktarmaya odaklanmalısınız.

Lise yazma derslerini düşünün. Öğretmeniniz büyük olasılıkla "ve," "ancak," veya "veya" ile cümle başlatmak için kardinal bir günah olarak görüyordu. Daha fazla yazı yazdıkça ve İngilizce üzerinde daha fazla kontrol kazandıkça, daha fazla etki için kuralları nasıl bükeceğinizi öğrendiniz - en iyi söylemek istediğiniz şeyi ileten doğru yaklaşımı izlemeden geçiş yaptınız. UML endüstride de aynı şekilde kullanılmalıdır.


0

UML'yi biliyorsanız, tüm diyagramların size uygulamanızın farklı görünümlerini verdiğini söyleyebilirim. Birçok kitap var.

UML'yi bilmiyorsanız, en kolayı yalnızca mevcut koddan ters çevrilmiş sınıf / sıra diyagramları oluşturmaktır. Mevcut kodu UML'ye ters çevirmeniz ve sınıf / sıra diyagramlarına kendi notlarınızı eklemeniz yeterlidir. Sınıf diyagramları uygulamanızın statik bir görünümünü verir, sıra diyagramı yöntem akışlarını ve dolayısıyla uygulama davranışını açıklar. UML İş bitti ve hata yok :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.