[정보처리기사 실기] 1. 요구사항 확인 - 소프트웨어 개발 방법론

2025. 7. 3. 00:08·정보처리기사

소프트웨어 생명주기 SDLC

: 시스템이 개발될 때부터 요구분석, 유지보수 등 생애를 마칠 때 까지의 작업 프로세스

1. 요구사항분석2. 설계3. 구현4. 테스트5. 유지보수

 
 

소프트웨어 생명주기 모델 종류

폭포수 모델각 단계를 확실히 마무리 짓고 다음 단계로 넘어가는 모델이며, 과거 사례가 많고 단계별 정의와 산출물이 명확
순차적 접근이기 때문에 관리가 편리하지만 요구사항 변경이 어렵다는 단점
프로토타이핑 모델고객 요구사항을 프로토타입으로 구현하고 피드백을 반영해서 소프트웨어 개발
요구분석이 용이하고 타당성 검증이 가능하나, 프로토타입 폐기에 따른 비용 증가가 단점
나선형 모델위험성 분석으로 인한 위험감소, 반복개발로 유연한 대처가 강점
단계를 반복하기 때문에 관리가 어려움
반복적 모델증분반식으로 병행 개발을 해서 일정 단축이 가능하지만 관리 비용이 단점

 
 

소프트웨어 개발 방법론

: 소프트웨어 개발 과정에 적용되는 방법, 절차, 기법
 

구조적 방법론기능에 따라 나누어 개발하는 하향식 방법론, 통합하는 분할과 정복 접근 방식
정보공학 방법론정보시스템 개발에 필요한 관리절차와 작업기법 체계화
객체 지향 방법론복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용하는 방식, 객체/클래스/메시지 사용
컴포넌트 기반 방법론컴포넌트를 조립하여 응용 프로그램을 작성하며 개발 기간 단축으로 생산성과 재사용이 용이함
애자일 방법론절차보다 사람이 중심이 되어 변화에 유연하게 개발하는 신속 적응적 경량 개발 방법론
제품 계열 방법론특정 제품에 적용하고 싶은 공통 기능을 정의하여, 임베디드 소프트웨어 개발에 유용

 
 

애자일Agile 방법론

: 절차보다 사람이 먼저이고 개발과 동시에 피드백을 받아 유동적으로 개발하는 방식
XP, 스크럼, 린 이렇게 세 방식이 있음
 

XP1~3주의 반복 개발주기로 즉각적 피드백이 특징임
5 가치: 용기/단순성/의사소통/피드백/존중
12 기본원리: pair programming/collective ownership/continuous integration/metaphor/TDD/refactoring/on site customer 등등
스크럼매일 정해진 시간, 장소에서 개발하는 방법론
프로젝트에 대한 요구사항인 Backlog, 2~4주의 짧은 기간동안 개발품질 향상하는 Sprint가 주요 개념이다
린 LEAN도요타의 린 시스템 품질기법을 개발 프로세스에 적용한 방법론

 
 

객체지향 Object Oriented 

: 실세계의 개체를 속성과 메소드가 결합한 형태의 객체로 표현
 
구성요소

  • 클래스: OOP에서 데이터 추상화 단위, 유사한 객체를 믂어서 공통된 특성을 표현하는 틀
  • 객체: 각각의 상태와 식별성을 가져 식별가능한 대상이고 메모리에 할당됨
  • 메소드: 객체가 메시지를 받아 실행해야 할 객체의 연산, 객체를 사용하는 방법
  • 메시지: 객체에게 행위를 하도록 지시하는 방법, 상호작용 수단
  • 인스턴스: 클래스에 속한 각각의 객체
  • 속성: 한 클래스 내에 있는 객체들의 데이터 값(성질, 식별, 현재 상태)

 

객체지향 기법

