2015 sinvas user conference - spl/sspl을 통한 임베디드 소프트웨어 개발방안

16
Always Your Business Partner

Upload: suji-lee

Post on 07-Apr-2017

563 views

Category:

Software


4 download

TRANSCRIPT

Page 1: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

Always Your Business Partner

Page 2: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

1

SPL과 소프트웨어 공학의 이해

SW 규모및복잡성

민첩한시장적용

유연성과확장성

SW 융합제조라인

대량생산다변화

SW중심의생산체계

Page 3: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

2

SPL (Software Product Line) 이란?

•생산되는제품의패밀리–제품군

•보유하고있는소프트웨어자산에서유사한소프트웨어시스템

의포트폴리오를생성하고

관리하는 공학적기술을지칭

•제품군의구성요소와구성요소의조합물을공통성과가변성

도출

SPL(Software

Product Line)

Product Line

Product Line

Architect

Page 4: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

3

SPL Engineering의 이해 및 핵심활동

특정도메인에속한여러시스템의공통점및차이점을분석하여,

공통적으로사용가능한핵심자산 (Core Asset)을확보하고,

각제품군별로아키텍처를공유하며,

이핵심자산의기반을컴포넌트들을조립함으로원하는시스템을개발

하는방식

SPL Engineering

제품라인(공통성과 가변성확보를 통한재사용성향상)

비즈니스 목표/응용도메인

아키텍처

컴포넌트

Products공유

조립

적합

Core AssetDevelopment

ProductDevelopment

Management

Page 5: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

핵심 자산 개발(Core Asset Development)

핵심 자산 개발(Core Asset Development)

일반적으로도메인공학(Domain Engineering)이라고도불리며, 이활동의목적은제품을위한생산환경을수립하는것

아무것도 없는 상태에서 수행되는 것이 아니라 오히려 기존에 존재하는 제약과자원의 상황에따르는 문맥(Context) 내에서 수행

중요한 네가지 문맥 인자

제품제약사항

생산제약사항

생산전략

기존자산

핵심자산개발활동수행을 통해 생성

제품군범위

핵심자산저장소

생산계획간의연관관계

4

Management

Product Constraints

Production Constraints

Production Strategy

Preexisting Assets

Core AssetDevelopment

Product Line Scope

Core Asset Base

Production Plans

Core AssetDevelopment

ProductDevelopment

Management

Page 6: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

제품 개발(Product Development)

일반적으로응용공학(Application Engineering)이라고도불리며, 핵심자산을재사

용하여개별제품을개발하는것

제품개발활동에서는앞서핵심자산개발활동의산출물로생성된제품라인범위, 핵

심자산저장소, 생산계획뿐만아니라각개별제품의요구사항에의존하여개별제품

을개발

개별제품의요구사항을충족시키는제품을생산하기위해제품군범위내에서생산계

획에따라핵심자산저장소를활용

또한핵심자산을활용하는데있어

마주한어떤문제또는부족함에

대하여피드백을제공

5

ProductsFeedback

New AssetsProduct Constraints

Production Description

ManagementManagement

ProductDevelopment

Core Asset Base

Production Plan

Product Line Scope

Core AssetDevelopment

ProductDevelopment

Management

Page 7: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

관리 (Management)

다양한수준에서성공적인 SW PLE 개발방법론을이끌기위한관리적인활동

기술적관리활동뿐만아니라조직적관리활동을포함

기술적 관리: 핵심 자산개발과 제품개발에 대한 관리

조직적 관리: 적절한 조직구조 정의및적당한 자원 분배에대한 관리

6

SW 엔지니어링 기술관리 조직관리

아키텍처정의 (Architecture Definition)

형상관리(Configuration Management)

비즈니스케이스작성(Building a Business Case)

아키텍처평가 (Architecture Evaluation)

데이터수집, 지표및추적(Data Collection, Metrics, and Tracking)

고객인터페이스관리(Customer Interface Management)

컴포넌트개발(Component Development)

개발/구매/발굴/커미션 분석(Make/Buy/Mine/Commission Analysis)

인수전력개발(Developing an Acquisition Strategy)

COTS 활용 (COTS Utilization) 프로세스정의 (Process Definition) 비용조달 (Funding)

기존자산발굴(Mining Existing Assets)

범위결정 (Scoping)착수및조직화(Launching and Institutionalizing)

요구공학(Requirements Engineering)

기술계획(Technical Planning) 시장분석 (Market Analysis)

SW 시스템통합 (SW System Integration)

기술위험관리(Technical Risk Management)

운영 (Operations)

테스팅 (Testing) 도구지원 (Tool Support) 조직계획 (Organizational Planning)

도메인분석 (Understanding Relevant Domain)

조직위험관리(Organizational Risk Management)

조직구성 (Structuring the Organization)

기술예측 (Technology Forecasting)

훈련 (Training)

활동 영역(Practice Area)에 포함된 29개의 활동(Practice)

OrganizationManagement

Domain Engineering Technical Management

Application Engineering

Business Case Management

Transition Management

Operation Management

ProcessManagement

Variability Management

Support Management

DomainRequirementEngineering

DomainDesign

DomainRealization

DomainTesting

Product LineScoping

Domain Asset Management

ApplicationRequirementEngineering

ApplicationDesign

ApplicationRealization

ApplicationTesting

Core AssetDevelopment

ProductDevelopment

Management

Page 8: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

SPL 통합개발 환경 구축

7

Page 9: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

SPL 통합개발 환경 구축

Application Management

Application Requirements

Engineering

Application Design

Application Realization

Application Testing

Instantiation

Product Management

Domain Requirements

Engineering

Domain Design

Domain Realization

Domain Testing

어플리케이션개발관리

어플리케이션요구사항관리

어플리케이션설계

어플리케이션구현

어플리케이션테스트

Dom

ain

Engin

eering

Applic

ation

Engin

eering

PLATFORM

PLATFORM

COM COM COM COM

Application #1

PLATFORM

COM COM

COM COM COM COM

PLATFORM

COM COM COM COM

COM COM COM COM

Application #2

Repository

Instantiation

Production

Application

SPL 프로세스관리도구

도메인분석도구

플랫폼아키텍처설계도구

플랫폼구현도구

플랫폼시험도구

플랫폼기반 SW 개발도구

플랫폼기반 SW 개발도구

플랫폼기반 SW 개발도구

8

Page 10: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

SPL 프로세스 관리도구

프로세스

관리

가변성관리

자산

관리

지원관리

9

Page 11: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

SPL 프로세스 관리도구

10

Page 12: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

도메인분석 도구

역 공학(Reverse Code)

11

Page 13: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

플랫폼 아키텍처 설계 도구

다양한무기체계와방법론적용을위해유연한모델링

확장지원을통해향후사용성을높임

ERD (Database설계)SysML(시스템모델링)UML (시스템설계)

12

Page 14: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

플랫폼 구현 및 시험도구

설계모델을기준으로정의된변환규칙을기반으로원하는형태의코드를생성함

Statechart Diagram

Activity Diagram

Sequence Diagram

13

Page 15: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

플랫폼 구현 및 시험도구

Rule

SQL Injection

Resource Injection

Cross-site Scripting

Buffer overflow

User Defined

사용자정의Rule의선택을통해최적의정적분석기능제공 주기적혹은이벤트에의한자동

테스트가가능하도록커맨드라인

테스트기능

커맨드라인테스트기능의

제공으로 Jenkins를포함한다양한

도구와의협업활용가능성제공

14

Page 16: 2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안

SW개발 도구 검증

15