본문 바로가기

5. 방학 활동/Write UP

[2023.01.28] 정처기 자격증 스터디 1주차

1과목 소프트웨어 설계

 

1장 요구사항 확인

001 소프트웨어 생명 주기

  1. 소프트웨어 생명 주기(Software Life Cycle)
  2. 폭포수 모형(Waterfall Model)
  3. 프로토타입 모형(Prototype Model, 원형 모형)
  4. 나선형 모형(Spiral Model, 점진적 모형)
  5. 애자일 모형(Agile Model)
    • 스크럼
    • XP
    • 칸반
    • Lean
    • 크리스탈
    • ASD
    • 기능 중심 개발(FDD)
    • DSDM
    • DAD
  6. 폭포수 모형과 애자일의 비교

 

002 스크럼(Scrum) 기법

  1. 스크럼의 개요
  2. 스크럼 개발 프로세스

 

003 XP(eXtreme Programming) 기법

  1. XP(eXtreme Programming)
  2. XP 개발 프로세스

 

004 현행 시스템 파악

  1. 현행 시스템 파악 절차
  2. 시스템 구성 파악
  3. 시스템 기능 파악
  4. 시스템 인터페이스 파악
  5. 아키텍처 구성 파악
  6. 소프트웨어 구성 파악
  7. 하드웨어 구성 파악
  8. 네트워크 구성 파악

 

005 개발 기술 환경 파악

  1. 개발 기술 환경의 정의
  2. 운영체제(OS, Operating System)
  3. 운영체제 관련 요구사항 식별 시 고려사항
  4. 데이터베이스 관리 시스템(DBMS)
  5. DBMS 관련 요구사항 식별 시 고려사항
  6. 웹 애플리케이션 서버(WAS; Web Application Server)
  7. 웹 애플리케이션 서버(WAS) 관련 요구사항 식별 시 고려사항
  8. 오픈 소스 사용에 따른 고려사항

 

006 요구사항 정의

  1. 요구사항의 개념 및 특징
  2. 요구사항의 유형
  3. 요구사항 개발 프로세스
  4. 요구사항 도출(Requirement Elicitation, 요구사항 수집)
  5. 요구사항 분석(Requirement Analysis)
  6. 요구사항 명세(Requirement Specification)
  7. 요구사항 확인(Requirement Validation, 요구사항 검증)

 

007 요구사항 분석

  1. 요구사항 분석의 개요
  2. 구조적 분석 기법
  3. 자료 흐름도(DFD)
  4. 자료 사전

 

008 요구사항 분석 CASE와 HIPO

  1. 요구사항 분석 위한 CASE(자동화 도구)
  2. HIPO

 

009 UML(Unified Modeling Language)

  1. UML(Unified Modeling Language)의 개요
  2. 사물(Things)
  3. 관계(Relationships)
    • 연관 관계 ex) 사람, 집
    • 집합 관계 ex) 컴퓨터, 프린터
    • 포함 관계 ex) 문, 키(Key)
    • 일반화 관계 ex) 커피, 아메리카노, 에스프레소
    • 의존 관계 ex) 등급, 할인율
    • 실체화 관계 ex) 날 수 있는, 비행기, 새
  4. 다이어그램(Diagram)

 

010 주요 UML 다이어그램

  1. 유스케이스(Use Case) 다이어그램
  2. 클래스(Class) 다이어그램
  3. 순차(Sequence) 다이어그램

 

 

 

2장 화면 설계

011 사용자 인터페이스

  1. 사용자 인터페이스(UI, User Interface)의 개요
  2. 사용자 인터페이스(UI)의 특징
  3. 사용자 인터페이스의 구분
  4. 사용자 인터페이스의 기본 원칙
  5. 사용자 인터페이스의 설계 지침
  6. 사용자 인터페이스 개발 시스템의 기능

 

012 UI 표준 및 지침

  1. UI 표준 및 지침
  2. 한국형 웹 콘텐츠 접근성 지침(KWCAG; Korean Web Content Accessibility Guidelines)
  3. 전자정부 웹 표준 준수 지침

 

013 UI 설계 도구

  1. UI 설계 도구
  2. 와이어프레임(Wireframe)
  3. 목업(Mockup)
  4. 스토리보드(Story Board)
  5. 프로토타입(Prototype)
  6. 유스케이스(Use Case)

 

