Arka plan: Ortak çalışanlarımız ve ben akademik bir dergi için bir makale yazıyoruz. Araştırmamız sırasında Java'da bir simülasyon programı yazdık. Simülasyon programını başkalarının kullanabileceği şekilde serbest bırakmak istiyoruz. Kodu bir GitHub deposunda barındırmaya karar verdik. Başkalarının kullanımını kolaylaştırmak için, programımız için aşağıdakiler de dahil olmak üzere iyi belgeler yazmak istiyoruz:
- Her sınıf ve yöntem için Javadoc'lar
- Kod nasıl kullanılır?
- Kodun üst düzey yapısını tanımlama
Üst düzey sorum şu: Bir programın üst düzey yapısını tanımlamak için kullanılabilecek kelimeler ve diyagramlara iyi bir örnek verebilir misiniz? Buna alt sorular da dahildir:
- Hangi paketlerde hangi sınıfların bulunduğunu nasıl gösteririz?
- Hangi paketlerin diğer paketlere bağlı olduğunu nasıl gösteririz?
- Programdaki nesnelerin / sınıfların birlikte nasıl çalıştığını nasıl gösteririz?
- Kodumun tasarımında alan güdümlü tasarım ilkelerini kullanmaya çalıştık . Etki alanındaki nesnelerle bu nesneleri kodlayan belirli kaynak kodu dosyaları arasındaki yazışmayı nasıl gösteririz? (Aşağıdaki projenin "her yerde bulunan dil" açıklamamı inceleyin.)
Şimdiye kadar ne yaptım
Her yerde kullanılan dil
Kodun bir dosyaya "her yerde bulunan dil" tanımını ubiquitous-language.md
, içeriği aşağıda belirttik.
Bu projenin amacı, bir ikmal politikasının tek bir tesise sahip basit bir tedarik zincirinde farklı teslim süresi modelleri, gecikmeler ve talep modelleri altında nasıl bir performans gösterdiğini incelemektir.
Her dönemde aşağıdaki olaylar gerçekleşir:
- Bir sevkiyatın tesise cari dönemde ulaşması planlanıyorsa, tesisin stok seviyesi X birimleri tarafından artırılır.
- Eğer zamanlama cari dönem bir raporlama dönemi olduğunu belirtir, ardından tesisin bir gönderdiğinde raporu için satıcı . Tedarikçisi alabilirsiniz raporu tarafından belirtildiği şekilde, birkaç haftalık bir gecikme ile ya, anında zamanlama .
- Eğer tedarikçi bir aldı raporu ardından dayalı ikmal politikası , bu X'in birimlerinin ikmal miktarını hesaplar. Ürünün X biriminin bir sevkıyatının , 1 dönemlik bir teslim süresinden sonra ulaşması planlanacaktır.
- Müşteriler tesise gelir ve ürünün X birimini talep eder. Karşılanmayan talepler kaybolur.
Kaynak Kod Yapısı
structure.md
Aşağıdaki içeriğe , bir dosyaya kodun eksik "üst düzey" açıklamasını koyuyoruz .
Paket Seviyesi Yapısı
En üst düzeyde, kaynak kodu üç paket halinde düzenlenmiştir
com.gly.sfs
main
Yöntemi içeren ana sınıf bu pakette bulunur.com.gly.sfs.model
Etki alanı modeli sınıfları bu pakette bulunur.com.gly.sfs.util
Yardımcı sınıflar bu pakette bulunur.