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
- 스프린트 계획 회의 sprint planning meeting
- 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 다이어그램
구성요소 - 패키지, 캑체, 의존관계
- 클래스 class 다이어그램
- 행위 다이어그램의 종류
- 유스케이스 use case 다이어그램
구성요소 - 시스템 system/시스템 범위 system scope, 액터 actor/부액터, 유스케이스, 관계 《include》 《extents》 -▷ - 순차 sequence 다이어그램
구성요소 - 액터, 객체, 생명선, 실행 상자, 메시지, 객체 소멸×, 프레임 - 커뮤니케이션 communication 다이어그램
구성요소 - 액터, 객체, 링크, 메시지 - 상태 state 다이어그램 - rumbough
구성요소 - 상태, 시작상태, 종료상태, 상태전환, 이벤트, 프레임 - 활동 activity 다이어그램
구성요소 - 액션 action/액티비티 activity, 시작노드, 종료노드, 조건노드, 병합노드, 포크노드, 조인노드, 스웜레인 swim lane - 상호작용 개요 interaction overview 다이어그램
- 타이밍 timing 다이어그램
- 유스케이스 use case 다이어그램
스테레오 타입 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
표준 소프트웨어 생명 주기 프로세스
| 기본 생명 주기 프로세스 | 획득, 공급, 개발, 운영, 유지보스 프로세스 |
| 지원 생명 주기 프로세스 | 품질 보증, 검증, 확인, 활동 검토, 감사, 문서화, 형상 관리, 문제 해결 프로세스 |
| 조직 생명 주기 프로세스 | 관리, 기반 구조, 훈련, 개선 프로세스 |
'Certificate > 정보처리기사' 카테고리의 다른 글
| [정보처리기사][요약] 6.화면 설계 (0) | 2026.07.08 |
|---|---|
| [정보처리기사][요약] 5.인터페이스 구현 (0) | 2026.07.08 |
| [정보처리기사][요약] 4.서버 프로그램 구현 (0) | 2026.07.08 |
| [정보처리기사][요약] 3.통합 구현 (0) | 2026.07.08 |
| [정보처리기사][요약] 2.데이터 입/출력 구현 (0) | 2026.07.07 |