제1과목: 소프트웨어 설계 (1~20번)

| 정보처리기사 필기 기출문제 | |||||
| 24년 3회 | 1과목 | 2과목 | 3과목 | 4과목 | 5과목 |
| 24년 2회 | 1과목 | 2과목 | 3과목 | 4과목 | 5과목 |
| 24년 1회 | 1과목 | 2과목 | 3과목 | 4과목 | 5과목 |
| 23년 3회 | 1과목 | 2과목 | 3과목 | 4과목 | 5과목 |
| 23년 2회 | 1과목 | 2과목 | 3과목 | 4과목 | 5과목 |
| 23년 1회 | 1과목 | 2과목 | 3과목 | 4과목 | 5과목 |
1. UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호로 맞는 것은?
① << >>
② (( ))
③ {{ }}
④ [[ ]]
| 스테레오 타입 : UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하기 위해 사용 - 겹화살괄호 ' << >> '사이에 표현할 형태를 기술 - ex. <<include>>, <<extend>>, <<interface>>, <<exception>>, <<constructor>> 답: 1번 확장모델, 새로운 요소 정의 → << >> |
2. 메시지 지향 미들웨어(Message-Oriented Middleware, MOM)에 대한 설명으로 틀린 것은?
① 느리고 안정적인 응답보다는 즉각적인 응답이 필요한 온라인 업무에 적합하다.
② 독립적인 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할을 한다.
③ 송신측과 수신측의 연결 시 메시지 큐를 활용한다.
④ 서비스 가용성이 높다.
| 미들웨어 : '운영체체-응용프로그램', '서버-클라이언트' 사이에서 다양한 서비스를 제공 (중간(Middle)에 위치하는 소프트웨어) - 서로 다른 기종의 하드웨어나 운영체제(OS), 네트워크 프로토콜 위에서 애플리케이션들이 서로 원활하게 통신할 수 있도록 다리 역할 DB: 클라이언트와 원격 DB 연결 (예: ODBC, JDBC). RPC (원격 프로시저 호출, Remote Procedure call): 다른 컴퓨터의 프로시저를 내 것처럼 호출. - 즉각적인 응답이 필요한 경우에 주로 사용 MOM (메시지 지향 미들웨어, Message Oriented Middleware): 메시지 기반의 비동기 서비스 제공. - MOM은 메시지를 큐에 쌓아두었다가 나중에 처리하는 비동기 방식 - 보낸 즉시 답이 와야하는 '실시간/즉각적'업무보다는, 응답이 조금 늦더라도 데이터를 안전하게 보관하고 전달하는 업무에 적합 - 예. 대량의 로그 수집, 작업 예약 TP Monitor (Transaction Processing Monitor): 항공권 예약 등 트랜잭션 처리 감시/제어. ORB (객체 요청 브로커, Object Request Broker): 객체지향 시스템에서 객체 간 통신 지원 (예: CORBA). WAS (웹 애플리케이션 서버, Web Application Server): 동적 콘텐츠 처리를 위한 미들웨어 (예: WebLogic, WebSphere) 답: 1번 MOM : 메시지 큐, 비동기, 지연 처리 가능, 안정성(전달 보장) 중시 RPC : 직접 호출, 동기, 실시간/즉각적 응답 중시 |
3. 럼바우(Rumbaugh)의 객체지향 분석 절차를 가장 바르게 나열한 것은?
① 객체 모형 → 동적 모형 → 기능 모형
② 객체 모형 → 기능 모형 → 동적 모형
③ 기능 모형 → 동적 모형 → 객체 모형
④ 기능 모형 → 객체 모형 → 동적 모형
| 럼바우(Rumbaugh) 분석 기법 : 객체 모델링 → 동적 모델링 → 기능 모델링 순으로 이루어진다. (객동기) 객체 (Object) 모델링 : 정보 모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체 다이어그램으로 표시하는 것 동적 (Dynamic) 모델링 : 상태 다이어그램(상태도)을 이용하여 시간의 흐름에 따른 객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현하는 모델링 기능 (Functional) 모델링 : 자료 흐름도(DFD)를 이용하여 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현한 모델링 답: 1번 (주요 키워드) 객체 모델링 : 객체, 속성, 연산, 구조, 정보 모델링 동적 모델링 : 상태변화, 이벤트, 시간의 흐름, STD 기능 모델링 : 자료 흐름, 프로세스, DFD, 결과물 |
4. Gof(Gangs of Four) 디자인 패턴 분류에 해당하지 않는 것은?
① 생성 패턴
② 객체 패턴
③ 행위 패턴
④ 구조 패턴
| 생성(Creational) 패턴 (5개): 추상 팩토리, 빌더, 팩토리 메서드, 프로토타입, 싱글톤 (암기: 추빌팩프싱) 구조(Structural) 패턴 (7개): 어댑터, 브릿지, 컴포지트, 데코레이터, 퍼사드, 플라이웨이트, 프록시 (암기: 어브컴데퍼플프) 행위(Behavioral) 패턴 (11개): 책임 연쇄, 커맨드, 인터프리터, 반복자, 중재자, 메멘토, 옵저버, 상태, 전략, 템플릿 메서드, 방문자 답: 2번 ※'생구행' 으로 암기 |
5. 다음 중 가장 결합도가 강한 것은?
① Date Coupling
② Stamp Coupling
③ Common Coupling
④ Control Coupling
| 결합도 최소화, 응집도 최대화(★) - 결합도(Coupling): 모듈 간의 관계가 얼마나 끈끈한가. 낮을수록(독립적일수록) 좋음 - 결합도 순서 : (낮음) 자료(Date) → 스탬프(Stamp) → 제어(Control) → 외부(Coupling) → 공통(Common) → 내용(Content) (높음) - 암기tip : 테(자)스형 제 외저래 공유랑 닮았데 내가 - 응집도(Cohesion): 모듈 내부의 요소들이 하나의 목적을 위해 얼마나 뭉쳐있는가. 높을수록(단단할수록) 좋음 - 응집도 순서 : (낮음) 우연(Coincidental) → 논리(Logical) → 시간(Temporal) → 절차(Procedural) → 교환(통신)(Communication) → 순차(Sequential) → 기능(Functional) (높음) - 암기tip : 우리논덜 시절에 먹었던 통통한 순대 기임밥 답: 3번 |
6. 아키텍처 설계 과정이 올바른 순서로 나열된 것은?
(가) 설계 목표 설정
(나) 시스템 타입 결정
(다) 스타일 적용 및 커스터마이즈
(라) 서브시스템의 기능, 인터페이스 동작 작성
(마) 아키텍처 설계 검토
① 가→나→다→라→마
② 나→가→다→라→마
③ 가→다→나→라→마
④ 가→나→라→다→마
| 소프트웨어 아키텍쳐의 설계 과정 1. 설계 목표 설정 2. 시스템 타입 결정 3. 아키텍쳐 패턴 적용(스타일 적용 및 커스터마이즈) 4. 서브시스템 구체화(서버시스템의 기능, 인터페이스 동작 작성) 5. 검토 답: 1번 ※ 아키텍쳐 설계 : 큰 그림에서 작은 그림으로 내려가는 하향식 흐름 ※ 목타스서검 으로 암기 |
7. 소프트웨어 설계 시 구축된 플랫폼의 성능 특성 분석에 사용되는 측정 항목이 아닌 것은?
① 응답 시간(Response Time)
② 서버 튜닝(Server Tuning)
③ 가용성(Availability)
④ 사용률(Utilization)
| 플랫폼 성능 특성 분석의 4대 측정 항목 (응가사경) - 처리량(Throughput)(=가용성): 단위 시간당 처리하는 일의 양 (많을수록 좋음) - 응답 시간(Response Time)(=응답 시간): 요청 후 응답이 올 때까지 걸리는 시간 (짧을수록 좋음) - 반환 시간(Turnaround Time)(=경과 시간): 업무 처리를 시작해서 결과를 얻을 때까지의 시간 (짧을수록 좋음) - 자원 사용률(Resource Utilization)(=사용률): CPU, 메모리 등 자원을 얼마나 효율적으로 썼는가 (적절해야 함) ※ DBMS 분석 시 고려사항 - 가용성 (Availability) - 성능 (Performance) - 상호 호환성 (Interoperability) - 기술 지원 (Technical Support) - 구축 비용 (Cost) - (오답) 네트워크 구성도 → 네트워크 분석 시 필요 답: 2번 서버 튜닝은 성능 분석 결과에 따라 시스템을 최적화하는 '행위' → 성능을 측정하는 '항목'이 아님 (※ 성능이 안 좋네? 튜닝하자!) |
8. 다음 내용이 설명하는 객체지향 설계 원칙은?
- 클라이언트는 자신이 사용하지 않는 메소드와 의존관계를 맺으면 안 된다.
- 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안 된다.
① 단일 책임 원칙(SRP)
② 인터페이스 분리 원칙(ISP)
③ 개방-폐쇄 원칙(OCP)
④ 의존 역전 원칙(DIP)
| 객체지향 설계 원칙 (SOLID) 단일 책임 원칙 (SRP, Single Responsibility) : 객체는 단 하나의 책임만 가져야 한다. 개방-폐쇄 원칙 (OCP, Open-Closed) : 기존의 코드를 변경하지 않고 기능을 추가할 수 있도록 설계해야한다. 리스코프 치환 원칙 (LSP, Liskov Substitution) : 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다. 인터페이스 분리 원칙 (ISP, Interface Segregation) : 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 한다. 의존 역전 원칙 (DIP, Dependency Iversion) : 각 객체들 간의 의존 관계가 성립될 때, 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존 관계를 맺어야 한다. 답: 2번 |
2. XP(eXtreme Programming)의 5가지 가치로 거리가 먼 것은?
① 용기
② 의사소통
③ 정형 분석
④ 피드백
| XP(eXtreme Programming) 는 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발과정을 반복 극대화하여 개발 생산성을 향사시키는 방법 - XP는 짧고 반복적인 개발 주기, 단순한 설계, 고객의 적극적인 참여를 통해 소프트웨어를 빠르게 개발하는 것을 목적으로 한다. - 릴리즈의 기간을 짧게 반복하면서 고객의 요구사항 반영에 대한 가시성을 높인다. - 애자일 개발 방법론을 기반으로 한다. - XP의 핵심가치 5가지 : 의사소통, 단순성, 용기, 존중, 피드백 (Communication, Simplivity, Coutage, Respect, Feedback) XP의 주요 실천 사항 Pair Programming (짝 프로그래밍): 두 명이서 한 컴퓨터로 함께 코딩. Collective Ownership (공동 코드 소유): 누구든지 코드를 수정할 수 있음. Continuous Integration (지속적 통합): 수시로 코드를 합치고 빌드함. 답: 3번 |
10. 객체지향 개념에서 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고 필요한 인터페이스만을 밖으로 드러내는 과정은?
① 메시지(Message)
② 캡슐화(Encapsulation)
③ 다형성(Polymorphsim)
④ 상속(Inheritance)
| 객체지향의 주요 개념 객체 : 객체는 데이터와 데이터를 처리하는 함수를 묶어 놓은(캡슐화한) 하나의 소프트웨어 모듈 - 클래스라는 설계도로 만든 실체. 속성(데이터)과 연산(메서드)으로 구성 클래스 (Class) : 공통된 속성과 연산(행위)을 갖는 객체의 집합으로, 객체의 일반적인 타입(Type)을 의미 - 클래스는 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀이다. - 클래스는 객체지향 프로그램에서 데이터를 추상화하는 단위이다. - 클래스에 속한 각각의 개체를 인스턴스(Instance)라 하며, 클래스로부터 새로운 객체를 생성하는 것을 인스턴스화라고 한다. 캡슐화 (Encapsulation) : 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것 - 캡슐화된 객체는 인터페이스를 제외한 세부 내용이 은폐(정보 은닉)되어 외부에서의 접근이 제한적이기 때문에 외부 모듈의 변경으로 인한 파급 효과가 적다. - 캡슐화된 객체들은 재사용이 용이하다. - 객체들 간의 메시지를 주고받을 때 상태 객체의 세부 내용은 알 피룡가 없으므로 인터페이스가 단순해지고, 객체 간의 결합도가 낮아진다. 상속 (Inheritance) : 이미 정의된 상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스(자식 클래스)가 물려받는 것 - 상속을 이용하면 하위 클래스는 상위 클래스의 모든 속성과 연산을 자신의 클래스 내에서 다시 정의하지 않고서도 즉시 자신의 속성으로 사용할 수 있다. - 하위 클래스는 상위 클래스로부터 상속받은 속성과 연산 외에 새로운 속성과 연산을 첨가하여 사용할 수 있다. 다형성 (Polymorphism) : 메시지에 의해 객체(클래스)가 연산을 수행하게 될 때 하나의 메시지에 대해 각각의 객체(클래스)가 가지고 있는 고유한 방법(특성)으로 응답할 수 있는 능력을 의미 - 갹채(클래스)들은 동일한 메소드명을 사용하며 같은 의미의 응답을 한다. - 응용 프로그램 상에서 하나의 함수나 연산자가 두 개 이상의 서로 다른 클래스의 인스턴스들을 같은 클래스에 속한 인스턴스처럼 수행할 수 있도록 하는 것이다. - ex. '짖다'라는 명령에 개는 '멍멍', 고양이는 '야옹' 하는 것 ※ 메시지(Message) : 객체들끼리 서로 통신하기 위해 주고받는 명령이나 요구사항을 의미 답: 2번 (주요 키워드) 캡슐화 : 하나로 묶기, 정보 은닉 상속 : 물려받기, 재사용 다형성 : 같은 이름, 다른 행동, 오버로딩/오버라이딩 추상화 : 공통 특징만 추출 |
11. HIPO(Hierarchy Input Process Output)에 대한 설명으로 거리가 먼 것은?
① 상향식 소프트웨어 개발을 위한 문서화 도구이다.
② 구조도, 개요 도표 집합, 상세 도표 집합으로 구성된다.
③ 기능과 자료의 의존 관계를 동시에 표현할 수 있다.
④ 보기 쉽고 이해하기 쉽다.
| HIPO : 시스템의 분석 및 설계나 문서화할 때 사용되는 기법, 시스템 실행 과정인 입력, 처리, 출력의 기능을 나타냄 - 기본 시스템 모델은 입력, 처리, 출력으로 구성되며 하향식 소프트웨어 개발을 위한 문서화 도구 - 체계적인 문서 관리가 가능 - 기호, 도표 등을 사용하므로 보기 쉽고 이해하기도 쉽다. - 기능과 자료의 의존 관계를 동시에 표현할 수 있다. - 변경, 유지보수가 용이하다. HIPO Chart 의 종류 - 가시적 도표 ( Visual Diagram ) - 총체적 도표 ( Overview Diagram ) - 세부적 도표 ( Detail Diagram ) 답: 1번 ※ HIPO 는 하향식 으로 기억 (주로 상향식으로 오답 만들어서 출제함) |
12. 데이터 흐름도(DFD)의 구성 요소에 포함되지 않는 것은?
① Date Flow
② Data Dictionary
③ Process
④ Data Stroe
| 자료 흐름도 (DFD) : 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법으로 자료 흐름 그래프, 버블 차트라고도 한다. - 프로세스 ( Process ) : 원 - 자료 흐름 ( Data Flow ) : 화살표 - 자료 저장소( Data Store ) : 평행선 - 단말 (Terminator ) : 사각형 ※DFD는 시간의 흐름을 표현하지 못 한다. (20년 4회 기출) 답: 2번 |
13. 객체에게 어떤 행위를 하도록 지시하는 명령은?
① Class
② Instance
③ Object
④ Message
| Class (클래스): 객체를 만들기 위한 설계도 또는 틀입니다. 공통된 속성과 연산을 갖는 객체들의 집합을 정의합니다. Instance (인스턴스): 클래스라는 설계도를 바탕으로 실제로 메모리에 생성된 구체적인 객체를 의미합니다. Object (객체): 데이터(속성)와 이를 처리하는 함수(연산)가 결합된 실체입니다. 클래스의 인스턴스라고도 합니다. Message (메시지): 객체에게 특정 작업을 수행하도록 요청하는 통신 수단이다. - 메시지를 받는 수신자(Object), 수행할 이름(Method), 작업에 필요한 인자(Parameters)로 구성됨 - 예. 리모컨으로 TV 객체에게 "채널 변경:이라는 메시지를 전달하는 것 답: 4번 메시지 : "지시", "명령", "상호작용", "통신" 클래스 : "틀", "설계도", "추상화" |
14. Gof(Gangs of Four) 디자인 패턴 중 생성 패턴으로 옳은 것은?
① Singleton Pattern
② Adapter Pattern
③ Decorator Pattern
④ State Pattern
| 생성(Creational) 패턴 (5개): 추상 팩토리, 빌더, 팩토리 메서드, 프로토타입, 싱글톤 (암기: 추빌팩프싱) 구조(Structural) 패턴 (7개): 어댑터, 브릿지, 컴포지트, 데코레이터, 퍼사드, 플라이웨이트, 프록시 (암기: 어브컴데퍼플프) 행위(Behavioral) 패턴 (11개): 책임 연쇄, 커맨드, 인터프리터, 반복자, 중재자, 메멘토, 옵저버, 상태, 전략, 템플릿 메서드, 방문자 답: 1번 싱글톤(Singleton)은 생성 패턴 |
15. 럼바우(Rumbaugh) 분석 기법에서 정보 모델링이라고 하며, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규졍하여 다이어그램을 표시하는 모델링은?
① Object
② Dynamic
③ Function
④ Static
| 럼바우(Rumbaugh) 분석 기법 : 객체 모델링 → 동적 모델링 → 기능 모델링 순으로 이루어진다. (객동기) 객체 (Object) 모델링 : 정보 모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체 다이어그램으로 표시하는 것 동적 (Dynamic) 모델링 : 상태 다이어그램(상태도)을 이용하여 시간의 흐름에 따른 객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현하는 모델링 기능 (Functional) 모델링 : 자료 흐름도(DFD)를 이용하여 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현한 모델링 답: 1번 (주요 키워드) 객체 모델링 : 객체, 속성, 연산, 구조, 정보 모델링 동적 모델링 : 상태변화, 이벤트, 시간의 흐름, STD 기능 모델링 : 자료 흐름, 프로세스, DFD, 결과물 |
16. 다음 결합도의 종류에 대한 설명 중 틀린 것은?
① 자료 결합도 : 모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도
② 내용 결합도 : 한 모듈이 다른 모듈과 제어 신호를 이용하여 통신하고, 공유되는 공통 데이터 영역을 사용할 때의 결합도
③ 스탬프 결합도 : 모듈 간의 인터페이스로, 배열의 자료 구조가 전달될 때의 결합도
④ 외부 결합도 : 어떤 모듈에서 선언한 데이터를 다른 모듈에서 참조할 때의 결합도
| 결합도(Coupling) - 결합도 순서 : (결합도 낮음) 자료 → 스탬프 → 제어 → 외부 → 공통 → 내용 (결합도 높음) - 암기tip : 테(자)스형 제 외저래 공유랑 닮았데 내가 자료 (Data) : 모듈 간의 인터페이스가 자료 요소로만 구성될 때 스탬프 (Stamp) : 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때 제어 (Control) : 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호를 이용하여 통신하거나 제어 요소를 전달 외부 (External) : 어떤 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조할 때 공통(공유) (Common) : 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때 내용 (Content) : 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때 답: 2번 2번 보기 설명은 공통(공유) 결합도 |
17. CASE(Computer Aided Software Engineering)에 대한 설명으로 틀린 것은?
① 소프트웨어 모듈의 재사용성이 향상된다.
② 자동화된 기법을 통해 소프트웨어 품질이 향상된다.
③ 소프트웨어 사용자들에게 사용 방법을 신속히 숙지시키기 위해 사용된다.
④ 소프트웨어 유지보수를 간편하게 수행할 수 있다.
| CASE의 주요 기능 S/W 라이프 사이클 전 단계의 연결 : 요구 분석부터 유지보수까지 단계별로 발생하는 정보들을 통합 관리하고 연결 그래픽 지원 : 모델링 도구로서 다양한 다이어그램(UML, DFD 등)을 시각적으로 그릴 수 있도록 지원 다양한 소프트웨어 개발 모형 지원 : 폭포수 모형, 나선형 모형, 프로토타입 등 다양한 개발 방법론을 지원하는 도구들이 포함 표준화 : 개발 방법론을 표준화하고 문서화의 품질을 높여줌 재사용성 : 모듈의 재사용성을 높여 개발 비용과 기간을 단축 오류 발견 : 개발 초기 단계에서 결함을 발견하여 품질을 향상 분류 : 상위(Upper) CASE는 계획·분석·설계를, 하위(Lower) CASE는 구현·테스트를 지원 답: 3번 자동화 도구이기 때문에 사용방법 숙지랑 상관없다. |
18. 파이프 필터 형태의 소프트웨어 아키텍처에 대한 설명으로 옳은 것은?
① 노드와 간선으로 구성된다.
② 서브시스템이 입력 데이터를 받아 처리하고 결과를 다음 서브 시스템으로 넘겨주는 과정을 반복한다.
③ 계층 모델이라고도 한다.
④ 3개의 서브시스템(모델, 뷰, 제어)으로 구성되어 있다.
| 파이프-필터 패턴(Pipe-Filter Pattern) : 데이터 스트림 절차의 각 단계를 필터(filter) 컨포넌트로 캡슐화하여 파이프(Pipe)를 통해 데이터를 전송하는 패턴 (※단방향으로 흐른다, 오버헤드 발생한다) - 필터 컴포넌트는 재사용성이 좋고, 추가가 쉬워 확장이 용이하다. - 필터 컴포넌트들을 재배치하여 다양한 파이프라인을 구축하는 것이 가능하다. - 파이프-필터 패턴은 데이터 변환, 버퍼링, 동기화 등에 주로 사용된다. - 대표적으로 UNIX의 쉘(Shell)이 있다. ※① 노드와 간선으로 구성된다 → 이는 일반적인 그래프(Graph) 구조나 네트워크 토폴로지에 대한 설명에 가까움 ※③ 계층 모델이라고도 한다 → 이는 계층형 패턴(Layered Pattern)에 대한 설명. 시스템을 상위/하위 계층(Layer)으로 나누어 수직적으로 구성하는 방식 ※④ 3개의 서브시스템(모델, 뷰, 제어)으로 구성되어 있다 → 이는 아주 유명한 MVC(Model-View-Controller) 패턴에 대한 설명 답: 2번 |
19. 공통 모듈에 대한 명세 기법 중 해당 기능에 대해 일관되게 이해되고 한 가지로 해석될 수 있도록 작성하는 원칙은?
① 상호작용성
② 명확성
③ 독립성
④ 내용성
| 공통 모듈 : 여러 프로그램에서 공통적으로 사용할 수 잇는 모듈 정확성 (Correctness) : 시스템 구현 시 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성함 명확성 (Clarity) : 해당 기능을 이해할 때 중의적으로 해석되지 않도록 명확하게 작성함 ("일관되게 이해", "한가지로 해석") 완전성 (Completeness) : 시스템 구현을 위해 필요한 모든 것을 기술함 일관성 (Consistency) : 공통 기능들 간 상호 충돌이 발생하지 않도록 작성함 추적성 (Traceability) : 기능에 대한 요구사항의 출처, 관련 시스템 등의 관계를 파악할 수 있도록 작성함 답: 2번 |
20. 바람직한 소프트웨어 설계 지침이 아닌 것은?
① 적당한 모듈의 크기를 유지한다.
② 모듈 간의 접속 관계를 분석하여 복잡도와 중복을 줄인다.
③ 모듈 간의 결합도는 강할수록 바람직하다.
④ 모듈 간의 효과적인 제어를 위해 설계에서 계층적 자료 조직이 제시되어야 한다.
| 결합도 최소화, 응집도 최대화(★) - 결합도(Coupling): 모듈 간의 관계가 얼마나 끈끈한가. 낮을수록(독립적일수록) 좋음 - 결합도 순서 : (낮음) 자료(Date) → 스탬프(Stamp) → 제어(Control) → 외부(Coupling) → 공통(Common) → 내용(Content) (높음) - 암기tip : 테(자)스형 제 외저래 공유랑 닮았데 내가 - 응집도(Cohesion): 모듈 내부의 요소들이 하나의 목적을 위해 얼마나 뭉쳐있는가. 높을수록(단단할수록) 좋음 - 응집도 순서 : (낮음) 우연(Coincidental) → 논리(Logical) → 시간(Temporal) → 절차(Procedural) → 교환(통신)(Communication) → 순차(Sequential) → 기능(Functional) (높음) - 암기tip : 우리논덜 시절에 먹었던 통통한 순대 기임밥 복잡도와 중복성 감소: 당연히 설계는 단순하고 일관성이 있어야 유지보수가 쉬움 하나의 입구와 하나의 출구: 프로그램의 로직이 꼬이지 않도록 입구와 출구를 단일화하는 것이 구조적 설계의 기본 모듈의 크기는 적정 수준을 유지: 모듈을 너무 작게 쪼개면 모듈의 개수가 너무 많아짐, 이렇게 되면 모듈 간의 통합 비용(연결하고 관리하는 비용)이 지나치게 커지게 됨. 너무 커도 이해하기 힘들지만, 너무 작아도 관리 효율이 떨어지기 때문 답: 3번 ※ 모듈의 크기는 적정 수준을 유지해야하지, 작게 구성하면 관리 효율이 떨어짐 |
| 정보처리기사 필기 기출문제 | |||||
| 24년 3회 | 1과목 | 2과목 | 3과목 | 4과목 | 5과목 |
| 24년 2회 | 1과목 | 2과목 | 3과목 | 4과목 | 5과목 |
| 24년 1회 | 1과목 | 2과목 | 3과목 | 4과목 | 5과목 |
| 23년 3회 | 1과목 | 2과목 | 3과목 | 4과목 | 5과목 |
| 23년 2회 | 1과목 | 2과목 | 3과목 | 4과목 | 5과목 |
| 23년 1회 | 1과목 | 2과목 | 3과목 | 4과목 | 5과목 |
'자격증 요약 > 정보처리기사' 카테고리의 다른 글
| [24년 3회 2과목] 정보처리기사 필기 문제 풀이 (0) | 2026.01.16 |
|---|---|
| [23년 1회 1과목] 정보처리기사 필기 문제 풀이 (0) | 2026.01.14 |
| [23년 3회 1과목] 정보처리기사 필기 문제 풀이 (1) | 2026.01.13 |
| [24년 1회 1과목] 정보처리기사 필기 문제 풀이 (1) | 2026.01.13 |
| [24년 2회 1과목] 정보처리기사 필기 문제 풀이 (0) | 2026.01.13 |