[정보처리기사] 24/07/22 학습 일지 - 1단원, 2단원
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 구성 요소 세 가지
: 사물, 관계, 다이어그램