Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Douglas' Space

Software System Development Methodology (SSDM) 개요 본문

Development Diary/Software System Engineering

Software System Development Methodology (SSDM) 개요

똘키아빠 2022. 5. 1. 21:51

1. Development Processes

 

SSDM은 코딩이 수행되는 구현단계를 제외하고 MIL-STD-498에서 정의된 단계 중 분석설계와 관련된 4단계로 개발단계를 정의합니다.

 

SSDM Development Processes

시스템차원에서의 분석 및 설계 단계와, 시스템 설계가 완료된 후 식별된 소프트웨어 형상관리단위인 CSCI별로 분석 및 설계를 진행합니다. 각 단계를 SSRA, SSD, SRA, SD 단계로 약어를 사용하여 지칭합니다. 그리고 전체 개발 단계에 수행되는 데이터 분석 및 설계에 해당하는 data modeling 프로세스가 존재합니다. 따라서 데이터의 경우 개발 전 단계에 걸쳐 모델링을 수행합니다. 이와 유사하게 품질보증 활동으로서 검증 및 확인 활동인 verificationvalidation 활동이 수행됩니다. SSD단계에서 소프트웨어 시스템을 구성하는 소프트웨어 구성요소(이를 CSCI- Computer Software Configuration Item이라고 함)가 식별됩니다. 따라서 그 이후부터는 식별된 다수의 CSCI별로 동시에 소프트웨어 분석 및 설계가 진행이 됩니다. 그리고 SD단계에서 CSCI의 하위 구성요소인 CSC(Computer Software Component), CSC의 하위구성요소인 CSU(Computer Software Unit)으로 분할되어 최종적으로 class 또는 procedure 단위로 구현됩니다.

 

2. Modeling Tools

 

SSDMModel-based development로서 모든 결과물이 UML도구의 데이타베이스로 저장됩니다.

본 강좌에서 사용하는 UML도구는 Sparx사의 Enterprise Architecture, 줄여서 EA라는 도구를 활용하여 SSDM에서 정의한 스테레오타입을 적용한 툴박스를 추가로 적용하여 사용합니다. 아래 보시는 화면은 EA의 화면입니다. 가장 왼쪽은 해당 모델들의 구조를 마치 OS의 파일구조와 거의 유사한 형태로 나타내고 있는 브라우저창입니다.

 

Enterprise Architecture의 예

여기서 각 폴더를 UML에서는 패키지라고 합니다.

그리고 가운데 있는 슬림한 창은 모델 다이어그램에서 작성할 도구들의 집합인 툴박스창입니다. 그리고 오른쪽은 모델을 표현한 특정 다이어그램을 나타내고 있습니다. SSDM 방법론에 따라 개발된 각 모델들은 각 단계별 기술문서에 모두 매핑되어 문서로 변환하여 사용될 수도 있습니다.

 

3. System Requirements Analysis (SSRA) Model

 

SSRA 단계에서는 6개의 시스템 분석과 관련된 모델을 개발합니다.

 

System Requirements Analysis Model 패키지

첫째는 system state model입니다. 모든 무기체계는 체계의 상태와 모드를 분석하여 정의하여야 합니다. System state model 이러한 체계의 상태 및 모드를 분석한 모델을 포함합니다. 둘째, system context model은 시스템 외부환경과의 입출력을 분석하여 시스템 범위를 결정하는 모델입니다. 셋째, system capability model은 시스템의 기능적인 요구사항을 분석한 모델을 포함합니다. 넸째, system interface model은 시스템의 외부 및 내부의 인터페이스에 대한 모델을 포함합니다. 다섯째, system quality비기능 요구사항에 대한 모델을 포함합니다. 마지막 system constraints는 사용자가 요구하는 제약사항으로 표현한 모델입니다. 결론적으로 SSRA단계에서는 시스템의 요구사항을 분석하여 모델링하는 단계입니다.

 

4. System Design (SSD) Model

 

시스템 설계 단계는 시스템의 기능 요구사항을 기반으로 비기능  요구사항을 만족하도록 하드웨어와 소프트웨어의 구성요소와 이들 간의 관계를 식별합니다.

 

System Design Model 패키지

