DASAR REKAYASA PERANGKAT LUNAK PEMODELAN ANALISIS KEBUTUHAN Institut Teknologi Sumatera
DEFINISI MODEL ANALISIS Menurut Ian Sommerville(2011) Model Analisis adalah suatu teknik untuk merepresentasikan sistem ke dalam notasi grafis yang mudah dipahami. Notasi grafis yang digunakan adalah UML (Unified Modeling Language).
ANALISIS KEBUTUHAN Analisis kebutuhan bertujuan untuk : Menentukan karakteristik operasional perangkat lunak Mengindikasikan antar muka perangkat lunak dengan elemen sistem lainnya Menentukan batasan (constrain) dari perangkat lunak Analisis kebutuhan juga memungkinkan software engineer (system analyst atau modeler) untuk : Mengelaborasikan kebutuhan dasar pada tahapan penentuan tasks (pekerjaan) di fase analisis kebutuhan Merancang model yang menggambarkan user scenarios, aktivitas fungsional dan data flow Pada fase pemodelan analisis kebutuhan yang ditekankan adalah adalah what bukan how Output dari pemodelan analisis kebutuhan adalah analysis model dan spesifikasi kebutuhan. Kedua output tersebut memudahkan developer dan customer dalam menilai kualitas perangkat lunak ketika perangkat lunak dikembangkan
PRINSIP-PRINSIP PEMODELAN ANALISIS KEBUTUHAN Beberapa prinsip dalam pemodelan analisis kebutuhan 1. Domain informasi dari sebuah masalah harus jelas dan bisa dipahami 2. Fungsi yang diharapakan dari perangkat lunak harus didefinisikan dengan baik 3. Behaviour dari perangkat lunak harus ditampilkan secara jelas 4. Model yang menggambarkan informasi, fungsi dan behaviour sebaiknya dipartisi ke dalam beberapa bagian yang lebih kecil 5. Analisis kebutuhan dimulai dari informasi dasar kemudian bergerak ke arah detail implementasi
PRINSIP-PRINSIP PEMODELAN ANALISIS KEBUTUHAN 1. Domain informasi meliputi aliran data di dalam sistem, yang keluar dari sistem dan data yang tersimpan 2. Fungsi menyediakan benefit langsung pada pengguna akhir dan juga menyediakan dukungan internal untuk fitur yang terlihat oleh pengguna 3. Behaviour ditentukan oleh interaksi dengan lingkungan eksternal Contoh input diperoleh dari pengguna akhir, kontrol data diperoleh dari sistem eksternal
PRINSIP-PRINSIP PEMODELAN ANALISIS KEBUTUHAN 3. Strategi utama dalam pemodelan analisis kebutuhan : memecah masalah ke dalam beberapa sub masalah yang relatif mudah untuk dipahami. Konsep ini disebut partitioning 4. Esensi dari permasalahan didesripsikan tanpa memikirkan terlalu dalam bagaimana solusi akan diimplementasikan Contoh : Video game membutuhkan instruksi dari pemain Design model hanya mengindikasikan secara umum alat apa yang digunakan untuk menerjemahkan instruksi dari pengguna Contoh: Masukan dari keyboard atau joystick
TUJUAN PEMODELAN ANALISIS KEBUTUHAN Tiga tujuan utama : Mendeskripsikan apa yang menjadi kebutuhan penggunan Menyusun dasar-dasar pembuatan design perangkat lunak Merancang sekumpulan kebutuhan pengguna yang kemudian bisa divalidasi ketika perangkat lunak dikembangkan Menjadi jembatan dari gap antara fungsionalitas sistem dan design perangkat lunak Panduan : Sebaiknya menggunakan antarmuka grafis untuk memudahkan representasi informasi Bedakan antara aspek lojik (esensial) dan aspek fisik (implementasi) Kembangkan suatu cara untuk mengevaluasi antar muka pengguna
MODEL ANALISIS
ELEMEN DARI MODEL ANALISIS Terdiri dari dua pendekatan : 1. Structured Analysis:- Data objects digambarkan dengan cara mendefinisikan atribut dan relasi Processes yang memanipulasi data objects 2. Object Oriented Analysis :- Focuses on the definition of classes and the manner in which they collaborate with one another. UML is predominantly object oriented.
KLASIFIKASI MODEL ANALISIS 1. Scenario-based modeling : use-case, activity 2. Data modeling : diagram relasi entitas / ERD (Entity Relationship Diagram) 3. Class-based modeling : class diagram
ELEMEN MODEL ANALISIS
CONTOH LIMA DIAGRAM UML YANG PALING POPULER 1. Activity diagram : menggambarkan aktivitas dalam pemrosesan data 2. Use case diagram : menggambarkan interaksi antara sistem dan lingkungan di sekitar sistem 3. Sequence diagram : menggambarkan interaksi antara aktor dan sistem dengan komponen 4. Class diagram : menggambarkan kelas objek dalam sistem dan asosiasinya dengan kelas lain 5. State diagram : menggambarkan bagaimana sistem bereaksi terhadap event internal maupun eksternal
DEFINISI USE-CASE DIAGRAM Sebuah model yang mampu menangkap aspek dinamis dari sebuah sistem. Aspek dinamis adalah kondisi dimana sistem sedang beroperasi / berjalan
TUJUAN PEMODELAN MENGGUNAKAN USE-CASE 1. Merumuskan kebutuhan dari perangkat lunak 2. Meninjau sistem / perangkat lunak dari luar 3. Mengidentifikasi faktor internal dan eksternal yang mempengaruhi perangkat lunak 4. Menampilkan interaksi yang dilakukan oleh beberapa aktor
CONTOH DIAGRAM USE-CASE
ELEMEN PADA DIAGRAM USE-CASE 1.Aktor 2.Use Case / Activity 3.Asosiasi 4.Subsystem / Komponen Asosiasi terdiri dari dua elemen : <<extends>> dan <<include>>
<<EXTENDS>> DAN <<INCLUDE>> <<extends>> : Digunakan untuk menggambarkan use-case / activity yang bersifat opsional <<include>> : Digunakan untuk menggambarkan use-case / activity yang wajib dilakukan sebelum activity lainnya
CONTOH PENGGUNAAN INCLUDE
CONTOH PENGGUNAAN EXTEND
BAGAIMANA CARA MENGGAMBAR DIAGRAM USE-CASE? Reminder : Jika melihat ke definisi, use-case merupakan salah satu cara untuk menggambarkan high-level requirement analysis atau analisis kebutuhan pada tingkat tinggi. Artinya hanya activity yang penting saja yang dicantumkan di use-case Step by step dalam menggambar use-case : 1. Tentukan fungsionalitas yang akan ditampilkan sebagai use case 2. Tentukan aktor-aktor yang terlibat 3. Tentukan relationship / asosiasi dari use case dan aktor
LATIHAN Gambarkan diagram use-case untuk mesin atm
ELEMEN SCENARIO-BASED Elemen-elemen dari scenario-based : Use-case Bagaimana aktor eksternal berinteraksi dengan sistem (use-case diagrams; detail template) Functional Bagaimana fungsi-fungsi pada perangkat lunak diproses di dalam sistem (flow charts dan activity diagram) Activity bisa direpresentasikan dalam berbagai tingkat abstraksi
CONTOH CLASS DIAGRAM UNTUK SENSOR Class-based elements Berbagai objek (diperoleh dari skenario) termasuk atribut dan fungsi (digambarkan dengan class diagram)
BEHAVIOURAL ELEMENT - STATE DIAGRAM Behavioral elements Bagaimana sistem merespon berbagai macam event (digambarkan dengan state diagram)
FLOW-ORIENTED ELEMENTS Flow-oriented elements Bagaimana informasi ditransformasikan sebagai flows dalam sistem (digambarkan dengan data flow diagram) Sistem menerima input dalam berbagai macam bentuk; mengaplikasikan untuk mentransformasi input tersebut dan kemudian memproduksi output ke dalam berbagai bentuk
DATA MODELING Model analisis umumnya dimulai dengan data modeling Data model terdiri dari tiga bagian : Data object, Atribut yang mendeskripsikan data object Relationships yang menghubungkan suatu data object dengan lainnya
DATA OBJECT Data object adalah sebuah representasi dari informasi komposit yang bisa dimengerti oleh perangkat lunak Contoh data object : An external entity (e.g., anything that produces or consumes information), A thing (e.g., a report or a display), An occurrence (e.g., a telephone call) Event (e.g., an alarm), A role (e.g., salesperson), An organizational unit (e.g., accounting department), A place (e.g., a warehouse), A structure (e.g., a file).
Contoh Data Object : Orang dan Mobil
DATA ATTRIBUTES Mendefinisikan properti dari data object Satu atau lebih atribut harus didefinisikan sebagai identifier (key value atau unique value) Contoh Data Object Mobil memiliki TNKB (plat) sebagai identifier
RELATIONSHIPS Ambil contoh dua data objects : Buku Toko buku Objek buku dan toko buku saling berkaitan
RELATIONSHIP Dalam kasus sebelumnya, untuk menentukan relationship antara buku dan toko buku, kita harus mengerti peran dari objek buku dan toko buku, Bagaimana cara mengetahui peran? Contoh: Toko buku memesan buku Toko buku menampilkan buku Toko buku menyimpan buku Toko buku menjual buku Toko buku mengembalikan buku
CARDINALITY DAN MODALITY Cardinality adalah elemen tambahan untuk data modeling Notasi objek X berelasi dengan objek Y tidak menyediakan informasi yang cukup Berapa banyak kemunculan objek X dan objek Y disebut cardinality