Certificate/정보처리기사

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

다닿 2026. 7. 6. 19:00

1-1. 요구사항 확인1

소프트웨어 생명주기 software life cycle

나선형 모형 spiral model

보햄 boehm

계획 수립 → 위험 분석 → 개발 및 검증 → 고객 평가 (반복)

폭포수 모형 waterfall model

끝 맺고 다음, 고전적 생명 주기

애자일 모형 agile model

유연한 대응

  • 스크럼 scrum 
    • 스프린트 계획 회의 sprint planning meeting
      단기 일정 수립
    • 스프린트 sprint
      실제 개발 작업 2~4주
    • 일일 스크럼 회의 daily scrum meeting
      15분, 소멸차트 표시 burn-down chart
    • 스프린트 검토 회의 sprint review
      요구사항 부합 확인, 테스팅
    • 스프린트 회고 sprint retrospective
  • XP eXtreme Programming
    의사소통 communication, 단순성 simplicity, 용기 courage, 존중 respect, 피드백 feedback
    • pair programming 짝 프로그래밍
    • collective ownership 공동 코드 소유
    • test-driven development 테스트 주도 개발
    • whole team 전체 팀
    • continuous integraion 계속적인 통합
    • refactoring 리팩토링
    • small releases 소규모 릴리즈
  • 칸반 Kanban
  • Lean
  • 기능 중심 개발 FDD Feature Driven Development

 

소프트웨어 공학 SE Software Engineering

계속 개발, 품질 유지 검증, 명확한 기록

 

데이터베이스 관리 시스템 DBMS databage management system

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

 

요구사항

기능 요구사항 function requirements

비기능 요구사항 non-function requirements

요구사항 명세 기법

  • 정형 명세 기법
    수학적 원리, 모델 기반
    VDM, Z, Petri-net, CSP 등
  • 비정형 명세 기법
    상태/기능/객체 중심
    FSM, Decision Table, ER모델링, State Chart(SADT) 등

요구사항 개발 프로세스

  • 도출 Elicitaion → 분석 Analysis → 명세 Specification → 확인 Validation

요구사항 분석 Requirement Analysis

요구사항 문서화

 

자료 흐름도 DFD data flow diagrame

자료 흐름도의 구성 요소

  • 프로세스 process
  • 자료 흐름 data flow
  • 자료 저장소 data store
  • 단말 terminatior

자료 사전 DD data dictionary

기호 의미
= 자료의 정의 : ~로 되어있다 is composed of
+ 자료의 연결 : and
() 자료의 생략 : optional
[] 자료의 선택 : or
{} 자료의 반복 : iteration of
** 자료의 설명 : 주석 comment

 

SADT 

SoftTech사에서 개발한 자동화 도구

HIPO Hierarchy Input Process Output

시스템 실행 과정 입력,처리,출력 표현 문서화 도구

인터페이스 계층 구조로 표현

UML Unified Modeling Language - 객체지향 모델링 언어

객체지향 방법론 통합 Rumbaugh(OMT), Booch, Jacobson

UML 구성요소 - 사물 Things, 관계 Relationships, 다이어그램 Diagram

 

관계 Relationships

  • 연관 Association 관계
    사람 1 → 1 집
  • 집합 Aggregation 관계
    컴퓨터 ◇- 프린터
  • 포함 Composition 관계
    문 ◆- 열쇠
  • 일반화 Generalization 관계
    아메리카노 -▷ 커피 ◁- 에스프레소
  • 의존 Dependency 관계
    등급 - - - → 할인율
  • 실체화 Realization 관계
    비행기 - - -▷ 날수있다 ◁- - - 새

