INTERAKSI MANUSIA DAN KOMPUTER Proses Desain Rekayasa Perangkat

  • Slides: 54
Download presentation
INTERAKSI MANUSIA DAN KOMPUTER Proses Desain

INTERAKSI MANUSIA DAN KOMPUTER Proses Desain

Rekayasa Perangkat Lunak Rekayasa perangkat lunak merupakan disiplin ilmu yang digunakan untuk memahami proses

Rekayasa Perangkat Lunak Rekayasa perangkat lunak merupakan disiplin ilmu yang digunakan untuk memahami proses desain atau siklus desain. Desain perangkat lunak merupakan proses interaksi melalui “Cetak Biru” yang menggambarkan suatu pandangan menyeluruh dari perangkat lunak yang akan dikembangkan/bangun, meliputi : proses desain pada tingkat abstraksi yang tinggi, yang dapat ditelusuri sampai data spesifik, fungsional dan lainya

Siklus Hidup Perangkat Lunak

Siklus Hidup Perangkat Lunak

Roles Played by the Manager and by the Information Specialist Phase Planning Manager Information

Roles Played by the Manager and by the Information Specialist Phase Planning Manager Information Specialist Define problem Support Analysis Control System Study Design Control Design system Implementation Control Implement system Use Control Make available 1 -4

Phases in the SDLC 1) Planning 2) Analysis 3) Design 4) Implementation 5) Use

Phases in the SDLC 1) Planning 2) Analysis 3) Design 4) Implementation 5) Use 7 -5

Planning Phase Benefits Define Spot scope of the project potential problems Arrange tasks in

Planning Phase Benefits Define Spot scope of the project potential problems Arrange tasks in sequence Provide basis for control 7 -6

Steps 1. Recognize problem (the trigger) 2. Define problem 3. Set objectives 4. Identify

Steps 1. Recognize problem (the trigger) 2. Define problem 3. Set objectives 4. Identify constraints Recall that objectives, standards, and constraints are problem-solving elements. 7 -7

Steps (cont. ) 5. Conduct feasibility study (TENLOS) Technical Economic return Noneconomic return Legal

Steps (cont. ) 5. Conduct feasibility study (TENLOS) Technical Economic return Noneconomic return Legal and ethical Operational Schedule 7 -8

Steps (cont. ) 6. Prepare study project proposal Goes to MIS steering committee 7.

Steps (cont. ) 6. Prepare study project proposal Goes to MIS steering committee 7. Approve or disapprove (go/no go) Key questions? 1. Will the system accomplish its goals? 2. Is this the best way to go about it? 7 -9

Steps (cont. ) 8. Establish a control mechanism Think in terms of: 1. What

Steps (cont. ) 8. Establish a control mechanism Think in terms of: 1. What 2. Who 3. When (Person-months versus calendar months) PERT and CPM network diagrams PERT (Program evaluation and review technique) CPM (Critical Peth Methode) 7 -10

MIS Steering Comm The Planning Phase Manager 1. 2. 3. 4. Systems Analyst Recognize

MIS Steering Comm The Planning Phase Manager 1. 2. 3. 4. Systems Analyst Recognize the problem Define the problem Set system objectives Consult Identify system constraints 5. 6. 7. 8. Conduct a feasibility study Prepare a system study proposal Approve or disapprove the study project Establish a control mechanism 7 -11

MIS Steering Committee 1. The Analysis Phase Manager Systems Analyst Announce the system study

MIS Steering Committee 1. The Analysis Phase Manager Systems Analyst Announce the system study 2. Organize the project team 3. Define information needs 4. Define system performance criteria 5. 6. Approve or disapprove the design project Prepare design proposal 7 -12

MIS Steering Committee Manager Systems Analyst 1. The Design Phase 2. 3. 4. 5.

MIS Steering Committee Manager Systems Analyst 1. The Design Phase 2. 3. 4. 5. 6. Approve or disapprove the system implementation Prepare the detailed design system Identify alternate system configurations Evaluate system configurations Select the best configuration Prepare the implementation proposal 7 -13

