본문 바로가기

개발 Note/it 이야기

Feature modeling - 아직 정리되지 않은 주제.

반응형
<세미나 내용>


Feature Modeling Guideline


[배경 설명]

[RUP]-Rational Unified Process

User와 System간의 상호작용을, Usecase 로 표현하고, Usecase내에서 객체를 추출하는 방법을 예기하고 있다.

하나의 Usecase에서는 적어도 Inteface class와 Object, 그리고 일반 데이타에 해당하는 Entity Object 이 발생된다.(기본 공식과도 같다고함)
 -> 이말은 반대로 예기하면 Usecase를 작성해놓고 Interface class 와 object ,entity object 를 축축 할 수 없다면 잘못된 usecase라고 생각해야 할지도 모른다.즉, 제 검토가 필요하다.


[OOAD]
  -UML Notation
  -RUP(Usecase diagram)
=>"재사용"
(class 모듈 단위)
=> Framework 
( Design pattern
)
(IT와는 잘맞고 적합하다.)
=> Business logic 단위로 재사용
(Component Based Development)



IT와 SOA 가 달라서 다른 디자인이 필요하게됨..
-> "제품군 단위로 제사용을하자" 

- Product Line Engineering : Nokia /...

- 공통적으로 Architecture
S/W Platform : 제품군 + Scopping => Samsung 




S/W Platform   -  공통 가변 설계 (50%이상)  <- 제품군의 공통 가변 식별 <- Featrue Model 기법

Domain - 제품군으로 보면 된다.


[UML과 Feature model의 차이]
UML Usecase  --> Requirement Eng.(Analysis)   단위 Target Sys
       '사용자'

Feature
       사용자 관점 + Architect + 개발자  --> Domain Eng.(Analysis)     Product Line

       Feature 관점에서 나오는 모듈이나 요구사항들은 사용자 Level에서 이해가 가지 않는 부분들 많다.
       따라서, Feature model를 추진할때는 Domain Knowlage 를 가진 개발자들이 참여해야한다.


객체지향에서는 
Object type   <<Entity>> /   <<Boundry>> /   <<Control>> 
Feature model에서는
Feature type   <<Mandantoy>> /   <<Optional>> /   <<Alternative>> 



Feature Based Platform Develop Method
                        [방법론 가이드]
                    <강 교 철 교수 Postech >

Feature-Oriented Product Line Software Engineering
  Feature 기반 재사용 방법론


도메인 분석을 하고 어떻게 설계 구현을 해나가야 하나.



Feature Based Platform Develop Method
   (Samsung . Platform 설계 방법)

S/W Patform    -> Forward    - 완전히 새로 시작할때      
                     -> Re-Eng.    - 기존 s/w가 있는 상황에서 개발이 될때.
                    -- 방법의 차이는  Legacy 가 있냐 없냐의 차이가 있다.

--> 미완성 테그

Feature Identification & Analysis 

Behavior Analysis 
Platfrom building Platofrm design & Evaluation
가변 설계 --> 
이걸로 안되기 때문에  -->
QAW
Quality attribute 식별
Scenario 도출 및 상세화 
Architecture decision 도출
플렛폼 아키텍쳐 설계
Static view /Dynamic view
부품등록




아키텍쳐 : 시스템을 구성하는 기본단위인 컴포넌트와 이러한 컴포넌트를 어떻게 연결되어있는지 파악할수 있는 커넥터로 표현한것,
아키텍쳐 사상:               
<--

[Architecture modeling procedure]
Step 1. 아키텍쳐 구조 기본이 될 Layer선정
Step 2. Feature모델로부터 아키텍쳐 말단 구성 요소인 class 선정
Step 3. 동일 Layer하에서의 Shared data선정
Step 4. Later간 통신을 위해 Interface Mechanizm 구성
Step 5. 아키텍쳐 말단 구성 요소인 class간의 관계 설정
Step 6. Subsystem 수중의 관리를 위해 class를 package 화
    - 관련성 있는 .c 파일을 어떻게 관리할건가.
Step 7. 서비스 제공을 위한 Package Interface 설정
Step 8. 전체 시스템 구조를 Package들간의 관례로 구성


- detail
Step 2. Feature model로 부터 아키텍쳐 말단 구성 요소인 class 선정
   Feature model로 부터 optional/ Alternative Feature 들을 분리하여 독립 class로 선정.
       - 초기에 설계할때 가변부 파일들은 각각 분리 한다.

Static Architecture Design Principle


FORM ( Feature oriented reuse method)

'개발 Note > it 이야기' 카테고리의 다른 글

UI Modal 컨셉  (0) 2009.01.06
C++ 상에서 발생하는 name mangling 에 관한 내용  (15) 2009.01.04
Refactoring  (0) 2009.01.04
S60 platform architecture  (0) 2009.01.04
S60 Webkit & Nokia Browser architecture  (0) 2009.01.04