163
2006 1 05MW1600-01-3000P 임베디드 시스템 개발 프레임워크 구축 Construction of the framework for developing embedded systems 주관연구기관 한국전자통신연구원 80

임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

년 월2006 1 05MW1600-01-3000P

임베디드 시스템 개발 프레임워크 구축

Construction of the framework for developing embedded systems

주관연구기관 한국전자통신연구원

정 보 통 신 부

80

Page 2: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

인 사 말 씀인 사 말 씀인 사 말 씀인 사 말 씀

기술 발전에 따라 진행되어 왔던 구조적 방법론이나 정보공학 방법S/W

론 객체지향 방법론 컴포넌트 공학 방법론은 임베디드 시스템이 갖고 있, ,

는 특정 제한 요인들을 위한 개발 기술이 반영되어 있지 않습니다 각종 전.

자기기 정보가전 제어장치의 임베디드 시스템들은 단순히 회로뿐만 아니, ,

라 특정한 기능을 수행하도록 시스템 가 내장되어 있으며 시스템 와S/W , S/W

의 다양한 제어와 기능을 개발하는 개발자들은 전통적인 개발방법론H/W S/W

을 임베디드 시스템이라는 새로운 페러다임에 적용하는데 있어 개발 환경의

차이와 개발 제약 사항으로 인해 새로운 개발체계가 필요한 상황입니다.

한편 생산성과 품질 개선의 근본 해결책으로 재사용이 끊임없, S/W S/W

이 제안되고 있습니다 실제 나 등에서는 성공적인 재사용. Nokia IBM, NASA

으로 생산 비용의 이상을 절감한 사례를 보고하고 있습니다 특히S/W 50% . ,

임베디드 의 요구 증대로 다양한 디지털 제품에 내장되어 생산에서 소비S/W

에 걸쳐 여러 계층의 수요를 만족시킬 수 있는 임베디드 를 재사용IT S/W

가능한 형태로 공급하고 이를 대 신 성장 동력 산업관련 기술 개발에 적용9

할 수 있는 체계적 환경을 구성한다면 임베디드 시스템의 고부가 가치를 생

성 확대 유지시킬 수 있습니다, , .

본 사업을 통해 개발된 임베디드 시스템 개발 프레임워크는 임베디드 시

스템 개발방법론인 마르미 개발방법론을 비롯한 프로젝트의 자산 관리-IV,

를 통한 프로세스 개선을 지원하는 개발방법론 지원도구 임베디드PRiME,

재사용 자산을 개발하기 위한 지침을 제공하는 임베디드 재사용 지S/W S/W

침 그리고 재사용 자산을 등록 및 공유하기 위한 재사용 지원 시스템,

로 구성되어 있습니다 이러한 방법론 및 지원 도구 등 개발체계 개ATLAS .

발과 더불어 이러한 개발체계가 실제적으로 사용될 수 있도록 시범 프로젝

트를 통해 검증하고 적용 사례를 개발하여 보급하고자 하였으며 보급을 활,

Page 3: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

성화하기 방안 등 제도적인 면에 대해서도 기본 연구를 수행하였습니다.

본 사업을 통해 개발된 임베디드 시스템 개발 프레임워크가 전략IT839

산업의 성공적 수행과 나아가서 국내 임베디드 산업의 경쟁력 확보에S/W

일조하고 본 사업에서 축적된 기술력을 바탕으로 국내 임베디드 공학, S/W

기술의 세계적인 경쟁력을 갖출 수 있도록 계속 매진하겠습니다.

끝으로 이러한 연구 개발을 수행할 수 있도록 지원해 주신 정보통신부에

깊은 감사를 드리며 위탁과제와 용역 등으로 본 사업에 참여하신 분들과,

연구 개발에 직접 참여하신 연구원 여러분들의 노고를 치하하는 바입니다.

년 월 일2006 1 31

한국전자통신연구원 원장 임주환

Page 4: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

제 출 문제 출 문제 출 문제 출 문

정보통신부장관 귀하

본 보고서를 임베디드 시스템 개발 프레임워크 구축 연구의 최종 연구개“ ”

발결과보고서로 제출합니다.

년 월 일2006 1 31

주관연구기관 한국전자통신연구원:

연구 책임자 박창순:

Page 5: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 1 -- 1 -- 1 -- 1 -

요 약 문요 약 문요 약 문요 약 문

제 목1.

임베디드 시스템 개발 프레임워크 구축

연구개발의 목적 및 중요성2.

가 목적.

본 연구는 제품계열 기반의 임베디드 시스템 개발방법론과 방법론을 지

원하는 개발방법론 지원도구를 개발한다 또한 임베디드 재사용 체계. S/W

구축 및 보급을 목적으로 임베디드 재사용을 위한 시범 프로젝트의 수S/W

행을 통해 재사용 사례를 개발 및 보급하고 임베디드 의 재사용 자산을, S/W

개발하기 위한 재사용 지침과 재사용 자산의 활용을 위한 임베디드 재S/W

사용 지원 시스템을 개발하고 이를 보급하는 것을 목적으로 한다, .

특정 산업용 기기의 제어를 위해 사용되던 임베디드 시스템이 유무선 네

트워크의 접목으로 디지털 정보가전 의료 항공 국방 등 전 산업 분야로, , ,

확대되는 시대가 도래하고 있다 임베디드 시스템은“Embedded Everywhere" .

실시간 처리 저전력 등의 물리적 특성과 와 의 동시 설계 리소스의, H/W S/W ,

절제된 사용 등의 특성을 반영해야하므로 시스템 개발 전 과정에서 이러한

특성을 만족시키는 개발체계의 구축이 필요하다 특히 임베디드 의 공, , S/W

통 핵심 기술을 자산화하여 재사용할 수 있는 환경 구축은 기술의 중복 개

발을 최소화하고 이들의 기술적 가치를 증대시킨다 따라서 고품질의 임베, .

디드 시스템을 적시에 경제적으로 개발 할 수 있는 임베디드 시스템 개발방

법론 개발하고 임베디드 재사용 체계를 구축 및 보급함으로써 국내 임, S/W

베디드 산업의 경쟁력을 높이고자 하는 것이 본 연구의 궁극적 목적이다S/W .

Page 6: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 2 -- 2 -- 2 -- 2 -

나 중요성.

임베디드 시스템 시장은 시스템의 다양성을 짧은 기간 안에 만족시키는

것을 요구하고 있으며 급속히 진화하는 다양한 기술의 융합을 임베디드 시,

스템 내에서 지원해야 하므로 임베디드 시스템 중 여러 시스템에 공통적으,

로 적용되는 부분과 변경하여 적용되는 부분을 명확하게 정의하는 기술이

필요하다 이를 위해 공학적 측면에서 임베디드 시스템에 특화된 개발. S/W

방법론 및 이에 따른 개발 단계별 절차와 산출물을 일관성 있게 관리할 수

있는 지원 도구의 개발이 중요하다.

실시간성 다양성 이동성 등 에 대한 오늘날의 공통 요구들은 임베, , S/W

디드 기술 개발에 모두 집적되어 있어 임베디드 기술의 발전은 모S/W , S/W

든 산업 기술 향상에 견인차 역할을 한다 따라서 정보기술 분야에서S/W .

파급 효과가 큰 임베디드 공통 핵심 기술을 자산화하고 이를 체계적으S/W

로 재사용할 수 있는 환경을 구축하는 것은 신 성장 동력 사업 수행에 공통

적으로 필요한 핵심 기술들의 중복 개발을 최소화할 수 있다.

또한 임베디드 시스템이 점점 복잡해지고 비중이 높아짐에 따라 임S/W

베디드 를 개발하는데 필요한 다양한 지식을 체계적으로 수집 분석 모S/W , ,

형화 탐색 및 활용할 수 있는 지식관리의 중요성이 증가하고 있다 따라서, .

임베디드 시스템 개발 지식을 자산화하고 이를 목표 시스템 개발을 위해 활

용하기 위한 임베디드 개발 지식의 관리 체계가 필요하다S/W .

경제산업적 측면에서 가트너 데이터퀘스트에 따르면 세계 임베디드, S/W

시장은 년 억달러에서 오는 년 억달러로 매년 평균 의 급2002 200 2007 500 20%

격한 성장세를 보일 것으로 예상되며 국내 시장도 년 억달러에서, 2002 7.6

년에는 억달러로 확대될 것으로 예상된다 그러므로 세계적인 통신2007 19 .

인프라와 제조업 기반을 보유하고 있는 우리나라가 임베디드 의 체계적S/W

인 개발 및 재사용 체계가 마련된다면 임베디드 제품 시장의 우위를 선S/W

점할 수 있는 중요한 기회가 된다.

Page 7: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 3 -- 3 -- 3 -- 3 -

연구개발의 내용 및 범위3.

년 도 목 표 과 제 내 용

차년도1

(2004)

임베디드 시스템 개발

프레임워크

프로토타입 개발

임베디드 시스템 개발방법론 개발o

임베디드 시스템 개발방법론 분석 및 설계-

임베디드 시스템 개발방법론 구현-

임베디드 시스템 개발방법론 지원도구 개발o

방법론 관리도구 개발-

프로젝트 관리도구 개발-

차년도2

(2005)

임베디드 시스템

개발방법론 개발

임베디드 시스템 개발 방법론 구현o

프로젝트 관리 프로세스 기법 양식 정의- / /

- 품질 관리 프로세스 기법 양식 정의/ /

- 개발 프로세스 기법 양식 개선/ /

임베디드 시스템 개발 방법론 검증 및 통합o

임베디드 시스템

개발방법론 지원도구

개발

프로젝트 관리도구 구현o

자산 관리도구 프로토타입 개발o

개발방법론 지원도구 통합 및 시험o

임베디드 S/W

재사용을 위한 시범

프로젝트 수행

시범 프로젝트 계획 수립o

플랫폼의 재구조화 지원o ETRI Java

- 플랫폼의 재사용 요구사항 정의ETRI Java

- 플랫폼의 재사용 구조 정의ETRI Java

- 라이브러리 경량화 및 모듈화ETRI Java

재사용 시범 사례 구축o

- 데이터 방송용 셋탑박스와 텔레매택스 단말

기에 적용

시범 프로젝트 평가o

- 시범 프로젝트 결과 분석 및 검증

임베디드 재사용S/W

체계 구축 및 보급

임베디드 재사용 지침 개발o S/W

임베디드 재사용 절차 및 기법 개발- S/W

임베디드 생산성 향상 검증 기법 개발- S/W

임베디드 재사용 지원 시스템 프로토타o S/W

입 개발

시스템 요구사항 분석 및 정의-

시스템 설계 및 프로타입 구현 및 시험-

임베디드 재사용 체계 보급o S/W

- 임베디드 재사용 지원 시스템 시범운영S/W

- 재사용 체계 보급 계획 수립

- 임베디드 재사용 지침 교육S/W

Page 8: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 4 -- 4 -- 4 -- 4 -

연구개발 결과4.

임베디드 시스템 개발 프레임워크 구축 과제는 총 차년도에 걸쳐 수행2

되었으며 본 연구 개발의 결과는 아래와 같다, .

� 임베디드 시스템 개발방법론 마르미- -IV

영역 활동 지침서▪

산출문서 양식정의서▪

기법서 및 적용 사례서▪

� 개발방법론 지원도구 - PRiME

방법론 관리 지원도구▪

프로젝트 관리 지원도구▪

재사용 자산 관리 지원도구▪

� 임베디드 재사용을 위한 시범 프로젝트S/W

플랫폼의 재사용 구조 정의서ETRI Java▪

라이브러리ETRI Java▪

재사용 사례 시범 시스템 데이타 방송 텔레메틱스 단말( / )▪

� 임베디드 재사용 체계 구축 및 보급S/W

임베디드 재사용 지침서S/W▪

재사용에 의한 생산성 향상 평가 기법서▪

재사용 지원 시스템 (ATLAS)▪

재사용 체계 보급 계획서▪

Page 9: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 5 -- 5 -- 5 -- 5 -

활용에 대한 건의5.

국내 대부분의 임베디드 시스템 개발 업체들은 우선 코딩하고 수정하는

비효율적인 개발에 의존하고 있는 실정이다 이에 임베디드 시스템 개발 방.

법론은 시스템 개발 및 관리를 위한 체계를 정립하고 표준화할 수 있는 임,

베디드 시스템 개발 업체의 표준 개발 방법론으로 활용할 수 있으며 개발,

방법론 지원도구는 표준 임베디드 시스템 개발방법론의 정의 및 개선에 활

용 할 수 있다.

재사용 시범 프로젝트의 결과물인 라이브러리는 재사용 사례ETRI Java

의 로서 활용이 가능하며 임베디드 재사용 지침서는 임Bast Practice , S/W

베디드 시스템 개발 업체의 재사용 자산 식별 및 생성을 위한 가이드로 활

용할 수 있다.

임베디드 재사용 지원 시스템은 임베디드 시스템의 특성을 반영하여S/W

개발된 시스템으로 조직내의 재사용 자산을 생성하고 공유함으로써 자산의,

재사용을 촉진시킬 수 있는 기반이 되는 시스템으로 활용될 수 있다.

기 대 효 과6.

본 연구는 임베디드 개발생산성과 재사용을 획기적으로 향상시킬 수S/W

있는 기술 대안으로 최근 새롭게 부각되고 있는 제품계열 기반의 임베디드

시스템 개발방법론과 재사용 지원 체계를 개발하고 보급하는 것으로 연구

개발의 기대 효과는 다음과 같다.

� 기술적 기대효과

임베디드 시스템 개발을 위해 해결해야할 문제들을 분석 설계- , ,

평가의 관점에서 각각 추상화 및 일반화시켜 분석 및 통합 관,

리의 효과적인 개발체계가 구축될 경우 타 분야의 시스템 개발

Page 10: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 6 -- 6 -- 6 -- 6 -

에 많은 기술적 파급효과가 있을 것으로 예상됨

임베디드 자산의 재사용을 극대화하고 이를 관리하기 위한- S/W

기술 체계를 구축함으로써 한번 생성된 재사용 자산의 지속적인

품질 향상 및 버전별 자산의 관리가 가능해 국내 기술 경쟁S/W

력을 제고시킴

� 경제적 기대효과

- 유수한 외국의 기업과 대학들이 임베디드 시스템 개발 방법론 및

지원도구를 개발하는 중에 있으며 우리나라가 이 시점에서 이,

들의 기술 개발을 등한시 할 경우 대외 의존도가 심화된다 따라.

서 임베디드 시스템 개발 방법론 및 지원 도구의 개발은 이 분야

의 수입대체 효과가 있을 것으로 예상됨

- 다양한 개발 분야에 반복적으로 재사용될 수 있는 임베디드 S/W

및 개발 산출물들을 자산으로 축적하고 관리함으로써 타 영역의

임베디드 를 개발할 때 체계적이고 전략적으로 재사용이 가능S/W

하여 조직 내의 중복 투자 방지는 물론 개발비용을 상당 수준 절

감시킴

� 사회적 기대효과

개- 발 문제를 과학적으로 도출 및 분석하고 문제 해결을 여러 방

법으로 지원하는 개발 체계의 구축을 통해 체계적인 개발 지식의

획득 모형화 분류 재사용이 가능해질 수 있어 새로운 임베디, , ,

드 개발 문화를 구축할 수 있음S/W

- 임베디드 개발 시 생성되는 문서나 코드 자산을 재사용 시S/W

분석하기 쉽고 추가하기 쉬운 형태의 자산으로 관리함으로써 고,

객의 다양한 요구에 대해 최상의 서비스를 즉각적으로 공급S/W

할 수 있는 재사용 환경을 정착시킴S/W

Page 11: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 7 -- 7 -- 7 -- 7 -

SUMMARYSUMMARYSUMMARYSUMMARY

1. Title

Construction of Embedded System Development Framework

2. Objectives and Necessities

A. ObjectivesA. ObjectivesA. ObjectivesA. Objectives

The research aims to develop the embedded system development

methodology and a tool that facilitates the adoption and use of it.

Also, It includes the project that focus on verifying the possibility

of the embedded software reusability to propagate best practice from

the results and guidances with a web-based repository system for it.

In the last years, the usage of embedded system was constrained to

the special purpose device control in some industry area. But, it's

"Embedded Everywhere" times nowadays. That means that embedded system

become a necessity in all the industries including information

appliance, medical implements, aero space, military etc. What is more,

they are being connected through the wired or wireless networks.

The embedded system itself has characteristics or technical

obstacles such as real-time processing, low-power consumption and

limited resources, which is composed of hardware and software parts

that need to be designed and implemented in parallel. So, its

systematic approach or process which could cover the development

life-cycle fully and provide the communication mechanism between

Page 12: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 8 -- 8 -- 8 -- 8 -

hardware and software engineers is becoming critical.

When considering such a situation, it is significant to develop the

embedded system development framework, which focus on the

time-consuming redundant tasks to the minimum, the guarantees of

high-quality for the organization reusable asset and the supply of the

embedded software time-to-market, and provide the best-practice for

the organization. The ultimate goal of this research is to help local

embedded software development companies strengthen their

competitiveness in the future.

B. NecessitiesB. NecessitiesB. NecessitiesB. Necessities

The recent embedded system market needs not only diverse device

support with efficiency but also the support for the convergence

environment, that is, the composite device support. Considering this

situations, the industry needs the embedded system development-focused

method which should guide and provide the consistent process and

artifact documentation respectively. Also tools to support for them

should be prepared. They could define and reuse both what is common

and what is different in their embedded system development

environments through it.

The portion of software has been increased in the embedded system

which comprise of hardware and software. The technical difficulties of

the embedded software implementation also has been higher and higher

because of diverse requirements such as a hard real-time processing in

the mobile environments. So the development of embedded software is

Page 13: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 9 -- 9 -- 9 -- 9 -

becoming difficult more than the past. If the organization which has a

business in the embedded system domain could retain a method and

foundations to develop and reuse the common core technology,

specifically software for embedded, it could make a profit at least to

avoid redundant tasks.

Not only the technology but also the vast body of knowledge

accumulated in process of the project to develop embedded software are

should be kept as organization assets. In other words, it is very

significant for organization to manage the knowledge of gathering,

elicitation, analysis, modeling, and search for the asset. To

guarantee the systematic support and prevail in the organization,

knowledge management of the embedded system development also should be

followed.

The world-wide authoritative source of market research firms,

Gartner and Dataquest say that the embedded software market size of

the world would increase with a run from 20 billion in 2003 to 50

billion US dollars in 2007 by 20 % every year. In Korea, it would be

7.6 hundred million in 2002 and 19 hundred million US dollars in 2007.

If we could establish the systematic development process and reusable

framework, the embedded system product of Korea which has a good

infrastructure of telecommunication and manufacturing, could have a

opportunity to gain the leading position in the world market.

3. Contents and Scope of Research & Development

This research or development has been performed for 2 years.

Followings are the contents and scopes of it.

Page 14: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 10 -- 10 -- 10 -- 10 -

Year Objectives Contents & Scope

