자격증/정보처리기사 필기 - 개념

[정보처리기사 필기] 제1과목 소프트웨어 설계 - 요구사항 확인

쏠솔랄라 2025. 4. 15. 21:39

 

 

소프트웨어 생명주기

 

 

1. 폭포수 모형 Waterfall Model

= 고전적 생명 주기 모형

 

- 1970년대부터 사용된 가장 오래되고 전통적인 소프트웨어 생명 주기 모형

- 이전 단계로 돌아가 수 없다

- 선형 순차적 모형: 완전히 순차적으로 한 단계, 한 단계를 진행해 나가며 한 단계를 완전히 마무리 한 다음 다음 단계로 넘어갈 수 있다

- 두 개 이상의 과정이 병행하여 수행되지 않는다

- 계획, 문서 중심(매뉴얼)

타당성 검토 > 계획 > 요구분석 > 설계 > 구현(코딩) > 시험(검사) > 유지보수

 

 

2. 프로토타입 모형 Prototype Model

: 견본품을 만들어 최종 결과물 예측

 

- 모형을 만들어 사용자에게 보여 주고, 사용자가 직접 사용해보게 한 후 프로토타입을 재구축하는 방법

- 사용자와 시스템 사이의 인터페이스에 중점

- 변경이 용이: 추가, 변경, 삭제 즉시 반영 가능 

- 비용 발생, 시간 소요

요구사항 분석 > 프로토타입 설계 > 개발 > 고객평가

 

 

3. 나선형 모형 Spiral Model

= 보헴

: 위험분석 모형

 

- 점진적 모형: 소용돌이 모양으로 여러 번의 개발 과정을 거쳐 점진적으로 최종 소프트웨어를 개발

- 별도의 유지보수 없이 진행 가능

- 비용이 크고 대규모 프로젝트에 적합

계획수립 > 위험분석 > 개발 > 고객평가 과정을 반복

 

 

4. 애자일 모형 Agile Model

= 고객중심 모형

 

- 고객과의 소통에 초점을 맞춘 고객만족을 우선시하는 방법론

- 고객의 요구사항에 유연하게 대처

- 고객만족을 우선시하는 방법론

 

ex. 스크럼 Scrum

 

 

 

요구사항 확인

 

 

1. 요구사항 확인

: 분석모델에 대해 확인하고 현행 시스템에 대해 분석

 

 

2. 현행 시스템 분석

 

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

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

 

* 플랫폼: 소프트웨어를 구동시키는 데 쓰이는 하드웨어와 소프트웨어의 결합

 

 

3. 현행 시스템 파악 절차

 

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

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

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

 

 

4. 개발 기술 환경 파악

 

- 운영체제 분석

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

 

- 네트워크 분석

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

OSI 7 Layer: 물리, 데이터링크, 네트워크, 전송, 세션, 표현, 응용 계층

 

- DBMS 데이터베이스 분석

종속성과 중복성 통제, 데이터 공유, 접근 통제, 인터페이스 제공, 관련성 표현, 무결성 보장

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

가용성, 성능, 기술지원, 상호호환성, 구축비용

 

- 비즈니스 융합분석

비즈니스 융합 유형: 제품융합, 서비스융합, 제품과 IT융합, 제품의 서비스화, 서비스의 제품화, 제품과 서비스 융합

비즈니스 융합 분석: 고객분석, 제품 및 서비스 분석, 사업구조 분석

 

 

5. 요구사항 정의

: 소프트웨어가 제공하는 서비스에 대한 설명과 정상적으로 운영되는 데 필요한 제약조건 등

 

* 요구사항의 유형:

1) 기술하는 내용에 따라

: 기능 요구사항(시스템, 입출력, 수행기능) VS 비기능요구사항(장비, 성능, 인터페이스, 데이터, 테스트, 보안, 품질, etc)

2) 기술관점과 대상의 범위에 따라

: 시스템요구사항(개발자 관점, 전문적, 기술적, 소프트웨어 요구사항) vs 사용자요구사항(사용자 관점, 친숙한 표현)

 

* 요구사항 개발 프로세스:

도출(수집) > 분석(타당, 비용, 범위) > 명세(문서화) > 확인

 

 

