본문 바로가기

분류 전체보기98

재사용을 통한 설계 1. 컴포넌트 기반 개발(Component based development) 1) 개요 (1) 특징 ① 컴포넌트는 객체 클래스에 비해 훨씬 추상적(abstract)이며, 독립적으로 서비스를 제공한다고 볼 수 있다. ② 시스템이 서비스가 필요한 경우 컴포넌트를 호출한다. 이때, 호출자는 컴포넌트가 어떻게 구현되었고, 어떠한 식으로 동작하는지에 대해서는 알 필요가 없다. ③ 컴포넌트는 독립적으로 실행 가능한 개체이다. 소스 코드는 제공되지 않기 때문에 재컴파일하는 것은 가능하지 않다. ④ 컴포넌트는 인터페이스를 제공한다. 모든 상호작용은 그 인터페이스를 통해서 이루어지게 된다. (2) 컴포넌트 인터페이스 (Component interfaces) ◆ 제공 인터페이스(provides interface): 컴포넌.. 2023. 11. 28.
실시간 소프트웨어 설계 1. 실시간 시스템(real-time system) 시스템에 의해 생성되는 결과(results)나 이벤트(events)에 반응해서 주어진 시간내에 올바른 기능을 수행할 수 있어야 한다. 그렇기 때문에 실시간 시스템을 자극/반응 시스템(stimulus/response system)이라고도 한다. 주어진 특정 입력 자극에 대해 관련된 반응을 보여야 하기 때문이다. 1) 실시간 시스템의 종류 ① 연성 실시간 시스템("soft" real-time system): 명시된 시간 요구사항(timing requirements)에 따라 결과가 얻어지지 못했을 경우 품질이 저하되는(degraded) 시스템 ② 경성 실시간 시스템("hard" real-time system): 명시된 시간 요구사항(timing require.. 2023. 11. 26.
분산 시스템 아키텍쳐 1. 멀티프로세서 아키텍쳐(Multiprocessor architectures) 1) 분산 시스템(distributed system)의 개요 멀티프로세서 아키텍쳐(Multiprocessor architectures)에 대해 살펴보기 전에 ‘ 분산 시스템 (distributed system)’에 대해 좀 더 자세히 알아보도록 하겠습니다. 앞에서 정리한 특징 이외에 분산 시스템은 다음과 같은 4가지 단점을 가지고 있습니다. 복잡성 (Complexity) 창발적 속성(emergent properties)을 이해하기 어렵고 시스템 검사가 어렵기 때 문에 중앙처리 시스템보다 훨씬 복잡하다. (예 : 성능이 네트워크 밴드위드나 다른 여러 컴퓨터 속도에 좌우됨, 어떤 프로세서에 어떤 자원을 둘 것인가도 성능에 영향을.. 2023. 11. 26.
아키텍쳐 설계 1. 시스템 구조화(System structuring) [아키텍쳐 설계(architectural design) 개요] ■ 아키텍쳐 설계(architectural design) ① 시스템 설계 과정의 초기 단계에 이루어진다. ② 명세(specification)와 설계(design) 과정의 연결고리 역할을 한다. ③ 명세 활동과 병행되어 이루어지기도 한다. ④ 시스템의 주요 구성요소(components)와 통신관계(communication)를 파악하는 작업. □ 장점 ① 프로젝트 참여자 의사소통 수단 ② 시스템 분석(특히 비기능적 요구사항의 만족여부를 판단)에 용이 ③ 대규모 재사용(Large-scale reuse)이 가능 □ 설계 과정 1. 시스템 구조화(System structuring): 서브 시스템으.. 2023. 11. 25.
시스템 모델 모델은 개선이 필요한 기존의 시스템을 명확히 이해하기 위해 요구 분석단계에서 사용하거나 새롭게 요구되는 시스템을 명세하는데 사용된다. 모델은 아래와 같은 다양한 관점으로 표현 가능하다. 1. 외부적 관점(external perspective) : 시스템의 문맥이나 환경에 대한 모델링 2. 행동적 관점(behavioral perspective) : 시스템의 동적인 면에 대한 모델링 3. 구조적 관점(structural perspective) : 시스템의 아키텍쳐(architecture)나 처리되는 데이터의 구조 부분에 대한 모델링 이러한 다양한 관점을 모델링하는 대표적인 방법중 하나가 UML(Unified Modeling Language)를 이용하는 것이다. 1. 모델의 종류 1) 배경 모델(Context.. 2023. 11. 25.
요구 공학 프로세스 1. 타당성 조사 1) 타당성 조사(Feasibility studies)란? - 새로운 시스템의 경우, 요구 공학 프로세스의 출발점 - 입력: 시스템의 개요나 어떻게 사용되는지에 대한 기술 - 결과: 요구 공학이나 시스템 개발 프로세스를 진행할 지에 대한 보고서 - 다음과 같은 질문들의 답을 구하는 것이다. □ 시스템이 기관(organization)의 전체적인 목적(objectives)에 부합하는가? □ 시스템이 현재의 기술과 비용을 가지고, 스케줄대로 진행될 수 있는가? □ 기존의 다른 시스템과 통합(integration)될 수 있는가? 시스템이 비즈니스(business)의 목적(objectives)에 부합하는지의 여부는 상당히 중요한 문제 이다. 그럼에도 불구하고, 정치적 간섭을 피하기 위해 이를 명.. 2023. 11. 25.