1st('04)

Embedded SystemDevelopmentFramework(ESDF)Prototyping

� Development of ESDF- Analysis and design- Implementation

� Development of method support tools- Method mgt. tool development- Project mgt. tool development

2nd('05)

Development of ESDF

� Implementation of ESDF- Definition of project mgt. process,technique and template- Definition of quality mgt. process,technique and template- Refinement of development process,technique and template

� Verification and integration of ESDF

Development ofmethod supporttools

� Implementation of project mgt. tool� Prototype development of asset mgt.

tool� Verification and test of tools

Project as ademonstration forthe embeddedsoftware reusesystem

� Project planning� Restructuring support for the ETRI

Java platform- Requirements elicitation- Architecture design- Modularization of ETRI Java library to

make it lighter� Construction for case study- Adaptation for the data-broadcasting

set-top box and telematics device� Evaluation- Analysis and verification of the

results

Embedded softwarereuse systemconstruction andpropagation

� Guidelines establishment- Development of procedure and technique- Development of technique for the

productivity verification� System prototype development- Requirements analysis and design- Prototype system design,

implementation and test� Propagation of reuse process for the

embedded software- Support system operation as a

demonstration- Propagation planning- Training of guidelines

Page 15: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 11 -- 11 -- 11 -- 11 -

4. Results of Research & Development

Results produced from this research are as follows.

� Embedded System Development Methodology: MaRMI-IV

Discipline Guidelines▪

Deliverable Templates▪

Techniques and Examples▪

� Supporting Tools for Methodology: PRiME

Method Management Tool▪

Project Management Tool▪

Asset Management Tool▪

� Embedded Software Reuse System Development Project

Architecture Description for the ETRI Java platform▪

ETRI Java Library▪

Demonstration System (Data Broadcasting/Telematics Devices)▪

� Construction and Propagation of Embedded Software Reuse

Embedded Software Reuse Guidelines▪

Productivity Verification Technique through the Reuse▪

Reuse Support System - ATLAS▪

Propagation Plan for Reuse Technique▪

Page 16: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 12 -- 12 -- 12 -- 12 -

5. Recommendation for Utilization

The Korean IT industry, especially software engineering

technologies has not been matured yet. The primary objectives of the

field is not the improvement of productivity and product

competitiveness through the systematic process but just the

qualitative production of software with a labor-intensive way. When

considering such a Korean IT industry situation, we could recommend

two ways to utilize results of the research by the embedded system

development type and each organization's needs.

First, some organization could adapt the full MaRMI-IV development

life-cycle to the new project to develop embedded system as a

organization-wide standard process. If it has a intent and decide to

do, the PRiME-the tool to support the process definition, project

customization and monitoring could be a valuable assistant. Second, if

others have a mind to introduce the systematic process incrementally

and a situation that they could not discard the former resource and

must reuse it anyway, they could consult to the best practice

guidelines which has been made through the ETRI Java Library

Development Case Project and utilize the ATLAS system which support

the organization asset facilitation through the identification,

register, sharing and etc.

6. Expected Effects

Through this research, we can expect following effects by three

Page 17: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 13 -- 13 -- 13 -- 13 -

perspectives:

� Technology Perspective

- Embedded software quality improvement

- Embedded software transferring

� Economic Perspective

- Import substitution

- Duplicate investment avoidances

� Social and Cultural Perspective

- Systematic software development culture achievement

- Customer satisfaction increase

Page 18: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 14 -- 14 -- 14 -- 14 -

CONTENTSCONTENTSCONTENTSCONTENTS

Chapter 1. Introduction............................................

Section 1. Necessity of Research & Development....................

Section 2. Objectives of Research & Development...................

Section 3. Major Contents and Results.............................

Section 4. Organization of the Report.............................

Chapter 2. Embedded System Development Methodology : MaRMI-VI..........

Section 1. Overview...............................................

Section 2. MaRMI-VI Development Methodology.......................

Chapter 3. Supporting Tool for User Methodology : PRiME...................

Section 1. Overview...............................................

Section 2. Major Structure and Functions..........................

Chapter 4. Case Study to Reuse Embedded S/W Repository...............

Section 1. Overview...............................................

Section 2. Requirements for the ETRI Java to be Reused............

Section 3. ETRI Java Platform Structure Considering Reusability...

Section 4. Results and Evaluation of Case Study...................

Chapter 5. Construction and Propagation for the Embedded S/W

Reuse Structure...............................................

Section 1. Guidelines for the Embedded S/W Reuse Structure........

Section 2. Support Tool for the Embedded S/W Reuse Structure

- ATLAS................................................

Section 3. Propagation of the Embedded S/W Reuse Structure........

Chapter 6. Conclusion..............................................

Reference...........................................................

Abbreviations.......................................................

Appendix............................................................

1. Lists of Participation Researchers.......................

2. Lists of Project Results.................................

Page 19: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 15 -- 15 -- 15 -- 15 -

List of Figures

(Figure 1-1) Conceptual Diagram of Embedded System Development

Framework............................................ ..

(Figure 2-1) MaRMI-VI Metamodel......................................

(Figure 2-2) MaRMI-VI Structure......................................

(Figure 2-3) Full Process Path of MaRMI-VI...........................

(Figure 2-4) Methodology Structure of MaRMI-VI.......................

(Figure 2-5) Task Structure of the Strategy Discipline...............

(Figure 2-6) Artifact Relationships of the Strategy Discipline.......

(Figure 2-7) Task Structure of the Domain Discipline.................

(Figure 2-8) Artifact Relationships of the Domain Discipline.........

(Figure 2-9) Task Structure of the Requirements Discipline...........

(Figure 2-10) Artifact Relationships of the Requirements Discipline...

(Figure 2-11) Task Structure of the Architecture Discipline...........

(Figure 2-12) Artifact Relationships of the Architecture Discipline...

(Figure 2-13) Task Structure of the Design Discipline.................

(Figure 2-14) Artifact Relationships of the Design Discipline.........

(Figure 2-15) Techniques for the Design Discipline....................

(Figure 2-16) Task Structure of the Implementation Discipline.........

(Figure 2-17) Artifact Relationships of the Implementation Discipline.

(Figure 2-18) Task Structure of the Test Discipline...................

(Figure 2-19) Artifact Relationships of the Test Discipline...........

(Figure 2-20) Techniques for the Test Discipline......................

(Figure 2-21) Task Structure of the Project Management Discipline.....

(Figure 2-22) Artifact Relationships of the Strategy Discipline.......

(Figure 2-21) Task Structure of the Strategy Discipline...............

(Figure 2-22) Artifact Relationships of the Project Management

Discipline..............................................

(Figure 2-23) Task Structure of the Maintenance Discipline............

(Figure 2-24) Artifact Relationships of the Maintenance Discipline....

(Figure 2-25) Task Structure of the Quality Assurance Discipline......

(Figure 2-26) Artifact Relationships of the Quality Assurance

Discipline..............................................

(Figure 2-27) Task Structure of the Configuration Management

Discipline.............................................

(Figure 2-28) Artifact Relationships of the Configuration Management

Discipline..............................................

(Figure 2-29) MaRMI-VI vs. Process Path Structure.....................

(Figure 2-30) Process Path for the Application Development............

Page 20: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 16 -- 16 -- 16 -- 16 -

(Figure 2-31) Process Path for the Middleware Development............

(Figure 2-32) Process Path for the Terminal Development..............

(Figure 2-33) Process Path for the Single Product Development........

(Figure 2-34) Process Path for the Asset Development.................

(Figure 2-35) Process Path for the Product Generation................

(Figure 3-1) PRiME Architecture......................................

(Figure 3-2) PRiME Functional Layer..................................

(Figure 3-3) Basic Info. Register and Retrieval of Methodology.......

(Figure 3-4) Discipline Register.....................................

(Figure 3-5) Task Register...........................................

(Figure 3-6) Artifact Register.......................................

(Figure 3-7) Deliverable Template Register...........................

(Figure 3-8) Methodology Manual Retrieval............................

(Figure 3-9) WBS Register based on the Methodology...................

(Figure 3-10) Task Progress Monitoring of Project Staff...............

(Figure 3-11) Risk Management.........................................

(Figure 3-12) Asset Retrieval.........................................

(Figure 3-13) Asset Approval or Rejection.............................

(Figure 4-1) Concept Diagram of Case Study...........................

(Figure 4-2) Case Study Execution Scenarios and Major Artifacts......

(Figure 4-3) File Directory of the Former ETRI Java Platform.........

(Figure 4-4) File Directory of the Reengineered ETRI Java Platform...

(Figure 4-5) Reuse Mechnism for the ETRI Java Platform...............

(Figure 5-1) Artifact Structure of the Reuse Guidelines..............

(Figure 5-2) Structure of the Reuse Guidelines.......................

(Figure 5-3) Development Process for the Reusable Asset..............

(Figure 5-4) Development Model for the Reusable Asset................

(Figure 5-5) Documents Asset Generation Overview.....................

(Figure 5-6) Overview of the Coding Guidelines for the Reusable Asset

(Figure 5-7) RSA Category by Type....................................

(Figure 5-8) Relationships of RSA Artifacts Development..............

(Figure 5-9) Prerequisite Artifacts for the Reusable Asset...........

(Figure 5-10) Documenting and Registering Procedure for the RSA.......

(Figure 5-11) Example: MP3 Player.....................................

(Figure 5-12) Example: FCM Asset Reuse................................

(Figure 5-13) Concept Diagram for the Embedded S/W Reuse Support

System....................................................

Page 21: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 17 -- 17 -- 17 -- 17 -

(Figure 5-14) Structure of the Embedded S/W Reuse Support System......

(Figure 5-15) System Architecture of the Embedded S/W Reuse Support

System..................................................

(Figure 5-16) Intro Web Page of the Embedded S/W Reuse Support System.

(Figure 5-17) Embedded S/W Reuse Support System: Intro Page for the

Team Staff..............................................

(Figure 5-18) Embedded S/W Reuse Support System: Intro Page for Team

Leader..................................................

(Figure 5-19) Embedded S/W Reuse Support System: Intro Page for the

System Manager..........................................

(Figure 5-20) Registering Flow Diagram of the Reuse Asset.............

(Figure 5-21) Acquisition Flow Diagram of the Reuse Asset.............

Page 22: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 18 -- 18 -- 18 -- 18 -

List of Tables

[Table 4-1] Interview Sheet for the 1st Scoping......................

[Table 4-2] Inquiry Items of the Interview Sheet.....................

[Table 4-3] Scope of the Reuse.......................................

[Table 4-4] Analysis Matrix for the Reusing Feasibility..............

[Table 4-5] H/W Requirements for the Embedded Java Platform..........

[Table 4-6] S/W Requirements for the Embedded Java Platform..........

[Table 4-7] Responsibility and Characteristics of ETRI Java Platform.

[Table 5-1] RSA Type.................................................

[Table 5-2] Development Scenario by the RSA Type.....................

[Table 5-3] Documents Asset Category by RSA Development Phase........

[Table 5-4] Documents Asset Category by RSA Type.....................

Page 23: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 19 -- 19 -- 19 -- 19 -

목 차

제 장 서론1 ................................................................................................................................................................................................

제 절 연구 개발의 필요성1 .......................................

제 절 연구 개발의 목표2 .........................................

제 절 주요 연구 개발 내용 및 결과3 ..............................

제 절 보고서 구성4 ..............................................

제 장 임베디드 시스템 개발방법론 마르미2 - -IV ................................................................

제 절 개요1 .....................................................

제 절 마르미 개발방법론2 -IV .....................................

제 장 개발방법론 지원도구3 - PRiME...........................................................................................

제 절 개요1 .....................................................

제 절 구성과 기능2 PRiME ........................................

제 장 임베디드 재사용을 위한 시범 프로젝트 수행4 S/W ............................................

제 절 개요1 .....................................................

제 절 임베디드 플랫폼의 재사용 요구사항2 Java ...................

제 절 플랫폼의 재사용 구조3 ETRI Java ...........................

제 절 시범 프로젝트의 결과물 및 평가4 ...........................

제 장 임베디드 재사용 체계 구축 및 보급5 S/W .....................................................................

제 절 임베디드 재사용 지침1 S/W .................................

제 절 임베디드 재사용 지원 시스템2 S/W - ATLAS..................

제 절 임베디드 재사용 체계 보급3 S/W ............................

제 장 결론6 ................................................................................................................................................................................................

참고 문헌....................................................................................................................................................................................................................

약어표................................................................................................................................................................................................................................

부록....................................................................................................................................................................................................................................

부록 참여연구원 명단1. .........................................

부록 연구결과물 목록2. .........................................

Page 24: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 20 -- 20 -- 20 -- 20 -

그림 목차

그림 임베디드 시스템 개발 프레임워크 개념도( 1-1) ..................

그림 마르미 메타 모형( 2-1) -IV .....................................

그림 마르미 구성( 2-2) -IV ..........................................

그림 전체 개발 경로( 2-3) ..........................................

그림 마르미 방법론의 전체 구조( 2-4) -IV ............................

그림 전략 기획 영역활동 작업 구성도( 2-5) ..........................

그림( 2-6) 전략기획 영역활동 산출물 연관도.........................

그림( 2-7) 도메인 영역활동의 작업 구성도...........................

그림( 2-8) 도메인 영역활동 산출물 연관도...........................

그림( 2-9) 요구사항 영역활동의 작업 구성도.........................

그림( 2-10) 요구 사항 영역활동 산출물 연관도.......................

그림( 2-11) 아키텍처 영역활동의 작업 구성도........................

그림( 2-12) 아키텍처 영역활동 산출물 연관도........................

그림( 2-13) 설계 영역활동 구성도...................................

그림( 2-14) 설계 영역활동 산출물 연관도............................

그림( 2-15) 설계 영역활동 기법.....................................

그림( 2-16) 구현 영역활동 구성도...................................

그림( 2-17) 구현 영역활동 산출물 연관도............................

그림( 2-18) 테스트 영역활동 작업 구성도............................

그림( 2- 테스트 영역활동 산출물 연관도19) ..........................

그림( 2- 테스트 영역활동 기법20) ...................................

그림( 2- 프로젝트 관리 영역활동 작업 구성도21) .....................

그림( 2- 프로젝트 관리 영역활동 산출물 연관도22) ...................

그림( 2- 유지보수 영역활동 구성도23) ...............................

그림( 2- 유지보수 영역활동 산출물 연관도24) ........................

그림( 2- 품질보증 영역활동 구성도25) ..............................

그림( 2- 품질보증 영역활동 산출물 연관도26) ........................

그림( 2- 형상 관리 영역활동 구성도27) ..............................

그림( 2- 형상관리 영역활동 산출물 연관도28) ........................

그림( 2- 마르미 와 프로세스 경로의 구성도29) -IV .....................

그림( 2- 어플리케이션 개발 프로세스 경로30) ........................

Page 25: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 21 -- 21 -- 21 -- 21 -

그림( 2- 미들웨어 개발 프로세스 경로31) ............................

그림( 2- 터미널 개발 프로세스 경로32) ..............................

그림( 2- 단일 제품 개발 프로세스 경로33) ...........................

그림( 2- 자산 개발 프로세스 경로34) ................................

그림( 2- 제품 생성 프로세스 경로35) ................................

그림 구성도( 3-1) PRiME ............................................

그림 기능계층도( 3-2) PRiME ........................................

그림 방법론 기본정보 등록 및 조회( 3-3) ............................

그림 영역활동 추가( 3-4) ...........................................

그림 작업 추가( 3-5) ...............................................

그림 산출물 등록( 3-6) .............................................

그림 산출물 템플리트 등록( 3-7) ....................................

그림 방법론 매뉴얼 조회( 3-8) ......................................

그림 방법론에 기반한 정의( 3-9) WBS ................................

그림 프로젝트 팀원의 작업 진척상황 관리( 3-10) .....................

그림 위험 관리( 3-11) ..............................................

그림 자산 조회( 3-12) ..............................................

그림 자산 승인 거부( 3-13) / .........................................

그림( 4-1) 시범 프로젝트 개념도...................................

그림 시범 프로젝트 수행 시나리오 및 주요 산출물( 4-2) ..............

그림 기존 플랫폼의 디렉토리 구조( 4-3) ETRI Java ...................

그림 재구조화된 플랫폼의 디렉토리 구조( 4-4) ETRI Java .............

그림 플랫폼의 재사용 메커니즘( 4-5) ETRI Java ......................

그림( 5-1) 재사용 지침서 구성 산출물................................

그림( 5-2) 재사용 지침의 구성......................................

그림( 5-3) 재사용 자산의 개발 절차..................................

그림( 5-4) 재사용 자산 작성 모형....................................

그림( 5-5) 재사용 지침의 문서 자산 생성 과정........................

그림( 5-6) 재사용 자산의 코딩 지침의 개요...........................

그림( 5-7) 형태에 따른 분류RSA .....................................

그림( 5-8) 개발 과정에서 생성되는 산출물간 연관관계RSA ...........

그림( 5-9) 재사용 자산을 위한 필요 산출물..........................

그림( 5-10) 의 작성과 등록 절차RSA .................................

그림( 5-11) 자산화 및 활용 예MP3 Player ..........................

Page 26: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 22 -- 22 -- 22 -- 22 -

그림( 5-12) 자산화 및 활용 예FCM .................................

그림 임베디드 재사용 지원 시스템 개념도( 5-13) S/W ................

그림 임베디드 재사용 지원 시스템 구성도( 5-14) S/W ................

그림 임베디드 재사용 지원 시스템 아키텍처( 5-15) S/W ..............

그림 임베디드 재사용 지원 시스템 초기 화면( 5-16) S/W .............

그림 임베디드 재사용 지원 시스템 사용자 초기 화면( 5-17) S/W - ....

그림 임베디드 재사용 지원 시스템 팀장 초기 화면( 5-18) S/W - ......

그림 임베디드 재사용 지원 시스템 관리자 초기 화면( 5-19) S/W - ....

그림 재사용 자산 등록 흐름도( 5-20) ...............................

그림 재사용 자산 획득 흐름도( 5-21) ...............................

Page 27: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 23 -- 23 -- 23 -- 23 -

표 목차

표[ 차 영역 선정 면담 양식4-1] 1 ...................................

표[ 영역 선정 질문 리스트4-2] .....................................

표[ 재사용 영역 대상4-3] .........................................

표[ 재사용 가능 여부 분석표4-4] ...................................

표 임베디드 플랫폼의 하드웨어 요구사항[ 4-5] Java ..................

표 임베디드 플랫폼의 소프트웨어 요구사항[ 4-6] Java ................

표 플랫폼의 디렉토리 별 역할 및 특성[ 4-7] ETRI Java ...............

표[ 개별 형태5-1] RSA ...............................................

표[ 세부 형태에 따른 개발 시나리오5-2] RSA ..........................

표[ 개발 단계별 문서 자산의 분류5-3] RSA ..........................

표[ 형태에 따른 문서 자산의 분류5-4] RSA ..........................

Page 28: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 24 -- 24 -- 24 -- 24 -

제 장 서론제 장 서론제 장 서론제 장 서론1111

제 절 연구 개발의 필요성제 절 연구 개발의 필요성제 절 연구 개발의 필요성제 절 연구 개발의 필요성1111

당초 산업용 기기의 제어를 위해 사용되던 임베디드 소프트웨어가 근래

에는 각종 디지털 정보가전 의료 금융 항공 군사 등의 전 분야로 확대, , , ,

되고 유무선 통신 네트워크와의 접목을 통해 전 산업 분야로 확산되고 있,

다 최근 국내에서도 미래의 정보기술 시장을 선도하기 위하여 운동. IT839

을 전개하고 있으며 임베디드 소프트웨어는 신규 서비스 창출에 따라 성장,

하고 발전할 수 있는 대 성장 동력의 하나로 선정되어 임베디드 소프트웨9

어 산업을 육성하는 정책을 활발하게 수행하고 있다.

임베디드 시스템은 다중 작업 처리 실시간 이벤트 처리 고신뢰 서비, ,

스 저전력 사용과 같은 기본적인 특성 외에도 유선과 무선의 통합 방송과, ,

통신의 융합 및 온라인과 오프라인의 결합과 같은 디지털 컨버전스에 따른

다양성 과 대량 맞춤화 의 특성을 동시에(variability) (mass customization)

갖고 있다.

제품 계열 기반 소프트웨어 개발 방법은 개발 조직이 보(Product-line)

유하고 있는 품질이 보장된 핵심 자산의 재사용을 통하여 제품의 개발 생산

성을 획기적으로 향상시켜 시장적시성을 맞출 수 있는 실용적이고 중요한

소프트웨어 개발방법으로 빠르게 자리를 잡아가고 있다 제품 계열 방법은.

이전의 객체지향 및 컴포넌트 기반 개발 방법과는 달리 다수의 제품 계열

개발을 위한 것으로 임베디드 시스템과 같이 동일한 영역 내에서 다양하게,

특화된 소프트웨어를 신속하고 개발할 수 있는 효과적인 수단을 제공하는

접근 방법으로 확인되고 있다.

본 사업은 새로운 임베디드 시스템의 효과적인 개발방법으로 대두되고

있는 제품 기반 개발방법론을 개발하여 국내 산업계에 보급함으로써 국내,

임베디드 시스템 산업의 경쟁력을 향상시킬 목적으로 착수하게 되었다.

Page 29: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 25 -- 25 -- 25 -- 25 -

제 절 연구 개발의 목표제 절 연구 개발의 목표제 절 연구 개발의 목표제 절 연구 개발의 목표2222

본 연구의 최종 목표는 고 품질의 임베디드 시스템을 적시에 경제적으“

로 개발할 수 있는 제품 계열 기반의 임베디드 시스템 개발방법론의 개발

및 임베디드 소프트웨어의 재사용 체계를 구축하고 보급 하는 것으로 세부” ,

적인 연구 내용은 다음과 같다.

� 제품 계열 기반 임베디드 시스템 개발방법론 마르미 개발-IV

� 정량적인 프로젝트 관리를 통해 프로세스 개선을 지원하는 개발방법론

지원도구 PRiME(PRocess improvement and Methodology Enhancement)

개발

� 임베디드 소프트웨어의 재사용을 위한 시범 프로젝트 수행

� 신성장 동력 사업의 효율적 추진을 위한 임베디드 소프트웨어 재사용

체계 구축 및 보급

본 연구를 통해 개발되는 시스템의 개념도는 다음과 같다.

그림 임베디드 시스템 개발 프레임워크 개념도( 1-1)

Page 30: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 26 -- 26 -- 26 -- 26 -

제 절 주요 연구 개발 내용 및 결과제 절 주요 연구 개발 내용 및 결과제 절 주요 연구 개발 내용 및 결과제 절 주요 연구 개발 내용 및 결과3333

임베디드 시스템 개발 프레임워크 구축 사업은 총 차년도에 걸쳐 수행2

되었으며 본 연구를 통해 개발된 기술 및 제품은 다음과 같다, .

� 제품게열 기반 임베디드 시스템 개발방법론 마르미 버전-IV 1.0

영역활동 지침서▪

산출문서 양식정의서▪

기법서▪

적용사례서▪

� 개발방법론 지원도구 버전PRiME 1.0

사용자 관리도구 PRiME Admin▪

개발방법론 관리 도구 PRiME Method▪

프로젝트 관리 도구 PRiME Project▪

자산 관리 도구 PRiME Asset▪

� 임베디드 재사용을 위한 시범 프로젝트S/W

임베디드 의 재사용 성공사례 개발S/W▪

재사용 지침의 검증▪

임베디드 라이브러리 경량화 및 모듈화Java▪

� 임베디드 재사용 체계 구축 및 보급S/W

▪ 임베디드 재사용 자산 개발을 위한 문서 및 코딩 지침 개발S/W

임베디드 재사용 지원 시스템S/W (ATLAS)▪

재사용 지침과 지원 시스템 및 재사용 시범 프로젝트 보급▪

재사용 문화 정착 방안 개발▪

Page 31: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 27 -- 27 -- 27 -- 27 -

제품계열 기반 개발방법론 마르미제품계열 기반 개발방법론 마르미제품계열 기반 개발방법론 마르미제품계열 기반 개발방법론 마르미1. -IV1. -IV1. -IV1. -IV

마르미 개발방법론은 국내 기술진에 의해 국내 개발 여건을 반영하여 개

발된 순수 국산 개발방법론으로 소프트웨어 개발 현장에서 바로 활용될 수,

있도록 상세한 개발 공정과 구체적인 개발 지침을 제공할 목적으로 개발되

었다 마르미 개발방법론은 기존의 연구개발 사업을 통해 정보공학 및 구.

조적 방법을 지원하는 마르미 개발방법론 과 객체지향 방법을 지원하는-I [1]

마르미 개발방법론 컴포넌트 기반 개발을 지원하는 마르미 개발-II [2], -III

방법론 이 개발되었으며 금번 사업을 통해 제품 계열 기반 개발을 지원[3] ,

하는 임베디드 시스템 개발방법론인 마르미 를 개발하게 되었다-IV .

마르미 개발방법론은 개발방법론의 메타모델에 대한 표준인-IV OMG

을 기반으로 정의되었으며SPEM(Software Process Engineering Metamodel) ,

휘처 모델과 을 모두 지원한다 마르미 개발방법론의(feature) UML 2.0 . -IV

구성 및 특징에 관한 자세한 내용은 다음의 장에서 다루기로 한다2 .

개발방법론 지원도구개발방법론 지원도구개발방법론 지원도구개발방법론 지원도구2. PRiME2. PRiME2. PRiME2. PRiME

개발방법론 지원도구인 은 개발방법론을 비롯하여 의 개발 프로PRiME S/W

젝트의 정량적인 관리를 통해 개발 조직의 프로세스를 개선할 수 있도S/W

록 개발되었다.

는 프로세스 모형의 구성요소와 구성 요소 사이의 관계를 정의PRiME S/W

한 의 을 기반으로 설계되었으며OMG SPEM[4] , 공개 소프트웨어 개발 플랫폼인

ec 를 기반으로 개발되었다 대표적인 기능으로는 개발방법론의 정의lipse .

및 매뉴얼 생성 기능을 포함한 개발방법론 관리 프로젝트 정의 및 실행 기,

능을 포함한 프로젝트 관리 개발방법론을 비롯하여 개발 공정의 산출물의,

관리 기능을 포함한 자산 관리 등이 있으며 보다 상세한 내용은 다음의 제,

장에서 다루기로 한다3 .

Page 32: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 28 -- 28 -- 28 -- 28 -

임베디드 소프트웨어 재사용을 위한 시범 프로젝트임베디드 소프트웨어 재사용을 위한 시범 프로젝트임베디드 소프트웨어 재사용을 위한 시범 프로젝트임베디드 소프트웨어 재사용을 위한 시범 프로젝트3.3.3.3.

본 연구를 통해 임베디드 소프트웨어의 재사용 가능 을 입증할 수 있는” ”

시범 프로젝트를 수행하여 성공사례를 발표하고 주관연구기관 내의 신 성장

동력 사업을 추진하는 각 연구단이 적용할 수 있도록 보급하고자 하였다.

이를 위해 임베디드 소프트웨어 연구단 내의 요구 조사를 거쳐, 기Java VM

술과 라이브러리 기술로 모듈화 가능한Java 핵심 인S/W 임베디드 플Java

랫폼을 대상으로 하여 수행하였다.

시범 프로젝트는 타겟 의 변경에 대해 대응할 수 있는 구조 즉 재사H/W ,

용이 가능한 임베디드 플랫폼 화 하고 이를 특정 임베디드 시스템에“ Java ” ,

적용되는 개의 사례를 구축하여 생산성 향상 을 입증하고자 재사용 가능2 “ ” ,

한 임베디드 라이브러리로 모듈화 및 경량화 시켰으며 개의 시범 시Java , 2

스템 구축에 적극 재사용 자산으로 활용하여 생산성 향상의 예를 제시하였

다. 임베디드 소프트웨어 재사용을 위한 시범 프로젝트에 관한 보다 상세

한 내용은 다음의 제 장에서 다루기로 한다4 .

임베디드 소프트웨어 재사용 체계 구축 및 보급임베디드 소프트웨어 재사용 체계 구축 및 보급임베디드 소프트웨어 재사용 체계 구축 및 보급임베디드 소프트웨어 재사용 체계 구축 및 보급4.4.4.4.

임베디드 소프트웨어 재사용 체계는 재사용 자산을 개발하기 위한 프로

세스인 임베디드 소프트웨어 재사용 지침과 재사용 지침에 따라 생성된 물,

리적인 임베디드 소프트웨어 재사용 자산을 등록 검색하기 위한 실질적인,

공유시스템인 재사용 지원 시스템인 그리고 이것들을 조직 내에 보ATLAS,

급하기 위한 재사용 보급 정책 가지로 구분된다3 . 재사용 지침은 자산의 문

서 형태를 정의하는 문서화 지침과 코딩시 가독성을 높일 수 있는 코딩 지

침으로 구성되며 는 자산 개발자 및 자산의 재사용 승인자 그리고, ATLAS ,

자산 관리자 가지 모드로 각기 정해진 시나리오에 따라 자산을 운영 및 활3

용하도록 하였다 마지막으로 재사용 체계 보급에서는 재사용 자산의 법적.

Page 33: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 29 -- 29 -- 29 -- 29 -

인 라이센스 규정 방안 및 조직 내 재사용 자산의 활용을 위한 정책적 지원

방법에 대해 제시하였다. 임베디드 소프트웨어 재사용 체계 구축 및 보급

에 관한 보다 상세한 내용은 다음의 제 장에서 다루기로 한다5 .

제 절 보고서 구성제 절 보고서 구성제 절 보고서 구성제 절 보고서 구성4444

본 보고서는 본 사업을 통해 개발된 기술 및 제품에 관한 전반적인 내용

을 요약하여 기술하였으며 상세한 내용은 기술 문서에 수록하였다, .

본 보고서는 장으로 구성되었다 장의 서론은 연구 개발의 필요성을6 . 1

중심으로 연구개발 내용 및 결과를 요약하여 기술하였다 장부터 장까지. 2 5

는 본 사업을 통해 개발되는 기술 및 제품별로 기술하였다 장은 제품계열. 2

기반 임베디드 시스템 개발방법론 마르미 장은 개발방법론 지원도구인-IV, 3

장은PRiME, 4 임베디드 소프트웨어 재사용을 위한 시범 프로젝트 장에서, 5

는 임베디드 소프트웨어 재사용 체계 구축 및 보급 내용을 정리하였다 마.

지막으로 장에서 결론을 기술하였6 으며 참여연구원과 연구결과물 목록을,

부록으로 첨부하였다.

Page 34: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 30 -- 30 -- 30 -- 30 -

제 장 임베디드 시스템 개발방법론 마르미제 장 임베디드 시스템 개발방법론 마르미제 장 임베디드 시스템 개발방법론 마르미제 장 임베디드 시스템 개발방법론 마르미2 - -IV2 - -IV2 - -IV2 - -IV

제 절 개 요제 절 개 요제 절 개 요제 절 개 요1111

오늘날 우리는 주변에서 소프트웨어가 포함된 제품 예를 들면 휴대폰( , ,

디지털카메라 자동차 등 을 손쉽게 찾아볼 수 있다 정MP3 Player, , PDA, ) .

보 통신 기술의 발전으로 향후에는 더욱 많은 제품에서 소프트웨어를 포함

하게 될 것이다 이런 임베디드 제품 시장은 향후 년 동안 기하급수적으. 10

로 증가할 것으로 예측되고 있다.

현재의 임베디드 제품 동향을 알 수 있는 키워드는 디지털 컨버전스‘

와 다양성 이다 디지털 컨버전스 는(digital convergence)’ ‘ (diversity)’ . ‘ ’

서로 다른 임베디드 제품에서 제공되는 기능이 하나의 제품에 융합되어 제

공 예를 들면 휴대폰에서 카메라 기능을 부가하거나 개인의 일정 및 업무( ,

관리를 위한 가 네비게이션 기능을 제공 되는 것으로 이로 인해 임베디PDA ) ,

드 시스템과 이런 제품에 포함되는 소프트웨어의 규모와 복잡성은 더욱 증

가하고 있다 디지털 컨버전스 와 상반되는 개념으로 서로 다른 제품에서. ‘ ’ ,

유사한 기능을 제공 예를 들면 휴대폰과 가 유사한 웹브라우저 기능을( , PDA

제공 또는 유사한 기능을 제공하는 휴대폰 제품 계열을 출시 하는 것으로) ,

서로 다른 사용자의 요구에 적절하게 대응할 수 있는 다양성에 대한 요구

또한 증가하고 있다.

임베디드 제품의 수요 복잡도 및 다양성이 증가함에 따라 더욱 많은 업,

체에서 충분한 제품 품질 확보와 적절한 인도 시기를 보장 받기에 어려움을

겪고 있다 임베디드 소프트웨어 개발의 적시성 생산성 및 품질의 최적화. ,

를 위해 업체들은 특정 상황에 적절한 소프트웨어 공학 기술을 적용해야,

한다 하지만 불행하게도 현재의 소프트웨어 개발 기술은 임베디드 시스템.

개발을 위한 특정 요구사항을 고려하지 못하고 있다 임베디드 시스템의 개.

발을 위해서는 엄격한 시간 제약사항 제한된 메모리와 전력 사전에 정의, ,

Page 35: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 31 -- 31 -- 31 -- 31 -

된 하드웨어 플랫폼 기술 및 하드웨어 비용과 같은 특정 제약 사항을 다루

어야 한다 기존의 개발 기술은 임베디드 영역에 대한 특별한 영향 또는 임.

베디드 시스템을 위해 필요한 조정 등을 다루고 있지 않다.

이와 같은 임베디드 제품의 수요 규모 복잡성 및 다양성 요구의 증가, ,

는 임베디드 소프트웨어 산업계에 커다란 기회를 제공하고 있으며 핵심 성,

공 요인은 고품질의 임베디드 시스템과 소프트웨어를 적시에 성공적으로 개

발할 수 있는 능력을 확보하는 것이다 이를 위해 일부 업체에서 기존 정보.

시스템 개발방법론을 임베디드 개발에 일부 조정하여 적용하려는 시도가 있

으나 기존 정보시스템 개발 기법은 임베디드 시스템의 특성을 제대로 반영

하지 못하는 문제가 있다.

한편 개발방법론은 년대의 구조적 방법에서 시작하여 년대의 정보70 , 80

공학 년대의 객체지향 방법 년대 말의 컴포넌트 기반 개발 방법 및, 90 , 90

현재의 제품계열 기반 개발 방법으로 발전하고 있다 제품계열 기반 개발방.

법은 공통적으로 재사용될 수 있는 핵심 자산 의 개발과 품질이(core asset)

보장된 핵심 자산의 재사용을 통하여 정보시스템을 개발하는 방식으로 품,

질 및 개발 생산성의 획기적인 향상을 통하여 시장적시성을 만족시켜 줄 수

있는 개발 방법으로 제안되었다 특히 이 제품계열 기반 개발방법은 임베디.

드 제품의 다양성 요구를 가장 적합하게 반영할 수 있는 방법으로 선진 외,

국에서는 이를 임베디드 시스템 개발에 적용하려는 연구 개발이 활발하게

진행되고 있다.

본 과제 임베디드 시스템 개발 프레임워크 구축 에서 개발한 마르미‘ ’ -IV

개발 방법론도 이러한 맥락에서 제품계열 기반의 임베디드 시스템 개발방법

론이다.

마르미 는 임베디드 시스템개발을 위한 마르미 개발방법론 이라는 의-IV " "

미를 갖는다 마르미 는 본 사업을 추진하고 있는 연구팀 한국전자통신. ‘ ’ (

연구원 소프트웨어공학연구팀 을 주축으로 국내 소프트웨어 개발 및 컨설팅)

전문 기업 삼성 제임스마틴코리아 투이컨설팅 화이트정보통신( SDS, LGCNS, , ,

Page 36: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 32 -- 32 -- 32 -- 32 -

등 이 함께 참여하여 국내에서 보편적으로 활용되고 있는 정보시스템의 개) ,

발 절차 및 실용 지침을 체계적으로 정리한 개발방법론이다 마르미란 이름.

은 마름질 이라는 우리말에서 기원한다 마름질은 자신의 몸에 적합한 옷' ' .

을 만들기 위하여 재단하다 는 의미를 갖는다 즉 마르미는 국내(cut out) . ,

에서 단편적으로 널리 사용되고 있지만 종합적으로는 즉 방법론으로서는( )

체계적인 구성을 갖추고 있지 못한 개념 방법 기법 절차 및 경험적 지식, , ,

들을 쉽고 편리하게 사용할 수 있도록 재구성하여 우리의 옷 개발 여건' '( )

에 보다 적합하도록 만들어진 시스템 개발 방법론이다.

현재까지 마르미 개발방법론은 구조적 방법 및 정보공학을 지원하는마

르미 객체지향 방법을 지원하는 마르미 컴포넌트 기반 개발을 지원-I, -II,

하는 마르미 가 개발되었으며 국내의 공공기관 소프트웨어 개발 기-III , ,

업 정보시스템 감리기관 및 대학교 등에 보급되어 정보시스템 개발 및 교,

육 등에 활발하게 활용되고 있다.

마르미 개발방법론을 비롯하여 현재까지 개발된 기존의 정보시스템 개발

방법론은 임베디드 제품이 갖고 있는 특정 제한 요인들을 위한 개발 기술이

반영되어 있지 않다 마르미 는 임베디드 시스템 개발을 위한 이와 같은. -IV

요구 사항을 반영한 제품계열 기반 개발 절차 지침 및 산출물 양식을 정의,

하고 이를 실제 프로젝트에 적용한 사례를 함께 제공한다, .

마르미 는 전체적으로 방법론 과 프로세스 의 이원화-IV (method) (process)

된 메커니즘으로 설계되었다 그럼으로써 프로젝트의 규모와 성격에 따라. ,

쉽게 커스터마이징 할 수 있다 또한 조직에서 다양한 버전의 제품을 기획. ,

단계에서부터 설계해야 하는 경우 쉽게 제품계열 기반의 프로세스를 추가,

할 수 있도록 하여 확장성을 향상시켰다.

Page 37: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 33 -- 33 -- 33 -- 33 -

마르미 특징마르미 특징마르미 특징마르미 특징1. -IV1. -IV1. -IV1. -IV

가 마르미 메타모형가 마르미 메타모형가 마르미 메타모형가 마르미 메타모형. -IV. -IV. -IV. -IV

아래 그림 은 개요 수준에서 마르미 의 메타모형을 설명하고 있( 2-1) -IV

다 마르미 방법론은 보편적인 임베디드 시스템 개발 프로젝트의 생명주. -IV

기상 특징을 고려한 어플리케이션 개발 미들웨어 개발 터미널 개발 제품, , ,

개발 등의 개의 경로와 제품계열의 개념을 적용한 자산 개발 제품 생성4 ,

등의 개의 경로를 정의한다2 .

각 프로세스 경로는 단계로 개의 단계로 이루어지고 각 단계는 활동으4 ,

로 구성되는 그 활동은 영역활동 별로 정의된 작업과 연계되어(Discipline)

있다.

그림 마르미 메타모형( 2-1) -IV

영역활동은 시스템 개발에 있어서 분야별로 전문화된 프로세스와 산출물

문서(deliverable)

도구(tool)

기법(technique)

절차(step)

작업(task) 역할(role)산출물(artifact)

단계(phase)

4

6

1..*

1..*

활용한다

사용한다생성한다

전문가

전문영역활동(activity)

영역활동(discipline)

관리(mgt)

담당자

개발(dev)

마르미-IV

1..*

프로세스 경로(path)

문서(deliverable)

도구(tool)

기법(technique)

절차(step)

작업(task) 역할(role)산출물(artifact)

단계(phase)

4

6

1..*

1..*

활용한다

사용한다생성한다

전문가

전문영역활동(activity)

영역활동(discipline)

관리(mgt)

담당자

개발(dev)

마르미-IV

1..*

프로세스 경로(path)

Page 38: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 34 -- 34 -- 34 -- 34 -

들의 추상화된 집합 개념이며 이 영역활동은 다시 단위 프로젝트 관리에,

초점을 맞춘 관리 프로젝트 유지보수 품질보증 형상관리 영역활동과" ( , , , )"

시스템 개발의 본질적인 개발에 초점을 맞춘 개발 전략기획 도메인 아키" ( , ,

텍처 컴포넌트설계 구현 테스트 영역활동으로 구성된다, , , )" .

각 영역활동은 다시 작업 단위로 구성하며 각 작업은 순차적인" (Task)" ,

세부 절차 로 구성되며 해당 작업을 전담 혹은 책임지는 역할" (step)" , "

그리고 해당 작업을 통해 생산하게 되는 산출물 로 이(Role)" " (Artifact)"

루어진다 각 절차에서는 선택적으로 재사용 가능한 기법 들을. " (Technique)"

포함하게 된다 마르미 는 대용량 혹은 복합적인 기능을 요구하는 최근의. -IV

시스템 개발 추세에 대응하여 대부분의 개발방법론이 권장하는 도구를CASE

전제로 전개되도록 방법론을 편성하고 있다.

기법 은 전문적인 절차와 개념 기술을 사용하여 작업을 완수(technique) ,

할 수 있는 수행 방법이다 기법은 별도의 기법서로 작성되어 있으나 때로.

는 작업의 절차 속에 포함되어 있기도 하다.

도구 는 기법을 효율적으로 사용하거나 산출물의 생성을 지원하기(tool)

위한 컴퓨터화된 도구를 가르킨다 일반적으로. CASE(Computer Aided

도구를 의미하며 분석 및 설계 지원 도구 프로젝Software Engineering) , ,

트 관리 지원 도구 테스트 도구를 포함한다 마르미 에서는 특정 벤더가, . -IV

제공하는 도구와의 연관성을 갖고 있지 않기 때문에 모형화를 지원하는UML

어떤 도구도 사용이 가능하다.

산출물은 작업의 수행 결과로 생성되는 문서나 제품을 의미한다 산출물.

은 고객 사용자 에게 제시할 것을 전제로 하여 작성되는 것 과( ) (deliverable)

프로젝트 내부에서만 이용할 목적으로 작성되는 것 으로 분류할(artifacts)

수 있다.

역할 은 작업의 수행 주체 또는 팀 관련자별로 수행해야 할 일에(role) ( ),

대한 책임과 권한을 갖는 주체이다 개발 참여자는 다수의 역할을 부여받아.

수행할 수 있으며 하나의 역할을 다수 개발 참여자가 수행할 수 있다, .

Page 39: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 35 -- 35 -- 35 -- 35 -

나 특징나 특징나 특징나 특징....

제품계열 기반 임베디드 시스템 개발방법론 마르미 의 주요 특징은 다-IV

음과 같다.

� 상세화되고 실제적인 방법론

� 임베디드 시스템의 개발 특성 반영

제품계열-

시스템 아키텍처-

실시간성 분석 설계 기법-

� 국제 표준 반영

모델링 표준- : UML 2.0

프로세스 메타모델 국제 표준- : SPEM 2.0

� 방법론 커스터마이징 용이

명확한 프로세스 모델링-

산출물 추적성 확보-

실제 프로젝트 사례 제공-

상세화 되고 실제적인 방법론1) (concrete and practical)

