본문 바로가기
레나일상/자격증

[정보처리기사 실기] 1 요구사항 확인

by IM레나 2021. 3. 30.
반응형

1. 소프트웨어 생명주기

소프트웨어 생명 주기는 소프트웨어를 개발하기 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나눈 것이다.

 

1) 폭포수 모형

- 각 단계를 확실히 매듭짓고 그 결과를 철저히 검토하여 승인 과정을 거친 후 다음 단계를 진행하는 개발 방법론

 

2) 프로토타입 모형

- 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형

 

3) 나선형 모형

- 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 모형

- 계획 수립 > 위험분석 > 개발 및 검증 > 고객 평가

 

4) 애자일 모형

- 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형

 

q) 시제품을 끊임없이 제작하며 사이클을 반복하는 개발 방법론, 워터폴과 대조적, 요구사항과 환결 변화에 능동적인 소프트 웨어 개발 방법론은?

 

5) 스크럼

-팀이 중심이 되어 개발의 효율성을 높이는 기법

-구성: 제품 책임자, 스크럼 마스터, 개발팀

 

6) XP기법

-요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상하는 방법

-핵심가치: 피드백, 존중, 용기, 단순성, 의사소통

 

6-1) XP 개발 프로세스

-릴리즈 계획 수립: 부분 혹은 전체 개발 완료 시점에 대한 일정을 수립하는 것

-이터레이션: 실제 개발 작업을 진행하는 과정으로, 보통 1~3주 정도의 기간으로 진행됨

-승인 검사: 하나의 이터레이션 안에서 부분 완료 제품이 구현되면 수행하는 테스트

-소규모 릴리즈: 요구사항에 유연하게 대응할 수 있도록 릴리즈의 규모를 축소한 것

 

6-2) 주요 실천 방법

-짝 프로그래밍(pair)

-공동 코드 소유(collective owership)

-테스트 주도 개발(test-drivedn development)

-전체팀(whole team)

-계속적인 통합(continuous integration)

-리팩터링(refactoring): 프로그램 기능의 변경 없이 시스템을 재구성함, 프로그램을 쉽게 이해하고 쉽게 수정하여 빠르게 개발할 수 있도록 하기 위함

-소규모 릴리즈(small release)

 

7) 운영체제

-컴퓨터 시스템의 자원을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 소프트웨어

-고려사항: 가용성, 성능, 기술지원, 주변기기, 구축 비용

 

8) DBMS(데이터베이스 관리 시스템)

-사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 DB를 관리해주는 소프트웨어이다.

-가용성, 성능, 기술지원, 구축 비용

 

9) WAS(웹 애플리케이션 서버)

-사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어

-고려사항: 가용성, 성능, 기술지원, 구축비용

 

10) 오픈소스

-누구나 별다른 제한 없이 사용할 수 있도록 소스코드를 공개한 소프트웨어

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

 

11) 요구사항

-소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건이다.

-기능 요구사항: 시스템이 무엇을 하는지 어떤 기능을 하는지 등의 기능이나 수행과 관련된 요구사항

-비기능 요구사항: 품질이나 제약사항과 관련된 요구사항 (시스템 장비, 성능, 보안 등)

-사용자 요구사항: 사용자 관점에서 본 시스템이 제공해야 할 요구사항

-시스템 요구사항: 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항

 

12) 요구사항 개발 프로세스

-개발 대상에 대한 요구사항을 체계적으로 도출하고 분석한 후 명세서에 정리한 다음 확인 및 검증하는 일련의 구조화된 활동

-도출 > 분석 > 명세 > 확인

 

13) 요구사항 도출(요구사항 수집)

-시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항을 어떻게 수집할 것인지를 식별하고 이해하는 과정

-주요 기법: 청취와 인터뷰, 설문, 브레인스토밍, 워크숍, 프로토타이핑, 유스 케이스

 

14) 요구사항 분석

- 개발대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정

-개발 대상에 대한 사용자의 요구사항을 이해하고 문서화하는 활동

-도구: 자료 흐름도, 자료 사전

 

15) 요구사항 명세

-분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것

 

16) 요구사항 확인

-요구사항 명세는 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것을 의미한다.

 

17) 요구공학

-무엇을 개발해야 하는지 요구사항을 정의하고, 분석 및 관리하는 프로세스를 연구하는 학문

 

18) 요구사항 명세 기법

구분 정형 명세 기법 비정형 명세 기법
기법 수학적 원리 기반, 모델 기반 상태/기능/객체 중심
작성 방법 수학적 기호, 정형화된 표기법 일반 명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성
특징 - 요구사항을 정확하고 간결하게 표현 할 수 있다
- 요구사항에 대한 결과가 작성자에 관계없이 일관성이 있으므로 완전성 검증이 가능하다.
- 표기법이 어려워 사용자가 이해하기 어렵다.
- 자연어의 사용으로 인해 요구사항에 대한 결과가 작성자에 따라 다를 수 있어 일관성이 떨어지고 해석이 달라질 수 있다.
- 내용의 이해가 쉬워 의사소통이 용이하다.
종류 VDM, Z, Petri-net, CSP FSM, Decision Table, ER 모델링, State Chart(SADT)

 

19) 구조적 분석 기법

- 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법

- 분석기법 도구: 자료 흐름도, 자료 사전, 소단위 명세서, 개체 관계도, 상태 전이도

 

20) 자료 흐름도(DFD:Data Flow Diagram)

-요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법

 

21) 자료 사전(DD: Data Dictionary)

-자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것

기호 의미
= 자료의 정의: ~로 구성되어 있다
+ 자료의 연결: 그리고
(   ) 자료의 생략: 생략 가능한 자료
[    ] 자료의 선택: 또는
{    } 자료의 반복
{  } - 아래첨자 n = n 번이상 반복, 위첨자 n = 최대로 n번 반복
위첨자 n, 아래첨자m = m이상 n이하 반복
*    * 자료의설명: 주석

 

22) 요구사항 분석용 CASE(자동화 도구)

-요구사항을 자동으로 분석하고 요구사항 분석 명세서를 기술하도록 개발된 도구

-SADT, SREM=RSL/REVS, PSL/PSA, TAGS

 

23) HIPO(Hierarchy Input Process Output)

-시스템의 분석 및 설계 또는 문서화에 사용되는 기법

-시스템 실행 과정인 입력, 처리, 출력의 기능을 표현한 것

- 가시적 도표, 총체적 도표, 세부적 도표

 

 

 

*시나공 1-009까지

 

 

반응형