클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

[소프트웨어 설계] 1장 요구사항 확인 8 - 분석 모델 확인 및 기출문제 풀기 본문

자격증 공부/정보처리기사 필기

[소프트웨어 설계] 1장 요구사항 확인 8 - 분석 모델 확인 및 기출문제 풀기

huenuri 2024. 7. 31. 12:25

저녁식사 후에 9시 무렵 저녁 공부를 시작해본다. 1시간 정도는 정처기 공부를 하고 나머지 1시간 반 정도는 새벽에 하다만 자바 공부를 이어가보려고 한다. 내일은 아마 과제가 많아서 자격증도 자바 공부를 하지 못할 것 같다. 그러니 오늘 최대한 진도를 많이 빼보자!

개념 정리를 마치고 시간이 남으면 기출문제도 풀어볼 생각이다. 여기까지 학습하면 1단원을 마치게 된다. 1과목은 4단원까지 있는데 금요일까지 이 모든 걸 다 마쳐야 진도를 맞출 수 있다.
그럼 바로 오늘의 학습을 시작해볼 것이다.


 

1. 모델링 기법 🧤

 

1. 모델 🎃

1) 모델 개념

  • 객체, 시스템, 또는 개념에 대한 구조나 작업을 보여주기 위한 패턴
  • 개발 대상을 추상화하고 기호나 그림 등으로 시각적으로 표현

2) 모델 특징

  • 모델을 통해 소프트웨어에 대한 이해도를 향상할 수 있고, 이해 당사자 간의 의사소통이 향상
  • 문제가 발생하는 상황에 대한 이해를 높이고 해결책을 설명
  • 향후 개발될 시스템에 대한 유추 가능
  • 개념 모델은 문제 도메인의 엔터티들과 관계 및 종속성을 반영

 

2. 모델링

1) 모델링의 개념

  • 실세계의 물리현상을 특정한 목적에 대응하여 이해하기 쉬운 형식으로 표현하는 기법

🧨 모델링은 유지 보수 단계뿐만 아니라 분석, 설계, 구현 등 전반에 걸쳐 활용됨

 

2) 모델링의 특징 🎃

  • 개발될 시스템에 대하여 여러 분야의 엔지니어들이 공통된 개념을 공유하는데 도움을 준다.
  • 개발팀이 응용문제를 이해하는데 도움을 줄 수 있다.
  • 모델링 작업의 결과물은 다른 모델링 작업에 영향을 준다.
  • 절차적 프로그램을 위한 자료 흐름도는 프로세스 위주의 모델링 방법이다.
  • 구조적 방법론에서는 DFD(Data Flow Diagram), DD(Data Dictionary) 등을 사용하여 요구사항의 결과를 표현한다.
  • 객체 지향 방법론에서는 UML 표기법을 사용한다.
  • 실세계 문제에 대한 모델링이 소프트웨어 요구사항 분석의 핵심이다.

 

2. 분석 자동화 도구 🧤🧤

1. 분석 자동화 도구의 개념

요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발된 요구사항 분석을 위한 자동화 도구(CASE)

CASE(Computer Aided Software Engineering)
소프트웨어 생명주기의 전체 단계를 연결해 주고 자동화해주는 통합된 도구로써 소프트웨어, 하드웨어, 데이터베이스, 테스트 등을 통합하여 소프트웨어를 개발하는 환경을 조성

 

2. 분석 자동화 도구의 등장 배경

 

분석 자동화 도구의 등장 배경은 크게 산업과 관리 측면으로 나누어진다.

 

 

3. 분석 자동화 도구의 특징 🎃

  • 표준화 적용과 문서화를 통한 보고를 통해 품질 개선이 가능
  • 변경사항과 변경으로 인한 영향에 대한 추적이 쉬움
  • 명세에 대한 유지보수 비용의 축소가 가능
  • 자동화된 기법을 통해 소프트웨어 품질이 향상
  • 소프트웨어 모듈의 재사용성이 향상되고, 유지보수가 용이
  • 원천 기술로는 구조적 · 프로토타이핑 · 자동프로그래밍 · 정보 저장소 · 분산 처리 기술을 사용

 

4. 분석 자동화 도구의 분류 🎃

SW 개발 주기 전체를 지원하는 통합 CASE(Intergrated CASE)도 있음

 

 

5. 분석 자동화 도구 주요 기능(CASE 도구)

  • 그래픽을 지원
  • 소프트웨어 생명주기의 전 단계를 연결
  • 다양한 소프트웨어 개발 모형을 지원
  • 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공
  • 작업 과정 및 데이터 공유를 통해 작업자 간 커뮤니케이션을 증대

 

3. 요구사항 관리 도구 🧤🧤

1) 요구사항 관리 도구의 개념

요구사항을 기반으로 프로젝트 관리, 설계, 개발, 테스트 등을 수행할 수 있는 역할을 지원하는 도구

2) 요구사항 관리 도구의 필요성 🎃

 


3) 요구사항 관리 도구의 기능 기본 기능, 핵심 기능, 부가 기능을 제공한다.


 

 

 

기출문제 풀기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

여기까지 3쪽의 기출문제도 모두 풀었다. 이번에 푼 문제는 한 문제도 빠짐없이 모두 맞았다. 풀다 보니 이제 유형이 보이고 어떻게 풀어야 할지 조금 감이 잡혔다. 문제를 푸는데 걸린 시간도 10분도 안 걸린 것 같았다.


 

 

학습을 마치고

이렇게 해서 오늘의 정처기 공부를 마치려고 한다. 정말 영심히 공부했고 어제 처음 할 때보다 이해력이 좋아짐을 느꼈다. 수업도 함께 들으니 머릿속에 쏙쏙 들어온다. 아직 암기는 하고 있지 않지만, 주말에는 배운 내용을 한번씩 상기하며 암기해봐도 좋을 것이다.
내일부터는 새로운 Chapter에 들어가게 된다. 이제 남은 1시간 반 정도는 자바 조건문 나머지 부분부터 학습해볼 예정이다.

오늘까지 2단원 학습을 마쳐야 내일부터는 반복문도 나갈 수 있을 테니까. 빨리 클래스를 배우고 싶다. OOP는 참 어려운 개념이지만 뭔가 새롭게 재미있었다~