국내에서 소개되어 일부 적용되고 있는 객체지향 기반의 개발방법론 들

은 대부분 외국의 방법론이며 대부분의 국내 개발 업체들은 체계적인 방법

론에 기반하여 개발한 경험이 거의 없을뿐더러 기존의 객체지향 지식과 경

험도 충분히 가지고 있는 인력을 확보하고 있지 못하다 이러한 국내 여건.

을 반영하여 타 방법론보다 훨씬 상세한 수준의 개발 절차를 제시하여 방법

론 사용자가 쉽게 적용할 수 있도록 하였다 또한 개발 공정뿐만 아니라 관.

리 및 지원 공정을 포괄적으로 지원하여 별도로 이들을 고려해야 하는 부담

을 줄여주도록 하였다.

Page 40: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 36 -- 36 -- 36 -- 36 -

임베디드 시스템의 개발 특성 반영2)

요즘의 많은 임베디드 제품의 경우 소비자의 다양한 요구로 인하여 여,

러 버전의 제품을 동시 출하한다 이렇게 유사하지만 다양한 요구를 반영하.

는 제품들을 효과적으로 개발하기 위해서는 각 제품에 공통적인 요소를 식

별하여 먼저 개발해 두고 각 개별 제품을 개발할 때는 공통적인 기능은 기,

존에 잘 개발된 것을 이용하고 제품에 고유한 요소를 빠르게 추가 개발하여

다품종의 제품을 신속하게 개발할 수 있도록 하는 것이 제품계열 개념이다.

마르미 에서는 를 기반으로 한 제품계열 개념을 반영하였다-IV Feature .

또한 개발된 및 컴포넌트를 잘 재사용하기 위해서는 잘 정의된S/W H/W

시스템 아키텍처를 토대해야 한다는 것은 분명하다 건축에 비유를 한다면.

건물을 지을 때 창문을 잘 만들었는데 창문에 대한 표준이 없으면 다른 건

물을 지을 때 크기가 맞지 않아서 그 창문을 재사용할 수 없는 것과 같은

이치이다.

특히 임베디드 시스템의 경우 는 와 밀접한 관련 의존성 이 있기, S/W H/W ( )

때문에 개발자와 개발자의 원활한 의사소통은 매우 중요하다 그러나S/W H/W .

현실적으로는 두 개발자 그룹은 서로 독립적으로 개발에 참여하고 있으며

공통으로 의사소통을 할 수 있는 표준적인 수단이 없어서 문제가 되고 있

다 마르미 에서는 시스템 개발 초기부터 두 그룹의 개발자들이 의사소통. -IV

을 할 수 있는 수단으로써 을 이용한 시스템 아키텍처를 제시하고 있다UML .

그리고 임베디드 시스템은 특정 목적에 따라 임무를 수행하는데 많은,

경우 실시간성을 요구하고 최근의 디지털 컨버전스 경향으로 인해 시스템,

의 기능은 점점 복잡해지고 있다 따러서 복잡한 기능들이 효과적이고 오류.

없이 수행되는 지를 확인하는 것이 점점 더 중요지고 있다 이를 위해 마르.

미 에서는 의 기법을 이용하여 임베디드 시스템의 실시간성을 효과적-IV UML

으로 분석할 수 있는 방법을 제시한다.

Page 41: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 37 -- 37 -- 37 -- 37 -

국제 표준 반영3)

요즘에는 모든 방면에서 국제적인 협력이 중요시 되고 있는데 임베디드,

제품의 개발에도 마찬가지이다 제품 수출 비중인 높은 경우 더더욱 그러한.

데 특정 제품의 개발시 국제 시장의 요구를 동시에 반영하고 개발시에 관, ,

련된 세계 여러 나라와 공동으로 진행하는 경우가 많아지고 있다 그러한.

환경에서 당연히 표준적인 개발 문서가 중요할 것이다 개발 도구 면에서도.

수많은 도구들이 나와 있고 그들간의 모델 표기법도 그 만큼이나 다양하,

다 그러므로 국제적으로 통용될 수 있는 표준 표기법의 사용은 필수적인.

데 마르미 에서는 을 기본 모형화, -IV UML 2.0(Unified Modeling Language)

언어로 택하였다 은 등이 함께 참여하여 구. UML Rumbaugh, Booch, Jacobson

사에서 개발하여 국제적인 표준화 단체인Rational OMG(Object Management

의 표준으로 제안되었던 것으로서 개발 초기부터 객체지향 방법론Group) ,

시장의 대가인 빅 가 통합하여 관심을 집중시켰다 년 가을 에(Big)3 . 1997 OMG

서 을 객체지향 모형화 언어의 표준으로 채택하면서 현재 은 산업계UML , UML

의 표준 언어로써 확고한 위치를 점하게 되었다.

또한 개발 방법론 자체도 에서 추진하고 있는 프로세스 모형화 표준, OMG

인 을 적용하여 개발하였다SPEM(Software Process Engineering Metamodel) .

프로세스 모형화 표준을 적용함으로써 얻을 수 있는 혜택은 마르미 방법-IV

론이 세계의 다른 방법론과 호환이 될 수 있다는 것이다 방법론을 아무리.

잘 만들기 위해 노력을 한다하여도 너무나 다양한 임베디드 제품을 개발하

는 모든 환경을 고려하기는 불가능하다 따라서 실제 임베디드 제품을 개발.

하는 업체에서 만약 특정 제품을 개발하는데 필요한 개발 작업이나 절차가

마르미 에서 정의되지 않았는데 다른 방법론에서 정의된 작업이 있어서-IV

가져와서 함께 적용할 수 있다면 좋을 것이다 을 적용한 방법론들 상. SPEM

호간에는 서로 호환이 되므로 쉽게 조정하여 함께 프로젝트에 적용할 수 있

다.

Page 42: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 38 -- 38 -- 38 -- 38 -

방법론 커스터마이징 용이4)

개발 방법론을 사용하여 프로젝트를 수행하기 위해서는 각 프로젝트의

특성에 맞게 조정하는 것은 필수적으로 요구된다 왜냐하면 모든 개발 프로.

젝트는 각각 그 환경이 같을 수는 없기 때문이다 따라서 개발 방법론은 프.

로젝트 특성에 맞게 조정을 얼마나 쉽게 조정할 수 있느냐가 중요한 사항이

다 마르미 에서는 각 프로세스의 작업과 산출물의 연관성을 시스템을 개. -IV

발하듯이 명확히 모형화 하였기에 프로세스 조정을 쉽게 할 수 있는 발판을

마련하였다 어떤 작업 또는 산출물이 삭제나 추가 등으로 조정이 필요하다.

고 판단될 때 그것으로부터 영향을 주거나 받는 작업이나 산출물을 명확히

알 수 있다면 그 만큼 프로세스의 조정은 용이하게 할 수 있는 것이다.

또한 실무 개발자들에게 현실적으로 많은 도움이 되는 것은 개발 사례라

고 할 수 있다 개발 지침이 잘 정의되어 있어도 설명만으로는 이해하기 어.

려운 것이 사실이므로 실제 프로젝트의 수행 결과로 만들어진 사례는 방법,

론을 이해하는데 중요한 역할을 한다 이를 고려하여 마르미 에서는 가. -IV 2

지의 실제 프로젝트 사례를 제공하고 있다.

마르미 의 구성마르미 의 구성마르미 의 구성마르미 의 구성2. -IV2. -IV2. -IV2. -IV

마르미 개발 방법론은 다음 그림 와 같이 개발 경로 영역활동-IV ( 2-2) ,

지침서 기법서 산출문서정의서 적용사례 등으로 구성되어(Disciplne) , , ,

있다.

� 각 개발 경로를 정의한 지침서

� 각 영역활동을 정의한 지침서

� 개발 작업에 활용되는 기법을 정의한 기법서

� 작업의 결과로 만들어지는 산출물 양식을 정의한 산출문서 정의서

Page 43: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 39 -- 39 -- 39 -- 39 -

� 산출물 작성시 참고할 수 있는 적용사례서

그림 마르미 구성( 2-2) -IV

가 마르미 개발경로 지침서가 마르미 개발경로 지침서가 마르미 개발경로 지침서가 마르미 개발경로 지침서. -IV. -IV. -IV. -IV

마르미 방법론에서 프로세스 경로는 보편적인 임베디드 시스템 개발-IV

프로젝트의 생명주기상 특징을 고려한 어플리케이션 개발 미들웨어 개발, ,

터미널 개발 제품 개발 등의 경로와 제품계열의 개념을 적용한 자산 개발, ,

제품 생성 등의 경로를 정의하고 있다.

경로를 구성하는 것은 작업이며 각 작업의 수행을 안내하는 지침은 영,

역활동 지침 에 기술되며 기술적인 측면의 작업 기법을 제공(disciplines) ,

하는 기법서 및 각 작업을 통해 작성되는 여러 결과물을 위한(techniques)

산출문서 양식 를 선택적으로 정의한다 에서 영역활동은 소(templates) . UML

프트웨어 공학 관점에서 특정 주제별로 관련 있는 작업의 패키지로 정의하

고 있으며 마르미 에서는 전문 역할별로 수행하는 작업들의 그룹을 영역, -IV

활동으로 본다.

임베디드 시스템 개발에 적용할 수 있는 개발 프로세스의 생명주기상 특

징을 고려하여 분류하면 어플리케이션 개발 미들웨어 개발 터미널 개발, , ,

단일 제품 개발 자산 개발 제품생성으로 유형화된다, , .

Page 44: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 40 -- 40 -- 40 -- 40 -

전체 프로세스는 다음 그림 과 같이 정의되어 있으며 각 개발 경( 2-3) ,

로에 따라 선택적으로 작업을 선정하여 수행한다.

그림 전체 개발 경로( 2-3)

어플리케이션 개발 프로세스 경로는 고객에게 서비스를 제공하기 위한

단말 및 서버 응용 프로그램을 개발하는 프로젝트에 적용되는 프로세스이

다.

미들웨어 개발 프로세스 경로는 특정 도메인 영역에서 공통적으로 사용

될 수 있은 컴포넌트를 개발하는 프로젝트에서 주로 사용할 수 있는 프로세

스이다.

터미널 개발 프로세스 경로는 단말 어플리케이션의 기반이 되는 와WIPI

같은 기반 환경을 구축하는 프로젝트에 적용되는 프로세스이다.

Page 45: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 41 -- 41 -- 41 -- 41 -

제품 개발 프로세스 경로는 전통적인 단일 임베디드 시스템 개발에 필요

한 일반적인 프로세스이다.

자산 개발 프로세스 경로는 제품계열을 개념을 적용한 것으로서 도메인

에서 재사용 가능한 핵심 자산을 개발하는 프로세스이다.

제품 생성 프로세스 경로는 제품계열의 개념을 통해 개발된 재사용 가능

한 자산을 활용하여 특정 제품을 생산하는 프로세스이다.

나 마르미 영역활동 지침서나 마르미 영역활동 지침서나 마르미 영역활동 지침서나 마르미 영역활동 지침서. -IV. -IV. -IV. -IV

프로세스 수행에 대한 지침은 영역활동 지침서에 정의되어 있다 영역활.

동이란 임베디드 시스템의 개발 측면에서 전문화된 프로세스와 프로세스의

관련 단위 별로 묶인 활동을 말한다 이는 프로젝트 참가자 즉 역할별로 관.

련 있는 전문화된 활동이다 마르미 에서는 아래와 같이 개발 프로세스. -IV 7

개 관리 프로세스 개의 영역활동을 정의하고 있다, 4 .

� 전략기획 영역활동

� 도메인 영역활동

� 요구사항 영역활동

� 아키텍처 영역활동

� 설계 영역활동

� 구현 영역활동

� 테스트 영역활동

� 프로젝트 관리 영역활동

� 유지보수 영역활동

� 품질보증 영역활동

� 형상관리 영역활동

Page 46: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 42 -- 42 -- 42 -- 42 -

마르미 영역활동은 다음과 같이 세부 구성 항목으로 구성되며 항목-IV ,

에 대한 설명은 다음과 같다.

� 머리말 각 영역활동별로 목표 해당 영역활동을 구성하는 작업과: ,

그 작업을 수행하는 역할 입출력 산출물 관련 기법 참고 자료 선, , , (

택적 등을 포함한다) .

� 작업 작업 정의에는 서두에 활동도로써 해당 영역활동을 구성하는:

전체 작업의 연계를 보여주고 각 작업별로 다음과 같은 항목을 정의,

한다.

작업명-

작업 목표-

작업 개요-

역할별 작업 수행 주안점-

작업 수행 절차-

비고-

다 마르미 기법서다 마르미 기법서다 마르미 기법서다 마르미 기법서. -IV. -IV. -IV. -IV

기법서는 마르미 개발 공정에서의 작업을 효율적으로 수행하기 위한-IV

기법을 사용 예와 함께 체계적으로 정리한 것이다 마르미 기법서에서. -IV

기법 정의를 위한 세부 구성 항목과 항목에 대한 설명은 다음과 같다.

� 정의 기법의 정의를 기술:

� 목적 기법을 활용하는 목적을 기술:

� 예제 기법을 적용하여 수행한 작업 결과물의 예를 기술:

� 구성 요소 기법을 구성하는 구성요소에 대한 설명:

Page 47: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 43 -- 43 -- 43 -- 43 -

� 적용 지침 작업 수행 시에 기법을 활용하는 지침을 정의:

� 고려 사항 기법을 활용함에 있어 고려해야 할 특이 사항을 정의:

라 마르미 산출문서 정의서라 마르미 산출문서 정의서라 마르미 산출문서 정의서라 마르미 산출문서 정의서. -IV. -IV. -IV. -IV

마르미 산출문서 정의서는 개발 및 관리 프로세스에서 작업의 결과로-IV

만들어야 하는 산출문서에 대한 양식을 정의한 문서이다 산출문서 양식 정.

의를 위한 세부 구성 항목과 항목에 대한 설명은 다음과 같다.

� 양식 산출문서 양식의 예를 기술:

� 정의 산출문서에 대한 정의를 기술:

� 항목설명 산출물을 구성하는 세부 항목과 항목에 대한 설명을 기술:

� 입력물 산출물을 생성하는 관련 작업에 필요한 입력물을 정의:

� 지침 및 고려 사항 산출문서를 정의할 때의 적용 지침 및 고려 사:

항을 정의

제 절 마르미 개발방법론제 절 마르미 개발방법론제 절 마르미 개발방법론제 절 마르미 개발방법론2 -IV2 -IV2 -IV2 -IV

마르미 방법론은 크게 개발 프로세스 프로젝트 관리 프로세스 품질-IV , ,

관리 프로세스로 그루핑이 된다 또한 이들 프로세스를 프로젝트에 쉽게 적.

용할 수 있도록 프로세스 경로를 제시한다 관리 및 품질 프로세스와 개발.

프로세스의 각 세부 단계에 대한 작업은 영역활동이라 불리는 프로세스 패

키지로 나뉘어져있어 프로젝트에 참여하는 관련 개발자 혹은 관리자의 관점

별로 관심을 두는 영역에 대해 집중적으로 업무를 수행할 수 있다.

Page 48: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 44 -- 44 -- 44 -- 44 -

그림 마르미 방법론의 전체 구조( 2-4) -IV

개발 프로세스개발 프로세스개발 프로세스개발 프로세스1.1.1.1.

가 전략기획 영역활동가 전략기획 영역활동가 전략기획 영역활동가 전략기획 영역활동....

목적1)

전략기획 영역활동은 본 활동의 결과로 작성되는 비전기술서의 주요 대

상 인 해당 제품계열 혹은 제품의 여러 이해당사자들 가운(target audience)

데에서도 해당 제품이 시장에서 얼마큼 호응을 얻고 시장성을 가질 수 있는

지에 주로 관심을 갖는 해당 프로젝트의 정책 결정자 혹은(decision maker)

후원자 를 이해시키고 설득시켜 프로젝트를 원활히 수행할 수 있는(sponsor)

발판을 마련하는 활동이다.

구성2)

전략기획 영역활동은 제품개념 정의 시장조사 사업분석 목표설정의, , ,

주요 활동으로 구성된다.

제품개념 정의 작업은 전략기획 영역활동의 다른 작업들과 더불어 보다

고객 중심적 시각을 가진 전문 인력이 수행하는 작업이다 이러한 비 기술.

적 작업이 마르미 와 같은 시스템 개발방법론에서 언급하게 되는 이유는-IV

Page 49: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 45 -- 45 -- 45 -- 45 -

궁극적인 제품 혹은 시스템 개발의 성공 여부를 결정하는 요소는 단순히 기

술적 우수함에 기인하지 않고 시장에서 드러나는 고객의 반응에 달려 있기

때문이며 그러한 이유로 보다 고객 입장에서 제품 시스템의 개발의 단서를, /

찾아내기 위함이다.

시장 조사 작업은 기획한 제품 시장을 세분류 하여 제품의 타(segment)

겟 시장을 명확히 하고 관련 경쟁업체나 경쟁제품을 사전 조사하여 기획,

제품의 차별화 전략 근거자료를 마련하며 타겟 시장의 국내외 시장 규모,

자료를 수집하여 사업분석 자료를 작성하고 타겟 시장의 중심 고객 특성,

파악 시장 이슈 및 시장 전망 자료를 마련한다, .

사업분석 작업은 제품기획 전문가는 새롭게 기획한 제품 아이디어와 시

장조사 자료에 근거해 기획 제품의 사업화 가능성과 필요성에 대해 기술한

다 특히 앞서 시장조사를 통해 획득한 고객성향 자료와 제품의 특성을 결. ,

합하여 대상 고객에 대한 상세한 프로파일과 고객 유인 요소를 통해 제품의

특성을 보다 명확히 한다 또한 새롭게 기획한 제품을 개발하는데 필요한.

인적 물적 자원 및 소요비용을 개괄적으로 도출한다, .

목표설정 작업은 시장조사 자료와 사업분석 자료를 면밀히 검토하여 새

로운 제품의 목표를 수립한다 구체적인 목표 수립의 일환으로 장단기적인.

제품의 목표 시장점유율과 그로 인해 달성 가능한 이윤을 추정한다 두 가.

지 자료를 통해 투자대비효과 분석 자료를 작성한다.

Page 50: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 46 -- 46 -- 46 -- 46 -

그림 전략기획 영역활동 작업 구성도( 2-5)

주요 산출물3)

전략기획 영역 활동 단계에서 만들어 지는 주요 산출물과 그 산출물 간

의 연관관계는 아래 그림과 같다.

그림(

전략기획 영역활동 산출물 연관도2-6)

기법4)

전략기획 영역활동에서 사용되는 명시적인 기법은 정의하지 않는다.

Page 51: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 47 -- 47 -- 47 -- 47 -

나 도메인 영역활동나 도메인 영역활동나 도메인 영역활동나 도메인 영역활동....

목적1)

도메인 영역활동의 목표는 단일 제품이 아닌 다양한 종류의 제품을 동시

다발적으로 빠른 시간 내에 개발할 수 있는 제품계열 개발 기반을 마련하는

활동 영역이다 궁극적으로 도메인 영역활동은 엔지니어링 분야의 전통적인.

개발 방식 즉 한정된 제품 요구사항에 순응하여 제품 개발에 치중하는 수,

동적 자세로부터 벗어나 보다 적극적으로 시장의 요구사항을 파악하고 사,

전에 새로운 제품을 예측하여 제품 개발에 반영하는 것이다 제품 사용자나.

개발자 등과 같은 다양한 이해당사자들로부터 요구사항을 수집하여 정제하

고 조정해 나가는 상향식 접근방식 요구사항 영역활동 이 전통적인 단일 제( )

품 개발에 초점을 맞춘 것이라면 도메인 영역활동은 제품 별 두드러진 특,

성을 추출하고 정제해 나가는 하향식 접근방식이다 또한 요구사항 영역활. ,

동이 제품을 개발하는데 있어 공학적 관점의 수동적 접근방식이라면 도메, ,

인 영역활동은 공학적 관점에서 벗어나 시장 중심적 혹은 고객 중심적 관점

으로 확장한 능동적 접근방식이다.

구성2)

도메인 영역활동은 제품계열 특성설계 특성 상관관계 분석 제품 특성, ,

확정의 작업으로 구성된다 작업간의 구성 관계는 아래 그림과 같다. .

제품계열 특성설계는 도메인 분석가가 목적하는 다양한 버전의 제품이나

시스템을 포괄적으로 설명할 수 있는 특성 모델을 작성하는 일련의 과정이

다 제품계열 특성 설계의 목적은 제품 기획 초기부터 다양한 버전의 여러.

제품 개발을 동시에 고려하여 사전에 제품의 확장 가능성을 사전에 식별하

고 정의하는데 있다.

Page 52: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 48 -- 48 -- 48 -- 48 -

그림 도메인 영역활동의 작업 구성도( 2-7)

특성 상관관계 분석은 특성모델을 상세화 시켜 나가는 일련의 과정이다.

앞서 제품계열 특성설계 작업이 제품계열 특성모델의 구조적인 측면에 초점

을 맞춘 과정이라면 특성 상관관계 설계 작업은 묵시적으로 특성모델로부,

터 구성될 제품계열 특성간의 상호작용을 예측 분석하여 특성 간 상관관계

를 설계하고 설계하는 과정이다.

제품 특성확정은 제품계열 특성모델 요소를 통해 다양한 형태의 여러 시

스템 제품을 구분함으로써 새로운 특성의 추가나 조립을 통해 새로운 제품

개발이 가능한 기반을 마련하면서 동시에 앞서 작성한 제품계열 특성모델의

타당성을 확인하는 것을 목표로 한다.

주요 산출물3)

도메인 영역 활동 단계에서 만들어 지는 주요 산출물과 그 산출물 간의

연관관계는 아래 그림과 같다.

Page 53: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 49 -- 49 -- 49 -- 49 -

그림 도메인 영역활동 산출물 연관도( 2-8)

기법4)

도메인 영역활동에서 사용되는 명시적인 기법은 정의하지 않는다.

다 요구사항 영역활동다 요구사항 영역활동다 요구사항 영역활동다 요구사항 영역활동....

목적1)

요구사항 영역활동은 요구 분석가를 중심으로 제품 개발에 관련된 마케

팅전문가 고객 등의 이해당사자들로부터 요구사항을 추출 하고 분, (elicit)

석 하여 이해당사자들이 막연하게 제품과 관련 시스템에 대해 기(analysis) ,

대하는 능력 이나 조건 을 지속적으로 실현 가능하고(capability) (condition)

완결된 형태의 요구사항으로 구조화는 일련의 과업 집합을 말하(feasible)

며 프로젝트 관리 관점에서는 이해당사자들 간의 합의 를 통한, (consensus)

요구사항 결정, 프로젝트 관리 대상을 계획 수립의 기반을 제공 구체적인,

프로젝트 일정과 비용 산출의 근거를 마련한다 시스템 개발 관점에서는 명.

확한 시스템 개발 범위 결정 시스템개발자들에게 요구사항을 체계적으로,

이해할 수 있는 기초자료 제공 사용자 인터페이스 윤곽 설계를 목표로 한,

다.

Page 54: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 50 -- 50 -- 50 -- 50 -

구성2)

요구사항 영역활동은 요구사항 추출 요구사항 분류 시스템 기능 정의, , ,

시스템 비기능 정의의 작업으로 구성되며 작업간의 관계는 아래의 그림과

같다.

요구사항 추출은 마케팅전문가와 고객 입장에서 제품 시스템에 기대하는/

요구사항을 최대한 추출하여 추적관리가 가능한 수준의 정형화된 형식으로

요구사항을 기록한다.

그림 요구사항 영역활동의 작업 구성도( 2-9)

요구사항 분류는 요구사항의 타입 기능적 대비 비기능적 별로 다른 대응- -

방안을 마련하기 위해 체계적으로 분류하는 일련의 과정이다 또한 요구사.

항 분류 작업은 요구사항 추출 작업과 함께 요구 분석가가 공학적인

관점이 아니라 일반 제품 시스템의 사용자 입장에서 요구사(engineering) /

항을 수렴하는 기본적 요구 획득을 목표로 한다.

시스템 기능 정의는 시스템 기능 정의 작업은 단편적으로 세분류된 제품

시스템의 기능적 요구사항을 일련의 연속된 시스템의 사용 시나리오로 작/

Page 55: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 51 -- 51 -- 51 -- 51 -

성하여 미비하거나 숨겨진 시스템의 기능을 명시적으로 드러내는 공학적인

요구사항 추출을 목표로 한다.

주요 산출물3)

요구사항 영역 활동 단계에서 만들어 지는 주요 산출물과 그 산출물 간

의 연관관계는 아래 그림과 같다.

기법4)

요구사항 영역활동에서 사용되는 명시적인 기법은 정의하지 않는다.

그림 요구 사항 영역활동 산출물 연관도( 2-10)

라 아키텍처 영역활동라 아키텍처 영역활동라 아키텍처 영역활동라 아키텍처 영역활동....

목적1)

아키텍처 영역활동의 주된 목표는 이해당사자들이 기대하는 제품이나 시

스템의 기능적 및 비기능적 요구사항을 충분히 반영한 시스템의 전체 구조

를 마련하고 아키텍처를 구성하는 각 단위 구성요소 하드웨어 및 소프트웨, (

어 의 책임과 역할을 명확히 하고 각 구성요소들 간의 상호작용에 필요한)

Page 56: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 52 -- 52 -- 52 -- 52 -

인터페이스를 명시적으로 명세를 하는데 있다 아키텍처 관련 전문 영역은.

해당 아키텍처 설계 시 고려해야 할 구성요소의 특성에 따라 크게 시스템,

하드웨어 및 소프트웨어로 구분할 수 있으며 구분항목 별 작업이 세부적으

로 나뉜다.

구성2)

아키텍처 영역활동은 시스템 문맥 정의 아키텍처 요구사항 추출 시스, ,

템 아키텍처 설계 시스템 아키텍처 평가 시스템 아키텍처 확정 하드웨어, , ,

아키텍처 설계 논리설계 소프트웨어 아키텍처 설계 소프트웨어 아키텍처- , ,

평가 소프트웨어 아키텍처 확정의 작업으로 구성된다, .

시스템 문맥 정의 작업은 아키텍처 영역활동 초기에 시스템 내부 구성

요소 식별보다는 목적하는 시스템과 연관된 외부 시스템이나 사용자 운영,

환경 등의 구성요소 식별에 초점을 맞춤으로써 대상 시스템의 명확한 책임,

범위 를 시스템의 경계 를 통해 명확히 하는 것이다 그럼(scope) (boundary) .

으로써 자연스럽게 그러한 외부 구성요소와 상호작용하게 되는 시스템의 대

표적인 내부 인터페이스나 서브시스템이 도출된다.

아키텍처 요구사항 분석 작업은 시스템 요구사항과 시스템 문맥으로부터

아키텍처 설계 시 고려해야 사항을 추출하고 구체적인 품질시나리오로 명세

를 한다.

시스템 아키텍처 설계는 아키텍처 요구사항을 포괄적으로 반영할 수 있

는 시스템 내부 구성요소 하드웨어 및 소프트웨어 를 식별하고 구성요소들- - ,

간의 동작 방식을 설계한다.

시스템 아키텍처 평가는 시스템 문맥과 시스템 아키텍처 요구사항을 반

영한 다양한 시스템 아키텍처 후보 가운데 최적의 시스템 아키텍처 구성요

소를 결정한다.

시스템 아키텍처 확정은 결정된 시스템 아키텍처 구성요소 특히 하드웨,

어 부품 목록에 근거해 소프트웨어에서 사용할 하드웨어 자원정보를 확정하

Page 57: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 53 -- 53 -- 53 -- 53 -

여 하드웨어 관련 작업과 소프트웨어 관련 작업이 동시에 진행될 수 있는,

발판을 마련한다.

논리회로 설계는 시스템 아키텍처에서 결정한 하드웨어 부품들 간의 핀

을 회로로 구성한다.

소프트웨어 아키텍처 설계는 시스템 아키텍처에서 식별된 단위 소프트웨

어 컴포넌트를 추출하고 소프트웨어 중심의 컴포넌트 구조와 타입을 통해

컴포넌트들 간의 상관관계를 결정한다.

소프트웨어 아키텍처 평가는 시스템 아키텍처에 근거한 소프트웨어 아키

텍처 구성요소들을 중심으로 다양한 소프트웨어 아키텍처 후보 가운데 최적

의 소프트웨어 아키텍처 구성요소나 패턴을 결정한다.

논리회로 설계는 시스템 아키텍처에서 결정한 하드웨어 부품들 간의 핀

을 회로로 구성한다.

소프트웨어 아키텍처 설계는 시스템 아키텍처에서 식별된 단위 소프트웨

어 컴포넌트를 추출하고 소프트웨어 중심의 컴포넌트 구조와 타입을 통해

컴포넌트들 간의 상관관계를 결정한다.

소프트웨어 아키텍처 평가는 시스템 아키텍처에 근거한 소프트웨어 아키

텍처 구성요소들을 중심으로 다양한 소프트웨어 아키텍처 후보 가운데 최적

의 소프트웨어 아키텍처 구성요소나 패턴을 결정한다.

소프트웨어 아키텍처 확정은 결정된 소프트웨어 아키텍처로부터 구체적

인 소프트웨어 아키텍처 구성요소인 컴포넌트 내역을 추출하고 단위 컴포넌

트의 책임과 범위를 명시하여 단위 컴포넌트 설계 구현을 담당할 개발자들/

이 원활하게 병렬 작업을 수행할 수 있는 발판을 마련한다.

아키텍처 유도 작업은 사전에 설계된 제품계열 아키텍처로부터 새로운

시스템 제품 개발에 필요한 아키텍처를 신속하게 추출하여 생성한다.

