728x90
2021년 NCS기반 정처기 필기입니다.
제 1과목 소프트웨어 설계
애자일(Agile)
애자일(Agile) 방법론은 소프트웨어 개발방법론의 하나로서 개발과 함께 즉시 피드백을 받아서 유동적으로 개발하는 방법이다.
애자일 방법론 특징
- 프로젝트의 요구사항은 기능 중심으로 정의한다. [2020년 4회]
- 절차와 도구보다 개인과 소통을 중요하게 생각한다.
- 작업 계획을 짧게 세워 요구 변화에 유연하고 신속하게 대응할 수 있다.
- 소프트웨어가 잘 실행되는 데 가치를 둔다.
- 고객과의 피드백을 중요하게 생각한다.
애자일 선언문 (개변동고)
애자일 방법론을 실천하기 위한 주요 원칙이다.
- 공정과 도구보다 개인과 상호작용
- 계획을 따르기보다 변화에 대응하기
- 포괄적인 문서보다 동작하는 소프트웨어
- 계약 협상보다 고객과의 협력
애자일 방법론 유형
종류 | 내용 | 개념 |
XP | 의사소통 개선과 즉각적 피드백으로 소프트웨어 품질을 높이기 위한 방법론 1~3주의 반복(Iteration) 개발 주기 5가지 가치와 12개의 실천항목 존재 |
XP의 5가지 가치 (용단의 피존) 용기 (Courage) / 단순성 (Simplicity) / 의사소통 (Communication) / 피드백 (Feedback) / 존중 (Respect) XP의 12가지 기본원리 [2020년 4회] 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) 9. 리팩토링 (Refactoring) 10. 40시간 작업 (40-Hour Work) 11. 고객 상주 (On Site Customer) 12. 코드 표준 (Coding Standard) |
린(Lean) | 도요타의 린 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해서 낭비 요소를 제거하여 품질을 향상시킨 방법론 | 린의 7가지 원칙 (낭품지 확인사전) 낭비제거 / 품질 내재화 / 지식 창출 / 늦은 확정 / 빠른 인도 / 사람 존중 / 전체 최적화 |
스크럼(SCRUM) | 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론 | 백로그 (Backlog) : 제품과 프로젝트에 대한 요구사항 스프린트 (Sprint) : 2~4주의 짧은 개발 기간으로 반복적 수행으로 개발품질 향상 주요개념 백로그 / 스프린트 / 스크럼 미팅 / 스크럼 마스터 / 스프린트 회고 / 번 다운 차트 |
분석 모델 확인
(1) 모델링(Modeling) 기법
모델링의 개념
실세계의 물리현상을 특정한 목적에 대응하여 이용하기 쉬운 형식으로 표현하는 기법
모델링의 역할
- 실세계 문제에 대한 모델링이 소프트웨어 요구사항 분석의 핵심이다.
- 모델은 문제가 발생하는 상황에 대한 이해를 증진시키고 해결책을 설명한다.
- 개념 모델은 문제 도메인의 엔티티(Entity)들과 관계 및 종속성을 반영한다.
모델링 절차 (요개논물)
순서 | 절차 | 설명 |
1 | 요구사항 분석 | 현생 데이터의 문제점과 개선해야 할 점을 확인하고 향후 개선점을 도출하는 활동 |
2 | 개념 모델링 | 업무 중심의 포괄적인 모델링으로 추상화하는 활동 ex) 엔티티 추출, 속성 및 관계 정의, ERD 작성 등 |
3 | 논리 모델링 | 관계, 속성, 키 등을 도출하는 활동 ex) 식별자 확정, 정규화 수행 등 |
4 | 물리 모델링 | 사용 DBMS 특성에 맞게 물리적 스키마를 만드는 활동 ex) 컬럼 데이터 타입, 제약 조건, 인덱스 정의 등 |
(2) 분석 자동화 도구
분석 자동화 도구의 개념
분석 자동화 도구는 요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발된 요구사항 분석을 위한 자동화 도구(CASE; Computer Aided Software Engineering)이다.
분석 자동화 도구의 특징
- 표준화 적용과 문서화를 통한 보고를 통해 품질 개선이 가능하다.
- 변경사항과 변경으로 인한 영향에 대한 추적이 쉽다.
- 명세에 대한 유지보수 비용의 축소가 가능하다.
분석 자동화 도구의 분류
분석 자동화 도구 | 설명 |
상위 CASE (Upper CASE) |
계획수립, 요구분석, 기본설계 단계를 다이어그램으로 표현 |
모델들 사이의 모순 검사 기능 | |
모델의 오류 검증 기능 | |
자료흐름도 작성 기능 | |
하위 CASE (Lower CASE) |
구문 중심 편집 지원 |
정적,동적 테스트 지원 | |
시스템 명세서 생성 지원 | |
소스 코드 생성 지원 | |
통합 CASE (Integrated CASE) | SW 개발 주기 전체를 지원 |
분석 자동화 도구의 주요 기능 (CASE의 주요 기능)
- 그래픽을 지원한다.
- 소프트웨어 생명주기의 전 단계를 연결한다.
- 다양한 소프트웨어 개발 모형을 지원한다.
- 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.
- 작업 과정 및 데이터 공유를 통해 작업자 간의 커뮤니케이션을 증대한다.
(3) 요구사항 관리 도구
요구사항 관리 도구의 개념
요구사항 관리 도구는 요구사항을 기반으로 프로젝트 관리, 설계, 개발, 테스트 등을 수행할 수 있는 역할을 지원하는 도구이다.
요구사항 관리 도구의 기능
구분 | 기능 | 설명 |
기본 기능 | 프로젝트 생성 | 프로젝트 타입 및 기본 모듈 템플릿 프로젝트 생성 및 재사용 가능 |
요구사항 작성 | 요구사항별 고유 ID, 식별자 사용 구분 | |
요구사항 불러오기/내보내기 | .doc .xls .html 등 다양한 확장자 제공 | |
핵심 기능 | 요구사항 이력 관리 | 요구사항별 변경 이력 관리 기능 제공 |
요구사항 베이스라인 | 요구사항 확정을 위한 베이스라인 제공 | |
요구사항 추적성 | 요구사항 이력 추적 가능 | |
부가 기능 | 협업 환경 | 요구사항 산출물의 동시편집 기능 제공 |
외부 인터페이스 | 형상 관리 도구(SVN, Git)와의 연동 지원 | |
확장성 | API 등을 통한 타 시스템 연동 제공 |
728x90
'IT License > 정처기-1과목' 카테고리의 다른 글
2021 #정보처리기사 필기요약 #1-4. 인터페이스 설계 (0) | 2021.02.25 |
---|---|
2021 #정보처리기사 필기요약 #1-3. 애플리케이션 설계 (0) | 2021.02.25 |
2021 #정보처리기사 필기요약 #1-2. 화면 설계 (0) | 2021.02.24 |
2021 #정보처리기사 필기요약 #1-1. UML (1) | 2021.02.19 |
2021 #정보처리기사 필기요약 #1-1. 요구사항 확인 (0) | 2021.02.18 |
댓글