The Implementation Phase MIS Steering Committee Information Specialists Manager 1. Plan the implementation 2.

The Implementation Phase MIS Steering Committee Information Specialists Manager 1. Plan the implementation 2. Announce the implementation 3 Obtain the hardware resources 4 Obtain the software resources 5 Control 6 7 8. Prepare the database Prepare the physical facilities Educate the participants and users Cutover the new system 7 -14

The Use Phase MIS Steering Committee Manager 2 1 Control 5 Information Specialists Use

The Use Phase MIS Steering Committee Manager 2 1 Control 5 Information Specialists Use the system Audit the system 3 Maintain the system 4 Prepare reengineering proposal Approve or disapprove the reengineering proposal 7 -15

Siklus Hidup Perangkat Lunak

Siklus Hidup Perangkat Lunak

Siklus Hidup Perangkat Lunak Model air terjun (waterfall)

Siklus Hidup Perangkat Lunak Model air terjun (waterfall)

Siklus Hidup Perangkat Lunak 1. Requirements analysis and spesification Mengumpulkan apa yang dibutuhkan secara

Siklus Hidup Perangkat Lunak 1. Requirements analysis and spesification Mengumpulkan apa yang dibutuhkan secara lengkap untuk kemudian dinalisis guna mendefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun (fase yang harus dikerjakan untuk menghasilkan desain lengkap). 2. System and software desain setelah apa yang dibutuhkan selesai dikumpulkan dan sudah lengkap maka desain kemudian dikerjakan. 3. Implementation and unit testing desain program diterjemahkan kedalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji secara unit. Bekerja dengan baik atau tidak

Siklus Hidup Perangkat Lunak 4. Integration and system testing penyatuan unit-unit program untuk kemudian

Siklus Hidup Perangkat Lunak 4. Integration and system testing penyatuan unit-unit program untuk kemudian diuji secara keseluruhan (system testing) 4. Operation and maintenance mengoperasikan program dilingkungannya dengan melakukan pemeliharaan, seperti penyesuaian atau perubahan untuk adaptasi dengan situasi yang sebenarnya.

KEKURANGAN MODEL WATERFALL KAKU Fase berikutnya dapat dikerjakan apabila fase sebelumnya sudah lengkap Perubahan-Perubahan

KEKURANGAN MODEL WATERFALL KAKU Fase berikutnya dapat dikerjakan apabila fase sebelumnya sudah lengkap Perubahan-Perubahan sulit diakomodasi Pada kenyataanya jarang sekali mitra/pengguna dapat menyusun kebutuhanya secara lengkap Proyek besar sebaiknya dipecah menjadi sub-proyek sehingga dapat dikerjakan di beberapa tempat

Aktifitas Dalam Siklus Hidup Spesifikasi Kebutuhan v Desainer dan pengguna (customer) mencoba untuk menangkap

Aktifitas Dalam Siklus Hidup Spesifikasi Kebutuhan v Desainer dan pengguna (customer) mencoba untuk menangkap apa yang di harapkan pada suatu sistem untuk ada/tersedia v Dapat dinyatakan dalam bahasa alami/sehari-hari atau bahasa yang labih presisi seperti halnya analisis tugas yang akan di sediakan Desain Arsitektur v Deskripsi tingkat tinggi tentang bagaimana suatu sistem akan menyediakan pelayanan yang dibutuhkan v Memilah sistem kedalam komponen-komponen utama sistem dan bagaimana mereka saling berhubungan v Perlu untuk memenuhi baik kebutuhan fungsional maupun yang non fungsional Desain Detail v Penghalusan komponen-komponen arsitektur dan hubungannya untuk mengidentifikasi modul-modul yang akan diimplementasikan secara terpisah v Penghalusan ditentukan oleh kebutuhan-kebutuhan non fungsional

Aktifitas Dalam Siklus Hidup Pengkodean dan Test Unit v Implementasi dan Pengetesan modul-modul individu