아키텍처 영역활동의 작업 구성도를 그림으로 보이면 아래와 같다.

Page 58: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 54 -- 54 -- 54 -- 54 -

그림 아키텍처 영역활동의 작업 구성도( 2-11)

주요 산출물3)

아키텍처 영역 활동 단계에서 만들어 지는 주요 산출물과 그 산출물 간

의 연관관계는 아래 그림과 같다.

기법4)

아키텍처 영역활동에서 사용되는 명시적인 기법은 정의하지 않는다.

Page 59: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 55 -- 55 -- 55 -- 55 -

그림 아키텍처 영역활동 산출물 연관도( 2-12)

마 설계 영역활동마 설계 영역활동마 설계 영역활동마 설계 영역활동....

목적1)

설계 영역활동은 도메인 컨텍스트 편성 작업의 산출물에 기반하여 아키

텍처 설계 작업을 통해 결정된 아키텍처 결정사항을 반영하면서 시스템의

구조 및 행위 모델링 기법을 통해 시스템 설계 구성 요소를 추출하거나 요,

구사항에 적합한 하드웨어를 설계하는 일련의 활동 집합을 말한다.

설계 영역활동은 일반적으로 자산개발 주기의 심화 및 구축 단계와 제품

주기의 유도 단계에 걸쳐 수행하게 된다 자산개발 주기의 심화 단계에서.

수행하게 되는 설계 영역활동은 주로 전체 시스템 기능 중에서 핵심적인 단

위 모듈을 대상으로 모델 시뮬레이션 등의 기법을 통해 프로토타이핑을 위

Page 60: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 56 -- 56 -- 56 -- 56 -

한 활동이며 구축 단계에서 본질적인 컴포넌트 설계 작업을 수행하게 된,

다 제품 주기에서의 설계 영역활동은 자산개발 주기에서와 동일한 방식으.

로 수행하되 자산개발 주기에서 고려하지 않았거나 추가되는 선택 및 변형,

특성의 시스템 기능 구조 및 행위 설계에 초점을 맞춰 이루어지게 된다.

설계 영역활동은 일반적으로 자산개발 주기의 심화 및 구축 단계와 제품

주기의 유도 단계에 걸쳐 수행하게 된다 자산개발 주기의 심화 단계에서.

수행하게 되는 설계 영역활동은 주로 전체 시스템 기능 중에서 핵심적인 단

위 모듈을 대상으로 모델 시뮬레이션 등의 기법을 통해 프로토타이핑을 위

한 활동이며 구축 단계에서 본질적인 컴포넌트 설계 작업을 수행하게 된,

다 제품 주기에서의 설계 영역활동은 자산개발 주기에서와 동일한 방식으.

로 수행하되 자산개발 주기에서 고려하지 않았거나 추가되는 선택 및 변형,

특성의 시스템 기능 구조 및 행위 설계에 초점을 맞춰 이루어지게 된다.

구성2)

설계 영역활동은 소프트웨어 컴포넌트 구조 설계 소프트웨어 컴포넌트,

행위 설계 사용자 인터페이스 설계 데이터 구조 설계 기구 설계 아트, , , ,

웍 설계의 작업으로 구성된다, PCB .

소프트웨어 컴포넌트 구조 설계는 시스템의 소프트웨어적 기능을 실현하

기 위해 필요한 소프트웨어 컴포넌트를 식별하고 이들 간의 관계를 정의하

여 소프트웨어 컴포넌트 행위 설계 작업의 기반을 마련한다.

소프트웨어 컴포넌트 행위 설계는 식별된 소프트웨어 설계 구성 요소들

간의 상호 작용을 위한 오퍼레이션을 도출하여 각 단위 모듈마다 할당된 역

할이 적합한지 여부를 일차적으로 확인하고 추가적인 단위 모듈이나 불필,

요한 단위 모듈이 포함되어 있지는 않은지 그리고 중복된 단위 모듈이 포함

되어 있지는 않은지 확인한다.

사용자 인터페이스 설계는 서비스 시나리오를 중심으로 사용자가 사용하

Page 61: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 57 -- 57 -- 57 -- 57 -

는 화면에 대한 구조 항목 이벤트들을 상세화 하고 이를 표준 디자인에, ,

맞게 구축하고 출력물을 설계하여 시스템의 사용자 인터페이스를 요구사항

에 맞게 설계한다.

데이터 구조 설계는 지속적으로 관리되어야 하는 정보를 저장매체에 저

장할 할 수 있도록 정보구조와 사용되는 코드를 정의한다.

기구 설계는 제품의 기구 케이스 를 설계하고 아트웍은 시스템 아키텍( ) ,

처로부터 제품의 보드 설계를 위한 아트웍을 설계한다 설계는 제품의. PCB

보드를 제작하기 위한 거버 파일을 생성한다.

그림 설계 영역활동 구성도( 2-13)

주요 산출물3)

설계 영역 활동 단계에서 만들어 지는 주요 산출물과 그 산출물간의 연

관관계는 아래 그림과 같다.

Page 62: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 58 -- 58 -- 58 -- 58 -

기법4)

설계 영역 활동 단계에서 지원되는 기법은 아래 그림과 같다.

그림 설계 영역활동 산출물 연관도( 2-14)

그림 설계 영역활동 기법( 2-15)

Page 63: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 59 -- 59 -- 59 -- 59 -

바 구현 영역활동바 구현 영역활동바 구현 영역활동바 구현 영역활동....

목적1)

구현 영역활동의 목적은 시스템 아키텍처 및 시스템의 상세 설계로부터

선정된 플랫폼에서 실행될 수 있는 컴포넌트를 개발 선정하여 실행 가능한,

시스템을 구현하는 것이다 여기에는 소스파일 바이너리 등으로 시스템의. ,

각 컴포넌트를 구현하는 것과 제품 특성을 구현하는 컴포넌트를 추출하고

제품의 특성에 맞게 설정하는 작업들을 포함한다.

구성2)

소프트웨어 구현을 위한 소프트웨어 컴포넌트 구현 컴포넌트 유도 매, ,

뉴얼 작성과 하드웨어 구현을 위한 실물모형 제작 기구 제조 인(mock-up), ,

쇄회로기판 제조 부품 실장으로 구성된다, .

그림 구현 영역활동 구성도( 2-16)

Page 64: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 60 -- 60 -- 60 -- 60 -

주요 산출물3)

구현 영역활동 단계에서 만들어 지는 주요 산출물과 그 산출물 간의 연

관관계는 아래 그림과 같다.

그림 구현 영역활동 산출물 연관도( 2-17)

기법4)

구현 영역활동에서 사용되는 기법으로 소프트웨어 컴포넌트 구현을 위한

컴포넌트기반 코딩 기법을 정의한다C .

사 테스트 영역활동사 테스트 영역활동사 테스트 영역활동사 테스트 영역활동....

목적1)

테스트 영역활동은 임베디드 시스템에 대한 분석 영역 활동과 설계 영역

활동에서 생산된 요구 사항 명세서 제품 특성 명세서 컴포넌트 설계서, , ,

Page 65: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 61 -- 61 -- 61 -- 61 -

아키텍처 설계서 통합 계획서를 입력으로 테스트의 기본 원칙과 전략 및,

테스트 대상과 테스트 방법을 정해 테스트가 수행될 계획을 작성한다.

테스트할 대상은 테스트 계획에 맞춰 테스트할 범위와 테스트 케이스를

상세히 정의하여 테스트 명세로 테스트 계획서에 보완된다 각 테스트 대상.

별 테스트 수행에서 테스트는 계획서에 명시된 대로 테스트 대상에 대해 결

함이 존재하는 지의 여부를 알기 위해 테스트를 수행하고 수행 결과를 분석

하여 테스트 보고서를 작성한다.

구성2)

테스트의 종류는 하드웨어 테스트 소프트웨어 컴포넌트 테스(H/W) , (S/W)

트 소프트웨어 하드웨어 통합 테스트 통합 테스트 시스템 테스트, / , S/W , ,

인수 테스트 필드 테스트 인증 테스트에 대한 계획과 수행으로 구분된다, , .

테스트 계획은 컴포넌트 소프트웨어 하드웨어 통합 통H/W, S/W , / , S/W

합 시스템에 대한 종류의 작업으로 구성된다 테스트 수행은 컴, 5 . H/W, S/W

포넌트 소프트웨어 하드웨어 통합 통합 시스템 인수 필드 인증에, / , S/W , , , ,

대한 종류의 작업으로 구성된다8 .

그림 테스트 영역활동 작업 구성도( 2-18)

Page 66: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 62 -- 62 -- 62 -- 62 -

주요 산출물3)

테스트 영역 활동 단계에서 만들어 지는 주요 산출물과 그 산출물 간의

연관관계는 아래 그림과 같다.

그림 테스트 영역활동 산출물 연관도( 2-19)

Page 67: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 63 -- 63 -- 63 -- 63 -

기법4)

테스트 영역 활동에서 사용되는 기법은 다음과 같다.

그림 테스트 영역활동 기법( 2-20)

프로젝트 관리 프로세스프로젝트 관리 프로세스프로젝트 관리 프로세스프로젝트 관리 프로세스2.2.2.2.

가 프로젝트 관리 영역활동가 프로젝트 관리 영역활동가 프로젝트 관리 영역활동가 프로젝트 관리 영역활동....

목적1)

프로젝트 관리 영역활동은 주어진 예산 시간 인원 등을 효율적으로 관, ,

리하여 개발의 생산성 및 품질향상을 꾀하는 체계화된 관리행동의 집합을

말한다 따라서 본 영역 활동은 프로젝트에서 요구사항을 만족하는 제품 서. /

비스를 생산하기 위해 필요한 활동 작업 자원을 식별하고 수립하고 조, , , ,

Page 68: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 64 -- 64 -- 64 -- 64 -

정하고 감시하는 것을 목표로 한다, .

구성2)

프로젝트 관리 영역활동은 업무 범위 정의 프로젝트 계획 개발 프로젝, ,

트 계획 승인 프로젝트 모니터링 및 시정조치 프로젝트 종료로 구성된다, , .

업무 범위 정의는 프로젝트에서 수행되어야 할 업무를 정의하고 프로젝

트 목표를 달성하기 위해 사용 가능한 선택사항을 평가하고 채택할 전략을,

결정한다.

프로젝트 계획 개발은 프로젝트 수행의 기반으로서 프로젝트 계획을 개

발한다 프로젝트 계획 승인은 개발된 프로젝트 계획을 검토하고 조정하. ,

고 승인한다 프로젝트 모니터링 및 시정조치는 프로젝트 계획에 대비하여, .

프로젝트의 상태를 주기적으로 비교하고 보고한다 프로젝트 목표가 달성되.

지 않았을 때 계획과의 차이를 시정하고 프로젝트에서 식별된 문제점의, ,

재발을 방지하기 위한 조치를 취한다 프로젝트 종료는 프로젝트 계획에 따.

른 수행이 완료되었을 때 프로젝트를 적절히 종료시킨다.

다음 그림은 프로젝트 관리 영역활동의 작업 구성도를 보여준다.

그림 프로젝트 관리 영역활동 작업 구성도( 2-21)

Page 69: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 65 -- 65 -- 65 -- 65 -

주요 산출물3)

프로젝트 관리 영역활동에서 만들어 지는 주요 산출물과 그 산출물 간의

연관관계는 아래 그림과 같다.

그림 프로젝트 관리 영역활동 산출물 연관도( 2-22)

기법4)

프로젝트 관리 영역활동에서 사용되는 명시적인 기법은 정의하지 않는다.

나 유지보수 영역활동나 유지보수 영역활동나 유지보수 영역활동나 유지보수 영역활동....

목적1)

핵심 자산을 포함한 제품 계열의 구성요소를 유지보수하고 관리하기 위

한 활동으로 제품계열 기반의 소프트웨어 시스템 개발이 추진되기 위해서는/

제품계열에서 정의하고 있는 핵심 자산에 대한 체계적인 관리가 필요하다.

새로운 요구 사항 또는 결함 등에 의해 핵심 자산이 변경될 경우 이를 체,

계적으로 관리하기 위한 활동들이 요구된다.

Page 70: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 66 -- 66 -- 66 -- 66 -

구성2)

핵심 자산의 유지 보수를 위해 유지보수계획 수립 사용자 요청관리 사, ,

건 관리 문제 관리 변경 관리 이관의 세부 작업으로 구성된다 유지 보, , , .

수 영역활동을 구성하는 작업간의 관계는 아래의 그림과 같다.

유지보수계획 수립은 핵심 자산 및 제품 계열의 유지보수(core assets)

를 위한 계획을 수립한다.

사용자 요청관리는 현업의 신규 개발요청이나 기존 업무처리 시스템의

확장 및 변경 요청사항에 대해 서비스 지원을 보다 신속하고 체계적으로IT

대응하기 위한 작업을 수행한다.

사건 관리는 현업의 핵심자산 제품계열에 대한 편리성을 최대한 보장하/

기 위해 사건의 접수 처리 확인 및 종료과정을 보다 신속 하게 정상 서비, ,

스가 될 수 있도록 한다.

문제 관리는 발생된 사건의 근본적인 원인분석과 해결방안을 수립하여

동일 문제의 재발 방지 및 인프라내의 문제 및 에러로 기인하는 사업상IT

의 부정적인 영향을 최소화 한다.

변경 관리는 형상관리 영역활동의 변경관리와 동일한 작업을 수행한다.

이관의 세부 작업은 변경이 완료된 핵심자산 제품계열에 대해 실제 운영/

환경에서 원활하게 작동될 수 있도록 한다.

주요 산출물3)

유지보수 영역 활동 단계에서 만들어 지는 주요 산출물과 그 산출물 간

의 연관관계는 아래 그림과 같다.

기법4)

유지보수 영역 활동 단계에서 사용되는 명시적인 기법은 정의하지 않는다.

Page 71: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 67 -- 67 -- 67 -- 67 -

그림 유지보수 영역활동 구성도( 2-23)

그림 유지보수 영역활동 산출물 연관도( 2-24)

Page 72: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 68 -- 68 -- 68 -- 68 -

품질 관리 프로세스품질 관리 프로세스품질 관리 프로세스품질 관리 프로세스3.3.3.3.

가 품질보증 영역활동가 품질보증 영역활동가 품질보증 영역활동가 품질보증 영역활동....

목적1)

품질보증 영역활동은 프로젝트에 대해 품질보증담당자가 품질보증 계획

을 수립하고 품질보증 활동을 수행하는 작업들로 구성된다 품질보증전략, .

수립을 통해 어떠한 접근방법과 일정을 갖고 품질보증 활동을 수행할 것인

지를 결정한다 품질보증 활동은 프로세스와 작업산출물에 대해 이루어지.

면 사전에 정의된 품질표준에 적합한 지를 검토한다, .

구성2)

품질보증 영역활동은 품질보증 전략 개발 품질표준 및 품질 기록 정의, ,

프로세스 품질보증 활동 수행 부적합사항 처리 품질 결과 보고의 작업으, ,

로 구성된다.

품질보증 전략 개발은 품질 방침 품질 보증 범위 품질에 대한 책임소, ,

재를 개발하고 구현하고 유지한다 품질표준 및 품질 기록 정의는 각 프, , .

로세스와 작업산출물에 대한 품질 표준을 수립하고 프로세스와 작업산출물

이 품질 표준을 따르고 있음을 보여 주는 품질 기록을 정의한다 프로세스.

품질보증 활동 수행은 프로세스가 명시된 표준 절차 등을 따라 수행되고,

있다는 확신을 필요한 수준까지 제공하기 위한 일련의 활동을 수행한다.

부적합사항 처리는 부적합사항은 보고 분석 시정 예방되도록 한다 품질, , , .

결과 보고는 품질보증 활동 수행결과 발견된 부적합사항 추이를 적절한, ,

대상자에게 보고한다.

품질보증 영역활동의 작업 구성도와 산출물 간의 관계는 아래에 보이는

그림과 같다.

Page 73: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 69 -- 69 -- 69 -- 69 -

그림 품질보증 영역활동 구성도( 2-25)

그림 품질보증 영역활동 산출물 연관도( 2-26)

Page 74: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 70 -- 70 -- 70 -- 70 -

주요 산출물3)

품질보증 영역활동 단계에서 만들어 지는 주요 산출물과 그 산출물 간의

연관관계는 아래 그림과 같다.

기법4)

품질보증 영역활동은 작업 수행에 인스펙션 기법을 사용한다.

나 형상관리 영역활동나 형상관리 영역활동나 형상관리 영역활동나 형상관리 영역활동....

목적1)

형상관리 영역 활동은 프로젝트에 대한 형상관리 요구 사항을 바탕으로

형상관리 계획을 수립하는 것에서 시작하여 형상 관리의 주요 활동을 형상

항목으로 식별하여 베이스라인을 수립하고 형상 관리 대상이 되는 형상 항,

목에 대한 변경을 처리하는 활동 형상 상태에 대한 보고 활동 형상 관리, ,

가 제대로 되고 있는 지에 대한 형상 감사 활동으로 나뉜다.

구성2)

형상관리 영역 활동은 형상관리 계획 수립 형상 항목 식별 변경 관리, , ,

형상상태 보고 형상 감사의 작업으로 구성된다 형상관리 영역활동의 작업, .

구성도를 그림으로 보이면 아래와 같다.

형상관리 계획 수립은 형상관리의 범위를 결정하여 형상관리 계획을 수,

립하고 형상관리 조직을 구성하며 형상관리 기반구조를 구축한다, , .

형상 항목 식별은 형상항목을 선정하고 형상베이스라인을 설정하고 요, ,

청시 형상관리시스템으로부터 형상항목을 릴리즈한다.

변경 관리는 형상 항목에 대한 변경 요청을 받아 영향을 평가한 후 변,

경을 승인하고 난 후 변경을 구현하며 변경이 올바르게 이루어졌는지 검, ,

증한다 형상상태 보고는 형상항목에 대해 상태를 기록하고 보고한다 형상. .

Page 75: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 71 -- 71 -- 71 -- 71 -

감사는 형상감사 계획에 따라 형상감사 절차에 따라 감사를 실시한다.

그림 형상 관리 영역활동 구성도( 2-27)

주요 산출물3)

형상관리 영역활동 단계에서 만들어 지는 주요 산출물과 그 산출물 간의

연관관계는 아래 그림과 같다.

기법4)

형상관리 영역활동에서 사용되는 명시적인 기법은 정의하지 않는다.

Page 76: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 72 -- 72 -- 72 -- 72 -

그림 형상관리 영역활동 산출물 연관도( 2-28)

프로세스 경로프로세스 경로프로세스 경로프로세스 경로4.4.4.4.

프로세스는 시스템을 개발하는 프로젝트에 적용되는 방법론을 기반으로

프로젝트 특성을 반영할 수 있도록 유형별로 분류하여 각각의 공정 등을 구

성하여 각 프로젝트의 효율적인 개발 활동을 지원할 수 있도록 정의된다.

마르미 는 유연한 프로세스 특성을 가진 반복 프로세스와 빠른 반복 개발-IV

생명 주기를 가진 프로세스인 RAP(Rapid Application Prototyping Process)

를 적용하여 신속한 개발과 높은 개발 생산성을 달성할 수 있도록 지원한

다.

유형별로 구별되는 프로세스를 프로세스 경로라고 부르고 각 프로세스는

어플리케이션 개발 프로세스 경로 미들웨어 개발 프로세스 경로 터미널, ,

개발 프로세스 제품 개발 프로세스 자산 개발 프로세스 제품 생성 프로, , ,

세스 경로 등의 가지 경로로 나뉜다6 .

Page 77: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 73 -- 73 -- 73 -- 73 -

그림 마르미 와 프로세스 경로의 구성도( 2-29) -IV

어플리케이션 개발 프로세스 경로는 고객에게 서비스를 제공하기 위한

단말 및 서버 응용 프로그램을 개발하는 프로젝트에 적용되는 프로세스이

다 각 영역활동 별로 본 경로를 구성하는 작업은 아래의 그림과 같다. .

그림 어플리케이션 개발 프로세스 경로( 2-30)

Page 78: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 74 -- 74 -- 74 -- 74 -

그림 미들웨어 개발 프로세스 경로( 2-31)

미들웨어 개발 프로세스 경로는 공통적으로 사용될 수 있은 컴포넌트를 개

발하는 프로젝트에서 주로 사용할 수 있는 프로세스이다 각 영역활동 별로.

본 경로를 구성하는 작업은 다음과 같다.

그림 터미널 개발 프로세스 경로( 2-32)

Page 79: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 75 -- 75 -- 75 -- 75 -

터미널 개발 프로세스 경로는 단말 어플리케이션의 기반이 되는 와WIPI

같은 기반 환경을 구축하는 프로젝트에 적용되는 프로세스이다 각 영역활.

동 별로 본 경로를 구성하는 작업은 위 그림 와 같다( 2-32) .

제품 개발 프로세스 경로는 전통적인 단일 임베디드 시스템 개발에 필요

한 일반적인 프로세스이다 각 영역활동 별로 본 경로를 구성하는 작업은.

다음 그림 과 같다( 2-33) .

자산 개발 프로세스 경로는 제품계열을 개념을 적용한 것으로서 도메인

에서 재사용 가능한 핵심 자산을 개발하는 프로세스이다 각 영역활동 별로.

본 경로를 구성하는 작업은 다음 그림 과 같다( 2-34) .

제품 생성 프로세스 경로는 제품계열의 개념을 통해 개발된 재사용 가능

한 자산을 활용하여 특정 제품을 생산하는 프로세스이다.

각 영역활동 별로 본 경로를 구성하는 작업은 다음 그림 와 같다( 2-35) .

그림 단일 제품 개발 프로세스 경로( 2-33)

Page 80: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 76 -- 76 -- 76 -- 76 -

제 장 개발방법론 지원도구제 장 개발방법론 지원도구제 장 개발방법론 지원도구제 장 개발방법론 지원도구3 - PRiME3 - PRiME3 - PRiME3 - PRiME

제 절 개요제 절 개요제 절 개요제 절 개요1111

지원도구의 필요성지원도구의 필요성지원도구의 필요성지원도구의 필요성1.1.1.1.

개발방법론 지원도구는 개발 프로세스 정의 방법론 참조 등의 기본적인,

기능을 지원해 주는 도구가 출시되어 있으나 최신 기술을 바로 적용하거나,

프로젝트의 수행 결과 획득된 지식을 전사적 차원에서 공유하거나 조직의

개발 프로세스 향상을 위한 정량적인 관리 활동을 지원하는 기능은 전반적

으로 미흡한 형편이다 이러한 사실에 근거하여 시스템 개발자 자신이 개발.

해야 하는 제품 자신의 조직 자신이 해결해야 하는 문제 등과 같은 상황, ,

적 요소에 기반하여 다양한 시스템 개발 체계를 쉽게 정의 조정 및 적용할,

수 있도록 지원하는 도구 를 개발하였다 즉 방법론 관리 프로젝트(PRiME) . , ,

관리 및 자산 관리를 개발방법론 지원도구의 기본 기능으로 하며 이에 기반

하여 시스템 개발 지식의 재사용을 위한 체계적인 지식관리 기능을 갖출 수

있도록 지원하고자 하였다.

의 확장성의 확장성의 확장성의 확장성2. PRiME2. PRiME2. PRiME2. PRiME

개발방법론 지원도구는 방법론의 관리 예 등록 조회 등 용도만으로( ; , )

활용한다는 것은 의미가 없다 당연히 개발방법론은 조직이나 프로젝트에.

적용되어 활용되기 때문에 조직 관리나 프로젝트 관리 활동과 연계되어 활

용할 수 있어야 한다.

우선적으로 는 방법론 관리 기능뿐만 아니라 프로젝트 관리 기능도PRiME

포함하고 있다 부분적인 프로젝트 관리 도구는 외산 제품이 몇몇 있지만.

Page 81: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 77 -- 77 -- 77 -- 77 -

방법론 관리 기능을 포함한 통합도구로서는 가 처음이다PRiME .

앞으로 소프트웨어 프로세스 통합 관리도구로서 를 지속적으로 확PRiME

장하는 것이 필요하다 즉 방법론 관리 프로젝트 관리뿐만 아니라 소프트. ,

웨어 프로세스 측면에서 필요한 조직관리 기능을 포함한 통합도구로 확장이

필요하다.

사용환경사용환경사용환경사용환경3. PRiME3. PRiME3. PRiME3. PRiME

� 기본구동요소

기반JAVA▪

Eclipse 3.1▪

Eclipse Plug-IN framework▪

� DATABASE

이상Oracle 9.X ~ .▪

� OS

운영이 가능하고Java machine .▪

가 구동되는 환경Eclipse .▪

개발환경 : MS Windows XP , Windows 2003▪

특징 및 기대효과특징 및 기대효과특징 및 기대효과특징 및 기대효과4.4.4.4.

� 오픈플랫폼인 기반의 도구 개발로 개발도구와의 통합환경 제Eclipse

� 방법론 관리를 기반으로 다양한 프로젝트 관리 활동과 연계

� 개발방법론의 조직에의 정착과 프로젝트에의 적용이 용이함

Page 82: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 78 -- 78 -- 78 -- 78 -

� 프로젝트 경험 및 지식을 공유할 수 있음

� 산출물의 재사용성 제고 및 자산으로의 관리 가능

� 프로젝트 관리 활동의 향상 편리한 작업 관리 실시간 진척도 등( , )

� 및 등의 프로세스 개선 도구로 활용이 가능CMM SPICE

제 절 구성과 기능제 절 구성과 기능제 절 구성과 기능제 절 구성과 기능2 PRiME2 PRiME2 PRiME2 PRiME

의 구성의 구성의 구성의 구성1. PRiME1. PRiME1. PRiME1. PRiME

은 그림 에서 보는 바와 같이 크게 가지 부문으로 구성되PRiME ( 3-1) 4

어 있다.

그림 구성도( 3-1) PRiME

를 통하여 조직의 표준방법론을 등록하고 조회한다 프로PRiME Method .

젝트 관리자 는 등록된 표준방법론을 조회하여 프로젝트에 적용하고자(PM)

Page 83: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 79 -- 79 -- 79 -- 79 -

하는 방법론을 선정한다 또한 프로젝트의 규모와 기간 등을 고려하여 선택.

된 방법론의 공정이나 산출물 등을 삭제하거나 추가하는 조정(tailoring)

작업을 수행한다 프로젝트 팀원은 최종적으로 조정된 방법론 정보를 조회.

할 수 있다 프로젝트 관리자와 프로젝트 팀원은 를 통하여 작. PRiME Prject

업관리 진도관리 및 산출물 관리 등의 프로젝트 전반에 관한 활동을 수행,

한다 은 프로젝트가 종료되면 프로젝트 결과물은 자산으로 등. PRiME Assets

록이 가능하고 등록된 자산은 모든 조직원에게 참조되고 공유할 수 있다.

은 개발조직과 사용자 등록 등의 효율적인 시스템 사용을 위한PRiME Admin

제반 활동을 수행한다.

의 주요 기능의 주요 기능의 주요 기능의 주요 기능2. PRiME2. PRiME2. PRiME2. PRiME

의 기능은 그림 기능계층도에 나타나 있다 대표적인 주요PRiME ( 3-2) .

기능에 대해서만 실제 구현된 화면을 통해서 설명하고자 한다.

그림 기능계층도( 3-2) PRiME

Page 84: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 80 -- 80 -- 80 -- 80 -

가 에 근거한 방법론 등록 조회 변경가 에 근거한 방법론 등록 조회 변경가 에 근거한 방법론 등록 조회 변경가 에 근거한 방법론 등록 조회 변경. SPEM , ,. SPEM , ,. SPEM , ,. SPEM , ,

에서 개발방법론은 의 에 근거하여 구성되어 있다 즉 방PRiME OMG SPEM . ,

법론 기본정보 방법론을 구체화 하는 공정 공정 수행의 결과로, (process),

생성되는 산출물 공정을 수행하는 사람의 역할 그리고 공(output), (role),

정 수행에 필요한 기법 으로 세분된다 공정은(technique) . Discipline,

으로 나타내어 진다Task, Step .

그림 은 방법론의 기본정보를 등록하거나 조회하는 화면이다 화면( 3-3) .

왼쪽의 트리에서 방법론 관리 트리뷰를 클릭하면 화면 오른쪽에 현재 등‘ ’

록되어 있는 방법론의 목록이 트리의 형태로 나타난다 트리에서 방법론을.

선택하면 방법론의 상세 정보가 화면 왼쪽 하단에 나타나고 상단에는 방법

론을 새로 생성하는 경우 방법론 명과 설명을 입력할 수 있는 화면이 나타

난다.

그림 방법론 기본정보 등록 및 조회( 3-3)

Page 85: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 81 -- 81 -- 81 -- 81 -

나 구조화된 작업 정의나 구조화된 작업 정의나 구조화된 작업 정의나 구조화된 작업 정의....

그림 그림 는 방법론을 구성하고 있는 공정 영역( 3-4), ( 3-5) (process),

활동 작업 을 등록하거나 조회하는 화면이다 화면 왼쪽(discipline), (task) .

의 트리메뉴에서 특정 방법론을 클릭하면 화면 오른쪽에 선택된 방법론의

직속 하위 공정을 보여준다.

화면 왼쪽의 상단에서 해당 공정을 선택하면 그 공정에 대한 내용을 아

래에 보여 준다 신규로 공정을 등록하는 경우 공정이름 설명 등을. , ‘ ’, ‘ ’

기입한다 새로이 공정이 등록되면 화면 왼쪽의 트리메뉴에 새로이 등록된.

공정명이 자동 출력된다 공정은 계속적으로 또 다른 하위 공정으로 구성되.

는데 이와 같은 반복 작업으로 하위 공정을 계속 추가할 수 있다 어떤 공.

정을 삭제하는 경우 그 하위 공정 모두가 삭제되므로 삭제시 주의가 필요,

하다.

그림 영역활동 추가( 3-4)

Page 86: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 82 -- 82 -- 82 -- 82 -

그림 작업 추가( 3-5)

그림 그림 은 해당 공정에 관련 산출물을 등록하고 템플리( 3-6), ( 3-7)

트를 등록하는 화면이다.

다 전자문서 형태 매뉴얼 생성다 전자문서 형태 매뉴얼 생성다 전자문서 형태 매뉴얼 생성다 전자문서 형태 매뉴얼 생성. (html). (html). (html). (html)

는 그림 과 같이 전자매뉴얼을 생성하고 조회할 수 있PRiME Method ( 3-8)

다 의 형태로 생성되어 웹브라우저를 통하여 조회할 수 있다 이와 같. html .

