1과목 소프트웨어 설계
1. DBMS 현행 시스템 분석시 고려사항
가성호기구
가용성/성능/상호호환성/기술지원/구축비용
-> 가성비 따지지 말고 호화스러운 기구를 구매하자.
2. 자료 사전 기호
{ } : 자료의 반복을 나타내는 기호
** : 주석
() : 자료 생략 가능을 나타내는 기호
[] : 자료의 선택을 나타내는 기호
3. 데이터 흐름도(DFD)의 구성 요소
Process(처리기) : 입력된 데이터를 원하는 형태로 변환하여 출력하기 위한 요소
Data Flow(데이터 흐름) : DFD의 구성요소(프로세스, 데이터 저장소, 외부 엔터티)들 간의 주고받는 데이터 흐름을 나타내는 요소
Data Store(데이터 저장소) : 데이터가 저장된 장소를 나타내는 요소
Terminator(단말) : 프로세스 처리 과정에서 데이터가 발생하는 시작과 종료를 나타내는 요소
4. UML 의 구조적 다이어그램
클객 컴배 복패
클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지
5. UML 의 행위적 다이어그램(동적 다이어그램)
유시커 상활타
유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 타이밍
6. 시퀀스 다이어그램 구성요소
객체, 생명선, 실행, 메시지
7. 클래스 다이어그램 구성요소
Class name(클래스 이름), Attribute(속성), Operation(연산), Access Modifier(접근 제어자)
8. Xp 의 5가지 가치
용기(Courage), 단순성(Simplicity), 의사소통(Communication), 피드백(Feedback), 존중(Respect)
대표적인 애자일 방법론임.
9. UML 의 기본 구성요소
사물(Things), 관계(Realationship), 다이어그램(Diagram)
10. CASE 의 원천 기술
구조적 기법, 프로토타이핑 기술, 자동프로그래밍 기술, 정보 저장소 기술, 분산처리 기술
11. 요구사항 관리 도구의 필요성
비용 편익 : 요구사항 변경으로 인한 비용
편익 분석 : 변경 추적 요구사항 변경의 추적
영향 평가 : 요구사항 변경에 따른 영향 평가
12. HIPO 특징
체계적인 문서관리 가능
기호, 도표등을 사용해서 보기가 쉽고, 이해도 쉬움
기능과 자료의 의존 관계를 동시에 표현할 수 있음
변경, 유지보수 용이
시스템의 기능을 고유 모듈들로 분할하여 이들 간의 인터페이스를 계층 구조로 표현한 것을 HIPO 차트 라고 함
13. 코드 설계 종류
연상코드 : 코드만 보고 대상을 연상할 수 있도록 명칭 일부를 약호 형태로 넣어 연상할 수 있도록 구성된 코드
블록코드 : 공통성이 있는 것끼리 블록으로 구분하고, 각 블록 내에서 일련번호를 부여하는 코드
표의 숫자 코드 : 대상 자료의 물리적인 수치인 길이, 넓이, 용량 등을 표시한 코드
십진 코드 : 10진수 형태로 표현한 코드
그룹 분류식 코드 : 대상을 기준에 따라 대분류, 중분류, 소분류로 구분하여 번호를 부여한 코드
14. 소프트웨어의 상위 설계
자료구조 설계, 아키텍처 설계, 인터페이스 설계, 프로시저 설계
모듈설계 = 하위 설계
15. 소프트웨어 아키텍처 품질 속성
가변성 보사시
가용성, 변경 용이성, 성능, 보안성, 사용편의성, 시험 용이성
16. 결합도(Coupling) 강한 순서
내공 외제 스자
내용 결합도 – 공통 결합도 – 외부 결합도 – 제어 결합도 – 스탬프 결합도 – 자료 결합도
CONTENT – COMMON – EXTERNAL – CONTROL – STAMP – DATA
17. 응집도(Cohesion) 강한 순서
기순 통절 시논 우 (학교 종이 땡땡땡 으로 외우기)
기능적 응집도 – 순차적 응집도 – 통신적 응집도 – 절차적 응집도 – 시간적 응집도 – 논리적 응집도 – 우연적 응집도
Functional – Sequential – Communication - Procedural – Temporal – Logical – Concidental
18. 소프트웨어 아키텍처 4+1 뷰
유논프구배
유스케이스 뷰, 논리 뷰, 프로세스 뷰, 구현 뷰, 배포 뷰
19. 객체 지향 구성 요소
구성요소
|
설명
|
클래스(class)
|
객체 지향 프로그램에서 데이터를 추상화 하는 단위
|
객체(object)
|
자신 고유의 데이터를 가지며 클래스에서 정의한 행위를 수행
|
메소드(method)
|
클래스로부터 생성된 객체를 사용하는 방법
객체가 메시지를 받아 실행해야할 객체의 구체적인 연산
|
메시지(message)
|
객체에게 어떤 행위를 하도록 지시하기 위한 방법
|
인스턴스(instance)
|
프로그램에서 클래스를 통해 만든 실제의 실행 객체, 프로그램의 실행 단계에서 나타남
|
속성(Property)
|
한 클래스 내에 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의
성질, 분류, 식별, 수량, 현재 상태 등의 대한 표현 값
|
20. 객체 지향 기법
기법
|
설명
|
캡슐화
(Encapsulation)
|
서로 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고 필요한 인터페이스만을 밖으로 드러내는 기법
|
상속성
(Inheritance)
|
상위 클래스의 속성과 메서들르 하위 클래스에서 재정의 없이 물려받아 사용하는 기법
|
다형성
(Polymorphism)
|
하나의 메시지에 대해 각 개체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력
|
추상화
(Abstraction)
|
공통 성질을 추출하여 클래스를 설정하는 기법
|
정보은닉
(Information Hiding)
|
코드 내부 데이터와 메서드를 숨기고 공개 인터페이스를 통해서만 접근이 가능하도록 하는 코드 보안 기술
|
관계성(Relationship)
|
두 개 이상의 엔터티 형에서 데이터를 참조하는 관계를 나타내는 기법
|
21. 객체 지향 설계 원칙
원칙
|
설명
|
단일 책임 원칙
(Single Responsibility Principle)
|
하나의 클래스는 하나의 목적을 위해서 생성되며, 클래스가 제공하는 모든 서비스는 하나의 책임을 수행하는 데 집중되어 있어야 한다는 원칙
객체지향 프로그래밍의 5원칙 중 나머지 4원칙의 기초 원칙
|
개방 폐쇄 원칙
(Open Close Principle)
|
소프트웨어의 구성요소(컴포넌트, 클래스, 모듈, 함수)는 확장에는 열려있고, 변경에는 닫혀있어야 한다는 원칙
|
리스코프 치환의 원칙
(Liscov Substitution Principle)
|
서브타입(상속받은 하위 클래스)은 어디서나 자신의 기반타입(상위 클래스)으로 교체할 수 있어야 한다는 원칙
|
인터페이스 분리의 원칙
(Interface Segregation
Priciple)
|
한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다는 원칙
|
의존성 역전의 원칙
(Dependency Inversion Principle)
|
실제 사용 관계는 바뀌지 않으며, 추상을 매개로 메시지를 주고받음으로써 관계를 최대한 느슨하게 만드는 원칙
|
22. 디자인 패턴 구성 요소
패문솔 사결샘
패턴이름, 문제, 솔루션, 사례, 결과, 샘플 코드
23. 디자인 패턴 종류
행위 패턴 : 클래스나 객체들이 상호 작용하는 방법과 역할 분담을 다루는 패턴
미디이에이터, 인터프리터, 이터레이터, 템플릿 메서드, 옵저버, 스테이트, 비지터, 커맨드, 스트레티지, 메멘토, 체인 오브 리스판서빌리티
생성 패턴 : 객체 인스턴스 생성에 관여, 클래스 정의와 객체 생성 방식을 구조화, 캡슐화를 수행하는 패턴
빌더, 프로토 타입, 팩토리 메서드, 앱스트랙 팩토리, 싱글톤
구조 패턴 : 더 큰 구조 형성 목적으로 클래스나 객체의 조합을 다루는 패턴
브리지, 데코레이터, 퍼사이드, 플라이 웨이트, 프록시, 컴포지트, 어댑터
24. 요구사항 개발 절차
도출 – 분석 – 명세 – 확인 및 검증
25. 정형기술 검토(FTR) 의 지침
제품 검토에만 집중
의제를 제한하여 진행
논쟁, 반박 제한
문제 영역 명확히 표시
참가자 수를 제한하고 사전준비 강요
26. 인스펙션 과정
계획 – 사전교육 – 준비 – 인스펙션 회의 – 수정 – 후속 조치
소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾아내는 공식적 검토 방법
27. 그레이웨어
바이러스나 명백한 악성 코드를 포함하지 않는 합법적 프로그램이면서도 사용자를 귀찮게 하거나 위험한 상황에 빠뜨릴 수 있는 프로그램
28. 아키텍쳐 설계과정
설계 목표 설정 – 시스템 타입 결정 – 스타일 적용 및 커스터마이즈 – 서브 시슽메의 기능, 인터페이스 동작 작성 – 아키텍쳐 설계 검토
29. 기능 모델링 순서
입출력 자료 정의 – 자료 흐름도 작성 – 기능 명세서 작성 – 제약 조건 파악
30. 미들웨어 솔루션의 유형
WAS, RPC, ORB
'정보처리기사 필기 준비' 카테고리의 다른 글
정보처리기사 필기시험 합격 후기! (0) | 2024.10.18 |
---|---|
5과목 정보 시스템 구축관리 정리 (2) | 2024.10.18 |
4과목 프로그래밍 언어 활용 정리 (0) | 2024.10.18 |
3과목 데이터베이스 정리 (1) | 2024.10.18 |
2과목 소프트웨어 개발 정리 (1) | 2024.10.18 |