분류 전체보기
1과목 SW설계 : 소프트웨어 아키텍처
- 사용자의 비기능적 요구사항으로 나타난 제액 반영 - 기능적 요구사항을 구현하는 방법을 찾는 해결 과정 *모추단정 1) 모듈화(Modularity) - 시스템의 기능들을 모듈 단위로 나눠 소프트웨어의 성능 및 재사용성을 향상시키는것 - 모듈의 크기 多: 모듈 개수 적음 | 모듈 간 통합 비용 적음 | 모듈 하나의 개발 비용이 큼 - 모듈의 크기 小: 모듈 개수 많음 | 모듈 간 통합 비용 큼 2) 추상화(Abstraction) - 전체적이고 포괄적인 개념을 설계한 후 차례로 세분화하여 구체화 시키는 것 - 과정 추상화: 자세한 수행 과정을 정의하지 않고, 전반적인 흐름만 파악 - 데이터 추상화: 데이터의 세부적인 속성이나 용도를 정의하지 않고, 데이터 구조를 대표하는 표현으로 대체 - 제어 추상화: 이..
1과목 SW설계 : 품질 요구사항
1) ISO/IEC 9126 - 기능성(Functionality): 요구사항을 정확하게 만족하는 기능을 제공하는가? - 신뢰성(Reliability): 요구된 기능을 정확하고 이관되게 오류없이 수행하는가? - 사용성(Usability): 사용자가 정확하게 이해하고 사용하는가? - 효율성(Efficiency): 할당된 시간 동안 한정된 자원으로 얼마나 처리하는가? - 유지 보수성(Maintainability): 환경의 변화에 소프트웨어를 쉽게 개선, 확장, 수정할 수 있는가? - 이식성(Portablity) 소프트웨어를 다른 환경에도 쉽게 적용할 수 있는가? *기신사 효유이 2) ISO/IEC 14598 - 반복성(Repeatability) - 재현성(Reproducibility) - 공정성(Imparti..
1과목 SW설계 : 사용자 인터페이스(UI: User Interface)
1) UI의 구분 - CLI(Command Line Interface): 텍스트 형태로 이뤄진 인터페이스 - GUI(Graphical User Interface): 마우스로 선택해 작업하는 그래픽 환경의 인터페이스 - NUI(Natural User Interface): 사용자의 말이나 행동으로 기기를 조작하는 인터페이스 - VUI(Voice User Interface): 사람의 음성으로 기기를 조작하는 인터페이스 - OUI(Organic User Interface): 모든 사물과 사용자 간의 상호작용을 위한 인터페이스 2) UI의 기본 원칙 - 직관성: 누구나 쉽게 이해하고 사용할 수 있어야함 - 유효성: 사용자의 목적을 정확하고 완벽하게 달성해야함 - 학습성: 누구나 쉽게 배우고 익힐 수 있어야함 - ..
1과목 SW설계 : UML(Unified Modeling Language)
UML(Unified Modeling Langeage): 프로그램 설계를 표현하기 위해 사용하는, 주로 그림을 된 표기법을 의미한다. 객체지향 언어와 밀접한 관련이 있기에 객체지향 모델링 언어라고도 불린다. 소프트웨어 시스템, 업무 모델링 시스템의 산출물을 규정하고 시각화하며 무선화하는 언어이다. 프로그래밍 언어는 아니다. 모델링 언어일뿐 방법론은 아니다. 1) UML의 구성요소 - 사물 - 관계 - 다이어그램 *사관다 2) 사물(Things) - 구조 - 행동 - 그룹 - 주해 *구행그주 3) 관계(RElationships) - 연관 - 집합 - 포함 - 일반화 - 의존 - 실체화 *연집포 일의실 4) 구조적, 정적 다이어그램(Diagram) - 클래스(Class) - 객체(Object) - 컴포넌트(..
1과목 SW설계 : 요구사항 정의
1) 기능 요구사항 - 기능, 입력, 출력, 저장, 수행 등등 2) 비기능 요구사항 - 성능, 품질, 제약사항, 호환성, 보안 등등 3) 요구사항 개발 프로세스 - 도출/추출 -> 분석 -> 명세 -> 확인/검증 *도분명확 *추분명검 4) 요구사항 분석 기법 - 요구사항 분류 - 개념 모델링 - 요구사항 할당 - 요구사항 협상 - 정형 분석 *분개할협정 5) 요구사항 확인 기법 - 요구사항 검토 - 프로토타이핑 - 모델 검증 - 인수 테스트(알파 테스트, 베타 테스트) *검프모인
1과목 SW설계 : 개발 기술 환경 파악
1) 운영체제(OS: Poerating System) - 하드웨어가 아닌 소프트웨어 - 가용성, 성능 | 기술 지원, 구축 비용, 주변 기기 *가성기구주 2) 미들 웨어(Middleware) - 운영체제와 응용 프로그램 사이에서 추가적인 서비스를 제공하는 소프트웨어 3) 데이터베이스 관리 시스템(DBMS: Database Management System) - 사용자와 데이터베이스 사이에서 정보를 생성하고 DB를 관리하는 소프트웨어 - 데이터베이스(DB)의 구성, 접근 방법, 유지관리에 대한 모든 책임을 짐 - JDBC(Java Database Connectivity, 자바), ODBC(Open Database Connectivity, 응용프로그램) - Oracle, MySQL, SQLite, MongoD..
1과목 SW설계 : XP(eXtreme Programming)기법
1. XP의 핵심 가치 - 용기(Courage) - 단순성(SImplicity) - 의사소통(Communication) - 피드백(Feedback) - 존중(Respect) *용단의피존 2. XP의 기본 원리 - Whole Team(전체 팀) - Small Releases(소규모 릴리즈) - Test-Driven Debelopment(테스트 주도 개발) - Continuous Intergration(계속적인 통합) - Collective Ownership(공동 소유권) - Pair Programming(짝 프로그래밍) - Design Improvement(디자인 개선) 또는 Refactoring(리팩토링) *전소태 계공짝디
1과목 SW설계 : 스크럼(Scrum) 기법
- 팀원 스스로가 스크럼 팀 구성 - 개발 작업에 관한 모든 것을 스스로 해결해야 함 - 스프린트는 2~4주 정도의 기간으로 진행 1) 제품 책임자(PO: Product Owner) - 요구사항이 담긴 백로그(Backlog)를 작성하는 주체 - 백로그에 대한 우선순위를 지정, 이해관계자들의 의견을 종합 2) 스크럼 마스터(SM: Scrum Master) - 일일 스크럼 회의 주관 - 팀원들을 통제하는 것이 목표가 아님 3) 개발팀(DT: Development Team) - 제품 책임자와 스크럼 마스터를 제외한 모든 팀원 - 최대 인원 7~8명 4) 스크럼 개발 프로세스 - 스프린트 계획 회의 -> 스프린트 -> 일일 스크럼 -> 스크럼 검토 회의 -> 스프린트 회고 *계스일검회
1과목 SW설계 : 소프트웨어 생명 주기, SDLC(Software Development Life Cycle)
1. 폭포수 모형(Waterfall Model) - 가장 오래되고 가장 폭넓게 사용된 고전적 생명 주기 모형 - 한 단계가 끝나야만 다음 단계로 넘어가는 선형 순차적 모형 - 단계별 정의 및 산출물이 명확 - 개발 중간에 요구사항의 변경이 용이하지 않음 - 타당성 검토 -> 계획 -> 요구분석 -> 설계 -> 구현(코딩) -> 테스트(검사) -> 유지보수 *분설구테유 2. 프로토타입 모형(Prototype Model, 원형 모형) - 견본(시제)품을 만들어 최종 결과물을 예측하는 모형 - 인터페이스 중점을 두어 개발 - 개발 중간에 요구사항의 변경이 용이 3. 나선형 모형(Spiral Model, 점진적 모형) - 폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형 - 점진적 개발 과정..
알고리즘 - 최소 편집 거리(Minimum Edit Distance)
문자열 S를 다른 문자열 T로 변환하고자 할 때 필요한 최소의 편집 연산 횟수를 구하는 문제. 1회의 연산에는 삽입(insert), 삭제(delete), 대체(substitute)중 한 가지만 할 수 있다. 문자열 S = strong 문자열 T = stone S를 T로 변환하기 위해서는 총 4회의 편집 연산이 필요하다. s t r o n g s t o n e 1. o 삽입 2. r 삭제 3. o 삭제 4. g -> e 대체 총 4회의 편집 연산이 필요하다.