은 형태로 에서는 프로젝트에 적용하고자 선택되고 조정된 방PRiME Project

법론을 역시 전자매뉴얼로 생성하여 조회할 수 있다.

Page 87: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 83 -- 83 -- 83 -- 83 -

그림 산출물 등록( 3-6)

그림 산출물 템플리트 등록( 3-7)

Page 88: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 84 -- 84 -- 84 -- 84 -

그림 방법론 매뉴얼 조회( 3-8)

라 방법론에 기반한 정의 및 조정라 방법론에 기반한 정의 및 조정라 방법론에 기반한 정의 및 조정라 방법론에 기반한 정의 및 조정. WBS. WBS. WBS. WBS

그림 는 프로젝트 수행을 위한 를( 3-9) WBS(Work Breakdown Structure)

정의하고자 등록되어 있는 방법론중에 선택하는 화면이다 프로젝트 규모나.

일정 등을 고려하여 프로젝트에 적합한 를 정의하고자 선택된 방법론의WBS

공정을 추가하거나 삭제 수정 또는 산출물을 추가하거나 삭제 수정하는, , ,

조정 작업을 수행한다.

Page 89: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 85 -- 85 -- 85 -- 85 -

그림 방법론에 기반한 정의( 3-9) WBS

그림 프로젝트 팀원의 작업 진척상황 관리( 3-10)

Page 90: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 86 -- 86 -- 86 -- 86 -

마 프로젝트 팀원의 작업 진척상황 관리마 프로젝트 팀원의 작업 진척상황 관리마 프로젝트 팀원의 작업 진척상황 관리마 프로젝트 팀원의 작업 진척상황 관리....

계획된 를 기준으로 프로젝트 관리자가 프로젝트 수행자에게 작업을WBS

지시하고 프로젝트 수행자는 작업을 접수하며 작업이 끝난 후 완료보고, ,

및 검수 등의 일련의 과정에 대한 지원이 필요하다 그림 또한 계획.( 3-10)

대비 실적을 바탕으로 프로젝트 진도를 측정하고 다양한 리포트 형태로 제

시할 수 있는 기능이 필요하다 보다 상세하게는 프로젝트 진척도의 측정.

방법에 대한 정의가 필요하다.

그림 위험 관리( 3-11)

바 위험 등록 및 삭제바 위험 등록 및 삭제바 위험 등록 및 삭제바 위험 등록 및 삭제....

프로젝트 참여자는 그림 처럼 프로젝트 위험요소를 식별하여 분류( 3-11)

Page 91: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 87 -- 87 -- 87 -- 87 -

하고 등록 관리할 수 있다, .

사 자산 정의 및 등록 신청사 자산 정의 및 등록 신청사 자산 정의 및 등록 신청사 자산 정의 및 등록 신청....

프로젝트 관리자나 프로젝트 수행자가 자산 대상이 될만한 결과물을 자

산으로 등록되기를 원하는 경우 자산 등록을 신청하고 자산 관리자는 자산

의 가치가 있는 경우 자산으로 승인한다.

그림 자산 조회( 3-12)

아 자산 등록 승인아 자산 등록 승인아 자산 등록 승인아 자산 등록 승인....

그림 은 자산 등록을 승인하거나 거부하는 화면이다 자산 관리자( 3-13) .

는 등록 신청된 자산대상자를 검토하여 자산으로 승인한다 그러나 자산으.

로의 가치가 적은 경우에는 승인을 거부한다.

Page 92: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 88 -- 88 -- 88 -- 88 -

그림 자산 승인 거부( 3-13) /

자 자산 검색 및 획득자 자산 검색 및 획득자 자산 검색 및 획득자 자산 검색 및 획득....

자산을 사용하기 위하여 자신이 원하는 자산을 검색하여 선택할 수 있어

야 한다 검색어나 검색 조건은 자산을 가장 잘 표현할 수 있는 단어로 저.

장되고 검색될 수 있도록 정의되어야 한다.

Page 93: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 89 -- 89 -- 89 -- 89 -

제 장 임베디드 재사용을 위한 시범 프로젝트제 장 임베디드 재사용을 위한 시범 프로젝트제 장 임베디드 재사용을 위한 시범 프로젝트제 장 임베디드 재사용을 위한 시범 프로젝트4 S/W4 S/W4 S/W4 S/W

수행수행수행수행

제 절 개요제 절 개요제 절 개요제 절 개요1111

시범 프로젝트의 목적시범 프로젝트의 목적시범 프로젝트의 목적시범 프로젝트의 목적1.1.1.1.

임베디드 의 재사용 가능성 을 입증할 수 있는 시범 프로젝트를 수S/W ” ”

행하여 성공사례를 개발하고 연구원 내 전략 사업에 적용할 수 있도IT839

록 보급하고자 한다 시범 프로젝트는 재사용 지침에 따라 수행되고 시범. ,

프로젝트 수행 중 나오는 결과물들은 다시 재사용 지침에 반영하여 실용적

인 재사용 지침을 만들 수 있도록 한다.

시범 프로젝트 영역 선정 계획시범 프로젝트 영역 선정 계획시범 프로젝트 영역 선정 계획시범 프로젝트 영역 선정 계획2.2.2.2.

시범 프로젝트 영역 선정 과정은 단계로 이루어진다 첫째 임베디드3 . ,

의 재사용에 적합한 영역을 재사용 영역 대상으로 선정한다 둘째 영역S/W . ,

선정 대상 후보에 대해 조사한 후 차 영역 선정을 한다 셋째 차 영역1 . , 1

선정 결과물을 보다 더 자세히 조사하여 최종적으로 영역을 선정한다.

� 재사용 영역 대상 선정 임베디드 의 특성과 재사용이 용이: S/W

한 영역 선정

� 차 영역 선정 재사용 영역 대상을 면담을 통해 조사한 후1 :

개 영역 선정3~5

� 최종 영역 선정 시범 프로젝트를 위한 최종 영역 선정:

Page 94: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 90 -- 90 -- 90 -- 90 -

가 재사용 영역 대상 선정 방법가 재사용 영역 대상 선정 방법가 재사용 영역 대상 선정 방법가 재사용 영역 대상 선정 방법....

임베디드 시스템은 의 관련성에 따라 다양한 형태를 갖는다 특정 하H/W .

드웨어에 종속될 경우 재사용성이 떨어지고 하드웨어와 독립적이면 임베디,

드 시스템의 특성을 충분히 갖지 못하게 된다 시범 프로젝트 영역이 임베.

디드 시스템의 특성을 지니면서도 충분한 재사용성을 갖도록 아래와 같은

영역 선정 기준을 만들었다.

� 활용성 높은 것 활용 제품이 다수인 것:

� 현재 산물의 완성도가 높은 것

� 디바이스 혹은 시스템 측면의 의존성 정도

� 타겟 환경을 일부 제한

나 차 영역 선정 방법나 차 영역 선정 방법나 차 영역 선정 방법나 차 영역 선정 방법. 1. 1. 1. 1

선정된 재사용 영역 대상들은 개발자와의 면담을 통해 조사한다 표. [

은 면담 결과를 기록하기 위한 차 영역 선정 면담 양식이다 면담 과4-1] 1 .

정에서 임베디드 의 특성과 재사용 가능 여부를 조사하기 위해 표S/W [ 4-2]

와 같은 영역 선정 질문 리스트를 만들었다 영역 선정 질문 리스트는 활용.

도 재사용 형태 및 재사용을 위한 수정 범위 재사용 시 수정의 필요성 및, ,

수정 형태 현재 해당 기술의 상태 및 난이도를 파악하기 위한 것이다, .

Page 95: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 91 -- 91 -- 91 -- 91 -

작성자

용역과제명담당팀

책임자

개요

실제(

수행내용)

용역과제

플랫폼

규모

재사용(

규모)

모듈 단위 응용 프로그램 단위 라이브러리( ), ( O ),

형태( )

활용성

결과 만족도

표 차 영역 선정 면담 양식[ 4-1] 1

Page 96: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 92 -- 92 -- 92 -- 92 -

영역 선정 질문 리스트< >

활용도< >

해당 기술의 활용이 어디 임베디드 단내 타 단 에서 가능한지 각 경우에1. ( or ) ?대해 해당 기술 전체가 활용대상인지 해당 기술의 일부가 활용대상인지, ?

재사용대상의 규모는2. ?

활용대상의 규모 및 난이도를 고려했을 때 다른 영역에서 활용 가능하도록 하3.기 위해 필요한 소요시간은 어느 정도로 예상되는지?

재사용 형태 및 재사용을 위한 수정 범위< >

해당 기술 자체는 한번 개발하면 별도의 수정 없이 활용이 되는 기술인지 각4. ?(활용가능 영역별로 구별하여 답변 필요)

해당 기술을 수정하여 활용할 경우 수정대상 부분이 몇 정도 차지하는지5. , % ?각 활용가능 영역별로 구별하여 답변 필요( )

재사용시 수정의 필요성 및 수정 형태< >

타 영역에서 활용하기 위해 수정이 필요할 경우 그 원인은 무엇인가 예 기6. ?( ,능의 추가 변경 삭제 변화 등/ / , H/W )

활용이 잘 안 되고 있다고 생각하는 경우 그 이유는 무엇인가7. , ?

수정 대상 부분이 수정될 필요 없는 부분과 분리가 되어 있는지 또는 수정8. ? (되는 부분에 의해 다른 부분이 영향 받지 않도록 분리될 수있는지?)

또는 현재 상태에서 수정 대상 부분이 수정될 필요 없는 부분과 구분이9.가능한지?

현재 해당 기술의 상태 및 난이도< >

현재 해당 기술이 어느 정도 개발되어 있는 지와 실제 수행 일정은10. ?

올해 개발하는 기술과의 관련성은11. ?

선행 기술 및 오픈 소스와의 관계에서의 재사용 형태< >

해당 기술 개발시 참조한 선행 기술 본 팀에서 수행한 과제 관련 이 있다면12. ( ) ,선행 기술의 참조 형태는?

해당 기술의 오픈 소스 의존도 참조 정도 및 분석의 문서화는 어느 정도 되13. ( )어 있는지?

오픈 소스를 참조할 때 어려웠던 점이 있었는지 있었다면 어떤 어려움인지14. ? ?

참조한 오픈 소스의 수정 목표는 어떤 형태의 수정이었는지 실제로는 어떤15. ?형태의 수정이 이루어졌는지?

표 영역 선정 질문 리스트[ 4-2]

Page 97: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 93 -- 93 -- 93 -- 93 -

다 최종 영역 선정 방법다 최종 영역 선정 방법다 최종 영역 선정 방법다 최종 영역 선정 방법....

차 선정 과정에서 선정된 영역 대상에 대해 과제 참여자와 전문가의 토1

론으로 최종 영역을 선정한다.

시범 프로젝트 영역 선정시범 프로젝트 영역 선정시범 프로젝트 영역 선정시범 프로젝트 영역 선정3.3.3.3.

임베디드 의 재사용 시범 프로젝트의 재사용 영역 대상 선정을 위해S/W

년에 임베디드 연구단에서 수행한 개의 위탁 용역과제를 조사한2004 S/W 96 /

후 개 과제를 선정했다 표 은 재사용 영역 대상들과 차 영역 선정19 . [ 4-3] 1

과정의 면담 책임자이다.

표 재사용 영역 대상[ 4-3]

용역 과제 면담자

이클립스 플러그 인 통합 기능송문섭

모델 기반 내장형 실시간 분산 객체 처리엔진 구현TMO규격의 자바 를 지원하기위한 등의 개 패CDC-PP API Security 4

키지 구현 결과물과 자바 플랫폼을 테스트 케이스 개발 유미선

모바일폰용 그래픽 라이브러리 및 미디어 플레이어 개발3D정양재

최유희

이승연

임베디드 리눅스 기반 스마트폰용 모바일 인터넷 브라우저 개발

스마트폰 사용자 인터페이스 개발

통합 메시징 소프트웨어 개발MMS

센서 네트워크를 위한 표준형 센서 하드웨어 블록 개발

저전력센서를 위한 전력 인지 기반 비동기 개발MAC

윤석진

차정은

나노 의 저전력 통신을 위한 협업 메시지 엔진 개발OS

미디어 엔진과 연동 모듈DRM

차세대 멀티미디어 서비스용 스트리밍 프로토콜

오픈 인터넷 접속을 위한 웹 브라우저 기능 향상

시뮬레이션 모듈 개발GUI

황길승

기반의 임베디드 시스템 환경 설정 엔진 개발XML

모바일 기기 및 정보기기용 스타일리쉬 위젯 개발

저전력 디스크 알고리즘 개발I/O

와 망의 접속제어 및 관리 응용 프로그램 개발CDMA HPi GUI

듀얼모드 지원 단말기용 응용 개발

Page 98: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 94 -- 94 -- 94 -- 94 -

표 는 개 재사용 영역 대상을 조사한 결과표이다[ 4-4] 19 .

용역 과제명재사용

가능 여부조사 담당자

이클립스 플러그 인 통합 기능 송문섭

모델 기반 내장형 실시간 분산 객체 처리TMO엔진 구현 송문섭

규격의 자바 를 지원하기위한CDC-PP API등의 개 패키지 구현 결과물과 자바Security 4

플랫폼을 테스트 케이스 개발유미선

모바일폰용 그래픽 라이브러리 및 미디어 플레이3D어 개발

정양재

최유희

이승연

임베디드 리눅스 기반 스마트폰용 모바일 인터넷브라우저 개발

스마트폰 사용자 인터페이스 개발

통합 메시징 소프트웨어 개발MMS

센서 네트워크를 위한 표준형 센서 하드웨어블록 개발

저전력센서를 위한 전력 인지 기반 비동기 MAC개발

나노 의 저전력 통신을 위한 협업 메시지 엔OS진 개발

미디어 엔진과 연동 모듈DRM

윤석진

차정은

차세대 멀티미디어 서비스용 스트리밍 프로토콜

오픈 인터넷 접속을 위한 웹 브라우저 기능 향상

시뮬레이션 모듈 개발GUI

기반의 임베디드 시스템 환경 설정 엔진XML개발

모바일 기기 및 정보기기용 스타일리쉬 위젯개발

저전력 디스크 알고리즘 개발I/O

황길승와 망의 접속제어 및 관리 응용 프CDMA HPi GUI

로그램 개발

듀얼모드 지원 단말기용 응용 개발

표 재사용 가능 여부 분석표[ 4-4]

전문가의 협의 과정을 통해 재사용이 가능한 개의 과제를 재구성하고7

선정 위원의 복수 선택으로 개의 영역을 차 영역으로 선정하였다3 1 .

Page 99: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 95 -- 95 -- 95 -- 95 -

차 영역 선정 내용차 영역 선정 내용차 영역 선정 내용차 영역 선정 내용< 1 >< 1 >< 1 >< 1 >

� 나노 관련 과제 생성을 위한 아키텍처 재사용 가능OS (OS )

� 스마트 폰 관련 과제

모바일폰용 그래픽 라이브러리- 3D

스마트 폰 용 인터넷 브라우저-

통합 메시징 소프트웨어 개발- MMS

� 이클립스 플러그 인 통합 기능 구현

� 패키지 임베디드 자바 기술Security :

� 오픈 인터넷 접속을 위한 웹 브라우저 기능 향상

차 영역 선정 결과차 영역 선정 결과차 영역 선정 결과차 영역 선정 결과< 1 >< 1 >< 1 >< 1 >

� 스마트폰 용 인터넷 브라우저

� 통합 메시징 소프트웨어 개발MMS

� 패키지 임베디드 자바 기술Security :

최종 영역 선정 토론 과정에서 스마트폰용 인터넷 브라우저 영역과 MMS

통합 메시징 소프트웨어 개발 영역은 스마트폰이라는 영역으로 재사용 범위

가 한정되어 있고 패키지 과제보다는 패키지가 사용되, Security Security

는 임베디드 자바 기술이 재사용 시범 프로젝트 영역으로 적합하다는 결론

이 도출되었다.

Page 100: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 96 -- 96 -- 96 -- 96 -

시범 프로젝트 개요시범 프로젝트 개요시범 프로젝트 개요시범 프로젝트 개요4.4.4.4.

가 대상 기술가 대상 기술가 대상 기술가 대상 기술....

임베디드 플랫폼 기술과 라이브러리 기술Java : Java VM Java

나 선정 배경나 선정 배경나 선정 배경나 선정 배경....

� 현재 에서 개발한 임베디드 플랫폼은 하드웨어 변경 사항에ETRI Java

대응하지 못하고 있음

� 라이브러리는 임베디드 시스템에 필요한 형태로 모듈화 되ETRI Java

어 있지 않음

� 플랫폼을 재사용 가능한 형태로 만들 경우 활용 분야가 매ETRI Java

우 광범위함

다 시범 프로젝트의 목표다 시범 프로젝트의 목표다 시범 프로젝트의 목표다 시범 프로젝트의 목표....

� 임베디드 핵심 공통기술에 대한 자산화 및 재사용을 통해 생산S/W ”

성 향상 을 입증할 수 있는 시범 프로젝트를 수행하여 적용사례를 발”

표하고 연구원 전략 사업을 추진하는 각 연구단이 적용할 수IT839

있도록 보급함

� 당해 연도 시범 프로젝트는 임베디드 연구단이 수행하는 임베디드S/W “

플랫폼 기술을 타겟 의 변경에 대해 대응할 수 있는 구조Java ” H/W ,

즉 재사용이 가능한 임베디드 플랫폼 화 하고 이를 특정 임베“ Java ” ,

Page 101: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 97 -- 97 -- 97 -- 97 -

디드 시스템에 적용되는 사례를 구축하여 생산성 향상 을 입증함“ ”

그림 시범 프로젝트 개념도( 4-1)

라 추진 내용라 추진 내용라 추진 내용라 추진 내용....

� 임베디드 플랫폼의 재사용 요구사항 정의Java

데이터 방송용 셋탑 박스의 요구사항 수집 및 분석-

휴대용 단말 시스템의 요구사항 수집 및 분석-

� 플랫폼의 재사용 구조 정의ETRI Java

� 라이브러리 경량화 및 모듈화 지원ETRI Java

- 라이브러리에서 프로파일 정제Java Java

프로파일 모듈화 지원- Java

� 분석 및 개발 지원ETRI JVM

� 재사용 시범 사례 구축

Page 102: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 98 -- 98 -- 98 -- 98 -

재사용 가능한 플랫폼을 휴대 단말 시스템과 데이- ETRI Java

터 방송용 셋탑박스에 적용

재사용 시범 사례의 테스트 및 시연-

� 시범 프로젝트 평가

재사용에 따른 생산성 향상 평가-

그림 시범 프로젝트 수행 시나리오 및 주요 산출물( 4-2)

Page 103: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 99 -- 99 -- 99 -- 99 -

제 절 임베디드 플랫폼의 재사용 요구사항제 절 임베디드 플랫폼의 재사용 요구사항제 절 임베디드 플랫폼의 재사용 요구사항제 절 임베디드 플랫폼의 재사용 요구사항2 Java2 Java2 Java2 Java

데이터 방송 미들웨어와 텔레매틱스 단말 응용에 임베디드 플랫폼Java

을 적용하기 위한 요구사항은 하드웨어 요구사항과 소프트웨어 요구사항,

기타 요구사항으로 나눌 수 있다.

하드웨어 요구사항하드웨어 요구사항하드웨어 요구사항하드웨어 요구사항1.1.1.1.

재사용 시범 프로젝트로 선정한 데이터 방송 미들웨어와 텔레매틱스 단

말 응용에 대한 하드웨어 요구사항은 다음과 같다.

표 임베디드 플랫폼의 하드웨어 요구사항[ 4-5] Java

구분 데이터 방송 미들웨어 텔레매틱스 단말 응용

운영 프로세서 x86 PXA270

그래픽카드 질리언ATI 225 해당 없음

메모리 메가 메가64 . 32 메가 메가64 ROM, 128RAM

이용 여부HDD 플래쉬 디스크 메가128 차량용 HDD

네트워크 사양 별다른 해당 사항 없음 CDMA 2000 1x

소프트웨어 요구사항소프트웨어 요구사항소프트웨어 요구사항소프트웨어 요구사항2.2.2.2.

재사용 시범 프로젝트로 선정한 데이터 방송 미들웨어와 텔레매틱스 단

말 응용에 대한 요구사항은 다음과 같다S/W .

Page 104: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 100 -- 100 -- 100 -- 100 -

표 임베디드 플랫폼의 소프트웨어 요구사항[ 4-6] Java

구분 데이터 방송 미들웨어 텔레매틱스 단말 응용

OS 리눅스Qplus (Redhat 9, ) 리눅스QPlus(Redhat 9, )

특정 디바이스드라이버

해당 없음등과CDMA, Wireless LAN

같은 유무선 통신 디바이스드라이버

지원 그래픽라이브러리

위에TinyX GTK 1.2 위에TinyX GTK 1.2

개발 언어 Java Java

자바라이브러리의

형태

명세의 수준의J2ME CDC PBP라이브러리(*)

이상Personal Java 1.2

수준 라이브러리PP (*)

자바라이브러리의비기능 측면

성능 및 응답시간 메모리,사용량은 수준을CVM만족해야 함

수준 만족해야 함CVM

기타실행파일 형태로 제공

사용 설명서 제공

실행파일 형태로 제공

사용 설명서 제공

기타 요구사항기타 요구사항기타 요구사항기타 요구사항3.3.3.3.

임베디드 플랫폼을 재사용하기 위한 기타 요구사항은 다음과 같다Java .

실행파일을 동작시킬 수 있는 매뉴얼을 제공해야 한다- .

임베디드 플랫폼이 자바 스펙 표준을 따름을 테스트할 수 있- Java

는 테스트 문서를 제공해야 한다.

임베디드 플랫폼의 구조를 쉽게 알 수 있는 지침서가 있어야- Java

한다.

Page 105: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 101 -- 101 -- 101 -- 101 -

제 절 플랫폼의 재사용 구조제 절 플랫폼의 재사용 구조제 절 플랫폼의 재사용 구조제 절 플랫폼의 재사용 구조3 ETRI Java3 ETRI Java3 ETRI Java3 ETRI Java

재사용 구조 정의의 필요성재사용 구조 정의의 필요성재사용 구조 정의의 필요성재사용 구조 정의의 필요성1.1.1.1.

유비쿼터스 기술의 발전으로 인해 다양한 기기에 탑재되어 실행되는

임베디드 소프트웨어의 중요성 및 활용 사례가 증가하고 있다 현재 다.

양한 형태의 임베디드 기기들이 실제 생활에 적용되어 있으며 그 중,

기반의 소프트웨어를 탑재한 기기들이 다수 존재한다 즉 임베디Java . ,

드 기기의 활용 측면에서 의 사용도는 높다고 할 수 있다Java .

플랫폼을 이용하여 임베디드 시스템을 구성할 때 다양한 시스Java ,

템 사양을 가진 임베디드 기기들 모두의 조건을 맞추기 위해서는 타겟

시스템에 적합하도록 및 라이브러리를 설정할 수 있는 방법이 필VM API

요하다 예를 들어 계열의 상에서 개발된 플랫폼은. , Intel CPU Java ARM

계열의 를 가진 시스템으로의 포팅을 위해서 시스템에 종속적인 부분CPU

에 대한 소스레벨의 수정이 필요하다 따라서 하나의 코드 셋을 가지고. ,

필요한 시스템 사양에 따라 재구성할 수 있는 방법이나 시스템에 따라,

변화되는 시스템 종속적인 코드부분에 대해 타겟 시스템에 맞도록 코드

를 수정 및 변경하는 방법들이 필요하다 이러한 방법들은 임베디드 시.

스템에 플랫폼이 탑재되는데 요구되는 비용을 줄여주는 비용절감의Java

효과를 가져올 것으로 예상된다.

플랫폼의 재구조화 방향플랫폼의 재구조화 방향플랫폼의 재구조화 방향플랫폼의 재구조화 방향2. ETRI Java2. ETRI Java2. ETRI Java2. ETRI Java

기존의 플랫폼은 단일 프로세서 계열 를 지원하기 때ETRI Java (i386 )

문에 다양한 임베디드 시스템에 활용하기 힘들다 따라서 플. , ETRI Java

랫폼은 프로세서의 종류에 종속되지 않고 다양한 임베디드 하드웨어에

활용될 수 있도록 재사용이 용이한 형태를 갖는 것이 필요하다 또한 기.

Page 106: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 102 -- 102 -- 102 -- 102 -

존의 플랫폼은 디렉토리 구조나 파일 배치 등이 잘 구조화 되ETRI Java

어있지 못했기 때문에 재사용이 용이하지 못하고 가독성이 떨어지기 때,

문에 다른 개발자의 목적에 맞도록 내용을 수정하는 것이 힘들다 따라.

서 일반 개발자들이 플랫폼을 다양한 임베디드 시스템에 활, ETRI Java

용하기 위해서는 다음과 같은 특성이 반영되어야 한다.

� 가독성 플랫폼을 다양한 시스템에 활용하(Readability) : ETRI Java

기 위해서는 개발자 스스로가 플랫폼 내부를 쉽게 이해할ETRI Java

수 있어야 한다 특정한 목적이나 특정한 상황에 맞게 플. ETRI Java

랫폼 자체를 수정하는 경우 이를 지원할 수 있도록 하는 방법들이 제

공되는 것이 필요하다.

� 재사용성 플랫폼을 다양한 시스템에 적용(Reusability) : ETRI Java

시키기 위해서는 재사용을 고려하여 잘 정의된 디렉토리 구조와 코드

구조를 갖는 것이 필요하다 그리고 최소의 비용으로 타겟 시스템에.

맞는 플랫폼을 산출해 낼 수 있는 자동화된 설정 및 컴파일 기Java

법은 개발자에게 큰 도움을 줄 것이다.

� 가용성 타겟 시스템에 맞게 완성된 플랫(Availability) : ETRI Java

폼은 또는 에 치명적인 오류나 예외를 가지고 있어서VM API Library

는 안되고 플랫폼 자체의 성능이 타겟 시스템의 전체 성능을, Java

저해해서는 안된다.

위와 같은 특성을 반영하여 기존의 플랫폼을 다음과 같은ETRI Java

요구사항들을 반영한 재사용 구조로 정의하는 것이 필요하다.

� 하드웨어 종속적인 코드를 자동으로 구성하고 컴파일을 통해 타겟 플

랫폼에 특화된 형태의 을 생성해 낼 수 있도록 한다JVM .

� 하드웨어 종속적인 코드를 자동으로 구성하고 컴파일을 통해 타겟 플

Page 107: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 103 -- 103 -- 103 -- 103 -

랫폼에 특화된 형태의 을 생성해 낼 수 있도록 한다JVM .

� 라이브러리가 포함하는 기능 및 컴포넌트들을 타겟 플랫폼의 시API

스템 사양에 맞추어 조절할 수 있도록 한다.

� 의 특정한 부분을 특별한 용도 포팅 등 에 맞게 수정하거나 삭제JVM ( )

할 수 있도록 의 물리적 구조를 가이드할 수 있는 방법을 제공한JVM

다.

위의 요구사항을 해결하기 위해 플랫폼의 디렉토리 구조를ETRI Java

파일 및 구성요소들의 목적에 맞도록 적절하게 재구조화하고 구성요소,

의 설정 을 통한 선택적 컴파일 메커니즘을 적용함으로써(Configuration)

사용자의 목적과 타겟 플랫폼에 맞는 플랫폼을 자동으로 산출해 낼Java

수 있는 방법을 정의한다.

디렉토리 구조디렉토리 구조디렉토리 구조디렉토리 구조3.3.3.3.

목적 및 용도에 따라 플랫폼의 디렉토리 구조를 잘 정의하는 것Java

은 개발자가 각 구성 부분들의 용도 및 연관성을 쉽게 파악할 수 있도록

하는 효과 이외에도 필요에 따른 소스 수정 및 유지 보수 등을 유리하게

하는 장점을 제공한다 특히 재사용성의 향상을 위해서는 체계화되고. ,

잘 구성된 물리적 구조는 필수적이라고 할 수 있다.

가 기존의 플랫폼의 디렉토리 구조가 기존의 플랫폼의 디렉토리 구조가 기존의 플랫폼의 디렉토리 구조가 기존의 플랫폼의 디렉토리 구조. ETRI Java. ETRI Java. ETRI Java. ETRI Java

기존의 플랫폼의 디렉토리 구조는 그림 과 같다ETRI Java ( 4-3) .

Page 108: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 104 -- 104 -- 104 -- 104 -

EVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOT

API_LibraryAPI_LibraryAPI_LibraryAPI_Library VMVMVMVM

InfoInfoInfoInfo LibLibLibLib ShareShareShareShare TmpdirTmpdirTmpdirTmpdir

그림 기존 플랫폼의 디렉토리 구조( 4-3) ETRI Java

기존의 의 디렉토리 구조는 필요한 부분만 임의의 디렉토리ETRI Java

로 구분해 놓은 전형적인 의 형태를 갖는다 만약 다른Shallow package .

타겟 보드로의 포팅 등 특정한 목적에 따라 소스부분을 수정할 경우 위

의 디렉토리 구조만으로는 수정할 부분에 대한 정보를 알 수 없다 그리.

고 하나의 디렉토리 내에 서로 다른 목적을 가진 파일들이 불규칙하게

흩어져 있는 구조를 재사용하기는 힘들다.

나 재구조화된 디렉토리 구조나 재구조화된 디렉토리 구조나 재구조화된 디렉토리 구조나 재구조화된 디렉토리 구조....

디렉토리 구조를 특정한 형태로 정형화하는 것은 플랫폼 소Java①

스의 가독성을 높이고 에 의한 설정 및 설치 시 용이하며, AutoTool ,②

포팅 등을 목적으로 한 분석을 쉽게 한다 따라서 플랫폼. ETRI Java③

은 그림 와 같이 특정 용도에 따라 잘 구조화된 형( 4-4) Deep package

태의 디렉토리 구조로 정의한다.

EVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOT

DocsDocsDocsDocsDocsDocsDocsDocs LibrariesLibrariesLibrariesLibrariesLibrariesLibrariesLibrariesLibraries PortPortPortPortPortPortPortPort

ManualsManualsManualsManualsManualsManualsManualsManuals

FAQsFAQsFAQsFAQsFAQsFAQsFAQsFAQs

Reuse_GuidesReuse_GuidesReuse_GuidesReuse_GuidesReuse_GuidesReuse_GuidesReuse_GuidesReuse_Guides

JLibJLibJLibJLibJLibJLibJLibJLib

CLibCLibCLibCLibCLibCLibCLibCLib

