MODEL COMPONENT Pertemuan 19-20 Matakuliah: M0126 - Analisis dan Perancangan Sistem Informasi Lanjut Tahun: 2009 - 2010.

Slides:



Advertisements
Similar presentations
1 Pertemuan > >. 2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mahasiswa dapat membuat diagram / skema scope dan desain.
Advertisements

1 Pertemuan > > Matakuliah: >/ > Tahun: > Versi: >
Criteria And Component Diagram Pertemuan 0708 Matakuliah: M Analisis dan Perancangan Sistem Informasi Lanjut Tahun:
Arsitektur Jaringan Pertemuan 09 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
Regresi dan Korelasi Linear Pertemuan 19
1 Pertemuan Perluasan E-R Matakuliah: >/ > Tahun: > Versi: >
Dynamic SQL Pertemuan 11 Matakuliah: T0413/Current Popular IT II Tahun: 2007.
1 Pertemuan 12 Design Pattern Matakuliah: T0053/Web Programming Tahun: 2006 Versi: 2.
12 - Organisation Matakuliah: G0622/Bahasa Inggris 1 Tahun: 2005 Versi: 1.01.
1 Pertemuan 10 Arsitektur Jaringan Model OSI Matakuliah: H0174/Jaringan Komputer Tahun: 2006 Versi: 1/0.
Pertemuan Entity Relationship Diagram
1 Pertemuan 26 Object Relational Database Management System (Lanjutan) Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
1 Pertemuan 23 Object database design (Lanjutan bagian 2) Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
1 Pertemuan > > Matakuliah: >/ > Tahun: > Versi: >
Copyright W. Howden1 Lecture 6: Design Evaluation and Intro to OO Design Patterns.
1 Pertemuan 24 Object database design (Lanjutan bagian 3) Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
1 Pertemuan 23 Managing The Effectiveness of The Audit Department Matakuliah:A0274/Pengelolaan Fungsi Audit Sistem Informasi Tahun: 2005 Versi: 1/1.
1 Pertemuan 20 Binomial Heap Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
1 Pertemuan 14 Arsitektur Process Matakuliah: M0446/Analisa dan Perancangan Sistem Informasi Tahun: 2005 Versi: 0/0.
1 Pertemuan 5 The structure part of object data model Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
1 Pertemuan 14 Perencanaan, Desain dan Administrasi Databases Matakuliah: >/ > Tahun: > Versi: >
1 Pertemuan 21 Audit Reporting Matakuliah:A0274/Pengelolaan Fungsi Audit Sistem Informasi Tahun: 2005 Versi: 1/1.
1 Pertemuan 17 Building Object Database Application Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
1 Pertemuan 4 Auditing Standards and Responsibilities Matakuliah:A0274/Pengelolaan Fungsi Audit Sistem Informasi Tahun: 2005 Versi: 1/1.
1 Pertemuan 1 Pendahuluan : Konsep Sistem Matakuliah: H0204/ Rekayasa Sistem Komputer Tahun: 2005 Versi: v0 / Revisi 1.
1 Pertemuan 12 Interface Matakuliah: M0446/Analisa dan Perancangan Sistem Informasi Tahun: 2005 Versi: 0/0.
1 Pertemuan 7 The Object Definition Language Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
1 Pertemuan 9 Membuat dan mengelola sistem informasi Matakuliah: H0472 / Konsep Sistem Informasi Tahun: 2006 Versi: 1.
1 Pertemuan 5 Bisnis Proses Matakuliah: H0472 / Konsep Sistem Informasi Tahun: 2006 Versi: 1.
Low Coupling High Cohesion
1 Pertemuan 6 The structure part of object data model (Lanjutan) Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
GRASP : Designing Objects with Responsibilities
Pertemuan 25 Solusi Bisnis Terintegrasi Matakuliah: M0034 /Informasi dan Proses Bisnis Tahun: 2005 Versi: 01/05.
1 Pertemuan 24 Managing The Effectiveness of The Audit Department Matakuliah:A0274/Pengelolaan Fungsi Audit Sistem Informasi Tahun: 2005 Versi: 1/1.
Korelasi dan Regresi Linear Sederhana Pertemuan 25
1 Pertemuan 8 The Object Definition Language (Lanjutan) Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
Feb 4, Ron McFadyen1 founded on principles of good OO design idea was first put forth by Christopher Alexander (1977) in their work concerning.
GRASP Design Patterns: Designing Objects with Responsibilities
GRASP Pattern Zhen Jiang West Chester University
GRASP Principles. How to Design Objects The hard step: moving from analysis to design How to do it? –Design principles (Larman: “patterns”) – an attempt.
111 Subsystems CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 7)
1 Pertemuan > > Matakuliah: >/ > Tahun: > Versi: >
Chapter 17. GRASP General Responsibility Assignment Software Patterns (Principles) OOD: after identifying requirements, create domain model, define responsiblities.
1 Chapter 17 GRASP Design Patterns: Designing Objects with Responsibilities.
Architecture GRASP Realization of use cases in interaction diagrams Design class diagram Design ( how )
Chapter 7: Object Design Examples with GRASP. Objective Design use case realizations. Apply GRASP to assign responsibilities to classes. Apply UML to.
GRASP: Designing Objects With Responsibilities
Chapter 17 GRASP: Designing Objects with Responsibilities. 1CS6359 Fall 2011 John Cole.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
GRASP: Designing Objects with Responsibilities
Object-Oriented Analysis and Design Mar 9, 2008.
OO Design Roshan Chitrakar. Analysis to Design Do the RIGHT thing Do the RIGHT thing Requirement Analysis Requirement Analysis Domain Modeling with addition.
111 Subsystems CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 7)
1 Pertemuan 1 Background Matakuliah:A0274/Pengelolaan Fungsi Audit Sistem Informasi Tahun: 2005 Versi: 1/1.
Copyright © Craig Larman All Rights Reserved COMP-350 Object-Oriented Analysis and Design GRASP: Designing Objects with Responsibilities Reference:
Design. 2 The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary but not sufficient in order.
CONNECTING COMPONENT Pertemuan Matakuliah: M Analisis dan Perancangan Sistem Informasi Lanjut Tahun:
Pertemuan 02 The Nature of Accounting and Information Technology Matakuliah: M0034 /Informasi dan Proses Bisnis Tahun: 2005 Versi: 01/05.
1 Pertemuan 16 The Business Owner’s View Matakuliah: A0194/Pengendalian Rekayasa Ulang Informasi Tahun: 2005 Versi: 1/5.
Criteria And Component Diagram Pertemuan 0304
GRASP – Designing Objects with Responsibilities
Pertemuan 10 Analisis data -I
Pertemuan 20 Building Object Database Application (Lanjutan bagian 3)
Pertemuan 22 The Business Views of the Technology Architecture
Chapter 12: Collaboration Diagram - PART2
Conception OBJET GRASP Patterns
DESIGN MODEL: USE-CASE REALIZATIONS WITH GRASP PATTERNS
TK2023 Object-Oriented Software Engineering
GRASP : Designing Objects with Responsibilities
GRASP Design Patterns: Designing Objects with Responsibilities
Presentation transcript:

