Tampilkan postingan dengan label Object Oriented Modelling. Tampilkan semua postingan

Pemodelan Ber-Orientasi Objek



In this section we discussion about :

Developed for discrete event simulation (1967). Simulation modeling is a hard problem for conventional languages. Simulated objects must interact and change state in many different and often unpredictable ways. Simulation can solve problems that are too complex for mathematical equations. Simulation objects are usually easy to identify and communicate via message passing. Origins at Xerox PARC with the work of Alan Kay and Adele Goldberg. The idea was to develop a small language that could be used by everyone on their own personal computers. Influenced by Simula: objects and classes. The WIMP interface is tied closely to Smalltalk. Windows, Icons, Mice and Pointers. Apple picked this up in Lisa and Macintosh

Objects—things, concepts, or entities
Characteristics of Objects:
a. Identity: data is quantized into discrete, distinguishable entities called objects.
b. Classification: objects with the same data structure (attributes) and behavior (operations) are grouped into a class.
c. Polymorphism: the same operation may behave differently on different classes.
d. Inheritance: the sharing of attributes and operations among classes based on a hierarchical relationship.

OOAD ; software development approach that emphasizes a logical solution based on objects. Analysis—finding and describing concepts in the problem domain. Design—defining software objects that represent the analysis concepts and will eventually be implemented in code.

You can download the full chapter here : Object Oriented Modelling Full Chapter

Pertemuan:12 (Object Modelling : Instance Object Diagram)

In this section, the discusion is about :

Instances
Abstractions & Instances
Modeling Concrete Instances
Modeling Prototypical Instances
Object Diagram
Modeling Object Structures
Forward and Reverse Engineering


The terms “instance” and “object” are largely synonymous; for most part, they may be used interchangeably. Use instances to model concrete or prototypical things that live in the real world. Transient: specifies that an instance is created during execution of the enclosing interaction but is destroyed before completion of execution (a standard constraint that applied to objects).

Object diagrams model the instances of things contained in class diagrams. Shows a set of objects and their relationships at a point in time. Used to model the static design view or static process view of a system. Shows a snapshot of the system at a moment in time and rendering a set of objects, their state, and their relationships.


You can download full chapter from this link: Download Lecture_OOM12

Pertemuan:11 (Object Modelling : Package)

In this section, the discusion is about :

Packages
Owned Elements
Visibility
Importing & exporting
Standard package elements
Modeling groups of elements


Package—general-purpose mechanism for organizing elements into groups.

Composite relationship-Destroyed if enclosing package is destroyed

You can control the Visibility of the elements owned by a package just as you can control the visibility of the attributes and operations owned by a class. Packages that are friends to another may see all the elements of that package, no matter what their visibility. If an element is visible within a package, it is visible within all packages nested inside the package.

Standard Package Element: facade—only a view on some other package. framework—package consisting mainly of patterns. stub—a package that serves as a proxy for the public contents of another package. subsystem—a package representing an independent part of the system being modeled. system—a package representing the entire system being modeled.

You can download full chapter from this link: Download Lecture_OOM11

Pertemuan:10 (Object Modelling : Interfaces Types)

In this section, the discusion is about :

Interfaces, types, & roles
Interface vs. Abstract Class
Modeling the Seams of a System
Well-Structured Interface


Interface: a collection of operations that are used to specify a service of a class or a component. Type: a stereotype of a class used to specify a domain of objects, together with the operations applicable to the object. Role: the behavior of an entity participating in a particular context.

A well-structured interface: Is simple yet complete. Providing all the operations necessary yet sufficient to specify a single service. Is understandable, providing sufficient information. Is approachable, providing information to guide the user to its key properties without being overwhelmed by the details of a pile of operations.


You can download full chapter from this link: Download Lecture_OOM10

Pertemuan:9 (Object Modelling : Advance Relationship)

In this section, the discusion is about :

Advanced Concepts on:
-Dependency
-Generalization
-Association
-Realization


Eight Stereotypes of Dependency Among Classes; bind: the source instantiates the target template using the given actual parameters, derive: the source may be computed from the target, friend: the source is given special visibility into the target, instanceOf: the source object is an instance of the target classifier, instantiate: the source creates instances of the target,  powertype: the target is a powertype of the source; a powertype is a classifier whose objects are all the children of a given paren, refine: the source is at a finer degree of abstraction than the target, use: the semantics of the source element depends on the semantics of the public part of the target

Generalization-One stereotype – implementation: the child inherits the implementation of the parent but does not make public nor support its interfaces

Association-Four Basic Adornments of Association: name, role, multiplicity, & aggregation.

Realization-A realization is a semantic relationship between classifiers in which one classifier specifies a contract that another classifier guarantees to carry out. Realization is sufficiently different from dependency, generalization, and association relationships that it is treated as a separate kind of relationship. Semantically, realization is somewhat of a cross between dependency and generalization, and its notation is a combination of the notation for dependency and generalization.

You can download full chapter from this link: Download Lecture_OOM9

Pertemuan:8 (Object Modelling : Advanced Structural Modeling)

In this section, the discusion is about :

Classifiers
Visibility
Scope
Multiplicity
Attributes
Operations
Template Classes