ExtensionsExtensionsExtensionsExtensionsExtensionsExtensionsExtensionsExtensions

i386i386i386i386i386i386i386i386

MIPSMIPSMIPSMIPSMIPSMIPSMIPSMIPS

ARMARMARMARMARMARMARMARM

IncludesIncludesIncludesIncludesIncludesIncludesIncludesIncludesToolsToolsToolsToolsToolsToolsToolsTools

TestingTestingTestingTestingTestingTestingTestingTesting

AnalyzingAnalyzingAnalyzingAnalyzingAnalyzingAnalyzingAnalyzingAnalyzing

DevelopmentDevelopmentDevelopmentDevelopmentDevelopmentDevelopmentDevelopmentDevelopment

VMVMVMVMVMVMVMVM

EVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOT

DocsDocsDocsDocsDocsDocsDocsDocs LibrariesLibrariesLibrariesLibrariesLibrariesLibrariesLibrariesLibraries PortPortPortPortPortPortPortPort

ManualsManualsManualsManualsManualsManualsManualsManuals

FAQsFAQsFAQsFAQsFAQsFAQsFAQsFAQs

Reuse_GuidesReuse_GuidesReuse_GuidesReuse_GuidesReuse_GuidesReuse_GuidesReuse_GuidesReuse_Guides

JLibJLibJLibJLibJLibJLibJLibJLib

CLibCLibCLibCLibCLibCLibCLibCLib

ExtensionsExtensionsExtensionsExtensionsExtensionsExtensionsExtensionsExtensions

i386i386i386i386i386i386i386i386

MIPSMIPSMIPSMIPSMIPSMIPSMIPSMIPS

ARMARMARMARMARMARMARMARM

IncludesIncludesIncludesIncludesIncludesIncludesIncludesIncludesToolsToolsToolsToolsToolsToolsToolsTools

TestingTestingTestingTestingTestingTestingTestingTesting

AnalyzingAnalyzingAnalyzingAnalyzingAnalyzingAnalyzingAnalyzingAnalyzing

DevelopmentDevelopmentDevelopmentDevelopmentDevelopmentDevelopmentDevelopmentDevelopment

VMVMVMVMVMVMVMVM

그림 재구조화된 플랫폼의 디렉토리 구조( 4-4) ETRI Java

Page 109: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 105 -- 105 -- 105 -- 105 -

재구조화된 플랫폼의 디렉토리 구조는 플랫폼을 구성하는Java Java

파일들의 쓰임새와 역할에 따라 다수의 디렉토리로 세분화되어 있으므로

한눈에 플랫폼의 디렉토리 구성과 포함된 파일들의 역할을 파악할Java

수 있다.

각 디렉토리들의 역할과 포함하는 파일들의 특성에 대한 설명은 표[

과 같다4-7] .

표 플랫폼의 디렉토리 별 역할 및 특성[ 4-7] ETRI Java

디렉토리 위치 역할 및 특성

EVM_ROOT

플랫폼의 루트 디렉토리 하위에 각Java .

용도별 서브 디렉토리와 Configure,

등의 설치파일이 위치한다Makefile.am .

EVM_ROOT/Docs플랫폼에 관련된 문서 정보들이Java

위치하는 디렉토리

EVM_ROOT/Docs/Manuals

플랫폼의 설치 및 사용에 관련된Java

문서정보가 위치하는 디렉토리 기본.

플랫폼의 설치 크로스컴파일 방법Java , ,

그리고 필요한 외부 라이브러리 등의 정

보를 가지고 있으며 개발자가 쉽게 설치

과정을 따라할 수 있도록 도와준다.

EVM_ROOT/Docs/FAQs

일반적으로 플랫폼을 설치 및 사Java

용하면서 발생할 수 있는 질문사항들에

대한 답을 제공하는 문서

EVM_ROOT/Docs/Reuse_Guide

플랫폼을 기본적으로 지원하지 않Java

는 하드웨어에서 재사용하거나 특별한,

경우를 위한 재사용의 용도로 소스코드를

재구조화 또는 경량화할 경우 도움을 주

기 위한 문서

EVM_ROOT/Libraries플랫폼의 라이브러리에 대한Java API

구현이 저장된 디렉토리

EVM_ROOT/Libraries/JLib

라이브러리의 소스가 저장된API Java

디렉토리 스펙에 대한 클래스 및 인. API

터페이스의 구현이 저장되어 있다.

EVM_ROOT/Libraries/CLib

라이브러리의 소스가 저장된 디API C

렉토리 라이브러리에 대한. Java native

부분의 구현이 저장되어 있다.

Page 110: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 106 -- 106 -- 106 -- 106 -

설정 및 컴파일 메커니즘설정 및 컴파일 메커니즘설정 및 컴파일 메커니즘설정 및 컴파일 메커니즘4.4.4.4.

플랫폼의 재사용 구조는 기본적으로 의 와ETRI Java GNU Autoconf

를 이용하여 자동 설정 및 컴파일을 지원하도록 한다 소스코드Automake .

에서 타겟 플랫폼에 대한 설정을 위해 쉘 스크립트 에는 다음Configure

과 같은 옵션들이 정의되어 있어야 한다.

플랫폼이 설치된 타겟 시스템의 프로세--targetCPU: ETRI Java①

서 을 기본으로 한다. I386, MIPS, ARM .

EVM_ROOT/Libraries/extensions

추가 라이브러리에 대한 구현이 저장된

디렉토리 특정 용도로 사용되기 위한.

라이브러리에 대한 구현이 저장된다API .

EVM_ROOT/Port

하드웨어에 종속적인 코드들을 각 하드

웨어에 따라 분류해서 저장해놓은 디렉토

리 각 하드웨어에 포팅할 때 달라져야.

하는 파일들을 하드웨어에 맞게 준비해

놓았다가 설정시 재배치한다.

EVM_ROOT/ Port/i386기반 플랫폼에 종속적인 코드들이i386

저장된 디렉토리

EVM_ROOT/ Port/MIPS기반 플랫폼에 종속적인 코드들이MIPS

저장된 디렉토리

EVM_ROOT/ Port/ARM기반 플랫폼에 종속적인 코드들이ARM

저장된 디렉토리

EVM_ROOT/Tools

플랫폼을 컴파일하고 설정하고 설Java

치하여 사용하기 위해서 필요하거나 유용

하게 사용될 수 있는 도구들을 저장한 디

렉토리

EVM_ROOT/Tools/Testing및 소스코드 테스팅API Compatibility

을 위한 도구들이 저장된 디렉토리

EVM_ROOT/Tools/Analyzing소스코드 분석 정보를 위한 도구들이

저장된 디렉토리

EVM_ROOT/Tools/Development개발에 도움을 주는 도구들이 저장된

디렉토리

EVM_ROOT/VM 의 소스코드가 저장되는 디렉토리VM

EVM_ROOT/Includes 헤더 파일들이 저장되는 디렉토리

Page 111: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 107 -- 107 -- 107 -- 107 -

플랫폼이 설치된 타겟 시스템의--with-j2me-classlib: ETRI Java②

시스템 리소스를 고려한 요구 라이브러리 수준 를 기본API . PP, PBP, FP

으로 한다.

사용될 시스템을 설정 기본적으로는--withThread: thread .③

를 사용한다unix-jthread .

플랫폼이 옵션에 따라 구성되고 컴파일되어--targetHome: Java④

최종적으로 저장될 디렉토리 위치.

그림 는 플랫폼 전체에 대한 재사용 메커니즘을 도식( 4-5) ETRI Java

화한 것이다 그림에서는 타겟 시스템의 사양 및 용도에 따라 각각 다르.

게 와 의 형태를 정의하여 구분하고 컴파일 시 사용자의API Library VM ,

옵션 입력값에 따라 적절한 와 을 조합하는 방법으로 사용API Library VM

자의 요구에 맞는 플랫폼을 만들어 내는 방법을 표현하고 있다Java .

EVM_ROOT/PortEVM_ROOT/PortEVM_ROOT/PortEVM_ROOT/Port

ARM ARM ARM ARM 종속종속종속종속 코드코드코드코드

MIPS MIPS MIPS MIPS 종속종속종속종속 코드코드코드코드

i386 i386 i386 i386 종속종속종속종속 코드코드코드코드

EVM_ROOT/LibrariesEVM_ROOT/LibrariesEVM_ROOT/LibrariesEVM_ROOT/Libraries

PP PP PP PP 기반기반기반기반 APIAPIAPIAPI구현구현구현구현

PBP PBP PBP PBP 기반기반기반기반 APIAPIAPIAPI구현구현구현구현

FP FP FP FP 기반기반기반기반 APIAPIAPIAPI구현구현구현구현

GNU AUTOTOOLSGNU AUTOTOOLSGNU AUTOTOOLSGNU AUTOTOOLS

autoconfautoconfautoconfautoconf automakeautomakeautomakeautomake

autoscanautoscanautoscanautoscan autoheaderautoheaderautoheaderautoheader aclocalaclocalaclocalaclocal

EVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOT

VM VM VM VM 코드코드코드코드

ARM / PP ARM / PP ARM / PP ARM / PP 기반기반기반기반자바자바자바자바 플랫폼플랫폼플랫폼플랫폼

MIPS / PBP MIPS / PBP MIPS / PBP MIPS / PBP 기기기기반반반반 자바자바자바자바 플랫폼플랫폼플랫폼플랫폼

i386 / PP i386 / PP i386 / PP i386 / PP 기반기반기반기반자바자바자바자바 플랫폼플랫폼플랫폼플랫폼

ARM / FP ARM / FP ARM / FP ARM / FP 기반기반기반기반자바자바자바자바 플랫폼플랫폼플랫폼플랫폼

EVM_ROOT/PortEVM_ROOT/PortEVM_ROOT/PortEVM_ROOT/Port

ARM ARM ARM ARM 종속종속종속종속 코드코드코드코드ARM ARM ARM ARM 종속종속종속종속 코드코드코드코드

MIPS MIPS MIPS MIPS 종속종속종속종속 코드코드코드코드MIPS MIPS MIPS MIPS 종속종속종속종속 코드코드코드코드

i386 i386 i386 i386 종속종속종속종속 코드코드코드코드i386 i386 i386 i386 종속종속종속종속 코드코드코드코드

EVM_ROOT/LibrariesEVM_ROOT/LibrariesEVM_ROOT/LibrariesEVM_ROOT/Libraries

PP PP PP PP 기반기반기반기반 APIAPIAPIAPI구현구현구현구현PP PP PP PP 기반기반기반기반 APIAPIAPIAPI구현구현구현구현

PBP PBP PBP PBP 기반기반기반기반 APIAPIAPIAPI구현구현구현구현PBP PBP PBP PBP 기반기반기반기반 APIAPIAPIAPI구현구현구현구현

FP FP FP FP 기반기반기반기반 APIAPIAPIAPI구현구현구현구현FP FP FP FP 기반기반기반기반 APIAPIAPIAPI구현구현구현구현

GNU AUTOTOOLSGNU AUTOTOOLSGNU AUTOTOOLSGNU AUTOTOOLS

autoconfautoconfautoconfautoconf automakeautomakeautomakeautomake

autoscanautoscanautoscanautoscan autoheaderautoheaderautoheaderautoheader aclocalaclocalaclocalaclocal

GNU AUTOTOOLSGNU AUTOTOOLSGNU AUTOTOOLSGNU AUTOTOOLS

autoconfautoconfautoconfautoconf automakeautomakeautomakeautomake

autoscanautoscanautoscanautoscan autoheaderautoheaderautoheaderautoheader aclocalaclocalaclocalaclocal

EVM_ROOTEVM_ROOTEVM_ROOTEVM_ROOT

VM VM VM VM 코드코드코드코드

ARM / PP ARM / PP ARM / PP ARM / PP 기반기반기반기반자바자바자바자바 플랫폼플랫폼플랫폼플랫폼

ARM / PP ARM / PP ARM / PP ARM / PP 기반기반기반기반자바자바자바자바 플랫폼플랫폼플랫폼플랫폼

MIPS / PBP MIPS / PBP MIPS / PBP MIPS / PBP 기기기기반반반반 자바자바자바자바 플랫폼플랫폼플랫폼플랫폼MIPS / PBP MIPS / PBP MIPS / PBP MIPS / PBP 기기기기반반반반 자바자바자바자바 플랫폼플랫폼플랫폼플랫폼

i386 / PP i386 / PP i386 / PP i386 / PP 기반기반기반기반자바자바자바자바 플랫폼플랫폼플랫폼플랫폼

i386 / PP i386 / PP i386 / PP i386 / PP 기반기반기반기반자바자바자바자바 플랫폼플랫폼플랫폼플랫폼

ARM / FP ARM / FP ARM / FP ARM / FP 기반기반기반기반자바자바자바자바 플랫폼플랫폼플랫폼플랫폼

ARM / FP ARM / FP ARM / FP ARM / FP 기반기반기반기반자바자바자바자바 플랫폼플랫폼플랫폼플랫폼

그림 플랫폼의 재사용 메커니즘( 4-5) ETRI Java

Page 112: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 108 -- 108 -- 108 -- 108 -

제 절 시범 프로젝트의 결과물 및 평가제 절 시범 프로젝트의 결과물 및 평가제 절 시범 프로젝트의 결과물 및 평가제 절 시범 프로젝트의 결과물 및 평가4444

라이브러리의 경량화라이브러리의 경량화라이브러리의 경량화라이브러리의 경량화1.1.1.1.

본 시범 사례에서는 임베디드 분야의 다양한 사례에 적용 가능하도록

의 세가지 프로파일로 사용될 수 있도록 적용하였다J2ME .

� 경량화 이전의 라이브러리 사이즈: 8.3 MBytes

� 버전 감소PP : 3.64 MBytes 56.2%

� 버전 감소PBP : 3.42 MBytes 58.8%

� 버전 감소FP : 2.08MBytes 74.9%

기존 라이브러리의 기능이 각각의 용도에 따라 불필요한 부분을 제거

하고 적은 메모리 용량의 환경에서 사용할 수 있도록 되었다.

각각의 라이브러리는 체계를 이용하여 재구조화 되어 사용autoconf

시 패키지 설정에서 라는 옵션을 통해서 사용될--with-j2me-classlib

수 있도록 체계를 수정하였다configure .

� 기반의 라이브러리를 사용할 경우--with-j2me-classlib=fp : FP

� 기반의 라이브러리를 사용할 경우-- with-j2me-classlib=pbp : PBP

� 기반의 라이브러리를 사용할 경우-- with-j2me-classlib=pp : PP

적용 의 다양화적용 의 다양화적용 의 다양화적용 의 다양화2. VM2. VM2. VM2. VM

외에 지원이 추가로 가능하게 되었다 이를 통해 다ETRI VM Kaffe VM .

양한 프로세서를 지원하는 을 지원하게 되어 라이브러리의 활용VM Java

성을 높일 수 있다 예를 들어 이나 프로세서를 지원하는 을. ARM MIPS VM

Page 113: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 109 -- 109 -- 109 -- 109 -

사용할 경우 라이브러리를 해당 과 용이하게 결합하여ETRI Java VM x86

외에 타 프로세서에서 쉽게 응용환경을 구현할 수 있다J2ME CDC .

지원 라이브러리의 다양화지원 라이브러리의 다양화지원 라이브러리의 다양화지원 라이브러리의 다양화3.3.3.3.

기 개발된 플랫폼의 경우 커널 기반의 기반으ETRI Java 2.4 GTK 1.2

로 되어 있어 해당 임베디드 플랫폼에서 기반의 그래픽 라이브GTK 1.2

러리를 반드시 사용하여야 했으나 기반의 그래픽 환경에서 운directFB

용되는 기반의 그래픽 라이브러리 체계에서도 활용될수 있도록GTK 2.x

범위가 확장되었다.

� 기존 기반: GTK 1.2

� 현재 기반: GTK 2.x

이와 같이 기존 플랫폼에 대하여 시범 프로젝트를 수행한ETRI Java

결과 메모리 사이즈 별로 다양한 임베디드 환경에서 필요에 맞게 쉽게

적용 가능하도록 되었고 을 교체함으로써 다양한 프로세서를 지원할, VM

수 있게 되었고 그래픽 라이브러리의 지원범위를 확대함으로서 재사용

활용이 증진될 수 있도록 하였다.

Page 114: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 110 -- 110 -- 110 -- 110 -

제 장 임베디드 재사용 체계 구축 및 보급제 장 임베디드 재사용 체계 구축 및 보급제 장 임베디드 재사용 체계 구축 및 보급제 장 임베디드 재사용 체계 구축 및 보급5 S/W5 S/W5 S/W5 S/W

제 절 임베디드 재사용 지침제 절 임베디드 재사용 지침제 절 임베디드 재사용 지침제 절 임베디드 재사용 지침1 S/W1 S/W1 S/W1 S/W

개요개요개요개요1.1.1.1.

디지털 컨버전스 시대로의 진입을 위한 정보 기술의 핵심은 임베디드 의S/W

생산성이다 다양한 장비에 다양한 서비스를 급격하게 변화는 고객 요구에 맞.

도록 지원하고 점점 단축되는 의 생명주기에 효율적으로 대처하기 위해서, S/W

는 임베디드 의 공동 자원을 구축하고 이를 적절하게 공유하는 체계 구축이S/W

필요하다.

그러나 큰 규모의 업체 및 연구 조직이라 하더라도 대부분이 일시적으, SI

로 특정 목표 시스템 개발에 집중함으로써 임베디드 공통 기술 개발을 위S/W

한 협력이 매우 미흡하다 따라서 이미 수행된 과제의 개발 경험이나 산출물들.

은 고작 후속과제에 연계되는 수준에서만 재사용이 가능한 실정이다 그러므로.

적시에 즉각적인 해결책을 제시해야 하는 임베디드 개발 시 유사한 목S/W S/W

표 시스템 개발을 위해 반복적인 노력과 비용이 소모되는 비생산적 구조가 지

속되고 있다.

본 장은 임베디드 의 재사용성 향상을 위한 실질적인 방법을 제시하는S/W

것을 목적으로 한다 즉 의 문서화 기능을 최적화함으로써 재사용 자산의. , S/W

가독성을 최대화 하고 체계적 재사용 자산 모듈 개발 기법을 정의하여 임베디,

드 개발자들을 위한 실질적 지침으로 활용하는 것을 목적으로 한다S/W .

이를 위해 임베디드 재사용 자산의 개발을 위한 모듈화 방법과 모듈 개S/W

발 절차에 따른 문서 작성 및 코딩을 위한 지침 그리고 임베디드 재사용, S/W

지침에 따라 재사용 모듈을 구현하는 적용 예제가 포함되어 있다 특히 코딩.

지침에는 재사용 모듈의 코딩 스타일을 언어와 언어 두 가지로 작성하C Java

였다 그리고 재사용 지침의 검증을 위해 및. , EHS-Embedded HTTP Server MP3

Page 115: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 111 -- 111 -- 111 -- 111 -

플레이어 시스템을 대상으로 적용하여 재사용 지침, FCM(Fan Control Module)

을 수정 정제하고 예시되는 자산들을 생성하였다, .

재사용 지침을 구성하는 산출물들은 상호 연계되어져 그 일치성 유지가 필

요하며 지속적인 통합 과정이 요구된다 그러므로 임베디드 개발자가 높은 생.

산성을 달성할 수 있는 체계적인 기반 구축을 위해 본 문서는 예제 개발을 통

한 지속적인 지침 검토를 진행할 것이며 또한 임베디드 의 품질 속성을 반, S/W

영한 코딩 스타일의 정의와 그에 따른 예제 개발을 함께 수행할 것이다. 다음

은 재사용 지침서를 구성하는 산출물들 간의 관계를 설명한 그림이다.

그림 재사용 지침서 구성 산출물( 5-1)

Page 116: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 112 -- 112 -- 112 -- 112 -

재사용 지침의 구성과 특징재사용 지침의 구성과 특징재사용 지침의 구성과 특징재사용 지침의 구성과 특징2.2.2.2.

임베디드 재사용 지침은 재사용 문화를 확산시킴으로써 조직의 생S/W S/W

산성 향상을 위한 작고 실제적인 재사용 템플리트를 보급하고 적용하는 것을

목표하여 개발되었다 따라서 재사용 지침을 통해 중복 개발 비용 최소화 및.

개발 경험 공유로 조직 내 자산의 가치를 지속적으로 증대시킬 수 있을 뿐S/W

아니라 개발자가 동의하는 재사용 필수 항목들만을 양식화하여 지침 적용의 부

담을 최소화시킬 수 있다.

그림 임베디드 재사용 지침의 내용을 나타내는 각 부분의 개념적( 5-2) S/W

인 구성도이다 재사용 지침에서는 의미 있는 재사용 단위로 자산화 시키는 방.

법과 절차를 정의하고 그 과정에서 만들어지는 문서 자산들의 양식과 작성 기

법을 제시하며 코딩 시 가독성을 높일 수 있는 권장 가이드라인과 성능 메모, ,

리관리 등 특정한 임베디드 의 품질 속성을 향상시킬 수 있는 코딩 패턴을S/W

제공한다 재사용 자산을 개발하는 사람들은 이 지침에서 명시하는 템플리트에.

따라 제 의 재사용자를 위해 산출물들을 작성하고 패키지하여 재사용 지원 시3

스템을 통해 배포하게 된다.

그림 재사용 지침의 구성( 5-2)

Page 117: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 113 -- 113 -- 113 -- 113 -

그림 재사용 자산의 개발 절차( 5-3)

재사용 자산을 개발하기 위한 작업의 구성도는 그림 과 같다 이들 작( 5-3) .

업들은 자산의 형태에 따라 선택적으로 수행할 수 있다 예를 들어 자산이 단.

일 메소드의 형태라면 설계의 인터페이스 명시와 코딩 그리고 단위테스트RSA ,

작업만 수행하게 되고 만약 여러 모듈이 집합적으로 구성된 자산이라면 통합,

설계를 통해 자산의 관점과 관점을 분리하고 관점으로 개별 모듈S/W H/W S/W

과의 인터페이스 정의를 위한 통합 설계 작업이 필요하다.

자산의 분류와 자산별 상세한 개발 절차와 기법들은 산출물 [ESF511-1][5]

와 에 설명되어 있다[ESF511-2][6] .

그림 는 재사용 지침에 의해 재사용 자산 생성을 위한 메타모형( 5-4) (RSA)

이다 재사용 지침은 재사용 자산의 형태에 생성할 산출물들과 그 개발 절차를.

가지의 시나리오로 정의하였다 각 시나리오는 논리적인 작업 그룹인 단계와4 .

수행하는 일의 물리적인 단위인 작업으로 구분되며 작업마다 생성할 산출물들

을 위한 문서 템플릿과 코딩 지침을 제공한다.

Page 118: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 114 -- 114 -- 114 -- 114 -

그림 재사용 자산 작성 모형( 5-4)

재사용 지침의 적용을 통해 작성 해야 할 대표적인 문서 자산은 그림( 5-5)

의 작업을 통해 생성되는데 생성되는 문서 자산들은 개발 단계별로 차 분류, 1

후 선택 필수 산출물로 차 분류하였다 그림에서 노란 타원의 작업은 선택, / 2 .

작업이고 초록 자산은 자산의 형태에 따라 필수 혹은 선택 자산을 만들어 내는

작업이며 파란색 타원의 작업들은 필수 자산을 만들어 내기 위한 작업이다 문.

서 자산별 양식과 작성 기법 및 문서 자산들 간의 정보 흐름 등의 내용들은 산

출물 에 설명되어 있다[ESF511-5][7] .

그림 재사용 지침의 문서 자산 생성 과정( 5-5)

Page 119: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 115 -- 115 -- 115 -- 115 -

또한 재사용 지침에서는 재사용 자산의 가독성을 증대 시키고 자산의 이식

성과 재사용성 향상을 위해 명명규칙과 서실 및 주석 규칙 등의 일반적인 코딩

규칙을 제공한다 효율적인 코드 구조를 디자인 패턴으로 제시하는 코딩 지침.

을 정의하였으며 지침의 효율적 적용을 위해 예제 코드로 함께 포함하여 제공

한다 그림( 5-6).

본 코딩 지침은 와 두 가지 언어로 제공되며 일반적인 코딩 원칙과C Java

특정 품질 속성을 위한 프로그램 구조 등은 산출물 과[ESF511-3][8]

에 설명되어 있다[ESF511-4][9] .

재사용 지침서를 구성 하는 마지막 산출물인 재사용 지침의 적용 사례는 산

출물 에 제시되어 있다 적용 시스템은 모두 가지로 임베디드[ESF511-6][10] . 3 ,

기기에 탑재되어 웹 을 이용한 임베디드 기기의 정보 제공 및 제어를 가(HTTP)

능하도록 하는 와 플레이어 그리고 라우터EHS(Embedded Http Server) S/W MP3 ,

장비의 내부 온도 및 습도를 조절하기 위한 컨트롤러 시스템으로 재사용FAN ,

지침에서 정의하는 절차와 템플리트에 따라 산출물들을 생성하여 재사용 지원

시스템인 아틀라스 에 자산으로 등록하였다(ATLAS) .

그림 재사용 자산의 코딩 지침의 개요( 5-6)

Page 120: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 116 -- 116 -- 116 -- 116 -

임베디드 재사용 자산의 개발 절차임베디드 재사용 자산의 개발 절차임베디드 재사용 자산의 개발 절차임베디드 재사용 자산의 개발 절차3. S/W3. S/W3. S/W3. S/W

가 임베디드 재사용 자산가 임베디드 재사용 자산가 임베디드 재사용 자산가 임베디드 재사용 자산. S/W : RSA. S/W : RSA. S/W : RSA. S/W : RSA

임베디드 재사용 자산은 개발자가 아닌 제 자에 의해 다시 재활용될S/W 3

수 있는 산물들을 의미한다 또한 는 프로그램과 이를 작성하고 운영하S/W . S/W

며 유지보수하기 위해 만들어진 관련 자료들의 집합들의 총칭이다 그러므로.

프로그램과 함께 생명주기 전 과정에서 만들어진 분석서 설계서 구현 설S/W , ,

명서 기술서 등의 문서 자료와 원시 코드와 그것들의 바이너리 파일 및 운영,

에 필요한 핵심적인 리소스 등을 포함한다.

넓은 의미에서 재사용 자산은 를 구성하고 있는 모든 산물들 중 재S/W S/W

사용이 가능한 것이라 정의 할 수 있다 그러나 가 재사용되기 위해서는. S/W

개발을 시작할 때부터 재사용자를 고려해야만 재사용자가 개발된S/W S/W S/W

를 잘 이해하고 적용할 수 있다 만약 그렇게 하지 않고 재사용 자산 개발자가.

자산 개발 과정에서 문서 작성을 간과하거나 다른 사람이 알아보기 어려S/W ,

운 형태로 코딩 한다면 재사용자 입장에서는 재사용에 앞서 기존 산물들을 이

해하기 위한 노력 소모가 많아 재사용을 통한 비용 절감 및 품질 향상의 효과

를 획득할 수가 없다 그러므로 본 문서에서는 재사용 자산. , S/W (RSA:Reusable

Software Asset) 을 다음과 같이 정의한다.

특별히 에서 구현과 관계된 모듈을 구분한 이유는 임베디드 개RSA S/W , S/W

는 재사용 가능한 일정한 형태로 가공된 재사용 모듈과 이와 연관된 문서RSA

및 관련 자료들의 집합이다 여기서 재사용 모듈은 프로그램 원시 코드 및 컴파일.

된 바이너리 코드 라이브러리 실행파일 의 집합을 의미하며 문서에는 재사용 자( , ) ,

산 개발 과정에서 작성된 문서 산출물로 요구사항 정의서 설계서 아키텍처 정의, ,

서 등이 포함된다 또한 관련 자료는 재사용 자산의 개발 및 운영에 사용되었던.

이미지 파일 그래픽 라이브러리 등의 자원들이 해당된다DB, , .

Page 121: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 117 -- 117 -- 117 -- 117 -

발자들이 직접적으로 개발 생산성에 큰 영향을 줄 수 있는 재사용 자산으로 원

시 코드 및 컴파일 된 바이너리 코드를 고려하고 있기 때문이다.

의 종류와 형태는 다양하며 만들어진 시기나 성격 혹은 규모에 따라 다RSA

르게 나타날 수 있다 예를 들어 형상에 따라서 바이너리 형태의 자산 소스. , ,

형태의 자산 문서 형태의 자산 기타 이미지 파일이나 등으로 구분할 수, , DB

있다 또한 규모에 따라 전체 시스템 단위의 자산 클래스 단위의 자산 오퍼. , , ,

레이션 단위의 자산 등으로 분류할 수 있다 다음은 형태에 따른 자산 분. S/W

류를 도식화하고 각 형태를 간략히 설명한 것이다, .

그림 형태에 따른 분류( 5-7) RSA

표 개별 형태[ 5-1] RSA

Page 122: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 118 -- 118 -- 118 -- 118 -

나 개발 절차나 개발 절차나 개발 절차나 개발 절차. RSA. RSA. RSA. RSA

임베디드 재사용 자산 의 개발 절차는 앞에서 제시된 그림S/W (RSA) ( 5- )3

과 같으며 일반적인 개발 절차를 임베디드 속성을 보다 잘 반영하고, S/W S/W

간의 유기적 연계성을 유지할 수 있도록 재정제한 것이다 각 단계는 정의RSA .

된 산출물을 통해 상호 연관 관계를 유지하며 필요에 따라 임의의 단계로부터,

절차를 시작하거나 동일 단계를 반복적으로 수행한다 임베디드 에 기준을, . S/W

맞추어 세부적인 단계의 내용이 구성되어 있으며 에 대한 내용은 제한적으, H/W

로 포함되어 있다 각 단계에 대한 간략한 설명은 다음과 같다. .

개념 정의 단계 재사용 자산 개발을 통해 해결하고자 하는 문제를 정의:�

한다 문제 해결에 대한 사례들과 관련 정보들을 조사하고 시장성 분석. ,

을 통해 개발 수행의 정당성을 확보한다.

요구사항 분석 단계 도출된 문제점에 대해 상세히 정의하고 이에 따른: ,�

해결 방안을 요구사항 형태로 추상화한다 산출된 다양한 수준의 요구사.

항들은 향후 설계에 반영될 수 있도록 체계화하여 영세화한다

아키텍처 정의 단계 도출된 요구사항을 상세화하여 다양한 관점에서의:�

아키텍처 뷰를 개발한다 아키텍처 뷰는 개발될 재사용 자산의 시스템 요.

구사항과 기능적 비기능적 요구사항을 반영한 형태로 구성된다 그리고, .

자산의 획득 방법 개발 구매 혹은 임대 여부 과 요구사항의 구현 방법( , )