Design decision은 비기능요구사항을 만족하기 위해 어떻게 각 구성요소를 설계할 것인가에 대해 대안이나 그 방법을 정의하는 decision model을 포함합니다. 첫번째, HW architecture modelHW구성요소와 이들 간의 관계를 나타내는 모델을 포함합니다. 두번째,  SW architecture modelSW구성요소인 CSCI와 이들 간의 관계를 나타내는 모델을 포함합니다. 세번째, system architecture model은 하드웨어에 최종적으로 소프트웨어가 배치되어 최종 HWSW의 통합된 system의 구조를 나타내는 모델을 포함합니다. 네번째, system component definition model은 설계한 소프트웨어 구성요소에 대한 세부적인 사항을 정의한 모델을 포함합니다. 다섯번째, system component interface model은 소프트웨어 구성요소들의 인터페이스들의 세부적인 사항을 정의한 모델을 포함합니다. 마지막, system behavior model은 분석단계에서 정의한 기능들을 어떻게 각 구성요소가 협업하여 실행되는지 설계한 동적모델을 포함합니다.

 

5. Software Requirements Analysis (SRA) Model

 

소프트웨어 분석단계는 그 활동이 시스템분석단계와 동일합니다. 다만 다른 점은 그 범위가 특정 소프트웨어 형상관리항목인 computer software configuration item,CSCI별로 진행이 된다는 것입니다. 따라서 각 CSCI별로 작성이 되지만 그 내용과 방법은 시스템분석단계의 모델과 동일하게 포함됩니다

 

Software Requirements Analysis Model 패키지

그림의 예제에서 CSCI definition model이라는 폴더 아래 각 CSCI별로 시스템분석모델과 동일한 6가지의 분석모델이 포함되는 구조로 정의됩니다. CSCI의 개수에 따라 해당 CSCI 폴더의 수가 존재하게 됩니다. 본 그림에서는 ATS-CSCI에 대한 CSCI의 분석모델을 포함하고 있습니다. 폴더구조에서 맨 마지막에 있는 CSCI interface modelCSCI간의 공통적인 인터페이스를 정의하기 때문에 CSCI definition model과 같은 레벨로 SRA 모델 바로 아래의 폴더로 구성되어 있습니다.

 

4. Software Design (SD) Model

 

소프트웨어 설계단계는 그 활동이 시스템설계단계와 조금 다르지만 개념은 매우 유사합니다.

시스템설계는 여러 CSCI의 전체적인 구조, architecture 수준의 설계를 수행하며, 소프트웨어 설계는 CSCI를 구성하는 computer software componentCSC, CSC를 구성하는 computer software unitCSU와 같은 하위 구조를 설계합니다. 따라서 시스템의 구조인 architecture와 구별하여 Structure라는 용어를 사용하였습니다.

 

Software Design Model 패키지

Design decision이 있는 것은 동일합니다. 다만 다른 점은 그 범위가 특정 소프트웨어 형상관리항목인 CSCI별로 진행이 된다는 것입니다.  CSCI 설계에서는 CSC, CSU의 구조를 포함하는 각 structure model이 정의 되고, 이들 간의 동적실행모델인 behavior 모델이 각각 포함되어 있습니다.

 

5. Data Model

 

데이터 모델은 시스템에서 사용할 모든 데이터를 분석하고 설계한 내용을 포함하는 모델입니다.

 

Data Model 패키지

시스템에서 사용하는 데이타들은 인터페이스, information flow, 그리고 저장해야 할 파일이나 데이타베이스 등에 사용됩니다. 첫째, data type model은 데이터의 타입을 정의한 모델입니다. 데이타타입은 프로그램에서 변수를 선언할 때 사용하는 그 데이타타입과 동일한 내용입니다. 기본적인 primitive data type을 제외한 시스템에서 사용할 모든 데이터타입을 정의합니다. 둘째, data conceptual model은 물리적인 제약사항과 무관한 논리적으로 시스템에서 상태로서 저장할 데이터 및 그 관계를 포함한 모델입니다. 셋째, data physical model은 실제 적용할 데이터 미들웨어를 기준으로 물리적 제약사항이 적용된 모델로서, data의 설계 모델이라고 할 수 있습니다.

'Development Diary > Software System Engineering' 카테고리의 다른 글

미래의 지능형 시스템 개발 고려사항  (0) 2023.06.05
Requirements 란?  (0) 2022.04.30
Modeling이란  (0) 2022.04.30
Software (System) Development Methodology  (0) 2022.04.30
Comments