수강 신청 시스템

소프트웨어 아키텍처 문서
버전 1.0

개정 히스토리

날짜

버전

설명

작성자

1999년 3월 21일 1.0 Rational SoDA 템플리트 및 Rational Rose 모델을 사용하여 소프트웨어 아키텍처 문서가 생성되었습니다. S. Johnson
 
 
 
 
 
 
 
 
 
 
 
 

 

 

목차페이지 맨 위로 이동합니다.

1.   소개

2.   아키텍처 표시

3.   아키텍처 목적 및 제한조건

4.   유스 케이스 보기

5.   논리 보기

6.   프로세스 보기

7.   배치 보기

8.   크기 및 성능

9.   품질

소프트웨어 아키텍처 문서

소개페이지 맨 위로 이동합니다.

1.1 목적

    이 문서에서는 시스템의 다른 관점을 묘사하는 다른 아키텍처 보기를 사용하여 시스템의 총체적인 아키텍처 개요를 제공합니다. 시스템에서의 명확한 이전 아키텍처 결정을 캡처하고 제공하는 것이 목적입니다.

1.2 범위

    이 소프트웨어 아키텍처 문서는 수강 신청 시스템에 대한 아키텍처 개요를 제공합니다. 수강 신청 시스템은 Wylie College에서 온라인 수강 신청을 지원하기 위해 개발하고 있습니다.

    이 문서는 Rose로 구현된 수강 신청 분석 및 디자인 모델에서 직접 생성되었습니다. 대부분의 섹션은 SoDA 및 소프트웨어 아키텍처 문서 템플리트를 사용하여 Rose 모델에서 추출되었습니다.

1.3 용어의 정의

    용어집 [4]를 참조하십시오.

1.4 참조

    관련 참조 서적은 다음과 같습니다.

      1. 과정 청구 인터페이스 스펙, WC93332, 1985, Wylie College Press.
      2. 과정 카탈로그 데이터베이스 스펙, WC93422, 1985, Wylie College Press.
      3. 수강 신청 시스템 비전 문서, WyIT387, V1.0, 1998, Wylie College IT.
      4. 수강 신청 시스템 용어집, WyIT406, V2.0, 1999, Wylie College IT.
      5. 수강 신청 시스템 유스 케이스 명세 - 신청 마감, WyIT403, V2.0, 1999, Wylie College IT.
      6. 수강 신청 시스템 유스 케이스 명세 - 로그인, WyIT401, V2.0, 1999, Wylie College IT.
      7. 수강 신청 시스템 유스 케이스 명세 - 교수 정보 유지보수, WyIT407, 버전 2.0, 1999, Wylie College IT.
      8. 수강 신청 시스템 유스 케이스 명세 - 수강 신청, WyIT402, 버전 2.0, 1999, Wylie College IT.
      9. 수강 신청 시스템 유스 케이스 명세 - 개설 과정 선택, WyIT405, 버전 2.0, 1999, Wylie College IT.
      10. 수강 신청 시스템 유스 케이스 명세 - 학생 정보 유지보수, WyIT408, 버전 2.0, 1999, Wylie College IT.
      11. 수강 신청 시스템 유스 케이스 명세 - 성적 제출, WyIT409, 버전 2.0, 1999, Wylie College IT.
      12. 수강 신청 시스템 유스 케이스 명세 - 성적표 보기, WyIT410, 버전 2.0, 1999, Wylie College IT.
      13. 수강 신청 시스템 소프트웨어 개발 계획, WyIT418, V1.0, 1999, Wylie College IT.
      14. 수강 신청 시스템 반복 계획, 정제(Elaboration) 반복 #E1, WyIT420, V1.0, 1999, Wylie College IT.
      15. 수강 신청 시스템 보충 스펙, WyIT400, V1.0, 1999, Wylie College, IT.
2.  아키텍처 표시페이지 맨 위로 이동합니다.
    이 문서에서는 아키텍처를 일련의 보기(유스 케이스 보기, 논리 보기, 프로세스 보기 및 배치 보기)로 표시합니다. 이 문서에서 설명하는 별도 구현 보기는 없습니다. 이러한 보기는 Rational Rose를 사용하여 개발된 기본 UML(Unified Modeling Language) 모델에 대한 보기입니다.
3.  아키텍처 목적 및 제한조건페이지 맨 위로 이동합니다.