Aktifitas Dalam Siklus Hidup Pengkodean dan Test Unit v Implementasi dan Pengetesan modul-modul individu dalam suatu bahasa pemrograman yang dapat dieksekusi Integrasi dan Pengetesan v Mengkombinasikan modul-modul untuk menghasilkan komponen dari deskripsi arsitektur Operasi dan Pemeliharaan v Produk diantarkan kepada pengguna (customer) dan semua masalah / perbaikan disediakan oleh desainer saat produk tersebut masih dipakai v Bagian terbesar dari siklus hidup

Verifikasi dan Vasilidasi Verifikasi v Pendesainan produk secara benar Validasi v Pendesainan produk yang

Verifikasi dan Vasilidasi Verifikasi v Pendesainan produk secara benar Validasi v Pendesainan produk yang benar Jurang formalitas v Validasi akan selalu bergantung pada beberapa perluasan arti subjektif dari bukti yang ada Manajemen dan Masalah Kontrak v Desain dalam konteks komersial dan legal

Model Evaluasi Proses Software

Model Evaluasi Proses Software

Model Evaluasi Proses Software Model evaluasi proses software bersifat iteratif atau mengandung perulangan. Hasil

Model Evaluasi Proses Software Model evaluasi proses software bersifat iteratif atau mengandung perulangan. Hasil proses berupa produk yang semakin lama semakin lengkap hingga versi terlengkap dihasilkan sebagai produk akhir. Dua model dalam evolutionary software process model. <!>Perbaikan dari Model Waterfall yang kaku dan linear. Waterfall cocok dipakai pada Sistem Besar dan dibagi menjadi beberapa sub-proyek.

Incremental Model (evolusionary)

Incremental Model (evolusionary)

Incremental Model a. b. c. d. e. f. g. Kombinasikan elemen-elemen iterasi/perulangan. dari waterfall

Incremental Model a. b. c. d. e. f. g. Kombinasikan elemen-elemen iterasi/perulangan. dari waterfall dengan sifat Elemen-elemen dalam wateerfall dikerjakan dengan hasil yang berupa produk dengan spesifikasi tertentu dan fase berulang hingga menghasilkan produk Final. Produk hasil inkrementasi pertama biasanya adalah produk inti (core product) yaitu produk yang memenuhi kebutuhan dasar. Hasil review akan menjadi bekal untuk pembangunan pada inkrementasi berikutnya. Model ini cocok jika jumlah anggota tim pengembang/pengembang PL tidak cukup. Mampu mengakomodasi perubahan secara fleksibel. Produk yang dihasilkan pada inkrementasi pertama adalah produk yang sudah bisa berfungsi dengan spesifikasi dasar.

2. Spiral Model

2. Spiral Model

Spiral Model Proses digambarkan sebagai spiral. Setiap loop mewakili suatu fase dari proses software.

Spiral Model Proses digambarkan sebagai spiral. Setiap loop mewakili suatu fase dari proses software. Loop paling dalam berfokus pada kelayakan sistem, loop selanjutnya tentang definisis kebutuhan, loop berikutnya lagi berkaitan dengan desain sistem dan seterusnya. Setiap loop dibagi menjadi beberapa sektor : a. Objective settings (menentukan tujuan) Menentukan tujuan dari fase yang ditentukan. Perencanaan sudah disiapkan. b. Risk assesment and reduction (penanganan dan pengurangan resiko). setiap risiko dianalisis secara detail pada sektor ini. Langkah penanganan dilakukan, misalnya membuat prototipe.

Spiral Model c. Development and Validation (Pembangunan dan pengujian) setelah evaluasi risiko maka model

Spiral Model c. Development and Validation (Pembangunan dan pengujian) setelah evaluasi risiko maka model pengembangan sistem dipilih. Misalnya jika resiko user interface dominan maka dibuatkan prototipe user interface. d. Planning proyek dievaluasi atau ditinjau ulang dan diputuskan untuk terus ke fase selanjutnya atai tidak. Pada model spiral, risiko sangat dipertimbangkan. Risiko adalah sesuatu yang mungkin akan mengakibatkan terjadinya kesalahan. Model spiral merupakan pendekatan yang realistis untuk PL berskala besar.

