728x90
반응형
반응형
IT CookBook, 쉽게 배우는 소프트웨어 공학(2판)
- 저자 :김치수
- 출간 :2021-06-30
- ISBN :9791156645429
[쉽게 배우는 소프트웨어 공학(2판)] 연습문제 솔루션
Chap1. 소프트웨어 공학과 개발 프로세스
- 4) 최대한 많은 인력 투입
- 4) 애자일 프로세스 모델(Agile Process Model)
- 1) 폭포수 모형
- 1) 개발 중 발생한 요구사항을 쉽게 반영할 수 있다.
- 3) 폭포수 모형
- 4) 소프트웨어 요구사항의 변경이 많은 경우에 적합한 모델이다.
- 1) 나선형 모델
- 2) Ⓐ-Ⓓ-Ⓒ-Ⓑ순으로 반복
- 3) 정형 분석
- 1) Linear Sequential Method
반응형
- 2) 계획에 중점을 두어 변경 대응이 난해하다.
- 3) 제품 기능 목록에 있는 업무의 우선순위를 결정한 후에는 변경하지 않는다.
- 1) 스프린트 회고
- 2) UP(Unified Process)
- 4) 국제 표준 품질기준
-
- 특성 :
- - ‘공학’이 붙으면 문제를 해결할 때 무한정의 시간과 비용이 드는 것이 아니라 정해진 기간과 주어진 비용이라는 제한이 생긴다.
- - 즉 공학은 과학적 지식을 활용해 문제를 해결하는 데 한정된 기간과 비용의 제약을 받는다.
- - 공학이 발전하면 문제 해결을 위한 기술이 축적되고 공학적 원리가 개발된다.
- - 그리고 이를 실무에 적용해 문제 해결의 절차를 만들고 반복적인 절차를 개선해 표준을 만들어낸다. 그러면 초보자도 이 표준 지침을 따라 문제를 해결할 수 있다.
- - 요리할 줄 모르는 사람도 레시피(표준)를 따르다 보면 맛있는 요리가 완성되는 것과 같다.
- 목표 :
- - 소프트웨어 공학은 ‘소프트웨어를 개발하는 과정에 공학적인 원리를 적용해 보자’는 것.
- - 소프트웨어 공학의 목표는 소프트웨어 개발의 어려움을 해결하고, 효율적인 개발을 통해 생산성을 향상해 사용자가 만족하는 고품질의 소프트웨어 제품을 만들기 위해서이다.
- 특성 :
-
- - 점증적 개발 방법: 식사 유형에 비유해보자. 일반적으로 양식 코스 요리를 먹을 때는 야채 샐러드나 수프와 같은 전채 요리를 먼저 먹은 후에 스테이크와 같은 메인 요리를 먹는다. 그런 다음 후식을 먹는다. 이와 같이 점증적 방법도 ‘하나가 끝나면 그다음, 또 하나가 끝나면 그다음…’처럼 하나씩 늘려 간다.
- - 소프트웨어 개발에서 점증적 방법: 중요하다고 생각되는 부분부터 차례로 개발한 후 그 일부를 사용하면서 개발 범위를 점차 늘려 가는 방식이다.
- - 반복적 개발 방법: 한정식 상차림에 비유할 수 있다. 한정식을 먹을 때는 모든 음식을 한 상에 가득 차려놓고 조금씩 모두 맛본다. 그중 맛있는 음식은 한 번 더 먹고, 아주 맛있는 음식이라면 여러 번 먹고 식사를 마친다.
- - 소프트웨어 개발에서 반복적 개발 방법: 초기에 시스템 전체를 일차적으로 개발해 인도한 후, 각 서브 시스템의 기능과 성능을 변경 및 보강해 완성도를 높인다. 이렇게 업그레이드된 릴리스 버전을 다시 내놓는 것이다. 이 방식은 초기의 요구사항이 불분명한 경우에 적합하다.
반응형
-
구분 에자일 프로세스 모델 폭포수 모델 추가 요구사항의 수용 처음 수집한 요구사항을 전체 중 일부로 인정하고 시작하므로 언제든지 추가 요구사항이 있을 것으로 간주한다. 따라서 추가 요구사항을 수용할 수 있는 방법으로 설계되어 있다. 요구사항 분석이 완전히 완료된 후에 설계 단계로넘어가므로 새로운 요구사항을 추가하기 쉽지 않다. 추가 요구사항을 반영하기 어려운 구조다. 릴리스 시점 가능하면 자주. 빨리 제품에 대한 프로토타입을 만들어 사용자에게 보여준다. 이러한 방식을 반복적으로 수행해 최종 제품을 만들기 때문에 자주 릴리스 된다. 요구사항에 대한 분석. 설계. 구현 과정이 끝나고 최종 완성된 제품을 릴리스한다. 시작 상태 계속적인 추가 요구사항을 전제로 하는 방식이라 시작 단계에서는 부족한 점이 많지만 정차 완성도가 높아진다. 한 번 결정된 단계는 그 이후에 변동이 적어야 한다. 따라서 완성도를 최대한 높여 다음 단계로 넘어가기 위해 시작 단계의 완성도가 매우 높다. 고객과의 의사소통 사용자와 함께 일한다는 개념을 담고 있다. 처음부터 사용자의 참여를 유도하고 많은 대화를 하면서 개발을 진행한다. 사용자 요구사항을 정의한 후 사용자에게 더는 추가 요구가 없다는 확답을 받고 개발에 들어간다. 산출물을 근거로 하기 때문에 사용자와의 대 화는 적다. 진행 상황 점검 개발자와 사용자는 개발 초기부터 지속적으로 진행 상황을 공유하며 함께 관심을 갖고 진행해 나간다. 단계별 산출물을 중요시하기 때문에 단계별 산출물에 대한 결과로 개발의 진척 상황을 점검한다. 분석. 설계, 구현 진행과정 분석, 설계, 구현이 하나의 단계와 그 단계 안의 반복마다 한꺼번에 진행된다. 다만 어떤 단계에서는 분석 이 많고 구현이 적고 어떤 단계에서는 분석이 적고 구현이 많다는 차이만 있을 뿐이다. 분석, 설계, 구현 과정이 명확하다. 각 과정에서 생산되는 산출물 중심의 개발 방식이기 때문에 단계가 명확히 구별되어 있다. 따라서 분석이 끝 난 후 설계를. 설계가 끝난 후 구현 작업을 진행 한다. 모듈(컴포넌트) 통합 개발 초기부터 빈번한 통합을 통해 문제점을 빨리 발견하고 수정하는 방식을 택한다. 문제점을 빨리 발견 하므로 비용을 절감할 수 있다는 장점이 있다. V 모델에서 설명한 것처럼 구현이 완료된 후에 모듈 간의 통합 작업을 수행한다.
반응형
-
- [단계 1] 제품 기능 목록(product backlog)을 작성한다.
- - 제품 기능 목록은 일반적인 개발 방법의 요구사항에서 기능 목록과 같다고 보면 이해하기 쉽다. 즉 사용자가 요구하는 제품의 기능 목록을 말하며, 제품에 관한 모든 요구사항에 대해 우선순위가 정해져 있다. 이 우선순위는 고객측 대표인 제품 책임자(product owner)가 결정한다. 즉 제품 책임자가 요구사항 목록에 우선순위를 매겨 제품 기능 목록을 작성한다.
- - 제품 기능 목록은 우선순위가 매겨진, 사용자의 요구사항 목록이라고 할 수 있으며 사용자와 계속 미팅하면서 목록이 완성된다. 한 번 결정된 제품 기능 목록은 확정된 것이 아니고 개발 중이라도 수정이 가능하지만 일반적으로 한 주기가 끝날 때까지는 제품 기능 목록을 수정하지 않는다.
- [단계 2] 작성된 제품 기능 목록을 가지고 스프린트 계획 회의를 한다.
- - 스프린트 계획 회의에서는 스프린트 구현 목록과 스프린트 개발 시간을 추정한다.
- [단계 3] 스프린트를 수행한다.
- - 이 단계는 스프린트를 개발한다. 개발 과정에서 일일 스크럼 회의를 통하여 매일의 할 일을 확인한다. 이때 변경 사항은 스프린트 현황판을 이용한다. 또한 개발의 진척도는 소멸 차트를 이용한다.
- [단계 4] 스프린트 개발이 완료된다.
- - 스프린트 개발이 완료되면 실행 가능한 최종 제품이 생산된다.
- [단계 5] 스프린트 개발 완료로 최종 제품이 생산되면 다음 과정을 통해 스프린트를 되돌아봐야 한다.
- - 스프린트 검토 회의(sprint review)
- - 스프린트 회고(sprint retrospective)
- - 두 번째 스프린트 계획 회의
- [단계 1] 제품 기능 목록(product backlog)을 작성한다.
반응형
-
스프린트 사용자 스토리 SP 작업 MD 개발자 수강신청 학생은 수강신청 과목을 등록/수정/삭제/조회할 수 있다. 20 UI 설계 1 김회석 웹페이지 설계 2 장바구니 구현 2 DB 테이블 설계 3 단위테스트 1 코드 검토 1 성적등록 교수는 성적을 등록/수정/삭제/조회할 수 있다. 16 UI 설계 1 서응식 웹페이지 설계 2 DB 테이블 설계 2 단위테스트 1 코드 검토 1 교과목, 개설 과목 등록 교수는 교과목을 등록/수정/삭제/조회할 수 있다. 9 UI 설계 1 박양구 웹페이지 설계 2 DB 테이블 설계 2 단위테스트 3 코드 검토 1 교수는 개설과목을 등록/수정/삭제/조회할 수 있다. 9 UI 설계 1 이칠현 웹페이지 설계 2 DB 테이블 설계 2 단위테스트 3 코드 검토 1
반응형
728x90
반응형
'Major > 소프트웨어 공학' 카테고리의 다른 글
[쉽게 배우는 소프트웨어 공학(2판)] 연습문제 6장 답 (0) | 2023.10.24 |
---|---|
[쉽게 배우는 소프트웨어 공학(2판)] 연습문제 5장 답 (0) | 2023.10.24 |
[쉽게 배우는 소프트웨어 공학(2판)] 연습문제 4장 답 (0) | 2023.10.24 |
[쉽게 배우는 소프트웨어 공학(2판)] 연습문제 3장 답 (0) | 2023.10.24 |
[쉽게 배우는 소프트웨어 공학(2판)] 연습문제 2장 답 (0) | 2023.10.24 |