다음과 같이 아키텍처에 대해 중대한 영향을 주는 몇 가지 중요한 요구사항 및 시스템 제한조건이 있습니다.

    1. 현재 학기에 대한 모든 과정 정보를 검색하려면 Wylie College의 기존 레거시 과정 카탈로그 시스템에 액세스해야 합니다. 수강 신청 시스템은 레거시 과정 카탈로그 시스템 [2]의 데이터 형식 및 DBMS를 지원해야 합니다.
    2. 학생에 대한 청구를 지원하려면 Wylie College의 기존 레거시 재무 시스템에 대한 인터페이스가 필요합니다. 이 인터페이스는 과정 청구 인터페이스 스펙 [1]에 정의됩니다.
    3. 로컬 캠퍼스 PC 및 원격 PC에서 인터넷 전화 접속 연결을 통해 모든 학생, 교수 및 학적 담당자 기능을 사용할 수 있어야 합니다.
    4. 수강 신청 시스템은 권한 없는 액세스로부터 데이터를 완벽하게 보호해야 합니다. 모든 원격 액세스는 사용자 ID 및 암호 제어를 받습니다.
    5. 수강 신청 시스템은 클라이언트-서버 시스템으로서 구현됩니다. 클라이언트 부분은 PC에 상주하며 서버 부분은 Wylie College UNIX 서버에서 작동해야 합니다. [3]
    6. 아키텍처 개발에 따라 비전 문서 [3] 및 보충 스펙 [15]에 규정된 모든 성능 및 로딩 요구사항을 고려해야 합니다.

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 학생 정보 유지보수

    간략한 설명: 이 유스 케이스를 사용하면 학적 담당자가 등록 시스템에서 학생 정보를 유지보수할 수 있습니다. 이 유스 케이스에는 시스템에 학생 추가, 수정 및 삭제가 포함됩니다. 이 유스 케이스의 액터는 학적 담당자입니다.

5.  논리 보기페이지 맨 위로 이동합니다.

    아키텍처의 논리 보기에 대한 설명. 가장 중요한 클래스, 서비스 패키지 및 서브시스템 내 해당 조직과 이러한 서브시스템의 계층 구성에 대해 설명합니다. 또한 아키텍처의 동적 측면과 같이 가장 중요한 유스 케이스 실현(realization)에 대해 설명합니다. 아키텍처 측면에서 중요한 클래스, 서브시스템, 패키지 및 계층 간의 관계를 보여주는 클래스 다이어그램이 포함될 수 있습니다.

    수강 신청 시스템의 논리 보기는 세 가지 기본 패키지(사용자 인터페이스, 비즈니스 서비스 및 비즈니스 오브젝트)로 구성됩니다.

    사용자 인터페이스 패키지에는 액터가 시스템과 통신하기 위해 사용하는 각 양식의 클래스가 포함됩니다. 로그인, 스케줄 유지보수, 교수 정보 유지보수, 과정 선택, 성적 제출, 학생 정보 유지보수, 신청 마감 및 성적표 보기를 지원하는 경계 클래스가 있습니다.

    비즈니스 서비스 패키지에는 재무 시스템과의 상호작용, 학생 등록 제어 및 학생 평가 관리를 위한 제어 클래스가 포함됩니다.

    비즈니스 오브젝트 패키지에는 대학교 아티팩트(예: 과정 오퍼링, 스케줄)의 엔티티 클래스와 과정 카탈로그 시스템과의 상호작용을 위한 경계 클래스가 포함됩니다.

5.1  아키텍처 개요 - 패키지 및 서브시스템 계층 구성

위의 헤더 캡션

5.1.1 응용프로그램

        계층

        이 응용프로그램 계층에는 사용자에게 표시되는 응용프로그램 화면을 나타내는 모든 경계 클래스가 있습니다. 이 계층은 분리된 중간 티어의 클라이언트를 연결하는 프로세스 오브젝트 계층에 의존합니다.

5.1.2 비즈니스 서비스

        계층

        비즈니스 서비스 프로세스 계층에는 응용프로그램 동작을 구동하는 유스 케이스 관리자를 나타내는 모든 제어기 클래스가 있습니다. 이 계층은 클라이언트와 중간 티어 간 경계를 나타냅니다. 비즈니스 서비스 계층은 분리된 중간 티어의 클라이언트를 연결하는 프로세스 오브젝트 계층에 의존합니다.

