코딩뿌셔
[1과목] 소프트웨어 설계 - 요구사항 확인 본문
01 현행시스템 분석
02 요구사항 확인
01 현행시스템 분석
▶ 플랫폼(Platform)
: 애플리케이션을 구동시키는 데 필요한 소프트웨어 환경
▷ 플랫폼 성능 특성 분석 기법
기법 | 설명 | 산출물 |
사용자 인터뷰 | 현행 플랫폼 사용자 인터뷰를 통해 속도의 적정성 확인 | 인터뷰 결과서 |
성능 테스트 | 현행 플랫폼을 대상으로 성능, 부하 테스트를 수행 | 성능 테스트, 부하 테스트 결과서 |
산출물 점검 | 현행 플랫폼과 유사한 타사 제품의 성능 자료 등을 분석 | 벤치마킹 테스트(BMT) 결과서 |
▷ 플랫폼 성능 특성 측정 항목
측정 항목 | 설명 |
경과 시간 (Turnaround Time) |
애플리케이션에 작업을 의뢰(요구)한 시간부터 처리가 완료될 때까지 걸린 시간 |
사용률 (Utilization) |
애플리케이션이 의뢰한 작업을 처리하는 동안 CPU, 메모리 등의 자원 사용률 |
응답시간 (Response Time) |
애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간 |
가용성 (Availability) |
서버와 네트워크, 프로그램 등의 정보 시스템이 정상적으로 사용 가능한 정도 |
▶ DBMS 분석
▷ DBMS(Database Management System)
: 데이터 집합(DB)을 만들고, 저장 및 관리할 수 있는 기능 제공하는 응용 프로그램
▷ DBMS 기능
중복 제어 | 접근 통제 | 인터페이스 제공 | 관계 표현 |
샤딩/파티셔닝 | 무결성 제약조건 | 백업 및 회복 |
▷ DBMS 현행 시스템 분석 시 고려사항
성능 측면 | 지원 측면 | |||
가용성 | 성능 | 상호 호환성 | 기술 지원 | 구축 비용 |
02 요구사항 확인
▶ 요구사항 분석 기술
청취 기술 | 인터뷰/질문 기술 | 분석 기술 | 중재 기술 |
관찰 기술 | 작성 기술 | 조직 기술 | 모델 작성 기술 |
▶ 데이터 흐름도(DFD; Data Flow Diagram)
: 데이터가 각 프로세스를 따라 흐르면서 변환되는 모습을 나타낸 그림(버블차트)
▷ 특징
- 요구사항 분석에 사용하는 모델링 기법으로 구조적 분석 기법에 이용
- 데이터의 흐름에 중심(제어_control의 흐름은 중요하지 않음)
- 시간 흐름을 명확하게 표현 x
▷ 구성요소
처리기 (Process) |
데이터 흐름 (Data Flow) |
데이터 저장소 (Data Store) |
단말 (Terminator) |
원(ㅇ) | 화살표(→) | 평행선(=) | 사각형(ㅁ) |
▶ 자료 사전( DD; Data Dictionary)
: 자료 요소, 집합, 흐름, 저장소의 의미와 그들 간의 관계, 범위, 단위 등을 구체적으로 명시하는 사전
▷ 자료 사전 기호
= | 자료의 정의, '~으로 구성되어 있다' | { } | 자료의 반복 |
+ | 자료의 연결(and, along with) | [ ] | 자료의 선택 |
( ) | 자료 생략 가능 | ** | 자료의 설명, 주석 |
▶ UML(Unified Modeling Language)
: 객체 지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 표준화된 범용 모델링 언어
▷ 특징
특징 | 설명 |
가시화 언어 | 개념 모델 작성 시 오류가 적고 의사소통이 용이 |
구축 언어 | 다양한 프로그래밍 언어로 실행 시스템의 예측 가능 UML을 소스코드로 변환하여 구축 가능, 역변환 역공학 가능 |
명세화 언어 | 정확한 모델 제시, 완전한 모델 작성 가능 |
문서화 언어 | 시스템에 대한 평가 및 의사소통의 문서 |
▷ 구성요소
사물 (Things) |
관계 (Relationships) |
다이어그램 (Diagrams) |
▷ 다이어그램
구조적(Structural) / 정적(Static) 다이어그램 | |||||
클래스 | 객체 | 컴포넌트 | 배치 | 복합체 구조 | 패키지 |
행위적(Behavioral) / 동적(Dynamic) 다이어그램 | |||||
유스케이스 | 시퀀스 | 커뮤니케이션 | 상태 | 활동 | 타이밍 |
▶ 애자일(Agile)
: 소프트웨어 개발방법론, 개발과 함께 즉시 피드백 받아 유동적으로 개발하는 방법
▷ 특징
- 프로젝트의 요구사항은 기능 중심으로 정의
- 작업 계획 짧게 세움, 요구변화에 유연하고 신속 대응
- 소프트웨어가 잘 실행되는 데 가치 둠
- 개인과 소통 중요
- 고객과의 피드백 중요
▷ 선언문
- 공정과 도구보다 개인과 상호작용
- 계획을 따르기보다 변화에 대응하기
- 포괄적인 문서보다 동작하는 소프트웨어
- 계약 협상보다 고객과의 협력
▷ 유형1 : XP(eXtreme Programming)
- 의사소통 개선, 즉각적 피드백 → 소프트웨어 품질 향상
- 1~3주의 반복 개발 주기
- XP 가치
의사소통 | 피드백 | 존중 | 용기 | 단순성 |
▷ 유형2 : 스크럼(SCRUM)
- 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론
주요 용어 | 설명 |
스프린트 | 2~4주 짧은 개발 기간 반복적 수행으로 개발품질 향상 |
스크럼 미팅 | 데일리 미팅, 매일 15분 정도 미팅으로 To-Do List 계획 수립 |
스크럼 마스터 | 프로젝트 리더, 스크럼 수행 시 문제 인지 및 해결 |
스프린트 회고 | 스프린트 주기를 되돌아보며 정해놓은 규칙 준수 여부, 개선점 등 확인 및 기록 |
참고자료 : 수제비 2022 정보처리기사 필기
'자격증 > 정보처리기사' 카테고리의 다른 글
[4과목] 프로그래밍 언어 활용 - 네트워크 기초 활용 (0) | 2022.07.03 |
---|---|
[4과목] 프로그래밍 언어 활용 - 응용 SW 기술 (0) | 2022.07.03 |
[4과목] 프로그래밍 언어 활용 - 서버프로그램 구현 (0) | 2022.07.03 |
[3과목] 데이터베이스 구축 (0) | 2022.06.15 |
[2과목] 소프트웨어 개발 - 데이터 입출력 (0) | 2022.06.14 |