초보 개발자의 성장기

한이아지와 함께하는 정보처리기사 1과목 4번째) 인터페이스 설계 본문

IT 자격증 공부/정보처리기사

한이아지와 함께하는 정보처리기사 1과목 4번째) 인터페이스 설계

개발자 김케빈 2021. 1. 8. 17:10

이번에는 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)   

   기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션을 연계해서 관리 운영할 수 있도록 서비스 중심의 솔루션

Comments