본문 바로가기
IT License/정처기필기-1과목

2024 #정보처리기사 필기요약 #1-1. 애자일(Agile), 분석모델확인

by 시뮝 2024. 7. 5.
728x90

제 1과목 소프트웨어 설계


애자일(Agile)

애자일(Agile) 방법론은 소프트웨어 개발방법론의 하나로서 개발과 함께 즉시 피드백을 받아서 유동적으로 개발하는 방법이다.

애자일 방법론 특징 [2023년 3회]

  • 프로젝트의 요구사항은 기능 중심으로 정의한다. [2020년 4회]
  • 절차와 도구보다 개인과 소통을 중요하게 생각한다.
  • 작업 계획을 짧게 세워 요구 변화에 유연하고 신속하게 대응할 수 있다. [2020년 3회]
  • 소프트웨어가 잘 실행되는 데 가치를 둔다.
  • 고객과의 피드백을 중요하게 생각한다.
  • 문서 중심이 아닌, 실행 가능한 소프트웨어를 중시한다. [2021년 1회, 3회] [2022년 1회]

애자일 선언문 (개변동고) [2022년 2회]

애자일 방법론을 실천하기 위한 주요 원칙이다.

  • 공정과 도구보다 인과 상호작용
  • 계획을 따르기보다 화에 대응하기
  • 포괄적인 문서보다 작하는 소프트웨어
  • 계약 협상보다 객과의 협력

애자일 개발 방법론 유형 [2021년 2회]

종류 내용 개념
XP
(eXtreme Programming)
- 의사소통 개선과 즉각적 피드백으로 소프트웨어 품질을 높이기 위한 애자일 개발 방법론 [2022년 2회]

- 단순한 설계를 통해 소프트웨어를 빠르게 개발하는 것을 목적으로 한다. [2023년 2회]

- 1~3주의 반복(Iteration)적인 개발 주기
- 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법
- 구동원리는 상식적인 원리와 경험을 최대한 끌어 올리는 것이다.
- 구체적인 실천 방법을 정의하고 있으며, 개발 문서보다는 소스 코드에 중점을 둔다.

XP의 5가지 가치 (용단의 피존)
기 (Courage)  / 순성 (Simplicity)  / 사소통 (Communication) / 드백 (Feedback) / 중 (Respect)
[2020년 1회] [2022년 3회, 2023년 3회]


XP의 12가지 기본원리 [2020년 4회] [2021년 1회]
1. 짝 프로그래밍 (Pair Programming)
2. 공통 코드 소유 (Collective Ownership)
3. 지속적인 통합 (CI; Continuous Integration)
4. 계획 세우기 (Planning Process)
5. 작은 릴리즈 (Small Release)
6. 메타포어 (Metaphor)
7. 간단한 디자인 (Simple Design)
8. 테스트 기반 개발 (TDD; Test Driven Develop) [2021년 3회]
9. 리팩토링 (Refactoring)
10. 40시간 작업 (40-Hour Work)
11. 고객 상주 (On Site Customer)
12. 코드 표준 (Coding Standard)

(Lean)
도요타의 린 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해서 낭비 요소를 제거하여 품질을 향상시킨 방법론 린의 7가지 원칙 (낭품지 확인사전)
비제거 / 질 내재화 / 식 창출 / 은 확정 / 른 인도 / 람 존중 / 체 최적화
스크럼
(SCRUM)
매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론

스프린트 회고를 통해 개선할 점은 없는지 등을 확인하고 기록한다.
구성 인원
제품 책임자(Product Owner) / 스크럼 마스터(Scrum Master) / 개발팀(Development Team)
- 스크럼 마스터는 스크럼 프로세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할 등을 맡는다.

주요개념
백로그 / 스프린트 / 스크럼 미팅 / 스프린트 회고 / 번 다운 차트 / 속도
- 제품 백로그 (Product Backlog) : 스크럼 팀이 해결해야 하는 목록으로 소프트웨어 요구사항, 아키텍처 정의 등이 포함될 수 있다.
- 스프린트 (Sprint) : 2~4주의 짧은 개발 기간으로 반복적 수행으로 개발품질 향상
- 속도(Velocity): 한 번의 스프린트에서 한 팀이 어느 정도의 제품 백로그를 감당할 수 있는지에 대한 추정치

스프린트 이벤트 [2023년 1회]
스프린트 계획 회의 / 일일 스크럼 회의 / 스프린트 회고 / 스프린트 검토 회의

 

 


분석 모델 확인

(1) 모델링(Modeling) 기법

모델링의 개념

실세계의 물리현상을 특정한 목적에 대응하여 이용하기 쉬운 형식으로 표현하는 기법

모델링의 역할

  • 실세계 문제에 대한 모델링이 소프트웨어 요구사항 분석의 핵심이다.
  • 모델은 문제가 발생하는 상황에 대한 이해를 증진시키고 해결책을 설명한다.
  • 개념 모델은 문제 도메인의 엔티티(Entity)들과 관계 및 종속성을 반영한다.

모델링 절차 (요개논물)

순서 절차 설명
1 구사항 분석 현생 데이터의 문제점과 개선해야 할 점을 확인하고 향후 개선점을 도출하는 활동
2 념 모델링 업무 중심의 포괄적인 모델링으로 추상화하는 활동
ex) 엔티티 추출, 속성 및 관계 정의, ERD 작성 등
3 리 모델링 관계, 속성, 키 등을 도출하는 활동
ex) 식별자 확정, 정규화 수행 등
4 리 모델링 사용 DBMS 특성에 맞게 물리적 스키마를 만드는 활동
ex) 컬럼 데이터 타입, 제약 조건, 인덱스 정의 등

(2) 분석 자동화 도구

분석 자동화 도구의 개념

분석 자동화 도구는 요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발된 요구사항 분석을 위한 자동화 도구(CASE; Computer Aided Software Engineering)이다.

 

CASE 상세설명 참고

 

2024 #정보처리기사 필기요약 #1-5. 요구분석/요구공학

제 1과목 소프트웨어 설계요구분석 기법요구분석(Recuirements Analysis)요구분석은 도출된 요구사항 간 상충을 해결하고 소프트웨어의 범위를 파악하여 외부 환경(시스템(소프트웨어)과 상호작용을

simuing.tistory.com


 

728x90

댓글