* 요약정리5 까지 있음
* 반복되서 나오는것들은 만날때마다 넘기지말고 반복해서 확인
통합구현
▷ 통합구현
ㄴ 사용자들의 요구사항에 맞게 중계시스템과 송 수신 시스템간의 관계를 적절히 구현하는 것
- 송신 시스템 : 운영 DB에서 연계 데이터를 식별, 추출하여 인터페이스 파일로 생성 후 송신
- 중계 시스템 : 송신과 수신 시스템을 연결해주는 서버나 시스템, 보안성 강화
- 수신 시스템 : 수신한 테이블을 운영 DB나 환경에 맞게 변환하여 처리, 활용
▷ 모듈
전체 시스템 설계 시,
ㄴ 공통모듈 : 각각의 서브 시스템에서 공통 사용 모듈을 하나로 묶은 라이브러리
ㄴ 단위모듈 : 한가지 동작을 수행하는 기능을 모듈로 구현한 것
- 모듈화 : 하나의 큰 작업을 각 기능에 따라 실제로 개발할 수 있는 작은 단위로 나누는 것
ㄴ 결합도는 낮을수록, 응집도는 높을수록 좋음
▷ 연계 데이터
- 연계 범위 및 항목 정의
→ 연계코드 매핑 및 정의
→ 변경된 데이터 구분방식 정의(식별자, 변경구분, 관리를 위한 정보)
→ 데이터 연계 방식 정의
▷ 연계 매커니즘(송신 시스템, 수신 시스템)
- 직접 연계 방식 : 중간 매개체 없이. DB Link, DB Connection Pool, JDBC, API
- 간접 연계 방식 : 중간 매개체 이용. EAI*, ESB*, 소켓
ㄴ 전송 구간의 암호화 : 가상 사설망(VPN), SSL(전송 계층), IPsec(네트워크 계층)
ㄴ 연계 데이터 보안 프로토콜(메일 관련) : PGP, PEM, S/MINE
* EAI(Enterprise Application Intergration)
* EBS(Enterprise Servixe Bus) : 중앙집중식 지향 아키텍처, 서비스 중심 통합 지향
* SOAP(Simple Object Access Protocol) : HTTP, HTTPS, SMTP 등 사용, xml기반 메세지 교환
* UDDI : xml 기반의 레지스토리. 월드 와이드 웹 컨소시엄(W3C)와 IETF 표준 사용
SOAP 의 초기버전을 사용
▷ 형상 관리
- 항목 : 프로젝트 요구분석서, 설계서, 프로그램, 사용자지침서, 운영 및 설치 지침서
- 정의 : 변경을 관리하기 위한 일련의 활동
- 베이스라인 : 정식 변경 통제 절차들을 통해서만 변경 가능
- 형상관리의 기능* :식별, 통제, 감사, 기록(보고) // "식통감기" 순서도 암기
- 도구: CVS, SVN, Git(Hub)
ㄴ CVS : 하나의 파일 동시작업, 다양한 운영체제 지원
ㄴ SVN : CVS 단점 보완, 원자적 커밋, 실패시 롤백, 개별 개발자만의 이력 X
ㄴ Git(Hub) : 분산형 버전 관리 시스템, 중앙서버 접속 필요 X
▷ 그 외 주요 키워드 : 소프트웨어 재사용(생산성↑), 소프트웨어 재공학(유지보수성↑),
소프트웨어 역공학(프로그램 분석), 리팩토링
▷ 디자인 패턴(GoF) : 재사용성, 모듈성, 유지보수
- 생성 패턴 : 빌더, 프로토타입, 싱글톤, 추상팩토리, 팩토리 메소드
- 구조 패턴 : 브릿지, 어댑터, 프록시, 데코레이터(동적), 퍼케이드
- 행위 패턴 : 비지터, 커멘드, 옵저버(감시, 1:다의 객체의존관계), 이터레이터, 스테이트, 메멘토(게임)
서버 프로그램 구현
▷ 개발 환경 구축 구현도구 : IDE
- 개발언어 선정 기준 : 적정성, 효율성, 이식성, 친밀성, 범용성
- 빌드 도구 : Ant, Maven, Gradle
- 테스트 도구 : xUnit, Spring Test, JMeter
▷ 개발 환경
- 클라이언트 환경 : 사용자와 인터페이스를 연결(제공)하는 하드웨어
- 서버 환경 구성
ㄴ 애플리케이션 서버(웹 서버 &웹 애플리케이션 서버), 데이터베이스 서버, 파일 서버
▷ 공통 모듈 구현
- 모듈이란? 프로그램을 기능별로 분할한 논리적인 일부분, 서브 루틴
ㄴ 결합도 : (높) 내공외 제스자 (낮) / 낮을수록 굿
ㄴ 응집도 : (높) 기순통절 시논우 (낮) / 높을수록 굿
- 구조적 분석 도구 : DFD, DD, Mini-spec
- 구조적 설계 도구
+ 구조도 : Fan-in/Fan-out
+ Jackson : 트리구조, 기본/순차/선택/반복 기호 사용
+ HIPO* : 기능표현 중심, 계층도표(가시적도표)/총괄도표/세부도표(IPO다이어그램)
하향식구조, 신뢰성 비교적↓
+ NS Chart* : 논리기술에 중점, Box 다이어그램, Chapin Chart라고도 함
순차 / 선택 / 반복 3가지 제어구조, GOTO문 X
▷ 테스트 케이스
- 구성요소 : 식별자, 테스트 항목, 입력명세, 출력명세, 환경설정, 특수 절차요구, 의존성 기술
▷ 프레임워크 : 모듈화, 재사용성, 확장성, 제어의 역흐름
- 서버개발 프레임워크 : MVC패턴 기반
(MVC 패턴을 가장 적절하게 표현한 디자인패턴 : Observer*)
*Spring (Java), Node.js (Javascript), Django (Python)
▷ 서버 프로그램 테스트(=소프트웨어 테스트) : 요소의 결함을 찾아내는 활동
- 파레토의 법칙 : 80대20의 법칙. 결함이 20에 집중 되어있음
- 살충제 패러독스 : 동일한 테스트케이스로 반복 실행하면 더이상 결함 발견이 어려움
- 오류-부재의 궤변 : 오류보다 사용자의 만족도가 더 중요
▷ 배치 프로그램 : 일련의 작업들을 작업 단위로 묶어 일괄처리 하는 것
- 종류 : 스프링배치, 쿼츠 U스케줄러
인터페이스 구현
▷ 시스템 인터페이스 기능 : 내/외부의 모듈간의 연결 기능
- 인터페이스 : 접점, 경계면
- 구성요소 : 송신시스템, 수신시스템, 중계시스템(EAI, ESB), 프로토콜, 데이터포맷(Json, Xml)
ㄴ 기술 : SOAP(xml기반 메세지, 신뢰성있게 전송), RPC(원격제어 통신기술), DB Link(동일 DB내 연계 가능)
* TCP VS UDP - (높)신뢰성 : TCP / (높)속도 : UDP
* APM* : 인터페이스 감시도구
▷ 인터페이스 포맷
- XML : SOAP, REST
- JSON : 속성 - 값, REST
- MTOM : 전송 최적화, SOAP
▷ 인터페이스 솔루션
- MCI : 다양한 고객 접점 채널과 기업 내부 시스템 간에서 사용
- EAI* : 기업 내부 및 외부 애플리케이션 사이의 통합을 위해 제공
- FEB : 기업내부(특히 금융권) 시스템과 대외 기관의 통합을 위해 제공, 전용선이 있음
- ESB* : SOA기반, 고객 서비스* 요청에 대해 다양한 시스템을 인터페이스
▷ 데이터 표준(인터페이스) : 데이터 형식이 맞지 않을 떄 연계코드의 변환 및 매핑처리가 필요
- EAI* : 기업 내 외부 앱 사이의 통합을 위해 제공되는 프로세스
- 구성요소 : EAI Platform, Application Adaptor, 브로커(변환 솔루션), Business workflow
ㄴ 주요기능 : 비지니스 프로세스 관리, 데이터 브로커, APP 접근 기능, 데이터 접근 기능, 플랫폼 기능
ㄴ 구축유형 : 포인트 투 포인트(1:1), 허브앤 스포크(유지보수 비용절감),
메세지 버스(대량 데이터, 병목현상 有), 하이브리드(허브+버스)
▷ 인터페이스 기능구현 : JSON, XML, Ajax
▷ 인터페이스 주요 보안 취약점
- 전송 구간 암호화 : 전용선 통신(FEP), VPN
- 데이터 암호화 : 암호화 알고리즘
ㄴ 알고리즘 종류
- (대칭키)DES, AES, ARIA, SEED / (해시-일방향)SHA-256 / (비대칭키) RSA, Elgamal, ECC
* 주요 데이터 암호화 방식 : API 방식(App레벨에서 암호화) / 플러그인 방식(DB레벨에 확장성 프로시저)
하이브리드 방식
▷ 테스트 자동화도구 : xUnit, STAF(다양한 환경*지원), Fitnesse, NTAF, Selenium(다양한 웹브라우저*지원), Watir
화면 설계
▷ 소프트웨어 아키텍처 : 기본틀(뼈대)
▷ 사용자 인터페이스 : 인간과 소프트웨어의 의사소통을 도와주는 매개체
- 평가기준 : 학습용이성(직관성), 속도, 오류 빈도, 사용자의 만족, 사용법의 유지
- 인터페이스의 종류 : CLI(Unix, pos), GUI(마우스입력), NUI(음성인식), OUI
* HCI : 인간과 컴퓨터 사이 상호작용을 연구한 설계모형, 시스템 인식, 시스템에 이바지
- 기본 원칙 : 직관성, 유효성, 학습성, 유연성
- J.Foley의 사용자 인터페이스 4단계
ㄴ 개념 단계 (대화형, 심리적), 의미 단계, 문구 단계 (명령문), 어휘 단계(특정 명령)
▷ UI 요구사항 : 품질요구사항 - 기신사효유이**
ㄴ 필수 암기요소 : ISO 9126-프로덕트 품질, ISO 15004(SPICE), ISO 12007-프로세스 품질
- 기능적 요구사항 : 사용자의 관점
- 비지능적 요구사항 : 개발자 관점. 기밀 보안성, 자원, 성능, 보안, 품질 관련
▷ UI 프로토타입(시제품)
- 장점 : 이해가 쉽고, 개발 시간이 감소, 오류를 사전에 발견 가능
- 단점 : 적절한 타협이 필요, 자원 효율성 관점에서 자원 소모가 많아 효율성이 떨어짐
▷ UI 설계 도구의 종류
- 와이어프레임 : 화면 단위의 레이아웃, 손그림, 파워포인트, 스케치 등
- 목업 : 정적 모형. 파워 목업, 발사믹 목업 등
- 스토리보드 : 최종 산출물*, 파워포인트, 키노트, 스케치 등
- 프로토타입 : (정적인)스토리보드, 와이어프레임에 인터렉션(동적효과) 추가 적용, 시뮬레이션
※ 유용성 : 사용자가 시스템을 통해 원하는 목표를 얼마나 효과적으로 달성할 수 있는가의 척도
▷ UI 시나리오 작성 원칙
- 인터렉션의 흐름 정의, 순서, 분기, 조건, 루프 등 명시
- 작성의 요건 : 완전성, 일관성, 이해성, 가독성, 수정용이성, 추적용이성
- 작성 원칙 : 주요키의 위치와 기능(일관성 보장), 공통 UI요소(UI흐름 설명),
기본스크린 레이아웃(레이아웃 일관성), 기본 인터렉션 규칙(공통사용 조작법 기술),
공통단위 테스크 흐름(인터렉션 흐름), 케이스 문서
'시험공부 > 정보처리기사' 카테고리의 다른 글
| [정보처리기사 실기] 전날 보는 키워드 요약 정리1 (0) | 2024.05.10 |
|---|---|
| [정리노트] DAY4) UML 다이어그램 (0) | 2024.02.25 |
| [정리노트] DAY3) 요구 사항 확인, 요구 공학 프로세스, 객체 지향 분석 (0) | 2024.02.23 |
| [정리노트] DAY2) 개발비용 산정 및 개념 적용 문제풀이 (0) | 2024.02.22 |
| [정리노트] DAY1) 요구사항 분석, 소프트웨어 생명 주기 (1) | 2024.02.19 |