RPL Bab4 Perancangan Konsep

Embed Size (px)

DESCRIPTION

Rekayasa Perangkat Lunak Perancangan Konsep

Citation preview

RPL

REKAYASA PERANGKAT LUNAK (RPL)Perancangan PL KonsepRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D2/21Tujuan perkuliahanMemahami pengertian dan urgensi perancangan PLMemahami proses perancangan PLMemahami prinsip-prinsip perancangan PLMemahami parameter kualitas perancangan PLMemahami alat bantu dan dokumentasi yang diperlukan dalam perancangan PLRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D3/21AgendaPengertian, Urgensi dan FungsiProsesPrinsip-prinsipParameter KualitasAlat bantu dan DokumentasiRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D4/21Pengertian: S/W DesignRepresentasi rekayasa dari perangkat lunak yang akan dibangun, yang terfokus pada data, arsitektur, interface, dan komponen. Dapat dilacak terhadap kebutuhan-kebutuhan customer/perangkat lunak (Roger S. Pressman)Membangun suatu solusi permasalahan yang memenuhi kebutuhan-kebutuhan perangkat lunak (Ian Sommerville)RPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D5/21S/W design wicked problemThere is no definite formulationThere is no stopping ruleSolutions are not simply true or falseEvery wicked problem is a symptom of another problemRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D6/21Urgensi dan FungsiMengapa K U A L I T A S : perancangan adalah satu2nya jalan untuk mentransformasi secara akurat kebutuhan2 customer ke dalam sebuah produk akhir berupa perangkat lunak yang berkualitas tinggiFungsi Sebagai dasar dari semua aktifitas rekayasa perangkat lunak yang mengikutinya (implementasi/coding, pengujian dan validasi)RPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D7/21ProsesPerancangan dataMentransformasikan model domain informasi dari hasil analisis menjadi struktur data yang dibutuhkan dalam implementasi PLPerancangan arsitekturalMendefinisikan elemen-elemen utama (sub-sistem) dan relasi antar elemen-elemen utama dari struktur PLPerancangan interfaceMenjelaskan bagaimana PL berkomunikasi di dlm PL itu sendiri maupun dengan sistem lain yang berinteraksi atau dengan manusia sebagai pemakainyaPerancangan komponenDekomposisi sub-sistem menjadi komponen detilRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D8/21ProsesIteratifKriteria perancangan yang baik (McGlaughlin) :Harus mengimplementasikan seluruh kebutuhan eksplisit yang ada dan yang implisit yang diinginkan oleh customerHarus mudah dibaca, dimengerti panduan implementasi maupun pengujianHarus lengkap menggambarkan keseluruhan PL yang akan dibuatInformal DesignInformal Design OutlineMore Formal DesignFinished DesignRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D9/21Prinsip-prinsipTerdiri dari proses dan modelPrinsip dasar (Davis) :Proses perancangan tidak boleh menggunakan pendekatan kaca mata kudaPerancangan harus bisa dilacak ke model analisisnyaPerancangan tidak seharusnya mengulangi rancangan yang sudah ada reusingPerancangan harus sedapat mungkin mendekati kenyataan yang ada di domain permasalahannyaPerancangan seharusnya seragam (ada konvensi) dan integral (interface antar komponen)Perancangan implementasi, implementasi perancanganPerancangan harus bisa dievaluasi pada saat berlangsung (tidak setelah selesai semuanya)Perancangan harus terstruktur bisa mengakomodasi perubahanRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D10/21Parameter KualitasCohesionCouplingUnderstandabilityAdaptabilityRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D11/21Parameter Kualitas : CohesionUkuran tingkat kedekatan relasi antar elemen-elemen dalam satu komponenJika terjadi perubahan pada sebuah komponen tingkat kohesifitas menentukanSemakin tinggi semakin baik hasil rancangannyaPenurunan klas akan mengurangi tingkat kohesifitasUntuk memahami sebuah klas/komponen secara lengkap, harus melihat klas atasnya (super-class)Ada beberapa tingkat kohesifitas, tetapi cukup sulit untuk mengklasifikasikan dengan tepatRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D12/21Parameter Kualitas : Cohesion LevelLogical association (weak)Kesamaan fungsi/logika dari elemen2 sebuah komponen, tetapi aksinya berbeda-bedaContoh :output text to screenoutput line to printeroutput record to fileTemporal cohesion (weak)Elemen2 yang diaktifkan dalam waktu yang samaContoh :clear screenopen fileinitialize time_averageRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D13/21Parameter Kualitas : Cohesion LevelProcedural cohesion (weak)Sebuah komponen terdiri dari sekumpulan elemen2 yang membentuk satu rangkaian prosesContoh :calculate quiz_scorecalculate final_scoreanalyze attendance_listSequential cohesion (medium)Output dari satu elemen menjadi input bagi elemen yang lainContoh :get temperature_value_to_convertconvert to fahrenheitoutput conversion_result to screenRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D14/21Parameter Kualitas : Cohesion LevelFunctional cohesion (strong)Tipe kohesi yang paling optimalSatu fungsi dan satu data tertentu untuk setiap komponenElemen2 dalam satu komponen untuk memenuhi fungsi yang terdefinisi tsb.Contoh :calculate averageObject cohesion (strong)Setiap operasi memiliki kemampuan untuk memanipulasi atribut yang dibutuhkan dari sebuah klasContoh :display temperaturelog temperatureanalyze temperatureRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D15/21Parameter Kualitas : CouplingUkuran tingkat kedekatan relasi antar komponenSemakin rendah semakin baik hasil rancangannyaJika terjadi perubahan pada sebuah komponen, maka tingkat kopling menentukanPenurunan klas akan menaikkan tingkat koplingOO systems memberikan tingkat kopling yang rendah : tidak ada shared dataRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D16/21Parameter Kualitas : CouplingKopling tinggi :

Kopling rendah :

RPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D17/21Parameter Kualitas : UnderstandabilityMudah dipahami : implementasi, pengujian dan perawatan (jika terjadi perubahan)Berhubungan dengan beberapa karakteristik komponen :Cohesion dan coupling : can the component be understood on its own ?Naming : are meaningful names used ?Documentation : is the design well-documented ?Complexity : are complex algorithms used ?RPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D18/21Parameter Kualitas : AdaptabilitySeberapa mudah dilakukan perubahan perancanganPerancangan yang adaptif :Kopling rendahDokumentasi bagus dan up to dateTraceability yang tinggiKohesi tinggiPenurunan klas : meningkatkan adaptabilityRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D19/21Alat BantuFunctional Design :Aplikasi pengolah model : Visio, dll.Aplikasi pengolah kata : MS Word, dll.Object-Oriented Design :Aplikasi pengolah model : Visio, dll.Aplikasi pengolah kata : MS Word, dll.CASE Tool : Rational Soda for Word, Rational Rose, OODTool (Coud-Yourdon) dll.RPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D20/21DokumentasiDOD2167A (SDD):Scope1.1.Identification1.2.System overview1.3.Document overviewReferenced DocumentsPreliminary Design3.1.CSCI overview3.2.CSCI design descriptionDetailed DesignCSCI DataCSCI Data FilesRequirements TraceabilityNotesRPL - Perancangan PL - Konsep / Tri A. Kurniawan, S.T, M.T, Ph.D21/21PenutupPerancangan PL memiliki peran yang sangat penting dalam pengembangan PL karena mentransformasi kebutuhan2 customer menjadi produk akhir PL yang berkualitasProses dalam perancangan PL terdiri perancangan data, arsitektural, interface dan komponenParameter kualitas perancangan PL terdiri dari cohesion, coupling, understandability dan adaptability