순서
• 튜토리얼의 목적
• 소프트웨어 부품의 증가
• HW와 SW 개발 지원 시스템
• PDM 소개
• SCM 소개
• PDM 과 SCM 비교
• PDM과 SCM 통합
• 사례 – Ericsson• 통합연구
• 결론
튜토리얼의 목적
• 제품개발에서 소프트웨어 중요도 인지
• 소프트웨어 개발을 지원하는 SCM (Software Configuration Management) 시스템 기본 기능 소개 및 PDM과 비교
• PDM 과 SCM 통합 이해
• PDM과 SCM 통합 사례 및 연구 소개
소프트웨어 부품의 증가
• 다양한 고객요구를 효과적으로 만족시키기 위하여 최근 제품은 소프트
웨어를 광범위 하게 도입
• 대표적 개인 음향기기인 Sony Walkman과 Apple iPod
• 마이크로소프트는 2005년 7월 Windows Automotive 5.0 출시
WM-FX197 from www.sony.com 2006 iTunes and iPod from www.apple.com 2006
자동차에서의 SW중요도 증가from ‘자동차와 IT간 컨버전스 동향과 과제’, SERI경제포커스(제65호), 2005
• 생명과 안전 때문에 보수적인 자동차 업계에서도 Software 도입 확대 (IT에 비하여 극한환경 (강한 진동, -40 ~150 C°)에 대한 내성과 극단적으
로 낮은 불량률(500ppm vs. 0ppm), 그리고 3배의 수명 (10년) 요구)
• 차량구동에 필요한 소프트웨어 2000라인(70년대)에서 4백만라인(2006년)으로 2000배 증가
• 전자 기기가 자동차 총 제조원가에 차지하는 비율은 20%
– 도요타의 하이브리드 차종인 프리우스의 경우 47%
– 전자부분 중 소프트웨어 비중 2005년 10%에서 2015년 20%로 증가
• 북미 자동차 업계 100억 달러 품질보증 비용 중 30-40%가 전자 및 소프
트웨어 문제에서 발생
• 소프트웨어에 대한 자동차 업계 내 인식이 전자기기의 부속물에서 독립
적인 제품으로 격상
Toyota Prius
from www.toyota.com 2006
HW와 SW 개발 지원 시스템
• 컴퓨터 기반 HW 개발 지원 시스템 – Product Data Management (PDM) 혹은 PLM (Product Lifecycle Management) 시스템
• 컴퓨터 기반 SW 개발 지원 시스템 – Software Configuration Management (SCM) 시스템
• PDM과 SCM은 서로 독립적으로 발전
• PDM과 SCM 기능을 통합적으로 제공하는 지원 시스템 필요
• 기존의 PDM 과 SCM 통합 연구는 SCM 입장에서 접근
– SCM에서 PDM의 제품구성(Product Configuration) 기술을 도입
– HW를 포함하는 일반적인 제품개발 프로세서 고려 못함
• PDM 전문가 입장에서 SCM을 통합하는 접근 필요
확장된 PLM 기능에서 SW 통합 개발from ‘PLM Guidebook’, BB미디어, 2005
항목 내용
목표 혁신(Innovation)
주요관리대상 제품개발에 대한 지식자산(Intellectual Asset), 협업(Collaboration)
적용기술 Internet 기술, Business Solution(통합, Method, Best Practice, Framework)
적용환경 확장기업, 가상기업, 글로벌 기업
기능확대(제품개발) Program Mgt., Contents Mgt., 다양한 Product Definition Model,
Requirement Mgt., Product Specifications, Electronic and Software Design, Accessibility (with Visualization)
기능확대(제품개발
외)
Manufacturing Process Plan (Digital Manufacturing), Operational Process Plan, As-Maintained Configuration Data, Technical Publication (Service Manual, User Guide and Assembly Instruction), Design Chain Management (as an Enterprise Application, ERP, SCM, CRM과 연동)
HW 개발 프로세스
상품기획상품기획 개념설계개념설계 시스템설계시스템설계 상세설계상세설계 시제품개발시제품개발 생산준비생산준비
설계변경요청
설계변경요청
설계변경연구적용
설계변경연구적용
설계변경검토승인
설계변경검토승인
설계변경적용
설계변경적용
신제품개발 프로세스:
설계변경 프로세스:
PDM의 정의from ‘PDM: Definition’, CIMdata Report, 1997
“PDM은 설계자를 비롯한 관련 부서가 제품개발 프로세스와 이에
필요한 제품자료의 효과적 관리를 지원하는 도구이다. PDM 시스
템은 제품의 설계, 생산 혹은 건설 그리고 유지 보수에 필요한 자
료나 정보를 관리하게 된다. “
- CIMdata, 1997 -
PDM의 주요 기능
“PDM은 제품설계 부서의 제품개발 관련 정보와 프로세스를 효과적으로
관리하기 위한 컴퓨터와 네트워크 기반의 정보 시스템 운용 활동을 뜻하
며 다음의 기능을 제공한다.”
– 부품리스트 및 분류 관리
– 설계문서 관리
– 제품구성 및 구조 관리
– 설계변경 프로세스 관리
– 프로젝트 관리
– 외부 인터페이스
PDM 기능 구조from ‘PDM: Definition’, CIMdata Report, 1997
기업 PDM Solution
PDM Applications
제품형상관리/기술문서관리
협업적 제품개발 지원/Project 관리
PDM User Functions
/자료저장소 및 문서관리
/워크플로우와 업무관리
/제품구조관리
/기준부품 분류
/프로그램 관리
PDM Utility Functions
/의사교환 및 통지
/자료전송 및 전환
/이미지 서비스
/관리기능
/응용 프로그램 통합
Dassault Systems SmarTeam V5R14문서관리
권한관리
부품관리제품구조 관리제품구성 관리
CAD모델보기
Dassault Systems SmarTeam V5R14(계속)
설계변경관리
SW 개발 프로세스from ‘Implementing and Integrating PDM and SCM’, Artech House, 2003
요구분석요구분석 설계설계 구현구현 통합과 시험통합과 시험 릴리즈릴리즈
SW 개발 프로세스:
고객요구
시스템 구조
기능 정의
소스코드
실행파일
생성/변경
참조
SW 특징
• 변경이 쉽다.
• 개발비가 높고 생산비가 매우 낮거나 들지 않는다.
• 최종 제품에 대한 정확한 설계가 없다.
• 제품개발의 복잡도가 매우 높다.
SCM 정의
• 소프트웨어 제품 개발 전 과정에 걸쳐 개발과 변경을 관리하는 방
법론
• 프로그램 팀에 의하여 개발되는 소프트웨어의 변경을 정의하고, 조직하며, 관리하는 행위
• SCM에 대한 두 가지 관점:
– SW 제품개발 조정 및 평가 (관리자)
– 버전관리, 동시개발, 버전간 차이 검토 등 개발 활동 자동화
(개발자)
SCM 주요 기능from ‘Implementing and Integrating PDM and SCM’, Artech House, 2003
• 버전관리 – SCM 주요기능, Configuration Item을 대상
• 구성선택 – 특정 버전의 파일의 집합인 구성 결정, Label 이용
• 빌드 관리 – 정해진 내용과 순서에 따라 SW제품을 컴파일
• 릴리즈 관리 – 다양한 릴리즈 별로 제품 출시 관리
• 동시개발 – 동시에 SW 제품의 다양한 부분을 개발
• 분산개발 – 지역적으로 분산되어 SW 개발
• 워크스페이스 관리 – 개발자가 독립적으로 시험할 수 있는 공간
• 변경관리 – 변경 프로세스와 추적 기능
버전관리
1.4 1.5 1.6 2.0
1.5.1.1
1.5.2.1 1.5.2.2
1.4.1.1 1.4.1.2 1.4.1.3Mac branch
Main
Bug Fix 1
Bug Fix 2
revision
branchmerge
구성선택/빌드 관리/릴리즈 관리
1.9 2.0 2.1 2.2
2.7 2.8Product
Item A
Item B
Item C
Release 2.2Release 2.2 Release 2.3Release 2.3
Build
2.1 2.2
2.0 3.0 3.1
Build
Release 2.3Release 2.3
Release 2.3Release 2.3
Release 2.3Release 2.3Release 2.2Release 2.2
Release 2.2Release 2.2
Release 2.2Release 2.2
Label
Item/version Release 2.3 Stable Latest
Product 2.6.1.1 3.0 3.1
Item A 1.2 1.2 1.3
Item B 1.1 1.1 1.1
Item C 1.1 1.1.1.1 1.2
Item D 4.2 4.3 4.3
Developers use different configurations concurrently
Established
LabelLabel
Version
Planned
LabelLabel
Version
동시개발
2.6 2.7 3.0 3.1
2.7.1.1
2.7.2.1 2.7.2.2
2.6.1.1 2.6.1.2
Item A
Branch
product
-Bugfix 2
-Bugfix 1
Rel.2.3Rel.2.3
Time now
-External release2.3
StableStable
2.6.1.3
4.0
Rel.2.3Rel.2.3 StableStable
1.2 1.3 2.0
Rel.2.3Rel.2.3 StableStable
1.1Item B
Rel.2.3Rel.2.3 StableStable
1.1
1.1.1.1
Item C
-Bugfix 1
1.2
Rel.2.3Rel.2.3StableStable
4.2
4.2.1.1
4.3 5.0
4.2.1.2
4.2.2.1 4.2.2.2 4.2.2.3
Item D
-Bugfix 2
-Maintenance Rel 2.3
Rel.2.3Rel.2.3
Site A Site B
MainMain
1.0
1.1
1.2
2.0
BugfixBugfix
1.1.1.1
1.1.1.2
Main branch
Owned by site AMainMain
1.0
1.1
1.2
BugfixBugfix
1.1.1.1
1.1.1.2
Bugfix branch
Owned by site B
2.01.1.1.3
Update automatically
sent between replicas
to keep them
synchronized
Version 1.1.1.3
Not yet sent to
The other replicas
Replication of repositories
분산개발
Evaluation in the description is correct. Adding
Toolkit wide. Event
Evaluation
NoneWorkaround
Container. trackMouseEnterExit() calls startListeningForOtherDrags() when the mouse pointer enters the container, It calls stopListeninForOtherDrags() when the mouse exits thecontainer….
Description
Nov 25, 1998Submit date
4196661,4214832, 4224393, 4228292Related bugs
Close, fixedState
1.1.8, 1.2.2Release fixed
1.2RC1, 1.1.7a, 1.1.7B, 1.1.5, 1.2fcs,
2.2_sc_build23, 1.1.6, 3.0 and 1.2.1
Reported
Against
java:classes_awtcategory
Container. trackMouseEnterExit leaks memorySynopsis
4179245Change
Request id
Evaluation in the description is correct. Adding
Toolkit wide. Event
Evaluation
NoneWorkaround
Container. trackMouseEnterExit() calls startListeningForOtherDrags() when the mouse pointer enters the container, It calls stopListeninForOtherDrags() when the mouse exits thecontainer….
Description
Nov 25, 1998Submit date
4196661,4214832, 4224393, 4228292Related bugs
Close, fixedState
1.1.8, 1.2.2Release fixed
1.2RC1, 1.1.7a, 1.1.7B, 1.1.5, 1.2fcs,
2.2_sc_build23, 1.1.6, 3.0 and 1.2.1
Reported
Against
java:classes_awtcategory
Container. trackMouseEnterExit leaks memorySynopsis
4183035Change
Request id
Evaluation in the description is correct. Adding
Toolkit wide. Event
Evaluation
NoneWorkaround
Container. trackMouseEnterExit() calls startListeningForOtherDrags() when the mouse pointer enters the container, It calls stopListeninForOtherDrags() when the mouse exits thecontainer….
Description
Nov 25, 1998Submit date
4196661,4214832, 4224393, 4228292Related bugs
Close, fixedState
1.1.8, 1.2.2Release fixed
1.2RC1, 1.1.7a, 1.1.7B, 1.1.5, 1.2fcs,
2.2_sc_build23, 1.1.6, 3.0 and 1.2.1
Reported
Against
java:classes_awtcategory
Container. trackMouseEnterExit leaks memorySynopsis
4190011Change
Request id
Evaluation in the description is correct. Adding
Toolkit wide. Event Queue Listener keeps a
Evaluation
NoneWorkaround
Container. trackMouseEnterExit() calls startListeningForOtherDrags() when the mouse pointer enters the container, It calls stopListeninForOtherDrags() when the mouse exits thecontainer….
Description
Nov 25, 1998Submit date
4196661,4214832, 4224393, 4228292Related bugs
Close, fixedState
1.1.8, 1.2.2Release fixed
1.2RC1, 1.1.7a, 1.1.7B, 1.1.5, 1.2fcs,
2.2_sc_build23, 1.1.6, 3.0 and 1.2.1
Reported
Against
java:classes_awtcategory
Container. trackMouseEnterExit leaks memorySynopsis
4193022Change
Request id
Branch2.3
Rel. 1.2Rel. 1.2
2.4 3.0
StableStable
Item D
-Bugfix 2
-Maintenance Rel 1.2
2.3.1.1 2.3.1.2
Rel. 1.2.1Rel. 1.2.1
2.3.2.1
Rel. 1.2.2Rel. 1.2.2
2.3.2.2 2.3.2.3
• 변경프로세스
• 변경요청 추적 기능
변경관리
Microsoft Visual Source Safe 6.0
• MS의 SCM으로 Windows 기반의 비교적 단순한 기능 제공
• 프로젝트 중심, 파일 및 디렉터리 기반 SCM
• MS Visual Studio와 연동 – VB, VC++, InterDev 등과 연동
• 버전관리
– Project 기반 Branch 와 Merge
• 구성선택/빌드관리
– Label 및 MS Visual Studio와 연동
• 분산개발 가능
• 사용자 관리 및 보안 설정
Configuration ItemsMS SourceSafe 6.0
Projects Files
버전과 LabelMS SourceSafe 6.0
BranchMS SourceSafe 6.0
CompareMS SourceSafe 6.0
MergeMS SourceSafe 6.0
BuildMS SourceSafe 6.0
PDM 과 SCM 비교from ‘Toward SCM/PDM Integration’ 1999
PDM SCM
Product Model ≠Product Model ≒ Product
Structure Constrained by reality No real constraint
Maturity + -
Standard e.g. STEP No consensus
Data model Object oriented Weak data models
Main issue Object modeling File handling
Components Parts / Assemblies Modules, Files
Relation Composition relationship Dependence relationship+ File hierarchy
Models vs.
Instances
Notion of occurrences
And quantitiesNo duplication of components
StandardStandardized product models
(STEP’s IR) No standard
PR
OD
UC
T MO
DE
LFU
ND
AM
EN
TAL
PDM과 SCM비교(계속) from ‘Toward SCM/PDM Integration’ 1999
PDM SCM
Versioned data
Model
No version concept in the EXPRESS data model
Versioning concept are included in the data model
Historical
VersioningRevision Revision
Logical
VersioningAlternate, substitute, option Variant or branch
Domain
Versioning
Views
(as-planned, as-designed)-
SelectionContext : view + effectivity
+ alternate + substitute + optionNo, or attribute based
Representation Data base File system
Concurrent
EngineeringSharing
Work space
Isolation
PM Process model Changes and Approvals Tool specific
WO
RK
SP
AC
E
VE
RS
ION
ED
PR
OD
UC
T MO
DE
L
PDM과 SCM 버전 기능 비교
part 10 --B
part 10 --A
revisions
dwg02
dwg01
versions
attribute
attribute
attribute
Part Object
File Object
5
4
versions
3
2
1
2.2
2.1
branch
merge
attribute
PDM과 SCM의 Effectivity와 Label 비교
fan1 fan2
rotor1
pin shaft
rotor2
fan1
rotor1
pin shaft
fan2
pin shaft
rotor2
rotor
rotor
rotor
effectivity1-99
effectivity100-현재
effectivity=5 로전개
effectivity=120으로전개
1.9 2.0
2.2Product
Item A
Item B
Item C
Release 2.2Release 2.2
Build
2.1 2.2
2.0 3.0
Release 2.2Release 2.2
Release 2.2Release 2.2
2.3
Build
Release 2.3Release 2.3
Release 2.3Release 2.3
Release 2.3Release 2.3
PDM과 SCM의 제품구조 비교
Config A ProductConfigurations
Options
Parts
Documents
Items
Option 1000 Option 2000
part 10
part 20 part 30
part 40
part 50
Meta data를directory로표현
Directory로Phase/View까지
표현
Document version 관리를하나 Part에고정
공유부품
계층구조
EffectivityBuild
하나의문서를나누어서변경한후추후 Merge가능
제품구조모델
Common repositoryCommon repository
APIAPI
SCMSCM
APIAPI
APIAPI
PDMPDM
APIAPI
APIAPICommon user interface
APIAPI
PDMPDM
APIAPI
APIAPI
Common information model
PDM and SCM integration Common API and common repositories.
Repositorylayer
Businesslayer
User interfacelayer
PDM과 SCM 통합 - 완전통합from ‘Implementing and Integrating PDM and SCM’, Artech House, 2003
UIUI
APIAPI
PDMPDM
APIAPI
RepositoryRepository
UIUI
APIAPI
PDMPDM
APIAPI
RepositoryRepository
Interoperabilityfunctions
Interoperabilityfunctions
Users
PDM and SCM loose integration
PDM과 SCM 통합 – 느슨한 통합(1)
Users
UIUI
APIAPI
PDMPDM
APIAPI
RepositoryRepository
UIUI
APIAPI
PDMPDM
APIAPI
RepositoryRepository
UIUI
APIAPI
PDMPDM
APIAPI
RepositoryRepository
Interoperabilityfunctions
Interoperabilityfunctions
Interoperabilityfunctions
Interoperabilityfunctions
Middleware
A loose integration using middleware technology
PDM과 SCM 통합-느슨한 통합(2)
통합적용사례 -Ericsson from ‘Implementing and Integrating PDM and SCM’, Artech House, 2003
• Ericsson 에서는 SCM으로 ClearCase를 사용
• SCM의 Attribute로 Meta Data 관리에 어려움
• PDM과 통합을 통해 SW 개발을 위한 Meta Data 관리
• PDM – Meta Data와 Process 관리, SCM – Source Code관리
• PDM으로써 eMatrix 선택
• 구성구별(Configuration Identification), Baseline (BL) 관리, 구성관리 및
변경 요청에 PDM 사용
– eMatrix의 Name, Type, Revision 속성을 사용하여 Item 관리
– 프로세스를 포함하는 eMatrix의 BL을 이용
– eMatrix의 변경요구(CR) 객체를 이용하여 변경 관리
ClearCase와 eMatrix 통합 구조
eMatrix ClearCase
Check out
Check in Merge
MxCC
CR conn.
CR disc.
CRappr
BLapproved
PDM/SCM 인터페이스
상태보고 검색 구성관리 BL관리
Poling
구성관리자
ClearCase관리자
PDM과 SCM 통합 프레임워크 연구
• 기본 방향
– PDM에 SCM 기능을 통합
– 일반 SW에서 HW에 의존적 SW 분리
– 기존 PDM의 프로세스와 자료 모델 사용
• 통합 제품개발 프로세스
– 의존적 SW 분리
• HW 기반 제품구성에 SW 모듈을 제공
• HW 설계변경 시 SW 변경
– 의존적 SW를 고려한 제품개발 프로세스
• 통합 제품자료 모델
– 기존의 PDM 제품자료모델 사용
– 기존의 Part 개념을 확장한 Software Part 개념 적용
통합 제품개발 프로세스
Product PlanningProduct Planning
System Design
System Design
Detail DesignDetail Design
PrototypingPrototyping Prepare ProductionPrepare
Production
Coding &Test
Coding &Test
IntegrationIntegration ReleaseRelease
Schematic HW Proto for SW
Module DesignModule Design
Full SW Module
SW
HW
DependentSW
Integration Target
SW List &Structure
Explicit Config. Module
Product Development
DesignDesign
Coding & Testing
Coding & Testing
통합 제품자료 모델
ConfigurationConfiguration
OptionOption
PartPart
Consists of
Consists of
DocumentDocument
Has
Is a version of
Consists of
통합 제품자료 모델 적용 예
Configuration AConfiguration A Configuration BConfiguration B
Option AOption A Option BOption B Option COption C Option Software A
Option Software A
Option Software B
Option Software B
Part 110Part 110 Part 120Part 120 Part 130Part 130
Part110.prg Part120.prg Part130.prg
Part 10Part 10
Part 20Part 20 Part 30Part 30
EC Link
Part110.prg Part120.prg Part130.prg
제품구조 통합/설계변경 표현
1.1 1.2
Option A
part 110
part 120
part 130
1.1 1.2
1.1 1.3
1.3
1.2.1
1-current1-current
1-991-99
100-current100-current
100-current100-current
1-991-99
1-991-99
100-current100-current
기능추가
• Code Comparison
• Branch 와 Merge
• Build와 Release 관리
• Effectivity와 Label 연동
SmarTeam 구현 예 - Code Comparison
SmarTeam 구현 예 - Code Comparison (계속)
방법론 적용 예
KEDB Lab의 Argos Internet Scout Robot
Disassembled RCX
The Architecture of Robot System
Server OS
Camera
OS
Control Client
Web Server
Control Server
Control Program
FirmwareRobot Control Computer
Control Computer
WirelessNetwork
Client Computer
Sensors Motors
The Product Configuration Model
Options
Web Cam Basic Tracks Single Bumper
Double Bumper
Argos Type 1S Argos Type 1D
Software Single Bumper
Software Single Bumper
Software Double Bumper
Software Double Bumper
Configurations
Schematic HW Prototype
Product PlanningProduct Planning
System Design
System Design
Detail DesignDetail Design
PrototypingPrototyping Prepare ProductionPrepare
Production
Coding &Test
Coding &Test
IntegrationIntegration ReleaseRelease
Schematic HW Proto for SW
Module DesignModule Design
Full SW Module
SW
HW
DependentSW
Integration Target
SW List &Structure
Explicit Config. Module
Product Development
DesignDesign
Coding & Testing
Coding & Testing
Software Parts and Product Structure
Define speed= 10Define r_time= 10
Define speed= 10Define r_time= 10
main()….Call escape(x)….
main()….Call escape(x)….
escape(x) If x=1 thenIf x=2 then….
Head_tracks.prg Main_single_bumper.prg
escape(x) If x=1 thenIf x=2 then….
main()….Call escape(x)….
Escape.prg
main()….Call escape(x)….
SoftwareSingle Bumper
Main_double_bumper.prg
SoftwareDouble Bumper
결론
• 제품개발에서 SW 중요도 증가
• HW와 SW 통합 개발 지원 필요
• PDM 혹은 PLM 기반의 SCM 통합
• PDM 혹은 PLM 전문가의 SCM 이해 및 이용
• 체계적 프레임워크 기반의 접근 필요
• 다양한 SW 개발 프로젝트에 대한 통합 사례 필요
– 휴대폰, 자동차, 항공기, MP3 Player, 가전 등
• 추후 PLM의 중요한 확장 모듈 및 응용 분야가 될 것으로 예측
Top Related