본문 바로가기

정보처리기사 필기/제1과목 소프트웨어 설계 (2020 개정) - 정처기

제 1과목 소프트웨어 설계 - 요구사항 확인

제 1과목 소프트웨어 설계 - 요구사항 A

 

소프트웨어 생명주기

 

소프트웨어도 개발 단계가 있다. 그 단계를 나누고 그 단계마다 이루어져야 할 일이 있다.

 

대표적인 소프트웨어 생명주기 4개 : 폭포수, 프로토, 나선형, 애자일

 

1. 폭포수형 모형

 

  1) 폭포수 모델을 따르기 위해서는 완전히 순차적으로 한 단계, 한 단계를 진행해 나가야 한다. 폭포수 모델은 전 단계가 수행되어 완료되기 전에는 다음 단계로 진행할 수 없도록 제한한다.

 

폭포수형 모델 개발 단계 : 계획(타당성) -> 요구분석(문서화) -> 설계 -> 구현(코딩) -> 테스트 -> 유지보수

 

단점 : 요구사항 변경을 못한다. 그렇기에 요구사항이 명확해야 한다.

 

2. 프로토타입 모형 ( 요구사항 부정확할 때 쓰는 모형, 오류가 초기에 발견 가능성이 있음, 변경용이성)

 

 1) 개발초기에 시스템의 모형(원형, prototype)을 간단히 만들어 사용자에게 보여 주고, 사용자가 정보시스템을 직접 사용해보게 함으로써 프로토타입을 재구축하는 과정을 사용자가 만족할 때까지 반복해 나가면서 시스템을 개선시켜 나가는 방식이다.

 

프로토타입 모형 개발 단계 : 요구분석 -> 프로토타입 설계 -> 프로토타입 개발 -> 고객평가

 

단점 : 비용과 시간이 많이 들고 모형물이 최종 완성물이라고 착각할 수 있다.

 

3. 나선형 모형 (점진적으로 개발 과정이 반복되기에 추가된 요구사항을 추가할 수 있음, 별도의 유지보수가 필요없음)

 

 1) 고객과의 소통을 통하여 계획수립과 위험분석, 구축(개발), 고객 평가의 과정을 거쳐서 소프 트웨어를 개발하는 방식이다. 복잡해지고 있는 소프트웨어 개발 환경에 위험 요소를 분석하고 해결할 수 있도록 지원하는 모델이다.

 

나선형 모형 개발 단계 : 계획수립 -> 위험분석 -> 개발 -> 고객평가

 

단점 : 비용, 개발 시간이 많이 든다. 그래서 대규모 시스템에 적합

 

4. 애자일

 

 1) 고객과의 소통에 초점을 맞춘 방법론이다.

 

소규모 프로젝트에 적합하고 요구사항 우선순위를 부여한다.

 

개인상호작용에 더 가치를 두고 문서화에 중점을 두지 않고 고객 협업에 중점을 두고 변화 대응에 더 가치를 둠.

 

 

정리

 

폭포수 : 수정이 가능하지 않고 요구사항이 분명해야 한다.

 

프로토타입 :  모형이고 요구사항이 불분명할 때 쓴다.

 

나선형 : 대규모 시스템에 적합하고 비용이 많이 든다.

 

애자일 : 소규모 시스템에 적합하고 개인 상호작용에  더 가치를 둠 ( 폭포수 모형하고 비교를 함 )

 

 

요구사항 B

 

요구사항 확인 : 분석 모델에 대해 확인하고 현행 시스템에 대해 분석.

 

현행 시스템 분석

 

현행 시스템 분석 : 지식, 기술

 

지식 : 산업분야, 플랫폼, 프로젝트 환경, 플랫폼, 가상화, 클라우드

 

기술 : 환경분석, 운영체제, 저장장치, 네트워크, DBMS, 가상화

 

플랫폼

 

플롯폼의 개념

 

플랫폼이란 소프트웨어를 구동시키는데 쓰이는 하드웨어와 소프트웨어의 결합을 말한다.

 

플랫폼의 기능

 

플랫폼의 기능이란 소프트웨어 개발 및 운영 비용을 감소한다.

 

플랫폼의 기능 특성 확인 방법

 

플랫폼의 기능 특성 확인방법은 기능 테스트, 사용자 인터뷰, 문서 점검이 있다.

 

현행 시스템 분석하기에서 플랫폼의 성능 특성을 알아야 하는 이유

 

-> 사용자가 사용하기에 속도가 느린지 빠른지 파악, 현재 시스템의 플랫폼 성능

 

플랫폼 성능 특성 확인 방법

 

플랫폼 성능 특성 확인 방법 : 성능 테스트, 문서 점검, 사용자 인터뷰

 

현행 시스템 파악

 

현행 시스템 파악 절차

 

1단계 : 시스템 구성, 기능, 인터페이스 파악

