Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 다크모드
- 스레싱
- 3-way handshake
- modebit
- redis
- 페이징 교체 알고리즘
- 선언형
- 프록시패턴
- 럼바우
- 프로그래머스 데브코스
- 링크계층
- 절차형
- CPU 스케줄링
- 다단계 큐
- 인터넷계층
- 프로젝트 계확
- M/M
- 개발 모델
- 관계형 데이터베이스
- 처리량
- 지연시간
- 노출모듈패턴
- 4-way handshake
- PERT/CPM
- MVVM
- MongoDB
- 메모리
- 함수형
- 요구사항 분석
- nosql
Archives
- Today
- Total
노트
소프트웨어 설계의 기본 원칙 본문
1. 소프트웨어 설계
!) 개념
- 요구사항 명세서를 참조하여 소프트웨어의 구체적인 설계서를 작성하는 단계 (SW Architechture)
- 물리적으로 구현이 가능하도록 시스템을 구체적으로 정의하는 단계 (System Architechture)
2) 종류
상위 설계
- 아키텍처 설계: 시스템의 전체적인 구조 설계
- 데이터 설계: 시스템에 필요한 정보, DB 설계
- 인터페이스 정의: 시스템의 구조와 서브 시스템들 사이의 인터페이스를 명확히 정의
- 사용자 인터페이스: 익숙하고 편리하게 사용하도록 인터페이스 설계
하위 설계
- 모듈 설계: 각 모듈의 실제적인 내부를 알고리즘 형태로 표현
- 자료구조 설계: 자료구조, 변수 등에 대한 상세한 정보
- 알고리즘 설계: 업무의 처리 절차 등
3) 설계 원리
- 분할과 정복(Divide & Conquer): 여러 개의 작은 서브 시스템으로 나누어 하나씩 완성
- 추상화(Abstraction): 필수 정보만 추출, 강조, 관련 없는 세부 사항은 생략해 본질적인 문제에 집중, 자세한 구현 전에 상우레벨에서 제품의 구현을 먼저 생각해 보는 것
- 단계적 분해(Gradual Decomposition): 기능을 작은 단위로 나누어 점차적으로 구체화
- 모듈화(Modulization): 실제로 개발할 수 있는 작은 단위로 나눔
- 정보 은닉(Information Hiding): 다른 객체에게 자신의 정보를 숨기고, 자신의 연산만을 통해 접근 가능, 외부 접근 제어, 캡슐화와 밀접한 관련이 있음.
2. 설계 모델링
1) 개념: 소프트웨어를 구성하는 모듈을 식별, 이들의 연결을 그림으로 표현한 것,
2) 유형
- 구조 모델링: 시스템의 구성 요소들과 이들 사이의 구조적인 관계오 특성들의 모델링, UML 정적 다이어그램
- 행위 모델링: 시스템의 구성 요소들이 언제 어떤 순서로 수행되는가와 같은 동적 특성의 모델링, UML 동적
'정보처리기사 정리' 카테고리의 다른 글
2 데이터 입출력 구현 - 2 (0) | 2024.04.16 |
---|---|
2 데이터 입출력 구현 (0) | 2024.04.16 |
요구사항 모델링 (0) | 2024.04.13 |
요구사항 분석 (0) | 2024.04.12 |
프로젝트 계획 (0) | 2024.04.12 |