

돌고돌고돌아온 인프런 X BDA 스터디입니다

제가 기사 자격증을 생각하고 있다니,
이제 4학년인게 점점 실감이 납니다.
이번 방학에 진짜 하는 게 너무 많기도 하고
위시리스트에 다른 자격증도 한가득이기 때문에
더이상 미룰 수 없다!는 마음에 인프런 X BDA 스터디에 참여하게 되었습니다😲

오전 9시~6시까지 백엔드 수업듣고
랩실 다니면서 자격증을 병행할 수 있겠나 걱정이 한가득이지만,
어쩌겠어 해야지😵💫💭
1. 요구사항 확인🌟
소프트웨어 생명 주기(SDLC: Software Development Life Cycle)
: 소프트웨어 제품의 개념 형성에서 시작하여 운용/유지보수에 이르기까지 변화의 모든 과정
- 타당성 검수 → 개발 계획 → (사용자의) 요구사항 분석 → 설계 → 구현(코딩) → 테스트 → 운용 → 유지 보수
- 전통적인 개발 모형(5과목 1~2문제 출제) : 폭포수 모형, 나선형 모형, 프로토타입 모형
CASE(Computer Aided Software Engineering)
: 소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사 및 디버깅 과정을 컴퓨터와 전용의 소프트웨어 도구를 사용하여 자동화하는 작업이다.
- 소프트웨어 시스템의 문서화 및 명세화를 위한 그래픽 기능을 제공한다.
- 자료 흐름도 등의 다이어그램을 쉽게 작성하게 해주는 소프트웨어 CASE 도구이다.

애자일(Agile)
- 소프트웨어 개발 중 설계 변경에 신속히 대응하여 요구사항을 수용할 수 있다. ⇢ 계획을 따르는 것보다 변경에 대한 응답이 더 중요하다.
- 절차와 도구보다 개인과의 소통을 중요시하고 고객과의 피드백을 중요하게 생각한다. ⇢ 프로세스나 도구보다 개인과의 소통이 더 중요하다.
- 소프트웨어가 잘 실행되는 것에 가치를 둔다. ⇢ 완벽한 문서보다 실행되는 소프트웨어가 더 중요
- 소프트웨어 배포 시차를 최소화할 수 있다.
- 특정 방법론이 아닌 소프트웨어를 빠르고 낭비없이 제작하기 위해 고객과의 협업에 초점을 두고 있다. ⇢ 계약 협상보다 고객과의 협업이 더 중요하다.
- 특징: 짧은 릴리즈와 반복, 점층적 설계, 사용자 참여, 문서 최소화, 비공식적인 커뮤니케이션 변화

익스트림 프로그래밍(XP: eXtreme Programing)
- 개발 단계 중 요구사항이 시시각각 변동이 심한 경우 매우 적합한 방법론
- 요구 사항이 변경되는 것을 적용하는 방식으로 예측성보다는 적응성에 더 높은 가치를 부여
- 생산성 향상
- 핵심 가치: 소통, 단순성, 피드백, 용기, 존중

요구사항 분석
- 요구사항 간 상충되는 것을 해결, 소프트웨어 범위 파악
- 명확하지 못하거나 모호한 부분을 걸러내기 위한 과정
- 소프트웨어가 환경과 어떻게 상호 작용하는지 이해
- 중복되는 내용을 통합, 서로 상충되는 요구사항을 해결
- 시스템 요구사항을 정제, 요구사항 도출
- 도출된 사항 분석, 소프트웨어 개발 범위 파악
- 비용과 일정에 대한 제약을 설정
- 타다성 조사
- 요구사항 정의 문서화
- 성능, 보안, 품질, 안정 등에 대한 요구사항은 비기능적인 요구사항에 해당

UML의 기본 구성 요소

UML 다이어그램의 분류
1. 구조적(정적) 다이어그램
- Class Diagram
- Object Diagram
- Composite Structure Diagram
- Deployment Diagram
- Component Diagram
- Package Diagram
2. 행위(동적) 다이어그램
- Use Case Diagram
- Activity Diagram
- Collaboration Diagram
- State Diagram Interaction Diagram
- Diagram(Sequence Diagram)
- Communication Diagram
- Interaction overview Diagram
- Timing Diagram

