1과목 소프트웨어 설계
1. 요구사항 분석시 필요한 기술로 거리가 먼것
->설계 및 코딩 기
요구사항 분석은 사용자의 요구를 이해하는 과정이며, 설계 및 코딩은 그 후의 작업이다.
2. -인터페이스를 정의하여 어떤 클래스가 인스턴스화 될것인지는 서브클래스가 결정하도록 하는것
- Virtual-Constructor패턴이라고도함 이 디자인 패턴은?
->Factory Metrhod패턴
일반적으로 디자인 패턴은 소프트웨어 설계 문제를 해결하기 위한 정형화된 접근 방식이다. 각 패턴은 특정 상황에서의 구조 및 행동을 명시하는 데 사용된다.
Visitor 패턴: 객체 구조에 새로운 연산을 추가할 수 있는 기술.
Observer 패턴: 객체의 상태 변화에 대해 통지하는 기술.
Factory Method 패턴: 객체 생성을 서브클래스에 맡기는 기술.
Bridge 패턴: 구현과 추상을 분리하여 독립적으로 변할 수 있는 기술.
3. 럼바우 객체 지향 분석과 거리가 먼 것
-> 정적 모델링
*럼바우 객체 모델: 객체지향 분석의 방법론으로, 데이터와 개체 간의 관계를 정립하는 데 중점을 둠.
기능 모델링
시스템의 기능과 요구사항을 정의하고 도식화하는 과정.
사용자의 요구에 따른 기능을 중심으로 모델을 구성.
동적 모델링
시스템의 상태 변화나 객체 간의 상호작용을 표현.
주로 상태 다이어그램이나 시퀀스 다이어그램을 사용하여 시스템의 행동을 설명.
객체 모델링
시스템의 객체와 그 객체 간의 관계를 아이템화.
주로 클래스 다이어그램을 통해 데이터의 구조와 관계를 설명
4.애자일 기법에대한 설명으로 맞지 않은것
->계획에 중점을 두어 변경 대응이 난해하다
애자일기법은 고객과 소통을 중요시함. 변경 대응에 탄력적임
5. 미들웨어 솔루션의 유형에 포함되지 않은것
->Web Server
미들웨어 솔루션
미들웨어는 소프트웨어와 뒷단 데이터베이스, 응용 프로그램, 네트워크를 상호 연결하고 그 사이에서 데이터 통신을 중개하는 소프트웨어 계층. 즉, 미들웨어는 다양한 데이터를 효과적으로 처리하고, 애플리케이션이 서로 원활하게 상호작용할 수 있도록 돕는 역할을 함.
Web Server: 웹 서버는 클라이언트의 요청을 처리하고 응답하는 서버로, 주로 정적 콘텐츠 제공에 사용되지만, 미들웨어의 범주에 포함되지 않음.
WAS: 웹 애플리케이션 서버로, 미들웨어의 한 종류로 간주.
RPC: 원격 프로시저 호출로, 다른 컴퓨터에서 실행되는 프로시저를 호출할 수 있도록 도와주는 미들웨어.
ORB: 객체 요청 중개자로, 분산 객체 간의 통신을 돕는 미들웨어 기술.
6.UML에서 시퀀스 다이어그램의 구성 항목에 해당하지 않는것
-> 확장
UML 시퀀스 다이어그램과 기타 다이어그램 구성 항목
*시퀀스 다이어그램의 구성 항목
생명선 (Lifeline): 객체를 나타내는 수직선.
메시지 (Message): 객체 간의 상호작용을 나타내는 화살표.
활동 (Activation): 객체가 활성 상태인 때 표시하는 직사각형.
그외
*유스케이스 다이어그램 구성 항목
행위자 (Actor): 시스템과 상호작용하는 외부 엔티티.
유스케이스 (Use Case): 시스템의 기능을 타원으로 표현.
관계 (Relationship): 행위자와 유스케이스 간의 연결선.
*클래스 다이어그램 구성 항목
클래스 (Class): 객체의 속성과 메소드를 정의하는 직사각형.
속성 (Attribute): 클래스의 데이터.
*메소드 (Method): 클래스의 기능을 나타냄.
관계 (Relationship): 클래스 간의 관계를 연결하는 선.
활동 다이어그램 구성 항목
*활동 (Activity): 수행될 작업을 나타내는 막대.
결정 노드 (Decision Node): 조건에 따라 경로를 선택하는 다이아몬드.
시작/종료 점: 다이어그램의 시작과 끝을 나타내는 원.
7. 객체지향에서 정보 은닉과 가장 밀접한 관계가 있는 것
->Encapsulation
Encapsulation (캡슐화): 정보 은닉을 구현하는 주요 개념으로, 이 원리를 통해 객체의 내부 내용을 보호한다.
Class (클래스): 객체를 정의하는 청사진으로, 정보 은닉의 기본 단위이지만 직접적인 연관은 적다.
Method (메소드): 클래스의 행동을 정의하는 기능으로, 정보 은닉을 지원하지만 본질적인 개념은 아님.
Instance (인스턴스): 클래스의 구체적인 객체로, 정보 은닉이 적용되지만 직접적인 관계는 아니다.
8. 디자인 패턴 중에서 행위적 패턴에 속하지 않는 것
->프로토타입 패턴
디자인 패턴은 소프트웨어 개발에서 발생하는 일반적인 문제를 해결하기 위한 재사용 가능한 솔루션의 템플릿이다.
다양한 상황에 맞춰 설계된 패턴으로, 소프트웨어의 구조, 객체 간 상호작용을 도와준다.
디자인 패턴의 주요 유형
생성 패턴 (Creational Patterns): 객체 생성과 관련된 패턴이다. 예: 싱글턴(Singleton), 팩토리 메서드(Factory Method).
구조 패턴 (Structural Patterns): 클래스와 객체를 조합하여 더 큰 구조를 만드는 데 필요한 패턴이다. 예: 어댑터
(Adapter), 데코레이터(Decorator).
행위 패턴 (Behavioral Patterns): 객체 간의 상호작용과 책임 분배를 다루는 패턴이다. 예: 옵저버(Observer), 전략(Strategy).
8번 문제: 디자인 패턴 중에서 행위적 패턴에 속하지 않는 것은?
행위적 패턴: 커맨드, 옵저버, 상태 패턴이 포함된다.
프로토타입 패턴: 객체의 복제를 다루는 생성 패턴이어서 행위적 패턴이 아니다.
9. UI설계 원칙 중 누구나 쉽게 이해하고 사용할 수 있어야 한다는 원칙
->직관성
10. 코드의 기본 기능으로 거리가 먼 것
->복잡성
표준화: 코드의 일관성과 이해 용이성을 높이는 과정이다.
분류: 개별 코드 또는 객체를 그룹화하여 관리하는 기능이다.
식별: 코드를 통해 특정 로직이나 객체를 쉽게 인식할 수 있게 하는 기능이다
11. 컴포넌트 설계시 ( )에 의한 설계를 따를경우 해당 명세서에는
(1)컴포넌트의 오퍼레이션 사용 전에 참이 되어야 할 선행조건
(2)사용 후 만족되어야 할 결과조건
(3) 오퍼레이션이 실행되는 동안 항상 만족되어야 할 불변조건 등이 포함되어야 함.
->협약
12. UML모델에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위다이어그램에 해당하지 않는것은?
->배치 다이어그램
유스케이스 다이어그램 (Use Case Diagram): 시스템의 기능과 사용자 간의 상호작용을 나타냄. → 행위 다이어그램.
시퀀스 다이어그램 (Sequence Diagram): 객체 간의 메시지 흐름과 상호작용을 시간 순서대로 나타냄. → 행위 다이어그램.
활동 다이어그램 (Activity Diagram): 프로세스의 흐름과 작업의 순서를 표현함. → 행위 다이어그램.
배치 다이어그램 (Deployment Diagram): 시스템 구성 요소의 하드웨어와 소프트웨어 배치 구조를 나타냄. → 구조 다이어그램.
13. 객체 지향 소프트웨어 공학에서 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현하는 것은?
-> 클래스
*트랜지션 (Transition):
객체의 상태가 바뀌는 과정을 나타내는 용어. UML에서 상태 다이어그램에서 사용됨.
* 시퀀스 (Sequence):
일반적으로는 시간의 흐름에 따라 객체 간의 상호작용을 나타내는 용어. UML의 시퀀스 다이어그램과 관련됨.서브루틴 * * * 서브루틴(Subroutine):
특정 작업을 수행하기 위한 코드 블록으로 프로그램 내에서 반복적으로 사용할 수 있음.
14. UML 모델에서 '차'클래스와 각 클래스 관계로 옳은것은?
-> 일반화 관계
일반화 관계 (Generalization Relationship):
부모 클래스와 자식 클래스 간의 관계를 의미. 차(automobile)는 자동차(차량)라는 기본 클래스의 하위 집합이 될 수 있음.
상속 관계로, 차 클래스가 각 차량의 하위 클래스를 나타낼 수 있음.
추상화 관계 (Abstraction Relationship):
객체의 본질적인 특성과 기능을 추출해내는 과정. 경량화된 개념적 모델로 나타낼 수 있음.
의존 관계 (Dependency Relationship):
한 클래스가 다른 클래스의 존재에 의존할 때 표현되는 관계. 예를 들어, 차 클래스가 특정 엔진 클래스를 사용할 때 나타남.
그룹 관계 (Grouping Relationship):
여러 개체를 하나의 그룹으로 묶는 관계. 객체 간의 구성이나 집합 관계를 나타내지만 소프트웨어 디자인에서는 자주 사용되진 않음.
클래스 간의 공식적인 관계 모델링에는 적합하지 않음.
15. 객체지향 소프트웨어 설계시 디자인 패턴을 구성하는 요소로 거리가 먼 것
->개발자 이름
16. 자료 사전에서 자료의 반복을 의미하는 것은?
->{ }
17. 객체지향 설계 원칙 중, 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위클래스)으로 교체할 수 있어야 함을 의미하는 원칙
->LSP
리스코프 치환 원칙 (LSP)
서브타입은 기반 타임(상위 클래스)으로 언제나 대체 가능해야 함.
서브클래스 객체가 상위 클래스 인스턴스를 요구하는 모든 상황에서 정상적으로 작동해야 함.
코드의 일관성을 높이고, 유지보수를 용이하게 함.
관련 원칙(선지)
단일 책임 원칙 (SRP): 클래스는 하나의 책임만 가져야 함.
개방-폐쇄 원칙 (OCP): 클래스를 수정하지 않고 확장 가능해야 함.
인터페이스 분리 원칙 (ISP): 클라이언트가 필요하지 않은 메소드를 의존하지 않도록 여러 인터페이스를 사용해야 함.
의존성 역전 원칙 (DIP): 고수준 모듈은 저수준 모듈에 의존하지 않아야 함.
18. 자료흐름도의 구성요소
-> process, data flow, data store, terminator
19.CASE도구에 대한 설명으로 거리가 먼 것
->2000년대 이후 소개되었으며, 객체지향 시스템에 한해 효과적으로 활용된다.
설명: CASE 도구는 2000년대 이전에도 존재하였으며, 객체지향 방식뿐만 아니라 기타 방법론에서도 활용된다.
20. 인터페이스 요구 사항 검토 방법에 대한 설명이 옳은 것은?
->동료검토
리팩토링:
오류: "작성자 이외의 전문 검토 그룹이 요구 사항 명세서를 조사"라고 설명하는데, 리팩토링은 일반적으로 코드를 개선하는 과정으로, 요구 사항 검토와는 관계가 없다.
인스펙션:
인스펙션은 일반적으로 명세서를 정밀하게 검토하는 과정으로, 자동화된 도구를 사용할 수 있으나, 요구 사항 검토의 맥락에서는 주로 문서화된 명세서를 기반으로 진행된다. 해당 설명은 완전하지 않아 혼동을 줄 수 있다.
CASE 도구:
CASE 도구는 문서화 자료를 사전 배포하고 회의를 통해 검토할 수 있도록 지원하지만, 자동화 도구에 중점을 두고 있다는 점에서 혼란을 줄 수 있다. 간편한 회의 진행과는 다소 차이가 있어 설명이 부족하다.
'정보처리기사' 카테고리의 다른 글
2020년도 6월 정보처리기사 기출 분석 3과목 : 데이터베이스 구축 (0) | 2025.01.23 |
---|---|
2020년도 9월 정보처리기사 기출 분석 2과목 : 소프트웨어설계 (1) | 2025.01.22 |
2020년도 6월 정보처리기사 기출 분석 2과목 : 소프트웨어설계 (2) | 2025.01.22 |
2020년도 9월 정보처리기사 기출 분석 1과목 : 소프트웨어설계 (0) | 2025.01.21 |
2020년도 6월 정보처리기사 기출 분석 1과목 : 소프트웨어설계 (1) | 2025.01.20 |