RAD (Rapid Aplication Development) RAD adalah model proses pembangunan PL yang inkremental. RAD menekankan

RAD (Rapid Aplication Development) RAD adalah model proses pembangunan PL yang inkremental. RAD menekankan pendek/singkat. RAD pada siklus mengadopsi pembangunan model waterfall yang dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction Waktu yang singkat adalah batasan yang penting untuk model ini. Jika kebutuhan lengkap dan jelas maka waktu yang dibutuhkan untuk menyelesaikan secara komplet software yang dibuat adalah misalnya 60 sampai 90 hari.

Fase-Fase RAD (Rapid Aplication Development) • • • Business Modelling : Menjawab pertanyaan: Informasi

Fase-Fase RAD (Rapid Aplication Development) • • • Business Modelling : Menjawab pertanyaan: Informasi apa yang mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang mengolah informasi? – (Kebutuhan dari Sistem) Data Modelling : Aliran informasi yang sudah didefinisikan disusun menjadi sekumpulan objek data – (Analisis Kebutuhan dan Data) Pocess Modelling: Objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untuk menjalankan fungsi bisnis. Application Generation: RAD menggunakan komponen program yang sudah ada atau membuat komponen yang bisa digunakan lagi Testing dan Turnover: Komponen yang sudah ada sudah melalui pengujian. Namun demikian komponen baru dan interface harus tetap diuji.

Menggunakan Aturan Desain Aturan desain menyarankan bagaimana meningkatkan tingkat kegunaan

Menggunakan Aturan Desain Aturan desain menyarankan bagaimana meningkatkan tingkat kegunaan

Menggunakan aturan desain Standar v v v v Diatur oleh organisasi nasional atau internasional

Menggunakan aturan desain Standar v v v v Diatur oleh organisasi nasional atau internasional seperti ISO atau BSI untuk memastikan kepastian pemenuhan syarat-syarat tertentu oleh komunitas besar para desainer Standar memerlukan teori mendasar dan secara pelan mengubah teknologi Standar perangkat keras berdasarkan faktor fisiologi atau ergonomi Standar perangkat lunak pada faktor psikologi dan teori kognitif Standar perangkat keras lebih umum digunakan dibandingkan dengan standar perangkat lunak Perangkat keras harga cenderung mahal dan sulit untuk diubah Otoritas tinggi dan level rendah detil ISO 9241 mendefinisikan tingkat kegunaan/daya guna sebagi keefektifan, efisiensi dan kepuasan dengan mana pengguna menyelesaikan suatu tugas

Refresh. . . Daya Guna/ Usability ATRIBUT daya guna terdiri dari: 1. EFEKTIVITAS :

Refresh. . . Daya Guna/ Usability ATRIBUT daya guna terdiri dari: 1. EFEKTIVITAS : q Seberapa tepat, lengkap dan akurat seorang user dapat mencapai tujuan 2. EFISIENSI : q Resource yang dikeluarkan oleh seorang user untuk melakukan dan mencapai tujuan dengan cepat dan tepat tanpa ada pemborosan 3. KEPUASAN : q Respons dari user berupa kenyamanan penggunaan dan sikap positif dalam menggunakan produk. 35

Menggunakan aturan desain Garis Pedoman (guidelines) v v v Lebih bersifat saran dan umum

Menggunakan aturan desain Garis Pedoman (guidelines) v v v Lebih bersifat saran dan umum Banyak buku teks dan laporan penuh berisikan garis pedoman Abstrak dari garis pedoman (prinsip) dapat digunakan selama aktifitas awal siklus hidup Garis pedoman detil (petunjuk gaya – style guides) dapat digunakan selama aktifitas siklus hidup lebih lanjut Pemahaman pembeneran untuk garis pedoman ini akan membantu dalam hal penyelesaian konflik yang terjadi

Rekayasa Tingkat Kegunaan Tes akhir tingkat kegunaan berdasarkan pada pengukuran pengalaman pengguna Rekayasa tingkat