6. 요구사항 분석 기법

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

 

* 정형분석: 요구사항 분석에서 가장 마지막 단계에 이루어지는 분석

 

 

7.요구사항 확인 기법

: 요구사항 검토, 프로토타이핑, 모델 검증(요구사항 충족 여부), 인수 테스트

 

 

8. 응용소프트웨어 엔지니어링

 

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

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

 

 

 

UML: Unified Modeling Language)

 

 

 

1. UML

: 사물 관계 다이어그램

- 사물과 사물 간의 관계를 용도에 맞게 표현한 것이 다이어그램이다

 

 

2. 사물(Things)

: 모델을 구성하는 가장 중요한 기본 요소 

- 구조 사물, 행동 사물, 주해 사물

구조 사물 Structural Things 시스템의 개념적, 물리적 요소 표현 ex. 클래스, 유스케이스, 컴포넌트, 노드
행동 사물 Behavioral Things 상호작용, 상태머신
그룹 사물 Grouping Things 패키지, 요소들을 그룹별로 표현
주해 사물 Annotation Things 주석: 노트, 부가적인 설명이나 제약 조건

 

 

3. 관계

: 사물과 사물 사이의 연관성

연관 관계 Association 2개 이상의 사물이 서로 관련되어 있음을 표현 1, n, 0..*, n..m 등
집합 관계 Aggregation 하나의 사물이 다른 사물에 포함되는 관계 컴퓨터 ◇- 프린터
포함 관계 Composition 집합 관계의 특수 형태 문 ◆- 열쇠
일반화 관계 Generalization 일반적인 개념 상위, 구체적인 개념 하위 부모: 커피 ◁- 자식: 아메리카노, 에스프레소
의존 관계 Dependency 짧은 시간 동안만 연관을 유지 등급 ----> 할인율
실체화 관계 Realization 사물이 할 수 있거나 해야 하는 기능 날다 ◁---- 비행기, 새

 

 

4. 다이어그램

: 사물과 관계를 도형으로 표현한 것

(정적) 구조적 다이어그램 Structural Diagram
클래스 다이어그램
Class Diagram
클래스와 클래스가 가지는 속성, 클래스 사이의 관계 표현
시스템을 구성하는 요소에 대해 이해할 수 있는 구조적 다이어그램
클래스, 제약조건, 관계 등으로 구성
객체 다이어그램
Object Diagram
객체와 객체 사이의 관계 표현
ex. 럼바우 객체지향 분석 기법에서 객체 모델링에 활용
컴포넌트 다이어그램 
Component Diagram
구현 모듈인 컴포넌트 간의 관계나 인터페이스 표현
-> 구현 단계에서 사용
배치 다이어그램
Deployment Diagram
물리적 요소들의 위치 표현
노드와 의사소통 경로로 표현
-> 구현 단계에서 사용
복합체 구조 다이어그램
Composite Structure Diagram
클래스, 컴포넌트가 복합 구조를 갖는 경우
-> 그 내부 구조 포현
패키지 다이어그램
Pacage Diagram
유스케이스나 클래스 등의 모델 요소들을그룹화한 패키지들의 관계

 

(동적) 행위 다이어그램 Behavioral Diagram
유스케이스 다이어그램
Use Case Diagram
사용자 요구 분석, 사용자 관점에서 표현
사용자(Actor)와 사용사례(Use Case)로 구성
-> 기능 모델링 작업
순차(시퀀스) 다이어그램
Sequence Diagram
상호 작용하는 시스템이나 객체들이 주고받는 메세지
시간의 흐름에 따라 상호작용하는 과정을 그림으로 표현
커뮤니케이션 다이어그램
Communication Diagram
순차 다이어그램 +메세지 뿐만 아니라 객체들 간의 연관까지 표현
상태 다이어그램
State Diagram
하나의 객체가 어떻게 변화하는지를 표현
ex. 럼바우 객체지향 분석 기법에서 동적 모델링에 활용
활동 다이어그램
Activity Diagram
객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현
상호작용 개요 다이어그램
Interaction Overview Diagram
상호작용 다이어그램 간의 제어 흐름 표현
타이밍 다이어그램
Timing Diagram
객체 상태 변화와 시간 제약을 명시적으로 표현