소프트웨어 아키텍처 문서 개정 히스토리
소프트웨어 아키텍처 문서 소개![]() 1.1 목적이 문서에서는 시스템의 다른 관점을 묘사하는 다른 아키텍처 보기를 사용하여 시스템의 총체적인 아키텍처 개요를 제공합니다. 시스템에서의 명확한 이전 아키텍처 결정을 캡처하고 제공하는 것이 목적입니다. 1.2 범위이 소프트웨어 아키텍처 문서는 수강 신청 시스템에 대한 아키텍처 개요를 제공합니다. 수강 신청 시스템은 Wylie College에서 온라인 수강 신청을 지원하기 위해 개발하고 있습니다. 이 문서는 Rose로 구현된 수강 신청 분석 및 디자인 모델에서 직접 생성되었습니다. 대부분의 섹션은 SoDA 및 소프트웨어 아키텍처 문서 템플리트를 사용하여 Rose 모델에서 추출되었습니다. 1.3 용어의 정의용어집 [4]를 참조하십시오. 1.4 참조
![]()
![]()
![]() 4.1 아키텍처 측면에서 중요한 유스 케이스 다이어그램 이름: 아키텍처 측면에서 중요한 유스 케이스
4.1.1 신청 마감 간략한 설명: 이 유스 케이스를 사용하면 학적 담당자가 수강 신청 프로세스를 마감할 수 있습니다. 학생 수가 충분하지 않은 과정 오퍼링은 취소됩니다. 과정 오퍼링당 최소 학생 수는 세 명입니다. 취소되지 않은 각 과정 오퍼링의 각 학생에 대한 정보가 청구 시스템에 통지되어 학생이 해당 과정 오퍼링에 대한 청구를 통지 받을 수 있습니다. 이 유스 케이스의 주 액터는 학적 담당자입니다. 청구 시스템은 이 유스 케이스와 관련된 액터입니다. 4.1.2 로그인 간략한 설명: 이 유스 케이스는 사용자가 수강 신청 시스템에 로그인하는 방법에 대해 설명합니다. 이 유스 케이스를 시작하는 액터는 학생, 교수 및 학적 담당자입니다. 4.1.3 교수 정보 유지보수 간략한 설명: 이 유스 케이스를 사용하면 학적 담당자가 등록 시스템에서 교수 정보를 유지보수할 수 있습니다. 이 유스 케이스에는 시스템에 교수 추가, 수정 및 삭제가 포함됩니다. 이 유스 케이스의 액터는 학적 담당자입니다. 4.1.4 개설 과정 선택 간략한 설명: 이 유스 케이스를 사용하면 교수가 자신이 현재 담당하거나 다음 학기에 개설할 과정의 과정 카탈로그에서 과정 오퍼링(날짜 및 시간 특정 과정 제공)을 선택할 수 있습니다. 이 유스 케이스를 시작하는 액터는 교수입니다. 과정 카탈로그 시스템은 이 유스 케이스의 액터입니다. 4.1.5 수강 신청 간략한 설명: 이 유스 케이스를 사용하면 학생이 현재 학기에 대해 수강 신청할 수 있습니다. 학생은 또한 학기 초 추가/삭제 기간에 변경사항이 발생한 경우 과정 선택사항을 수정 또는 삭제할 수 있습니다. 청구 시스템에는 모든 등록 갱신사항이 통지됩니다. 과정 카탈로그는 현재 학기의 모든 과정 오퍼링에 대한 목록을 제공합니다. 이 유스 케이스의 주 액터는 학생입니다. 과정 카탈로그 시스템은 이 유스 케이스의 액터입니다. 4.1.6 성적표 보기 간략한 설명: 이 유스 케이스를 사용하면 학생이 자신이 이전에 수강한 학기의 성적표를 볼 수 있습니다. 이 유스 케이스의 액터는 학생입니다. 4.1.7 성적 제출 간략한 설명: 이 유스 케이스를 사용하면 교수가 이전 학기에서 완료된 하나 이상의 수업에 대한 학생 성적을 제출할 수 있습니다. 이 유스 케이스의 액터는 교수입니다. 4.1.8 학생 정보 유지보수
![]() 아키텍처의 논리 보기에 대한 설명. 가장 중요한 클래스, 서비스 패키지 및 서브시스템 내 해당 조직과 이러한 서브시스템의 계층 구성에 대해 설명합니다. 또한 아키텍처의 동적 측면과 같이 가장 중요한 유스 케이스 실현(realization)에 대해 설명합니다. 아키텍처 측면에서 중요한 클래스, 서브시스템, 패키지 및 계층 간의 관계를 보여주는 클래스 다이어그램이 포함될 수 있습니다. 수강 신청 시스템의 논리 보기는 세 가지 기본 패키지(사용자 인터페이스, 비즈니스 서비스 및 비즈니스 오브젝트)로 구성됩니다. 사용자 인터페이스 패키지에는 액터가 시스템과 통신하기 위해 사용하는 각 양식의 클래스가 포함됩니다. 로그인, 스케줄 유지보수, 교수 정보 유지보수, 과정 선택, 성적 제출, 학생 정보 유지보수, 신청 마감 및 성적표 보기를 지원하는 경계 클래스가 있습니다. 비즈니스 서비스 패키지에는 재무 시스템과의 상호작용, 학생 등록 제어 및 학생 평가 관리를 위한 제어 클래스가 포함됩니다. 비즈니스 오브젝트 패키지에는 대학교 아티팩트(예: 과정 오퍼링, 스케줄)의 엔티티 클래스와 과정 카탈로그 시스템과의 상호작용을 위한 경계 클래스가 포함됩니다.
5.1.1 응용프로그램 계층 이 응용프로그램 계층에는 사용자에게 표시되는 응용프로그램 화면을 나타내는 모든 경계 클래스가 있습니다. 이 계층은 분리된 중간 티어의 클라이언트를 연결하는 프로세스 오브젝트 계층에 의존합니다. 5.1.2 비즈니스 서비스 계층 비즈니스 서비스 프로세스 계층에는 응용프로그램 동작을 구동하는 유스 케이스 관리자를 나타내는 모든 제어기 클래스가 있습니다. 이 계층은 클라이언트와 중간 티어 간 경계를 나타냅니다. 비즈니스 서비스 계층은 분리된 중간 티어의 클라이언트를 연결하는 프로세스 오브젝트 계층에 의존합니다.
계층 미들웨어 계층은 관계형 DBMS 및 OODBMS에 대한 액세스를 지원합니다.
![]() 아키텍처의 프로세스 보기에 대한 설명. 시스템 실행과 관련된 타스크(프로세스 및 스레드), 해당 상호작용 및 구성에 대해 설명합니다. 또한 타스크에 대한 오브젝트 및 클래스 할당에 대해 설명합니다. 프로세스 모델은 실행 가능 프로세스로서 구성된 수강 신청 클래스를 보여줍니다. 학생 등록, 교수 기능, 신청 마감과 외부 재무 시스템 및 과정 카탈로그 시스템에 대한 액세스를 지원하는 프로세스가 있습니다.
다이어그램 이름: 프로세스 6.1.1 CourseCatalogSystemAccess 이 프로세스는 레거시 과정 카탈로그 시스템에 대한 액세스를 관리합니다. 이 프로세스는 수강 신청하는 여러 사용자가 공유할 수 있으며 이를 통해 최근에 검색한 과정 및 오퍼링을 캐싱하여 성능을 향상시킬 수 있습니다. CourseCatalog 프로세스의 별도 스레드인 CourseCache 및 OfferingCache는 레거시 시스템에서 비동기식으로 항목을 검색하는 데 사용됩니다. 분석 메커니즘: - 레거시 인터페이스 요구사항 추적성: - 디자인 제한조건: 시스템이 기존 레거시 시스템(과정 카탈로그 데이터베이스)과 통합됩니다.
6.1.2 CourseCatalog 이전 학기의 과정 및 과정 오퍼링을 포함하여 대학교에서 제공하는 모든 과정 및 과정 오퍼링의 완전한 카탈로그 이 클래스는 어댑터 기능을 수행합니다(감마(Gamma) 패턴 참조). 즉, 서브시스템의 ICourseCatalog를 통해 CourseCatalogSystem에 액세스할 수 있는지 확인합니다.
6.1.3 CourseRegistrationProcess 현재 수강 신청하는 각 학생에 대해 해당 프로세스의 인스턴스가 하나씩 있습니다.
6.1.4 RegistrationController 이 프로세스는 학생이 현재 학기에 대해 수강 신청할 수 있도록 허용하는 유스 케이스를 지원합니다. 학생은 또한 학기 초 추가/삭제 기간에 변경사항이 발생한 경우 과정 선택사항을 수정 또는 삭제할 수 있습니다. 분석 메커니즘: - 분배
6.1.5 StudentApplication 사용자 인터페이스 처리 및 비즈니스 프로세스와의 조화를 포함하여 학생 기능을 관리합니다. 현재 수강 신청하는 각 학생에 대해 해당 프로세스의 인스턴스가 하나씩 있습니다.
6.1.6 MainStudentForm 학생 응용프로그램의 인터페이스를 제어합니다. 학생이 사용하는 양식의 집합을 제어합니다.
6.1.7 BillingSystemAccess 이 프로세스는 외부 재무(청구) 시스템과 연결되어 학생 청구를 시작합니다.
6.1.8 CloseRegistrationProcess 신청 마감 프로세스는 신청 기간 종료 시점에서 시작됩니다. 이 프로세스는 재무 시스템에 대한 액세스를 제어하는 프로세스에 연결됩니다.
6.1.9 BillingSystem 재무 시스템은 현재 학기의 학생을 위해 등록한 과정에 대한 학생 청구서 제출을 지원합니다. 분석 메커니즘: - 레거시 인터페이스
6.1.10 CloseRegistrationController 신청 마감 제어기는 재무 시스템에 대한 액세스를 제어합니다. 분석 메커니즘: - 분배
다이어그램 이름: 요소 디자인 프로세스 6.2.1 CourseCache
6.2.3 과정 과정에 대한 특정 오퍼링(요일 및 시간 포함) 분석 메커니즘: - 지속성 - 레거시 인터페이스
6.4 구현 프로세스 다이어그램: 구현 프로세스
* Remote 인터페이스는 모든 원격 오브젝트를 식별합니다. 모든 원격 오브젝트는 이 인터페이스를 직간접적으로 구현해야 합니다. 원격 인터페이스에서 지정된 방법만 원격으로 사용할 수 있습니다. * 구현 클래스는 원하는 수의 원격 인터페이스를 구현할 수 있으며 기타 원격 구현 클래스를 확장할 수 있습니다. 6.4.2 Runnable * Runnable 인터페이스는 해당 인스턴스가 스레드에 의해 실행되는 클래스가 구현해야 합니다. 이 클래스는 run 인수가 없는 메소드를 정의해야 합니다. * 이 인터페이스는 활성 상태에서 코드를 실행하려는 오브젝트에 공통 프로토콜을 제공하도록 디자인되었습니다. 예를 들어, Runnable은 Thread 클래스로 구현됩니다. * 활성 상태는 스레드가 시작되고 아직 중지되지 않은 상태를 의미합니다.
* thread는 프로그램의 실행 스레드입니다. JVM(Java Virtual Machine)을 사용하면 응용프로그램이 동시에 여러 스레드를 실행할 수 있습니다. * 모든 스레드에는 우선순위가 있습니다. 우선순위가 높은 스레드가 우선순위가 낮은 스레드보다 먼저 실행됩니다. 각 스레드는 또한 디먼으로 표시되거나 표시되지 않을 수 있습니다. 일부 스레드에서 실행되는 코드가 새 Thread 오브젝트를 작성하는 경우, 새 스레드의 우선순위는 먼저 작성 스레드의 우선순위와 동일하게 설정되며, 작성 스레드가 디먼인 경우에만 이 스레드는 디먼 스레드입니다.
7. 배치 보기 아키텍처의 배치 보기에 대한 설명은 가장 일반적인 플랫폼 구성의 다양한 실제 노드에 대해 설명합니다. 또한 프로세스 보기에서 실제 노드에 타스크를 할당하는 작업에 대해 설명합니다. 이 섹션의 구성은 실제 네트워크 구성입니다. 각 구성은 배치 다이어그램과 각 프로세서에 대한 프로세스 맵핑으로 표시됩니다. 다이어그램 이름: 배치 보기 학생이 인터넷 전화 접속을 통해 학교 서버에 연결된 외부 데스크탑 PC를 사용하여 수강 신청합니다. 학생이 LAN을 통해 학교 서버에 직접 연결된 로컬 데스크탑 PC를 사용하여 수강 신청합니다. 이러한 로컬 PC는 교수가 과정을 선택하고 학생 성적을 제출하는 데도 사용됩니다. 학적 담당자는 이러한 로컬 PC를 사용하여 학생 및 교수 정보를 유지보수합니다. 등록 서버는 캠퍼스의 주 UNIX 서버입니다. 모든 교수와 학생은 캠퍼스 LAN을 통해 이 서버에 액세스합니다. 과정 카탈로그 시스템은 전체 과정 카탈로그가 포함되는 레거시 시스템입니다. 이 시스템은 학교 서버 및 LAN을 통해 사용할 수 있습니다. 청구 시스템(재무 시스템이라고도 함)은 매학기마다 학생 청구서를 생성하는 레거시 시스템입니다.
![]()
![]()
|
|