Notice
Recent Posts
Recent Comments
Tags
- 프로그래머스
- Django
- 코딩테스트 연습
- 백준 바닥장식 python
- 프로그래머스 레벨1
- 스프링 기초
- 프로그래머스 레벨2
- Spring 초보
- 프로그래머스 level1
- 코테 연습
- 바닥장식 파이썬
- 코딩테스트
- 프로그래머스 알고리즘 고득점 kit
- 프로그래머스 고득점 kit
- 코테
- 알고리즘 문제
- 전화번호 목록 python
- 백준
- 알고리즘 공부
- programmers
- 장고
- 프로그래머스 전화번호 목록 파이썬
- Django 기초
- 장고 기초
- dp 알고리즘
- 백준 dp
- 프로그래머스 전화번호 목록 python
- 백준 다이나믹프로그래밍
- spring 기초
- 스프링 초보
Archives
- Today
- Total
일일구름 IT
[Chapter01] 소프트웨어 개발 방법론 본문
1. 소프트웨어 개발 방법론
(1)소프트웨어 생명주기 모델
소프트웨어 생명주기(SDLC) 모델 개념
- 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차
소프트웨어 생명주기 모델 프로세스
1. 요구사항 분석
2. 설계
3. 구현
4. 테스트
5. 유지보수
소프트웨어 생명주기 모델 종류
- 폭포수 모델
- 프로토타이핑 모델
- 나선형 모델 : 위험 감소
- 반복적 모델 : 병행 개발
(2) 소프트웨어 개발 방법론
소프트웨어 개발 방법론 개념
- 소프트웨어 개발 전 과정에 지속적으로 적용할 수 있는 방법, 절차, 기법이다.
소프트웨어 개발 방법론 종류
- 구조적 방법론 : 분할/정복 접근 방식, 하향식
- 정보공학 방법론
- 객체지향 방법론 : 복잡한 세계를 사람이 이해하는 방식
- 컴포넌트 기반 방법론
- 애자일 방법론
- 제품 계열 방법론
애자일
- 절차보다 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론
애자일 방법론 유형
- XP
- 린
- 스크럼
XP(eXtreme Programming)
- 1~3주 반복 개발주기
- 5가지 가치, 12개 실천항목
XP 5가지 가치
- 용기
- 단순성
- 의사소통
- 피드백
- 존중
XP 12가지 기본원리
- 짝프로그래밍
- 공동 코드 소유 : 시스템에 있는 코드 누구든 언제나 수정 가능
- 지속적인 통합
- 계획 세우기
- 작은 릴리즈
- 메타포어 : 공통적인 이름체계, 시스템 서술서로 고객과 개발자간의 의사소통 원활
- 간단한 디자인
- 테스트 기반 개발(TDD) : 작성해야하는 프로그램에 대한 테스트를 먼저 수행하고 이 테스트를 통과할 수 있도록 프로그램의 코드를 작성
- 리팩토링 : 프로그램의 기능을 바꾸지 않으며 중복제거, 단순화등을 위해 시스템 재구성
- 40시간 작업
- 고객 상주
- 코드 표준
스크럼(SCRUM)
- 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론
- 백로그 : 제품, 프로젝트에 대한 요구사항
- 스프린트 : 2~4주
- 스크럼 미팅 : 매일 15분 정도
- 스크럼 마스터
- 스프린트 회고
- 번 다운 차트 : 백로그는 수직축, 시간은 수평축에 위치
백로그 -> 스프린트, 스크럼 미팅 -> 스프린트 회고
(3) 객체지향 분석 방법론
객체지향 개념
- 실세계의 개체를 속성과 메서드가 결합한 형태의 객체로 표현하는 기법
객체지향 구성요소 (클객 메 메인속)
- 클래스
- 객체
- 매서드
- 메시지
- 인스턴스
- 속성
객체지향 기법 (캡상다추정관)
- 캡슐화
- 상속화
- 다형성 : 오버로딩(같은 이름 메서드 여러개), 오버라이딩(상위 클래스 메서드 하위 클래스가 재정의)
- 추상화
- 정보 은닉
- 관계성
객체지향 설계 원칙 (SOLID)
- 단일 폐쇄 법칙(SRP)
- 개방 폐쇄 법칙(OCP)
- 리스코프 치환 법칙(LSP)
- 인터페이스 분리의 법칙(ISP)
- 의존성 역전의 원칙(DIP)
객체지향 분석 개념
- 사용자의 요구를 분석하여 요구된 문제와 관련된 모든 클래스, 속성, 연산, 관계를 정의하는 모델링 기법
객체지향 분석 방법론 종류
- OOSE (야콥슨) : 유스케이스
- OMT (럼바우) : 객체, 동적, 기능 모델링
- OOD (부치) : 다이어그램
- 코드-요든 : E-R 다이어그램
기능 모델링 주요 기법
- 데이터 흐름도 (DFD)
- 자료 사전 (DD)