일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 머신러닝
- 개발일기
- 중학수학
- JSP/Servlet
- 딥러닝
- 컴퓨터비전
- 정보처리기사필기
- 혼공머신
- 자바
- c언어
- 파이썬
- 정보처리기사실기
- SQL
- 자바 실습
- 데이터베이스
- JDBC
- 순환신경망
- 자바스크립트심화
- 상속
- 중학1-1
- 자바스크립트
- html/css
- 컴퓨터구조
- JSP
- rnn
- 디버깅
- 오블완
- 연습문제
- CSS
- 데이터분석
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
요구사항 확인 4 - Session 7~10 : 요구사항 분석 및 UML에 대하여 본문
계속해서 요구사항에 대한 학습이 이어진다. 앞 수업과 다른 점이 있다면 요구사항 분석에 대해서 좀 더 깊이 있게 학습을 한다는 점이다. 자료 흐름도, 자료 사전 등 어려운 내용도 등장하니 집중해서 들어보기로 하자.
다시 한번 강의를 듣고 책에 있는 내용도 빠짐없이 기록해놓았다.
섹션 7 - 요구사항 분석
1. 요구사항 분석
요구사항 분석은 사용자의 요구사항을 모두 듣고 이해하여 문서화하는 활동이다. 문서화하는 활동을 명세화한다고 이야기한다. 요구사항 분석은 가장 중요한데 이 작업을 제대로 하지 않으면 잘못된 설계와 구현하여 잘못된 프로그램이 만들어지기 때문이다. 그러면 다시 처음으로 해야 한다.
따라서 우리는 사용자의 요구사항을 정확하게 파악해야 한다. 이 단계가 설계 및 구현보다 훨씬 더 중요하다.
★ 구조적 분석 기법 도구인 것과 아닌 것을 구별하는 문제 출제 예상 : 구조적 분석 기법도구의 종류 암기하기
2. 구조적 분석 기법
예를 들어 자동차를 만들다고 할 때, 바퀴, 엔진 등을 부품 즉 모듈이라고 한다. 프로그램을 만들 때도 이와 비슷하다. 입력, 출력 등 각각의 기능을 따로따로 만든 후 이를 연결시켜 하나의 프로그램으로 만든다. 이러한 구조를 구조적 분석 기법이라고 한다. 하향식 방법으로 조직도를 그리면 내용을 파악하기가 더 쉽다.
하양식 방법은 한 장의 종이에 소프트웨어의 모든 기능을 모델할 할 수 없으므로 소프트웨어의 기능을 전체적인 수준에서 상세 수준까지 위에서 아래로 단계별로 분리하여 모델하는 것을 의미한다.
★ 기출 유형 분석
- 구조적 분석 기법 서술하기
- 어떤 기법인지 쓰기
- 구조적 분석 기법의 도구로 맞는 것
3. 자료 흐름도
자료 흐름도를 다른 말로 자료 흐름 그래프 혹은 버블 차트라고 한다. 이런 식으로 구조적으로 그리는 것을 자료 흐름도라고 한다. 예를 들면 어떤 것을 입력하고 출력하는 데이터가 있고 그 사이에 처리하는 기능도 있다. 만약 여기서 급여를 계산한다고 가정할 때 총수령액에서 공제액을 제외한 금액이 실수령액이 될 것이다.
이때 총수령액은 기본급과 수당을 합쳐서 계산한다. 공제액은 세금과 4대 보험을 제외한 금액이다. 이렇게 모든 것을 구하면 실수령액이 계산된다.
이러한 흐름에 따라 그리는 것을 자료 흐름도라고 한다. 그러니까 자료 흐름은이란 자료가 각 절차에 따라 컴퓨터 기반의 시트셈 내부를 흘러 다니는 것을 말한다.
4. 자료 흐름도 기본 기호
★ 기출 유형 분석
- 각각의 자료가 어떤 의미를 갖고 있는지, 모양 파악하기
자료흐름도 표기법은 Yourdon/Demacro와 Gane/Sarson에 의해 두 가지 방법으로 표기할 수 있으나 Yourdon/Demacro 표기 방법이 주로 사용된다.
5. 자료 사전
★ 자료 사전에서 사용되는 기호들의 종류와 각각의 의미 정확하게 기억해 두기
세션 8 - 요구사항 분석 CASE와 HIPO
1. 요구사항 분석용 CASE(자동화 도구)
★ 요구사항 분석용 도구의 종류와 각각의 의미를 정확하게 알아두기
RSL과 REVS에 대해서 알아보자. 어떤 데이터를 입력하면 처리해서 출력을 해줄 것이다. 예를 들어 엑셀에 데이터를 입력해서 프로그램에서 함수를 선택해서 처리한다고 할 때, 결과를 사용자에게 출력한다. 입력할 때는 RSL이라는 요구사항 형식에 맞게 한 후, 데이터베이스를 가져와서 REVS로 처리할 것이다.
이렇게 RSL과 REVS를 사용하는 자동화 도구를 SREM이라고 한다.
- RSL : 요소, 속성, 관계, 구조들을 기술하는 요구사항 기술 언어
- REVS : RSL로 기술된 요구사항들을 자동으로 분석하여 요구사항 분석 명세서를 출력하는 요구사항 분석기
- PSL : 문제(요구사항) 기술 언어
- PSA : PSL로 기술한 요구사항을 분석하여 보고서를 출력하는 문제 분석기
특징별로 잘 구분할 수 있도록 학습해야 한다.
2. HIPO
HIPO는 입력, 처리, 출력 기능을 표현한 것을 말한다. 예를 들어 계산기 프로그램을 만든다고 할 때, 입력/처리/출력 등 더하기 기능을 자세히 묘사한 것을 총체적 도표, 총괄 도표, 개요 도표라고 부른다.
★ 기출 유형 분석 및 정리
- CASE의 종류를 고르기 + 영어명도 암기
- SADT는 SoftTech사에서 개발한 것으로 구조적 요구 분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구
- CASE에는 SADT뿐 아니라 SREM, PSL/PSA, TAGS도 있음
- HIPO는 시스템의 분석 및 설계 또는 문서화에 사용되는 기법으로 하향식 소프트웨어 개발을 위한 문서화 도구
- 기능과 자료의 의존 관계를 동시에 표현할 수 있고, 기호/ 도표 등을 사용하므로 보기 쉽고 이해하기도 쉬운 특징이 있음
세션 9 : UML의 개요
1. UML이란?
많은 사람들이 모여 작업을 수행하다 보면 같은 대상물을 보고도 서로 다르게 표현하여 의사소통에 문제가 생기는 경우가 있다. 이런 문제를 해결하는 가장 좋은 방법은 공통된 표현법을 만들어 사용하는 것이다. UML은 공통된 표현법을 사용해 개발할 대상물을 다이어그램으로 표현하는 도구이다.
소프트웨어 개발 참여자들은 UML로 표현된 다이어그램으로 개발에 관한 의견을 서로 교환한다.
2. 사물
개체와 사물, 객체의 차이점
- 개체(Entity) : 사람, 자동차, 컴퓨터, 동물 등과 같이 우리 주위에서 사용되는 물질적이거나 개념적인 것
- 사물(Things) 또는 객체(Object) : 개체를 컴퓨터 내부에 추상적으로 표현한 것
다이어그램을 표현할 때는 사물보다는 객체라는 표현을 주고 사용한다.
★ 기출 유형 분석
- 어떤 사물의 특징인지 쓰라
컴포넌트는 문서, 소스코드, 파일, 라이브러리 등과 같은 모듈화 된 자원으로 재사용이 가능하다. 인터페이스는 클래스나 컴포넌트의 전체 또는 일부분의 동작을 모아 놓은 것이며, 클래스가 외부적으로 가시화되는 행동을 표현한다.
세션 10 - UML의 관계
1. 관계(Relationship)
★ 관계는 UML을 학습하는 데 있어 반드시 알아야 할 중요한 개념이자 요소이다. 각 관계들의 개별적인 개념과 표현 방법을 확실히 숙지하기
2. 연관(Association) 관계
다중도는 연관에 참여하는 객체의 개수를 의미한다.
연관관계 예시
- 사람 쪽에 표기된 다중도가 1이므로 집은 한 사람에 의해서만 소유될 수 있다.
- 집 쪽에 표시된 다중도가 1이므로 사람은 집을 하나만 소유할 수 있다.
- 선생님 쪽에 표기된 다중도가 1..*이므로 학생은 한 명 이상의 선생님으로부터 가르침을 받는다.
- 학생 쪽에 표기된 다중도가 1..*이므로 선생님은 한 명 이상의 학생을 가르친다.
사물, 즉 객체는 유스케이스, 클래스, 컴포넌트와 같이 별도의 표현 형태가 있는 경우를 제외하고는 기본적으로 사각형으로 표현한다.
3. 집합(Aggregation) 관계
포함되는 쪽이 프린터이고, 포함하는 쪽이 컴퓨터이다.
4. 포함(Composition) 관계
5. 일반화(Generalization) 관계
예를 들어 사람은 여자와 남자보다 일반적인 개념이고, 여자와 남자는 사람보다 구체적인 개념이다.
6. 의존(Dependency) 관계
7. 실체화(Realization) 관계
이 내용은 조금 어려운 개념이므로 잘 이해하고 넘어가야 한다. 평소와 달리 수업을 들으면서 필기를 하지 않고 다 듣고 나서 책을 읽어보면서 밑줄을 긋고 정리를 해보았다. 다중도라는 개념도 조금 어려웠다.
학습을 마치고
강의를 한번 듣고 책을 한번 쭉 읽어본 후 문제를 풀어보면 개념 정리가 많이 되는 것 같다. 생각했던 것보다 정보처리 실기 시험이 어렵지 않았다. 2권은 언어가 들어가 좀 더 어렵겠지만 아무튼 이 시험도 충분히 합격할 수 있으리라 믿는다.
필기 때 정말 어렵게 생각했는데 실기 선생님은 설명을 잘해주셔서 그런지 내 실력이 많이 향상되어서 그런지 이해하는데 별달리 힘들지 않았다. 이 속도로 공부하면 충분히 가능성이 있겠다.
집합과 포함이 조금 헷갈리는 개념이다. 집합은 공통된 특징을 갖고 있는 관계이고, 포함은 한 집합이 다른 집합의 부분 집합일 때 나타내는 개념이다. 나중에 이 부분은 한번 더 숙지해보려고 한다.
'자격증 공부 > 정보처리기사 실기' 카테고리의 다른 글
요구사항 확인 6 - Session 15~18 : 순차 · 커뮤니케이션 · 상태 · 패키지 다이어그램에 대하여 (0) | 2024.09.23 |
---|---|
요구사항 확인 5 - Section 11~14 : UML 다이어그램 및 유스케이스 · 활동 · 클래스 다이어그램 (0) | 2024.09.23 |
요구사항 확인 3 - Session 4~6 : 개발 기술 환경 파악 및 요구 사항 정의 (0) | 2024.09.23 |
요구사항 확인 2 - Section 2~3 : 스크럼(Scrum) 기법과 XP(eXtreme Progrmming) 기법 (1) | 2024.09.21 |
요구사항 확인 1 - Section 1 : 소프트웨어 생명 주기 (0) | 2024.09.21 |