About Essence

Essence에서 추구하는 SW공학이론의 체계는 다음과 같이 커널, 언어, 프랙티스, 방법론으로 구성됨.

그림1

 

Kernel

  • Kernel은 모든 SW개발에 공통적인 필수요소인 요소객체(Alpha), 요소활동(Activity) 및 요소역할(Competency)로 구성됨.
  • SW공학의 알파(Alpha)는 여러 상태(State)를 거쳐 변화할 수 있으며, 특정 알파가 특정 상태에 도달했는지 판단할 수 있는 상세 기준이 제공됨.
  • SW공학의 커널은 구체적인 Activity를 명시할 수 있도록 Activity Space를 제공함.  Activity는 특정 알파의 상태를 변환(State Transition)시킴.

그림2                                           그림3

 

Practice

  • 프랙티스들은 커널의 구성요소(Kernal Elements)인 요소객체, 요소활동, 요소역할들로 표현됨.
  • 끊임없이 나타나는 혁신적인 SW공학 프랙티스들을 SW공학의 본질적인 필수 요소 및 그에 관한 이론체계를 통해 정의함으로써, 상이한 프랙티스들을 비교 가능(중복성, 상이점, 보완성 등 분석 가능)하게 하고 , 체계적으로 조립할 수 있도록 하고, 상이한 프랙티스들이 조립된 방법론 안에서 어떻게 상호작용하면서 SW프로젝트의 목적을 달성하는지 명확히 규명할 수 있게 함.

그림4                                           그림5

 

Method

  • 특정 SW프로젝트에 적용하는 방법론은 프랙티스의 조합으로 구성됨.

Language

  • Level 0~Level 3의 4단계 메타계층을 갖는 언어체계임.

– Level 3: 메타클래스, 클래스 간 관계 등 메타언어(Meta Language)
– Level 2: Apha, Activity 등 언어요소(Language Construct)
– Level 1: SW요구사항, 유스케이스 식별 등 커널 또는 프랙티스 표현
– Level 0: 특정 SW프로젝트의 방법론 표현

  • SW공학 도메인에 특화된 언어(Domain-Specific Language)로서, 심볼 및 다이아그램을 포함하는 도형문법(Graphical Syntax)과 문자문법(Textual Syntax)을 정의함.

아래의 참고문헌을 참조하기 바람.

Ivar Jacobson, Introduction to Essence:

Ed Seidewitz, Applying Essence in Practice:

June Sung Park, Essence Kernel-Based Enterprise Method Architecture:

Ivar Jacobson et al., The Essence of Software Engineering: The SEMAT Kernel, Communications of the ACM, Vol 55, No 12, Dec. 2012:

9691

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s