Rekayasa Tingkat Kegunaan Tes akhir tingkat kegunaan berdasarkan pada pengukuran pengalaman pengguna Rekayasa tingkat kegunaan meminta pengukuran tingkat kegunaan spesifik harus dibuat secara eksplisit/jelas sebagai suatu kebutuhan Spesifikasi tingkat kegunaan : v Atribut / prinsip tingkat kegunaan v Konsep pengukuran v Metode pengukuran v Level kekinian/kasus terburuk/level perencanaan/kasus terbaik Permasalahan Spesifikasi tingkat kegunaan membutuhkan level detil yang mungkin tidak bisa didapat di awal desain Pemenuhan spesifikasi tingkat kegunaan tidak berarti harus memenuhi tingkat kegunaan itu sendiri v v

Dasar Pemikiran Desain

Dasar Pemikiran Desain

Dasar Pemikiran Desain Dasar pemikiran desain adalah informasi yang menjelaskan mengapa suatu sistem komputer

Dasar Pemikiran Desain Dasar pemikiran desain adalah informasi yang menjelaskan mengapa suatu sistem komputer seperti itu adanya. 1. Keuntungan-keuntungan dari dasar pemikiran desain: a. Komunikasi melalui siklus hidup b. Penggunaan kembali pengetahuan desain melintasi produk-produk c. Pelaksanaan disiplin desain d. Merepresentasikan argumen untuk nilai yang harus dibayar untuk desain 2. Orientasi proses, menjaga urutan pertimbangan dan pembuatan keputusan 3. Orientasi struktur, penekanan pada struktur post hoc alternatif desain

Teknik-teknik dasar pemikiran desain Sistem informasi berbasis Issue (Issue-based Inf. Sys) Analisis ruang desain

Teknik-teknik dasar pemikiran desain Sistem informasi berbasis Issue (Issue-based Inf. Sys) Analisis ruang desain Berdasar hasil banyak riset Berorientasi proses Struktur hierarki issue-issue Posisi adalah pemecahan potensial issue Argumen memodifikasi hubungan diantara issue Berorientasi struktur Dasar pemikiran psikologis Skenario diobservasi pada sistem Klaim psikologis sistem dibuat secara ekplisit Aspek negatif desain digunakan iterasi desain selanjutnya

Prototipe

Prototipe

Desain Berulang dan Prototype Desain berulang (iteratif) mengatasi permasalahan yang melekat pada kebutuhan yang

Desain Berulang dan Prototype Desain berulang (iteratif) mengatasi permasalahan yang melekat pada kebutuhan yang tidak lengkap dan sebagai bentuk evaluasi daya guna untuk mendapatkan umpan balik dengan membangun dan mengevaluasi Prototype Prototipe v Simulasi atau animasi dari beberapa fitur dari bakal sistem v Berbagai jenis prototipe Ø Throw-away (sekali pakai, buang) Ø Incrementasi (bertingkat) Ø Evolutionary (evolusi) Masalah Manajemen v Waktu v Perencanaan v Fitur non – fungsional v kontrak

Teknik Prototipe Storyboard (papan cerita) v Tidak perlu harus berbasis komputer v Dapat dianimasikan

Teknik Prototipe Storyboard (papan cerita) v Tidak perlu harus berbasis komputer v Dapat dianimasikan Simulasi fungsional terbatas v Beberapa bagian dari fungsionalitas sistem disediakan oleh desainer v Perkakas seperti Hyper. Card banyak dijumpai sekarang ini v Teknik dari Wizard of Oz Peringatan mengenai desain berulang v Kelembaman desain – keputusan yang mulanya buruk akan tetap jadi buruk v Pendiagnosisan permasalahan derajat kegunaan nyata dalam prototipe dan bukan hanya sekedar gejala-gejalanya

Prototype OK? design prototipe Re design Gambar. Prototipe dan evaluasi evaluate done

Prototype OK? design prototipe Re design Gambar. Prototipe dan evaluasi evaluate done

Kertas Mock Ups Kertas mock ups merupakan suatu desain prototipe yang dirancang diatas kertas

