Ian Sommerville Software Engineering System models Ian Sommerville Software Engineering
Tujuan Menjelaskan mengapa konteks dari sistem harus dimodelkan sebagai bagian dari Software Engineering Prosess Untuk Menjelaskan mode behavioural, data modelling, dan modelling object Memperkenalkan notasi UML
Topics covered Context models Behavioural models Data models Object models CASE workbenches
Sistem model Sistem model membantu analyst untuk memahami fungsionalitas sistem dan model digunakan sebagai alat bantu komunikasi ke pelanggan Bermacam model digunakan untuk menyajikan sistem dilihat dari berbagai perspektif External perspektif menunjukkan konteks sistem dan lingkungannya Behavioural perspektif menunjukkan perilaku dari sistem Structural perspektif menjukkan arsitektur data dan sistem
Tipe Model Model proses data menunjukkan bagaimana data diproses pada masing-masing tingkat Model komposisi menjukkan bagaimana entitas terbuat dari entitas yang lain Model Arsitektural menunjukkan komponen utama sub sistem Model Klasisifikasi menjukkan bagaimana entitas memiliki karakteristik yang umum Stimulus/respons model menunjukkan reaksi sistem terhadap suatu event
Model Konteks Model Konteks digunakan untuk mengilustrasikan operasional sistem. Untuk menunukkan apa yang ada pada boundaries sistem Model aristektural menunjukkan sistem dan hubungannya terhadap sistem yang lain
The context of an ATM system
Model proses Model proses menunjukkan proses secara keseluruhan dan menunjukkan proses yang didukung/dilayani oleh sistem Model aliran data digunakan untuk menukkan proses dan aliran informasi dari satu proses ke proses yang lain
Equipment procurement process
Behavioural models Model behavioural digunakan untuk menjelaskan perilaku sistem secara keseluruhan 2 tipe model behavioural Model data prosessing yang menunjukkan bagaimana data di proses dan bergerak dalam sistem State machine model menunjukkan respon sistem ketika terdapat events
Data-processing models DFD memungkinankan untuk digunakan sebagai model pemrosesan data sistem Menunjukkan langkah2 pemrosesan ketika data mengalir pada sebuah sistem Merupakan bagian dari metode analisis Notasi sederhana sehingga dapat dipahami customers Menunjukkan end-to-end pemrosesan data
Order processing DFD
Data flow diagrams DFD melakukan pemodelan sistem dari sudut pandang fungsional Melacak dan mendokumentasikan bagaimana data diasosiasikan dengan proses yang membantu pengembangan dan pemahaman dari sistem secara keseluruhan DFD digunakan untuk melihat pertukaran data antar sistem dengan sistem lain pada lingkungannya
Insulin pump DFD
State machine models Memodelkan perilaku dari sistem sebagai respon terhadap event eksternal atau internal. Menunjukkan respon sistem terhadap stimulus yang diberikan ( lebih cocok digunakan untuk pemodelan sistem real time ) Statecharts sebagai bagian dari UML dan digunakan juga mada state machine models
Statecharts Membuat dekomposisi model menjadi beberapa sub models (see following slide). Penjelasan singkat sebuah actions diikut juga ‘do’ pada tiap tahapan. Dapat ditambahkan tabel yang menjelaskan tiap tahap dan stimuli
Microwave oven model
Microwave oven state description
Microwave oven stimuli
Microwave oven operation
Semantic data models Digunakan untuk menjelaskan struktur logical dari data yang diproses sistem Kelompok Entity-relation-attribute model hubungan antar entitas dan atribut entitas Digunakan pada desain database, dapat dibaca dan diimplementasikan dengan menggunakan database relasional
Library semantic model
Data dictionaries Data dictionaries adalah sekumpulan nama yang digunakan pada model sistem. Penjelasan Entitas, hubungannya dan atribut Advantages Mendukung manajemen nama dan menghindari duplikasi Menyimpan pengetahuan tentang organisasi, analisis hubungan, desain dan implementasi CASE workbenches rata-rata mendukung dictionaries data
Data dictionary entries
Model Object Model object menjelaskan system berdasar kelas object dan asosiasinya Object class adalah abstraksi dari beberapa object yang memiliki kesaamaan atribut dan service yang disediakan oleh object Various object models may be produced Inheritance models; Aggregation models; Interaction models.
Model Inheritance Melakukan organisasi domain kelas object pada hirarki untuk merefleksikan kemiripan fitur dari masing-masing kelas Kelas object mewariskan atribut dan layanan ke satu atau lebih super class
Object models dan UML UML adalah representasi standard yang digunakan oleh pengembang untuk analisis object oriented dan metode desain Menjadi standar yang efektif untuk pemodelan OO Notation Kelas object berbentuk kotak dengan nama diatas, atribut ditengah dan operasi pada bagian bawah Relasi antar kelas object ( associations ) ditunjukkan dengan garis yang menghubungkan object Inheritance digambarkan pada panah ke atas pada hirarki
Library class hierarchy
User class hierarchy
Multiple inheritance Daripada mewariskan atribut dan layanan dari kelas single parent, Sistem yang mendukung inheritance mengijinkan kelas object untuk menjadi waris dari beberapa super class Multiple inheritance membuat hirarki reorganisasi kelas semakin rumit
Multiple inheritance
Object aggregation Di samping membutuhkan atribut dan layanan melalui hubungan inheritansi dengan obyek lain. Beberapa obyek terbuat dari obyek lain. Artinya suatu obyek merupakan agregat ( kumpulan ) dari satu set objek lainnya. Kelas yang merepresentasikan objek ini dapat dimodelkan dengan meunggunakan model agregasi obyek
Object aggregation
Object behaviour modelling Model perilaku yang menunjukan interaksi antar object untuk menggambarkan perilaku sistem yang dispesifikasikan sebagai use case Sequence diagram ( diagram kolaborasi ) pada UML digunakan untuk memodelkan interaksi antar objek
Issue of electronic items
CASE workbenches A coherent set of tools that is designed to support related software process activities such as analysis, design or testing. Analysis and design workbenches support system modelling during both requirements engineering and system design. These workbenches may support a specific design method or may provide support for a creating several different types of system model.
An analysis and design workbench
Analysis workbench components Diagram editors Model analysis and checking tools Repository and associated query language Data dictionary Report definition and generation tools Forms definition tools Import/export translators Code generation tools
Key points A model is an abstract system view. Complementary types of model provide different system information. Context models show the position of a system in its environment with other systems and processes. Data flow models may be used to model the data processing in a system. State machine models model the system’s behaviour in response to internal or external events
Key points Semantic data models describe the logical structure of data which is imported to or exported by the systems. Object models describe logical system entities, their classification and aggregation. Sequence models show the interactions between actors and the system objects that they use. Structured methods provide a framework for developing system models.