Classifier—mechanism that describes structural and behavioral features. Public—access allowed for any outside classifier with visibility to the given classifier (+). Protected—access allowed for any descendant of the classifier (#). Private—access restricted to the classifier itself (-).

You can download full chapter from this link: Download Lecture_OOM8

Pertemuan:7 (Object Modelling : Class Diagram)

In this section, the discusion is about :

Class diagram contents.
Modeling simple collaborations.
Modeling logical databases.
Forward engineering
Reverse engineering.


Identify classes whose state must be persistent. Create a class diagram using standard tagged value. Expand to include structural details, specifically attributes and associations. Identify common patterns which cause database problems; create intermediate abstractions if necessary. Use tools if available to transform logical design into physical design.

Forward engineering—the process of transforming a model into code through a mapping to an implementation language. Reverse engineering—the process of transforming code into a model through mapping from a specific implementation language.


You can download full chapter from this link: Download Lecture_OOM7

Pertemuan:6 (Object Modelling : Diagram)

In this section, the discusion is about :



Terminology
- Diagrams:  Structural Behavioral
- Views Models

Modeling
- Different views of a system.
- Different levels of abstraction.
- Complex views.


Modeling: creating a simplification of reality so that you can better understand the system. Using the UML, you build your models from basic building blocks (classes, interfaces, collaborations, components, nodes, generalizations, & associations). Diagrams are the means by which you view these building blocks. A diagram is a graphical presentation of a set of elements, most often rendered as a connected graphs of vertices (things) and arcs (relationships).




System—collection of subsystems organized to accomplish a purpose and described by a set of models, possibly from different view points. Subsystem—grouping of elements, of which some constitute a specification of the behavior offered by the other contained elements. Diagram—graphical representation of a set of elements, most often rendered as a connected graph of vertices (things) and arcs (relationships).



You can download full chapter from this link: Download Lecture_OOM6

Pertemuan:5 (Object Modelling : Common Mechanism)

In this section, the discusion is about :

-Notes
-Extensibility Mechanisms

  1. Stereotypes
  2. Tagged Values
  3. Constraints
-Modeling Techniques
  1. Comments
  2. New building blocks
  3. New properties
  4. New semantics

Notes: Restrict to information that cannot be expressed with existing UML features. Use to track work in progress. For large blocks of comments use note to link to external document.

Standardize on a small set of stereotypes, tagged values, and constraints. Avoid the development of new extensions by individual developers. Use short meaningful names for stereotypes and tagged values. Use free-form text for constraints when possible. Use OCL where formal constraints are necessary.

Use graphical stereotypes sparingly. For graphical stereotypes consider Color or shading. Unique/more complicated icons

You can download full chapter from this link Download Lecture_OOM5

Pertemuan:4 (Object Modelling : Relationship)

In this section, the discusion is about :

Relationships: 
-Dependency 
-Generalization 
-Association
Modeling techniques


Modeling relationships; Use dependencies when relationship is not structural. Use generalization with “is-a” relationship.Don’t introduce cyclical generalizations. Balance generalizations Not too deep Not too wide. Use associations where structural relationships exist.


Drawing a UML relationship;Use rectilinear or oblique lines consistently. Avoid lines that cross. Show only relationships necessary to understand a particular grouping of things. Elide redundant associations.


You can download full chapter from this link: Download Lecture_OOM4

Pertemuan:3 (Object Modelling : Class)

In this section, the discusion is about :

Classes:
  1. Name.
  2. Attributes.
  3. Operations.
  4. Responsibilities.
Modeling techniques:
  1. Vocabulary.
  2. Responsibilities.
  3. Non-software things.
  4. Primitive types.

Classes is about Attributes,Operations, and Responsibilities. Modeling the vocabulary of a system. Modeling the distribution of responsibilities. Modeling non-software “things”. Modeling primitive types. Modeling quality abstractions.

Well-structured class; Provides a crisp abstraction drawn from vocabulary of problem or solution. Embodies small, well-defined set of responsibilities. Provides clear separation of the abstractions specification and implementation. Understandable and simple. Extensible and adaptable.

Drawing a UML class; Show only properties that are important in a specific context. Organize long lists of attributes and operations by grouping. Show related classes in the same diagrams.


You can download full chapter from this link: Download Lecture_OOM3

Pertemuan:2 (Object Modelling : Why Modelling?)

In this section, the discusion is about :


  • Modeling.
  • UML introduction.
  • Building blocks of UML. 
  • Rules of UML.
  • Common UML mechanisms.
  • Architectural views.
  • Software lifecycle.

A model is a simplification of reality. A set of blueprints of a system. Semantically closed abstraction of the system. A model is an abstraction of something for the purpose of understanding it before building it. Communicate a desired structure and behavior of a software system. Visualize and control a system’s architecture. Assist in understanding a system under development. Expose opportunities for simplification and reuse. Manage risk. Document decisions. Proven and accepted engineering technique; divide-and-conquer. We build models of complex systems because we cannot comprehend such a system in its entirety. Desire to build the right software right.  The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped. Every model may be expressed at different levels of precision. The best models are connected to reality. No single model is sufficient.  Every nontrivial system is best approached through a small set of nearly independent models.


 


 You can download full chapter from this link: Download Lecture_OOM2

Pertemuan:1 (Object Modelling : Introduction Object Oriented Modelling-UML)



In this section, the discusion is about :
  • Primary references
  • General definitions
  • Fundamental Terminology
  • Object-Oriented methodology
  • Object-Oriented themes
  • Unified Modeling Language
  • Design patterns
  • Object-oriented development processes


Objects—things, concepts, or entities
Characteristics of Objects:
-Identity: data is quantized into discrete, distinguishable entities called objects.
-Classification: objects with the same data structure (attributes) and behavior (operations) are grouped into a class.
-Polymorphism: the same operation may behave differently on different classes.
-Inheritance: the sharing of attributes and operations among classes based on a hierarchical relationship.

OOA&D—software development approach that emphasizes a logical solution based on objects
Analysis—finding and describing concepts in the problem domain.
Design—defining software objects that represent the analysis concepts and will eventually be implemented in code.


You can download full chapter from this link: Download Lecture_OOM1