Desain data adalah aktivitas pertama ( dan beberapa sering mengatakan yang terpenting ) dari empat aktivitas desain yang dilakukan selama rekayasa perangkat lunak. Proses Desain Data Aktivitas utama selama desain data adalah memilih representasi logis dari objek data (struktur data) yang didefinisikan selama tahap definisi persyaratan dan spesifikasi. Proses pemilihan dapat melibatkan analisis algoritmik terhadap struktur alternative untuk menentukan desain yang pling efisien atau hanya melibatkan penggunaan serangkaian modul (sebuah paket) yang memberikan operasi yang diperlukan pada beberapa reprsentsi suatu objek. Prinsip dalam Menentukan dan Mendesain Data • Prinsip analisis sistematik yang di apliksikan pada fungsi dan perilaku seharusnya diaplikasikan juga pada data. • Semua struktur data dan operasi yang akan dilakukan pada masing – masing struktur data harus diidentifikasi • Kamus data harus dibangun dan digunakn untuk menentukan baik data maupun desain program. • Keputusan desain data tingkat rendah harus ditunda sampai akhir proses desain. • Representasi struktur data hanya boleh diketahui oleh modul – modul yang harus menggunkan secara langsung data yang didisikan didalam struktur tersebut. Prinsip dalam Menentukan dan Mendesain Data • Pustaka struktur data danoperasi yang digunakan yang dapat diaplikasikan pada struktur data tersebut harus dikembangkan. • Desain perangkat lunak dan bahasa pemerograman harus mendukung spesifikasi dan realisasi dari tipe – tipe data abstrak. Desain Arsitektur Pengertian Desain Arsitektur Desain arsitektur adalah untuk mengembangkan struktur program modular dan merepresentasikan hubungan control antar modul. Metode desain yang disajikan pada bagian ini mendorong prekayasa perangkat lunak untuk berkosentrasi pada desain arsitektur sebelum mencemaskan masalah perpipaan. Kontributor Desain arsitektur berakar dari konsep esain yang lebih awal yang menekankan pada modularitas [DEN73], desain topdown[WIR71],dan pemerograman terstruktur[DAH72,LIN70]. Steven, Myers, dan Constantine [STE74], adalah perintis desain perangkat lunak yang didasarkan pada aliran data melalui sebuah sistem. Area Aplikasi Masing – masing metode desain mempunyai kelemahan dan kelebihan. Factor seleksi yang penting untuk suatu metode desain adalah luasnya apliksi dimana aplikasi dapat di aplikasikan. Desain berorientasi pada alira dat dapat menyetujui rentang area aplikasi yang luas. Proses Desain Arsitektur 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.