본문 바로가기
정보처리기사/실기

요구사항 확인

by Anonymouszero 2025. 7. 19.
반응형

1. 소프트웨어 생명주기

> 소프트웨어 생명주기
 - 소프트웨어를 개발하기 위한 과정을 단계별로 나눈 것
 - 모형(폭포 모형을 나선형으로 애자일하게 프로토타입 부터 개발해보자!)
  1) 폭포수 모형
  2) 프로토 타입 모형
  3) 나선형 모형
  4) 애자일 모형

> 폭포수 모형(Water fall)
 - 각 단계를 확실히 매듭짓고 결과를 검토하여 승인 과정을 거친 후 다음 단계 진행
 - 고전적 생명 주기 모형
 - 가장 오래되고 가장 폭넓게 사용된 전통적 모형

> 프로토타입 모형(Prototype)
 - 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형

> 나선형 모형(Spiral)
 - 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 개발
 - 보헴이 제안
 - 계획 수립 > 위험 분석 > 개발 및 검증 > 고객 평가(계분개평)

> 애자일 모형(Agile)
 - 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발
 - 폭포수 모형과 대조적
 - Scrum, XP, 칸반, Lean, 기능 중심 개발(FDD)

2. 스크럼

> Scrum
 - 팀이 중심이 되어 개발의 효율성을 높임
 - 팀 : 제품 책임자, 스크럼 마스터, 개발팀
  ~ 제품 책임자(PO) : 백로그 작성 주체, 제품에 대한 이해도가 가장 높음
  ~ 스크럼 마스터(SM) : 스크럼 팀이 스크럼을 잘 수행할 수 있도록 가이드 역할
  ~ 개발 팀(DT) : PO와 SM을 제외한 팀원, 제품 개발
 - 계획 > 진행(스프린트) > (데일리 스크럼)회의 > 검토 > 스프린트 회고

 

3. XP(eXtreme Programming)

> XP
 - 고객의 참여와 개발 과정의 반복을 극대화하여 생산성 향상
 - 핵심 가치(용존의 피단)
  : 용기, 존중, 의사소통, 피드백, 단순성
 - 계획(릴리즈 계획 수립) > 진행(이터레이션) > 승인 검사 > 출시(소규모 릴리즈)

> XP 실천 방법
 - Pair Programming(짝 프로그래밍): 다른 사람과 함꼐 프로그래밍 수행
 - Collective Ownership(공동 코드 소유) : 코드에 대한 권한, 책임을 공동으로 소유
 - Test-Driven Development(테스트 주도 개발) : 테스트 지속적 수행
 - Whole Team(전체 팀) : 개발에 참여하는 모든 구성원은 역할이 있고 책임을 가져야 함
 - Continuous Integration(지속적 통합) : 모듈 단위의 코드를 지속적으로 통합
 - Refactoring(리팩토링) : 기능 변경없이 시스템 재구성
 - Small Release(소규모 배포) : 릴리즈 기간을 짧게 반복하여 요구 변화에 신속 대응

4. 개발 기술 환경 파악

> 운영체제 : 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 소프트웨어, 컴퓨터 시스템 자원을 효율적으로 관리
 - 식별 시 고려 사항 : 가성기주구 ~ 가용성, 성능, 기술지원, 주변 기기, 구축 비용
> DBMS : 사용자와 DB 사이에서 정보 생성, DB 관리를 해주는 소프트웨어
 - 식별 시 고려 사항 : 가성기상구 ~ 가용성, 성능, 기술지원, 상호 호환성, 구축 비용
> WAS(웹 어플리케이션 서버) : 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어
 - 식별 시 고려 사항 : 가성기구 ~ 가용성, 성능, 기술지원, 구축 비용
> 오픈소스 : 제한 없이 사용할 수 있도록 소스코드를 공개한 소프트웨어
 - 식별 시 고려 사항 : 라사기 ~ 라이선스 종류, 사용자 수, 기술의 지속가능성

5. 요구사항

> 요구사항
 - 소프트웨어가 제공하는 서비스에 대한 설명과 운영되는데 필요한 제약 조건
 - 유형 : 기능 요구사항, 비기능 요구사항, 사용자 요구사항, 시스템 요구사항 > 사기시비(요구사항으로 "사기 시바(비)")

> 기능 요구사항 : 기능이나 수행에 관련된 요구사항
> 비기능 요구사항 : 품질이나 제약 사항과 관련된 요구사항
> 사용자 요구사항 : 사용자 관점에서 본 시스템이 제공해야 할 요구사항
> 시스템 요구사항 : 개발자 관점에서 본 시스템 전체가 제공해야 할 요구사항

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

> 요구사항 개발 프로세스 : 도출 > 분석 > 명세 > 확인 (도분명확)
> 요구사항 도출 : 청취, 인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스
> 요구사항 분석 : 자료 흐름도(DFD), 자료사전(DD)
> 요구사항 명세 : 소단위 명세서 사용 가능, 문서화
> 요구사항 확인 : 명세서 검토
> 요구공학 : 요구사항을 정의하고 분석 및 관리하는 학문
> 요구사항 명세 기법 
 - 정형 명세 : 수학적 원리, 모델 기반, 수학적 기호
 - 비정형 명세 : 상태, 기능, 객체 중심, 자연어 기반

7. 요구사항 분석

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

> 구조적 분석 기법 : 자료의 흐름과 처리를 중심으로 분석
  : 자료흐름도, 자료사전, 소단위 명세서, 개체 관계도(ERD), 상태 전이도(STD), 제어 명세서

> 자료 흐름도 : 자료 흐름 및 변환 과정과 기능을 도형 중심으로 기술, 버블 차트라고도 함
 1) 프로세스(Process) : 자료를 변환시키는 시스템의 한부분, 처리, 기능, 변환, 버블이라고도 부름
 2) 자료 흐름(Data Flow) : 자료의 이동(흐름), 연관관계
 3) 자료 저장소(Data Store) : 시스템에서의 자료 저장소(파일, DB)
 4) 단말(Terminator) : 시스템과 교신하는 외부 개체

> 자료 사전 : 자료 흐름도에 있는 자료를 자세히 정의하고 기록
 1) = : 자료의 정의
 2) + : 자료의 연결(and)
 3) () : 자료의 생략
 4) [] : 자료의 선택(or)
 5) {} : 자료의 반복 > 아랫첨자 n : n 이상 반복, 윗첨자 n : n 이하 반복
 6) "" : 자료의 설명, 주석

8. 요구사항 분석 CASE와 HIPO

> 요구사항 분석용 Case(자동화도구)
 - 요구사항을 자동으로 분석, 요구사항 분석 명세서를 기술하도록 개발된 도구
 - SADT, SREM, PSL/PSA, TAGS

> HIPO(Hierachy Input Process Output)
 - 시스템 실행 과정인 입력, 처리, 출력의 기능 표현
 - 하향식 소프트웨어 개발을 위한 문서화 도구
 - 가시적 도표, 총체적 도표, 세부적 도표

 

반응형

'정보처리기사 > 실기' 카테고리의 다른 글

알고리즘  (0) 2025.07.19
UML  (0) 2025.07.19
저작권 및 보안  (5) 2025.07.19
인터넷  (5) 2025.07.18
운영체제  (3) 2025.07.18