5.1.3 미들웨어

        계층

        미들웨어 계층은 관계형 DBMS 및 OODBMS에 대한 액세스를 지원합니다.

5.1.4 기본 재사용

    기본 재사용 패키지에는 목록 기능 및 패턴을 지원하는 클래스가 포함됩니다.

     

6.  프로세스 보기페이지 맨 위로 이동합니다.

    아키텍처의 프로세스 보기에 대한 설명. 시스템 실행과 관련된 타스크(프로세스 및 스레드), 해당 상호작용 및 구성에 대해 설명합니다. 또한 타스크에 대한 오브젝트 및 클래스 할당에 대해 설명합니다.

    프로세스 모델은 실행 가능 프로세스로서 구성된 수강 신청 클래스를 보여줍니다. 학생 등록, 교수 기능, 신청 마감과 외부 재무 시스템 및 과정 카탈로그 시스템에 대한 액세스를 지원하는 프로세스가 있습니다.

6.1 프로세스

컨텐츠의 아래 캡션

 

      다이어그램 이름: 프로세스

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 요소 디자인 프로세스

컨텐츠의 아래 캡션

 

      다이어그램 이름: 요소 디자인 프로세스

6.2.1 CourseCache

과정 캐시 스레드는 레거시 과정 카탈로그 시스템에서 비동기식으로 항목을 검색하는 데 사용됩니다.

6.2.2 OfferingCache

OfferingCashe 스레드는 레거시 과정 카탈로그 시스템에서 비동기식으로 항목을 검색하는 데 사용됩니다.

         

6.2.3 과정

대학교에서 제공하는 수업

분석 메커니즘:

- 지속성

- 레거시 인터페이스

 

6.2.4 CourseOffering

      과정에 대한 특정 오퍼링(요일 및 시간 포함)

      분석 메커니즘:

      - 지속성

      - 레거시 인터페이스

       

6.3 모델 종속성을 디자인하는 프로세스 모델

컨텐츠의 아래 캡션

다이어그램 이름: 모델 종속성을 디자인하는 프로세스 모델

 

6.4 구현 프로세스

컨텐츠의 아래 캡션

다이어그램: 구현 프로세스

6.4.1 Remote

        * Remote 인터페이스는 모든 원격 오브젝트를 식별합니다. 모든 원격 오브젝트는 이 인터페이스를 직간접적으로 구현해야 합니다. 원격 인터페이스에서 지정된 방법만 원격으로 사용할 수 있습니다.

        * 구현 클래스는 원하는 수의 원격 인터페이스를 구현할 수 있으며 기타 원격 구현 클래스를 확장할 수 있습니다.

6.4.2 Runnable

        * Runnable 인터페이스는 해당 인스턴스가 스레드에 의해 실행되는 클래스가 구현해야 합니다. 이 클래스는 run 인수가 없는 메소드를 정의해야 합니다.

        * 이 인터페이스는 활성 상태에서 코드를 실행하려는 오브젝트에 공통 프로토콜을 제공하도록 디자인되었습니다. 예를 들어, RunnableThread 클래스로 구현됩니다.

        * 활성 상태는 스레드가 시작되고 아직 중지되지 않은 상태를 의미합니다.

6.4.3 Thread

        * thread는 프로그램의 실행 스레드입니다. JVM(Java Virtual Machine)을 사용하면 응용프로그램이 동시에 여러 스레드를 실행할 수 있습니다.

        * 모든 스레드에는 우선순위가 있습니다. 우선순위가 높은 스레드가 우선순위가 낮은 스레드보다 먼저 실행됩니다. 각 스레드는 또한 디먼으로 표시되거나 표시되지 않을 수 있습니다. 일부 스레드에서 실행되는 코드가 새 Thread 오브젝트를 작성하는 경우, 새 스레드의 우선순위는 먼저 작성 스레드의 우선순위와 동일하게 설정되며, 작성 스레드가 디먼인 경우에만 이 스레드는 디먼 스레드입니다.

         

