IF2036 Rekayasa Perangkat Lunak
           Class-based Modeling
                  Sem II 2012/2013
Class-based Modeling
   Apa yang dimodelkan?
   Apa saja elemen class model?
   Bagaimana cara membuatnya? Apa tahapannya?




       2                IF2036 RPL - Class-based Modeling
Class-based Modeling
   Represents objects system manipulates, operations applied to
    objects, and collaborations occurring between classes

   Elements of class model include: classes, objects, attributes,
    operations, CRC models, collaboration diagrams, and
    packages




        3                   IF2036 RPL - Class-based Modeling
Tahapannya:
   Identifikasi Kelas
   Menentukan Atribut
   Menentukan Operasi
   Menentukan Hubungan Antar Kelas
   Membuat Diagram Kelas
   Membuat Diagram Paket (jika perlu)




       4                 IF2036 RPL - Class-based Modeling
Identifying Analysis Classes
   Examine the problem statement and try to find nouns
    that fit the following categories and produce or consume
    information (i.e. grammatical parse)
       External entities (systems, devices, people)
       Things (e.g. reports, displays, letters, signals)
       Events occurring during system operation
       Roles (e.g. manager, engineer, salesperson)
       Organizational units (e.g. division, group, team)
       Places
       Structures (e.g. sensors, vehicles, computers)


          5                     IF2036 RPL - Class-based Modeling
Class Selection Criteria
   Contains information that should be retained
   Provides needed services
   Contains multiple attributes
   Has common set of attributes that apply to all class instances
   Has common set of operations that apply to all object
    instances
   Represents external entity that produces or consumes
    information




        6                  IF2036 RPL - Class-based Modeling
Analysis Classes
 Entity classes extracted directly from problem statement
  (things stored in a database and persist throughout
  application)
 Boundary classes used to create the interface that user
  sees and interacts with as software is used
 Controller classes manage unit of work from start to
  finish
       Create or update entity objects
       Instantiate boundary objects
       Complex communication between sets of objects
       Validation of data communicated between actors


          7                  IF2036 RPL - Class-based Modeling
Specifying Class Attributes

   Examine the processing narrative or use-case and select the
    things that reasonably can belong to each class

   Ask what data items (either composite or elementary) fully
    define this class in the context of the problem at hand?




        8                 IF2036 RPL - Class-based Modeling
Defining Operations
    Look at the verbs in the processing narrative and identify
    operations reasonably belonging to each class that (i.e.
    grammatical parse)
       manipulate data
       perform computation
       inquire about the state of an object
       monitor object for occurrence of controlling event
 Divide operations into sub-operations as needed
 Also consider communications that need to occur
  between objects and define operations as needed

          9                   IF2036 RPL - Class-based Modeling
Class
     Class name
                              System
                  systemID
                  verificationPhoneNumber
                  systemStatus                        attributes
                  delayTime
                  telephoneNumber
                  masterPassword
                  temporaryPassword
                  numberTries



                  program()
                  display()
                  reset()
                  query()                              operations
                  modify()
                  call()




10                IF2036 RPL - Class-based Modeling
Class Diagram                                                                  type
                                                                               name
                                                                                      FloorPlan


                                                                               outsideDimensions


                                                                               determineType ( )
                                                                               positionFloorplan
                                                                               scale( )
                                                                               change color( )




                                                      is placed wit hin

                                                                                                            is part of




                                     Cam era                                                          Wall

                            t ype                                                       t ype
                            ID                                                          wallDim ens ions
                            loc at ion
                            f ieldV iew
                            panA ngle
                            Zoom Set t ing
                                                                                        determineType ( )
                                                                                        computeDimensions ( )
                            det erm ineType ()
                            t ranslat eLocat ion ()
                            dis play ID()
                            dis play V iew()
                            dis play Zoom ()
                                                                        is used t o build                                is used t o build

                                                                                                              is used t o build

                                                              WallSegm ent                          Window                               Door

                                                        t y pe                              t ype                             t y pe
                                                        s t art Coordinat es                s t art Coordinat es              s t art Coordinat es
                                                        s t opCoordinat es                  s t opCoordinat es                s t opCoordinat es
                                                        next WallSem ent                    nex t Window                      next Door


                                                        determineType ( )                   determineType ( )                determineType ( )
                                                        draw( )                             draw( )                          draw( )



   11           IF2036 RPL - Class-based Modeling
