: ENDRO HASSRIE. Nim : : REKAYASA PERANGKAT LUNAK DESAIN PERANG LUNAK DAN REKAYASA PERANGKAT LUNAK

dokumen-dokumen yang mirip
REKAYASA PERANGKAT LUNAK MATERI TM 10

MAKALAH DESAIN PERANGKAT LUNAK. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

Dibuat Oleh : 1. Andrey ( )

MAKALAH REKAYASA PERANGKAT LUNAK ( KONSEP DESAIN PERANGKAT LUNAK )

Perspektif Alur-kerja (workflow) - barisan kegiatan Perspektif Alur Data (Data flow) alur informasi Perspektif Peran/Aksi siapa melakukan apa.

REKAYASA PERANGKAT LUNAK MATERI TM 12

MAKALAH DESAIN DATA DAN ARSITEKTUR. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

DESAIN PERANGKAT LUNAK

DESAIN PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

PROSES MODEL DESAIN PERANGKAT LUNAK

P10 Konsep & Prinsip Desain. A. Sidiq P.

PRINSIP DAN KONSEP DESAIN

Minggu 6 Prinsip & Konsep Desain

2. Semua struktur data dan operasi yang akan dilakukan pada masing masing struktur data harus diidentifikasi.

Pertemuan 9 PRINSIP DAN KONSEP DESAIN

Software Design. Konsep dan Prinsip Desain Struktur Desain. Mira/Rpl/Design

Prinsip dan Konsep Desain Perangkat Lunak

DESAIN DATA DAN ARSITEKTUR. Di Susun Oleh : Endro Hassrie Dosen Pengampu : Wahyu Hari Haji M.Kom

REKAYASA PERANGKAT LUNAK

Nama : Rendi Setiawan Nim :

Rekayasa Perangkat Lunak

Prinsip Fundamental dalam Desain Perangkat Lunak

Dibuat Oleh : 1. Andrey ( )

5 Perancangan Perangkat Lunak

Dibuat Oleh : 1. Andrey ( )

Tujuan. entitas yang kemudian akan dibangun. ó Menghasilkan suatu model atau representasi dari. Tim RPL 1 2

Pertemuan 5 Konsep dan Prinsip Desain TIK : Menjelaskan konsep, prinsip dan tahapan dalam perancangan software

Bab 6 PERANCANGAN PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK

Object-Oriented Design

Pertemuan 10 METODE DESAIN (1)

DESAIN PERANGKAT LUNAK. Ign.F.Bayu Andoro.S, M.Kom

Deskripsi Mata Kuliah

METODE DESAIN DAN CODING

Tujuan. Menghasilkan suatu model atau representasi dari entitas yang kemudian akan dibangun. Tim RPL 1 2

PEMROGRAMAN TERSTRUKTUR

Tugas 5 Rekayasa Perangkat Lunak. Artikel mengenai Modularity dalam perangkat Lunak

pada masalah pengumpulan kebutuhan pengguna pada tingkatan sistem (system requirements) dengan mendefinisikan konsep sistem beserta interface yang

Menjelaskan maksud dari arsitektur PL dan kenapa sangat penting.

TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques)

Pemrograman Web Berbasis Framework. Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

REKAYASA PERANGKAT LUNAK (SOFTWARE ENGINEERING)

Pertemuan 11 METODE DESAIN (2)

BAB I PENDAHULUAN 1.1. Latar Belakang

REKAYASA PERANGKAT LUNAK LANJUT DESIGN ENGINEERING. Defri Kurniawan M.Kom

MAKALAH REKAYASA PERANGKAT LUNAK ( SIKLUS HIDUP PERANGKAT LUNAK )

BAB 1 PENDAHULUAN Latar Belakang

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

Tugas Rekayasa Perangkat Lunak

Implementasi Sistem dan Maintenace Sistem. Sistem Informasi Universitas Gunadarma 2012/2013

Jenis Metode Pengembangan Perangkat Lunak

Testing dan Implementasi

SOFTWARE TESTING. Ratna Wardani

A. Spesifikasi Perangkat Lunak

BAB 4 PELAKSANAAN PENGUJIAN

KONSEP DAN PRINSIP DESAIN. Oleh I Made Cipta Wahyudi

BAB 3 METODOLOGI PENELITIAN

IMPLEMENTASI PERANGKAT LUNAK

BAB III METODOLOGI PENELITIAN. Metode pengumpulan data yang digunakan pada penelitian ini berupa studi

