Rekayasa Perangkat Lunak (Software Engineering)

  Catatan Kuliah Rekayasa Perangkat Lunak (Software Engineering)

  

Software Engineering: A Practitioner’s Approach, 6/e

  

Analisis Kebutuhan

  Analisis Kebutuhan

   Menentukan karakteristik operasional PL

   Menunjukkan antarmuka PL dengan elemen sistem yang lain

   Membuat batasan yang harus dipenuhi PL

  

  Analisis Kebutuhan memungkinkan Software Engineer (disebut analis atau modeler) untuk :

   Memperinci kebutuhan dasar yang dibuat kapda rekayasa kebutuhan sebelumnya

   Membangun model yang dapat menggambarkan skenario user,

aktivitas fungsional, class masalah dan relasinya, sistem dan

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided perilaku class, dan aliran data ketika ditransformasikan.

Sebuah Jembatan

  de scription syste m

analysis

mode l

de sign mode l

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Aturan-Aturan

 Model harus fokus pada masalah atau domain bisnis.

  Tingkat abstraksinya relatif harus lebih tinggi.

   Setiap elemen model analisis sebaiknya memberikan tambahan pada pemahaman keseluruhan kebutuhan PL dan menyediakan wawasan pada domain informasi, fungsi dan perilaku sistem.

   Tunda semua konsideran infrastruktur dan model non fungsional hingga fase desain.

   Minimalisasi rangkaian melalui sistem. 

  Pastikan model analisis menyediakan nilai untuk semua stakeholder.

   Jaga model sesederhana mungkin.

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Analisis Domain

  Analisis domain PL adalah identifikasi, analisis, dan spesifikasi kebutuhan umum dari domain aplikasi tertentu, yang biasanya digunakan kembali pada project lain di dalam domain aplikasi yang sama

[Analisis domain berorientasi objek adalah] identifikasi,

analisis dan spesifikasi kemampuan umum, kemampuan digunakan kembali dalam domain tertentu dalam istilah-istilah objek, class, subassemblies dan framework umum

  Donald Firesmith

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Analisis Domain

 Tentukan domain yang ingin diinvestigasi. 

  Kumpulkan contoh representatif aplikasi pada domain tersebut.

   Analisis setiap aplikasi pada contoh.  Kembangkan model analisis untuk objek.

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Pemodelan Data

  

  Memeriksa objek data secara independen terhadap proses

  

  Fokus perhatikan pada domain data

  

  Membuat sebuah model pada abstraksi level konsumen

  

  Mengindikasikan bagaimana objek data berhubungan satu dengan yang lain These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