Kertas Mock Ups Kertas mock ups merupakan suatu desain prototipe yang dirancang diatas kertas yang meliputi elemen-elemennya. Yang pertama dilakukan desaindan adalah membuat sketsa mengimplementasikannya diatas kertas dikomputer dan memberikan print out yang lebih terperinci. Proses ini penting untuk dilakukan sebelum menggunakan komputer, mengurangi waktu yang digunakan mendesain sistem. untuk

Kertas Mock-Up – Sketsa interaktif

Kertas Mock-Up – Sketsa interaktif

Mengerjakan Prototipe Dalam kasus tertentu working prototipe hanya dibuat dengan menggunakan algoritma yang sederhana.

Mengerjakan Prototipe Dalam kasus tertentu working prototipe hanya dibuat dengan menggunakan algoritma yang sederhana. Menggunakan data fake, seperti gambar bukan video atau lainnya. Teknik wizard of oz untuk menampilkan suatu simulasi interface dan responnya. Working prototipe bertujuan memberikan suatu gambaran tentag sistem yang akan dibangun. Skenario dari suatu prototipe adalah sepertiga dari keseluruhan sistem yang alan dibangun.

Proses Prototype

Proses Prototype

 Vertical prototype Kemampuan sistem hanya ditampilkan sebagian Horizontal Prototype Semua interface ditampilkan tetapi

Vertical prototype Kemampuan sistem hanya ditampilkan sebagian Horizontal Prototype Semua interface ditampilkan tetapi kemampuanya tidak ditampilkan Skenario Prototype Hanya menampilkan sebagian fitur dan fungsi <!> Skenario adalah uraian interaksi manusia dengan komputer dan membantu proses desain yang berfokus pada keperluan user.

Merencanakan Suatu Proyek Aplikasi

Merencanakan Suatu Proyek Aplikasi

Merencanakan suatu Proyek Aplikasi Bila berbicara tentang proyek pemrograman, orang sering membayangkan bahwa semua

Merencanakan suatu Proyek Aplikasi Bila berbicara tentang proyek pemrograman, orang sering membayangkan bahwa semua kerja harus dilakukan dibelakang keyboard, mengetik kode-kode. Bayangan itu memang benar untuk proyek yang berukuran kecil. Namun untuk proyek yang lebih besar, pemrograman tidak mungkin dapat melakukannya dengan langsung duduk mengetikkan kode. Diperlukan suatu perencanaan agar proyek itu dapat sukses. Apa jadinya jika suatu proyek tidak direncanakan terlebih dahulu? Maka kemungkinan yang terjadi antara lain : banyak kode sedikit fitur, banyak bug, banyak waktu yang akan dihabiskan atau kehilangan fitur.

Perencanaan Ada beberapa tipe ide guna memulai suatu proyek : 1. Memperbaiki atau membuat

Perencanaan Ada beberapa tipe ide guna memulai suatu proyek : 1. Memperbaiki atau membuat sesuatu lebih baik, meniru atau memperbaiki sesuatu yang telah dibuat. Dengan berbekal ide ini maka pembuatan proyek akan memerlukan lebih sedikit langkah dan lebih sedikit waktu 2. Ide baru dimana pemrograman akan membuat sesuatu yang benar-benar baru. 3. Kebutuhan pasar yang bisa menjadi hasil dari kombinasi ke dua ide sebelumnya

Dasar Pemrograman Proyek pemrograman selalu dimulai dengan aplikasi dasar guna meletakkan struktur-struktur tambahan. Area

Dasar Pemrograman Proyek pemrograman selalu dimulai dengan aplikasi dasar guna meletakkan struktur-struktur tambahan. Area dasar ini sangat menetukan bentuk interface yang akan dibuat sehingga perlu mendapat perhatian khusus. Alasannya : 1. kode-kode program berasosiasi dengan kejadian ketika aplikasi digunakan. 2. Beberapa informasi atau instruksi diberikan end user waktu memulai penggunaan aplikasi. 3. Kode program yang baik harus bisa dikembangkan pada suatu saat.

Terima Kasih ….

Terima Kasih ….