Arsitektur Sistem Informasi. Tantri Hidayati Sinaga, M.Kom.

DESAIN DATA, DESAIN ARSITEKTUR & CODING

DESAIN PERANGKAT LUNAK DAN REKAYASA PERANGKAT LUNAK PRINSIP DESAIN KONSEP DESAIN

REKAYASA PERANGKAT LUNAK

Systems Development Life Cycle (SDLC)

BAB I PENDAHULUAN. dalam suatu perusahaan, karena persediaan akan dijual secara terus menerus untuk

BAB I PENDAHULUAN. komputasi dan komunikasi untuk melakukan tugas-tugas informasi sehingga arus

BAB III METODOLOGI PENELITIAN

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

: ENDRO HASSRIE NIM : MATKUL : REKAYASA PERANGKAT LUNAK PEMODELAN DATA

REKAYASA PERANGKAT LUNAK

PROSES DESAIN FAKULTAS ILMU KOMPUTER - UNIVERSITAS BRAWIJAYA 3/14/2017

BAB III LANDASAN TEORI

A. Tujuan dan Ruang Lingkup Proyek Perancangan Rekayasa Perangkat Lunak

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III LANDASAN TEORI. ada berkaitan dengan sistem yang akan dibuat. Tujuannya adalah agar aplikasi ini

136 Pemeliharaan Perangkat Lunak

REKAYASA PERANGKAT LUNAK. ( 1 st week)

Rekayasa Perangkat Lunak

Design Engineering. Tim RPL. Program Studi Teknik Informatika

BAB I PENDAHULUAN PD.BANK PERKREDITAN RAKYAT KOTA BANDUNG. instansi yang bergerak di bidang jasa penyimpanan dan peminjaman uang atau kredit.

Spesifikasi Kebutuhan Perangkat Lunak

MODEL DESAIN & DOKUMENTASI DESAIN

BAB III METODOLOGI PENELITIAN

BAB III OBJEK DAN METODE PENELITIAN. penelitian. Objek penelitian dalam penelitian ini adalah Sistem Informasi

BAB III METODOLOGI PENELITIAN. Desain penelitian disusun berdasarkan tahapan sebagai berikut:

Dibuat Oleh : 1. Andrey ( )

BAB I PENDAHULUAN. Dinas Pendidikan, Pemuda dan Olahraga Kota Tanjungpinang merupakan

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

REKAYASA PIRANTI LUNAK

BAB III METODOLOGI PENELITIAN

MAKALAH MODEL DESAIN DAN DOKUMENTASI DESAIN. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

BAB III OBJEK DAN METODE PENELITIAN. Penulis melakukan penelitian pada Toko Nada Bandung yang beralamat di

BAB I PENDAHULUAN. Dalam bab ini akan menerangkan beberapa acuan dalam melakukan kerja

BAB 3. METODOLOGI PENELITIAN

1. PENDAHULUAN 1. PERANGKAT LUNAK DAN PERKEMBANGANNYA

PENGEMBANGAN PERANGKAT LUNAK

BAB III METODOLOGI PENELITIAN

BAB I PENDAHULUAN. hal proses pengolahan data, baik itu data siswa, guru, administrasi sekolah maupun data

BAB III OBJEK DAN METODE PENELITIAN. Dalam analisis sistem ini akan diuraikan sejarah singkat dari Apotek 55 yang

Transkripsi:

Nama : ENDRO HASSRIE Nim : 41813120047 Matkul : REKAYASA PERANGKAT LUNAK DESAIN PERANG LUNAK DAN REKAYASA PERANGKAT LUNAK Desain Data Desain data adalah aktivitas pertama dan terpentig dari empat aktivitas desain yang dilakukan selama rekayasa perangkat lunak. Proses pemilihan struktur dalam menentukan desain yang paling efisien sesuai kebutuhan. Prinsip desain 9 Prinsip dalam mendesain perangkat lunak : 1. Desain harus bisa dilacak/sesuai dengan analisa model 2. Berpacu pada arsitektur sistem 3. Desain data = desain fungsi sistem 4. Desain interface memuat segala keperluan sistem(fungsionalitas, deteksi error, sederhana) 5. Desain interface = kebutuhan end-user 6. Independensi fungsi pada level desain komponen 7. Minimalkan ketergantungan antar komponen 8. Desain harus bisa dimengerti 9. Desain dibentuk secara bertahap- perlu iterasi untuk memaksimalkan fungsi Tujuan: Untuk mendapatkan struktur data yang baik sehingga diperoleh program yang lebih modular dan mengurangi kompleksitas pengembangan software. Prinsip Mendesain Data 1.Prinsip analisis sistematika yang diaplikasikan pada fungsi dan perilaku harusnya juga diaplikasikan pada data. 2. Semua struktur data dan operasi yang akan dilakukan pada masing-masing struktur data harus didentifikasi. 3.Kamus data harus dibangun dan digunakan untuk menentukan baik data maupun desain program. 4.Keputusan desain data tingkat rendah harus ditunda sampai akhir proses desain. 5. Representasi struktur data hanya boleh diketahui oleh modul-modul yang menggunakan secara langsung data yang diisikan didalam struktur tersebut. 6.Pustaka struktur data dan operasi yang berguna yang dapat diaplikasikan pada struktur data tersebut harus dikembangkan. 7. Desain perangkat lunak dan bahasa pemrograman harus mendukung spesifikasi dan realisasi dari tipetipe data abstrak.

