Bab 11 component diagram 2010


Published on

Published in: Education, Technology
1 Comment
  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Bab 11 component diagram 2010

  1. 1. BAB XIComponent Diagram
  2. 2. Component Diagram• Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) diantaranya.• Komponen piranti lunak : modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time maupun run time.• Umumnya komponen terbentuk dari beberapa class dan atau package, tapi dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lainnya.
  3. 3. Component Diagram- Bersifat statis- Merancang produk- Memperlihatkan organisasi serta kebergantungan pada komponen- komponen yang telah ada sebelumnya- Berhubungan dengan diagram kelas.
  4. 4. Component Diagram• Menggambarkan alokasi semua class dan object kedalam komponen dalam desain fisik system software, termasuk pengaturan dan kebergantungan antar komponen software• Component dapat terdiri dari – logical component, seperti business component, process component, dll – Physical component (software arsitektur) , seperti Com+, dot NET,CORBA, dll• Component digambarkan dengan bentuk pada UML versi 1.*:• Pada UML versi 2 digambarkan dengan bentuk atau atau atau
  5. 5. •• Stereotypes yang dapat digambarkan pada bentuk component <<application>>,kumpulan aplikasi system <<executable>>,component yang jalan di client <<file>>, data file <<infrastructure>>, technical component didalam system <<source code>>, source file <<database>> <<table>>, table data dalam sebuah database <<document>> <<UI>>, User interface (screen, pages, report) <<library>> dll <<web service>> <<XML DTD>>
  6. 6. Component Diagram Dependencies• dimodelkan dengan garis terputus dengan panah terbuka• gambarkan dependencies dari kiri ke kanan Contoh: <<ASP>> Source Code bergantung pada <<database>> MySQL• Dimungkinkan sebuah component dependencies pada interfaces component lainnya Contoh:Inheritance• inheriting/child component diletakkan dibawah parent component, dengan arah panah menuju ke parent component• dimodelkan dengan garis dengan panah tertutupContoh:
  7. 7. Interfaces - Component Diagram• Interfaces adalah kumpulan >=1 methode dan >=0 attribute yang dapat dipakai pada class tanpa menjadi behavior suatu class.• Jenis interface ada 2 macam yaitu : – Provide, digambarkan dengan bentuk lollipop Pada UML 1.* bisa juga digambarkan dengan garis terputus dengan panah tertutup – Required, digambarkan dengan bentuk socket• Penggambaran interfaces dapat juga dilakukan dengan menambah bagian component seperti contoh dibawah ini Bentuk grafik
  8. 8. Component Diagramport• adalah bentuk object yang menjelaskan interaksi antara object dan lingkungannya• digambarkan sebagai kotak kecil di pinggiran component <<component>>Assembly connector Order• Penghubung antara 2/lebih component dimana sebuah/beberapa component provides interfaces dan component lain required interfaces• Digambarkan dengan gabungan bentuk interfaces contoh:
  9. 9. Penggunaan Component Diagrams• When you model the static implementation view of a system, youll typically use component diagrams in one of four ways – To model source code – To model executable releases – To model physical databases – To model adaptable systems
  10. 10. Modeling Source Code• Either by forward or reverse engineering, identify the set of source code files of interest and model them as components stereotyped as files.• For larger systems, use packages to show groups of source code files.• Model the compilation dependencies among these files using dependencies. Again, use tools to help generate and manage these dependencies.
  11. 11. Modeling Source Code (cont.)
  12. 12. Modeling an Executable Release• Executable Release – main executable (usually, a .exe file) – libraries (commonly .dll files if you are working in the context of COM+, or .class and .jar files if you are working in the context of Java) – Databases – help files, and resource files
  13. 13. Modeling an Executable Release • To model an executable release – Identify the set of components youd like to model. – Consider the stereotype of each component in this set. (such as executables, libraries, tables, files, and documents) – For each component in this set, consider its relationship to its neighbors
  14. 14. Modeling anExecutable Release
  15. 15. Modeling a Physical Database• To model a physical database – Identify the classes in your model that represent your logical database schema – Select a strategy for mapping these classes to tables. Use one of three strategies : • Define a separate table for each class • Collapse your inheritance lattices so that all instances of any class in a hierarchy has the same state • Separate parent and child states into different tables
  16. 16. Modeling a Physical Database– To visualize, specify, construct, and document your mapping, create a component diagram that contains components stereotyped as tables.– Where possible, use tools to help you transform your logical design into a physical design
  17. 17. Modeling a Physical Database
  18. 18. Modeling Adaptable Systems• To model an adaptable system – Consider the physical distribution of the components that may migrate from node to node can specify the location of a component instance by marking it with a location tagged value, which you can then render in a component diagram (although, technically speaking, a diagram that contains only instances is an object diagram). – If you want to model the actions that cause a component to migrate, create a corresponding interaction diagram that contains component instances.
  19. 19. Modeling Adaptable Systems
  20. 20. Forward and Reverse Engineering• When you forward engineer a class or a collaboration, you really forward engineer to a component that represents the source code, binary library, or executable for that class or collaboration• when you reverse engineer source code, binary libraries, or executables, you really reverse engineer to a component or set of components that, in turn, trace to classes or collaborations.
  21. 21. Predefined Component Diagram Stereotypes• File – Usually a source code file• Binary / Library – Usually a compiled segment directly linkable into other compilations• Executable – Usually a directly executable module• Table – Usually a database table• Page – Usually a Web page• Document – Usually a documentation file (as opposed to compilable code)
  22. 22. Example of a UML Component Diagram
  23. 23. Example of Source Code Dependencies <<page>> home.html <<file>> <<document>> aProg.doc <<file>> <<document>> anotherProg.doc
  24. 24. Runtime Component Example<<library>> <<library>> <<library>>comms.dll graphics.dll dbgate.dll <<executable>> viewer.exe
  25. 25. Component Diagram• Shows an encapsulated class and its interfaces, ports, and internal structure consisting of nested components and connectors• Addresses the static design implementation view of a system
  26. 26. Component Diagram Example in UML 1.4
  27. 27. Component Diagram Example in UML 2
  28. 28. contoh Register.exe Billing.exe Billing System People.dll User Course.dll Course Student ProfessorCourse Course Offering Copyright © 1997 by Rational Software Corporation
  29. 29. NOTE :Component and Composite Structure Diagrams
  30. 30. Component and Composite Structure Diagrams• A component diagram shows the internal parts, connectors, and ports that implement a component• A composite structure diagram shows the internal structure of a class or a collaboration• The difference between component and composite structure is small and we will treat them both as component diagrams
  31. 31. Terms and Concepts• An interface is a collection of operations that specify a service that is provided by or requested from a class or component• A component is a replaceable part of a system that conforms to and provides the realization of a set of interfaces• A port is a specific window into an encapsulated component accepting messages to and from the component conforming to specified interfaces
  32. 32. Terms and Concepts (con’t) • Internal structure is the implementation of a component by means of a set of parts that are connected together in a specific way • A part is the specification of a role that composes part of the implementation of a component. – In an instance of the component, there is an instance corresponding to the part • A connector is a communication relationship between two parts or ports within the context of a component
  33. 33. Components• A component is a replaceable part of a system that conforms to and provides the realization of a set of interfaces• Graphically, a component is rendered as a rectangle with a small two-pronged icon in its upper right corner
  34. 34. Components and Interfaces • An interface is a collection of operations that are used to specify a service of a class or a component • An interface that a component realizes is called a provided interface – An interface that the component provides as a service to other components
  35. 35. Components and Interfaces• An interface that a component uses is called a required interface – An interface that the component conforms to when requesting services from other components• A given interface may be provided by one component and required by another• A component that uses a given interface will function properly no matter what component realizes that interface
  36. 36. Components and Interfaces
  37. 37. Binary Replaceability• The basic intent of every component- based operating system facility is to permit the assembly of systems from binary replaceable parts – Can create a system out of components and then evolve that system by adding new components and replacing old ones
  38. 38. Characteristics of A Component• It is replaceable• It is part of a system• It conforms to and provides the realization of a set of interfaces• Component diagrams can be used for both logical and physical modeling – Component diagrams are often used for physical modeling of the software architectures of systems
  39. 39. Organizing Components• Can organize components by grouping them in packages in the same manner in which one organizes classes• Can organize components by specifying dependency, generalization, association (including aggregation), and realization relationship among them
  40. 40. Ports• A port is an explicit window into an encapsulated component• A port has identity• Ports permit the interfaces of a component to be divided into discrete packets and used independently• A port is shown as a small square straddling the border of a component – It represents a hole through the encapsulation boundary of the component
  41. 41. Ports (con’t)• Both provided and required interfaces may be attached to a port – A provided interface represents a service that can be requested through that port – A required interface represents a service that the port needs to obtain from some other component• Each port has a name so that it can be uniquely identified given the component and the port name• Ports are part of a component
  42. 42. Ports
  43. 43. Internal Structure• The internal structure of a component is the parts that compose the implementation of the component together with the connections among them• A part is a unit of the implementation of a component – A part has a name and a type
  44. 44. Parts within A Component
  45. 45. Parts of the Same Type
  46. 46. Connector• A wire between two ports is called a connector• Show connectors in two ways – If two components are wired explicitly, draw a line between them or their ports – If two components are connected because they have compatible interfaces, use a ball-and-socket notation• A delegation connector wires internal ports to external ports of the overall component
  47. 47. Connectors
  48. 48. Component Diagrams• A component diagram shows an encapsulated class and its interfaces, ports, and internal structure consisting of nested components and connectors• Component diagrams address the static design implementation view of a system
  49. 49. Example of Component Diagram
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.