혹은 로 구현 여부 을 결정하고 자산을 구성하는 요소들 간의 상(S/W H/W )

호 협력 인터페이스 명세를 정의하는 통합 설계 작업을 수행한다.

재사용 자산 설계 단계 개발된 다양한 아키텍처 뷰에서 재사용 자산의:�

동적인 부분과 정적인 부분을 파악하여 각각에 대해 설계한다 설계의 산.

출물들은 구현단계로 연계하기 위해 가능한 상세한 정보까지 포함한다.

재사용 자산 구현 단계 재사용 자산의 설계서를 바탕으로 하여 적절한:�

Page 123: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 119 -- 119 -- 119 -- 119 -

구현 언어를 통해 설계서에서 명시한 구성요소들에 대한 구현을 수행한

다 구현은 세부 코드에 대한 단위 테스트를 포함한다. .

통합 및 테스트 단계 시스템 전체의 구성에 관한 요구사항에 맞게 환경:�

을 구성하고 구현된 재사용 자산을 시스템에 통합한다 제공하는 테스트, .

기법을 통해 통합 후 발생할 수 있는 다양한 문제점을 확인하고 그에 대

한 대책 및 개선 방법을 수립한다.

재사용 자산 활용 단계 완성된 재사용 자산을 배포가 용이한 형태로 패:�

키지화 하고 재사용 지원 시스템에 등록하여 배포한다, .

다 개발 시나리오다 개발 시나리오다 개발 시나리오다 개발 시나리오. RSA. RSA. RSA. RSA

임베디드 재사용 개발 시나리오를 다양하게 구분할 수 있다 재사용S/W .

자산 개발 자체가 목적일 경우 개발될 재사용 자산이 이미 존재하는 재사,

용 자산의 집합군의 라이브러리가 되거나 기존 재사용 자산과는 연관성이,

없는 독립적인 재사용 컴포넌트로 생성될 수 있다 반면 목적이 임베디드. ,

개발이라면 재사용 자산은 분석가나 설계자의 판단에 따라 발생되어 재S/W

사용 가치를 부여 받는 개별 자산이 되거나 임베디드 한정적인 재사용, S/W

모듈의 집합을 구성하는 요소가 된다 예를 들어 기존 재사용 자산의 라이.

브러리에 재사용 자산을 추가하기 위한 경우라면 개발될 자산의 아키텍처가

미리 정해져 있어 그에 따라 구현하게 된다 따라서 재사용 자산을 기존 라.

이브러리에 포함시킬 수 있는지를 결정하기 위한 인수 테스트가 필요하다.

그리고 재사용적 가치가 있는 자산을 기존 자산과의 연관성이 없는 독립 자

산을 만드는 시나리오이다 이 경우는 개발할 자산이 이미 만들어져 있는.

것인가에 대한 사전 분석 작업을 수행해야 하며 단독 자산이므로 아키텍처,

생성을 위한 부가적인 작업이 필요하지 않다.

또한 임베디드 개발 과정 중에 분석가와 설계자에 의해 재사용적 가S/W

Page 124: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 120 -- 120 -- 120 -- 120 -

치가 높다고 판단되어 발생된 요구사항들을 재사용 자산으로 만드는 절차이

다 이 경우는 임베디드 개발 과정에서 우연히 발생한 재사용 요구사항. S/W

을 자산화 시키는 것이므로 임베디드 개발과는 달리 재사용 자산만을S/W

위한 정확한 명세와 구현 방법을 결정하기 위한 통합 설계 및 통합 테스트

작업들이 필요하다.

표 세부 형태에 따른 개발 시나리오[ 5-2] RSA

Page 125: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 121 -- 121 -- 121 -- 121 -

마지막으로 개발할 임베디드 에 대응될 수 있는 도메인 한정적인 재S/W

사용 자산의 집합을 생성하기 위한 경우라면 임베디드 의 도메인에 속, S/W

하는 집합적인 재사용 자산 그룹을 생성하는 것이다 따라서 재사용 자산의.

토플로지 설정을 위한 아키텍처 설계 작업과 개발된 개별 재사용 자산들 간

의 통합 테스트의 작업들이 필수적으로 요구된다.

따라서 를 구성하는 세부 형태에 따른 개발 시나리오를 개발 과정에, RSA

서 만들어지는 산출물들의 흐름을 통해 나타내면 표 와 같다[ 5-2] .

임베디드 의 재사용 문서 자산4. S/W

문서 자산은 자산 수요자가 자산을 활용하기 위한 이해 정보 제공이 목

적이다 따라서 자산 이해에 필요한 충분한 정보를 제공해야 한다 하지만. .

자산 공급자가 문서 자산 작성에 너무 많은 비용을 소요한다면 자산의 수

요 공급이 원할지 않을뿐더러 궁극적으로 자산 공급원들의 축소를 초래할,

수 밖에 없다 따라서 문서 자산의 최적화가 필요하다 즉 꼭 필요한 정. , . ,

보만을 최소한의 분량으로 체계화시켜 간소하게 제공 해야만 한다 따라서.

임베디드 재사용을 위한 문서 자산을 개발 절차 별로 분류하고 각 문서S/W

자산들이 포함해야 할 정보들의 속성들을 정의함으로써 자산의 재사용을 위

해 필수적으로 요구되는 이해 정보의 결정을 지원한다.

임베디드 자산의 재사용을 극대화를 목적으로 문서화 자산의 양식을S/W

간소화 최적화 라는 두 가지 관점에서 정의하였다 이를 위해 먼저 가‘ ’, ‘ ’ .

장 필수적으로 고려되는 핵심 문서 자산 선별을 위해 문서 자산들의 특징과

개별 문서 자산에 포함해야 될 속성들을 식별하였으며 두 번째로 식별된,

속성들의 산출 시기와 속성 정보들의 중복성 그리고 개발자들의 요구를 기,

반으로 필수 자산을 선별하고 문서 자산들간의 통합을 위한 산출물들간의

정보 흐름을 정의하였다.

Page 126: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 122 -- 122 -- 122 -- 122 -

임베디드 재사용 자산 개발 절차 수행 과정에서 생성되는 산출물들S/W

은 정제와 상세화 작업을 통해 일관성 있는 정보 흐름을 가진다 즉 재사. ,

용 자산 요구 고객의 비정형화된 개념적인 요구사항들이 분석 설계 그리고,

구현이라는 일련의 규정된 작업의 규칙에 따라 가치 높은 재사용성의 물리

적인 재사용 모듈로 변환된다.

그림 은 생성 과정에서 만들어지는 각 산출물들 간의 연관성을( 5-8) RSA

나타난 것이다 이들 산출물들은 재사용 고객의 요구에 따라 재사용 개발.

절차는 맞춤화 될 수 있으며 이에 따라 생성된 산출물 범위 달라진다.

그림 개발 과정에서 생성되는 산출물간 연관관계( 5-8) RSA

임베디드 자산의 형태에 따라 필요로 하는 자산의 종류를 필수 선택S/W

자산으로 구분하고 이들 자산들 간의 연관 관계를 정의하였다 자산의 종류.

Page 127: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 123 -- 123 -- 123 -- 123 -

자산의 규모 즉 자산의 인터페이스 형태에 따라 구분되며 이것들을 복잡도,

의 수준에서 차이가 발생하므로 필요한 문서 자산 역시 구분된다.

표 는 재사용 자산 개발 단계별 산출물과 각 단계별 문서의 필수[ 5-3] /

선택 작성 속성을 정리하여 간략하게 나타낸다 그리고 이 표에 따라. RSA

각 형태별 생성해야하는 문서자산의 종류는 표 에 제시된다[ 5-4] .

표 개발 단계별 문서 자산의 분류[ 5-3] RSA

Page 128: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 124 -- 124 -- 124 -- 124 -

표 형태에 따른 문서 자산의 분류[ 5-4] RSA

재사용 지침의 활용5.

가가가가.... 의 활용 시나리오의 활용 시나리오의 활용 시나리오의 활용 시나리오RSARSARSARSA

재사용자의 수준에 따라 필요로 하는 의 범위나 활용되는 방법은 달RSA

라진다 즉 임베디드 에 대해 완벽히 이해하고 있어 바이너리의 재사용. , RSA

모듈만을 필요로 하는 경우는 간단히 설치 가이드나 명세서와 같은 산H/W

출물만 필요하지만 재사용자가 에 대한 사전 지식이 없는 경우라면, RSA ,

에 대한 보다 많은 이해 정보 획득을 위해 가능한 많은 산출물들을 획득RSA

할 필요가 있다 따라서 본 문서에서는 따른 의 활용을 위해 요구되는. , RSA

산출물들의 종류를 개략적으로 도식화하면 다음 그림과 같다.

재사용자가 원하는 의 종류나 에 대해 파악하고 있는 재사용자의RSA RSA

사전 지식 수준에 따라 저장소를 통해 제공되는 정보는 달라진다 예를RSA .

들어 이나 디바이스 드라이버 같은 정형 형태의 자산은 재사용Java VM API

자의 컴퓨팅 환경에 맞도록 시스템 구성을 재조정하여 를 설치하여야만RSA

활용될 수 있다 따라서 재사용자는 에 관계된 환경적인 의존성을 파악. , RSA

Page 129: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 125 -- 125 -- 125 -- 125 -

하고 설치와 운영에 필요한 기타 리소스 등에 대한 정보가 필요하다RSA .

그러므로 의 종속성 분석서 활용자산 명세서 명세서 배치계획서RSA , , H/W ,

그리고 바이너리 모듈에 관한 산출물들 획득해야만 의 활용이 원활해진RSA

다 반면에 특정 기능 일부를 담당하여 기존 에 삽입되어 활용될 수 있. , S/W

는 클래스나 함수의 집합 형태의 는 단일 자산의 정의를 명확히 하RSA API

는 상세설계서와 단위 테스트 결과서 및 사용자 가이드 정도의 정보만으로

도 재사용 가능하다.

임베디드 S/W재사용 자산(RSA) 저장소

임베디드 S/W재사용 자산(RSA) 저장소

임베디드 미들웨어/시스템 계층의자산을 그대로 활용하고자 하는 재사용자

• 종속성 분석서• 활용자산 명세서• 하드웨어 명세서• 배치 계획서• 바이너리 모듈

DLL, Active X 같은 자산을활용하고자 하는 재사용자

• 하드웨어 명세서• 배치 계획서• 바이너리 모듈

특정 기능 자산을 획득, 변경을 통해활용하고자 하는 재사용자

•아키텍처 정의서• S/W 기능 모듈 정의서• 개발 환경 명세서• 파일 구조 정의서• 하드웨어 명세서• 배치 계획서• 바이너리 모듈

…. .를 활용고자 하는 재사용자

………....

그림 재사용 자산을 위한 필요 산출물( 5-9)

나나나나.... 의 등록 규칙의 등록 규칙의 등록 규칙의 등록 규칙RSARSARSARSA

와 관련된 문서 자산들은 하나의 패키지로 묶어 등록을 한다 재RSA RSA .

사용 지원 시스템은 묶여진 를 분석하여 코드 필수 문서자산 선택 문RSA , ,

서자산 리소스 등으로 분류하여 저장한다 패키지에 들어가는 문서들, . RSA

은 다음과 같은 파일명 규칙을 따라야 한다 아래 파일명 규칙은 개발자가.

재사용 지원 시스템에 등록하는 시점에서 지켜야 할 규칙이며 관리자가 모,

Page 130: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 126 -- 126 -- 126 -- 126 -

든 승인 절차를 거친 패키지를 실제로 재사용 지원 시스템에 업로드 할RSA

때는 모든 등록 파일 이름의 맨 앞에 자산번호 를 추가한다‘[ ]’ .

등록 문서 파일 명 재사용 지원 시스템에 등록 될 문서는 문서의1) :

종류와 내용을 표현할 수 있는 의미 있는 파일명을 가지고 있어야 한

다 재사용 지원 시스템에 등록하기 위해서는 문서 파일이 다음과 같.

은 파일 이름을 가지고 있어야 한다 각 필드는 로 분리하여 나타. ‘|’

내었다 실제 파일 이름에서 는 빠진다. ‘|’ .

문서종류 자산명 확장자[ ]| |.

소스 코드 패키지 파일 명 소스파일은 전체 파일을 하나의 압축파일2) :

로 묶어서 등록한다 소스파일을 묶은 압출파일의 이름은 다음과 같.

이 작성한다.

코드 자산명[ ]| |.zip

리소스 자산 파일 명 소스코드와 문서 자산은 아니지만 의 동작3) : RSM

과 연관이 있는 주요 데이터를 리소스 자산이라 한다 리소스자산은.

반드시 과 함께 로 등록해야 하는 것은 아니지만 함께 존재할RSM RSA

경우 재사용자가 코드를 이해하고 동작시켜 보는데 많은 도움을 받,

을 수 있다 리소스 자산은 하나의 압축파일로 재사용 지원 시스템에.

등록한다 압축 파일명은 다음과 같다. .

리소스 자산명[ ]| |.zip

패키지 파일명 과 관련 문서는 하나의 압축파일로 묶여 재4) RSA : RSM

사용 지원 시스템에 등록된다 압축파일명은 다음과 같다. .

자산명|.zip

Page 131: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 127 -- 127 -- 127 -- 127 -

그림 은 임베디드 의 작성 및 등록 절차를 도식화한 것이다( 5-10) RSA .

그림 의 작성과 등록 절차( 5-10) RSA

다 재사용 지침 적용 예다 재사용 지침 적용 예다 재사용 지침 적용 예다 재사용 지침 적용 예....

재사용 지침의 검증을 위해 및 플레이어EHS-Embedded HTTP Server MP3 ,

시스템을 대상으로 적용하였다FCM(Fan Controller) .

그림 은 를 자산화 한 예를 도식화여 나타낸 것이다 이( 5-11) MP3 Player .

자산 개발을 위해 에서 커널을 포팅하였으며linux kernel 2.4.19 >> cat

를 통해 커널 컴파일시 오디오 관련 옵션을 선택하고test.wav > /dev/audio

드라이버를 포함하여 테스트를 수행하였다audio .

그리고, 라우터 내의 습도 및 온도 조절을 위한 FCM(Fan Control

을 자산화 하여 개발 하였다 의 속도 조절이 가능한 을 개Module) .FAN Module

발하여 를 통해 를 제어하는 것을 목표로2C Bus Fan controller Intel

및 환경에서 수행하였다XScale PXA-255 (400MHz) Linux kernel 2.4.19 .

그림 는 의( 5-12) FCM 자산화 예를 도식화하여 나타낸 것이다.

Page 132: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 128 -- 128 -- 128 -- 128 -

그림 자산화 및 활용 예( 5-11) MP3 Player

그림 자산화 및 활용 예( 5-12) FCM

Page 133: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 129 -- 129 -- 129 -- 129 -

제 절 임베디드 재사용 지원 시스템제 절 임베디드 재사용 지원 시스템제 절 임베디드 재사용 지원 시스템제 절 임베디드 재사용 지원 시스템2 S/W -ATLAS2 S/W -ATLAS2 S/W -ATLAS2 S/W -ATLAS

개요개요개요개요1.1.1.1.

임베디드 재사용 지원 시스템은 임베디드 재사용 자산의 보급S/W S/W ,

확산을 위한 인프라를 개발자들에게 제공함을 목적으로 하고 있다 재. S/W

사용이 그룹 내에서 문화로 자리 잡기 위해서는 이를 지원해 주는 시스템과

지원 환경 구축이 필수적이다 임베디드 개발자가 개발한 재사용 자산. S/W

을 정보저장소를 통해 공유함으로써 유사 기능의 중복 개발을 방지하고 새

로운 시스템에 대한 개발 기간을 단축시킬 수 있다 또한 재사용 자산에 대.

한 지속적인 버전 관리를 통해 재사용 자산의 품질을 향상시킬 수 있다.

그림 임베디드 재사용 지원 시스템 개념도( 5-13) S/W

구성도구성도구성도구성도2.2.2.2.

임베디드 재사용 지원 시스템은 크게 사용자 시스템 통합 관리 시S/W ,

Page 134: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 130 -- 130 -- 130 -- 130 -

스템 관련 로 구성되어 있다 사용자 시스템은 로그인 하는 사용자의 역, DB .

할에 따라 사용자 팀장 관리자로 로그인 할 수 있으며 해당 사용자에 따, ,

라 다른 환경을 제공해 준다 통합 관리 시스템은 관리하는 대상에 따라 자.

산 관리기 인증 관리기 운영 관리기 포털 지원기 등으로 구성되어 있다, , , .

관련 는 통합 관리 시스템이 접근하여 사용하는 로 재사용 자산 및 관DB DB

련 정보를 저장하고 있는 통합 정보 저장소와 임베디드 재사용 지원 시S/W

스템의 운영에 필요한 정보를 담고 있는 시스템 운영 정보 로 구성된다DB .

구현 환경구현 환경구현 환경구현 환경3.3.3.3.

구현 플랫폼은 다음과 같다.

서버측 개발 환경-

OS: Windows 2000 Server○

그림 임베디드 재사용 지원 시스템 구성도( 5-14) S/W

Page 135: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 131 -- 131 -- 131 -- 131 -

이상WebServer: WebLogic 6.1○

이상Application Server: WebLogic 6.1○

이상DB Server: Oracle 9i○

Component: EJB 2.0○

화면 UI: JSP○

클라이언트측 환경-

이상MS Windows Explorer 6.0○

구현 플랫폼을 적용한 시스템 아키텍처는 다음 그림과 같다.

WeblogicWeblogicWeblogicWeblogic 8.18.18.18.1

TCP/IP TCP/IP TCP/IP TCP/IP

Windows 2000 ServerWindows 2000 ServerWindows 2000 ServerWindows 2000 Server

TCP/IPTCP/IPTCP/IPTCP/IP

Windows 2000Windows 2000Windows 2000Windows 2000

Java IDE Java IDE Java IDE Java IDE Internet Explorer Internet Explorer Internet Explorer Internet Explorer 6.0 6.0 6.0 6.0 이상이상이상이상

TCP/IPTCP/IPTCP/IPTCP/IP

Windows XPWindows XPWindows XPWindows XP

WeblogicWeblogicWeblogicWeblogic 8.18.18.18.1

TCP/IP TCP/IP TCP/IP TCP/IP

Windows 2000 ServerWindows 2000 ServerWindows 2000 ServerWindows 2000 Server

개발자 PC

TCP/IPTCP/IPTCP/IPTCP/IP

Windows 2000 ServerWindows 2000 ServerWindows 2000 ServerWindows 2000 Server

Oracle 9iOracle 9iOracle 9iOracle 9i

WeblogicWeblogicWeblogicWeblogic 8.18.18.18.1

TCP/IPTCP/IPTCP/IPTCP/IP

Windows 2000 ServerWindows 2000 ServerWindows 2000 ServerWindows 2000 Server

Oracle 9iOracle 9iOracle 9iOracle 9i

사용자/관리자 PC

Web Server App. Server

개발 서버

DB Server

그림 임베디드 재사용 지원 시스템 아키텍처( 5-15) S/W

세부 기능 설명세부 기능 설명세부 기능 설명세부 기능 설명4.4.4.4.

임베디드 재사용 지원 시스템은 웹 브라우저를 통해 접근할 수S/W

있다 이상 시스템 접속 초기 화면은 아래 그림과 같다.(Explorer5.0 ) .

Page 136: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 132 -- 132 -- 132 -- 132 -

그림 임베디드 재사용 지원 시스템 초기( 5-16) S/W

화면

사용자의 역할에 따라 사용자 개발자 재사용 자산 후보를 개발하여 등록( :

하거나 재사용하기 위해 획득 요청하는 하는 사용자 와 팀장 재사용 자산에) (

관련된 결재 승인을 담당하는 사용자 관리자 사용자 재사용 자산 시스), ( , ,

템 관리 로 로그인하며 각 사용자 별로 제공되는 환경 메뉴 을 설명하면 다) ( )

음과 같다.

가 사용자가 사용자가 사용자가 사용자....

사용자 초기 로그인 화면은 그림 과 같다 각 세부 메뉴를 설명하( 5-17) .

면 다음과 같다.

Page 137: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 133 -- 133 -- 133 -- 133 -

그림 임베디드 재사용 지원 시스템 사용자 초기 화면( 5-17) S/W -

자산등록요청1)

개발자가 재사용 자산 후보를 에 등록하기 위한 메뉴ATLAS

등록요청 재사용 자산 등록 요청 폼을 작성하기 위한 메뉴- :

현황 사용자가 요청한 재사용 자산 등록 요청 리스트를 보여주기 위- :

한 메뉴

자산검색2)

에 등록된 재사용 자산을 검색하기 위한 메뉴 검색 항목을 선택한ATLAS .

후 검색된 결과의 상세 정보 보기를 통해 자산 요청을 할 수 있다.

자산요청3)

자산요청 재사용 자산 분류 검색을 통해 재사용 자산 획득 요청을 하- :

는 메뉴

Page 138: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 134 -- 134 -- 134 -- 134 -

자산요청현황 사용자가 획득 요청한 재사용 자산 목록과 현황을 보여- :

주는 메뉴

통계4)

등록현황 팀별 등록현황 자산분류체계별 등록현황 자산 타입별 등- : , ,

록현황 개인 마일리지 현황 등으로 통계 정보를 보여준다, .

재사용 현황 재사용이 많이 된 순으로 재사용 된 자산 목록을 보여준- :

다.

5) MyAsset

자산목록 로그인한 사용자의 등록한 자산 목록을 보여주며 등록된- : ,

자산을 선택하여 변경 요청할 수 있다.

등록정보수정 로그인한 사용자가 변경 요청한 자산에 대한 정보를 보- :

여준다.

사용자정보6)

로그인 한 사용자의 정보를 변경하는 메뉴이다.

게시판7)

공지사항 관리자가 등록한 공지사항을 볼 수 있는 메뉴- :

자유게시판 사용자들끼리 자유로이 게시할 수 자유게시판으로 이동하- :

는 메뉴

나 팀장나 팀장나 팀장나 팀장....

팀장 초기 로그인 화면은 그림 과 같다 각 세부 메뉴를 설명하면( 5-18) .

다음과 같다.

Page 139: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 135 -- 135 -- 135 -- 135 -

그림 임베디드 재사용 지원 시스템 팀장 초기 화면( 5-18) S/W -

승인1)

개발자가 요청한 등록요청 획득요청 변경요청 등에 대한 승인을 처리, ,

하는 메뉴

등록요청승인 재사용 자산 등록 요청에 대한 승인 반송 처리를 위한- : /

메뉴

획득승인 재사용 자산 획득 요청에 대한 승인 반송 처리를 위한 메뉴- : /

변경승인 재사용 자산 변경 수정 삭제 요청에 대한 승인 반송 처리- : ( , ) /

를 위한 메뉴

승인목록 팀장이 승인 반송 처리한 기록을 보여주는 메뉴- : /

자산검색2)

에 등록된 재사용 자산을 검색하기 위한 메뉴 검색 항목을 선택한ATLAS .

후 검색된 결과의 상세 정보 보기를 통해 자산 요청을 할 수 있다.

Page 140: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 136 -- 136 -- 136 -- 136 -

통계3)

등록현황 팀별 등록현황 자산분류체계별 등록현황 자산 타입별 등- : , ,

록현황 개인 마일리지 현황 등으로 통계 정보를 보여준다, .

재사용 현황 재사용이 많이 된 순으로 재사용 된 자산 목록을 보여준- :

다.

사용자정보4)

로그인 한 사용자의 정보를 변경하는 메뉴이다.

게시판5)

공지사항 관리자가 등록한 공지사항을 볼 수 있는 메뉴- :

자유게시판 사용자들끼리 자유로이 게시할 수 자유게시판으로 이동하- :

는 메뉴

다 관리자다 관리자다 관리자다 관리자....

관리자 초기 로그인 화면은 그림 와 같다 각 세부 메뉴를 설명하( 5-19) .

면 다음과 같다.

Page 141: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 137 -- 137 -- 137 -- 137 -

그림 임베디드 재사용 지원 시스템 관리자 초기 화면( 5-19) S/W -

사용자관리1)

사용자등록 신규 사용자를 등록하기 위한 메뉴- :

목록 등록된 사용자들을 보여주며 삭제를 할 수 있다- : .

자산관리2)

재사용 자산 등록 요청과 승인 된 재사용 자산 후보를 재사용- Upload:

자산 에 저장하는 메뉴DB

삭제 등록된 재사용 자산 중에 삭제 요청 승인된 자산을 재사용 자- : ,

산 에서 삭제하기 위한 메뉴DB

통계정보관리3)

등록현황 팀별 등록현황 자산분류체계별 등록현황 자산 타입별 등- : , ,

록현황 개인 마일리지 현황 등으로 통계 정보를 보여준다, .

Page 142: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 138 -- 138 -- 138 -- 138 -

재사용 현황 재사용이 많이 된 순으로 재사용 된 자산 목록을 보여준- :

다.

자산검색4)

에 등록된 재사용 자산을 검색하기 위한 메뉴 검색 항목을 선택한ATLAS .

후 검색된 결과의 상세 정보 보기를 통해 자산 요청을 할 수 있다.

조직관리5)

조직등록 부서코드 부서명을 입력하여 신규조직을 생성하는 메뉴- : ,

승인자등록 등록된 부서의 팀장을 설정하는 메뉴- :

목록 부서와 승인자들에 대한 목록을 보여주고 수정 및 삭제를 할 수- :

있는 메뉴

계정코드관리6)

계정코드등록 계정코드와 계정이름을 등록하는 메뉴- :

목록 계정코드와 계정이름을 리스트로 보여주고 수정 삭제할 수 있- : ,

는 메뉴

자산코드관리7)

자산코드등록 자산분류코드와 분류코드명을 등록하는 메뉴- :

목록 등록된 자산분류코드와 분류코드명을 보여주고 수정 삭제할 수- : ,

있는 메뉴

게시물관리8)

공지사항등록 신규 공지사항을 작성하기 위한 메뉴- :

공지사항목록 등록된 공지사항을 목록으로 보여주며 게시물을 선택- : ,

하여 관리 수정 삭제 등을 할 수 있는 메뉴( , )

Page 143: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 139 -- 139 -- 139 -- 139 -

자유게시판 등록된 자유게시물을 목록으로 보여주며 게시물 선택하- : ,

여 관리 수정 삭제 를 할 수 있는 메뉴( , )

임베디드 재사용 지원 시스템 주요 흐름임베디드 재사용 지원 시스템 주요 흐름임베디드 재사용 지원 시스템 주요 흐름임베디드 재사용 지원 시스템 주요 흐름5. S/W5. S/W5. S/W5. S/W

가 재사용 자산 등록 흐름가 재사용 자산 등록 흐름가 재사용 자산 등록 흐름가 재사용 자산 등록 흐름....

그림 재사용 자산 등록 흐름도( 5-20)

등록 요청 폼 작성1)

재사용 자산 개발자가 임베디드 재사용 지원 시스템에 재사용 자산S/W

으로 등록하기 위해 등록 요청하는 폼으로 본 시스템에서는 재사용 지침에

서 정의한 필수 산출물인 재사용 자산 등록 요청서 문서 를 입력 받아(XML )

사용자의 직접 입력을 최소화하였다

등록 요청 승인2)

개발자가 등록 요청한 재사용 자산 후보의 내용을 보고 팀장이 승인 반/

송을 결정하는 단계

자산3) Upload

팀장으로부터 재사용 자산 등록 승인된 자산에 대해 관리자가 재사용 자

Page 144: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 140 -- 140 -- 140 -- 140 -

산 에 하는 단계DB Upload

저장4) DB

승인된 재사용 자산은 자산의 특성에 따라 메타데이터를 저장하거나 재

사용 자산 소스 파일까지 재사용 자산 에 저장한다DB .

나 재사용 자산 획득 흐름나 재사용 자산 획득 흐름나 재사용 자산 획득 흐름나 재사용 자산 획득 흐름....

그림 재사용 자산 획득 흐름도( 5-21)

재사용 자산 검색1)

개발자가 신규 개발에 필요한 기능 중에 임베디드 재사용 지원 시스S/W

템에 재사용 자산으로 등록되어 있는 것이 있는지 메타데이터 검색을 하는

단계

재사용 자산 획득 요청2)

검색을 통해 자신이 원하는 재사용 자산을 찾은 후 해당 재사용 자산을

관리하는 사람 팀장 에게 획득 요청을 하는 단계( )

재사용 자산 획득 요청 승인3)

Page 145: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 141 -- 141 -- 141 -- 141 -

획득 요청을 받은 해당 재사용 자산 관리자 팀장 은 요청 사유와 재사용( )

자산의 특성 등을 고려하여 획득 요청 승인 반송 등을 결정하는 단계/

재사용 자산 제공4)

획득 요청이 승인된 재사용 자산은 획득 요청자에게 재사용 자산 에DB

접근할 수 있는 권한을 부여한다.

재사용 자산 획득5)

획득 요청자는 로그인하여 획득 요청 현황에서 해당 재사용 자산을

하며 시스템은 이를 로그로 기록한다Download .

제 절 임베디드 재사용 체계 보급제 절 임베디드 재사용 체계 보급제 절 임베디드 재사용 체계 보급제 절 임베디드 재사용 체계 보급3 S/W3 S/W3 S/W3 S/W

재사용 자산 지적 재산권 보호 및 라이센스 규정 기본 방향재사용 자산 지적 재산권 보호 및 라이센스 규정 기본 방향재사용 자산 지적 재산권 보호 및 라이센스 규정 기본 방향재사용 자산 지적 재산권 보호 및 라이센스 규정 기본 방향1.1.1.1.

가 기존 관련 제도 분석가 기존 관련 제도 분석가 기존 관련 제도 분석가 기존 관련 제도 분석. S/W. S/W. S/W. S/W

지적 재산권의 분류1)

� 산업 재산권 특허권 특허법 상표권 상표법: ( ), ( )

� 저작권 저작권 저작권법 컴퓨터 프로그램 저작권 컴퓨터 프로그램: ( ), (

보호법)

� 신지적 재산권 데이터베이스 보호권 컨텐츠 보호권 재사용 자산: , ,

보호권 등

보호 대상2) S/W

Page 146: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 142 -- 142 -- 142 -- 142 -

� 명세서S/W

영역 분야의 전문 지식 주요 기능 업무 흐름 로직 규정 등 을 분( , , , )

석하여 문서화 한 결과

� 개발 병세서

재사용 자산 명세서를 토대로 실제 재사용 자산 개발 과정에서 만들

어진 산출물 설계 문서 사용자 매뉴얼 등( , )

� 개발 코드