* Desain Arsitektur Desain arsitektur adalah untuk mengembangkan struktur program modular dan merepresentasikan hubungan kontrol antar modul. Metode desain yang disajikan pada bagian ini mendorong prekayasa perangkat lunak untuk berkosentrasi pada desain arsitektur sebelum mencemaskan masalah perpipaan. Faktor seleksi yang penting untuk suatu metode desain adalah luasnya apliksi dimana aplikasi dapat diaplikasikan. Desain berorientasi pada aliran data dapat menyetujui rentang area aplikasi yang luas. Proses Desain Arsitektur Desain yang berorientasi pada aliran data merupakan suatu metode desain arsitektur yang mengijinkan transisi yang baik dari model analisis ke deskripsi desain dari struktur program. Transisi dari aliran informasi (yang ditujukan sebagai diagram aliran data) kestruktur dilakukan bagian dari proses 5 langkah: 1. Tipe aliran informasi dibangun. 2. Batas aliran diindikasikan. 3. DFD dipetakan didalam struktur program. 4. Hirarki kontrol ditentukan dengan pemfaktoran. 5. Struktur resultan disaring atau diperhalus dengan menggunakan pengukuran desain dan heuristik. Pasca Pemrosesan Desain Aplikasi dari pemetaan transaksi dan transformasi yang berhasil kemudian ditambahkan pada dokumentasi tambahan yang dibutuhkan sebagai bagian dari desain arsitektur. Setelah struktur dikembangkan dan disaring, tugas-tugas berikut harus dilakukan: 1. Mengembangkan narasi pemerosesan untuk masing-masing modul. 2. Menyediakan deskripsi interface untuk masing-masing modul. 3. Menentukan struktur data local dan global. 4. Mencatat semua batasan desain. 5. Mengkaji desain. 6. Mempertimbangkan optimasi (bila perlu dan dibenarkan). * Desain Interface Memberikan suatu gambaran mengenai struktur program kepada perekayasa perangkat lunak. Fokus Desain Interface : 1. Desain interface antar modul 2. Desain interface antara perangkat lunak dan entitas eksternal (produser & konsumen) 3. Desain interface manusia dengan computer Desain Interface Manusia-Mesin Ada empat model yang berbeda pada saat manusia-komputer/ human-komputer interface (HCL) akan didesain. Perekayasa perangkat lunak menciptakan sebuah model desain, perekayasa perangkat lunak membangun model pemakai, pemakai akhir mengembangkan citra mental yang sering disebut user s model atau perception, dan implementer sistem menciptakan system image.

Model desain dari keseluruhan sistem menggabungkan data, arsitektur, interface, dan representasi prosedural dari perangkat lunak. Model pemakai menggambarkan profil para pemakai akhir dari sistem. Untuk membangun interface pemakai yang efektif, semua desain harus dimulai dengan suatu pemahaman terhadap pemakai yang dimaksudkan, meliputi profil, usia, jenis kelamin. Para pemakai juga dapat dikategorikan sebagai: - Orang baru - Pemakai intermiten yang banyak pengetahuan - Pemakai yang banyak pengetahuan dan sering Persepsi sistem (model pemakai) merupakan citra sistem yang ada dikepala seorang pemakai akhir. Sebgai contoh, bila pemakai pengelola kata tersebut, persepsi sistem akan menuntun respon tersebut. Citra sistem merangkai manifestasi bagian luar dari sistem berbasis computer (tampilan luar dan rasa interface), dengan semua informasi yang mendukung (buku-buku, manual, pita video) yang menggambarkan sintaksis dan semantik sistem. * Desain Prosedural Tujuan: untuk menetapkan detail algoritma yang akan dinyatakan dalam suatu bahasa tertentu. Desain prosedural dilakukan setelah diselesaikannya perancangan desain data, arsitektur, dan antar muka software. Coding Program Design Language (PDL) adalah pseudocode atau suatu bahasa keseluruhan yang sintaksnya dari bahasa tertentu (pemrograman terstruktur). Rekayasa perangkat lunak adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas. IEEE Computer Society mendefinisikan rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak rekayasa perangkat lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.