다이어그램 Diagram

  • 구조적 다이어그램의 종류
    • 클래스 class 다이어그램
      구성요소 - 클래스(클래스명, 속성, 오퍼레이션), 제약조건, 관계
      연관 클래스
    • 객체 object 다이어그램 - rumbough
    • 컴포넌트 component 다이어그램
    • 배치 deployment 다이어그램
    • 복합체 구조 composite structure 다이어그램
    • 패키지 package 다이어그램
      구성요소 -  패키지, 캑체, 의존관계
  • 행위 다이어그램의 종류
    • 유스케이스 use case 다이어그램
      구성요소 - 시스템 system/시스템 범위 system scope, 액터 actor/부액터, 유스케이스, 관계 《include》 《extents》 -▷
    • 순차 sequence 다이어그램
      구성요소 - 액터, 객체, 생명선, 실행 상자, 메시지, 객체 소멸×, 프레임
    • 커뮤니케이션 communication 다이어그램
      구성요소 - 액터, 객체, 링크, 메시지
    • 상태 state 다이어그램 - rumbough
      구성요소 - 상태, 시작상태, 종료상태, 상태전환, 이벤트, 프레임
    • 활동 activity 다이어그램
      구성요소 - 액션 action/액티비티 activity, 시작노드, 종료노드, 조건노드, 병합노드, 포크노드, 조인노드, 스웜레인 swim lane
    • 상호작용 개요 interaction overview 다이어그램
    • 타이밍 timing 다이어그램

스테레오 타입 Stereotype

UML 확장 모델에서 기본 기능 외에 추가 기능 표현

길러멧 Guilemet 《》

 

1-2. 요구사항 확인2

구조적 방법론

사용자 요구사항 파악 처리

타당성 검토 → 계획 단계 → 요구사항 단계 → 설계 단계 → 구현 단계 → 시험 단계 → 운용/유지보수 단계

 

컴포넌트 기반 방법론

개발 준비 단계 → 분석 단계 → 설계 단계 → 구현 단계 → 테스트 단계 → 전개 단계 → 인도 단계

 

소프트웨어 재사용 software reuse

합성 중심 composition-based

생성 중심 generation-based

 

CASE Computer Aided Software Engineering

소프트웨어 개발 과정을 소프트웨어 도구를 사용하여 자동화

 

LOC 기법

노력(인월) = 개발 기간 × 투입인원 = LOC / 1인당 월평균 코드 라인 수

개발 비용 = 노력(인월) × 단위 비용(1인당 월평균 인건비)

개발 기간 = 노력(인월) / 투입 인원

생산성 = LOC / 노력(인월)

 

수학적 산정 기법

COCOMO 모형

LOC용 산정 기법, 보헴 boehm

  • 조직형 Organic Mode 50KDSI↓
  • 반분리형 Semi-Detached Mode 300KDSI↓
  • 내장형 Embedded Mode 300KDSI↑

 

Putnam 모형

소프트웨어 생명주기 노력의 분포 예상

Rayleigh-Norden 곡선

비용산정 자동화 추정 도구 - SLIM

 

기능 점수 FP function point 모형

자료입력(입력 양식), 정보 출력(출력 보고서), 명령어(사용자 질의수), 데이터 파일, 필요한 외부 루틴과의 인터페이스

비용산정 자동화 추정 도구 - ESTIMACS

 

PERT Program Evaluation and Review Technique

작업의 상호 관계를 표시하는 네트워크

 

CPM Critical Path Method 

임계 경로 기법

 

간트차트

작업일정, 시간선 time-line 차트

 

CMMI Capability Maturity Model Integration

개발 조직의 업무 능력 및 조직의 성숙도 평가

초기 initial, 관리 managed, 정의 defined, 정량적 관리 quantitatively managed, 최적화 optimizing

 

SPICE Software Process Improvement and Capabilty dEtermination

소프트웨어 품질 및 생산성 향상을 위해 프로세스를 평가 및 개선하는 국제 표준

ISO/IEC 15504

수준 단계
0 불완전 incomplete
1 수행 performed
2 관리 managed
3 확립 established
4 예측 predictable
5 최적화 optimizing

 

소프트웨어 개발 방법론 테일러링

  • 내부적 기준
    • 목표환경
    • 요구사항
    • 프로젝트 규모
    • 보유 기술
  • 외부적 기준
    • 법적 제약사항
    • 표준 품질 기준

소프트웨어 개발 프레임 워크 framework

  • 모듈화 modularity
  • 재사용성 reusability
  • 확장성 extensibility
  • 제어의 역흐름 inversion of control

 

ISO/IEC 12202

표준 소프트웨어 생명 주기 프로세스

기본 생명 주기 프로세스 획득, 공급, 개발, 운영, 유지보스 프로세스
지원 생명 주기 프로세스 품질 보증, 검증, 확인, 활동 검토, 감사, 문서화, 형상 관리, 문제 해결 프로세스
조직 생명 주기 프로세스 관리, 기반 구조, 훈련, 개선 프로세스