본문 바로가기

전체 글

(151)
소스 코드 최적화 소드 코드 최적화 - 나쁜 코드를 배제하고 클린코드로 작성하는 것이 목표입니다. 클린 코드 - 누구나 쉽게 이해하고 수정 및 추가할 수 있는 단순, 명료한 코드로 잘 작성된 코드를 의미합니다. 작성 원칙 - 가독성 : 누구든지 코드를 쉽게 읽을 수 있도록 작성해야 합니다. - 단순성 : 코드를 간단하게 작성해야 합니다. - 의존성 배제 : 코드가 다른 모듈에 미치는 영향을 최소화하도록 작성해야 합니다. - 중복성 최소화 : 코드의 중복을 최소화 합니다. - 추상화 : 상위 클래스에는 프로그램 특성만 간략하게, 하위 클래스에는 세부적 내용을 작성해야 합니다. 나쁜 코드 - 프로그램의 로직이 복잡하고 이해하기 어려운 코드를 의미합니다. 스파게티 코드 - 코드의 로직이 서로 복잡하게 얽혀있는 코드입니다. 외계..
클래스(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 원칙) - 시스템 변경이나 확장에 유연한 시스템을 설계하기 위해 지켜야 할 다섯 가지 원칙입니다. 단일 책임 원칙 - 객체는 단 하나의 책임만 가져야 합니다. 개방-폐쇄의 원칙 - 기존의 코드를 변경하지 않고 기능을 추가할 수 있도록 설계해야 합니다. - 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 합니다. 리스코프 교체의 원칙 - 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 합니다. 인터페이스 분리 원칙 - 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 합니다. 의존 역전 원칙 - 각 객체들 간의 의존 관계가 성립될 때, 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존 관계를 맺어야 한다는..
소프트웨어 비용 산정 소프트웨어 비용 산정 - 소프트웨어의 개발 규모에 소용되는 인원, 자원, 기간 등으로 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 산정하는 것입니다. 소프트웨어 비용을 결정하는 요소 - 프로젝트 요소 : 제품 복잡도, 시스템 크기, 요구되는 신뢰도 - 자원 요소 : 인적 자원, 하드웨어 자원, 소프트웨어 자원 - 생산성 요소 : 개발자 능력, 개발 기간 소프트웨어 비용 산정 기법 하향식 비용 산정 기법 - 전문가 감정 기법 : 조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰해 가장 편리하고 신속하게 비용을 산정할 수 있지만 개인적이고 주관적일 수 있습니다. - 델파이 기법 : 전문가 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가의 의견을 종합하여 산정하는 기법..