Writer: Harim Kang
SW 설계에 관한 가이드라인을 글로 수록합니다. 해당 내용은 지능형 시스템(Intelligent System) 설계를 위한 가이드라인을 포함하고 있습니다.
앞서 소프트웨어 설계의 순서를 파악하시고자 한다면 다음의 링크를 통해 보고 와주세요!
2019/12/13 - [IT/SW Architecture] - 소프트웨어를 설계하는 방법 (1) - 설계 소개 및 순서
Data Component들과 Database들의 설계를 위한 순차적인 Guideline이다.
Context-level의 Class Diagram을 그리는 단계이다. Persistent object classes들이 추가, 수정 제거 되는 것을 포함한다.
Refine the class diagram
Define essential attributes for each class
Persistent datasets relevant to ML models
작성 요령
너무 큰 단위로 데이터 범위를 잡거나, 너무 작은 범위로 잡지 않고 명확한 데이터들을 정의한다.
Class 하나 하나를 데이터 베이스라고 생각해도 무방하다.
Ex
Ex. Smart Mirror System
TODO : Class Diagram 관련 설명
Inter-class간의 관계에 strength를 고려하여 Group를 만드는 단계이다.
ML 관련 Dataset을 따로 Group화 한다.
Strengths between classes
Data Component의 내부적인 사항들을 구체화하기 위한 단계이다.
Object-Relational Mapping for Relationship DB
각각의 class/component 마다 Mapping(DB와 데이터를 맞추는 작업)을 위해 CRUD Method를 정의해 준다.
dbCreatObj(..);
해당 method는 constructor(생성자)에서 실행한다. DB table에 새로운 record를 만든다.
dbRetrieveObj(..);
해당 method는 instance를 메인 메모리에 생성하고, DB table에서 object를 찾아서 instance에 부여한다.
dbUpdateObj(..);
set method에서 실행된다. 값을 수정한다.
dbDeleteObj(..);
Destructor(파괴자)에서 실행된다. 값을 삭제한다.
For Non-relationship DB : NoSQL, Memory DB, Cloud Storage
TODO : 구체적 작성 필요
각각의 Data Component들에 대해 interface를 정의하는 단계이다.
각 class의 public method를 고려해야한다.
Fassade-type interface를 정의한다.
각각의 class들의 method를 정의한다.
class 내부의 persistent attribute들을 고려한다.
Persistent DB의 CRUD 실행을 고려한다.
이번 포스팅은 Data와 관련된 Informational view point 설계 순서를 알아봤습니다. 다음은 사용시 행동과 관련된 관점에서의 설계인 Behavior view 설계 디자인 방법에 대해 알아보겠습니다.
2019/12/14 - [IT/SW Architecture] - 소프트웨어를 설계하는 방법 (5) - Design with Behavior Viewpoint
소프트웨어 생명 주기 (Software Life Cycle) (0) | 2020.02.04 |
---|---|
소프트웨어를 설계하는 방법 (5) - Design with Behavior Viewpoint (0) | 2019.12.14 |
소프트웨어를 설계하는 방법 (3) - Design with Functional Viewpoint (0) | 2019.12.13 |
소프트웨어를 설계하는 방법 (2) - Skeleton Architecture Design (0) | 2019.12.13 |
소프트웨어를 설계하는 방법 (1) - 설계 소개 및 순서 (0) | 2019.12.13 |