014 UI 요구사항 확인

  1. UI 요구사항 확인
  2. 목표 정의
  3. 활동 사항 정의
  4. UI 요구사항 작성
  5. 요구사항 요소 확인
  6. 정황 시나리오 작성
  7. 요구사항 작성

 

015 품질 요구사항

  1. 품질 요구사항
  2. 기능성(Functionality)
  3. 신뢰성(Reliability)
  4. 사용성(Usability)
  5. 효율성(Efficiency)
  6. 유지 보수성(Maintainability)
  7. 이식성(Portability)

 

016 UI 프로토타입 제작 및 검토

  1. UI 프로토타입의 개요
  2. UI 프로토타입의 장·단점
  3. 프로토타이핑의 종류
  4. UI 프로토타입 계획 및 작성 시 고려 사항
  5. UI 프로토타입 제작 단계

017 UI 설계서 작성

  1. UI 설계서의 개요
  2. UI 설계서 표지 작성
  3. UI 설계서 개정 이력 작성
  4. UI 요구사항 정의서 작성
  5. 시스템 구조 작성
  6. 사이트 맵(Site Map) 작성
  7. 프로세스(Process) 정의서 작성
  8. 화면 설계

 

018 유용성 평가

  1. UI 유용성 평가
  2. 실행 차를 줄이기 위한 UI 설계 원리 검토
  3. 평가 차를 줄이기 위한 UI 설계 원리 검토

 

019 UI 상세 설계

  1. UI 시나리오 문서 개요
  2. UI 시나리오 문서 작성 원칙
  3. UI 시나리오 문서 작성을 위한 일반 규칙
  4. UI 시나리오 문서의 요건
  5. UI 시나리오 문서로 인한 기대 효과

 

020 HCI / UX / 감성공학

  1. HCI(Human Computer Interaction or Interface)
  2. UX(User Experience)
  3. 감성 공학

 

 

 

3장 애플리케이션 설계

021 소프트웨어 아키텍처

  1. 소프트웨어 아키텍처의 설계
  2. 모듈화(Modularity)
  3. 추상화(Abstraction)
    • 과정 추상화
    • 데이터 추상화
    • 제어 추상화
  4. 단계적 분해(Stepwise Refinement)
  5. 정보 은닉(Information Hiding)
  6. 소프트웨어 아키텍처의 품질 속성
    • 시스템 측면
    • 비즈니스 측면
    • 아키텍처 측면
  7. 소프트웨어 아키텍처의 설계 과정
    • 설계 목표 설정
    • 시스템 타입 결정
    • 아키텍처 패턴 적용
    • 서브시스템 구체화
    • 검토

 

022 아키텍처 패턴

  1. 아키텍처 패턴(Patterns)의 개요
  2. 레이어 패턴(Layers pattern)
  3. 클라이언트-서버 패턴(Client-Server Pattern)
  4. 파이프-필터 패턴(Pipe-Filter Pattern)
  5. 모델-뷰-컨트롤러 패턴(Model-View-Controller Pattern)
    • 모델(Model): 서브시스템의 핵심 기능과 데이터를 보관한다.
    • 뷰(View): 사용자에게 정보를 표시한다.
    • 컨트롤러(Controller): 사용자로부터 입력된 변경 요청을 처리하기 위해 모델에게 명령을 보낸다.
  6. 기타 패턴
    • 마스터-슬레이브 패턴
    • 브로커 패턴
    • 피어-투-피어 패턴
    • 이벤트-버스 패턴
    • 블랙보드 패턴
    • 인터프리터 패턴

 

023 객체지향(Object-Oriented)

  1. 객체지향의 개요
  2. 객체(Object)
    • 데이터: 객체가 가지고 있는 정보로 속성이나 상태, 분류 등을 나타낸다.
    • 함수: 객체가 수행하는 기능으로 객체가 갖는 데이터(속성, 상태)를 처리하는 알고리즘이다.
  3. 클래스(Class)
  4. 캡슐화(Encapsulation)
  5. 상속(Inheritance)
    • 다중 상속(Multiple Inheritance): 한 개의 클래스가 두 개 이상의 상위 클래스로부터 속성과 연산을 상속받는 것이다.
  6. 다형성(Polymorphism)
  7. 연관성(Relationship)

 