MODEL COMPONENT Pertemuan Matakuliah: M Analisis dan Perancangan Sistem Informasi Lanjut Tahun:

Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mahasiswa dapat membuat diagram / skema model component (C4)

Outline Materi Mahasiswa dapat membuat diagram / skema component architecture class

15 – 16 / 02 – 14 Connecting Components Purpose To connect system components Concepts –Coupling : A measure of how closely two classes or components are connected – Cohesion : A measure of how well a class or component is tied together

15 – 16 / 03 – 14 Connecting Component (Cont’d) Principles –Highly cohesion classes and loosely coupled components Results A class diagram of the involved components

15 – 16 / 04 – 14 Coupling Outside coupling : A class or component refers directly to the public property of another class or component Inside Coupling : An operation refers directly to other, private properties in the same class Coupling from below : A specialized class refers directly to private properties in the super class Sideways coupling : A class refers directly to private properties in another class

Low Coupling Coupling is a measure of how strongly one element is connected to, has knowledge of or relies on other element. An element with low coupling is not dependent on too many other elements ”too many” is context dependent BEST SOLUTION IS : LOW COUPLING: Assign a responsibility so that coupling remain low

Design 1 In this figure Assign a responsibility to the class that has the information needed to fulfill it, for example Board Need information of Square, so getSquare has to assign to BOARD