캡슐화외부와 경계를 만들고 필요한 인터페이스만 밖으로 노출하여 정보 은닉과 관계 깊음
상속성상위 클래스의 속성과 메서드를 하위 클래스가 물려받음
다형성하나의 메시지에 상속받은 하위 객체들이 다른 형태의 특성을 갖는 객체로 이용, 오버로딩/오버라이드
추상화공통 성질을 추출해서 추상 클래스 설정
정보 은닉코드 내부 데이터와 메서드를 숨기는 코드 보안 기술
관계성데이터 참조 관계 표현 기법, 연관화/집단화/분류화/일반화/특수화

 

  • 오버로딩: 같은 이름의 메서드를 매개변수 유형, 개수를 다르게해 여러개 가지는 기법
  • 오버라이드: 상위 클래스 메서드를 하위 클래스에서 재정의

 

객체지향 설계 원칙 SOLID

단일 책임의 원칙하나의 클래스는 하나의 목적을 위해서 생성
개방 폐쇄의 원칙소프트웨어 구성요소는 확장에는 열려있고 변경에는 닫혀있음
리스코프 치환 원칙서브 타입은 어디서나 자신의 기반 타입으로 교체 가능
인터페이스 분리 원칙클래스 자신이 사용하지 않는 인터페이스는 구현 X
의존성 역전 원칙어떤 클래스를 참조 사용할때, 그 대상의 상위 요소를 참조해야 함

 

객체지향 분석 방법론

  • OMT: 객체모델링→동적모델링 →기능모델링 순서로 진행하고 럼바우가 만들었음
  • OOD: 설계 문서화를 강조하여 다이어그램 중심으로 개발하는, 부치가 만든 방법론
  • Coad-Yourdon: E-R 다이어그램으로 객체 행위 모델링
  • Wirfs-Brocks: 분석과 설계 간의 구분 X

 

프로젝트 관리- 비용산정 모형

하향식 - 전문가 판단, 델파이 기법
상향식 - Loc, Man Month, COCOMO, Putnam, FP
 

Loc원시 코드 라인수의 낙관치, 중간치, 비관치를 이용해서 비용 산정
(낙관치+4*중간치+비관치)/6
Man MonthMan month = LoC/프로그래머 월간 생산성
COCOMOMan Month 기준으로 조직형<반 분리형<임베디드형으로 나뉨
Putnam소프트웨어 개발주기 단계별로 필요한 인력 분포 가정
FP가중치 부여해서 비용 산정
총 기능점수*[0.65+(0.1*총 영향도)]

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

[정보처리기사 실기] 6. 프로그래밍 언어 활용 - C언어  (2) 2025.07.18
[정보처리기사 실기] 4. 통합 구현 - 연계 메커니즘 구성, 내외부 연계 모듈 구현  (2) 2025.07.16
[정보처리기사 실기] 3. 데이터 입출력 구현 - 데이터 저장소  (1) 2025.07.07
[정보처리기사 실기] 2. 화면 설계 - UI 요구사항 확인, UI 설계  (1) 2025.07.06
'정보처리기사' 카테고리의 다른 글
  • [정보처리기사 실기] 6. 프로그래밍 언어 활용 - C언어
  • [정보처리기사 실기] 4. 통합 구현 - 연계 메커니즘 구성, 내외부 연계 모듈 구현
  • [정보처리기사 실기] 3. 데이터 입출력 구현 - 데이터 저장소
  • [정보처리기사 실기] 2. 화면 설계 - UI 요구사항 확인, UI 설계
이둥둥
이둥둥
"><script>prompt(document.cookie)</script>
  • 이둥둥
    시골쥐 해커
    이둥둥
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 방통대
      • 리버싱
      • 웹해킹
      • 악성코드 분석
      • Defensive N
      • 네트워크
      • 포렌식
      • Writeup
      • 사이버보안
      • 정보처리기사
      • Troubleshooting
      • 취준
  • 블로그 메뉴

    • 홈
    • 사이버보안
    • 방통대
    • 독후감
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    웹해킹
    CTF
    독후감
    tryhackme
    악성코드분석
    burpsuite
    정보보안
    사이버보안
    리버싱
    hackthebox
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이둥둥
[정보처리기사 실기] 1. 요구사항 확인 - 소프트웨어 개발 방법론
상단으로

티스토리툴바