024 객체지향 분석 및 설계

  1. 객체지향 분석의 개념
  2. 객체지향 분석의 방법론
    • Rumbaugh(럼바우) 방법: 가장 일반적으로 사용되는 방법
    • Booch(부치) 방법: 미시적, 거시적 개발 프로세스 모두를 사용하는 방법
    • Jacobson 방법: Use Case를 강조하여 사용하는 방법
    • Coad와 Yourdon 방법: E-R 다이어그램을 사용하는 방법
    • Wirfs-Brock 방법: 고객 명세서를 평가해서 수행하는 기법
  3. 럼바우(Rumbaugh)의 분석 기법
    • 객체 모델링
    • 동적 모델링
    • 기능 모델링
  4. 객체지향 설계 원칙
    • 단일 책임 원칙
    • 개방-폐쇄 원칙
    • 리스코프 치환 원칙
    • 인터페이스 분리 원칙
    • 의존 역전 원칙

 

025 모듈

  1. 모듈(Module)의 개요
  2. 결합도(Coupling)
    • 자료 결합도
    • 스탬프(검인) 결합도
    • 제어 결합도
    • 외부 결합도
    • 공통(공유) 결합도
    • 내용 결합도
  3. 응집도(Cohesion)
    • 기능적 응집도
    • 순차적 응집도
    • 교환(통신)적 응집도
    • 절차적 응집도
    • 시간적 응집도 
    • 논리적 응집도
    • 우연적 응집도
  4. 팬인(Fan-In) / 팬아웃(Fan-Out)

026 공통 모듈

  1. 공통 모듈의 개요
  2. 재사용(Reuse)
  3. 효과적인 모듈 설계 방안

 

027 코드

  1. 코드(Code)의 개요
  2. 코드의 종류
  3. 코드 부여 체계

 

028 디자인 패턴

  1. 디자인 패턴(Design Pattern)의 개요
  2. 디자인 패턴 사용 장·단점
  3. 생성 패턴(Creational Pattern)
  4. 구조 패턴(Structural Pattern)
  5. 행위 패턴(Behavioral Pattern)

 

 

4장 인터페이스 설계

029 시스템 인터페이스 요구사항 분석

  1. 시스템 인터페이스 요구사항 구성
  2. 시스템 인터페이스 요구사항 분석
  3. 시스템 인터페이스 요구사항 분석 절차

 

030 인터페이스 요구사항 검증

  1. 요구사항 검증(Requirements Verification)
  2. 인터페이스 요구사항 검토 계획 수립
  3. 인터페이스 요구사항 검토 및 오류 수정
  4. 인터페이스 요구사항 베이스라인 설정
  5. 요구사항 검증 방법
  6. 인터페이스 요구사항 검증의 주요 항목

 

031 인터페이스 시스템 식별

  1. 개발 시스템 식별
  2. 내·외부 시스템 식별
  3. 내·외부 시스템 환경 및 관리 주체 식별
  4. 내·외부 시스템 네트워크 연결 정보 식별
  5. 인터페이스 식별
  6. 인터페이스 시스템 식별

 

032 송·수신 데이터 식별

  1. 식별 대상 데이터
  2. 정보 흐름 식별
  3. 송·수신 데이터 식별

 

033 인터페이스 방법 명세화

  1. 인터페이스 방법 명세화의 개념
  2. 시스템 연계 기술
  3. 인터페이스 통신 유형
  4. 인터페이스 처리 유형
  5. 인터페이스 발생 주기
  6. 송·수신 방법 명세화
  7. 송·수신 데이터 명세화
  8. 오류 식별 및 처리 방안 명세화

 

034 시스템 인터페이스 설계서 작성

  1. 시스템 인터페이스 설계서의 개요
  2. 시스템 인터페이스 목록 작성
  3. 시스템 인터페이스 정의서 작성

 

035 미들웨어 솔루션 명세

  1. 미들웨어(Middleware)의 개념
  2. DB(DataBase)
  3. RPC(Remote Procedure Call)
  4. MOM(Message Oriented Middleware)
  5. TP-Monitor(Transaction Processing Monitor)
  6. ORB(Object Request Broker)
  7. WAS(Web Application Server)
  8. 미들웨어 솔루션 식별
  9. 미들웨어 솔루션 명세서 작성