24
Towards Object Oriented System Development A Lecture on System Development Course Avinanta Tarigan Magister of Information System Management Gunadarma University 1 Avinanta Tarigan Towards Object Oriented System Development

A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

Towards Object Oriented System Development

A Lecture on System Development Course

Avinanta Tarigan

Magister of Information System ManagementGunadarma University

1 Avinanta Tarigan Towards Object Oriented System Development

Page 2: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

Outline

1 System Theory

2 Buzzword: Object Oriented

3 System Behavior Analysis & Design

4 UML

2 Avinanta Tarigan Towards Object Oriented System Development

Page 3: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

System Theory

Outline

1 System Theory

2 Buzzword: Object Oriented

3 System Behavior Analysis & Design

4 UML

3 Avinanta Tarigan Towards Object Oriented System Development

Page 4: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

System Theory

General System Theory

Initiated by Ludwig vonBertalanffy

Followed by Mead andBateson

The study of the natureof complex systems innature, society, andscienceInterdiciplinary study:single organism, anyorganization or society,or anyelectro-mechanical orinformational artifactCybernetics: study offeedback→ controlsystems

4 Avinanta Tarigan Towards Object Oriented System Development

Page 5: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

System Theory

System of Objects

System consists of objects

A group of MLM consists of membersAn object is something that can be identified

Every object has relationship(s) with others

Hierarchical structure of MLM group

Objects engage constituting system’s behavior

Every member is active and vigorousThe MLM group is becoming rich

A state of system is overall state of the objects

The MLM group earned 100 million Rp last yearThe MLM group earned 120 million Rp this year

System behavior = sequence of states

5 Avinanta Tarigan Towards Object Oriented System Development

Page 6: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

System Theory

Information System (viewed with GST)

Objects in information system:

Data / Information about somethingAlgorithm / program that process the dataPersons / entity / operator that operate the programDevices that interact with the system

What is the state of the system ?

the value of data / information at certain timeoperator’s perception of the system state at certain time

What drives the behavior of system ?

Algorithm implemented in programParameter (decision of operator, stored data, output from adevice)

6 Avinanta Tarigan Towards Object Oriented System Development

Page 7: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

Buzzword: Object Oriented

Outline

1 System Theory

2 Buzzword: Object Oriented

3 System Behavior Analysis & Design

4 UML

7 Avinanta Tarigan Towards Object Oriented System Development

Page 8: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

Buzzword: Object Oriented

Principles of Object Oriented I

8 Avinanta Tarigan Towards Object Oriented System Development

Page 9: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

Buzzword: Object Oriented

Principles of Object Oriented II

Abstraction:

identification of classes of objects in the systeme.g. SalesPerson, Customer, Product

Encapsulation

Hide implementation and internal structure from clientsClients depend on interfaceManages complexity of the system

Modularity

The breaking up of something complex into manageablepieces

Hierarchy

Levels of abstraction

9 Avinanta Tarigan Towards Object Oriented System Development

Page 10: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

Buzzword: Object Oriented

Concepts in Object Oriented I

Object:

An object is a concept, abstraction, or thing with sharpboundaries and meaning for an applicationAn object is something that has:

StateBehaviorIdentity

Class

A class is a description of a group of objects with commonproperties (attributes), behavior (operations), relationships,and semanticsAn object is an instance of a classA class is an abstraction in that it: Emphasizes relevantcharacteristics Suppresses other characteristics

Attribute

10 Avinanta Tarigan Towards Object Oriented System Development

Page 11: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

Buzzword: Object Oriented

Concepts in Object Oriented IIProperty of the object / class that has valueState of an object is overal values of attributes of the objectat certain time

Operation / Methods

What drives the change the state of the objectProcedure / function / algorithm

Interface (Polymorphism)

The ability to hide many different implementations behind asingle interfaceInterfaces formalize polymorphismInterfaces support “plug-and-play” architectures

Component

A non-trivial, nearly independent, and replaceable part of asystem that fulfills a clear function in the context of awell-defined architecture

11 Avinanta Tarigan Towards Object Oriented System Development

Page 12: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

Buzzword: Object Oriented

Concepts in Object Oriented IIIA component may be :

A source code componentA run time componentsAn executable component

Package

A package is a general purpose mechanism for organizingelements into groupsA model element which can contain other model elements

Subsystem

A combination of a package (can contain other modelelements) and a class (has behavior)Realizes one or more interfaces which define its behavior

Relationships

Relationship is defined through services provided byobjects

12 Avinanta Tarigan Towards Object Oriented System Development

