저는 시스템 개발의 기획부터 운영, 유지보수까지 여러 차례 참여했는데, 여기서 유용한 정보를 공유하고 싶습니다. 아키텍처 설계 프로세스는 크게 요구사항 분석과 시스템 설계의 두 단계로 나눌 수 있습니다.
이 단계의 목적은 요구사항 분석을 수행하고 시스템의 논리적 모델을 공식화하는 것입니다. 요구사항은 기능적 요구사항과 비기능적 요구사항으로 나눌 수 있습니다. 기능적 요구사항은 주로 비즈니스 로직이고, 비기능적 요구사항은 운영 환경, 정보 보안, 결함 진단 등과 같은 비즈니스 이외의 요구사항입니다. 기능적 요구 사항은 사용 사례 다이어그램과 같은 시각적 도구를 사용하여 달성할 수 있습니다. 비기능적 요구사항에는 많은 기술이 포함되며 보편적인 구조화된 방법이 없습니다. 일반적으로 유사한 시스템의 경험을 참고할 필요가 있습니다. 이 부품의 설계 결과는 구성도를 사용하여 시각화할 수 있습니다. 기능적 요구사항과 비기능적 요구사항을 완료한 후 요구사항의 두 부분을 통합할 수 있습니다. 특히 시스템 구성을 기반으로 각 사용 사례에 맞게 논리적 프로세스를 설계합니다.
이 단계의 목표는 요구사항 분석 단계에서 수립한 논리적 모델을 물리적 아키텍처로 변환하는 것입니다. 첫째, 네트워크, 서버, 운영 체제, 데이터베이스, 다양한 서비스 프로그램 운영 환경을 논리적 구성에 따라 선택하고 하위 시스템을 분리해야 합니다. 하위 시스템을 결정한 후 각 하위 시스템에 대한 프로그래밍 언어 및 아키텍처 모듈(예: Struts)을 선택할 수 있습니다. 하위 시스템 아키텍처를 결정한 후 프로그램 구조를 설계할 수 있습니다. 프로그램 구조 설계에는 유스 케이스 다이어그램에서 트랜잭션 추출, 논리 시퀀스 다이어그램에서 논리 클래스 추출, 각 논리 클래스를 각 물리적 구성에 배포, 물리적 클래스 결정 및 물리적 시퀀스 설계가 필요합니다. 마지막으로 타이밍 다이어그램에서 물리적 클래스를 추출하여 클래스의 기능에 따라 구성하고 설계 패턴을 선택하여 구현에 필요한 다양한 클래스 정의를 보완하고 클래스 다이어그램을 작성할 수 있다. 이로써 건축 설계가 완료됐다.