1. 소프트웨어 개발 프로세스의 정의 및 중요성

1-1. 소프트웨어 개발 프로세스의 필요성
❓ 3가지 문제
1. 개발 과정이 복잡하다.
2. 참여 인력이 많으며, 인력의 변동이 크다.
3. 개발 기간이 길며, 개발 비용 산정이 어렵다.
💡 위 문제에 대한 해결 방법
1. 개발의 복잡성을 줄이기 위한 방법과 기술
2. 개발에 참여하는 팀을 구성하고 관리하는 효율적인 방법
3. 프로젝트를 효율적으로 관리하기 위한 체계
2. 주요 소프트웨어 프로세스 모델

2-1. 소프트웨어 프로세스 모델의 정의
📢 소프트웨어 프로세스 모델: 소프트웨어 개발 생명주기(Software Development Life Cycle)
ex: 소프트웨어 개발의 전통적인 접근 방식(워터폴,선형 순차적 모델)
요구 사항 분석 → 시스템 설계 → 구현 → 테스트 → 배포 및 유지보수
2-2. 소프트웨어 프로세스 모델의 목적
1. 소프트웨어 개발의 전 과정을 하나의 프로세스로 정의
2. 주어진 예산과 자원으로 개발하고 관리하는 방법을 구체적으로 정의
3. 고품질의 소프트웨어 제품 생산을 목적으로 함
2-3. 소프트웨어 프로세스 모델의 역할
1. 일정 계획 수립 용이
2. 개발 진행 상황 파악 용이
3. 개발 진행 기본 골격 수립 용이
4. 개발 비용 산정 및 여러 자원을 산정하고 분배 용이
5. 용어의 표준화를 통한 참여자 간에 의사소통의 용이(유비쿼터스 언어)
6. 각 단계별로 생성되는 문서를 포함한 산출물을 활용하여 검토하기 용이
2-4. 애자일 프로세스 모델

1. 정의
📢 변화에 유연하게 대응하고 고객의 지속적인 피드백을 수용하는 반복적인 개발 접근 방식.
짧은 개발 사이클(스프린트)을 통해 지속적으로 제품을 개선한다.
2. 스프린트
📢 ‘전력 질주’를 뜻하며 개발기간도 짧은 단위의 작은 개발업무 동안 전력 질주하며, 적은 작업량을 개발함
<장점>
1. 빠르게 변화하는 요구 사항에 유연하게 대응할 수 있다.
2. 정기적인 피드백을 통해 고객의 요구사항을 더 잘 반영할 수 있다.
<단점>
1. 프로젝트의 규모가 커지면 관리가 복잡해질 수 있다.
2. 문서화가 충분히 이루어지지 않을 수 있어, 프로젝트에 대한 이해도가 낮은 새로운 팀원의 참여가 어려울 수 있다.
3. 초기에 최종 비용과 시간을 추정하기 어려울 수 있다.
3. 스크럼

📢 애자일 개발의 한 형태로 팀이 정해진 기간(스프린트)동안 목표를 달성하기 위해 협력하는 프레임워크이며, 계획, 검토, 일일 스탠드업 미팅 등 정기적인 회의를 통해 프로젝트 진행 상황을 관리한다.
<스크럼 역할>
1. 제품 책임자(Product Owner): 제품 기능 목록을 만들고 비즈니스 관점에서 우선순위와 중요도를 매겨 스프린트 계획 수립 시까지만 역할을 수행하고 스프린트가 시작되면 팀 운영에 관여하지는 않음.
2. 스크럼 마스터(Scrum Master): 제품 책임자(PO)를 돕고 스크럼 팀이 스스로 조직하고 관리하도록 지원하며 개발 과정에 방해될 만한 요소를 찾아 제거
3. 스크럼 팀(Scrum Team): 팀원은 보통 5~9명으로 구성되며 사용자 요구사항에서 사용자 스토리를 도출하고 이를 구현한다. 기능을 작업 단위로 나누고 일정이나 속도를 추정해서 제품 책임자에게 알려주며 매일 스크럼 회의에 참여하여 진척 상황을 점검하고 스프린트에서 생산된 결과물을 제품 책임자에게 시연한다.
<장점>
1. 빠른 피드백 루프를 통해 제품을 지속적으로 개선할 수 있다.
2. 복잡한 프로젝트를 더 효과적으로 관리할 수 있다.
<단점>
1. 스크럼의 성공은 팀 구성원의 경험과 자기 조직화 능력에 크게 의존한다.
2. 일정한 규모 이상의 대규모 프로젝트에는 적용하기 어려울 수 있다.
'수업자료 > sw공학' 카테고리의 다른 글
[요구사항 분석] 요구사항 (0) | 2024.06.25 |
---|---|
[요구사항 분석] UML (1) | 2024.06.25 |
[Git] Git Hub (0) | 2024.06.25 |
[Git] Git (0) | 2024.06.24 |
1. 소프트웨어 개발 프로세스의 정의 및 중요성