2단계 : 아키텍처 구성, 소프트웨어 구성 파악

3단계 : 하드웨어 구성, 네트워크 구성 파악

 

현행 시스템의 구성은 주요 업무를 담당하는 기관 업무, 지원하려는 업무. 이런 것들을 구분하여 기술하는 부분

 

조직내에 있는 여러 정보 시스템에 대한 현황을 파악하고 각 업무에 속하는 정보 시스템에 대한 명칭, 주요 기능을 명시

 

구성 분석 다음에 기능을 파악한다. 기능을 파악한다는 것은 시스템이 제공하는 기능들이 무엇인지 하부기능이 무엇이 있는지 세부기능이 무엇인지 구분을 하여 표시를 한다.

 

그 다음으로는 인터페이스 파악인데 인터페이스라는 말이 어렵다. 그러나 인터페이스를 이렇게 이야기한다. 인터페이스는 소품이다. 

 

아키텍처 구성 파악이란 어떤 기술 요소들이 사용되었는지 계층별로 설명하는 것이다.

 

현행 시스템 파악

- 운영체제 분석 - 네트워크 분석 - DBMS 분석 - 비즈니스 융합 분석

 

운영체제 분석

 

-운영체제란 ?

운영체제 ( OS : Operatig System)의 개념 : 하드웨어와 소프트웨어 자원을 관리 (윈도우, 맥, 유닉스, 리녹스, 도스)

 

현재 시스템의 운영체제를 분석한다. -> 현재운영 체제 ( 종류, 버전)

 

운영체제의 종류 및 특징 : 유닉스, 리눅스, 마이크로소프트 윈도우, 아이오에스, 안드로이드

 

네트워크의 개념

 

- 디지털 전기통신망

- 분산되어 있는 컴퓨터를 통신망으로 연결

- OSI (Open System Interconnection) 7 Layer의 정의

  - 물리 (LAN 구축), 데이터링크(전송), 네트워크(라우터, 최단 경로), 전송, 세션, 표현, 응용 계층

 

-현재 시스템의 네트워크를 분석한다.

  - 네트워크 구조를 분석, 사낸 인터넷 데이터 센터 분석

 

- 현재 시스템의 네트워크 구성도를 작성한다.

    - 서버의 위치, 서버 간의 네트워크 연결 방식

 

데이터베이스 분석

 

- 데이터베이스의 개념 : 데이터베이스 생성, 조회, 변경 등의 관리

 

- 데이터베이스의 기능 : 중복성 통제, 데이터 공유, 데이터 접근 통제, 인터페이스 제공, 관련성 표현, 무결성 보장

 

- 현재 시스템의 데이터베이스 시스템을 분석한다.

 

- 논리/ 물리 테이블의 구조 파악 : 정규화 정도, 조인의 난이도 파악

 

비즈니스 융합분석

 

비즈니스 융합의 개념

   - 비즈니스( Business ) : 영리를 목적으로 행하는 모든 활동

   - 비즈니스 모델 : 요소들의 구성체

   - 비즈니스 융합 : 비즈니스 모델의 적용범위 확대

 

- 비즈니스 융합 유형

     - 제품융합, 서비스 융합, 제품과 IT융합, 서비스와 IT 융합, 제품의 서비스화, 서비스의 제품화, 제품과 서비스 융합

 

- 비ㅈ니스 융합 분석

   - 고객 분석, 제품 및 서비스 분석, 사업구조 분석 

 

요구사항 C

 

요구사항

 

1. 요구사항의 개념 2. 요구사항의 유형 - 1) 기술하는 내용에 따라 2) 기술관점과 대상의 범위에 따라 3. 요구사항 개발 프로세스 4. 요구사항 도출 5. 요구사항 분석 6. 요구사항 명세 7. 요구사항 확인

 

요구사항 확인(응용SW엔지니어링) : 지식, 기술

지식 : 산업 분야, 프로젝트, 업무 특성, 요구사항, 소프트웨어, 통계학

기술 : 유즈케이스 작성능력, UML 작성 기술, 분석자동화 도구, 요구사항 관리도구, 리뷰 진행

 

요구사항분석 기법 : 요구사항 분류, 개념 모델링, 요구사항 할당, 요구사항 협상, 정형 분석

 

요구사항 확인 기법

 

요구사항 확인 기법 : 요구사항 검토, 프로토타이핑, 모델 검증, 인수 테스트

 

요구사항 D

 

UML

 

1) 사물 ( Things )    2) 관계     3) 다이어그램

 

 

1. 사물 ( Things )

 

사물 ( Things ) : 행동 사물, 그룹 사물, 구조 사물, 주해 사물

 

2. 관계

 

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

 

3. 다이어 그램

 

다이어그램

- 1) 구조적 다이어그램 -> 클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지

- 2) 행위 다이어그램 -> 유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 상호작용 개요, 타이밍