Yazılım Geliştirme Yaşam Döngüsü (SDLC), planlama, gereksinim değerlendirmesi, analiz, tasarım, yürütme, dokümantasyon, test vb. gibi çeşitli aşamalardan geçer. Her aşama ayrıca uygun şekilde tanımlanmış hedefler ve sonuçlarla görevlere bölünmüştür.

Analiz ve Tasarım, bir yazılım ürünü oluşturmanın gerçek mimarisinin, çalışma modelinin ve yürütme sürecinin ortaya konduğu aşamalardır.

Bu aşamalardaki iki önemli adım, Yüksek Düzeyli Sistem Tasarımı ve Düşük Düzeyli Sistem Tasarımıdır.

Üst Düzey Sistem Tasarımı Nedir?

High-Level Design (HLD), yazılım geliştirme sürecine kapsamlı bir genel bakış sağlar. sistem mimarisi, uygulamalar, veritabanı yönetimi ve sistemin eksiksiz akış şeması ve navigasyon. Yazılımı geliştirmek için çeşitli adımları ve modülleri, bunların amaçlarını, değişken bileşenlerini, sonuçlarını, mimarisini ve zaman çizelgesini birleştiren bir plandır. HLD, bir iş planını bir yazılım ürünü veya hizmetine dönüştürür.

Yazılım geliştirmedeki HLD örnekleri arasında sistem mimarisi belgeleri, uygulama geliştirme akış çizelgeleri vb.

instagram viewer

Düşük Seviyeli Sistem Tasarımı Nedir?

Düşük Seviyeli Tasarım (LLD), HLD'deki çeşitli bileşenlerin, modüllerin ve adımların bireysel düzeyde planlanması, kodlanması ve yürütülmesi ile ilgilenir. Bir HLD'deki her modül, modülün nasıl kodlanacağı, yürütüleceği, kalite açısından test edileceği ve daha büyük programa nasıl entegre edileceği hakkında kapsamlı ayrıntılar sağlayan benzersiz bir LLD belgesine sahiptir. LLD, HLD bileşenlerini çalışan çözümlere dönüştürerek eyleme geçirilebilir planlar sağlar.

Yazılım geliştirmedeki LLD örnekleri arasında alışveriş sepeti entegrasyonu, güvenlik testi, kullanıcı arayüzü tasarımı vb.

HLD ve LLD Arasındaki Farklar

HLD ve LLD ayrıca aşağıdakiler gibi farklı işlevlere ve amaçlara hizmet eder: üst düzey programlama dilleri ve düşük seviyeli programlama dilleri.

Makro vs. Mikro Mimari ve Tasarım

HLD, yazılım geliştirme sürecine kuş bakışı sağlayan makro düzeyde bir tasarımdır. Geliştirme sürecinin en önemli noktasını oluşturacak diyagramları, akış şemalarını, gezinme ayrıntılarını ve diğer teknik gereksinimleri içerir.

Akış şemaları, diyagramlar, navigasyon bilgileri ve teknik gereksinimlere ek olarak, LLD ayrıca HLD'nin her bir bileşeninin adım adım yürütülmesi hakkında kapsamlı bilgilere sahiptir. Mikro düzeyde yazılım geliştirme ile ilgilenir.

Bir HLD'nin her bileşeninin benzersiz bir LLD belgesi vardır.

Geliştirme Kronolojisi

HLD, LLD aşamasından önce gelir. HLD yerleştirildikten ve yürütme için onaylandıktan sonra, bireysel LLD'ler üzerinde çalışma başlayabilir.

HLD, planlama ve gereksinim aşamaları ele alındıktan sonra başlar ve başka hiçbir bağımlılığı yoktur.

Öte yandan, LLD'nin belirli bir sırayla yürütülmesi gerekir. Bazı modüller, diğerleri tamamlanana kadar yürütmeyi beklemelidir.

LLD, SDLC'nin Tasarım aşamasına girerken, HLD, SDLC'nin Analiz aşamasına girer.

Amaç

  • Bir HLD'nin amacı, çeşitli modüllerin işlevsel yönlerini nihai sonuçla birlikte listelemektir.
  • Bir LLD'nin amacı, bir HLD'deki her modülün mantığını ve yürütülmesini detaylandırmaktır.

Paydaşlar

Çözüm mimarları, bir HLD belgesi oluşturmaktan sorumludur. Gözden geçirme ekibi gibi iç ve dış paydaşlara sahip olabilir. yazılım metrikleri, tasarım ekibi, müşteriler ve yöneticiler.

LLD, şirketin veya satıcı ekiplerinin bir parçası olan yazılım geliştiricileri, web yöneticileri, güvenlik mühendisleri vb. tarafından ele alınır. LLD'ler genellikle iç paydaşlarla sınırlıdır.

Hedef kitle

HLD belgeleri, yöneticilerin, müşterilerin ve yazılım geliştirme ekiplerinin hedef kitlesine sahiptir.

Proje üzerinde çalışan yazılım mühendisleri, kodlayıcılar, testçiler ve geliştiriciler, LLD belgelerinin hedef kitlesidir.

Beklenen sonuç

  • HLD'nin sonucu, son kullanıcıya gönderilmeye hazır bir yazılım ürünü veya hizmetidir.
  • Bir LLD'nin sonucu, kodlama veya test aşamaları gibi HLD'nin tek bir modülünün tamamlanmasıdır.

Yazılım Tasarım Belgelerini Anlama

Yazılım tasarım belgeleri, bir yazılım geliştirmenin yapısal, işlevsel ve mantıksal yönlerini ana hatlarıyla belirtir. teknik gereksinimlere ve diğer uygulamaya ek olarak yazılım ürünü veya hizmeti detaylar. Tasarım ister makro düzeyde ister mikro düzeyde yürütmeyle ilgili olsun, programcılar ve diğer paydaşlar, yazılım geliştirme sürecinin kapsamını ve çeşitli adımlarını bilmeli ve anlamalıdır.