목록Computer Science/Software Engineering (3)
The Boxer
[UML]Unified Modeling Language : 통합 모델링 언어 여기서 모델링이란 소프트웨어를 실제로 만들기 전에 미리 검증하는 것입니다.이는 개발 프로세스중 설계 단계에서 진행하며 의사소통 논의, 전체 구조 및 클래스 의존 파악, 유지보수 문서 생성을 위해 사용합니다. [클래스 다이어그램(Class Diagram)]UML은 크게 개념, 명세, 구현의 목적에 따라 다르게 사용됩니다. - 개념 : 문제 도메인의 구조를 나타내며 도메인 안에 있는 개념을 기술하기 위한 것.- 명세, 구현 : 소프트웨어의 설계 혹은 완성된 소프트웨어의 구현 설명을 목적으로 작성되며, 소스코드와 관계가 깊습니다.이제부터 다룰 클래스 다이어그램은 명세, 구현 차원에서 사용되며 실제 소스코드를 토대로 작성됩니다.클래스 ..
[디자인 패턴(Design Patter)] 소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 다시 발생했을 때 재사용 할 수 있는 해결책 기존의 소프트웨어 설계 단계에서 해결했던 문제를 정립하여 다시 그 문제가 발생했을 때 재사용 하기 위한 방법입니다. 각기 다른 소프트웨어 모듈이나 기능을 가진 시스템을 개발할 때도 서로 간에 공통되는 문제와 해결책이 존재합니다. 이런 유사점을 패턴이라고 합니다. 패턴을 정립하여 공통의 언어를 만들면 팀원 사이에 의사 소통이 원활해지며 코드를 이해하기도 쉬워집니다. [디자인 패턴의 구조]- 콘텍스트(Context) : 문제가 발생하는 상황. 패턴이 적용될 수 있는 상황.- 문제(Problem) : 패턴이 적용되어 해결될 필요가 있는 여러 디자인 이슈...
[아키텍처 패턴(Architecture Pattern)]정의 : 주어진 상황의 소프트웨어 구조에서 발생하는 문제점을 해결하기 위한 일반화된 재사용 가능한 솔루션 아키텍처 패턴은 디자인 패턴보다 더 큰 범주에 속해 있으며 소프트웨어의 전체적인 그림을 만드는 솔루션이라 할 수 있습니다.기존에 아키텍처 패턴이 정립되지 않고 설계를 하다 보니 개발자간 소스 파악이 너무 힘들고 약속이 제대로 되지 않았습니다. 아키턱처 패턴은 소프트웨어 설계의 기본이며 자주 사용되는 모형들을 정립한 하나의 약속이라고 볼 수 있습니다.이번 포스팅에서는 기본적으로 자주 사용되는 몇 가지 아키텍처 패턴을 다뤄보겠습니다. [계층화 패턴(Layer Pattern)]- n-티어 아키텍처 패턴으로도 불립니다. - 하위 모듈을 그룹으로 나눌 수..