kriteria yang dapat digunakan sebagai acuan dalam merekayasa perangkat lunak: 1. dapat terus dirawat dan dipelihara(maintainability) 2. dapat mengikuti perkembangan teknologi(dependability) 3. dapat mengikuti keinginan pengguna(robust) 4. efektif dan efisien dalam menggunakan energi dan penggunaannya 5. dapat memenuhi kebutuhan yang diinginkan(usability) Tujuan Rekayasa Perangkat Lunak Secara lebih khusus kita dapat menyatakan tujuan dan Rekaya Perangkat Lunak ini adalah: 1. Memperoleh biaya produksi perangkat lunak yang rendah. 2. Menghasilkan pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu 3. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform 4. Menghasilkan perangkat lunak yang biaya perawatannya rendah Kriteria Dalam Merekayasa Perangkat Lunak 1. Dapat terus dirawat dan dipelihara (maintainability) 2. Dapat mengikuti perkembangan teknologi (dependability) 3. Dapat mengikuti keinginan pengguna (robust). 4. Efektif dan efisien dalam menggunakan energi dan penggunaannya. 5. Dapat memenuhi kebutuhan yang diinginkan (usability). Ruang Lingkup Rekayasa Perangkat Lunak 1. Software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak. 2. Software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak. 3. Software construction berhubungan dengan detail pengembangan perangkat lunak, termasuk. algoritma, pengkodean, pengujian dan pencarian kesalahan. 4. Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak. 5. Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan. 6. Software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu. 7. Software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak. 8. Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL.

Rekayasa Perangkat Lunak dan Disiplin Ilmu Lain Cakupan ruang lingkup yang cukup luas, membuat RPL sangat terkait dengan disiplin dengan bidang ilmu lain. tidak saja sub bidang dalam disiplin ilmu komputer namun dengan beberapa disiplin ilmu lain diluar ilmu komputer. Keterkaitan RPL dengan bidang ilmu lain Bidang ilmu manajemen meliputi akuntansi, finansial, pemasaran, manajemen operasi, ekonomi, analisis kuantitatif, manajemen sumber daya manusia, kebijakan, dan strategi bisnis. Bidang ilmu matematika meliputi aljabar linier, kalkulus, peluang, statistik, analisis numerik, dan matematika diskrit. Bidang ilmu manajemen proyek meliputi semua hal yang berkaitan dengan proyek, seperti ruang lingkup proyek, anggaran, tenaga kerja, kualitas, manajemen resiko dan keandalan, perbaikan kualitas, dan metode-metode kuantitatif.

