UML sınıf diyagramları JavaScript sistemlerini tasarlamak için yeterli midir?


23

UML'nin nesne yönelimi için daha klasik bir yaklaşıma yönelik olduğu göz önüne alındığında, JavaScript sistemleri tasarlamak için hala güvenilir bir şekilde kullanılabilir mi?

Görebildiğim özel bir sorun, sınıf diyagramlarının aslında sistemin yapısal bir görünümü olduğu ve JavaScript'in daha fazla davranış odaklı olduğu, bununla nasıl başa çıkabileceğiniz?

Lütfen buradaki gerçek dünya alanı hakkında konuşmadığımı unutmayın; ulaşmaya çalıştığım çözüm için bir model.


7
Birçoğumuz UML'nin gerçekten bir şey tasarlamak için yeterli olmadığını söylerdi. UML'nin tüm kanonundaki tek değerin dizi diyagramı olduğu kanısındayım. Anlamaya çalıştığım diğer tüm UML şemaları ingilizce olarak daha iyi açıklandı. Ama bu ne olduğu için öznel.
Jimmy Hoffa,

1
@JimmyHoffa Çok fazla katılıyorum. Özellikle modern IDE'lerde, bir programcı nesne yönelimli kaynak koduna kolayca bakabilmeli ve bir sınıf diyagramında gösterilenle aynı bilgileri (ve daha fazlasını) elde edebilmelidir. Sınıf diyagramlarının, sözdizimi vurgulaması ve otomatik olarak oluşturulan ana hatları olan modern IDE'lerin kullanılmasından önce daha kullanışlı olduğunu hayal edebiliyorum. Sınıf şemaları, nesne yönelimli yapıların programlama deneyimi olmayan insanlara veya geliştiricinin tasarımı herkese sözlü olarak açıklamak için yeterli zamanı olmadığı büyük bir projede gösterilmesi için uygun olabilir.
David Kaczynski

1
@JimmyHoffa Lütfen sekans diyagramlarını kullanarak modellenmiş sistemler üzerine bazı iyi kitaplar veya kaynaklar önerir misiniz? UML ve Kalıpları Uygulamayı okudum ve pratikte sadece diyagramları ve sözdizimini açıklamak yerine UML kullanarak gerçekten iyi örnekler oluşturdu.
Songo

@JimmyHoffa: Neredeyse sana katılıyorum, ama dizi diyagramlarıyla ilgili değil - çünkü IMHO dizi diyagramı sahte kodla daha iyi ifade edilemeyecek hiçbir şey göstermiyor. Benim için gerçek kullanıma sahip olan tek diyagram tipi veri akışı diyagramlarıdır ve bunlar UML'nin bir parçası değildir.
Doktor Brown

@DocBrown yeterince adil, sadece UML'nin öğrenilmesinden kaçınılması gerektiğine ve bunun yerine strunk ve beyazın okunması belki de onu değiştirmesi gerektiği konusunda hemfikir olalım :)
Jimmy Hoffa

Yanıtlar:


18

İki farklı şey soruyor gibisin

  • Javascript sistemlerini göstermek için UML kullanılabilir mi?
  • Javascript sistemlerini göstermek için sınıf diyagramları kullanılabilir mi?

UML'nin, dizi ve kullanım durum şemaları dahil olmak üzere, özellikle davranış şemaları dalı gibi birçok diyagram türünü içerdiğini unutmayın . Bu gibi şemalar, javascript'i davranışsal bir dil olarak modelleme konusundaki endişenizi özellikle ele almaktadır.

Bir javascript sisteminin nesne yönelimli tasarım kullanmaması oldukça olasıdır. Böyle bir durumda, belirttiğiniz gibi, sınıf diyagramları muhtemelen uygun olmaz. Bununla birlikte, javascript nesne yönelimli tasarımı desteklediğinden, sınıf diyagramlarının javascript kullanarak bir sistemi etkin biçimde göstermesi mümkündür. Javascript'in nasıl kullanıldığına gerçekten bağlı.


5

Cevabınız, sorunuzda gizli:

Görebildiğim özel bir sorun, sınıf diyagramlarının aslında sistemin yapısal bir görüşü olduğu ve javascript’in daha fazla davranış odaklı olduğu, bununla nasıl başa çıkacağınız?

Bakmak BDD (Davranış odaklı geliştirme) teknikleri ve tasarım ihtiyaçlarına uygun araçları seç.

Bakmak için faydalı bulabileceğiniz ilgili tartışma - BDD'de öyküler / senaryolar nasıl yazılır . Ve Code dergisinden çok kapsamlı bir makale - Behavior-Driven Development

ps: Genel olarak UML represent general types of behavior, ancak yine de tasarımınızı doğru seçilen kategori grubuyla modellemek için kullanılabilir (bir dizi diyagramı gibi).I would reference the Wikipedia and find the right UML diagram category to use.


Bir problem tanımı veya geliştirme yönetimi yaklaşımı gibi görünüyor. Aslında, çözüme daha yakın olan daha düşük bir tasarımdan bahsediyordum.
Julio Rodrigues

4

Web uygulamasını UML'ye uyarlamak için yapılmış, WAE uzantısı olarak adlandırılan ve Jim Conallen tarafından UML ile Web Uygulamaları Oluşturma adlı bir kitap var. JavaScript değişkenlerini ve işlevlerini sınıf şemasında görebilirsiniz.

Neden web uygulamasını modellemek için en iyi seçeneğe inanırım? Çünkü evrybody sınıf diyagramının nasıl çalıştığını bilir ve bu ona en yakın şeydir. Anlaşılması çok kolaydır ve programcılar dokümanları kelimelerle okumak için çok tembeldir, ancak bir şemaya bakmak o kadar da zor değildir;). Bununla birlikte, yürütmede ne olacağını görmek istiyorsanız, bir sıra şeması aramanız gerekir, çünkü web uygulamasında, bazen dosyalar dinamik olarak oluşturulur.

Node.js paketi "wavi" tarafından oluşturulan diyagram


3

UML'de, Dizi Diyagramları veya Durum Grafiği Diyagramı gibi sistemin davranışını göstermek için kullanabileceğiniz davranış modelleri de vardır.


1

Evet, özellikle sıra dizileri olan UML'yi kullanabilirsiniz .

Sınıf diyagramlarının kullanımıyla ilgili olarak, uygulamanızı nesne yönelimli tasarım ilkeleri kullanarak tasarlayıp tasarlamamıza bağlıdır. Yalnızca bir sürü JavaScript işleviniz varsa, sınıf diyagramları fazla bir şey eklemiyor. Bir çeşit sınıfı simüle etmek için JavaScript nesne prototiplerini kullanırsanız, bu diyagramlar yararlı olacaktır.

UML'de Javascript ön uçlarını tasarlama konusundaki deneyimime dayanarak, konuyla ilgili beyaz bir yazı yazdım: UML'de Açısal uygulamalar için teknik tasarım .


0

Görünüşe göre UML'yi JavaScript için kullanabilirsiniz, ancak işinize nasıl yaklaşacağınıza bağlı olacaktır.

Özellikle JS / UML , JSDoc, Dojo, YUI için UML belgelerini otomatikleştirebilir.

Dışarıda daha fazlası olduğunu tahmin ediyorum ama henüz başka hiçbir şeye rastlamadım.


Bu soruyu soruyu nasıl cevaplıyor?
gnat
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.