Certification/Engineer Information Processing

[정보처리기사] 24/07/22 학습 일지 - 1단원, 2단원

효딩 2024. 7. 22. 17:57

1단원 요구사항 확인

 

소프트웨어 생명주기 모델 종류

- 폭포수 모델

각 단계 확실히 마무리 지은 후에 다음 단계로 넘어가는 모델

- 나선형 모델

시스템 개발 시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델

 

소프트웨어 개발 방법론 종류

- 구조적 방법론

전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론

- 정보공학 방법론

정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론

- 애자일 방법론

절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론

XP, 스크럼, 린

 

XP의 12가지 기본 원리 中

- 테스트 기반 개발 (TDD)

- 리팩토링

- 메타포어

 

럼바우 데이터 모델링

객체, 동적, 기능

 

소프트웨어 아키텍처 패턴 유형

- 계층화 패턴

: 시스템을 계층(layer)로 구분하여 구성하는 패턴

각 하위 모듈들은 특정한 수준의 추상화를 제공하고, 각 계층은 다음 상위 게층에 서비스를 제공

- 클라이언트 서버 패턴

- 파이프-필터 패턴: 데이터 스트림을 생성하고 처리하는 시스템에서 사용 가능한 패턴

 

디자인 패턴 유형

생성 / 구조 / 행위

 

- 생성 패턴

Builder 복합 객체를 생성할 때 객체를 생성하는 방법(과정)과 객체를 구현(표현)하는 방법을 분리함으로써 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있는 디자인 패턴
Prototype 처음부터 일반적인 원형 만들어 놓고, 복사한 후 필요한 부분만 수정하여 사용
Factory method 상위 클래스에서 객체를 생성하는 인터페이스 정의하고, 하위 클래스에서 인스턴스를 생성하도록 하는 방식으로,
상위 클래스에서는 인스턴스를 만드는 방법만 결정하고, 하위 클래스에서 그 데이터의 생성을 책임지고 조작하는 함수들 오버라이딩
Abstract factory  
Singleton  

 

- 구조 패턴

bridge, proxy, adapter...

 

- 행위 패턴

Template Method 어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으며서 특정 단계에서 수행하는 내역을 바꾸는 패턴
Observer 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에 연락이 가고 자동으로 내용 갱신

state, visitor, strategy...

 

요구 공학

도출 -> 분석 -> 명세 -> 확인

 

인스펙션:

소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 문제를 식별하고 문제에 대한 올바른 해결을 찾아내는 형식적 검토 기법

 

워크 스루:

검토 자료를 회의 전에 배포해서 사전검토 한 후 짧은 시간 동안 회의 진행

 

2단원 화면 설계

 

UI 설계 원칙

직관성: 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함

유효성: 정확하고 완벽하게 사용자의 목표가 달성할 수 있도록 제작

학습성: 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작

유연성: 사용자의 요구사항을 최대한 수용하고, 실수를 방지할 수 있도록 제작

 

UI 화면 설계 구분

- 와이어프레임

이해 관계자들과의 화면구성을 협의하거나 서비스의 간략한 흐름 공유하기 위해 화면 단위의 레이아웃을 설계

- 스토리보드

화면 설계를 위해 정책이나 프로세스 및 콘텐츠의 구성, 와이어프레임(UI, UX), 기능에 대한 정의, 데이터베이스의 연동 등 구축하는 서비스를 위한 대부분 정보가 수록된 문서로서, 디자이너와 개발자가 최종적으로 참고하는 산출 문서

- 프로토타입

실제 구현된 것처럼 시뮬레이션 가능한 모형

 

UML

- 관계

: UML의 구성 요소 중 사물의 의미를 확장하고 명확히 하는 요소로 사물과 사물을 연결하여 표현하는 요소

- 클래스

: 공통의 속성, 연산(메서드), 관계, 의미를 공유하는 객체들의 집합

- 인터페이스

: 기능을 모아놓은 클래스로 추상 메서드와 상수만을 포함하는 추상 클래스로 구현하는 모든 클래스에 대해 특정한 메서드가 반드시 존재하도록 강제하는 역할을 하는 클래스

 

UML 구성 요소 세 가지

: 사물, 관계, 다이어그램