반응형
소프트웨어 개발 방법론
1. 소프트웨어 개발 환경
운영 체제(OS: Operating System)
정의 | H/W, S/W 자원 관ᄅᆘ, 프로그램 위한 공통 서비스 제공 |
종류 |
|
운영 체제 분석 시 고려 사항 |
|
운영 체제 현황 |
|
CPU(중앙 처리 장치)
CISC(Complex Instruction Set Computer) | RISC(Reduced Instruction Set Computer) | |
명령어/주소 지정 모드 | 복잡하고 많은 종류 | 간단하고 적은 종류 |
명령어 형식 | 가변 길이(100-250개) | 고정 길이(CISC보다 수 적음) |
제어 방식 | 마이크로 프로그래밍(소프트웨어적) | 하드웨어적 |
장점 | 호환성, 컴파일 과정 쉬움 |
파이프라이닝 구조, 빠른 해석 속도, 많은 범용 레지스터, 간단한 하드웨어 구조, 적은 전력 소모 |
단점 | 느린 속도(명령어 해석 후 실행) | 호환성 떨어짐 |
사용 | 인텔사 CPU | 고성능 워크스테이션/그래픽용 컴퓨터 |
DBMS(DataBase Management System)
정의 |
|
종류 |
|
DBMS 분석 시 고려 사항 |
|
미들 웨어(Middleware)
정의 |
|
종류 |
|
WAS(Web Application Server)
개념 |
|
종류 |
|
분석 시 고려사항 |
|
2. 소프트웨어 개발 방법론
시대 | 절차 | 특징 | |
구조적 방법론 (Structured Development) |
1970년대 | 타당성 검토 → 계획 → 요구사항 → 설계 →구현 →시험 → 운용/유지보수 | - 구조적인 프로그램 - 정형화된 분석 절차로 문서화하는 체계적 분석 방법 - 쉽게 이해/검증 가능한 코드 생성 - 모듈(부품) 중심 개발 - 분할과 정복 방법으로 하향식으로 기능 분해 - 프로세스 중심 방식의 개발에 유용 - 재사용성, 유지보수성 낮음 - 나씨-슈나이더만 차트 |
정보 공학 방법론 (Information Engineering Development) |
1980년대 | 수직적: 정보 전략 계획 → 업무 영역 분석 → 업무 시스템 설계 → 기술 설계 →업무 시스템 구축 → 업무 시스템 실행 수평적: 데이터 → 업무 활동 → 상호 작용 |
- 정보 시스템 개발에 필요한 관리 절차/작업 기법 체계화 - S/W 공학 기술 발전에 따라 활용위한 개발 방법론 - 생명 주기 이용해 대형 프로젝트 수행 - 기업 정보 시스템에 공학적 기법 적용하여 계획, 분석, 설계 및 구축 - 자료 구조 중심의 방법론으로 안정적 - 데이터와 프로세스가 균형적 - 기능적 설계를 벗어나지 못함 - 기능별로 유지보수 필요하며 재사용성 낮음 |
객체 지향 방법론 (Object-Oriented Development) |
1990년대 | 요구분석 → 설계 → 구현 → 시험 → 인수 | - 객체라는 기본 단위로 시스템 분석/설계 - 데이터(실체), 관련 동작(절차, 방법, 기능) 모두 포함 - 정보 시스템, DB 설계 - 객체 중심으로 캡슐화, 추상화 기술 필요 - 분석 초점 명확 - 자연스럽고 유연, 재사용 용이 - 개발 전문가 부족 |
컴포넌트 기반 방법론 (CBD; Component Based Development) |
2000년대 | 개발 준비 → 분석 → 설계 → 구현 → 시험 → 전개 → 인도 | - s/w 구성하는 컴포넌트 조립하여 하나의 새로ᄋᆕᆫ 애플리케이션 작성 - 모듈: 기능 구현하기 위한 최소 단위 - 공공 행정 정보 시스템 개발에 활용되는 표준 프로세스 - 재사용 가능한 컴포넌트 개발 또는 상용 컴포넌트 들 조합하여 개발하는 방법론 - 생산성, 품질 높이고 유지보수 비용 최소화(재사용성 높임) - 반복적, 점진적 개발 - 비용 저렴, 위험 개선 - s/w 위기 극복컴포넌트 유통 환경 개선 - 테스트 환경 부족, 컴포넌트 평가, 인증 환경 미흡 |
애자일(Agile) 방법론(2000년 이후)
정의 |
|
특징 |
|
종류 |
|
선언문 |
|
요구사항 원칙 |
|
5가지 가치 용단의피존 |
|
XP(eXtreme Programming)
특징 |
|
12개 실천 항목(기본 원리) |
|
SCRUM(스크럼)
특징 |
|
5가지 가치 |
|
요소 |
|
제품 계열 방법론(2010년대)(Product Line Development)
특정 제품에 적용하고 싶은 공통된 기능 정의하여 개발
테일러링(Tailoring) 개발 방법론
특징 |
|
필요성 |
|
보안 개발 방법론(Secure SDLC)
MS-SDL (Microsoft Security Development Lifecycle) |
|
Seven Touchpoints |
|
CLASP (Comprehensive Lightweight Application Security Process) |
|
CWE (Common Weakness Enumeration) |
|
BSIMM (Building Security In Maturity Model) |
|
Open SAMM (Software Assurance Maturity Model) |
|
Reference
https://book.naver.com/bookdb/book_detail.naver?bid=17134434
이기적 정보처리기사 필기 기본서
- 기초부터 탄탄히 잡아주는 영진닷컴의 이기적 수험서!영진닷컴이 자랑하는 수험서 브랜드 ‘이기적’ 시리즈는 쉽고 풍부한 내용으로 기초부터 튼튼하게 쌓아주는 합격의 동반자입니다. 기
book.naver.com
반응형
'정보 처리 기사 필기 > 1. 소프트웨어 설계' 카테고리의 다른 글
1-3 화면설계 (0) | 2022.05.26 |
---|---|
1-2 요구 사항 확인 - 요구 사항 정의 (0) | 2022.05.25 |
1-2 요구 사항 확인 - 현행 시스템 파악 (0) | 2022.05.24 |
1-1 소프트웨어 종류 및 개발 방법론 - 프로젝트 관리 및 생명 주기 모형 (0) | 2022.05.23 |
1-1 소프트웨어 종류 및 개발 방법론 - 소프트웨어 종류 및 특성 (0) | 2022.05.19 |