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 상세설명 참고
728x90
'IT License > 정처기필기-1과목' 카테고리의 다른 글
2024 #정보처리기사 필기요약 #1-3. 객체지향/GoF 디자인 패턴 (0) | 2024.07.05 |
---|---|
2024 #정보처리기사 필기요약 #1-3. 애플리케이션 설계 (0) | 2024.07.05 |
2024 #정보처리기사 필기요약 #1-2. 화면 설계 (0) | 2024.07.05 |
2024 #정보처리기사 필기요약 #1-1. UML (1) | 2024.07.05 |
2024 #정보처리기사 필기요약 #1-1. 현행 시스템 분석 (0) | 2024.07.05 |
댓글