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
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch7
- 2024 정보처리기사 시나공 필기
- 자바 고급2편 - 네트워크 프로그램
- 자바로 키오스크 만들기
- 자바 고급2편 - io
- 자바로 계산기 만들기
- 자바 기초
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch1
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch2
- 스프링 고급 - 스프링 aop
- @Aspect
- 데이터 접근 기술
- 스프링 입문(무료)
- 자바의 정석 기초편 ch12
- 스프링 mvc2 - 로그인 처리
- 자바의 정석 기초편 ch14
- 2024 정보처리기사 수제비 실기
- 자바의 정석 기초편 ch13
- 자바 중급2편 - 컬렉션 프레임워크
- 자바 중급1편 - 날짜와 시간
- 자바의 정석 기초편 ch5
- 스프링 mvc2 - 타임리프
- 자바의 정석 기초편 ch4
- 스프링 트랜잭션
- 람다
- 자바의 정석 기초편 ch6
- 자바의 정석 기초편 ch11
Archives
- Today
- Total
개발공부기록
1강 / CHAPTER 01 - 소프트웨어 개발 방법론 (일부만 작성) 본문
2024 정보처리기사 2차 합격/실기 1,2강 - 요구사항 확인, 화면설계
1강 / CHAPTER 01 - 소프트웨어 개발 방법론 (일부만 작성)
소소한나구리 2024. 7. 26. 11:23728x90
2024년도 수제비 실기책(6판) 내용 정리
1. 소프트웨어 개발 방법론
1) 소프트웨어 생명주기 모델 (SDLS) 종류
종류 | 설명 |
폭포수 모델 (Waterfall Model) |
소프트웨어 개발 시 각 단계를 확실히 마무리 지은 후 다음 단계로 넘어감 절차 : 타당성 검토 > 계획 > 요구사항 분석 > 설계 > 구현 > 테스트 > 유지보수 |
프로토타이핑 모델 (Prototyping Model) |
고객 요구사항의 주요 기능을 프로토타입으로 구현 -> 고객피드백 반영하여 소프트웨어 만듦 |
나선형 모델 (Spiral Model) |
위험을 최소화 하기위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델 절차 : 계획 및 정의 > 위험 분석 > 개발 > 고객평가 |
반복적 모델 (Iteration Model) |
구축 대상을 나누어 병렬적으로 개발 후 통합하거나 반복적으로 개발하여 완성 사용자의 요구사항 및 제품의 각 일부분을 반복적으로 개발하여 최종 시스템으로 완성\ 다른 책에선 애자일 모델이라고 나와있음 |
2) 소프트웨어 개발 방법론 종류
(1) 구조적 방법론 (Structured Development)
- 전체 시스템을 기능에 따라 나누어 개발 하고 통합 (분할과 정복 접근 방식)
- 프로세스 중심의 하향식 방법론
- 나씨-슈나이더만 차트 사용 (차트의 세부는 중요하지 않는것 같아 패스)
(2) 정보공학 방법론 (Information Engineering Development)
- 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론
- 개발 주기를 이용해 대형 프로젝트를 수행
(3) 객체 지향 방법론 (Object - Oriented Development)
- '객체'라는 기본 단위로 시스템을 분석 및 설계하는 방법론
- 복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용 -> 객체, 클래스 ,메세지를 사용
(4) 컴포넌트 기반 방법론(CBD; Component Based Development)
- 기존 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용프로그램을 작성하는 방법론
- 개발기간 단축 -> 생산성 향상, 새로운 기능 추가 쉬움(확장성), 소프트웨어 재사용가능의 특징
(5) 애자일 방법론(Agile Development)
- 절차보다는 사람중심, 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론
- 개발 기간이 짧고 신속하며 폭포수 모형에 대비되는 방법론 -> 개발과 함께 즉시 피드백을 받아서 유동적으로 개발
- 기존 개발 방법론의 한계를 극복하기 위해 등장함(전통적인 방법론은 문서, 및 절차 위주로 신속한 변화에 대응이 어려움)
- XP, 스크럼, 린 등이 있음
(6) 제품 계열 방법론 (Product Line Development)
- 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론 -> 임베디드 소프트웨어를 작성하는데 유용함
3) 객체 지향 설계 원칙 (SOLID)
원칙 | 설명 |
단일 책임의 원칙 (SRP; Single Responsibility Principle) |
하나의 클래스는 하나의 목적을 위해 생성 클래스가 제공하는 서비스는 하나의 책임을 수행하는데 집중 나머지 4원칙의 기초 원칙 |
개방 폐쇄 원칙 (OCP; Open Close Principle) |
소프트웨어의 구성요소는 확장에는 열려있고 변경에는 닫혀있어야 한다는 원칙 |
리스코프 치환의 원칙(LSP; Liskov Substitution Principle) |
서브 타입(상속 받은 하위 클래스)은 어디서나 자신의 기반 타입(상위 클래스)로 교체할 수 있어야하는 원칙 |
인터페이스 분리의 원칙(ISP; Interface Segregation Principle) |
한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다는 원칙 객체 설계 시 특정 기능에 대한 인터페이스는 그 기능과 상관없는 부분이 변해도 영향을 받지 않아야 함 |
의존관계 역전의 원칙(DIP; Dependency Inversion Principle) |
객체에서 어떤 클래스를 참조해서 사용하는 경우 클래스 직접 참조하지않고, 그 대상의 상위 요소인 인터페이스 혹은 추상클래스를 참조하라는 원칙 |
2. 프로젝트 관리
- 하향식 산정방법으로는 델파이 기법, 전문가 판단이 있음
1) 비용산정 모형 종류(상향식 산정방법)
(1) LoC(Lines of Code) 모형
- 소프트웨어 각 기느으이 원시 코드 라인 수의 낙관치, 중관치, 비관치를 측정하여 예측치를 구함 -> 이를 바탕으로 비용을 산정
- 비관치 : 가장 많이 측정된 코드 라인수
- 중간치 : 측정된 모든 코드 라인 수의 평균
- 낙관치 : 가장 적게 측정된 코드 라인 수
- 예측치 = (비관치 + 4*중간치 + 비관치) / 6
(2) Man Month 모형
- 1사람이 1개월 동안 할 수 있는 일의 양을 기준으로 비용을 산정
- Man Month = Loc / 프로그래머의 월간 생산성
- 프로젝트 기간 = Man Month / 프로젝트 인력
(3) COCOMO 모형 (Constructive Cost Model)
- 보헴이 제안 -> 프로그램의 규모에 따라 비용을 산정
- 조직형(Organic Mode) : 5만 라인 이하의 소프트웨어를 개발하는 유형 -> 소규모의 소프트웨어로 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리 개발에 적용
- 반 분리형(Semi-Detached Mode) : 30만 라인 이하의 소프트웨어를 개발하는 유형 -> 트랜잭션 처리 시스템이나 데이터베이스 관리 시스템, 컴파일러, 인터프리터와 같은 유틸 개발에 적용
- 임베디드형(Embedded Mode) : 30만 라인 이상의 소프트웨어를 개발하는 유형 -> 초대형 규모의 트랜잭션 처리 시스템이나 운영체제, 실시간 처리 시스템등의 프로그램 개발에 적용
(4) 푸트남(Putnam)모형
- 푸트남이 제안한 생명주기 예측 모형
- 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력분포도를 기초로함
(5) 기능점수 모형(FP; Function Point)
- 요구 기능을 증가시키는 인자별로 가중치를 부여하고 요인별 가중치를 합산하여 총 기능의 점수를 계산하여 비용을 산정하는 방식 , 경험을 바탕으로 정도에 따라 가중치를 부여하여 계산
- 기능점수 = 총기능점수 X [0.65 + (0.1 X 총 영향도)]
2) 일정관리 모델 관련 용어
(1) 주 공정법(CPM; Critical Path Method)
- 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법
- 모든 자원 제약사항을 배제한 상태로 프로젝트의 시작과 끝을 나타내는 노드와 노드 간의 연결을 통해 공적을 계산하기 위한 액티비티 표기법
- 주 공정 = 임계 경로 = 프로젝트의 시작에서 종료까지 가장 긴 시간이 걸리는 경로
(2) PERT(Program Evaluation and Review Technique)
- 일의 순서를 계획적으로 정리하기 위한 수렴 기법
- 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정을 관리
(3) 중요 연쇄 프로젝트 관리(CCPM; Critical Chain Project Management)
- 자원제약사항을 고려하여 일정을 작성하는 기법
728x90
'2024 정보처리기사 2차 합격 > 실기 1,2강 - 요구사항 확인, 화면설계' 카테고리의 다른 글
2강 / CHAPTER 01 - UI 요구사항 확인, CHAPTER 02 - UI 설계 (일부만 작성), 4강 / CHAPTER 02 - 내외부 연계 모듈 구현 (일부만 작성) (0) | 2024.07.26 |
---|---|
1강 / CHAPTER 02 - 현행 시스템 분석 (일부만 작성) (0) | 2024.07.26 |