일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 규칙찾기
- 에라토스테네스의 체
- 영문자 확인
- 문자열
- Dynamic Programming
- 메뉴리뉴얼
- 튜플
- fragment identifier
- 알고리즘
- Java
- 점프와 순간이동
- 완전탐색
- 동적계획법
- 반복문
- HashSet
- pandas
- 후위 표기법
- dfs
- Stack
- 순열
- 완전 탐색
- 2017 카카오 코드
- 쿼드압축 후 개수세기
- 조합
- 프로그래머스
- 최소공배수
- HashMap
- python
- 보이어무어
- 어려웠던 문제
- Today
- Total
목록전공 필기/SW공학 (6)
csmoon1010의 SW 블로그
[7. 디자인 패턴(Design Pattern)] 1. 디자인 패턴의 개요 (1) 의미 각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제 (2) 구성 : 재사용할 수 있는 "기본형 코드들" (3) 특징 - 한 패턴에 변형을 가함 - 특정 요구사항을 반영 → 유사한 형태의 다른 패턴으로 변화 (4) GoF(Gang of Four)의 디자인 패턴 - 1995년 처음으로 구체화 및 체계화 → 현재까지도 가장 많이 사용 - 가장 일반적인 사례에 적용될 수 있는 패턴들을 분류, 정리 생성 패턴 5개 + 구조 패턴 7개 + 행위 패턴 11개 = 23개의 디자인 패턴 2. 아키텍처 패턴과의 비교 아키텍처 패..
[6. 코드(Code)] 1. 코드의 개요 (1) 의미 : 컴퓨터를 이용하여 자료를 처리하는 과정에서 분류, 조합 및 집계를 용이하게 하고, 특정 자료의 추출을 쉽게 하기 위해서 사용하는 기호 (2) 특징 - 일정한 규칙에 따라 작성 - 영향 : 정보 처리의 효율과 정보의 가치 향상 2. 코드의 주요 기능 (1) 식별 기능 : 데이터 간의 성격에 따라 구분 (2) 분류 기능 : 특정 기준이나 동일한 유형에 해당하는 데이터를 그룹화 (3) 배열 기능 : 의미를 부여하여 나열 가능 3. 코드의 종류 (1) 순차 코드(Sequence Code) = 순서 코드 = 일련 번호 코드 자료의 발생 순서, 크기 순서 등의 일정 기준에 따라 최초의 자료부터 차례대로 일련번호(식별 기능) 부여 ex> 1, 2, 3, 4,..

[4. 모듈] 1. 모듈(Module) (1) 의미 : 모듈화를 통해 분리된 시스템의 각 기능들 **모듈화 : SW의 성능 향상, 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 모듈 단위로 분해하는 것 - 서브루틴 : 메인 루틴에 의해 필요할 때 마다 호출되는 루틴 **루틴 : 기능을 가진 명령들의 모임. 메인 루틴+서브 루틴 - 서브시스템(Subsystem) = 단위시스템 : 시스템을 구성하는 요소. 그 자체로도 하나의 시스템에 필요한 모든 요소를 갖춤 - 소프트웨어 내의 프로그램 - 작업단위 (2) 특징 - 단독 컴파일 가능 - 재사용성 - 기능적 독립성 : 각 모듈의 기능이 서로 독립됨 - 하나의 기능만 수행 : 응집도(Cohesion)은 강하게 - 다른 모듈과의 과도한 상호작용 배제 : 결..
[3. 객체지향(Objected-Oriented] 1. 객체지향의 개요 : 현실세계의 개체(Entity)를 하나의 객체(Object)로 만들어 SW개발 시 조립해서 작성할 수 있는 기법 (1) 배경 : 구조적 기법의 문제점 해결 - 구조적 기법 : 프로시저에 근간을 두고 하나의 커다란 작업을 여러개의 작은 작업으로 분할 → 모듈 : 각각의 소작업 수행 → 한 곳에 모아 하나의 프로그램으로 - 문제점 - 개발 공정에만 치우침(유지보수 고려X) - 개발 시작 후 추가적인 요구사항 대응 어렵 - 재사용의 어려움 → 인력, 시간 소모 (2) 특징 - 구조의 단계적, 계층적 표현 - 멀티미디어 데이터 및 병렬 처리 지원 (3) 장점 - 재사용 및 확장이 쉬움 - 고품질의 SW를 빠르게 개발 - 유지보수의 용이성 ..

[1. 소프트웨어 아키텍처] 1. 소프트웨어 아키텍처 - 소프트웨어의 골격이 되는 기본 구조 - 소프트웨어의 구성 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체 - 설계 원칙 : 소프트웨어 개발 시 적용되는 원칙과 지침(이해 관계자들의 의사소통 도구) - 요구사항 : 비기능적 요구사항(제약) 반영 + 기능적 요구사항 구현 - 모듈 : 애플리케이션의 분할 방법, 분할된 모듈에 할당할 기능, 모듈 간 인터페이스 결정 2. 소프트웨어 아키텍처 설계의 기본 원리 모듈화(Modularity) : 시스템의 기능들을 모듈 단위로 나누는 것 → SW 성능 향상, 시스템 수정 및 재사용, 유지관리의 용이성 (1) 모듈 : 전체 프로그램 기능 중 "특정 기능"을 처리할 수 있는 소스 코드 (2) 공통 모듈 : 자..
[1. 사용자 인터페이스] 1. 사용자 인터페이스(UI, User Interface)의 개요 : 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치, 소프트웨어 - 3가지 분야 (1) 물리적 제어 : 정보 제공과 전달 (2) 표현과 구성 : 콘텐츠의 상세적인 표현과 전체적인 구성 (3) 기능 : 사용자의 편리성과 간편함 2. 사용자 인터페이스(UI)의 특징 - 변경이 잦음 : 사용자 만족도 직결 - 편리성, 가독성, 시간 단축, 업무 이해도 향상 - 최소 노력으로 원하는 결과 - 수행 결과의 오류 줄임 - 구체적 방법 제시 - 정보 제공자와 공급자 간의 매개 역할 - 소프트웨어 아키텍처 숙지가 우선시 되어야 함 개발할 SW의 기본 틀, SW 개발 과정을 체계적으로 접근하기 위한 밑그림 아래..