Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- AI Hub
- 탄막 스킬 범위
- 18249
- 3273
- SWEA
- c#
- 영상 프레임 추출
- 그리디알고리즘
- 우분투
- 백준
- 단어 수학
- mysqld.sock
- 탄막 이동
- 문자열 압축
- 마우스 따라다니기
- 원형
- 강의실2
- 유니티
- 걷는건귀찮아
- MySQL
- 수 만들기
- 윈도우
- 자료구조 목차
- 알고리즘 목차
- 3344
- 2020 KAKAO BLIND RECRUITMENT
- 탄막
- 토글 그룹
- 알고리즘
- 회의실 배정
Archives
- Today
- Total
와이유스토리
[소프트웨어공학] 5. 소프트웨어 개발방법론(OOP, SOLID, AOP, 에자일) 본문
1. 소프트웨어 개발방법론
소프트웨어를 어떻게 만들지에 대한 방법론으로 작업절차, 작업방법, 산출물, 관리, 기법, 도구에 대해 구체적으로 정의한다.
2. 소프트웨어 개발방법론 종류
- 구조적 방법론 : 전체 시스템을 기능에 따라 개발 후 통합(하향식). 체계화, 모듈화되어 있으나 거시적으로 보기 어렵고 유지보수성이 낮다.
- 정보공학 방법론 : 데이터나 모델링으로 정보시스템 개발에 필요한 관리 절차 및 작업 기반 체계화
- 제품 계열 방법론 : 특정 제품에 적용하고 싶은 공통 기능 먼저 개발. 임베디드에 활용
- 객체지향 방법론(OOP) : 객체를 이용한 방법론. 컴포넌트화 쉬움. 반복적 개발 가능
- 컴포넌트 기반 방법론(CBD) : 컴포넌트를 추출하여 구현. 사용자와 개발자간의 커뮤니케이션, SW 재사용성을 극대화한 개발 방법론
- 애자일 방법론 : CBD의 한 종류. 절차보다 사람을, 문서보다 소프트웨어를 중요시하며 철저한 계획보다 변화에 민첩한 대응, 계약과 협상보다 고객과의 협력을 중요시한다.
3. 객제지향 방법론(OOP)
SOLID 원칙
SRP
OCP
LSP
ISP
DIP
4. 관점지향 방법론(AOP)
4. 애자일 방법론
1) XP : 의사소통 개선과 즉각적 피드백
- 5가지 가치 : 의사소통, 단순성, 피드백, 용기, 존중
- 원칙 : 인간성, 경제성, 상호이익, 자기 유사성, 개선, 다양성, 반성, 흐름, 잉여, 실패, 품질
- 12가지 실천 방법
- 짝 프로그래밍(Pair Programming)
- 지속적 통합(Continuous Integration) : 버전 일치 위해 매일 여러 번씩 SW통합
- 계획 수립(Planning Process) :개발자가 필요한 것은 무엇이며 어떤 부분에서 지연될 수 있는지를 알려줘야함
- 작은 릴리즈(Small Release) : 작은 시스템 먼저 만들고 짧은 단위 업데이트
- 메타포(Metathor) : 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자간의 의사소통을 원활하게
- 간단한 디자인(Simple Design): 요구사항에 적합한 가장 단순한 시스템 설계
- 테스트 기반 개발(TDD : Test Driven Develop)
- 공동 코드 소유(Collective Ownership) : 시스템 코드는 누구든지 언제라도 수정 가능
- 리팩토링(Refactoring) : 프로그램의 기능은 바꾸지 않고 중복제거, 단순화 등을 위해 시스템 재구성
- 주 40시간 작업 : 야근 금지
- 고객 상주(On Site Customer) : 개발자들의 질문에 대답할 수 있는 고객과의 실시간 소통
- 코드 표준(Coding Standard) : 효과적인 공동 작업을과 생산성을 위해 코딩 표준을 정의
2) Scrum : 매일 정해진 시간, 장소에서 짧은 시간동안 개발
- 백로그(Backlog) : 제품과 프로젝트에 대한 요구사항. 우선순위로 관리
- 스크럼 미팅(Scrum Meeting) : 매일 15분 정도 미팅
- 스크럼 마스터(Scrum Master) : 프로젝트 리더
- 스프린트(Sprint) : 계획, 개발, 리뷰 작업 등 최소 단위의 사이클. 2~4주의 짧은 개발 기간 반복적 수행
- 스프린트 백로그(Sprint Backlog) : 각각의 스프린트 목표에 도달하기 위한 작업 목록
- 스프린트 리뷰(Sprint Review)
- 스프린트 회고(Sprint Retrospective) : 스프린트 주기 되돌아보며 규칙 준수 여부, 개선점 확인
- 번 다운 차트(Burn Down Chart)
3) Lean : 도요타의 TPS 적용한 방법론, 낭비 요소 제거하여 품질 향상
- 낭비제거, 품질 내재화, 지식 창출, 늦은 확정, 빠른 인도, 사람 존중, 전체 최적화
'컴퓨터공학 > 소프트웨어공학' 카테고리의 다른 글
[소프트웨어공학] 4. 요구공학(Requirements Engineering) (0) | 2022.10.01 |
---|---|
[소프트웨어공학] 3. 프로젝트 계획 및 비용 산정 모델 (0) | 2022.10.01 |
[소프트웨어공학] 2. 소프트웨어 생명주기(SDLC) (0) | 2022.09.18 |
[소프트웨어공학] 1. 소프트웨어공학 (0) | 2022.09.17 |
Comments