성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و

[01 소프트웨어 구축] 04 소프트웨어 설계 본문

Diary/정보처리기사

[01 소프트웨어 구축] 04 소프트웨어 설계

hyemi_flora 2024. 4. 21. 14:40

* 설계의 종류 
계획 분석 설계 구현 테스트 유지운영을 하는데, 분석/설계단은 상위 / 구현 테스트 단은 하위설계이다.
CASE도구도 동일하게 상위 하위 나뉘면 분석설계단은 상위고, 구현 테스트단은 하위케이스도구이다.
1) 상위 설계 : 아키텍처, 데이터, 인터페이스 정의 등
2) 하위 설계 : 모듈, 자료구조, 알고리즘 
3) 협약에 의한 설계 : 선행조건, 결과조건, 불변조건
*소프트웨어 아키텍처 4+1 뷰 (농부풀배유~)
뷰는 사용자의 관점을 의미한다. 보는 관점에 따라 4가지로 나누었고 모든 것을 사용자가 사용하기 때문에 사용자 관점을 기준으로 4가지로 나눈 것 그래서 4+1이다.
1> 논리 뷰 (Logical View) : 시스템 기능적 요구사항
2> 구현 뷰 (Implementation View) : 모듈의 구성과 개발자 관점
3> 프로세스 뷰 (Process View) : 프로그램 실행 시 시스템표현
4> 배치 뷰 (Deployment View) : 시스템의 물리적 배치
5> 유스케이스 뷰 (Use Case View) : 사용자 기능. 아키텍처 설계 및 검증 주도
* 아키텍처 패턴 종류
1) 계층화 패턴 : like OSI7 계층
2) 클라이언트 서버 패턴 : 네이버서버 같은, 클라이언트가 요청하면 서버가 결과를 보여주는 것
3) 마스터 슬레이브 패턴 : 데이터만 전달하고 마스터가 모든 데이터를 정리해서 뿌려주는 것
4) 파이프 필터 패턴 : 일처리가 끝나면 다음 공정 다음 공정 순차적으로 진행
5) 브로커 패턴 : 중간에 중개인이 있어서 일을 보내 주는 것을 정리해 준다
6) 피어 투 피어 패턴 : 컴퓨터끼리 직접 연결 
7) 이벤트 버스 패턴 : like ESB
8) 모델 뷰 컨트롤러 패턴 (MVC)
9) 블랙보드 패턴 : 알려지지 않은 오류 해결할 때 사용
10) 인터프리터 패턴 : 특정언어를 이용할 때 사용
*UML (Unified Modeling Language)
- 시스템 구조와 동작을 명세하는 표준화된 모델링 언어
- 특징 : 가시화언어, 명세화언어, 구축언어, 문서화언어