일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 정보처리기사 필기
- 정보처리기사
- 한이아지
- 코틀린 강의
- 코틀린 배우기
- 코틀린배우기
- IT
- 코틀린강의
- 큐버
- 안드로이드
- 정처기 요약
- 코틀린 기초
- edwith
- 정보처리기사 정리
- 정보처리기사 요약정리
- kkuber
- 정처기 정리
- 정보처리기사 내용정리
- 정처기
- Kotlin
- 코틀린기초
- 개발자
- 정보처리기사 요약
- 부스트코스
- naver
- 부스트코스 서포터즈
- boostcourse
- 정처기 필기
- 코틀린
- 백엔드
- Today
- Total
초보 개발자의 성장기
한이아지와 함께하는 정보처리기사 1과목 4번째) 인터페이스 설계 본문
이번에는 1과목 4번째 부분은
인터페이스 설계에 대해서 정리해보겠습니다!
(☆ 중요도 0.5 / ★ 중요도 1)
PART1. 소프트웨어 설계
- Chap01) 요구사항 설계
- 현행 시스템 분석
- 요구사항 확인
- 분석 모델 확인
- Chap02) 화면설계
- UI 요구사항 확인
- UI 설계
- Chap03) 애플리케이션 설계
- 공통 모듈 설계
- 객체지향 설계
- Chap04) 인터페이스 설계
- 인터페이스 요구사항 확인
- 인터페이스 대상 식별
- 인터페이스 상세 설계
Chap04) 인터페이스 설계
1. 인터페이스 요구사항 확인
1.1. 내 · 외부 인터페이스 요구사항 (★)
[1] 시스템 인터페이스 요구사항 구성
- 시스템 인터페이스는 독립적으로 떨어져 있는 시스템들끼리 서로 연동하여 상호 작용하기 위한 접속 방법이나 규칙
- 개발을 목표로 하는 시스템과 외부 시스템을 연동하는데 필요한 시스템 인터페이스에 대한 요구사항을 기술
- 요구사항 명세서 포함 요소 : 인터페이스 이름 및 주기, 연계 대상 시스템, 연계 범위 및 내용, 방식, 송신 데이터
[2] 시스템 인터페이스 요구사항 분류
- 기능적 요구사항 : 수행될 기능과 관련되어 소프트웨어가 가져야 하는 기능적 속성에 대한 요구사항
- 비기능적 요구사항 : 시스템이나 프로젝트 개발 과정 등에서 지켜야 할 제약 사항
[3] 내·외부 인터페이스 요구사항 분석 방안
1. 내·외부 인터페이스 관련 요구사항 식별 및 분류
① 요구사항 식별 : 내·외부 인터페이스 관련 명세서 및 현황 자료 준비
② 내 · 외부 인터페이스 관련 명세서 및 현황 자료 준비 : 현행 시스템의 대내외 연계도, 연계 인터페이스 목록,
대내외 시스템 간 연계 업무에 대한 업무 프로세스나 업무 처리 기준 등이 포함된 업무 정의서 준비
③ 기능 요구사항 및 비기능 요구사항 분류 : 요구사항 정의서의 내용을 검토하여 기능과 비기능 요구사항 분류
2. 내·외부 인터페이스 관련 요구사항 명세서 구체화
① 요구사항 정의서 세분화 : 요구사항 정의서 내용을 확인하여 분해가 필요할 경우 적절한 수준으로 세분화
② 내 · 외부 인터페이스 요구사항 이해 및 수정 : 요구사항 정의서의 요구 내용을 이해하고 구체화
③ 누락된 내·외부 인터페이스 요구사항 신규 정의 : 담당자 확인을 통해 누락 여부를 검토하고 필요 시 추가
④ 내 · 외부 인터페이스 요구사항 정리 : 수정 · 추가된 내 · 외부 인ㅌ페이스 요구사항 목록과 요구사항 정의서 정리
수정된 요구사항 정의서의 내용을 관련 이해관계자들에게 정리
1.2. 요구공학 (★★☆)
[1] 요구공학이란?
사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 활동
목적 : 이해관계자 사이에 효과적인 의사소통 수단 제공, 요구사항에 대한 공통된 이해 설정
불필요한 시간과 비용을 절감하고 변경 추적 가능
[2] 요구공학의 분류
구분 | 기능적 요구사항 | 비기능적 요구사항 |
개념 | 시스템이 제공하는 기능, 서비스에 대한 요구사항 | 시스템 구축에 대한 제약사항에 관한 요구사항 |
도출 방법 | 특정 입력에 대한 시스템 반응 동작을 기술 | 품질 속성에 관련하여 시스템이 갖춰야할 사항 기술 |
특성 | 기능성, 완전성, 일관성 | 신뢰성, 사용성 효율성, 유지보수성, 이식성, 보안성 |
사례 | * 온라인 홈페이지에서 쇼핑카트에 주문하고 싶은 품목을 저장할 수 있는 장바구니 기능 | * 특정 함수의 호출시간은 3초를 넘기지 말아야 함 * 시스템은 하루 24시간 가동되어야하고 가동률은 99.5%를 만족해야 함 |
[3] 요구사항 개발 절차 : 도분명확 (도가 넘으면 누구든 분노하는 게 명확하다)
요구사항 도출 → 요구사항 분석 → 요구사항 명세 → 요구사항 확인 및 검증 (책으로 읽어보는 것을 추천!)
[4] 요구사항 관리 단계 절차 : 협기변확 (협상에 대한 기준이 변함없이 확정적이어야돼!)
요구사항 협상 → 요구사항 기준선 설정 → 요구사항 변경관리 → 요구사항 확인 및 검증
[5] 요구사항 개별 단계 상세 설명
① 요구사항 도출 단계 : 소프트웨어가 해결해야 할 문제를 이해하고, 고객의 추상적 요구사항을 구체적으로 표현
주요 기법 | 설명 |
인터뷰 | 이해관계자와 직접 대화를 통해 정보를 수집하는 방법 |
브레인스토밍 | 회의 참석자들이 자유롭게 내놓는 아이디어를 수용할 수 있는 회의 |
델파이 기법 | 전문가의 경험적 지식을 통한 문제 해결 및 미래 예측 기법 |
롤 플레잉 | 장면을 설정하고 여러 사람이 각자가 맡은 역할을 연기하면서 요구사항을 분석하여 수집하는 기법 |
워크숍 | 단기간의 집중적인 노력을 통해 다양하고 전문적인 정보를 획득하고 공유하는 기법 |
설문조사 | 설문지 또는 여론조사 등을 이용해 간접적으로 정보를 수집하는 기법 |
② 요구사항 분석 단계 : 추출된 요구사항에 대해 완전성과 일관성을 확보하는 단계
순서 | 절차 | 설명 |
1 | 요구사항 분류 | 요구사항이 기능인지 비기능인지 확인, 요구사항이 소프트웨어에 미치는 영향 파악 |
2 | 개념 모델링 생성 및 분석 | 현실 세계의 상황을 단순화, 개념적으로 표현한 모델을 생성, 모델링 표기는 UML 사용 |
3 | 요구사항 할당 | 요구사항을 만족시키기 위한 아키텍처 구성요소를 식별하는 활동 |
4 | 요구사항 협상 | 요구사항이 충돌할 경우 적절한 지점에서 합의하기 위한 기법 |
5 | 정형 분석 | 형식적으로 정의된 의미를 지닌 언어로 요구사항을 표현 |
기법 | 설명 |
자료 흐름 지향 분석 | 데이터 흐름도(DFD)로부터 소프트웨어 구조를 유도하는 방법 |
객체 지향 분석 | 시스템의 기능과 데이터를 함께 분석, UML로 표준화 |
③ 요구사항 명세 단계 : 체계적으로 검토, 평가, 승인될 수 있는 문서를 작성하는 단계 -> 산출물은 요구사항 명세서
주요 기법 | 설명 |
비정형 명세 기법 | 사용자의 요구를 표현할 때 자연어를 기반으로 서술, 사용자와 개발자 이해 용이 정확성 및 검증에 문제 발생 가능 |
정형 명세 기법 | 정형 명세 기법은 사용자의 요구를 표현할 때 수학적인 원리와 표기법을 이용, 이해가 어려움 정형 명세 언어인 Z-스키마, Petri Nets, 상태 차트 활용, 표현이 간결하고 검증이 용이 |
④ 요구사항 확인 및 검증 단계 : 요구사항 명세서에 사용자의 요구가 올바르게 기술 되었는 지 검토, 베이스 라인 설정
(1) 요구사항 검증 주요 항목 : 명완검일수차개(명진이가 검을 들고 일수를 다니는 건 추하다)
명확성, 완전성, 검증 가능성, 일관성, 수정 용이성, 추적 가능성, 개발 후 이용성 (책으로 읽어보는 것을 추천!)
(2) 검증 방법
⒜ 요구사항 검토 (FTR) : 검토 담당자들이 수작업으로 결함 여부를 분석하는 방법
동워인 : 동쪽에서 전쟁을 일으킨 사람은 누구?
1) 동료 검토 : 명세서 작성자의 설명을 들으면서 동료들이 결함을 발견하는 방법
2) 워크쓰루 : 검토 회의 전 미리 명세서를 배포하여 사전 검토 후 회의를 통해 결함을 발견하는 방법
3) 인스펙션 : 명세서 작성자를 제외한 다른 전문가들이 명세서를 확인하면서 결함을 발견하는 방법
⒝ 프로토 타이핑 : 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측
⒞ 테스트 설계 : 요구사항이 현실적으로 테스트가능한 지 검토
⒟ CASE 도구 활용 : 일관성 분석을 통해 요구사항 변경사항의 추적, 분석 그리고 관리하고 표준 준수 여부 확인
⒠ Baseline을 통한 검증 : 요구사항 변경을 추적하고 통제하는 시점인 베이스라인을 통한 지속적 검증 수행
⒡ 요구사항 추적표 (RTM) 이용 검증 : 요구사항 정의서를 기준으로 개발 단계 별 최종 산출물이 어떻게 반영되었는 지 확인
2. 인터페이스 대상 식별
1.1. 시스템 아키텍처 (★)
[1] 시스템 아키텍처란?
시스템의 구조, 행위, 동작 원리를 설명하는 프레임워크, 시스템 각 컴포넌트가 무엇이고 어떻게 상호작용하는 지 설명
[2] 시스템 아키텍처 설계 원칙
⑴ 중점 고려사항
▶기술적 제약사항 : 중단시간 최소화 설계, 중단 없는 운영을 통한 가용성 확보, DB 서버 부하 경감 방안 검토, 분산 DB 검토
▶기술 요구사항 : UI 개발 도구, 미들웨어 기반 기술에 적합한 아키텍처 설계, 개발 및 인터페이스 방식 검토
▶기존 운영상의 문제점 개선 : 장애 발생을 감안한 용량 산정, 데이터 손실 없이 복구 가능하게 설계, 트랜잭션 부하 대처
⑵ 시스템 아키텍처 설계 원칙 : 대확고운보 (대확에 가면 고운 사람들을 보울 수 있다)
대규모 트랜잭션 처리 및 온라인 성능 보장, 시스템 아키텍처 확장성 보장, 서비스 고가용성 보장, 운영관리 효율성, 보안 강화
(책으로 읽어보는 것을 추천!)
[3] 시스템 아키텍처 물리설계
- 1 Tier 아키텍처 : 비즈니스 로직 + 데이터
- 2 Tier 아키텍처 : UI+비즈니스 로직 ㅡ 데이터
- 3 Tier 아키텍처 : UI ㅡ 비즈니스 ㅡ 데이터
1.2. 인터페이스 시스템 (★)
[1] 인터페이스 시스템이란?
서로 다른 두 시스템 · 장치 · 소프트웨어를 서로 이어주는 접속 및 중계 시스템
[2] 인터페이스 시스템 구성 : 송수중 (송수신중 ...)
구성 | 내용 |
송신 시스템 | 연계할 데이터를 DB와 APP으로부터 연계 테이블 또는 파일 형태로 생성하여 송신하는 시스템 |
수신 시스템 | 수신할 연계 테이블 또는 파일의 데이터를 수신 시스템에 맞게 변환하여 DB에 저장하거나 APP에서 활용 |
중계 서버 | 송신과 수신 시스템 사이에서 데이터를 송수신하고 모니터링하는 시스템 |
[3] 인터페이스 시스템의 데이터 표준 : 공개종 (공강 5번 아싸 개이득! 이제 종강)
구성 | 설명 |
인터페이스 데이터 공통부 | 인터페이스 표준 항목을 포함 |
인터페이스 데이터 개별부 | 송 · 수신 시스템에서 업무 처리에 필요한 데이터 포함 |
인터페이스 데이터 종료부 | 전송 데이터의 끝을 표시하는 문자를 포함하여 종료를 표시 |
[4] 인터페이스 시스템 식별
- 개별 시스템 식별 : 인터페이스 관련 자료들을 기반으로 개발하려는 시스템의 상세 식별 정보를 정의하고 목록 작성
- 내 · 외부 시스템 식별 : 인터페이스 관련 자료를 기반으로 연계할 시스템들의 상태 식별 정보를 정의하고 목록 작성
- 내 · 외부 시스템 환경 및 관리 주체 식별 : 시스템의 실제 운용 환경 및 하드웨어를 실제적으로 관리하는 담당자 확인
- 내 · 외부 시스템 네트워크 연결 정보 식별 : 내 · 외부 시스템을 연결하는 데 필요한 네트워크 정보 확인 (login, DB)
- 인터페이스 식별 : 인터페이스 요구사항 명세서와 목록으로 식별
- 인터페이스 시스템 식별 : 송 / 수신 시스템으로 구분하여 식별
3. 인터페이스 상세 설계
1.1. 내 · 외부 송 · 수신 (☆)
[1] 내 · 외부 송 · 수신 연계 방식
연계 방식 | 장점 | 단점 |
직접 연계 방식 | 중간 매개체가 없어 처리속도 빠르고 구현 단순 개발 비용과 기간이 짧음 |
결합도가 높아 시스템 변경 시 민감 통합 환경 구축이 어려움 |
간접 연계 방식 | 서버를 이용해 모니터링과 통제가 가능 다양한 환경들을 연계하고 통합 관리 가능 |
인터페이스와 아키텍처 연계가 복잡하고 연계 서버로 인한 성능 저하, 시간이 오래 소요 |
[2] 내 · 외부 송 · 수신 연계 기술 : 링커에제하소 (링커언의 에제자가 하소연을 함)
DB Link, DB Connection, API, JDBC, 하이퍼 링크, 소켓
1.2. 데이터 명세화
[1] 데이터 명세화란?
인터페이스 요구사항 분석 과정에서 식별한 연계 정보 그룹에 해당하는 정보를 분석하여 데이터 명세서를 만드는 작업
[2] 송 · 수신 데이터 명세화를 위한 정보 파악
- 개체 정의서 : DB 개념 모델링 단계에서 도출한 개체의 타입과 관련 속성, 식별자 등의 정보를 명세화한 정의서
(논리 DB 명, 엔터티 명, 엔터티 설명, 주 식별자 ...)
- 테이블 정의서 : 논리 및 물리 모델링 과정에서 작성하는 설계 산출물로 테이블을 구성을 문서화
(물리 DB 명, 테이블 명, 테이블 명, 관련 엔터티 명, 테이블 설명 ...)
1.3. 오류 처리 방안 명세화 (☆)
[1] 인터페이스 오류 유형 : 연송데수 (연송데는 입학 수능 컷 몇이야?)
연계서버, 송신 시스템 연계 프로그램, 연계 데이터, 수신 시스템 연계 프로그램
1.4. 인터페이스 설계 (☆)
[1] 인터페이스 설계란?
인터페이스 목록 도출 및 인터페이스 정의서 작성을 통해서 구현됨
1.5. 미들웨어 설계 프로세스 (★★☆)
[1] 미들웨어 솔루션이란?
컴퓨터와 컴퓨터 간의 연결을 쉽고 안전하게 할 수 있도록 도와주는 소프트웨어
[2] 미들웨어 솔루션 유형 : 디원메트레객와
① DB 미들웨어
DB 솔루션 업체에서 제공하는 애플리케이션과 DB 간에 통신을 원할하게 하는 미들웨어 (ODBC, ODAPI, ...)
② 원격 프로시저 호출 (RPC)
응용 프로그램의 프로시저를 사용해 원격 프로시저를 마치 로컬 프로시저처럼 호출하는 미들웨어 (Entera)
③ 메시지 지향 미들웨어 (MOM)
메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어 (시스템 동기를 위해 많이 사용)
④ 트랜잭션 처리 (TP)
온라인 업무에서 트랜잭션을 처리, 감시하는 미들웨어, 분산 트랜잭션을 처리하기 위한 미들웨어
(사용자가 많고 안정적이면서도 즉각적인 대응이 필요한 업무에 많이 사용됨)
⑤ 래거시웨어
기존의 애플리케이션이나 DB 기반에 새롭게 업데이트된 기능을 추가할 때 사용하는 미들웨어
⑥ 객체 기반 (ORB)
객체 기반 미들웨어로 코바 표준 스펙을 구현한 미들웨어
다양하게 구축된 컴퓨터 간의 프로그램과 데이터의 교환 및 변환이 편리하게 이루어지도록 지원
⑦ WAS
정적인 콘텐츠를 처리하는 웹 서버와 달리 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위한 미들웨어
HTTP 세션 처리를 위한 웹 서버 기능 뿐만 아니라 민감한 기업 업무까지 모두 자바, 컴포넌트 기반으로 구현 가능
[3] EAI와 ESB
- EAI (Enterprise Application Integration)
비즈니스 프로세스 중심으로 기업 내 각종 플랫폼 및 애플리케이션 간의 상호 연동이 가능하도록 통합한 솔루션
비즈니스 프로세스를 중심으로 여러 애플리케이션 간의 네트워크를 통합적으로 관리하는 점이 미들웨어와 다름
- ESB (Enterprise Service Bus)
기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션을 연계해서 관리 운영할 수 있도록 서비스 중심의 솔루션
'IT 자격증 공부 > 정보처리기사' 카테고리의 다른 글
한이아지와 함께하는 정보처리기사 2과목 2번째) 통합 모듈 구현 (0) | 2021.01.29 |
---|---|
한이아지와 함께하는 정보처리기사 2과목 1번째) 데이터 입 · 출력 구현 (0) | 2021.01.25 |
한이아지와 함께하는 정보처리기사 1과목 3번째) 애플리케이션 설계 (0) | 2021.01.04 |
한이아지와 함께하는 정보처리기사 1과목 2번째) 화면 설계 (0) | 2020.12.30 |
한이아지와 함께하는 정보처리기사 1과목 1번째) 요구사항 설계 (0) | 2020.12.28 |