반응형 아키텍쳐5 Model-Driven Engineering (모델 기반 엔지니어링, MDE, MDA) 의 개념과 활용 Model-Driven Engineering (모델 기반 엔지니어링, MDE)정의 (Definition)Model-Driven Engineering (MDE): 소프트웨어 개발 과정에서 모델을 개발의 주요 산출물로 간주하는 접근법.프로그램 코드는 모델을 기반으로 하드웨어/소프트웨어 플랫폼에서 자동으로 생성됨.특징 (Characteristics)프로그래밍 언어 및 플랫폼 세부사항에서 벗어남소프트웨어 엔지니어는 프로그래밍 언어나 실행 플랫폼의 세부사항에 신경 쓰지 않아도 됨.모델에 집중하여 더 높은 수준의 추상화를 지원.초기 개발 단계현재 MDE는 발전 초기 단계에 있으며, 광범위한 채택을 위해 개선이 필요.장점 (Advantages)추상화 수준 증가:시스템을 더 높은 수준의 추상적으로 다룰 수 있음.적응 .. 2024. 12. 1. 시스템 모델링(System Modeling)과 관점에 따른 모델 종류 시스템 모델링 (System Modeling)시스템 모델링은 시스템의 추상적인 모델을 개발하는 과정으로, 각 모델은 시스템의 다양한 관점이나 시각을 제시합니다. 이는 분석가들이 시스템의 기능을 이해하고, 고객과 효과적으로 소통하는 데 도움을 주며, 주로 통합 모델링 언어(UML, Unified Modeling Language)의 표기법을 기반으로 합니다.시스템 관점 (System Perspectives)시스템 모델링은 여러 가지 관점(View)을 통해 시스템을 다각도로 분석하고 설계합니다. 주요 관점은 다음과 같습니다:외부 관점 (External Perspective) - 블랙박스(밖에서 본다)정의: 시스템의 맥락이나 환경을 모델링합니다.목적: 시스템 외부에 있는 요소들과 시스템 간의 상호작용을 이해하고.. 2024. 10. 16. 객체 지향 설계 원칙 (SOLID & GRASP)과 소프트웨어 아키텍쳐 설계 가이드라인 목차1. 소프트웨어 아키텍쳐 설계 가이드라인 & 원칙2. 객체 지향(OO) 설계 원칙SOLID OO 설계 원칙GRASP OO 설계 원칙소프트웨어 아키텍쳐 설계 가이드라인소프트웨어 아키텍쳐를 설계(Design)할때 놓치기 쉬운 부분은 Analysis 먼저하고 아키텍쳐 Design 해야된다는 것입니다. 아키텍쳐 분석 -> 추상적 아키텍처 설계 -> 아키텍쳐 설계위와 같이 분석과 추상 아키텍쳐 설계를 우선 거치고 설계해야됩니다.1. 아키텍쳐 분석어떻게 할지 생각하기 전에 무엇을 할지 생각해보는게 중요합니다.아키텍쳐와 상세적인 설계전에 기능적 요구사항(FR)과 비기능적 요구사항(NFR)이 정의되고 확인(verify), 인증(Validated)되어야합니다.(요구사항의 verification은 SRS 명세서와 일치.. 2024. 10. 11. 소프트웨어 개발 프로세스 모델의 종류와 단계 소프트웨어 프로세스는 소프트웨어 시스템을 개발하기 위해 필요한 일련의 구조화된 활동들을 의미합니다. 이러한 프로세스는 소프트웨어 개발의 효율성과 품질을 높이기 위해 체계적으로 관리되고 수행됩니다. 아래에서 소프트웨어 프로세스의 주요 구성 요소와 다양한 소프트웨어 프로세스 모델에 대해 자세히 설명하겠습니다. 소프트웨어 프로세스들의 기본 4가지 활동 1. 명세 (Specification)정의: 시스템이 수행해야 할 기능과 요구사항을 명확히 정의하는 단계입니다.목적: 고객의 요구를 정확히 이해하고, 개발할 시스템이 어떤 기능을 제공해야 하는지 명확히 합니다.활동 예시: 요구사항 수집, 요구사항 분석, 요구사항 문서화 2. 설계 및 구현 (Design & Implementation)정의: 시스템의 구조를 설계하.. 2024. 10. 6. OOAD 객체지향 분석 및 설계 프로세스 객체 지향 프로그래밍 (OOP)Object-Oriented Programming (OOP), 다른 말로 객체 지향 프로그래밍은 데이터랑 코드를 담을 수 있는 객체(Objects)라는 개념을 기반으로한 프로그래밍의 패러다임의 일종입니다. 객체 지향 개발은 문제 해결 domain에서 객체(Objects)들의 상호작용(interaction)을 통해서 해결하는것을 말합니다.OOP는 구조적이고 재사용성이 좋고 수정과 유지보수가 편리한 소프트웨어 프로그램을 만드는데 좋습니다.OOP의 특성OOP의 특성은 아래와 같습니다Encapsulation : 캡슐화로 내부 필드와 동작을 접근하지 못하도록해서 프로그램의 무결성을 보장합니다Abstraction : 개념을 추출해서 정의해서 추상화를 합니다.Polymorphism : .. 2024. 10. 4. 이전 1 다음