Design 2 In this design a Board object has many Squares but an Object Dog has to sent getAllSquares to Board Object and also it sent get(name) to Map Object that probably has a needed square. Design 2 is Poor Design because it has High Coupling because to get Square Dog has function getSquare to Board and Square and also Board has getAllSquare Solution : BETTER IS GET A DESIGN 1 ( LOW COUPLING) Because Board has all responsibility to get Square

HIGH COHESION Bad Cohesion (low cohesion) just imply an object does work only by itself, indeed a low cohesion object has 2000 Line of Code that maybe has many collaboration with other objects. Figure the left-hand version of Monopoly game has worse cohesion then right-hand version because since the left-hand version is making the Monopolygame Object itseft do all the work, rather then delegating and distributing work among objects. THIS PRICIPLE OF HIGH COHESION

HIGH COHESION Figure is another design of high cohesion because Make Payment from Register is Pass on Object Sale and Object Sale with responsible to create Payment Object

Types of Cohesion Very Low cohesion: A Class is solely responsible for many things in very different functional areas Low Cohesion: A Class has sole responsibility for a complex task in one functional area High Cohesion: A Class has moderate responsibilities in one functional area and collaborates with other classes to fulfill tasks Moderate Cohesion: A Class has lightweight and sole responsibility in a few different areas that are logically related to the class concept but not to each other for example Assume the existence of a class called company that is completely responsible for (a) knowing its employees and (b) knowing to financial information. These two areas are not strongly related to each other, although both are logically related to the concept of company

Coupling > >CKambing NamaHewan:String IHewan <Let>Nama(ByValue:StringBersuara()

Ckambing Class

Ihewan Class

Run

15 – 16 / 05 – 14 Cohesion Operation constitute a functional whole Attributes and object structure describe objects with well- defined states Operation use each other The following features point to cohesion Components: Component classes are conceptually related Structural relations among classes are primarily generalizations and aggregations Key operations can be carried out within the component

15 – 16 / 06– 14 Sub-Activities in designing the connection between components Connect classes Explore Pattern Evaluate Connection Class diagrams and Component specifications Class diagram and Component specification

15 – 16 / 07– 14 Connect Classes There are three forms of connection:  Aggregating another component’s class  Specializing another component’s public class  Calling public operation in another component’s objects

15 – 16 / 08– 14 Class Aggregation > Function Account Management > Model account Connection by class aggregation

15 – 16 / 09– 14 Class Specialization Person W Session W > User Interface > UI Library Window Connection by class Specialization

15 – 16 / 10 – 14 Operation Call > Model > System Interface > Connection by calling an operation

15 – 16 / 11 – 14 Class Specialization Connection by class Specialization Person W Session W > User Interface > UI Library Window

15 – 16 / 12 – 14 A Sequence Diagram for the Observer Pattern

15 – 16 / 13 – 14 An Application of the Observer Pattern > Function > Model > subject observers > Function > Model > subject observers

15 – 16 / 14 – 14 A Review Checklist for Evaluating Connections CouplingCohesionRisks Class Aggregation Low : coupling from outside Medium, if exagerated as more properties are embedded Loss of cohesion in the aggregates Class Specialization Medium, if private properties are used Medium, if exagerated as more properties are added Loss of cohesion in the subclasses and possibility of increased level of coupling Operation Call Low : coupling from outside High, if concerns are separated Many classes and objects with distributed responsibilities can become too complex