Page 13: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

Buzzword: Object Oriented

Concepts in Object Oriented IV

Interfaces: public methods + passing parameter

Types / structure of relationships:

Association

AggregationComposition

DependencyGeneralizationRealization

13 Avinanta Tarigan Towards Object Oriented System Development

Page 14: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

System Behavior Analysis & Design

Outline

1 System Theory

2 Buzzword: Object Oriented

3 System Behavior Analysis & Design

4 UML

14 Avinanta Tarigan Towards Object Oriented System Development

Page 15: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

System Behavior Analysis & Design

System Behavior Analysis and Design

Traditional Approach:1 Analysis that elicites requirements2 Logical DFD3 Physical DFD4 Program structure charts & process descriptions5 Data model (ERD) & physical database design

Object Oriented Systems Development1 Analysis that elicites requirements2 Object relationship model with attributes and relationships3 Object relationship model with attributes, relationships, and

methods

Final joint of OOSD is the program / algorithm itself

15 Avinanta Tarigan Towards Object Oriented System Development

Page 16: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

System Behavior Analysis & Design

Designing Object-Oriented System Behavior I

1 Analyze use cases to identify classes and behaviors1 Identify all classes (objects) in the system2 Identify behavior of objects (classes)3 Identify all relationships of the identified classes

2 Define methods and assign to object classes1 Define attributes2 Define automated behaviors (methods)

1 Method used to create and break relationships2 Method that changes the state of an object

3 Extend the object relationship model to include methods,and create a class specification for each class in the model

1 Define the business-name of the classes and all attributes /methods

2 Define service interface - listing the public methods

16 Avinanta Tarigan Towards Object Oriented System Development

Page 17: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

System Behavior Analysis & Design

Designing Object-Oriented System Behavior II

3 Define detailed methods (algorithm)

4 Reflect classes, methods, and messages in formal usecases

5 “Walk through” formal use cases to verify design

17 Avinanta Tarigan Towards Object Oriented System Development

Page 18: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

System Behavior Analysis & Design

Criteria for Evaluating System Behavior Design

Low Couplingminimize interdependency of modules / classesmore lossely-coupled the objects→ greater reusabilityGuideliness:

No message should require more than three parametersNo messages should be sent from a subclass to access datadefined in superclass (do this in inheritance)Collaboration relationships should not be so strong thatclass A is useless without class B

CohesivenessA cohesive design specifies only one function per-methodFunction is clearly expressed as verb

ClarityHigh quality design speaks for itselfMinimize the “gap” of perception of the system betweenanalyst, designer, programmer, implementer

SimplicityAn object should be simple (e.g. 5 attributes & 5 methods)Each method can be specified in less then one page of C++

18 Avinanta Tarigan Towards Object Oriented System Development

Page 19: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

UML

Outline

1 System Theory

2 Buzzword: Object Oriented

3 System Behavior Analysis & Design

4 UML

19 Avinanta Tarigan Towards Object Oriented System Development

Page 20: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

UML

Object Oriented Design with UML

Please see example from Russell C. Bjork

and

Those from Maciaszek

20 Avinanta Tarigan Towards Object Oriented System Development

Page 21: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

UML

UML is not the best ?

From definition:

Unified/Universal Modeling Language (UML) is astandardized visual specification language for objectmodeling

Visual specification contains error caused by wronginterpretationUML aids the design in OO manner but not as strong asformal methodDesigning System using Formal Method requires in-depthknowledge and skill in mathematics

21 Avinanta Tarigan Towards Object Oriented System Development

Page 22: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

UML

Example of Formal Method

22 Avinanta Tarigan Towards Object Oriented System Development

Page 23: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

UML

Why UML descents into darkness

1 Design by committeenot by community (lack of acceptance)

2 The obsessive focus on monetizing UMLJust draw the pictures and we generate the code for you

3 Tries to unify everything even the kitchen sink (UMLspecs>800 pages)

4 UML attempts to become a programming language5 The need for expensive tools vs. just a text editor6 Lack of solutions for real software design issues7 Assumes you can know everything before writing the first

line of code8 Treat software development like manufacturing9 UML tools focus on the wrong goal

10 etc23 Avinanta Tarigan Towards Object Oriented System Development

Page 24: A Lecture on System Development Course Avinanta Tariganavinanta.staff.gunadarma.ac.id/Downloads/files/10885/TransitionTo... · A group of MLM consists of members An object is something

UML

Thanks

The END

24 Avinanta Tarigan Towards Object Oriented System Development