1과목. 소프트웨어 설계 > 1장. 요구사항 확인 > 소프트웨어 설계 구조 :상위 설계 : 시스템의 전체적인 구조를 설계함아키텍처 설계예비 설계구조 설계DB 설계인터페이스 정의 : 시스템 수준에서의 소프트웨어 구성 컴포넌트들 간의 관계로 구성된 시스템의 전체적인 구조와 시스템 구조도 사용자 인터페이스 설계 : 외부 파일 및 DB 설계도 (레코드 레이아웃, ERD), 화면 및 출력물 레이아웃 하위 설계 : 시스템의 내부 구조 및 행위모듈 설계(상세 설계)컴포넌트 설계자료 구조 설계 : 시스템의 각 구성 요소들의 내부 구조, 동적 행위 등을 결정알고리즘 설계 : 각 구성 요소의 제어와 데이터들 간의 연결에 대한 구체적인 정의를 하는 것 800제-218번. 소프트웨어의 상위 설계에 속하지 않는 것은? ① 아키..
1과목. 소프트웨어 설계 > 1장. 요구사항 확인 > 디자인 패턴 : 구조 패턴 유형, 디자인 패턴 구성, 디자인 패턴 분류, 생성 패턴 유형, 행위 패턴 유형디자인 패턴의 개요디자인 패턴의 개념각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제 (일종의 설계 방법론) GoF의 디자인 패턴이라고도 함 : 가장 일반적인 사례에 적용될 수 있는 패턴들을 생성 패턴(5개), 구조 패턴(7개), 행위 패턴(11개)로 분류하고 정리한 4명의 전문가(에리히 감마, 리처드 헬름, 랄프 존슨, 존 블리시데스) 디자인 패턴의 구성 : 문제 및 배경, 실제 적용된 사례, 재사용이 가능한 샘플 코드 등디자인 패턴의 ..
1과목. 소프트웨어 설계 > 1장. 요구사항 확인 > UML(Unified Modeling Language) : UML 구성 요소, UML 다이어그램, UML 확장 모델, 구조(정적) 다이어그램, 유스케이스 다이어그램, 클래스 다이어그램, 행위(동적) 다이어그램UML의 개요UML의 개념시스템 개발 과정에서 개발자와 고객, 개발자 상호 간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어Rumbaugh, Booch, Jacobson 등의 객체지향 방법론의 장점 통합UML의 기능시스템의 구조를 표현하는 6개의 구조 다이어그램, 시스템의 동작을 표현하는 7개의 행위 다이어그램 작성다이어그램을 통해 사물과 사물 간의 관계를 용도에 맞게 표현UML의 구성 요소사물(Things)사물의 개념U..
1과목. 소프트웨어 설계 > 1장. 요구사항 확인 > HIPO(시스템 분석 도구) :HIPO(시스템 분석 도구)의 개념시스템 분석 및 설계나 문서화할 때 사용되는 기법, 시스템 분석용 디자인 도구 및 문서화 기법 시스템 실행 과정인 입력, 처리, 출력의 기능을 나타냄 기본 시스템 모델은 입력, 처리, 출력으로 구성되어 있음HIPO의 기능하향식 소프트웨어 개발을 위한 문서화 도구체계적인 문서 관리가 가능기능과 자료의 의존 관계를 동시에 표현 가능 시스템을 표현하는 모듈들을 계층적으로 나타내고 각 모듈들을 문서화하기 위해 사용 : Input-Process-Output으로 이루어진 모듈들을 계층적으로 나타낸 도표 HIPO의 장점기호, 도표 등을 사용하여 보기 쉽고 이해가 용이변경, 유지보수가 용이 HIPO ..
1과목. 소프트웨어 설계 > 1장. 요구사항 확인 > Flynn의 컴퓨터 시스템 분류 제안 :Flynn의 컴퓨터 시스템 분류 제안 개요마이클 플린이 1966년에 제시한 컴퓨터 아키텍처 분류 체계시스템 명령어 스트림(Instruction stream, 명령어 체계)와 데이터 스트림(Data stream, 데이터 흐름)의 종류에 따라 시스템을 네 가지 유형으로 나눔Flynn's classification의 네 가지 유형SISD(Single Instruction, Single Data) : 단일 명령어, 단일 데이터 흐름단일 명령어로 단일 데이터 흐름을 처리가장 기본적인 형태데스크톱 컴퓨터와 같은 순차 처리 시스템이 이에 해당 MISD(Multiple Instruction, Single Data) : 다중 명..
1과목. 소프트웨어 설계 > 1장. 요구사항 확인 > DBC(Design By Contract) :DBC의 개요아이펠 언어의 개발자인 버트란드 마이어가 개발한 개념프로그램의 정확성 보장을 위한 소프트웨어 모듈들의 권리와 책임을 문서화하는데 초점각각의 모듈이 가져야 하는 기능만큼만 동작하도록 하며, 이러한 개념을 문서화하고 검증함 DBC의 세 가지 유형선행 조건(Precondition)루틴(함수, 메소드, 모듈)이 호출되기 위해 참이어야 하는 것 (루틴의 요구사항)루틴의 선행 조건이 위반된 경우 루틴이 호출되어서는 안 됨제대로 된 데이터를 전달하는 것은 호출 쪽의 책임임후행 조건(Postcondition)루틴이 자기가 할 것이라고 보장하는 것루틴이 수행된 후 만족하여야 하는 조건클래스 불변식(class i..