Analisis KebutuhanMerupakan proses menemukan, memperbaiki, memodelkan danmenspesifikasikan.Terdiri dari lima langkah pokok...
Jenis Kebutuhan:1. Kebutuhan FungsionalPendefinisian layanan yang harus disediakan, bagaimana reaksisistem terhadap input ...
Proses Rekayasa KebutuhanFeasibilitystudyRequirementselicitation andanalysisRequirementsspecificationRequirementsvalidatio...
Permasalahan pada Analisis Kebutuhan• Pengguna (stakeholders) tidak mengetahui apa yang merekabutuhkan• Pengguna menjelask...
Stakeholder merepresentatikan sudut pandang suatu masalah dalambeberapa cara.Analisis Multi perspektif adalah penting jika...
QuerybalanceGettransactionsCashwithdrawalTransactionlogMachinesuppliesCardreturningRemotesoftwareupgradeOrderchequesUserin...
Viewpoint Service InformationFOREIGNCUSTOMERWithdrawcashQuery balanceService listWithdrawcashQuery balanceOrder chequesSen...
CustomerAccount numberPINStarttransactionSelect serviceCanceltransactionEnd transactionCashwithdrawalBalance enquiryAccoun...
• Skenario kejadian dapat digunakan untuk menggambarkanbagaimana sistem merespon ke suatu kejadian tertentu seperti awaltr...
Elips menyatakan data yang disediakan oleh dan dikirim ke viewpointData keluar dari sisi kanan setiap kotakEksepsi ditunju...
RequirementsdatabaseRequirementsanalyserRequirementsproblemreportRequirementsprocessorRequirementsinaformal languageManage...
v. Support diagramc. Deskripsi Kontroli. Spesifikasi Kontrolii. Perancangan Kendala4. Deskripsi Lingkungana. System Stateb...
Upcoming SlideShare
Loading in …5
×

Rekayasai perangkatlunak 2

189 views

Published on

Published in: Economy & Finance, Business
  • Be the first to comment

  • Be the first to like this