CRC
   Apakah itu?
   Untuk apa?
   Apa isinya?




       12         IF2036 RPL - Class-based Modeling
Class-Responsibility-Collaborator (CRC)
Modeling

   Develop a set of index cards that represent the system classes
   One class per card
   Cards are divide into three sections (class name, class
    responsibilities, class collaborators)
   Once a complete CRC card set is developed it is reviewed
    examining the usage scenarios




        13                IF2036 RPL - Class-based Modeling
CRC Modeling

Class:
  Class:
Description:
    Class:
  Description: FloorPlan
      Class:
    Description:
Responsibility:
      Description:                    Collaborator:
 Responsibility:                       Collaborator:
    Responsibility:                       Collaborator:
      Responsibility:                          Collaborator:
     defines floor plan name/type
     manages floor plan positioning
     scales floor plan for display
     scales floor plan for display
     incorporates walls, doors and windows      Wall
     shows position of video c ameras           Camera




14                                      IF2036 RPL - Class-based Modeling
Allocating Responsibilities to Classes
   Distribute system intelligence evenly
   State each responsibility as generally as possible
   Information and its related behaviors should reside within the
    same class
   Localize all information about one thing in a single class
   Share responsibilities among related classes when appropriate




        15                 IF2036 RPL - Class-based Modeling
Collaborations
   Any time a class cannot fulfill a responsibility on its own it
    needs to interact with another class
   A server object interacts with a client object to fulfill some
    responsibility




        16                  IF2036 RPL - Class-based Modeling
Collaborations (2)
   Classes fulfill their responsibilities in one of two ways:
        A class can use its own operations to manipulate its own attributes, thereby fulfilling a particular
        responsibility, or
       a class can collaborate with other classes.
   Collaborations identify relationships between classes
   Collaborations are identified by determining whether a class can fulfill each responsibility
    itself
   three different generic relationships between classes [WIR90]:
       the is-part-of relationship
       the has-knowledge-of relationship
       the depends-upon relationship




           17                               IF2036 RPL - Class-based Modeling
Composite Aggregate Class
                                   Player




         PlayerHead   PlayerBody            PlayerArms   PlayerLegs




    18                 IF2036 RPL - Class-based Modeling
