본문 바로가기

정보처리기사/소프트웨어 설계

(17)
클래스(Class) 클래스 - 클래스는 공통된 속성과 연산을 갖는 객체의 집합으로 객체의 일반적이 타입을 의미합니다. - 데이터를 추상화하는 단위입니다. - 클래스에 속한 각각의 객체를 인스턴스라고 하고, 클래스로부터 새로운 객체를 생성하는 것을 인스턴스화라고 합니다. 정보처리기사 2022년 1회 20번 출제
소프트웨어 용어 EAI - 기업용 응용 프로그램의 구조적 통합 방안으로 각종 애플리케이션, 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션입니다. FEP(전처리기) - 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 차지하는 시간을 줄여주는 프로그램이나 하드웨어입니다. GPL - 자유 소프트웨어 재단에서 만든 자유 소프트웨어 라이선스입니다. Duplexing - 서비스 중단에 대비하여 동일한 기능을 수행하는 예비 시스템을 동시에 운용하는 것입니다. 정보처리기사 2022년 1회 19번 출제
객체지향 분석의 방법론 객체지향 분석의 방법론 - 객체지향 분석을 위한 여러 방법론이 제시되었습니다. Rumbaugh(럼바우) 방법론 - 가장 일반적으로 사용되는 방법으로 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행하는 방법입니다. Booch(부치) 방법론 - 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 분석 방법으로, 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의합니다. Jacobson 방법론 - Use Case를 강조하여 사용하는 분석 방법입니다. Coad와 Yourdon 방법론 - E-R다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등의 과정으로 구성하는 기법입니다. Wirfs-..
소프트웨어 아키텍처의 설계 소프트웨어 아키텍처 - 소프트웨어의 골격이 되는 기본 구조이자, 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체입니다. 소프트웨어 아키텍처의 설계 과정 - 설계 목표 설정 -> 시스템 타입 결정 -> 스타일(아키텍처 패턴) 적용 및 커스터마이즈 -> 서브시스템의 기능, 인터페이스 동작 작성 -> 아키텍처 설계 검토 정보처리기사 2022년 1회 15번 출제
디자인 패턴 디자인 패턴 - 각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미합니다. - 문제 및 배경, 실제 적용된 사례, 재사용이 가능한 샘플 코드 등으로 구성되어 있어 개발 과정 중에 문제가 발생하면 새로 해결책을 구상하는 것보다 문제에 해당하는 디자인 패턴을 참고하여 적용하는 것이 더 효율적입니다. GoF 디자인 패턴 - 유형에 따라 생성 패턴 5개, 구조 패턴 7개, 행위 패턴 11개 총 23개의 패턴으로 구성되어 있습니다. 생성 패턴 - 객체의 생성과 참조 과정을 캡슐화 하여 객체가 생성되거나 변경되어도 프로그램의 구조에 영향을 크게 받지 않도록 하여 프로그램에 유연성을 더해줍니다. - 추..
객체지향 설계 원칙(SOLID 원칙) 객체시향 설계 원칙(SOLID 원칙) - 시스템 변경이나 확장에 유연한 시스템을 설계하기 위해 지켜야 할 다섯 가지 원칙입니다. 단일 책임 원칙 - 객체는 단 하나의 책임만 가져야 합니다. 개방-폐쇄의 원칙 - 기존의 코드를 변경하지 않고 기능을 추가할 수 있도록 설계해야 합니다. - 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 합니다. 리스코프 교체의 원칙 - 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 합니다. 인터페이스 분리 원칙 - 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 합니다. 의존 역전 원칙 - 각 객체들 간의 의존 관계가 성립될 때, 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존 관계를 맺어야 한다는..
소프트웨어 비용 산정 소프트웨어 비용 산정 - 소프트웨어의 개발 규모에 소용되는 인원, 자원, 기간 등으로 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 산정하는 것입니다. 소프트웨어 비용을 결정하는 요소 - 프로젝트 요소 : 제품 복잡도, 시스템 크기, 요구되는 신뢰도 - 자원 요소 : 인적 자원, 하드웨어 자원, 소프트웨어 자원 - 생산성 요소 : 개발자 능력, 개발 기간 소프트웨어 비용 산정 기법 하향식 비용 산정 기법 - 전문가 감정 기법 : 조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰해 가장 편리하고 신속하게 비용을 산정할 수 있지만 개인적이고 주관적일 수 있습니다. - 델파이 기법 : 전문가 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가의 의견을 종합하여 산정하는 기법..
UML 다이어그램 UML - 시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호간의 의사소통이 원할하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어입니다. 다이어그램 - 사물과 관계를 도형으로 표현한 것입니다. - 시스템을 가시화한 뷰를 제공함으로써 의사소통에 도움을 줍니다. - 정적 모델링에서는 주로 구조적 다이어그램을 사용하고, 동적 모델링에서는 주로 행위 다이어그램을 사용합니다. 구조적 다이어그램 - 클래스 다이어그램 : 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현합니다. - 객체 다이어그램 : 클래스에 속한 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현합니다. - 컴포넌트 다이어그램 : 실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페..