Rekayasai perangkatlunak 2

  1. 1. Analisis KebutuhanMerupakan proses menemukan, memperbaiki, memodelkan danmenspesifikasikan.Terdiri dari lima langkah pokok:1. Identifikasi Masalah2. Evaluasi dan sintesis3. Pemodelan4. Spesifikasi5. ReviewDalam menemukan Area permasalahan, perlu adanya komunikasi yangintensif dengan user. Hal yang perlu diperhatikan dalam berkomunikasiadalah menghindari salah interpretasiPertanyaan pertama memfokuskan pada pengertian dasar permasalahan:1. Menemukan yang membutuhkan software tersebut:a. Siapa yang membutuhkan sistem (serta personal dibelakangnya) ?b. Siapa yang akan menggunakan solusic. Apa yang akan menjadi keuntungan ekonomis dari solusi yangbaikd. Adakan sumber lain dari solusi yang dibutuhkan2. Bentuk solusi yang diinginkana. Bagaimana user mengkarakteristikkan suatu output sistem yangbaik yang akan dihasilkan oleh solusi yang benarb. Masalah-masalah apa yang akan dicarikan solusinya?c. Lingkungan solusi yang akan digunakand. Adakah isu atau kendala khusus yang berdampak kepada solusi3. Efektifitasa. Mendapatkan person yang benar/berhak atas jawabanpertanyaan,b. Apakah pertanyaan yang diajukan relevan denganpermasalahanc. Adakah personal lain yang dapat menambah informasid. Adakah hal lain yang perlu ditambahkan?1
  2. 2. Jenis Kebutuhan:1. Kebutuhan FungsionalPendefinisian layanan yang harus disediakan, bagaimana reaksisistem terhadap input dan apa yang harus dilakukan sistem padasituasi khusus (Kebutuhan sistem dilihat dari kacamata pengguna)2. Kebutuhan Non-FungsionalKendala pada pelayanan atau fungsi sistem seperti kendala waktu,kendala proses pengembangan, standard, dll. Contoh: kehandalan,waktu respon dan kebutuhan storage. Contoh kendala seperti:Keterbatasan kemampuan peralatan I/O, representasi sistem dll.Domain KebutuhanKebutuhan yang berasal dari domain aplikasi sistem dan merefleksikankarakteristik domainSecara Prinsip, spesifikasi Kebutuhan harus:1. Lengkap: Mendeskripsikan semua fasilitas yang diinginkan2. Konsisten: Tidak adanya konflik dan kontradiksiTipe Non-FungsionalPerformancerequirementsSpacerequirementsUsabilityrequirementsEfficiencyrequirementsReliabilityrequirementsPortabilityrequirementsInteroperabilityrequirementsEthicalrequirementsLegislativerequirementsImplementationrequirementsStandardsrequirementsDeliveryrequirementsSafetyrequirementsPrivacyrequirementsProductrequirementsOrganizationalrequirementsExternalrequirementsNon-functionalrequirements2
  3. 3. Proses Rekayasa KebutuhanFeasibilitystudyRequirementselicitation andanalysisRequirementsspecificationRequirementsvalidationFeasibilityreportSystemmodelsUserandsystemrequirementsRequirementsdocumentStudi KelayakanStudi Kelayakan memutuskan apakah sistem software yang akan dibuatsudah mencakup seluruh aspek permasalahanMelakukan studi untuk menguji apakah sistem:• sudah sesuai dengan tujuan organisasi• dapat dikembangkan dengan teknologi terkini dan dana yang tersedia• dapat diintegrasikan dengan sistem lain yang sudah digunakanImplementasi Studi KelayakanBerbasikan pada penilaian informasi (apa yg dibutuhkan), pengumpulaninformasi dan penulisan laporanPertanyaan ke personal di organisasi:• Apa yang akan terjadi apabila sistem tidak diimplementasikan?• Masalah proses apa yang ada ?• Apa yang dapat dibantu oleh sistem ?• Masalah apa yang akan muncul pada proses Integrasi ?• Adakah teknologi baru yang dibutuhkan? Skill yang dibutuhkan ?• Fasilitas apa yang harus didukung oleh sistem ?3
  4. 4. Permasalahan pada Analisis Kebutuhan• Pengguna (stakeholders) tidak mengetahui apa yang merekabutuhkan• Pengguna menjelaskan kebutuhan dengan cara mereka sendirisehingga sulit untuk dipahami• Pengguna yang berbeda memiliki konflik kebutuhan• Faktor politik dan organisasi yang dapat mempengaruhi kebutuhansistem• Perubahan kebutuhan selama proses analisis. Stakeholder barumungkin akan merubah lingkungan bisnis.Proses Analisis KebutuhanRequirementsvalidationDomainunderstandingPrioritizationRequirementscollectionConflictresolutionClassificationRequirementsdefinition andspecificationProcessentryPemodelan SistemDapat dilakukan dalam beberapa cara, seperti model structural, statemachine, state chart, dllPemodelan tersebut dapat pula direpresentasikan sebagai formaliasi sudutpandang pengguna (viewpoint-oriented)Viewpoint-oriented elicitation4
  5. 5. Stakeholder merepresentatikan sudut pandang suatu masalah dalambeberapa cara.Analisis Multi perspektif adalah penting jika tidak terdapat suatu cara yangbenar untuk menganalisa kebutuhan sistem.Contoh: Sistem ATM BankSistem ATM dapat menyediakan pelayanan bank secara otomatisPelayanan tersebut mencakup: penarikan tunai, pengiriman pesan untukpermintaan layanan, pemensanan, dan transfer.Autoteller viewpoint• Bank customers• Representatives of other banks• Hardware and software maintenance engineers• Marketing department• Bank managers and counter staff• Database administrators and security staff• Communications engineers• Personnel departmentViewpointidentificationViewpointstructuringViewpointdocumentationViewpointsystemmappingIdentifikasi Viewpoint:• Menemukan viewpoint sebagai penerima layanan sistem danmengidentifikasikan layanan yang disediakan untuk masing-masingviewpoint•5
  6. 6. QuerybalanceGettransactionsCashwithdrawalTransactionlogMachinesuppliesCardreturningRemotesoftwareupgradeOrderchequesUserinterfaceAccountinformationMessagelogSoftwaresize InvaliduserSystem cost Printer SecurityCardretentionStolencardOrderstatementRemotediagnosticsReliabilityUpdateaccountFundstransferMessagepassingCardvalidationCustomerdatabaseManagerAccountholderForeigncustomerHardwaremaintenanceBanktellerPembentukan Struktur Viewpoint• Mengelompokkan viewpoint yang saling berhubungan secarahierarki. Layanan umum disediakan pada level yang lebih tinggidalam hierarkiEngineerManagerTellerForeigncustomerAccountholderServicesOrder chequesSendmessageTransactionlistOrder statementTransfer fundsCustomer BankstaffAll VPsServicesQuerybalanceWithdrawcashDokumentasi Viewpoint• Memperbaiki deskripsi viewpoint dan layanan yang teridentifikasiViewpoint system mapping• Transformasi analisis ke perancangan berorientasi objek6
  7. 7. Viewpoint Service InformationFOREIGNCUSTOMERWithdrawcashQuery balanceService listWithdrawcashQuery balanceOrder chequesSendmessageTransaction listOrder statementTransfer fundsService listRundiagnosticsAdd cashAdd paperSendmessageService listACCOUNTHOLDERBANKTELLERBentuk Standard VORDViewpoint templete service templete7
  8. 8. CustomerAccount numberPINStarttransactionSelect serviceCanceltransactionEnd transactionCashwithdrawalBalance enquiryAccount holderForeigncustomerReference:Attributes:Events:Services:Sub-VPs:CashwithdrawalTo improve customer serviceand reduce paperworkUsers choose this service bypressing the cash withdrawalbutton. They then enter theamount required. This isconfirmed and, if funds allow,the balance is delivered.CustomerDeliver cashwithin 1minuteof amount being confirmedFilled in laterReference:Rationale:Specification:VPs:Non-funct.requirements:Provider:SkenarioPenggambaran bagaiman sistem akan digunakanMembantu dalam menemukan kebutuhan dengan mempermudah dalampenggambaran proses dibandingkan pernyataan abstrak kebutuhansistemMenambahkan detail ke outline deskripsi kebutuhanDeskripsi dalam Skenarion• Sistem State pada awal scenario• Alur Normal kejadian-kejadian di sistem• Apa yang dapat berkembang dan bagaimana menanganinya• Aktifitas-aktifitas yang bersamaan terjadi• System state setelah proses selesaiSkenarion Kejadian8
  9. 9. • Skenario kejadian dapat digunakan untuk menggambarkanbagaimana sistem merespon ke suatu kejadian tertentu seperti awaltransaksi• VORD dapat berupa diagram untuk menggambarkan scenariokejadiano Data yang dikirim dan disediakano Kontrol Informasio Pengecualiaan Proseso Kejadian berikutnyaValidate userRequest PINSelectserviceTimeoutReturn cardInvalid cardReturn cardStolen cardRetain cardIncorrect PINRe-enter PINIncorrect PINReturn cardCardPINCard presentAccountnumberPINAccountnumberValid cardUser OKNotasi:9
  10. 10. Elips menyatakan data yang disediakan oleh dan dikirim ke viewpointData keluar dari sisi kanan setiap kotakEksepsi ditunjukkan di bawah maisng-masing boxNama kejadian berikutnya berada di box dengan garis panah tebalPada contoh di atas, eksepsi adalah:• Timeout: Pelanggan salah memasukkan nomor PIN selama waktuyang diberikan• Invalid Card: Kartu tidak diknal oleh sistem dan dikembalikan• Stolen Card: Kartu sudah diregister sebagai kartu yang sudahdicuri/hilang dan akan diambil oleh sistem (tidak dikembalikan)Validasi Kebutuhan• Bertujuan untuk meyakinkan bahwa kebutuhan yang sudahdidefinisikan sesuai dengan yang diinginkan pengguna• Menghindari Kesalahan pendefinisian kebutuhan karena akanmenyebabkan penambahan biaya yang besaro Memperbaiki definisi kebutuhan stelah software dikirim akanmenyebabkan peningkatan biaya hingga 100 kali.Pengujian Pendefinisian Kebutuhan• Validasi. Apakah sudah sesuai dengan yang diinginkan• Konsistensi. Adakah konflik dengan kebutuhan lainnya• Lengkap: Apakah sudah termasuk semua fungsi yang dibutuhkan• Realisasi: Dapatkan kebutuhan diimplementasikan ke dana danteknologi yang tersedia• Dapat diverifikasi: Dapatkah spesifikasi kebutuhan dicekTeknik Validasi KebutuhanReview:PrototypingTest-Case GeneratorAnalisis Konsistensi Otomatis10
  11. 11. RequirementsdatabaseRequirementsanalyserRequirementsproblemreportRequirementsprocessorRequirementsinaformal languageManagemen Perubahan KebutuhanChangeimplementationChangeanalysisandcostingProblemanalysisandchangespecificationIdentifiedproblemRevisedrequirementsOutline Spesifikasi Kebutuhan Software1. Pendahuluana. Referensi Sistemb. Deskripsi Umum Sistemc. Kendala Projek Pengembangan Software2. Deskripsi Informasia. Informasi representasi Aluri. Alur Dataii. Alur Kontrolb. Representasi Isi Informasic. Deskripsi Interface Sistem3. Deskripsi Fungsionala. Partisi Fungsionalb. Deskripsi Fungsionali. Deskripsi proses secara naratifii. Keterbatasan Sistemiii. Performa yang dibutuhkaniv. Perancangan kendala11
  12. 12. v. Support diagramc. Deskripsi Kontroli. Spesifikasi Kontrolii. Perancangan Kendala4. Deskripsi Lingkungana. System Stateb. Events dan Aksi5. Kriteria Validasia. Performance Boundb. Kelas Testc. Respon Software yang diharapkand. Pertimbangan-pertimbangan khusus6. Daftar Kepustakaan7. Appendiks12

×