2024/05/28 13

[1과목 소프트웨어 설계] 애플리케이션 설계 - 023. ⭐ 객체지향 (Object-Oriented)

개체(Entity)를 하나의 객체(Object)로 만들어 작성구조적 기법의 문제점의 해결책으로 채택유지보수 고려하지 않고 개발공정에만 집중개발 이후, 추가 요구사항 대응 어려움재사용 불가해 유사 소프트웨어 개발 시 시간과 인력 소모복잡한 구조를 단계적 · 계층적으로 표멀티미디어 데이터 및 병렬처리 지원사용자와 개발자가 쉽게 이해객체, 클래스, 캡슐화, 상속, 다형성, 연관성1. 객체 (Object)데이터와 데이터를 처리하는 함수를 묶어 놓은 하나의 모듈데이터 : 속성(Attribute), 상태, 변수, 상수, 자료 구조함수 : 메소드(Method), 서비스(Service), 동작(Operation), 연산객체의 메소드는 다른 객체로부터 메시지를 받았을 때 정해진 기능을 수행객체 특성독립적으로 식별 가능한..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 022. ⭐ 아키텍처 패턴

1. 아키텍처 패턴 장점시행착오 줄여 개발 시간 단축, 고품질의 소프트웨어 생산안정적인 개발 가능의사소통 간편개발에 참여하지 않은 사람도 손쉽게 유지보수 수행 가능개발 전 예측 가능 2. 레이어 패턴 (Layers pattern)계층으로 구분하여 구성, 고정적인 방법각 서브 시스템들이 계층 구조를 이룸하위 계층은 상위 계층에 대한 서비스 제공자상위 계층은 하위 계측의 클라이언트서로 마주보는 두 개 계층 사이에서만 상호작용변경 작업 용이특정 계층만 교체해 시스템 개성 가능OSI 참조 모델 3. 클라이언트-서버 패턴 (Client-Server pattern)하나의 서버 컴포넌트와 다수의 클라이언트 컴포넌트로 구성사용자는 클라이언트와만 의사소통서버는 클라이언트 요청에 대비해 항상 대기 상태 유지요청과 응답을 ..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 021. ⭐ 소프트웨어 아키텍처

소프트웨어의 골격이 되는 기본 구조구성하는 요소들 간의 관계를 표현하는 시스템의 구조이해관계자들의 의사소통 도구좋은 품질 유지비기능적 요구사항 : 나타난 제약 반영기능적 요구사항 : 구현하는 방법을 찾는 해결과정애플리케이션 분할 방법과 분할된 모듈에 할당될 기능, 모듈 간의 인터페이스 결정모듈화, 추상화, 단계적 분해, 정보은닉💡 상위설계 & 하위설계 상위설계하위설계별칭아키텍처 설계, 예비 설계모듈 설계, 상세 설계설계 대상시스템의 전체적인 구조시스템의 내부 구조 및 행위세부 목록구조, DB, 인터페이스컴포넌트, 자료구조, 알고리즘1. 모듈화 (Modularity)프로젝트 재사용성 향상너무 작게 나누면 개수가 많아져 모듈 간 통합 비용 多너무 크게 나누면 개수가 적어 통합 비용은 적게 들지만 노듈 하나..