1-1. 소프트웨어 개발 프로세스의 필요성
❓ 3가지 문제
1. 개발 과정이 복잡하다.
2. 참여 인력이 많으며, 인력의 변동이 크다.
3. 개발 기간이 길며, 개발 비용 산정이 어렵다.
💡 위 문제에 대한 해결 방법
1. 개발의 복잡성을 줄이기 위한 방법과 기술
2. 개발에 참여하는 팀을 구성하고 관리하는 효율적인 방법
3. 프로젝트를 효율적으로 관리하기 위한 체계
2. 주요 소프트웨어 프로세스 모델

2-1. 소프트웨어 프로세스 모델의 정의
📢 소프트웨어 프로세스 모델: 소프트웨어 개발 생명주기(Software Development Life Cycle)
ex: 소프트웨어 개발의 전통적인 접근 방식(워터폴,선형 순차적 모델)
요구 사항 분석 → 시스템 설계 → 구현 → 테스트 → 배포 및 유지보수
2-2. 소프트웨어 프로세스 모델의 목적
1. 소프트웨어 개발의 전 과정을 하나의 프로세스로 정의
2. 주어진 예산과 자원으로 개발하고 관리하는 방법을 구체적으로 정의
3. 고품질의 소프트웨어 제품 생산을 목적으로 함
2-3. 소프트웨어 프로세스 모델의 역할
1. 일정 계획 수립 용이
2. 개발 진행 상황 파악 용이
3. 개발 진행 기본 골격 수립 용이
4. 개발 비용 산정 및 여러 자원을 산정하고 분배 용이
5. 용어의 표준화를 통한 참여자 간에 의사소통의 용이(유비쿼터스 언어)
6. 각 단계별로 생성되는 문서를 포함한 산출물을 활용하여 검토하기 용이
2-4. 애자일 프로세스 모델

1. 정의
📢 변화에 유연하게 대응하고 고객의 지속적인 피드백을 수용하는 반복적인 개발 접근 방식.
짧은 개발 사이클(스프린트)을 통해 지속적으로 제품을 개선한다.
2. 스프린트
📢 ‘전력 질주’를 뜻하며 개발기간도 짧은 단위의 작은 개발업무 동안 전력 질주하며, 적은 작업량을 개발함
<장점>
1. 빠르게 변화하는 요구 사항에 유연하게 대응할 수 있다.
2. 정기적인 피드백을 통해 고객의 요구사항을 더 잘 반영할 수 있다.
<단점>
1. 프로젝트의 규모가 커지면 관리가 복잡해질 수 있다.
2. 문서화가 충분히 이루어지지 않을 수 있어, 프로젝트에 대한 이해도가 낮은 새로운 팀원의 참여가 어려울 수 있다.
3. 초기에 최종 비용과 시간을 추정하기 어려울 수 있다.
3. 스크럼

📢 애자일 개발의 한 형태로 팀이 정해진 기간(스프린트)동안 목표를 달성하기 위해 협력하는 프레임워크이며, 계획, 검토, 일일 스탠드업 미팅 등 정기적인 회의를 통해 프로젝트 진행 상황을 관리한다.
<스크럼 역할>
1. 제품 책임자(Product Owner): 제품 기능 목록을 만들고 비즈니스 관점에서 우선순위와 중요도를 매겨 스프린트 계획 수립 시까지만 역할을 수행하고 스프린트가 시작되면 팀 운영에 관여하지는 않음.
2. 스크럼 마스터(Scrum Master): 제품 책임자(PO)를 돕고 스크럼 팀이 스스로 조직하고 관리하도록 지원하며 개발 과정에 방해될 만한 요소를 찾아 제거
3. 스크럼 팀(Scrum Team): 팀원은 보통 5~9명으로 구성되며 사용자 요구사항에서 사용자 스토리를 도출하고 이를 구현한다. 기능을 작업 단위로 나누고 일정이나 속도를 추정해서 제품 책임자에게 알려주며 매일 스크럼 회의에 참여하여 진척 상황을 점검하고 스프린트에서 생산된 결과물을 제품 책임자에게 시연한다.
<장점>
1. 빠른 피드백 루프를 통해 제품을 지속적으로 개선할 수 있다.
2. 복잡한 프로젝트를 더 효과적으로 관리할 수 있다.
<단점>
1. 스크럼의 성공은 팀 구성원의 경험과 자기 조직화 능력에 크게 의존한다.
2. 일정한 규모 이상의 대규모 프로젝트에는 적용하기 어려울 수 있다.
'수업자료 > sw공학' 카테고리의 다른 글
[요구사항 분석] 요구사항 (0) | 2024.06.25 |
---|---|
[요구사항 분석] UML (1) | 2024.06.25 |
[Git] Git Hub (0) | 2024.06.25 |
[Git] Git (0) | 2024.06.24 |