본문 바로가기

소프트웨어 공학20

[소프트웨어 공학] 아키텍처의 표현 아키텍처의 표현아직 존재하지 않는 기술이나 상품을 홍보하기 위한 것으로 마키텍처(maketecture)라는 용어가 있다. 시스템의 구조나 동작을 한 페이지로 간략히 보여주기 위하여 작성된 것을 말합니다. 마키텍처는 시스템을 설계하고 구축하고 검토하는 동안 이해 당사자들이 토론할 때 유용하게 쓰이는 도구입니다. 문제를 이해하고 설명하고 더 깊은 분석에 들어가기 전에 출발점으로 이용할 수 있기 때문입니다.완벽하게 만들어진 아키텍처는 시스템의 추상적인 요약이므로 매우 유용합니다. 대부분의 아키텍처는 개발팀과 관계자들이 이해하기 쉽도록 추상화 합니다. 추상(abstract)의 의미는 불필요한 자세한 것을 생략하고 가장 중요한 문제에 관심을 집중시킨다는 것입니다. 이렇게 표현하려면 아키텍처에서 컴포넌트를 블랙박스.. 2024. 5. 25.
[소프트웨어 공학]아키텍처 설계란? 아키텍처 설계란?소프트웨어를 위한 아키텍처 설계는 빌딩의 아키텍처 설계와 유사합니다. 빌딩은 방과 여러 서브시스템, 예를 들면 난방, 에어컨, 전기, 가스, 수도 등의 배관을 포함하고 있습니다. 각 서브시스템은 나름대로의 목적과 빌딩전체의 기능 및 용도에 대하여 기여하고 있습니다. 빌딩의 아키텍처 설계는 주요 컴포넌트와 서브시스템을 강조하고 어떻게 서로 연관되어 있고 작동하는지 알려줍니다.아키텍처 설계의 정의먼저 아키텍처와 아키텍처 설계에 대한 정의는 다음과 같다. 정의 아키텍처 설계소프트웨어 아키텍처란 주요 컴포넌트 사이의 인터페이스와 인터랙션을 포함한 시스템 구조의 설계 유형을 말합니다. 아키텍처 설계는 개발 중인 시스템에 대한 아키텍처를 정하는 의사 결정 과정입니다. 아키텍처를 소프트웨어 구조의 유.. 2024. 5. 25.
[소프트웨어 공학] 개발 아키텍처 소개 개발 아키텍처 소개소프트웨어가 복잡해지면서 알고리즘과 자료 구조 수준을 넘어서 소프트웨어의 구조, 즉 아키텍처가 중요한 문제가 되었습니다. 아키텍처는 애플리케이션을 어떻게 분할하고 분할된 컴포넌트에 어떤 기능을 할당하며, 컴포넌트 사이의 커뮤니케이션 방법, 컴포넌트의 물리적 배치 등 설계안을 결정하는 작업입니다. 아키텍처는 시스템의 타입에 따라 다르며 많이 사용되는 유 형(스타일)이 있습니다. 설계 작업은 문서로 잘 정리되어야 하며 이는 구현을 위한 도면이 됩니다.요구사항 분석 작업을 통하여 무엇을 개발할 것인가를 결정한 후에는 도메인 영역의 문제에 집중하여 모델링 할 수 있습니다. 설계 단계로 넘어가면서 솔루션 영역의 과제들, 예를 들면 소프트웨어의 내부 구조를 어떻게 할 것인지, 자료와 사용자 인터페.. 2024. 5. 25.
[소프트웨어 공학] 객체와 속성, 캡슐화, 연관 객체와 속성객체(object)란 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재입니다. 각 객체가 자료 구조를 갖는다는 것은 각 객체가 어떤 속성(attribute)을 가지고 있다는 것을 의미합니다. 예를 들어, 그래픽 프로그램에서 하나의 점을 객체로 본다면 수평과 수직 위치가 자료이면서 그 값이 객체의 속성을 의미합니다. 각 객체가 적용될 수 있는 연산(operation)을 갖는다는 것은 각 객체가 어떤 연산을 수행할 수 있는 능력(behavior)을 갖추고 있다는 것을 의미합니다.객체는 하나의 변수나 자료 구조와는 구별됩니다. 예를 들어, 'int X;' 라고 프로그램에서 정의된 X는 하나의 정수를 보관하는 장소를 가질 뿐, X 자체가 어떤 연산을 수행할 수는 없습니다.모델링 할 .. 2024. 5. 24.