7.  배치 보기페이지 맨 위로 이동합니다.

    아키텍처의 배치 보기에 대한 설명은 가장 일반적인 플랫폼 구성의 다양한 실제 노드에 대해 설명합니다. 또한 프로세스 보기에서 실제 노드에 타스크를 할당하는 작업에 대해 설명합니다.

    이 섹션의 구성은 실제 네트워크 구성입니다. 각 구성은 배치 다이어그램과 각 프로세서에 대한 프로세스 맵핑으로 표시됩니다.

    위의 컨텐츠로 설명

    다이어그램 이름: 배치 보기

7.1 외부 데스크탑 PC

      학생이 인터넷 전화 접속을 통해 학교 서버에 연결된 외부 데스크탑 PC를 사용하여 수강 신청합니다.

7.2 데스크탑 PC

      학생이 LAN을 통해 학교 서버에 직접 연결된 로컬 데스크탑 PC를 사용하여 수강 신청합니다. 이러한 로컬 PC는 교수가 과정을 선택하고 학생 성적을 제출하는 데도 사용됩니다. 학적 담당자는 이러한 로컬 PC를 사용하여 학생 및 교수 정보를 유지보수합니다.

7.3 등록 서버

      등록 서버는 캠퍼스의 주 UNIX 서버입니다. 모든 교수와 학생은 캠퍼스 LAN을 통해 이 서버에 액세스합니다.

7.4 과정 카탈로그

      과정 카탈로그 시스템은 전체 과정 카탈로그가 포함되는 레거시 시스템입니다. 이 시스템은 학교 서버 및 LAN을 통해 사용할 수 있습니다.

7.5 청구 시스템

    청구 시스템(재무 시스템이라고도 함)은 매학기마다 학생 청구서를 생성하는 레거시 시스템입니다.

     

8.  크기 및 성능페이지 맨 위로 이동합니다.

    선택한 소프트웨어 아키텍처는 다음과 같이 보충 스펙 [15]에 규정된 중요한 크기 조정 및 시간 조정 요구사항을 지원합니다.

      1. 시스템은 항상 중앙 데이터베이스에 대해 최대 2000명의 동시 사용자와 로컬 서버에 대해 최대 500명의 동시 사용자를 지원합니다.
      2. 시스템은 10초 미만의 지연 시간으로 레거시 과정 카탈로그 데이터베이스에 대한 액세스를 제공합니다.
      3. 시스템은 2분 이내에 모든 트랜잭션의 80%를 완료해야 합니다.
      4. 클라이언트 부분에는 20MB 미만의 디스크 공간과 32MB의 RAM이 필요합니다.

    선택한 아키텍처는 클라이언트-서버 아키텍처 구현을 통해 크기 조정 및 시간 조정 요구사항을 지원합니다. 클라이언트 부분은 로컬 캠퍼스 PC 또는 원격 전화 접속 PC에서 구현됩니다. 컴포넌트는 PC 클라이언트 부분에서 최소 디스크 및 메모리 요구사항만 필요하도록 디자인되었습니다.

9.  품질페이지 맨 위로 이동합니다.

    소프트웨어 아키텍처는 다음과 같이 보충 스펙 [15]에 규정된 품질 요구사항을 지원합니다.

      1. 데스크탑 사용자 인터페이스는 Windows 95/98을 지원합니다.
      2. 수강 신청 시스템의 사용자 인터페이스는 사용하기 쉽게 디자인되어 컴퓨터 사용자라면 시스템에 대한 추가 훈련 없이 사용할 수 있습니다.
      3. 수강 신청 시스템은 사용자를 위해 각 기능에 대한 온라인 도움말을 기본으로 제공합니다. 온라인 도움말에는 시스템 사용에 대한 단계별 지시사항이 포함됩니다. 또한 용어 및 머리 글자어에 대한 정의가 포함됩니다.
      4. 수강 신청 시스템은 일 주일에 7일, 하루 24시간 동안 사용할 수 있으며 작동 중지 시간은 4% 이하입니다.
      5. MTBF(Mean Time Between Failures)는 300시간을 초과합니다.
      6. 수강 신청 시스템의 PC 클라이언트 부분에 대한 업그레이드는 인터넷을 통해 UNIX 서버에서 다운로드할 수 있습니다. 학생은 이 기능을 사용하여 시스템 업그레이드에 쉽게 액세스할 수 있습니다.



        

 
Copyright  (c) IBM Corp. 1987, 2005. All Rights Reserved. 

수강 신청 프로젝트 웹 예제
버전 2001.03