솜은 코튼

[정보처리기사] 2장 요구사항 본문

자격증/정보처리기사

[정보처리기사] 2장 요구사항

솜.코 2020. 7. 11. 01:55
01. 현행 시스템 파악 절차

 

     [1단계]

     - 시스템 구성 파악 : 기간 업무/지원 업무

     - 시스템 기능 파악 : 세부 기능으로 구분하여 계층형으로 표시

     - 시스템 인터페이스 파악 : 단위 업무 시스템 간에 주고받는 것들을 명시

     [2단계]

     - 아키텍처 구성 파악 : 어떠한 기술 요소들이 사용되는지

     - 소프트웨어 구성 파악 : 설치되어 있는 SW들의 정보 명시

     [3단계]

     - 하드웨어 구성 파악 : 운용되는 서버의 정보 명시

     - 네트워크 구성 파악 : 네트워크 구성도로 작성

 

02. 개발 기술 환경

 

     운영체제(OS) : 효율적인 자원 관리, 환경 제공

     종류) 컴퓨터->Windows, UNIX, Linux, Mac OS/모바일->iOS, Android, Tizen

     고려사항) 가용성/성능/기술 지원/주변 기기/구축비용

 

     데이터베이스 관리 시스템(DBMS) : 데이터베이스 관리해 주는 SW

     종류) Oracle, IBM DB2, Microsoft SQL Server, MySQL, SQLite, MongoDB, Redis

     고려사항) 가용성/성능/기술 지원/상호 호환성/구축 비용

 

     웹 애플리케이션 서버(WAS) : 동적인 콘텐츠 처리를 위해 사용되는 미들웨어

     종류) Tomcat, GlassFish, JBoss, Jetty, JEUS, Resin, WebLogic, WebSphere

     고려사항) 가용성/성능/기술 지원/구축 비용

 

     오픈 소스 : 누구나 사용할 수 있도록 소스코드 공개

     고려 사항) 라이선스의 종류/사용자 수/기술의 지속 가능성

 

03. 요구사항 유형

     기능 요구사항(시스템 기능)/비기능 요구사항(그 외)/사용자 요구사항(사용자 관점)/시스템 요구사항(개발자 관점)

 

04. 요구사항 개발 프로세스

     요구사항 도출 : 서로 의견을 교환하여 이해하는 과정

                          (인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스)

     요구사항 분석 : 명확하지 않거나 모호하여 이해되지 않는 부분 발견하고 걸러내는 과정

     요구사항 명세 : 분석 후 승인될 수 있도록 문서화

     요구사항 확인 : 요구사항 명세서가 정확하게 작성되었는지 검토

 

05. 요구사항 분석 기법

     요구사항 분류 : 기준을 가지고 분류

     개념 모델링 : 현실 세계의 상황을 단순화하여 개념적으로 표현하는 과정

     (유스케이스 다이어그램, 데이터 흐름 모델, 상태 모델, 목표기반 모델, 사용자 인터액션, 객체 모델, 데이터 모델 등)

     요구사항 할당 : 구성 요소 식별

     요구사항 협상 : 충돌 시 해결하는 과정(우선순위 부여)

     정형 분석 : 구문과 의미를 갖는 정형화된 언어를 이용

 

     * 자료 흐름도(DFD) =자료 흐름 그래프, 버블 차트

       # 구성 요소 표기법

       프로세스 : 원 or 둥근 사각형, 프로세스 이름

       자료 흐름 : 화살표, 자료의 이름

       자료 저장소 : 파일/데이터베이스, 자료 저장소 이름

       단말 : 입력데이터/출력데이터

 

06. 요구사항 확인 기법

     요구사항 검토 : 문서화된 요구사항 확인

     프로토타이핑 : 출시 전 개략적으로 만든 원형을 재작성하는 과정

     모델 검증 : 요구사항 분석 단계에서 개발된 모델이 충족하는지 검증

     인수 테스트 : 실제로 사용될 환경에서 모두 충족되는지 사용자 입장에서 확인

 

07. UML

     시스템 개발 과정에서 의사소통을 원활하도록 표준화한 객체지향 모델링 언어

     # 구성 요소

     사물 : 가장 중요한 기본 요소

     (구조 사물/행동 사물/그룹 사물/주해 사물)

     관계 : 사물과 사물 사이의 연관성 표현

     (연관 관계/집합 관계/포함 관계/일반화 관계/의존 관계/실체화 관계)

     다이어그램 : 사물의 관계를 도형으로 표현

     (정적 모델링->구조적 다이어그램(논리적인 구조)/동적 모델링->행위 다이어그램(상호작용))

 

08. 구조적 다이어그램

     클래스 다이어그램 : 정적 모델링

     # 구성 요소

     클래스 : 상태나 정보를 표현하는 '속성'과 수행할 수 있는 동작인 '오퍼레이션(=메소드)'을 표현

     제약조건

     관계 : 연관 관계, 집합 관계, 포함 괍계, 일반화 관계, 의존 관계

     (그 외, 객체 다이어그램/컴포넌트 다이어그램/배치 다이어그램/복합체 구조/패키지 다이어그램)

 

09. 행위 다이어그램

     시퀀스 다이어그램 : 동적 모델링, 메시지를 주고받으며 시간의 흐름에 따라 상호작용 과정 표현

     구성 요소) 액터, 객체, 라이프라인, 활성 상자, 메시지, 객체 소멸, 프레임

     (그 외, 커뮤니케이션 다이어그램/상태 다이어그램/유스케이스 다이어그램/활동 다이어그램)

 

10. 커뮤니케이션 다이어그램/상태 다이어그램

     10-1) 커뮤니케이션 다이어그램 : 시퀀스 다이어그램의 메시지 표현뿐 아니라 객체 간의 연관까지 표현

             구성 요소) 액터, 객체, 링크, 메시지

     10-2) 상태 다이어그램 : 객체들의 상태 변화를 표현

             구성 요소) 상태, 이벤트, 상태 전환

 

11. 유스케이스 다이어그램

     : 수행할 수 있는 기능을 사용자 관점에서 표현

     구성 요소) 시스템 범위, 액터, 유스케이스, 관계(포함 관계/확장 관계/일반화 관계)

 

12. 활동 다이어그램

     : 자료 흐름도와 유사, 사용자 관점에서 처리 흐름에 따라 순서대로 표현

     구성 요소) 액션, 액티비티, 노드(시작 노드/종료 노드/조건 노드/병합 노드/포크 노드/조인 노드), 스윔레인