개발 명세서에 따른 재사용 자산 개발 코드

� 데이터

영역의 분류를 위한 코드 체계 개발된 재사용 자산의 시험 및 검증,

에 사용된 시험 사례 데이터 등,

저작권과 사용권3)

가 저작권) S/W

저작권 은 프로그램의 저작자나 저작권의 소유자에게 확실한(copyright)

배타적 권리를 인정하는 법적 보호의 형태이다 저작권의 소유자는 그 소프.

트웨어를 복사하고 배포하거나 팔고 또 수정할 수 있는 배타적 권리를 갖, ,

는다 저작권 소프트웨어를 구매하는 경우에도 저작권의 소유자가되는 것. , 

이 아니다 대신 그 소프트웨어를 사용할 권한을 구매할 뿐이다 그 구매. , .

는 해당 컴퓨터에서 그 소프트웨어를 사용하는 것을 허용하나 다른 사람에,

게 주거나 팔기 위한 추가적인 복사가 허용된 것이 아니다.

나 사용권) S/W

Page 147: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 143 -- 143 -- 143 -- 143 -

저작권 보호 이외에 컴퓨터 소프트웨어는 소프트웨어 사용권의 조건에,

의해 보호된다 소프트웨어 사용권 은 컴퓨터 소프트웨어를 사용하. (license)

는 방법을 정의하는 법적 계약이다 마이크로컴퓨터 소프트웨어의 경우 패. ,

키지의 외면 패키지 안의 별도 카드 혹은 참조 설명서에 그것이 있다 메, , .

인 프레임용 소프트웨어 사용권은 보통 소프트웨어 저작자와 구매 법인간의

협상에 의한 별도의 법적 문서이다.

다 사용권) S/W

소프트웨어를 구매할 때마다 사용권 협약에 서명하고 제출하는 것은 불

편하므로 컴퓨터 업계에서는 밀봉포장 사용권 을 많, (shrink-wrap license)

이 사용한다 컴퓨터 소프트웨어를 구매할 때 디스크나 패키지는. , CD-ROM

보통 봉투나 플라스틱 포장으로 밀봉되어 있다 소프트웨어가 밀봉포장 사.

용권을 가지고 있을 때 패키지를 뜯는 것은 사용권 협약에 동의하는 것이,

다 조건에 동의하지 않으면 뜯지 말고 반납해야 한다. , .

라 여러 사람을 위한 사용권)

대부분의 소프트웨어 저작자는 단일 사용자를 위한 것과 복수 사용자를

위한 것과 같이 다양한 사용권 옵션을 제공한다 단일 사용자 사용권.

은 소프트웨어의 사용을 한 번에 한 사람으로 제한한(single-user license)

다 대부분의 상용 소프트웨어는 단일 사용자 사용권으로 배포된다. .

마 쉐어웨어) (sharware)

쉐어웨어는 구매하기 전에 써보기 정책에 따라 판매된 저작권 소프트" "

웨어이다 쉐어웨어는 보통 시험 기간 동안에 소프트웨어를 사용할 수 있는.

Page 148: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 144 -- 144 -- 144 -- 144 -

사용권을 포함한다 계속해서 사용하려면 등록비를 내야 한다 쉐어웨어 사. .

용권은 전형적으로 소프트웨어의 복사 본을 만들고 다른 사람에게 배포하는

것을 허용한다.

바 공개) S/W

가끔 저작자가 프로그램을 제한 없이 사용할 수 있도록 특정 소프트웨어

타이틀의 모든 권한을 포기하고 공개한다 공개 소프트웨어. (public domain

로 불리는 그런 소프트웨어는 저작자보다 일반 대중이 주인이다software) , .

공개 소프트웨어는 복사 배포 심지어 재판매까지 자유롭다 공개 소프, , .

트웨어의 주 제약은 그것에 저작권을 적용하는 것이 금지되는 것이다 공개.

소프트웨어는 매우 드물다 공개 소프트웨어와 쉐어웨어 모두 복사하고 배.

포하는 것이 합법적이므로 공개 소프트웨어는 쉐어웨어와 자주 혼동된다

나 개선 방안 검토나 개선 방안 검토나 개선 방안 검토나 개선 방안 검토....

지적 재산권 침해 방지 정책1)

지적 재산권 침해를 방지하기 위한 효과적인 방안은 무엇이 있을까라는

의문에 대한 해답으로서 크게 예방 정책과 억지 정책으로 나눌 수 있다, .

두 방안 중에서 어떠한 방안이 기업의 수익을 극대화 시킬 수 있는지는 비

용 대비 수익을 분석해 보아야 한다.

예방 정책은 기술을 활용하여 지적 재산권 침해를 하는데 많은 비용이

들도록 하여 지적 재산권 침해를 방지하고자 하는 정책이라 할 수 있다 예.

를 들면 지적 재산권 침해가 어렵도록 특별한 암호를 사용하거나 정품을,

구입하는 고객에게만 고객 지원을 해주는 방법들이 있다 이러한 예방 정책.

Page 149: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 145 -- 145 -- 145 -- 145 -

의 궁극적인 목표는 지적 재산권 침해에 많은 비용이 들게 하는데 있으나,

실제는 별로 효과적이지 못하다는 것이 연구 결과이다.

억지 정책은 지적 재산권 침해로 인한 위험을 지적 재산권 침해자가 인

지하게 함으로서 지적 재산권 침해의 행위를 하지 않도록 하는 방안이라 할

수 있으며 억지 정책은 지적 재산권 침해의 비용을 직접적으로 증가시키지,

는 않는다 이러한 억지정책은 일반 대중에게 지적 재산권 침해로 인한 소.

송 사례 법적 재제에 관한 정보를 퍼트려 지적 재산권 침해를 하지 않도록,

하는 것이다 연구 결과는 억지 정책을 수행하는 것이 예방 정책을 수행할.

때 보다 기업이나 산업에 더 큰 수익을 준다고 나와 있다 그러므로 재사. , 

용 자산에 대한 지적 재산권 침해를 방지하기 위한 방안에 이런 점을 고려

하여 암호화 등에 너무 많은 비용을 투입하는 것은 재고할 필요가 있다, .

신지적 재산권2)

재사용 자산에 대한 지적 재산권의 보호 대상인 재사용 자산 명세서 개,

발 명세서 개발 코드 및 데이터를 현재의 지적 재산권으로 보호하려면 개, ,

발코드는 컴퓨터프로그램보호법으로 나머지 대상은 특허법과 저작권법으로,

보호해야 한다 개발 코드를 컴퓨터프로그램보호법으로 보호하는 것은 큰.

문제가 없다고 판단되나 나머지 대상을 특허법과 저작권법으로 보호하는,

것은 상당히 미흡하다고 판단된다.

특허는 대상마다 일일이 특허 등록을 해야 하고 더욱이 이 특허 등록에,

시간이 많이 걸리므로 효율적으로 재사용 자산의 지적 재산권을 보호하기

어렵다 저작권의 경우도 재사용 자산이 가져야 하는 다양한 특성을 고려하.

면 재사용 자산의 지적 재산권을 제대로 보호하기 어렵다.

그러므로 재사용 자산의 지적 재산권을 효과적으로 보호하려면 신지적

재산권의 개념을 적용하는 것이 필요하다 재사용 자산은 통상의 프로그램.

과 멀티미디어 컨텐츠 데이터베이스 의 중간적 성격이라 볼 수 있다( ) .

Page 150: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 146 -- 146 -- 146 -- 146 -

근래에 데이터베이스 법 제정의 필요성이 대두되어 정부 차원에서  

제정을 시도한 바 있는데 차제에 데이터베이스와 재사용 자산을 함께 포용,

할 수 있는 법령을 제정하는 것이 바람직하다고 판단된다 이것을 바탕으로.

재사용 자산의 유통 체계를 구축하면 재사용 자산의 사용이 활성화될 수 있

을 것이다.

디지털 관리3)

디지털권 관리 는 모든 디지털 컨텐츠(DRM: Digital Rights Management)

를 그것이 사용되는 방법 매 사용시의 가격 사용 즉시 대금 지불의 보증, ,

등의 규정을 가진 컨테이너에 담고 디지털권 관리의 과정에 따라 처리하는,

것을 말한다 디지털 형태로 처리하면 대역폭이 넓고 즉시 수행이 가능하. ,

고 하루 종일 처리가 가능하다 지금까지 오락 산업과 관련된 컨텐츠의 배, .

포 관리를 위해 필요성이 제기되었으나 앞으로 소프트웨어 재사용 자산에,

도 유용하게 활용될 수 있을 것이다.

이 디지털권 관리의 개념을 소프트웨어 재사용 자산에 대한 유통 모델과

라이센스 모델에 적용하면 기존 방법의 문제점들을 해결하고 개선 방안을

만들 수 있다.

Page 151: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 147 -- 147 -- 147 -- 147 -

제 장 결 론제 장 결 론제 장 결 론제 장 결 론6666

본 연구의 목표는 최근 유비쿼터스 컴퓨팅 환경 실현을 위한 필수적인

임베디드 시스템 개발의 생산성과 재사용을 획기적으로 향상시킬 수 있는

개발체계를 개발하는 것으로 세부 추진 내용은 다음과 같다.

� 임베디드 시스템 개발방법론 마르미 개발-IV

� 개발방법론 지원도구 개발PRiME

� 임베디드 재사용을 위한 시범 프로젝트 수행S/W

� 임베디드 재사용 체계 구축 및 보급 방안 수립S/W

임베디드 시스템 개발방법론 마르미 와 지원도구인 은 총 개년도-IV PRiME 2

중에 차년도에 걸쳐 수행되었다 임베디드 재사용 시범 프로젝트와 재2 . S/W

사용 체계 구축은 마지막 차년도에 추가되어 수행되었는데 이는 정부가2 ,

추진하고 있는 전략 사업을 통해 개발되는 기술의 모듈화 및 재사용IT839

을 통해 사업의 효과적이고 체계적인 수행을 지원하기 위한 것이었다, .

아무쪼록 본 사업을 통해 개발된 결과물들이 헛되지 않고 전략 등, IT839

정부가 주도하고 있는 기술 개발 사업에 적용되어 국가 기술 개발 사업의

개발체계를 확립하고 나아가서는 국내 임베디드 시스템 개발 업체에 확대,

보급됨으로써 국내 임베디드 산업의 경쟁력의 향상에 도움 될 수 있도록 지

속적인 관심과 지원이 필요하다.

Page 152: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 148 -- 148 -- 148 -- 148 -

참고 문헌참고 문헌참고 문헌참고 문헌

전진옥 외 소프트웨어 생산기술 개발 정보시스템 구축 기술 개발[1] , - ,

과학기술처, 1997.

전진옥 외 정보통신용 시스템 개발방법론 구축에 관한 연구 정보통신[2] , ,

부, 1998.

박창순 외 컴포넌트 개발방법론 개발 정보통신부[3] , , , 2003.

[4] OMG, Software Process Engineering Metamodel Specification, 2002.

차정은 외 임베디드 소프트웨어 재사용 자산 정의서 문서번[5] , (

호 한국전자통신연구원:ESF511-1), , 2005.

차정은 외 임베디드 소프트웨어 재사용 자산 개발 절차서 문서번[6] , (

호 한국전자통신연구원:ESF511-2), , 2005.

차정은 외 문서화 자산 양식서 문서번호 한국전자통신연[7] , ( : ESF511-5),

구원, 2005.

유미선 외 재사용 체계 구축을 위한 코딩 지침 언어 문서번호[9] , - C ( :

한국전자통신연구원ESF511-3), , 2005.

황길승 외 재사용 체계 구축을 위한 코딩 지침 언어 문서번호[9] , - Java ( :

한국전자통신연구원ESF511-4), , 2005.

황길승 외 재사용 지침 적용 예 문서번호 한국전자통신[10] , ( : ESF511-6),

연구원, 2005.

Page 153: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 149 -- 149 -- 149 -- 149 -

약어표약어표약어표약어표

ATLAS Assistant sysTem for resusabLe ASset

CASE Computer Aided Software Engineering

Computer Assisted Software Engineering

CDC Connected Device Configuration

CVM CDC Virtual Machine

FCM Fan Control Module

JVM Java Virtual Machine

MaRMI Magic and Robust Methodology Integrated

OMG Object Management Group

PP Personal Profile

PRiME PRocess improvement and Methodology Enhancement

RSA Reusable Software Asset

RSM Reusable Software Module

SPEM Software Process Engineering Metamodel

UML Unified Modeling Language

Page 154: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 150 -- 150 -- 150 -- 150 -

부 록부 록부 록부 록

부록 참여연구원 명단1.

연구기관 연구책임자 참여연구원

한국전자통신연구원 박창순

김진삼 장진호 조진희 하수정, , , ,

이지현 양영종 김철홍 신규상, , , ,

윤석진 차정은 송문섭 최유희, , , ,

정양재 이승연 유미선 최윤정, , , ,

박경민 장선임,

투이컨설팅 나희동 서인석 이승봉 김민석 김대성, , ,

화이트정보통신 임춘봉신승재 서한석 강인철 김태엽, , , ,

임병진 김정식,

테크놀로지MDS 우준석유승균 송상엽 지창건 김유석, , , ,

서윤준 홍차연,

에이비앤아이 김길조박현민 정학종 편흥렬 고덕성, , , ,

이춘기

한국정보컨설팅 장연세 이형기 임장환 김태순, ,

Page 155: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 151 -- 151 -- 151 -- 151 -

부록 연구결과물 목록2.

가 특허 프로그램 출원 등록 현황. ( ) /

순번발명의 명칭

특허 실용신안 프로그램등록 등( , , )국가명

출원/

등록일

출원/

등록번호비고

1우선순위 그래프를 이용한 제품 계열의 기능 분

석 및 테스팅 경로 분석 장치와 그 방법 미국 2004IP200404

53 특허

2 Method of Asset Development and AssetRegistration, Search for Software Reusing

미국 2005 특허

3System and method for support of Embedded

Software Development Methodology with Q uantitativeProcess Management

미국 2005 11/271001 특허

4Method and Apparatus for Prototype Development

of Embedded System based on Requirement Analysisand Architecture Design

미국 2005 특허

5우선순위 그래프를 이용한 제품 계열의 기능 분

석 및 테스팅 경로 분석 장치와 그 방법 한국 2004DP200407

99 특허

6 정량적인 프로세스 관리를 위한 임베디드 시스템 개발 방법론 지원 시스템 및 방법

한국 2004 04-102498

특허

7제품계열 아키텍처 평가를 위한 정형적 평가S/W

방법 한국 2005 05-117755 특허

8 임베디드 시스템용 자바 라이브러리의 재구조화방법 및 장치

한국 2005 05-117754 특허

9소프트웨어 재사용을 위한 자산 개발 방법과 자산

등록 및 검색 방법 한국 2005 05-117607 특허

10가변성 관리 방법을 응용한 홈 네트워크 단말 시스템

소프트웨어의 동적 재구성 기법한국 2005 05-117758 특허

11 임베디드 재사용성 향상을 위한 형태별S/W S/W개발 지침

한국 2005 05-117598 특허

12 설계패턴을 이용한 아키텍처 기반의 재공학 방법 한국 2005 512758 특허

13레가시 시스템으로부터 설계패턴 추출을 통한

컴포넌트 생성 장치 및 방법 한국 2005 496868 특허

14 개발 프로젝트 관리를 위한 임베디드 시스템 한국 2005 05-117589 특허

15임베디드 시스템 개발방법론 적용을 위한 이클립스

플랫폼 기반의 프로젝트 수준 자산 관리 시스템 및방법

한국 2005 05-117759 특허

Page 156: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 152 -- 152 -- 152 -- 152 -

순번발명의 명칭

특허 실용신안 프로그램등록 등( , , )국가명

출원/

등록일

출원/

등록번호비고

16요구사항 분석 및 아키텍처 설계에 기반한 임베디드

시스템 프로토타입 개발 지원 장치와 그 방법한국 2005 05-117697 특허

17 임베디드 플레이어 디코더 모듈MP3 MPEG 한국 2005 PGM

18 임베디드 플레이어 사용자 인터페이스 모듈MP3 한국 2005 PGM

19 임베디드 플레이어 디코더 모듈MP3 RAW 한국 2005 PGM

20 FCM(Fan Control Module) 한국 2005 PGM

21 용 패키지 테스팅 모듈J2ME java.util 한국 2005 PGM

22 용 패키지 테스팅 모듈J2ME java.lang 한국 2005 PGM

23 자산 요청 이벤트 처리 모듈 한국 2005 PGM

24 요청자산정보 관리모듈 한국 2005 PGM

25 재사용 지원 시스템 구조 모듈 한국 2005 PGM

26 자산 및 사용자 정보 처리 모듈 한국 2005 PGM

27 용 라이브러리PBP AWT 한국 2005 PGM

28 용 라이브러리PP AWT 한국 2005 PGM

29 시스템의 패키지PRiME runtime, impl, metamodel 한국 2005 PGM

30 시스템의 및 패키지PRiME ui config 한국 2005 PGM

31 시스템의 패키지PRiME hibernate 한국 2005 PGM

32의 및PRiME system state, sysmgr, actions, util

패키지configration 한국 2005 PGM

Page 157: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 153 -- 153 -- 153 -- 153 -

나 논문.

순번 저자명 논문명 게재지명 년도

1 함동한 마르미 컴포넌트기반 개발 방법론-III: ETRI Journal 2004

2 이지현A Methodology for DevelopingComponent-Based Software with Generationand Assembly Processes

ICACT 2004 2004

3 최윤정기반 소프트웨어 프로세스 관리ISO IS 15504

를 위한 소프트웨어 프로세스 개선 도구의 설계

한국 공학S/W합동학술대회

2004

4 최윤정 임베디드 시스템 개발 방법론 지원도구 설계한국정보처리학회 추계2004

학술대회 2004

5 이지현 임베디드 시스템 개발의 제품 계열적 적용 한국정보처리학회 추계2004학술대회

2004

6 유미선 임베디드 재사용을 위한 모듈의 분류 및 설계S/W절차

한국정보처리학회 2005

7 이승연 임베디드 라이브러리의 가변 코드 관리 방법Java 정보과학회 추계학술대회/ 2005

8 이승연Model Driven Product-Line Engineering:Combining the Spirit of MDA and PLE

IEEE/Asia Pacific

International Symposiumon Information

Technology

2005

9 최유희 재사용을 고려한 자바 라이브러리 설계 및 구현방법

정보과학회 추계학술대회/ 2005

10 최유희 An Approach to Extension of UML 2.0 forRepresenting Variabilities

IEEE ACIS/ InternationalConference on Computerand Information Science

2005

2005

11 송문섭 아키텍처를 위한 도구 설계PL 한국정보과학회 2005

12 송문섭메타데이터를 이용한 임베디드 재사용 지원S/W

시스템 설계한국 학회SI추계학술대회2005 2005

13 황길승제품계열 방법을 응용한 동적 소프트웨어 구성

기법Korea ComputerCongress2005 2005

14 차정은임베디드 소프트웨어 재사용을 위한 문서 자산의

분류한국정보과학회추계학술대

회 2005

15 차정은마르미 컴포넌트 기반의 체계적인 재공학-RE:

방법론한국정보처리학회논문지(D

권) 2005

16 차정은 Systematic Componentization Process forReengineering Legacy System

Computational Scisnceand Its

Applications(LNCS3483)2005

17 최윤정The Management of Software Processes withSoftware Process Improvement Tool based on ISO

15504

ICACT2005 2005

18 이지현 Methodology for Embedded System Developmentbased on Product Line

ICACT 2005 2005

Page 158: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 154 -- 154 -- 154 -- 154 -

순번 저자명 논문명 게재지명 년도

19 최윤정 기반 개발방법론 지원도구SPEM , PRiME 한국정보처리학회 춘계2005학술대회

2005

20 이지현 임베디드 시스템의 설계 고려 사항과 지원 방안 한국정보처리학회 춘계2005학술대회

2005

21 최윤정SPEM2 compliant Software Deveopment

Methodology Support System based on EclipsePlatform

기술교류세미나ETRI-PTIT 2005

22 최윤정 이클립스 기반 프로젝트 실행 및 자산 관리를위한 개발방법론 지원 시스템 설계

한국정보처리학회 추계2005학술대회

2005

23 이지현 기능 분석 그래프에 기반한 요구 사항 분석 및테스트 경로 검증 방법

한국정보처리학회 추계2005학술대회

2005

Page 159: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 155 -- 155 -- 155 -- 155 -

다 기술문서.

순번 작성자 명TDP/TM 구분 년도

1 최윤정 용역과제 프로젝트 실행 및 자산관리 도구 프로토타입 개발RFP: 연구계획서 2005

2 최윤정 위탁과제 임베디드 시스템 개발 프로세스 개선 기법RFP: 연구계획서 2005

3 유미선 객체 지향적 설계 모델로부터 코드를 생성하는 기법C 기술문서 2005

4 유미선 재사용 체계 구축을 위한 코딩 지침서 언어- C 기술문서 2005

5 유미선 임베디드 소프트웨어 개발을 위한 코딩 스타일 분석서 기술문서 2005

6 유미선 재사용 자산 개발 절차 설계- 기술문서 2005

7 유미선 임베디드 시스템 개발 절차 조사서 기술문서 2005

8 유미선 문서화 자산의 양식 분석 및 설계 단계- RSM 기술문서 2005

9 유미선 모듈 개념 조사서 기술문서 2005

10 최유희 임베디드 자바 플랫폼 기술 분석서 기술문서 2005

11 최유희 코드 분석 도구 분석Headway Review 기술문서 2005

12 최유희 분석J2ME 기술문서 2005

13 최유희 재사용 대상 영역 선정 기준 기술문서 2005

14 최유희 라이브러리 수정 방안 및 테스트케이스 수정 방안FP 기술문서 2005

15 최유희 재사용을 고려한 자바 라이브러리 설계 및 구현 방법 발표자료 기술문서 2005

16 최유희 소프트웨어 아키텍처 관련 표준화 동향 및 추진 전략 기술문서 2005

17 송문섭 임베디드 재사용 지원 시스템 요구사항 명세서S/W 기술문서 2005

18 송문섭 임베디드 재사용 지원 시스템 개략 설계서S/W 기술문서 2005

19 송문섭 임베디드 재사용 지원 시스템 상세 설계서S/W 기술문서 2005

20 송문섭 임베디드 재사용 지원 시스템 테스트 계획서S/W 기술문서 2005

21 송문섭 메타데이터를 이용한 임베디드 재사용 지원 시스템 설계S/W 기술문서 2005

22 송문섭 아키텍처를 위한 도구 설계PL 기술문서 2005

23 황길승 코딩 스타일 지침서 일반지침Java ( ) 기술문서 2005

24 황길승 임베디드 소프트웨어의 기술 구조 및 개발 방법 조사 기술문서 2005

25 황길승 코딩 스타일 지침서 성능지침Java ( ) 기술문서 2005

26 황길승 재사용 자산 개발 절차서 구현 및 테스팅 단계( ) 기술문서 2005

Page 160: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 156 -- 156 -- 156 -- 156 -

순번 작성자 명TDP/TM 구분 년도

27 황길승 플랫폼의 재사용 구조 정의서ETRI Java 기술문서 2005

28 차정은 임베디드 재사용 지침 수요에 대한 설문 조사서S/W 기술문서 2005

29 차정은 임베디드 재사용 자산 개발 시나리오S/W 기술문서 2005

30 차정은임베디드 문서화 자산 양식서 전체 구조 및 분석단계 산출S/W (

물)기술문서 2005

31 차정은 영역 아키텍처 개요와 예제: 기술문서 2005

32 차정은 레거시 시스템 재공학을 위한 체계적인 컴포넌트화 프로세스 기술문서 2005

33 차정은 임베디드 재사용 자산 정의서S/W 기술문서 2005

34 차정은임베디드 재사용 자산 개발 절차 개념정의 요구사항 분석S/W ( , ,

아키텍처 정의단계)기술문서 2005

35 윤석진 임베디드 개발 시나리오S/W 기술문서 2005

36 윤석진 와 과의 비교Kaffe ETRI VM 기술문서 2005

37 윤석진 타겟 보드 컴파일 및 테스팅 방법 기술문서 2005

38 윤석진 에 링크방법Kaffe VM SELibrary 기술문서 2005

39 윤석진 임베디드 플랫폼의 활용Java 기술문서 2005

40 윤석진 의 사용 이해를 위한 가이드JNI 기술문서 2005

41 윤석진 임베디드 플랫폼 재사용 요구사항 정의서Java 기술문서 2005

42 윤석진 시범 프로젝트 영역 분석 및 선정 결과서 기술문서 2005

43 조진희 개발방법론 보완설계서 기술보고서 2005

44 최윤정 프로젝트 관리 및 방법론 지원도구 보고서BMT 기술보고서 2005

45 최윤정 기능 비교PMS(Project Management System) 기술보고서 2005

46 최윤정 사의 의 기능 정리Osellus IRIS Suite 기술보고서 2005

47 최윤정 개발방법론 지원도구 간의 기능 비교표 기술보고서 2005

48 최윤정 설계서 초안 검토 기록 검토보고서 2005

49 조진희 프로젝트관리활동정의서 기술문서 2005

50 조진희 품질관리활동정의서 기술문서 2005

51 하수정 의 기능구조표MS-Project 기술문서 2005

52 하수정 방법론 기반 프로젝트 수준 자산 관리 기술문서 2005

Page 161: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 157 -- 157 -- 157 -- 157 -

순번 작성자 명TDP/TM 구분 년도

53 하수정시스템 객체의 구조 변환을 통한 표율적인 시스템 자PRiME XML

원관리 플러그인 개발기술문서 2005

54 하수정 도구 개발 업체의 비교 자료PMS 기술문서 2005

55 하수정 시스템 요구사항 정의서의 사전 검토의견서PRiME 기술문서 2005

56 하수정 시스템 아키텍쳐 구성도PRiME 기술문서 2005

57 하수정 시스템 화면설계 초안PRiME 기술문서 2005

58 하수정 시스템의 시스템 아키텍쳐 프레임워크PRiME 기술문서 2005

59 하수정 시스템 아키텍처 적용 및 테스트PRiME 기술문서 2005

60 하수정 시스템의 아키텍쳐 설명서PRiME 기술문서 2005

61 하수정 시스템의 아키텍쳐 구성과 세부 기술 설명PRiME 기술문서 2005

62 최윤정 구성요소의 시스템 화면 배치SPEM PRiME 기술문서 2005

63 최윤정 개발방법론지원도구요구사항정의서 기술문서 2005

64 최윤정 개발방법론지원도구설계서 기술문서 2005

65 최윤정 시스템을 구성하고 있는 뷰 설명문서PRiME 기술문서 2005

66 최윤정 시스템 설계 초안PRiME 기술문서 2005

67 최윤정 개발방법론 지원도구 기능 목록(PRiME System) 기술문서 2005

68 이지현 을 이용한 실시간 분산 어플리케이션 설계UML 기술문서 2005

69 이지현 유럽의 임베디드 시스템 연구 개발 기구와 대표 프로젝트 소개 기술문서 2005

70 이지현Methodology for Embedded System Development based on Product

Line기술문서 2005

71 이지현 임베디드 시스템의 설계 고려 사항과 지원 기술문서 2005

72 이지현 슈어소프트웨어사의 임베디드 소프트웨어 테스트 도구 동작 체계 기술문서 2005

73 이지현 테스팅의 종류 기술문서 2005

74 이지현 의Visual Studio Unit Test 기술문서 2005

75 이지현 지원도구 비교UML 기술문서 2005

76 이지현 검증 영역 활동 프로세스 기술문서 2005

77 이지현 검증 배포 영역 활동 정의서/ 기술문서 2005

78 김진삼 년도 주요 계획 임베디드 시스템 개발 프레임워크2005 R&D - 기술문서 2005

79 김진삼 CMU SPL Practice Areas 기술문서 2005

Page 162: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

- 158 -- 158 -- 158 -- 158 -

순번 작성자 명TDP/TM 구분 년도

80 김진삼 표준화란? 기술문서 2005

81 김진삼 마르미 개발방법론 활용성과 분석-III 기술문서 2005

82 김진삼 소프트웨어 측정 개요 기술문서 2005

83 박경민 적용사례 결과물 기술문서 2005

84 박경민 일정관리 관련 엑셀 양식 기술문서 2005

85 박경민 종류 조사 자료Device 기술문서 2005

86 박경민 도구개발 자료Eclipse 기술문서 2005

87 박경민 기반 코드자동 생성자료UML2 기술문서 2005

88 박경민 방법론 및 사례개발 적용 관련 작성 메모 기술문서 2005

89 박경민 표준화관련 작성 문서OMG 기술문서 2005

90 김진삼 마르미 소개-IV기타

발표자료( )2005

91 김진삼 사업 개요 및 지원도구 개발방안기타

발표자료( )2005

92 김진삼 임베디드 프레임워크 전문가 검토-기타

발표자료( )2005

93 최윤정 의 정리CMMI Project Monitoring and Control PA 기타 2005

94 최윤정 제 회 한국정보처리학회 춘계학술대회 발표자료23기타

발표자료( )2005

95 최윤정 베트남 기술교류세미나 발표자료ETRI- PTIT기타

발표자료( )2005

96 최윤정 제 회 한국정보처리학회 추계학술대회발표자료24기타

발표자료( )2005

Page 163: 임베디드시스템개발프레임워크구축 - AMiner · 본보고서를 임베디드시스템개발프레임워크구축 연구의 최종연구개“ ” 발결과보고서로제출합니다

주 의주 의주 의주 의

본 연구보고서는 정보통신부의 출연금 등으로 수행한 정보통신연구개본 연구보고서는 정보통신부의 출연금 등으로 수행한 정보통신연구개본 연구보고서는 정보통신부의 출연금 등으로 수행한 정보통신연구개본 연구보고서는 정보통신부의 출연금 등으로 수행한 정보통신연구개1.1.1.1.

발사업의 연구결과입니다발사업의 연구결과입니다발사업의 연구결과입니다발사업의 연구결과입니다....

본 연구보고서의 내용을 발표할 때에는 반드시 정보통신부 정보통신본 연구보고서의 내용을 발표할 때에는 반드시 정보통신부 정보통신본 연구보고서의 내용을 발표할 때에는 반드시 정보통신부 정보통신본 연구보고서의 내용을 발표할 때에는 반드시 정보통신부 정보통신2.2.2.2.

연구개발사업의 연구결과임을 밝혀야 합니다연구개발사업의 연구결과임을 밝혀야 합니다연구개발사업의 연구결과임을 밝혀야 합니다연구개발사업의 연구결과임을 밝혀야 합니다....