정보 처리 기사 실기 1. 요구 사항 확인 - 소프트웨어 개발 방법론
2021. 4. 13. 00:20ㆍ정 보 처 리 기 사 공 부/실 기
728x90
반응형
● 소프트웨어 생명주기(SDLC)모델 개념
소프트웨어 생명주기는 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차이다.
● 소프트웨어 생명주기 모델 프로세스
요구사항 분석 | 다양한 이해관계자의 상충할 수도 있는 요구사항을 고려하여 새로운 제품이나 변경된 제품에 부합하는 요구와 조건을 결정하는 단계 |
설계 | 시스템 명세 단계에서 정의한 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계 |
구현 | 설계 단계에서 논리적으로 결정한 문제 해결 방법을 특정 프로그래밍 언어를 사용하여 실제 프로그램을 작성하는 단계 |
테스트 | 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 검사하고 평가하는 단계 |
유지보수 | 시스템이 인수되고 설치된 후 일어나는 모든 활동 |
● 소프트웨어 생명주기 모델 종류
폭포수 모델 | · 소프트웨어 개발 시 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어가는 모델 · 가장 오래된 모델 · 선형 순차적 모형으로 고전적 생명주기 모형이라고도 함 · 모형의 적용 경험과 성공 사례가 많음 · 단계별 정의와 산출물이 명확 · 요구사항 변경이 어려움 · 타당성 검토 -> 계획 -> 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수 |
프로토타이핑 모델 | · 고객이 요구한 주요 기능을 프로토타입으로 구현하여 고객의 피드백을 반영하여 소프트웨어를 만들어가는 모델 · 프로토타입은 발주자나 개발자 모두에게 공동의 참조 모델을 제공 · 프로토타입은 구현 단계의 구현 골격 |
나선형 모델 | · 시스템 개발 시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델 · 계획 및 정의 -> 위험 분석 -> 개발 -> 고객 평가 |
반복적 모델 | · 구축 대상을 나누어 병렬적으로 개발 후 통합하거나, 반복적으로 개발하여 점증 완성시키는 모델 · 사용자의 요구사항 일부분 혹은 제품 일부분을 반복적으로 개발하여 최종 시스템으로 완성하는 모델 |
● 소프트웨어 개발 방법론 개념
소프트웨어 개발방법론은 소프트웨어 개발 전 과정에 지속적으로 적용할 수 있는 방법, 절차, 기법이다.
● 소프트웨어 개발 방법론 종류
구조적 방법론 | · 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론 · 프로세스 중심의 하향식 방법론 · 구조적 프로그래밍 표현을 위해 나씨-슈나이더만 차트 사용 |
정보공학 방법론 | · 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론 · 개발 주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론 |
객체지향 방법론 | · 객체라는 기본 단위로 시스템을 분석 및 설계하는 방법론 · 복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용하는 방법론 · 객체, 클래스, 메시지를 사용 |
컴포넌트 기반 방법론(CBD) | · 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론 · 개발 기간 단축으로 인한 생산성 향상 · 새로운 기능 추가 쉬움(확장성) · 소프트웨어 재사용이 가능 |
애자일 방법론 | · 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론 · 개발 과정의 어려움을 극복하기 위해 적극적으로 모색한 방법론 |
제품 계열 방법론 | · 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론 · 임베디드 소프트웨어를 작성하는데 유용한 방법론 |
● 애자일 방법론의 개념
애자일 방법론은 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론이다. 개발 기간이 짧고 신속하며, 워터폴에 대비되는 방법론으로 개발과 함께 즉시 피드백을 받아서 유동적으로 개발할 수 있다.
● 애자일 방법론 유형
XP | 의사소통 개선과 즉각적 피드백으로 소프트웨어 품질을 높이기 위한 방법론 |
스크럼 | 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론 |
린 | 도요타의 린 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해서 낭비 요소를 제거하여 품질을 향상시킨 방법론 |
● XP의 12가지 기본 원리
짝 프로그래밍(pair programing) | 개발자 둘이서 짝으로 코딩하는 원리 |
공동 코드 소유(collective ownership) | 시스템에 있는 코드는 누구든지 언제라도 수정 가능하다는 원리 |
지속적인 통합(CI; continuous integration) | 매일 여러 번씩 소프트웨어를 통합하고 빌드해야 한다는 원리 |
계획 세우기(planning process) | 고객이 요구하는 비즈니스 가치를 정의하고, 개발자가 필요한 것은 무엇이며 어떤 부분에서 지연될 수 있는지를 알려주어야 한다는 원리 |
작은 릴리즈(small release) | 작은 시스템을 먼저 만들고, 짧은 단위로 업데이트 한다는 원리 |
메타포어(metaphor) | 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자 간의 의사소통을 원활하게 한다는 원리 |
간단한 디자인(simple design) | 현재의 요구사항에 적합한 가장 단순한 시스템을 설계한다는 원리 |
테스트 기반 개발(TDD; test driven develop) | 작성해야 하는 프로그램에 대한 테스트를 먼저 수행하고 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다는 원리 |
리팩토링(refactoring) | 프로그램의 기능을 바꾸지 않으면서 중복제거, 단순화 등을 위해 시스템 재구성 한다는 원리 |
40시간 작업(40-hour work) | 개발자가 피곤으로 인해 실수하지 않도록 일주일에 40시간 이상을 일하지 말아야 한다는 원리 |
고객 상주(on site customer) | 개발자들의 질문에 즉각 대답해 줄 수 있는 고객을 프로젝트에 풀타임으로 상주시켜야 한다는 원리 |
코드 표준(coding standard) | 효과적인 공동 작업을 위해서는 모든 코드에 대한 코딩 표준을 정의해야 한다는 원리 |
● 비용 산정 모형 종류
LoC | · 소프트웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 방식 |
Man Month | · 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 방식 · Man Month = LOC(Lines of Code)/프로그래머의 월간 생산성 · 프로젝트 기간 = Man Month/프로젝트 인력 |
COCOMO | · 보헴이 제안한 모형으로 프로그램 규모에 따라 비용을 산정하는 방식 · 비용산정 결과는 프로젝트를 완성하는 데 필요한 노력(Man-Month)으로 산정한다. |
푸트남(Putnam) | · 소프트웨어 개발주기의 단계별로 요구할 인력의 분포를 가정하는 방식 · 푸트남이 제안한 것으로 생명주기 예측 모형이라고 한다. · 시간에 따른 함수로 표현되는 Rayleigh_Norden 곡선의 노력 분포도를 기초로 한다. |
기능점수(FP) | · 요구 기능을 증가시키는 인자별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능의 점수를 계산하여 비용을 산정하는 방식 |
● 일정관리 모델 종류
주 공정법(CPM) | · 여러 작업들의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법 · 모든 자원 제약사항을 배제한 상태로 프로젝트의 시작과 끝을 나타내는 노드와 노드 간의 연결을 통해 공정을 계산하기 위한 액티비티 표기법 |
PERT | · 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 증간치, 낙관치의 3점 추첨방식을 통해 일정을 관리하는 기법 |
중요 연쇄 프로젝트 관리(CCPM) | · 주 공정 연소법으로 자원 제약사항을 고려하여 일정을 작성하는 기법 |
728x90
반응형
'정 보 처 리 기 사 공 부 > 실 기' 카테고리의 다른 글
정보 처리 기사 실기 2. 화면설계 - UI 설계 (0) | 2021.07.03 |
---|---|
정보 처리 기사 실기 2. 화면설계 - UI 요구사항 확인 (2) | 2021.07.02 |
정보 처리 기사 실기 1. 요구 사항 확인 - 분석 모델 확인하기 (0) | 2021.04.13 |
정보 처리 기사 실기 1. 요구 사항 확인 - 요구 사항 확인 (0) | 2021.04.13 |
정보 처리 기사 실기 1. 요구 사항 확인 - 현행 시스템 분석 (0) | 2021.04.13 |