What is a Data Object?

  Object

  —something that is described by a set of attributes (data items) and that will be manipulated within the software (system) each instance of an object (e.g., a book) can be identified uniquely (e.g., ISBN #) each plays a necessary role in the system i.e., the system could not function without access to instances of the object each is described by attributes that are themselves data items

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Objek-Objek Umum

  Entitas eksternal (printer, user, sensor) Sesuatu (laporan, display, sinyal) Kejadian atau event (interupsi, alarm) orang (manager, engineer, salesperson)

  Unit organisasi (divisi, tim) tempat (lantai pabrik) struktur (employee record)

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Objek Data dan Atribut

  Sebuah objek data terdiri dari sekumpulan atribut yang bertindak sebagai aspek, kualitas, karakteristik, atau penjelas objek

  object: automobile attributes: make model body type price options code

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Apakah Relationship?

  Relationship

  • – menandakan kaitan, sebuah fakta yang harus diingat oleh sistem, tidak dikomputasi atau diturunkan secara mekanis

  

  several instances of a relationship can exist

  

  objects can be related in many different ways These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Notasi ERD

  Satu bentuk umum: (0, m)

relationship

object object

  1 2 (1, 1) attribute

  Bentuk Umum yang lain: relationship object object

  1

  2 (1, 1) (0, m)

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Membangun Sebuah ERD

  Level 1 —modelkan semua objek data (entitas) dan koneksinya dengan yang lain

  

  Level 2 —modelkan semua entitas dan relasi

  

  Level 3 —modelkan semua entitas, relasi, dan atribut yang menyediakan informasi yang lebih mendalam

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

ERD: sebuah contoh (1,1) (1,m) places Customer

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  request for service generates (1,n) (1,1) work order work tasks materials consists of lists (1,1) (1,w) (1,1) (1,i) selected from standard task table (1,w) (1,1) These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Konsep Object-Oriented

  Harus dipahami untuk menerapkan elemen berbasis class pada model analisis

  

  Konsep-konsep kunci:

   Classes dan objects

   Attributes dan operations  Encapsulation dan instantiation

   Inheritance

  

Class

Pemikiran object-oriented dimulai dengan

  • sebuah class, sering didefinisi sebagai :
    • – template
    • – deskripsi umum ―blueprint‖ ... Menggambarkan sekelompok item
    • – yang mirip

  sebuah metaclass (sering disebut

  • superclass )yang membangun hierarki semua

  class yang ada Sekali sebuah class item ditentukan, instance

  • spesifik dari class tersebut dapat diidentifikasi

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Membangun Class

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Apakah Class?

occurrences roles organizational units things places external entities structures attributes: class name operations:

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Enkapuslasi/Penyembunyian

  Objek mengenkapsulasi Baik data dan prosedur Logis yang dibutuhkan

  method method

  Untuk manipulasi

  # 2 # 1

  data data

  method method # 3 # 6 method method

  # 4 # 5 Achieves ―information hiding‖

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Hierarki Class

PieceOfFurniture (superclass) Table Chair Desk ”Chable" subclasses of the These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided instances of Chair

  

Method

(Operasi, Layanan)

  Prosedur yang terenkapsulasi pada sebuah class dan didesain untuk beroperasi pada satu atau lebih atribut data yang ditentukan sebagai bagian dari class. Method dipanggil melalui pesan

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Model berbasis Scenario

―[Use-cases] adalah bantuan untuk mendefinisikan apa

yang ada pada sistem (aktor) dan apa yang harus dilakukan sistem (use- cases).‖ Ivar Jacobson

  (1) Apa yang harus ditulis? (2) Berapa banyak kita harus menulisnya? (3) Sedetail apa gambaran kita ? (4) Bagaimana kita mengatur deskripsi?

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Use-Cases

  Sebuah skenario yang menggambarkan rangkaian kegunaan pada sistem

   actors mewakili peran orang atau piranti yang

  dimaikan ketika sistem berfungsi

   users dapat berperan sebagai lebih dari satu

  peran dalam sebuah skenario yang ditentukan These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Mengembangkan Use-Case

  Apa tugas atau fungsi utama yang harus dilakukan aktor ? 

  Sistem Informasi seperti apa yang diperlukan, dihasilkan atau diubah oleh aktor ? 

  Apakah aktor harus menginformasikan sistem tentang perubahan dalam lingkungan eksternal? 

  Informasi apa yang diharapkan aktor dari sistem?  Apakah aktor menginginkan diberitahu tentang perubahan yang tidak tersangka?

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Use-Case Diagram

Saf eHome surveillance via t he Access camera Int ernet cameras homeowner Conf igure Saf eHome syst em paramet ers Set alarm

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Activity Diagram

Melengkapi use-case dengan menyediakan representasi diagram dari aliran prosedural. ent er password and user ID selec t major f unc t ion valid passwor ds/ ID prompt f or reent ry invalid passwor ds/ ID input t r ies r em ain

no input

t r ies r em ain

selec t surv eillanc e ot her f unct ions m ay also be select ed t hum bnail views select a specif ic cam er a selec t c amera ic on prompt f or anot her v iew selec t spec if ic c amera - t humbnails exit t his f unct ion see anot her cam er a v iew c amera out put in labelled window

  

Memungkinkan untuk menampilkan aliran aktivitas yang digambarkan oleh use-case, dan di

tanggungjawab terhadap tindakan yang digambarkan oleh kotak aktivitas saat yang sama mengindikasikan aktor yang mana, atau class analisis yang mempunyai

Swimlane Diagrams

ent er pas sword and user ID

h o m e o w n e r c a m e r a i n t e r f a c e

o t h er f u n ct io n s m ay also b e select ed select m ajor f unct ion valid p asswo r d s/ ID prom pt f or reent ry p asswo r d s/ ID in p u t t r ies in valid t h u m b n ail views select surveillance select a sp ecif ic cam er a t r ies r em ain n o in p u t r em ain cam era - t hum bnails select spec if ic select cam era ic on generat e video out put view cam era out put in labelled window f u n ct io n exit t h is anot her view prom pt f or an o t h er cam er a see

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  Pemodelan berorientasi aliran Menampilkan bagaimana objek data ditransformasi ketika mereka bergerak di dalam sistem Sebuah data flow diagram (DFD) merupakan bentuk diagram yang digunakan Walaupun dianggap pendekatan kuno, pemodelan berorientasi aliran menyediakan pandangan unik

terhadap suatu sistem. Dia tetap layak digunakan untuk

mendukung analisis elemen model lainnya.

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Model Aliran

  Setiap sistem berbasis komputer Adalah sebuah transformasi informasi

  computer based system input output These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  Notasi Model Aliran Entitas Eksternal proses Aliran data Penyimpanan data These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Entitas Eksternal

Produsen atau konsumen sebuah data

  Contoh : seseorang, piranti, sensor Contoh lain : sistem berbasis komputer

  Data harus selalu berawal dari suatu tempat dan Harus selalu dikirim pada sesuatu These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Proses

Sebuah transformer data

(mengubah input menjadi output)

  Contoh: menghitung pajak, menentukan luas, Memformat laporan, menampilkan grafik

  Data harus selalu diproses dalam bentuk tertentu Untuk menerima fungsi sistem

Aliran Data Data mengalir melalui sebuah sistem dimulai Sebagai input dan ditransformasi menjadi output base

  

compute

area

triangle

area

height

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Menyimpan Data

Data disimpan untuk digunakan lagi.

look-up

sensor

data

sensor # report required sensor #, type, location, age sensor data sensor number type, location, age

Petunjuk menggambar DFD

  

  Semua icon harus diberi nama yang bermakna jelas

  

  DFD berkembang dalam beberapa tingkatan

  

  Selalu dimulai dengan sebuah context level diagram (level 0)

  

  Selalu menunjukkan entitas eksternal pada level 0

  

  Selalu berinama panah aliran data

   These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided Jangan menampilkan prosedur logika

Membangun sebuah DFD —I

  

  Mereview model data untuk mengisolasi objek data dan gunakan parsing gramatikal untuk menentukan ―Operasi‖

  

  Menentukan entitas eksternal (produsen dan konsumen data)

  

  Membuat level 0 DFD These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  Contoh Level 0 DFD user processing request video source NTSC video signal digital video processor requested video signal monitor

Membangun DFD —II

  

  Tulis sebuah narasi yang menggambarkan transformasi

  

  Parsing untuk menentukan transformasi tingkat berikutnya

  

  ―seimbangkan‖ aliran untuk menjaga aliran data

  

  Bangun level 1 DFD

  

  Gunakan rasio 1:5 (perkiraan) These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Hierarki Aliran Datang

a b P x y level 0 p2 c a f p1 p4 b

  5 d p3 g e level 1

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Catatan untuk DFD

  

  Setiap lingkaran harus dipecah hingga dia hanya melakukan hanya SATU hal

  

  Rasio ekspansi menurun sesuai dengan jumlah level yang meningkat

  

  Kebanyakan sistem membutuhkan antara 3 hingga level 7 untuk model aliran yang cukup.

  

  Sebuah item aliran data (panah) dapat dikembangkan seiring dengan meningkatnya level (data dictionary These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided menyediakan informasi ini) These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  Spesifikasi Proses (PSPEC) PSPEC naratif pseudocode (PDL) persamaan tabel Diagram dan atau grafik Lingkaran

Setelah DFD? analysis model

  Maps into design model

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Control Flow Diagram

 events

  Menggambarkan ― ‖ dan proses yang mengelola event

  

  Sebuah ―event‖ adalah kondisi boolean yang dipastikan dengan :

   Mendaftar semua sensor yang dibaca oleh software.  Mendaftar semua kondisi interupsi.  Mendaftar semua "switches" yang dipicu oleh sebuah operator.  Mendaftar semua kondisi data.  Memanggil kembali parser kata benda/kerja yang diaplikasikan pada narasi proses, mereview semua ―item kendali‖ sebagai These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided input/output CSPEC.

Model Kendali

  • control flow diagram berada ―di atas‖ DFD dan menunjukkan event yang mengendalikan proses-proses yang terdapat pada DFD
  • Aliran kendali—event dan item kendali– ditandai dengan panah putus-putus
  • Sebuah tiang vertikal menggambarkan input menuju atau output dari sebuah control spec (CSPEC) — spesifikasi terpisah yang menggambarkan bagaimana kendali ditangani
  • Sebuah panah putus-putus memasuki tiang vertikal adalah input menuju CSPEC
  • Sebuah panah putus-putus meninggalkan proses menggambarkan kondisi data
  • Sebuah panah putus-patas memasuki sebuah proses menggambarkan sebuah kendali input yang dibaca langsung oleh proses
  • Aliran kendali tidak secara fisik mengaktifkan/menonaktifkan proses, hal ini dilakukan melalui CSPEC

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Control Flow Diagram

  copies done full operator read beeper on/off input manage problem copying light start empty process reload displays create user diagnosis problem perform display panel enabled These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided jammed

Control Specification (CSPEC)

  CSPEC dapat berupa:

  state diagram (sequential spec) state transition table

  combinatorial spec

  decision tables activation tables These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Panduan Membangun CSPEC

Lihat semua sensor yang ―dibaca‖ oleh PL Lihat semua kondisi interupsi

  

Lihat semua "switches" yang diaktifkan oleh operator

Lihat semua kondisi data Melihat parsing kata benda/kerja yang diterapkan pada Statemen software atau lingkupnya, mereview semua item kendali Sebagai input/output CSPEC yang mungkin Menggambarkan perilaku sebuah sistem dengan identifikasi Keadaan; menentukan bagaimana setiap keadaan mencapai dan Menentukan transisi antar keadaan Fokus pada kemungkinan kehilangan/tidak tercantum... Kesalahan umum dalam menentukan kendali, misalnya These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided "Is there any other way I can get to this state or exit from it?"

  

Pemodelan berbasis Class

  Tentukan analisis class dengan memeriksa pernyataan masalah(problem statement)

  

  Gunakan parsing gramatikal untuk memilah class potensial

  

  Kenali atribut tiap class

  

  Kenali operasi yang memanipulasi atribut-atribut tersebut These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Class Analisis

  Entitias external (contoh : sistem lain, piranti, orang) yang menghasilkan atau menggunakan informasi yang digunakan oleh sistem berbasis komputer.

  

Benda (contoh : laporan, display, surat, sinyal) yang merupakan bagian

dari domain informasi untuk masalah.

  

Kejadian atau event (contoh : transfer properti atau pelengkapan urutan

gerakan robot) yang terjadi di dalam konteks sistem operasi.

  

Peran (contoh : manajer, insinyur, sales) yang diperankan orang yang

berinteraksi dengan sistem.

  

Unit Organisasi (contoh : divisi, kelompok, tim) yang relevan terhadap

aplikasi.

   Tempat (contoh : lantai pabrik, pelabuhan muatan) yang membangun konteks masalah dan fungsi keseluruhan sistem.

  

Struktur (contoh : sensor, kendaraan 4WD, komputer) yang terdiri dari

beberapa objek class atau objek-objek class yang terkait

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Kriteria memilih class

Menyimpan informasi Layanan yang dibutuhkan

  Beberapa atribut Atribut umum Operasi umum Kebutuhan esensial

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Class Diagram

Class name sy stemID System verific ationPhoneNumber mas terPassw ord telephoneNumber delayTime sy stemStatus attributes numberTries temporaryPass word reset() display() program() call() modif y() query () operations

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Class Diagram name type FloorPlan change color( ) scale( ) positionFloorplan determineType ( ) outsideDimensions

  is placed wit hin is part of f ieldV iew loc at ion ID panA ngle t y pe Cam er a Wall

wallDim ens ions

t y pe dis play Zoom () dis play ID() dis play V iew() t rans lat eLoc at ion () det erm ineTy pe () Zoom Set t ing is used t o build is used t o build

determineType ( )

computeDimensions ( ) s t opCoordinat es s t art Coordinat es t y pe WallSegm ent s t opCoordinat es s t opCoordinat es s t art Coordinat es s t art Coordinat es t y pe t y pe Window Door is used t o build These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

draw( ) draw( ) draw( )

determineType ( ) nex t WallSem ent determineType ( ) determineType ( ) nex t Window nex t Door

  

Pemodelan CRC

  Class- class analisis memiliki ―tanggung-jawab‖

   Tanggungjawab adalah atribut-atribut dan operasi-operasi yang terenkapsulasi oleh class

  

  Class-class analisis berkolaborasi satu dengan yang lain

   Collaborators adalah class-class yang dibutuhkan untuk menyediakan sebuah class dengan informasi yang dibutuhkan untuk memenuhi tanggung jawabnya.

   Secara umum, sebuah kolaborasi berakibat permintaan informasi atau permintaan beberapa aksi/operasi.

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Pemodelan CRC

Re sponsibility: Clas s: Description: Description: Clas s: Description: Clas s: Description: Clas s: FloorPlan Collaborator: Re sponsibility: Re sponsibility: defines floor plan name/type Re sponsibility: Collaborator: Collaborator: Collaborator: scales f loor plan for display scales f loor plan for display manages floor plan positioning show s position of video cameras Camera incorporates w alls, doors and w indow s Wall

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Tipe-tipe Class

  Class entitas , sering disebut class model atau bisnis, yang

diekstrak langsung dari statemen permasalahan (contoh :

Sensor).

   Class perbatasan digunakan untuk membuat interface

(contoh : layar interaktif, atau laporan cetak) dimana user

melihat dan berinteraksi dengannya selama PL digunakan.

   Class kendali mengelola “unit kerja [UML03] dari awal

sampai akhir. Class kendali dapat didesain mengelola :

   Pembuatan atau update objek entitas;

   Inisiasi objek perbatasan sebagaimana mereka mendapatkan informasi dari objek entitas;

   Komunikasi kompleks antara sekumpulan objek;

   Validasi data yang dikomunikasikan antara user dan aplikasi.

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Responsibilities

  System intelligence should be distributed across classes to best address the needs of the problem

  

  Each responsibility should be stated as generally as possible

  

  Information and the behavior related to it should reside within the same class

  

  Information about one thing should be localized with a single class, not distributed across multiple classes.

  

  Responsibilities should be shared among related classes, when appropriate.

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Kolaborasi

  Class memenuhi tanggung jawabnya dengan satu diantara dua cara : 

  Sebuah class dapat menggunakan operasinya sendiri untuk memanipulasi atributnya masing-masing atau  Sebuah class dapat berkolaborasi dengan class lainnya.

   Kolaborasi membuat relasi antara class

  

Kolaborasi dapat diidentifikasi dengan menentukan apakah sebuah

class dapat memenuhi tanggung jawabnya masing-masing

   Tiga relasi umum yang berbeda antar class [WIR90]:

   is-part-of relationship

   has-knowledge-of relationship

   depends-upon relationship

  

Composite Aggregate Class

Player PlayerHea d PlayerBod y PlayerArms PlayerLe gs

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Review model CRC

  Semua peserta dalam review (model CRC) diberikan sebuah subset dari kartu index model CRC. Kartu yang berkolaborasi harus terpisah (tidak boleh ada reviewer yang memiliki dua kartu yang berkolaborasi).

   Semua skenario use-case (dan diagram use case terkait) harus diorganisasi dalam kategori-kategori .

   Pemimpin review membaca use-case secara hati-hati . Ketika pemimpin review sampai pada objek, dia akan memberi tanda kepada person yang memegang kartu index class yang terkait.

  

Ketika tanda dikirimkan, pemilik kartu class diminta untuk menggambarkan

tanggung jawab yang tertulis di kartu tersebut.

  Kelompok menentukan satu (atau lebih) tanggung jawab yang memenuhi kebutuhan use-case.

   Jika tanggung jawab dan kolaborasi yang tertera pada kartu index tidak

dapat mengakomodasi use-case, modifikasi dilakukan pada kartu tersebut .

  Hal ini termasuk definisi class baru (dan kartu index CRC) atau spesifikasi baru atau revisi mengenai tanggung jawab, atau kolaborasi kartu yang sudah ada.

  

Asosiasi dan Dependensi

  Dua class analisis sering berhubungan satu dengan yang lain dalam beberapa pola

   Dalam UML relasi ini sering disebut asosiasi

   Asosiasi dapat didapatkan dengan mengenali multiplicity (istilah cardinality digunaikan dalam pemodelan data

  

  Dalam banyak instans, relasi client-server ada diantara dua class analisis.

   Dalam kasus ini, class client tergantung pada class server dalam suatu cara dan relasi dependensi terjadi

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Multiplicity

Wall is used to build

  1 1 is used to build 1 is used to build WallSegm ent 1..* Window 0..* 0..* Door

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Dependencies

Camera Displa yWindow

  {passw ord} <<access>>

  

Analisis Paket

  Beberapa model analisis (use-case, class analisis) dikategorisasi dalam sebuah pola yang mempaketkan mereka dalam kelompok 

  Tanda plus di dalam nama class analisis dalam setiap paket menandakan bahwa class-class tersebut mempunyai visibilitas publik dan karena itu dapat diakses dari paket lain.

  

Simbol lain dapat mendahului elemen di dalam paket. Tanda minus

menandakan bahwa elemen disembunyikan dari semua paket, dan

tanda # menandakan bahwa elemen hanya dapat diakses oleh paket yang berada di dalam paket tersebut.

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Analysis Packages

Environment package name +Bridge +Wall +Road +Landscape +Tree +Building +VisualEffect +Scene +ConstraintsOnAction +RulesOfMovement RulesOf TheGame Charact ers +Antagonist +Protagonist +Player

  • SupportingRole

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Pemodelan Perilaku

  Model perilaku menggambarkan bagaimana PL merespon event atau stimulan eksternal. Untuk model tersebut, analis harus melakukan langkah-langkah berikut :

  Evaluasi semua use-case untuk mendapatkan pemahaman menyeluruh tentang urutan interaksi di dalam sistem. Mengenali event yang mengendalikan urutan interaksi dan memahamibagaimana event mempunyai relasi terhadap objek spesifik. Membuat urutan untuk setiap use-case. Membangun state diagram untuk sistem.

  Review model behavioral untuk memverifikasi akurasi dan konsistensi

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Representasi Keadaan

  Dalam konteks pemodelan perilaku, dua karakter keadaan harus diperhatikan :

   Keadaan setiap class ketika sistem menjalankan fungsinya, dan  Keadaan sistem ketika diobservasi dari luar sebagaimana sistem menjalankan fungsinya.

  

  Keadaan class mengambil baik karakter aktif maupun pasif [CHA93].

  

 Sebuah adalah status saat ini dari semua atribut

keadaan pasif objek.

   dari sebuah objek menggambarkan status saat ini Keadaan aktif pada objek tersebut ketika menjalankan transformasi atau These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided proses.

  State Diagram for the ControlPanel Class t imer < lockedTime t imer > lockedTime & numberOfTries < maxTries password = incorrect locked key hit reading password ent ered do: validat ePassw ord comparing numberOfTries > maxTries password = correct select ing act iv at ion successful

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Keadaan-Keadaan Sistem

   state

  —sekumpulan keadaan terobservasi yang menggambarkan perilaku sistem pada satu waktu

   state transition

  —perubahan dari satu keadaan ke keadaan yang lain

   event

  —sebuah kejadian yang menyebabkan sistem melakukan perilaku yang sudah diprediksi sebelumnya

   action

  —proses yang terjadi sebagai konsekuensi membuat transisi These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Pemodelan Perilaku

  

  Membuat daftar keadaan sistem yang berbeda (Bagaimana perilaku sistem ?)

  

  Menggambarkan bagaimana sistem membuat transisi dari satu keadaan ke keadaan yang lain.indicate how the system makes a transition from one state to another (Bagaimana sistem mengubah keadaan?)

   mengenali event

   Mengawali action 

  Menggambar sebuah state diagram atau These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided sequence diagram These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Sequence Diagram

h o meo w n er co n t ro l p an el sen so rs syst em sen so rs syst em read y read in g req u est lo o ku p co mp arin g resu lt p assw o rd en t ered pas s word = c orrec t req u est act ivat io n act ivat io n su ccessfu l A lo cked num berOf Tries > m ax Tries select in g t imer > lo cked Time A

  Figure 8 .2 7 Sequence diagram (part ial) f or Saf eHome securit y f unct ion act ivat io n su ccessfu l

  Menulis Spesifikasi PL Setiap orang harus tahu pasti apa yang harus dilakukan hingga seseorang menuliskannya !

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

  

Tugas

  Buatlah sebuah paper yang menjelaskan tentang UML beserta contoh kasusnya, minimal 15 halaman, spasi 1.5, kertas Quarto, sampul mika biru tua.

  

  Kriteria penilaian :

   Validitas/kebenaran

   Kelengkapan

   Kompleksitas kasus

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Panduan Spesifikasi

  use a layered format that provides increasing detail as the "layers" deepen use consistent graphical notation and apply textual terms consistently (stay away from aliases) be sure to define all acronyms be sure to include a table of contents; ideally, include an index and/or a glossary write in a simple, unambiguous style (see "editing suggestions" on the following pages) always put yourself in the reader's position, "W ould

I be able to understand this if I wasn't intimately

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided familiar with the system?"

Panduan Spesifikasi

  Be on the lookout for persuasive connectors, ask why? keys: certainly, therefore, clearly, obviously, it follows that ... Watch out for vague terms keys: some, sometimes, often, usually,ordinarily, most, mostly ... When lists are given, but not completed, be sure all items are understood keys: etc., and so forth, and so on, such as Be sure stated ranges don't contain unstated assumptions e.g., Valid codes range from 10 to 100. Integer? Real? Hex? Beware of vague verbs such as handled, rejected, processed, ... Beware "passive voice" statements e.g., The parameters are initialized. By what? Beware "dangling" pronouns e.g., The I/O module communicated with the data validation module and its contol flag is set. Whose control flag?

  These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

Panduan Spesifikasi

  When a term is explicitly defined in one place, try substituting the definition forother occurrences of the term When a structure is described in words, draw a picture When a structure is described with a picture, try to redraw the picture to emphasize different elements of the structure When symbolic equations are used, try expressing their meaning in words When a calculation is specified, work at least two examples

Look for statements that imply certainty, then ask for proof

keys; always, every, all, none, never Search behind certainty statements—be sure restrictions These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided or limitations are realistic