PRINSIP DAN KONSEP DESAIN Desain adalah langkah pertama dalam fase pengembangan bagi setiap produk atau sistem yang direkayasa. Desain dapat didefinisikan berbagai proses aplikasi berbagai teknik dan prinsip bagi tujuan pendefinisian suatu perangkat, suatu proses atau sistem dalam detail yang memadai untuk memungkinkan realisasi fisiknya [TAY59]. Tujuan desainer adalah untuk menghasilkan suatu model atau representasi dari entitas yang kemudian akan dibangun. Desain perangkat lunak berada pada inti teknik dari proses rekayasa perangkat lunak dan diaplikasikan tanpa memperhatikan model proses perangkat lunak yang digunakan. Begitu persyaratan perangkat lunak telah mulai dianalisis dan ditentukan, maka desain perangkat lunak menjadi yang pertama dari tiga aktivitas teknik desain, pembuatan kode dan pengujian yang diperlukan untuk membangun dan menguji perangkat lunak. Persyaratan perangkat lunak, yang dimanifestasi oleh data, fungsional, dan model-model perilaku, mengisi langkah desain. Dengan menggunakan satu dari sejumlah metode desain, langkah desain menghasilkan : a. Desain data b. Desain arsitektur c. Desain interface d. Desain prosedural B. Proses Desain Desain perangkat lunak adalah suatu proses interaktif yang melaluinya persyaratan diterjemahkan ke dalam suatu cetak biru untuk membangun perangkat lunak. Cetak biru menggambarkan suatu pandangan menyeluruh perangkat lunak, yaitu bahwa desain dihadirkan pada tingkat abstraksi yang tinggi (dapat secara lanngsung ditelusuri sampai data spesifik, fungsional, dan persyaratan behavioral) 1. Desain dan kualitas perangkat lunak McGlaughlin mengusulkan 3 karakteristik yang berfungsi sebagai pedoman bagi evaluasi suatu desain yang baik : desain harus mengimplementasikan keseluruhan persyaratan eksplisit yang dibebankan dalam model analisis, dan harus mengakomodasikan semua persyaratan implisit yang diinginkan pelanggan. Desain harus menjadi panduan yang dapat dibaca, dapat dipahami bagi mereka yang menghasilkan kode dan yang menguji serta memelihara perangkat lunak. Desain harus memberikan suatu gambaran lengkap mengenai perangkat lunak, yang menekankan data, dan domain perilaku dari perspektif implementasi. Kriteria teknis untuk desain yang baik : Desain harus memperlihatkan suatu organisasi yang dengan baik menggunakan kontrol di antara elemen-elemen perangkat lunak.

Desain harus modular : yaitu bahwa perangkat lunak harus dipartisi secara logika ke dalam elemen-elemen yang melakukan fungsi dan subfungsi khusus. Desain harus berisi data dan abstraksi prosedural. Desain harus membawa ke arah modul (misal subrutin atau prosedur) yang memperlihatkan karakteristik fungsional independent. Desain harus mengarah kepada interface yang mengurangi kompleksitas hubungan antara modulmodul dan dengan lingkunga eksternal. Desain harus didapat dengan menggunakan metode berulang yang dikendalikan oleh informasi yang diperoleh selama analisis persyaratan perangkat lunak. 2. Evolusi desain perangkat lunak Merupakan suatu proses kontinu yang terus berlangsung selama tiga dekade. Kerja desain awal dikonsentrasikan pada kriteria untuk pengembangan program moduler dan metode-metode untuk menyaring arsitektur perangkat lunak dengan cara top-down. Aspek-aspek prosedural dari definisi desain yang tercakup dalam suatu filosofi disebut pemrograman terstruktur. Usaha selanjutnya mengusulkan metode-metode translasi aliran data atau struktur data ke dalam definisi desain. Pendekatan desain yang lebih baru mengusulkan suatu pendekatan orientasi obyek ke derivasi desain. Banyak metode desain yang tumbuh dari kerja tersebut, sedang diaplikasi pada industri. Setiap metode tersebut mempunyai sejumlah karakteristik umum : mekanisme penerjemahan suatu model analisis ke dalam representasi desain. Notasi untuk merepresentasikan komponen-komponen fungsional dan interface-nya. Heuristik bagi penyaringan dan partisi Pedoman bagi penilaian kualitas Desain perangkat lunak berupa model dan proses. Proses desain adalah serangkaian langkah iteratif yang memungkinkan desainer menggambarkan semua aspek perangkat lunak yang dibangun. Model desain adalah ekivalen rencana arsitek untuk sebuah rumah, yang dimulai dengan menyajikan totalitas dari hal yang akan dibangun. Prinsip desain dasar memungkinkan perekayasa perangkat lunak untuk mengendalikan proses desain. Proses desain tidak boleh menderita karena tunnel vision Desain harus dapat ditelusuri sampai model analisis. Desain tidak boleh berulang. Desain harus meminimalkan kesenjangan intelektual di antara perangkat lunak dan masalah yang ada di dunia nyata. Desain harus mengungkap keseragaman dan integrasi.

