본문 바로가기

정보과학/소프트웨어공학특론15

분산 시스템 아키텍쳐 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.
소프트웨어 요구사항 개요 1) 요구 공학(Requirements Engineering)이란? 고객이 시스템으로부터 요구하는 “서비스(Services)”와 시스템이 동작하거나 개발되는 과정에 발생하는 "제약사항(Constraints)"을 구하는 과정이다. 2) 요구사항(Requirements)이란? 요구 공학을 통해 생성된 “서비스”와 “제약사항”에 대한 기술 그 자체를 의미하며, 추상화 수준의 서비스에 대한 설명부터 상세한 수학적 기능 명세에 이르기까지 범위가 다양하다. 3) 요구사항의 종류 ① 사용자 요구사항(User Requirements) 시스템이 제공하는 서비스나 조작에 대한 제약사항을 자연어(natural language)나 다이어그램(diagram)으로 기술한 것으로 주로 고객을 위해 작성된다. ② 시스템 요구사.. 2023. 11. 25.
소프트웨어 프로세스(2) 1. 1장: 관리 행위 1) 소프트웨어 프로젝트의 관리상 특징 ● 보이지 않는다. 건축관리자의 경우 작업중인 건물을 쉽게 눈으로 확인할 수 있으나 소프트웨어는 눈에 보이지 않기 때문에 진행상황을 파악하기가 어렵다. 그렇기 때문에, 소프트웨어 개발의 경우 진척사항을 확인하기 위해 문서에 의존하게 된다. ● 소프트웨어 프로세스에 대한 표준이 없다. 철도를 놓는 등 역사가 오래된 기존의 공학에서는 반복되고 검증된 프로세스를 사용할 수 있지만, 소프트웨어 프로세스는 역사가 짧고 아직 이해가 부족하거나 검증이 필요한 부분이 많다. ● 큰 규모의 소프트웨어 프로젝트는 1회성인 경우가 많다. 컴퓨터 또는 통신분야의 기술은 발전 속도가 빠르기 때문에 큰 규모의 프로젝트를 진행 했을 경우 얻은 경험을 재활용하기가 어렵다.. 2023. 11. 23.