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

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

by 시뮝 2021. 2. 24.
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

댓글