260 likes | 634 Views
객체지향 모델링과 MRP. 서울대학교 산업공학과 공장자동화연구실 윤승현 1998/09/17. 목차. 객체지향 객체지향 개발 방법론 UML (Unified Modeling Language) MRP OOBOM (Object-Oriented BOM) Continuous MRP Object-Oriented Manufacturing Information System 나의 연구 연구의 목적 , 의의 연구의 내용 , 범위 진행사항. 객체지향 개발 방법론 (1/3). S/W 의 개발
E N D
객체지향 모델링과 MRP 서울대학교 산업공학과 공장자동화연구실 윤승현 1998/09/17
목차 • 객체지향 • 객체지향 개발 방법론 • UML (Unified Modeling Language) • MRP • OOBOM (Object-Oriented BOM) • Continuous MRP • Object-Oriented Manufacturing Information System • 나의 연구 • 연구의 목적, 의의 • 연구의 내용, 범위 • 진행사항
객체지향 개발 방법론 (1/3) • S/W의 개발 • 문제를 조직적으로 이해하는 과정 • 정리된 문제를 컴퓨터가 이해할 수 있는 언어로 표현하는 과정 • Method (Rumbaugh) • Generic guide to help people perform some activity. • S/W 개발을 위한 framework 제공 • Component • Fundamental modeling concepts • A set of views and notations • A step-by-step iterative development process • A collection of hints and rules-of-thumb for performing development
객체지향 개발 방법론 (2/3) • S/W 개발 방법론 • S/W의 개발에 지속적으로 적용될 수 있는 방법, 절차, 기술 • 개발을 위해 수행되는 절차, 기법, 산출물 등의 구성요소들로 이루어진 하나의 시스템 • O-O S/W 개발 방법론 • 객체지향 S/W를 만들기 위한 조직적 방법 • 객체지향 패러다임(object, interaction)을 기반으로 개발
객체지향 개발 방법론 (3/3) • 객체지향 패러다임(최성운, 명지대) • 상호작용하는 객체들의 집합으로 세상을 바라보는 시각 • 정적관계, 동적행위 • 정적관계 • 객체 및 클래스들 사이에 관계가 문제 영역이 존재하는 시간 동안 고유하게 유지되는 것 • 포함관계(Aggregation), 계승관계(Inheritance) • 동적행위 • 시간의 흐름에 따라 변하는 관계 • 객체들의 상태변화와 상태변화를 유발하는 행위에 중점 • 연속적인 흐름이 모여 하나의 작업을 구성
객체지향 개발 방법의 분류 (1/2) • Booch : OOADA (Micro process, Macro process) • Micro process • Identify classes and objects • Identify class and object semantics • Identify class and object relationships • Specify class and object interfaces and implementation • Macro process • Conceptualization : Establish core requirements • Analysis : Develop a model of the desired behavior • Design : Create an architecture • Evolution : Evolve the implementation • Maintenance : Manage postdelivery evolution
객체지향 개발 방법의 분류 (2/2) • Rumbaugh : OMT (개념화, 분석, 시스템 설계, 객체 설계, 구현) • Object Modeling : Structure of system(Class Diagram, Object Diagram) • Dynamic Modeling : Object사이의 interaction, Temporal evolution 묘사 • Functional Modeling : 시스템의 operation 묘사 • Jacobson : OOSE (Use-case Driven Approach, 분석, 제작, 테스트) • 분석 : 시스템의 기능적인 요구에 따른 시스템에 대한 이해 • 제작 : 소스 코드의 설계와 구현 • 테스트 : 시스템의 정확성 테스트 • Coad/Yourdon : OOA/OOD (5개의 layer / 4개의 component) • 서브젝트, 클래스와 객체, 구조, 속성, 서비스 • Human Interaction, Problem Domain, Task management, Data Management
객체 모델링의 프로세스 영역분석 객체추출 클래스 분류 객체모델링 클래스 설계 부품생산 재사용 라이브러리 재사용시스템 부품평가 재사용정보
객체 모델링 • Object • Self-Contained Entity • Attribute + Behavior • Object Relation • Inter-Object Relation • Object Interaction • Inter-Object Communication • Event, Message
UML (Unified Modeling Language) • The UML is the standard language for visualizing, specifying, constructing and documenting the artifacts of the software systems, as well as for business modeling and other non-software systems. • The UML is called language, not a method. • The modeling language is the notation and that method use to express designs. • UML Diagram • Use Case Diagram • Class Diagram • Interaction Diagram(Sequence Diagram, Collaboration Diagram) • State Diagram • Package(Component) Diagram • Deployment Diagram • Activity Diagram
Request Course Roster Professor Student Maintain Schedule Billing System Maintain Curriculum Registrar Use Case Diagrams • Use case diagrams are created to visualize the relationships between actors and use cases
registration registration math 101 math 101 : Student form manager section 1 1: fill in info 2: submit 3: add course(joe, math 01) 4: are you open? 5: are you open? 6: add (joe) 7: add (joe) Sequence Diagram • A sequence diagram displays object interactions arranged in a time sequence
course form : 1: set course info CourseForm 2: process 3: add course : Registrar theManager : aCourse : CurriculumManager Course 4: new course Collaboration Diagram • A collaboration diagram displays object interactions organized around objects and their links to one another.
Component/Deployment Diagram (1/2) • Component diagrams illustrate the organizations and dependencies among software components. • A component may be • A source code component • A run time components • An executable component • The deployment diagram shows the configuration of run-time processing elements and the software processes living on them • The deployment diagram visualizes the distribution of components across the enterprise.
PROPERTY Object-Oriented BOM (1/3) • [Chung, 1994] OOBOM에 관한 conceptual structure제시 • Part의 property와 BOM structure의 분리 • Part를 product, aggregation part, component part로 구분 PRODUCT Referencing Composed-of Own AGGREGATION PART Composed-of Composed-of COMPONENT PART BOM Object
Object-Oriented BOM (2/3) • [Trappey, 1996] OOBOM을 위한 Part class구조와 Interface 구현 • Part를 제조품 (MfgPart)과 구매품(ProcPart)으로 구분 • Interface를 PartWindow, ProductBrowser, PartLibrary, BOMTree로 구현 Part Generalization ProcPart MfgPart Aggregation ProcCo Routing Packaging
BOM ITEM CLASS Object-Oriented BOM (3/3) • [오태훈, 김선호, 1998] 객체지향형 기술정보관리시스템 • 도면, 부품, BOM 등의 데이터 관리 요소를 객체지향으로 분석, 설계 • 객체지향형 BOM이 관계형 DB와도 연결될 수 있게 설계 BOM CLASS BOM ITEM CLASS Parent Code BOM Item 속성정보 Child Code Child Part Property Class
Continuous MRP (1/2) • [Anders Segerstedt, 1996] 계획오더별로 넘버를 부여해서 메모리와 계산시간 단축 • Reorder point system과 MRP시스템의 차이 • 가변적일지라도 미래의 수요를 고려한다. • BOM에 따라 품목간의 관계를 고려한다. • 미래의 작업부하량(work load)까지도 알 수 있다. • MRP와 관련된 비효율성 • Firm Planned Order : FPO는 MRP의 time-phasing technique을 무시한다. 그렇지만 time-phasing이 없는 MRP는 진정한 MRP가 아니다. • 잔여재고(Remnant stocks) : FOQ의 정책을 사용할 경우 remnant stock는 항상 존재하게 된다. POQ를 사용하더라도 이론상으로는 remnant stock이 존재하지 않지만 수요 자체가 확률적이기 때문에 어떤 경우에든 실제적으로는 remnant stock이 존재하게 된다. • 불균형(Imbalance) : 한 품목이 여러 품목을 만드는 데 사용할 경우 불균형이 발생할 여지가 있다.
Continuous MRP (2/2) • [John A. BUZACOTT, 1997] Continuous time distributed decentralized MRP • 전통적인 MRP는 시간을 같은 길이의 bucket으로 나누어서 각 bucket의 끝에서 event가 발생한다고 가정한다. • 이 연구를 통해서 continuous하게 monitor되는 분산된 환경의 MRP를 formulation했다.
O-O Manufacturing Information System • [B. WU, 1995] 계층적 객체지향 Manufacturing System Analysis방법. • 전통적인 시스템 분석방법과 O-O분석법의 차이 • 시스템을 하부시스템으로 분해하면서 모델링하는 계층적 방법 • Problem domain내에서 각각의 entity들을 모델링하는 Bottom-up 방식 • O-O 방법론의 장점 : 실제적 view, 확장성(재사용), 유연성 • 제조분야는 특성이 계층적이어서 완벽한 Bottom-up이 힘들기 때문에, 초기에는 계층적 분석법을 사용해 전체적 구조를 잡고, 이후에는 Bottom-up 방식을 적용(HOOMA) • [Kim, 1993] OOMIS 방법론 개발 • 분석 : Function의 분해, Functional Diagram, 각종 표. • 설계 : Aggregation and Integration, Class Definition, Semantic Design. • 구현
나의 연구 • 연구의 목적, 의의 • 객체지향 모델링 방법을 따라서 MRP System을 설계 • 재사용 가능한 component의 구현 • 재사용 가능한 component를 설계함으로써, MRP 시스템 도입에 편의성 제공 • 연구의 내용 • MRP의 data와 function에 대해 분석 • 분석된 data와 function에 대한 객체지향적 설계 • 설계된 내용을 토대로 prototype 구현
연구범위 • 요구분석을 통한 data, function분석 • MRP의 domain내에서 발생하는 사건들을 분석 • 산출물 : Use case Diagram, Sequence Diagram등 • Class Diagram을 중심으로 객체모델링 (Conceptual Model) • 분석된 data, function의 객체화 • 객체들에 대한 relation, interaction 설계 (Class Diagram) • Conceptual Model에 대한 Physical Model 설계 • 연관관계가 높은 class들에 대한 module화 (part, BOM, MRP….) • 산출물 : Package(Component) Diagram • Physical Model의 Prototype구현