Sabtu, 27 Oktober 2012

[Rekayasa Perangkat Lunak] Minggu 6 - Perancangan Berorientasi Objek

Diskusi #

  • Identifikasi objek-objek yang mungkin pada sistem berikut ini dan kembangkan desain berorientasi objek untuknya. Anda dapat membuat asumsi-asumsi yang masuk akal mengenai sistem ketika menurunkan desain.
    • Suatu sistem buku harian kelompok dan manajemen waktu ditujukan untuk mendukung penjadwalan rapat dan pembuatan janji bertemu bagi sekelompok rekan kerja. Ketika akan dibuat pembuatan janji bertemu yang melibatkan sejumlah orang, sistem menemukan slot yang sama pada buku harian mereka masing-masng dan mengatur pertemuan untuk waktu tersebut. Jika tidak tersedia slot yang sama, sistem berinteraksi dengan user untuk menyusun ulang buku harian mereka demi memberi tempat bagi janji tadi
     Dalam design ini ada sebuah object diary yang memiliki operasi untuk pertemuan grup dan untuk pertemuan pribadi.Untuk setiap peserta didalam sistem akan memiliki diary pribadi dan diary grup yang diakses bersama.
    Objects
    Attributes
    Operations
    Diary
    Tahun
    Bulan
    Tanggal
    Waktu
    Level_Akses

    Membuat pertemuan
    Membatalkan pertemuan
    Merubah pertemuan
    Membuat pertemuan grup
    Mencari waktu kosong
    Memesan waktu kosong
    Menampilkan Diary
    Memeriksa status waktu kosong
    Pertemuan
    Waktunya
    Lama pertemuan
    Tempat pertemuan
    Peserta pertemuan
    Alasan pertemuan

    Pengguna
    Diary
    Periksa waktu pertemuan
     
  • Sebuah pom bensin akan dibangun untuk operasi yang otomatis sepenuhnya. Pengemudi menggesekkan kartu kredit mereka melalui pembaca yang dihubungkan ke pompa, kartu diverifikasi melalui komunikasi dengan komputer perusahaan kartu kredit tersebut, dan ditetapkanlah batas pengisian bahan bakar. Pengemudi selanjutnya dapat mengambil bahan bakar yang dibutuhkan. Ketika pengisian bahan bakar telah selesai dan selang pompa dikembalikan ke tempatnya, account kartu kredit di debit dengan biaya bahan bakar yang diisikan. Kartu kredit dikembalikan setelah melakukan debit. Jika kartu tersebut invalid, kartu itu dikembalikan oleh pompa sebelum bahan bakar dikeluarkan.
    Secara umum sistem ini dikoordinasi oleh objek Sistem Kontroller yang berhubungan langsung antara objek card reader dan pompa
    Objects
    Attributes
    Operations
    Pompa

    Jenis Bahan bakar
    Harga
    Kondisi
    Pengeluaran

    Menyala
    Mati
    Mengisi
    Penambahan Stok
    Card Reader
    Nomor Kartu
    Jenis Kartu
    Status Kartu
    Batasan Kartu
    Baca kartu
    Periksa status
    Cetak nota
    Tanki Bahan Bakar
    Jumlah yang ada
    Tambah Bahan Bakar
    Kurangi Bahan Bakar
    Sistem Komunikasi
    Nomor yang dihubungi
    Batasan kartu
    Kirim nomor kartu
    Pengembalian status kartu
    Sistem Kontroller
    Nomor Kartu
    Jenis Kartu
    Batas Maks
    Harga
    Daftar harga
    Jumlah yang dibeli


    Daftar  harga
    Harga bahan bakar
    Melihat harga
    Merubah harga

  • Urutan proses terletak pada kontroller ( yang dapat digambarkan sebagai sequence diagram)

    Card_Reader.Baca_Kartu(Nomor_Kartu,Jenis_Kartu);
    Sistem_Komunikasi.Chek_Status(Jenis_Kartu,Status_Kartu,Batasan_Kartu);
    //Aksi dijalankan apabila status kartu tidak invalid
    if (Status_Kartu == OK)
    {
    Batas_Maks:=Batasan_Kartu/Daftar_harga.Melihat_harga(Pompa.Jenis_bahan_bakar);
    Pompa.Mengisi(Batas_Maks);
    Pompa.Menyala(Jumlah_yang_dibeli);
    Pompa.Mati;
    Tanki_Bahan_Bakar.Kurangi_Bahan_Bakar(Jumlah_yang_dibeli);
    Card.Reader.Cetak_Nota(Jumlah_yang_dibeli*Daftar_harga.Melihat_harga(Pompa.Jenis_bahan_bakar);

Tidak ada komentar:

Posting Komentar