디자인패턴 종류 ⭐
- 생성 패턴
- 싱글턴, 추상팩토리, 팩토리메서드, builder, prototype
- 팩토리메서드 : 상위 클래스에서 객체를 생성하는 I/F정의, 하위 클래스에서 인스턴스를 생성하도록 하는 방식
- prototype : 먼저 생성하고, 인스턴스를 복제해 사용하는 구조
- 싱글턴, 추상팩토리, 팩토리메서드, builder, prototype
- 구조 패턴
- bridge, 어댑터, 컴포지트, 데코레이터, 프록시
- 어댑터 : 기존에 구현되어 있는 클래스에 기능 발생 → 기존 클래스를 재사용할 수 있도록 중간에 맞춰주는 역할
- bridge, 어댑터, 컴포지트, 데코레이터, 프록시
- 행위 패턴
- visitor, 상태, 전략, 옵저버, 커맨드, 인터프리터, 이터레이터
객체지향 분석 방법론
- Coad-Yourdon
- E-R 다이어그램
- 럼바우
- 객(체) - 객체 / 동(적) - 상태 / 기(능) - 자료
- Booch
- 미시적 개발 프로세스, 거시적 개발 프로세스 모두 사용
- Jacobson
- use-case 강조
현행 시스템 분석에서 고려해야 할 항목
- DBMS 분석 / 네트워크 분석 / OS 분석 / 플랫폼 기능,성능 분석 / 비즈니스 융합 분석
미들웨어
- 분산 컴퓨팅 환경에서 서로 다른 기종 간의 HW or 프로토콜, 통신환경 등을 연결해 응용프로그램과 운영환경 간에 원만한 통신이 이루어질 수 있게 서비스를 제공하는 SW
- 표준화된 I/F 제공 → 시스템 간의 데이터 교환에 일관성 보장
- RPC(Remote Procedure Call)
- 응용프로그램의 프로시저 사용 → 원격 프로시저를 로컬 프로시저처럼 호출하는 방식
CASE (Computer Aided Sw Engineering)
- 일관성 분석 → 요구사항 변경사항의 추적 / 분석 / 관리 / 표준 준수여부 확인
- SW 모듈 재사용성 향상됨
- 자동화된 기법 → SW 품질 향상됨
- SW 유지보수 간편하게 수행 가능
- 원천 기술
- 구조적 기법 / 프로토타이핑 기술 / 자동 프로그래밍 기술 / 정보 저장소 기술 / 분산처리 기술
- 상위 CASE
- 요구 분석, 설계 단계 지원
- 하위 CASE
- 코드 작성, 테스트, 문서화 지원
UML (Unified Modeling Language) ⭐
- 기능적 모델
- 사용자 측면에서 본 시스템 기능
- Use case Diagram 사용
- 정적 모델
- 객체, 속성, 연관관계, 오퍼레이션의 시스템 구조를 나타냄
- Class Diagram 사용
- 시스템 내 클래스의 정적 구조를 표현하고 클래스-클래스, 클래스-속성 관계 나타냄
- 동적 모델
- 시스템의 내부 동작을 말함
- Sequence Diagram, State Diagram, Activity Diagram 사용
- Sequence Diagram : 객체 사이 오가는 메시지를 시간순으로 나타냄
- State Diagram : 객체 가진 상태, 상태 변환 나타냄
- 관계
- 연관 관계
- 의존 관계
- 한 사물의 명세가 바뀌면, 다른 사물에 영향을 주는 관계
- 실체화 관계
- 일반화 관계
애자일 SW 개발방법 가치 ⭐
- 프로세스 도구 < 개인, 상호작용
- 계약 협상 < 고객 협업
- 이해하기 좋은 문서 < 실제 작동하는 SW
- 계획 < 변화 대응
시스템 구성요소
- 입력(Input) / 처리(Process) / 출력(Output) / 제어(Control) / 피드백(Feedback)
시스템 품질 속성
- 가용성 / 변경용이성 / 성능 / 보안성 / 사용편의성 / 시험용이성
연계시스템 구성
- 송신 시스템
- 연계할 데이터를 DB, APP으로부터 연계 테이블 or 파일 형태로 생성해 통신
- 수신 시스템
- 수신한 연계테이블, 파일 데이터를 수신 시스템에서 관리하는 데이터 형식에 맞춰 변환 → DB에 저장 or APP에서 할 수 있도록 제공
- 중계 서버
- 송/수신 시스템 사이에서 데이터를 송수신하고, 연계 데이터의 송수신 현황을 모니터링 함. 연계 데이터의 보안⬆ 및 多 플랫폼 지원
구조적 다이어그램 [클객컴배복패] ⭐
- 클래스 / 객체 / 컴포넌트 / 배치 / 복합체 / 패키지
기능적 요구사항
- 시스템이 수행해야 하는 행위들을 구체화한 것
- 시스템에서 제공해야 할 기능을 정의한 것
- 입력 기능, 출력 기능, DB 기능, 통신 기능 등
비기능적 요구사항
- 시스템이 가져야하는 기능 이외의 요구사항
- 시스템의 전체적인 품질이나, 고려해야하는 제약 사항 등
- 사용용이성, 효율성, 신뢰성, 이식성, 유연성, 확장성 등
- 성능적인 면
- 응답 속도, 자원 사용량 등
- 보안 측면
- 침입 대응, 침입 탐지, 사용자 인증, 권한 부여 등
요구사항
- 요구 분석
- SW 개발의 실제적인 첫 단계
- 사용자의 요구에 대해 이해하는 단계
- 요구 추출
- 프로젝트 계획 단계에 정의한 문제의 범위 안에 있는 사용자의 요구를 찾는 단계
- 도메인 분석
- 요구에 대한 정보 수집, 배경 분석 → 모델링
마스터-슬레이브 패턴
- 마스터 : 작업 분리, 배포
- 슬레이브가 반환한 결과값으로부터 최종 결과값을 계산
- 슬레이브 : 요청 작업 처리
- 마스터의 작업 요청을 처리, 처리된 결과를 되돌려줌
UI의 구분
- CLI (Command Line I/F)
- DOS, Unix 등 OS 조작을 위해 사용하던 것
- 텍스트 터미널을 통해 사용자와 컴퓨터가 명령문자열로 상호 작용하는 방식
- GUI (Graphical User I/F)
- 사용자가 편리하게 사용할 수 있도록, 입출력 등의 기능을 알기 쉬운 아이콘 따위의 그래픽으로 나타낸 것
- NUI (Natural User I/F)
- 사용자의 말/행동으로 기기를 조작
- VUI (Voice User I/F)
- 사람의 음성으로 기기 조작
- OUI (Organic User I/F)
- 모든 사물-사용자 간의 상호작용을 위함
'🏆 자격증 > ⚡ 정처기' 카테고리의 다른 글
[필기] DB 구축 정리 - 2022년 (0) | 2023.07.05 |
---|---|
[필기] DB 구축 정리 - 2021년 (0) | 2023.07.05 |
[필기] SW 개발 정리 - 2022년 (0) | 2023.07.04 |
[필기] SW 개발 정리 - 2021년 (0) | 2023.07.04 |
[필기] SW 설계 정리 - 2022년 (0) | 2023.07.04 |