유스케이스(Use Case)의 구성 요소 간의 관계
- 연관 관계(Association): 유스케이스와 액터 간의 상호 작용이 있음을 표현하는 관계
- 포함 관계(Include): 하나의 유스케이스가 다른 유스케이스의 실행을 전제로 할 때 형성되는 관계
- 확장 관계(Extend): 확장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성되는 관계
- 일반화 관계(Generalization): 유사한 유스케이스 또는 액터를 모아 추상화한 유스케이스 또는 액터로 연결해 그룹을 만들어 이해도를 높이기 위한 관계

럼바우(Rumbaugh) 객체지향분석 기법
- 객체 모델링(=정보 모델링): 시스템에서 요구되는 객체를 찾아내, 속성과 연산 식별 및 객체 간의 관계를 규정하여 객체를 다이어그램으로 표시
- 동적 모델링: 제어 흐름, 상호 작용, 동작 순서 등의 상태를 시간 흐름에 따라 상태 다이어그램으로 표시
- 기능 모델링: 자료 흐름도를 이용하여 여러 프로세스 간의 자료 흐름을 표시. 어떤 데이터를 입력하여 어떤 결과를 가져올 수 있는 지를 표현

UI 설계 원칙

- 사용자 중심
- 일관성
- 단순성
- 가시성
- 표준화
- 접근성
- 결과 예측 가능
- 명확성
- 오류 발생 해결
UI 설계 도구
- 와이어 프레임
- 목업
- 프로토타입(prototype)
- 스토리보드(Storyboard)

소프트웨어 모델링
: 현실 세계에 존재하는 데이터를 추상화하여 컴퓨터 세계로 옮기는 변환 과정
- 모델링 작업의 결과물은 다른 모델링에 영향
- 개념적 모델링 / 논리적 모델링 구분
- 데이터 모델링의 결과물 ⇢ 데이터 모델

자료 흐름도(DFD: Data Flow Diagram)
- 자료는 처리를 거쳐 반환될 때마다 새로운 명칭을 부여해야 함
- 자료 흐름도의 최하위 처리(Process)는 소단위 명세서를 가짐
- 어떤 처리(Process)가 출력 자료를 산출하기 위해서는 필요한 자료가 반드시 입력
- 시스템이나 프로그램 간의 총제적 데이터 흐름 표시, 기본적인 데이터 요소와 그들 사이의 데이터 흐름 형태로 기술
- 다차원적
- 자료 흐름 그래프, 버블(Bubble) 차트라고도 함
- 구조적 분석 기법
- 그림 중심 표현, 하향식 분할 원리

자료 사전(Data Dictionary)
: 시스템 자신이 필요한 여러 가지 객체 정보를 포함한 시스템 데이터베이스


모듈설계(독립성↑): 응집도, 결합도
응집도(Cohension)↑
: 한 모듈 내에 있는 처리 요소들 사이의 기능적인 연관 정도
- (높음) 기능적 응집도 > 순차적 응집도 > 교환적 응집도 > 절차적 응집도 > 시간적 응집도 > 논리적 응집도 > 우연적 응집도(낮음)
결합도↓
- 모듈간 변수를 공유하지 않도록 결합도를 낮춰야 함
- (낮음) 데이터 결합도 < 스탬프 결합도 < 제어 결합도 < 외부 결합도 < 공통 결합도 < 내용 결합도(높음)

정보처리기사가 정확히 어떤 자격증인지도 모른채 호기롭게 시작했다가
생각보다 방대한 양에 깜짝 놀랐고요🤯

일단 어떻게든 되겠지란 마인드로
시험 접수를 해보았습니다
강의듣자마자 놀라서 책 바로 구매했습니다🫨
스터디로 2주동안 거대한 흐름 잡고
세세하게 책이랑 문제집 병행하면서 공부하려고 합니다
.
.
.
[정보처리기사 자격증 대비 교육(필기)]
[지금 무료]정보처리기사 자격증 대비 교육(필기) 강의 | 국립안동대학교 SW융합교육원 - 인프런
국립안동대학교 SW융합교육원 | NCS개정 정보처리기사 필기 합격을 위한 핵심요약 특강으로 CBT 필기시험과 필답형 실기시험을 효율적으로 학습 할수 있습니다., 정보처리기사 자격증 대비 교육(
www.inflearn.com
강의를 바탕으로 서술한 내용임을 밝힙니다.
출처: 과학기술정보통신부와 정보통신기획평가원이 지원한 'SW중심대학'의 결과물
댓글