Desain harus terstruktur untuk mengakomodasi perubahan. Desain harus terstruktur untuk berdegradasi dengan baik, bahkan pada saat data dan event-event menyimpang, atau menghadapi kondisi operasi. Desain bukanlah pengkodean, dan pengkodean bukanlah desain. Desain harus dinilai kualitasnya pada saat desain dibuat, bukan setelah jadi. Desain harus dikaji untuk meminimalkan kesalahan-kesalahan konseptual (semantik). PROSES DESAIN C. Konsep-konsep desain 1. Abstraksi Abstraksi memungkinkan desainer menentukan prosedur dan data, dan masih menekan detail tingkat rendah. Terdapat 3 macam bentuk abstraksi, yaitu : a. Abstraksi prosedural. Merupakan urutan instruksi yang diberi nama yang mempunyai fungsi tertentu dan terbatas. b. Abstraksi data. Kumpulan data yang bernama yang menggambarkan obyek data. c. Abstraksi kontrol. Mengimplikasikan suatu mekanisme kontrol program tanpa menentukan detail-detail internal 2. Penyaringan. Penyaringan stepwise (dengan serangkaian langkah) adalah strategi desain top-down yang diusulkan oleh Wiklaus Wirth. Kajian dari konsep tersebut adalah Pada setiap langkah (penyaringan), satu atau beberapa instruksi dari program yang diberikan didekomposisi ke dalam instruksi-instruksi yang lebih detail. Dekomposisi berurutan atau penyaringan spesifikasi berhenti bila semua instruksi diekspresikan dalam bentuk bahasa pemrograman atau komputer yang mendasar. Jika tugas-tugas disaring, maka data harus disaring juga, didekomposisi atau distruktur, dan adalah wajar untuk menyaring program dan spesifikasi data secara paralel. Abstraksi dan penyaringan adalah konsep kompementer. Kedua konsep tersebut membantu desainer dalam menciptakan suatu model desain lengkap jika desain berkembang. 3. Modularitas Modularitas merupakan atribut tunggal dari perangkat lunak yang memungkinkan sebuah program untuk dikelola secara intelektual. Meyer menyebutkan 5 kriteria yang memungkinkan kita untuk mengevaluasi suatu metode desain dengan merujuk pada kemampuannya untuk menentukan sistem modular yang efektif. a. Dekomposisi modular. b. Komposabilitas modular. c. Kemampuan pemahaman modular. d. Kontinuitas modular. e. Proteksi modular.

4. Arsitektur perangkat lunak Arsitektur perangkat lunak mencakup struktur keseluruhan perangkat lunak dan cara dimana struktur memberikan integrasi konseptual bagi suatu sistem. Shaw dan Garlan menjelaskan sekumpulan properti yang seharusnya ditetapkan sebagai bagian dari desain arsitektural : a. Properti struktural. Menentukan komponen suatu sistem dan cara dimana komponen-komponen tersebut dikemas dan berinteraksi satu dengan yang lain. b. Properti ekstra-fungsional. Menekankan pada bagaimana arsitektur desain memenuhi persyaratan kinerja, kapasitas, reliabilitas, keamanan, adaptibilitas, dan karakteristik sistem yang lain. c. Keluarga dari sistem yang berhubungan. Desain harus memiliki kemampuan untuk memakai lagi blok bangunan arsitektural tersebut. 5. Hirarki Kontrol Hirarki kontrol, disebut juga struktur program merepresentasikan organisasi komponen program serta mengimplikasikan suatu hirarki kontrol. Hirarki kontrol tidak mengimplikasikan aspek prosedural dari perangkat lunak, seperti urutan proses, kejadian/urutan dari keputusan, atau pengulangan operasi. 6. Partisi struktural Struktur progam harus dipartisi baik secara horizontal maupun vertikal. Partisi horizontal menentukan cabang-cabang terpisah dari hirarki modular untuk setiap fungsi program mayor. Keuntungannya : a. menghasilkan perangkat lunak yang lebih mudah diuji. b. Membawa kepada perangkat lunak yang lebih mudah dipelihara. c. Menghasilkan penyebaran efek samping yang lebih sedikit. d. Menghasilkan suatu perangkat lunak yang lebih mudah untuk diperluas. Partisi vertikal menyatakan bahwa kontrol dan kerja harus didistribusikan secara top-down dalam arsitektur program. 7. Struktur data Struktur data adalah representasi dari hubungan logis antara elemen-elemen data individual. 8. Prosedur perangkat lunak Prosedur perangkat lunak berfokus pada detail-detail pemrosesan dari masing-masing modul secara individual. Prosedur harus memberikan spesifikasi yang teliti terhadap pemrosesan, mencakup urutan event, poin-poin keputusan nyata, operasi repetitif, dan organisasi struktur data. 9. Penyembunyian informasi Prinsip penyembunyian informasi menyatakan bahwa bahwa modul ditandai dengan keputusan desain tersembunyi dari semua desain lain.