Associations and Dependencies
   Two analysis classes are often related to one another in some
    fashion
        In UML these relationships are called associations
       Associations can be refined by indicating multiplicity (the term
        cardinality is used in data modeling
   In many instances, a client-server relationship exists between
    two analysis classes.
       In such cases, a client-class depends on the server-class in some way
        and a dependency relationship is established




          19                    IF2036 RPL - Class-based Modeling
Multiplicity
                                        Wall




                                 1     1       1

              is used to build                       is used to build

       1..*                           0..* is used to build   0..*

     WallSegm ent            Window                  Door




20                                    IF2036 RPL - Class-based Modeling
Dependencies



     DisplayWindow                         Camera

                     <<access>>

                              {password}




21                    IF2036 RPL - Class-based Modeling
Reviewing CRC Models
    Each review participant is given a subset of the CRC cards
    (collaborating cards must be separated)
   All use-case scenarios and use-case diagrams should be organized
    into categories
   Review leader chooses a use-case scenario and begins reading it out
    loud
   Each time a named object is read a token is passed to the reviewer
    holding the object's card
   When the reviewer receives the token, he or she is asked to
    describe the responsibilities listed on the card
   The group determines whether one of the responsibilities on the
    card satisfy the use-case requirement or not
   If the responsibilities and collaborations on the index card cannot
    accommodate the use-case requirements then modifications need
    to be made to the card set
        22                  IF2036 RPL - Class-based Modeling
Analysis Packages
   Categorization is an important part of analysis modeling
   Analysis packages are made up of classes having the same
    categorization
   In class diagrams visibility of class elements can be indicated
    using a + (public), - (private), # (package)




        23                  IF2036 RPL - Class-based Modeling
Analysis Packages
                                   package name

     Environment
      +Tree
      +Landscape
      +Road
      +Wall
      +Bridge
      +Building                          RulesOf TheGame
      +VisualEffect
      +Scene                             +RulesOfMovement
                                         +ConstraintsOnAction




               Charact ers

                 +Player
                 +Protagonist
                 +Antagonist
                 +SupportingRole




24                     IF2036 RPL - Class-based Modeling
Latihan
 Akan dibangun sebuah perangkat lunak untuk mendukung proses
 pendaftaran ulang mahasiswa secara online. Melalui aplikasi tersebut,
 mahasiswa dapat mengajukan usulan pengambilan matakuliah.
 Selanjutnya, dosen wali dapat melihat usulan pengambilan matakuliah
 untuk disetujui/ditolak. Usulan yang ditolak dapat direvisi kembali
 oleh mahasiswa.
 Usulan yang telah disetujui wali dapat langsung diproses oleh Petugas
 Administrasi untuk pencetakan KSM. KSM hanya bisa dicetak apabila
 status pembayaran SPP mahasiswa sudah beres. Informasi status
 pembayaran SPP diperoleh dari perangkat lunak lain yaitu SISKEU
 (Sistem Informasi Keuangan). Perangkat lunak ini juga akan
 berhubungan dengan perangkat lunak SIKAD (Sistem Informasi
 Akademik) untuk mendapatkan informasi tentang matakuliah yang
 ditawarkan pada semester tersebut, serta informasi transkrip nilai
 mahasiswa, agar dosen wali mendapatkan referensi untuk
 menyetujui/menolak usulan pengambilan matakuliah.
     25                  IF2036 RPL - Class-based Modeling
Kandidat Kelas ?
 Akan dibangun sebuah perangkat lunak untuk mendukung proses
 pendaftaran ulang mahasiswa secara online. Melalui aplikasi tersebut,
 mahasiswa dapat mengajukan usulan pengambilan matakuliah.
 Selanjutnya, dosen wali dapat melihat usulan pengambilan matakuliah
 untuk disetujui/ditolak. Usulan yang ditolak dapat direvisi kembali
 oleh mahasiswa.
 Usulan yang telah disetujui wali dapat langsung diproses oleh Petugas
 Administrasi untuk pencetakan KSM. KSM hanya bisa dicetak apabila
 status pembayaran SPP mahasiswa sudah beres. Informasi status
 pembayaran SPP diperoleh dari perangkat lunak lain yaitu SISKEU
 (Sistem Informasi Keuangan). Perangkat lunak ini juga akan
 berhubungan dengan perangkat lunak SIKAD (Sistem Informasi
 Akademik) untuk mendapatkan informasi tentang matakuliah yang
 ditawarkan pada semester tersebut, serta informasi transkrip nilai
 mahasiswa, agar dosen wali mendapatkan referensi untuk
 menyetujui/menolak usulan pengambilan matakuliah.
     26                  IF2036 RPL - Class-based Modeling
Kandidat Kelas
 Akan dibangun sebuah perangkat lunak untuk mendukung proses
 pendaftaran ulang mahasiswa secara online. Melalui aplikasi tersebut,
 mahasiswa dapat mengajukan usulan pengambilan matakuliah.
 Selanjutnya, dosen wali dapat melihat usulan pengambilan matakuliah
 untuk disetujui/ditolak. Usulan yang ditolak dapat direvisi kembali
 oleh mahasiswa.
 Usulan yang telah disetujui wali dapat langsung diproses oleh Petugas
 Administrasi untuk pencetakan KSM. KSM hanya bisa dicetak apabila
 status pembayaran SPP mahasiswa sudah beres. Informasi status
 pembayaran SPP diperoleh dari perangkat lunak lain yaitu SISKEU
 (Sistem Informasi Keuangan). Perangkat lunak ini juga akan
 berhubungan dengan perangkat lunak SIKAD (Sistem Informasi
 Akademik) untuk mendapatkan informasi tentang matakuliah yang
 ditawarkan pada semester tersebut, serta informasi transkrip nilai
 mahasiswa, agar dosen wali mendapatkan referensi untuk
 menyetujui/menolak usulan pengambilan matakuliah.
     27                  IF2036 RPL - Class-based Modeling
Kandidat Kelas
   Pendaftaran  bisa jadi atribut Mahasiswa
   Mahasiswa
   Usulan pengambilan  FRS
   Matakuliah
   Wali
   Petugas Adm  di luar sistem
   Pencetakan
   KSM  sama dg FRS tetapi statusnya beda
   Status Pembayaran  jadi atribut
   Kelas dibuka
   SIKAD  di luar sistem
   SISKEU  di luar sistem
   Transkrip  Kumpulan Nilai

        28                 IF2036 RPL - Class-based Modeling
Kandidat Kelas
   Entity Classes:
       Mahasiswa
       Wali
       Matakuliah
       Kelas_dibuka
       Usulan  FRS
       KSM
   Controller Classes:
       PendaftaranController
       TranskripManager
       ...
   Boundary Classes:
       FormEntriFRS
       TranskripDisplay
       ....

          29                    IF2036 RPL - Class-based Modeling
Hubungan antar kelas – Diagram Kelas
(potongan)


          Form                                             FRS
         EntriFRS


                        Pendaftaran
                        Controller




    Mahasiswa                Wali                       MataKuliah




   30               IF2036 RPL - Class-based Modeling
Atribut
   Mahasiswa:
       NIM
       Nama
       Alamat
       Tgl_Lahir
       Status_Daftar
   FRS
       Sem
       Tahun
       Kd_kul1
       Kelas1
       Kd_kul2
       Kelas2
       ...


          31            IF2036 RPL - Class-based Modeling
Operasi
   Mahasiswa
       DaftarUlang()
       Cuti()
       GantiAlamat()
   FRS
       TambahUsulan()
       HapusUsulan()
       UbahUsulan()
       MintaPersetujuan()




          32                 IF2036 RPL - Class-based Modeling
Tugas Lanjutan PL Kantin ITB
(Selasa 5 Maret 2013)
   Identifikasi kelas-kelas analisisnya
   Lengkapi dengan atribut dan operasinya
   Gambarkan diagram kelasnya
   Gambarkan diagram package-nya (jika perlu)




       33                IF2036 RPL - Class-based Modeling

If2036 class based-modeling

  • 1.
    IF2036 Rekayasa PerangkatLunak Class-based Modeling Sem II 2012/2013
  • 2.
    Class-based Modeling  Apa yang dimodelkan?  Apa saja elemen class model?  Bagaimana cara membuatnya? Apa tahapannya? 2 IF2036 RPL - Class-based Modeling
  • 3.
    Class-based Modeling  Represents objects system manipulates, operations applied to objects, and collaborations occurring between classes  Elements of class model include: classes, objects, attributes, operations, CRC models, collaboration diagrams, and packages 3 IF2036 RPL - Class-based Modeling
  • 4.
    Tahapannya:  Identifikasi Kelas  Menentukan Atribut  Menentukan Operasi  Menentukan Hubungan Antar Kelas  Membuat Diagram Kelas  Membuat Diagram Paket (jika perlu) 4 IF2036 RPL - Class-based Modeling
  • 5.
    Identifying Analysis Classes  Examine the problem statement and try to find nouns that fit the following categories and produce or consume information (i.e. grammatical parse)  External entities (systems, devices, people)  Things (e.g. reports, displays, letters, signals)  Events occurring during system operation  Roles (e.g. manager, engineer, salesperson)  Organizational units (e.g. division, group, team)  Places  Structures (e.g. sensors, vehicles, computers) 5 IF2036 RPL - Class-based Modeling
  • 6.
    Class Selection Criteria  Contains information that should be retained  Provides needed services  Contains multiple attributes  Has common set of attributes that apply to all class instances  Has common set of operations that apply to all object instances  Represents external entity that produces or consumes information 6 IF2036 RPL - Class-based Modeling
  • 7.
    Analysis Classes  Entityclasses extracted directly from problem statement (things stored in a database and persist throughout application)  Boundary classes used to create the interface that user sees and interacts with as software is used  Controller classes manage unit of work from start to finish  Create or update entity objects  Instantiate boundary objects  Complex communication between sets of objects  Validation of data communicated between actors 7 IF2036 RPL - Class-based Modeling
  • 8.
    Specifying Class Attributes  Examine the processing narrative or use-case and select the things that reasonably can belong to each class  Ask what data items (either composite or elementary) fully define this class in the context of the problem at hand? 8 IF2036 RPL - Class-based Modeling
  • 9.
    Defining Operations   Look at the verbs in the processing narrative and identify operations reasonably belonging to each class that (i.e. grammatical parse)  manipulate data  perform computation  inquire about the state of an object  monitor object for occurrence of controlling event  Divide operations into sub-operations as needed  Also consider communications that need to occur between objects and define operations as needed 9 IF2036 RPL - Class-based Modeling
  • 10.
    Class Class name System systemID verificationPhoneNumber systemStatus attributes delayTime telephoneNumber masterPassword temporaryPassword numberTries program() display() reset() query() operations modify() call() 10 IF2036 RPL - Class-based Modeling
  • 11.
    Class Diagram type name FloorPlan outsideDimensions determineType ( ) positionFloorplan scale( ) change color( ) is placed wit hin is part of Cam era Wall t ype t ype ID wallDim ens ions loc at ion f ieldV iew panA ngle Zoom Set t ing determineType ( ) computeDimensions ( ) det erm ineType () t ranslat eLocat ion () dis play ID() dis play V iew() dis play Zoom () is used t o build is used t o build is used t o build WallSegm ent Window Door t y pe t ype t y pe s t art Coordinat es s t art Coordinat es s t art Coordinat es s t opCoordinat es s t opCoordinat es s t opCoordinat es next WallSem ent nex t Window next Door determineType ( ) determineType ( ) determineType ( ) draw( ) draw( ) draw( ) 11 IF2036 RPL - Class-based Modeling
  • 12.
    CRC  Apakah itu?  Untuk apa?  Apa isinya? 12 IF2036 RPL - Class-based Modeling
  • 13.
    Class-Responsibility-Collaborator (CRC) Modeling  Develop a set of index cards that represent the system classes  One class per card  Cards are divide into three sections (class name, class responsibilities, class collaborators)  Once a complete CRC card set is developed it is reviewed examining the usage scenarios 13 IF2036 RPL - Class-based Modeling
  • 14.
    CRC Modeling Class: Class: Description: Class: Description: FloorPlan Class: Description: Responsibility: Description: Collaborator: Responsibility: Collaborator: Responsibility: Collaborator: Responsibility: Collaborator: defines floor plan name/type manages floor plan positioning scales floor plan for display scales floor plan for display incorporates walls, doors and windows Wall shows position of video c ameras Camera 14 IF2036 RPL - Class-based Modeling
  • 15.
    Allocating Responsibilities toClasses  Distribute system intelligence evenly  State each responsibility as generally as possible  Information and its related behaviors should reside within the same class  Localize all information about one thing in a single class  Share responsibilities among related classes when appropriate 15 IF2036 RPL - Class-based Modeling
  • 16.
    Collaborations  Any time a class cannot fulfill a responsibility on its own it needs to interact with another class  A server object interacts with a client object to fulfill some responsibility 16 IF2036 RPL - Class-based Modeling
  • 17.
    Collaborations (2)  Classes fulfill their responsibilities in one of two ways:  A class can use its own operations to manipulate its own attributes, thereby fulfilling a particular responsibility, or  a class can collaborate with other classes.  Collaborations identify relationships between classes  Collaborations are identified by determining whether a class can fulfill each responsibility itself  three different generic relationships between classes [WIR90]:  the is-part-of relationship  the has-knowledge-of relationship  the depends-upon relationship 17 IF2036 RPL - Class-based Modeling
  • 18.
    Composite Aggregate Class Player PlayerHead PlayerBody PlayerArms PlayerLegs 18 IF2036 RPL - Class-based Modeling
  • 19.
    Associations and Dependencies  Two analysis classes are often related to one another in some fashion  In UML these relationships are called associations  Associations can be refined by indicating multiplicity (the term cardinality is used in data modeling  In many instances, a client-server relationship exists between two analysis classes.  In such cases, a client-class depends on the server-class in some way and a dependency relationship is established 19 IF2036 RPL - Class-based Modeling
  • 20.
    Multiplicity Wall 1 1 1 is used to build is used to build 1..* 0..* is used to build 0..* WallSegm ent Window Door 20 IF2036 RPL - Class-based Modeling
  • 21.
    Dependencies DisplayWindow Camera <<access>> {password} 21 IF2036 RPL - Class-based Modeling
  • 22.
    Reviewing CRC Models   Each review participant is given a subset of the CRC cards (collaborating cards must be separated)  All use-case scenarios and use-case diagrams should be organized into categories  Review leader chooses a use-case scenario and begins reading it out loud  Each time a named object is read a token is passed to the reviewer holding the object's card  When the reviewer receives the token, he or she is asked to describe the responsibilities listed on the card  The group determines whether one of the responsibilities on the card satisfy the use-case requirement or not  If the responsibilities and collaborations on the index card cannot accommodate the use-case requirements then modifications need to be made to the card set 22 IF2036 RPL - Class-based Modeling
  • 23.
    Analysis Packages  Categorization is an important part of analysis modeling  Analysis packages are made up of classes having the same categorization  In class diagrams visibility of class elements can be indicated using a + (public), - (private), # (package) 23 IF2036 RPL - Class-based Modeling
  • 24.
    Analysis Packages package name Environment +Tree +Landscape +Road +Wall +Bridge +Building RulesOf TheGame +VisualEffect +Scene +RulesOfMovement +ConstraintsOnAction Charact ers +Player +Protagonist +Antagonist +SupportingRole 24 IF2036 RPL - Class-based Modeling
  • 25.
    Latihan Akan dibangunsebuah perangkat lunak untuk mendukung proses pendaftaran ulang mahasiswa secara online. Melalui aplikasi tersebut, mahasiswa dapat mengajukan usulan pengambilan matakuliah. Selanjutnya, dosen wali dapat melihat usulan pengambilan matakuliah untuk disetujui/ditolak. Usulan yang ditolak dapat direvisi kembali oleh mahasiswa. Usulan yang telah disetujui wali dapat langsung diproses oleh Petugas Administrasi untuk pencetakan KSM. KSM hanya bisa dicetak apabila status pembayaran SPP mahasiswa sudah beres. Informasi status pembayaran SPP diperoleh dari perangkat lunak lain yaitu SISKEU (Sistem Informasi Keuangan). Perangkat lunak ini juga akan berhubungan dengan perangkat lunak SIKAD (Sistem Informasi Akademik) untuk mendapatkan informasi tentang matakuliah yang ditawarkan pada semester tersebut, serta informasi transkrip nilai mahasiswa, agar dosen wali mendapatkan referensi untuk menyetujui/menolak usulan pengambilan matakuliah. 25 IF2036 RPL - Class-based Modeling
  • 26.
    Kandidat Kelas ? Akan dibangun sebuah perangkat lunak untuk mendukung proses pendaftaran ulang mahasiswa secara online. Melalui aplikasi tersebut, mahasiswa dapat mengajukan usulan pengambilan matakuliah. Selanjutnya, dosen wali dapat melihat usulan pengambilan matakuliah untuk disetujui/ditolak. Usulan yang ditolak dapat direvisi kembali oleh mahasiswa. Usulan yang telah disetujui wali dapat langsung diproses oleh Petugas Administrasi untuk pencetakan KSM. KSM hanya bisa dicetak apabila status pembayaran SPP mahasiswa sudah beres. Informasi status pembayaran SPP diperoleh dari perangkat lunak lain yaitu SISKEU (Sistem Informasi Keuangan). Perangkat lunak ini juga akan berhubungan dengan perangkat lunak SIKAD (Sistem Informasi Akademik) untuk mendapatkan informasi tentang matakuliah yang ditawarkan pada semester tersebut, serta informasi transkrip nilai mahasiswa, agar dosen wali mendapatkan referensi untuk menyetujui/menolak usulan pengambilan matakuliah. 26 IF2036 RPL - Class-based Modeling
  • 27.
    Kandidat Kelas Akandibangun sebuah perangkat lunak untuk mendukung proses pendaftaran ulang mahasiswa secara online. Melalui aplikasi tersebut, mahasiswa dapat mengajukan usulan pengambilan matakuliah. Selanjutnya, dosen wali dapat melihat usulan pengambilan matakuliah untuk disetujui/ditolak. Usulan yang ditolak dapat direvisi kembali oleh mahasiswa. Usulan yang telah disetujui wali dapat langsung diproses oleh Petugas Administrasi untuk pencetakan KSM. KSM hanya bisa dicetak apabila status pembayaran SPP mahasiswa sudah beres. Informasi status pembayaran SPP diperoleh dari perangkat lunak lain yaitu SISKEU (Sistem Informasi Keuangan). Perangkat lunak ini juga akan berhubungan dengan perangkat lunak SIKAD (Sistem Informasi Akademik) untuk mendapatkan informasi tentang matakuliah yang ditawarkan pada semester tersebut, serta informasi transkrip nilai mahasiswa, agar dosen wali mendapatkan referensi untuk menyetujui/menolak usulan pengambilan matakuliah. 27 IF2036 RPL - Class-based Modeling
  • 28.
    Kandidat Kelas  Pendaftaran  bisa jadi atribut Mahasiswa  Mahasiswa  Usulan pengambilan  FRS  Matakuliah  Wali  Petugas Adm  di luar sistem  Pencetakan  KSM  sama dg FRS tetapi statusnya beda  Status Pembayaran  jadi atribut  Kelas dibuka  SIKAD  di luar sistem  SISKEU  di luar sistem  Transkrip  Kumpulan Nilai 28 IF2036 RPL - Class-based Modeling
  • 29.
    Kandidat Kelas  Entity Classes:  Mahasiswa  Wali  Matakuliah  Kelas_dibuka  Usulan  FRS  KSM  Controller Classes:  PendaftaranController  TranskripManager  ...  Boundary Classes:  FormEntriFRS  TranskripDisplay  .... 29 IF2036 RPL - Class-based Modeling
  • 30.
    Hubungan antar kelas– Diagram Kelas (potongan) Form FRS EntriFRS Pendaftaran Controller Mahasiswa Wali MataKuliah 30 IF2036 RPL - Class-based Modeling
  • 31.
    Atribut  Mahasiswa:  NIM  Nama  Alamat  Tgl_Lahir  Status_Daftar  FRS  Sem  Tahun  Kd_kul1  Kelas1  Kd_kul2  Kelas2  ... 31 IF2036 RPL - Class-based Modeling
  • 32.
    Operasi  Mahasiswa  DaftarUlang()  Cuti()  GantiAlamat()  FRS  TambahUsulan()  HapusUsulan()  UbahUsulan()  MintaPersetujuan() 32 IF2036 RPL - Class-based Modeling
  • 33.
    Tugas Lanjutan PLKantin ITB (Selasa 5 Maret 2013)  Identifikasi kelas-kelas analisisnya  Lengkapi dengan atribut dan operasinya  Gambarkan diagram kelasnya  Gambarkan diagram package-nya (jika perlu) 33 IF2036 RPL - Class-based Modeling