배열
같은 자료형을 가진 자료들을 나열하여 메모리에 연속으로 저장하여 만든 자료들의 그룹
인덱스
배열의 요소를 간단히 구별하기 위해 사용하는 번호
C에서 인덱스는 항상 0부터 시작
모든 자료형에 대해서 배열로 구성가능
구성 형태에 따라 1차원 배열 2차원 배열 3차원 배열이 있음
1차원 배열
'세종사이버대학교 > 자료구조와 알고리즘' 카테고리의 다른 글
자료구조 알고리즘 1주 차 (0) | 2024.09.08 |
---|
배열
같은 자료형을 가진 자료들을 나열하여 메모리에 연속으로 저장하여 만든 자료들의 그룹
인덱스
배열의 요소를 간단히 구별하기 위해 사용하는 번호
C에서 인덱스는 항상 0부터 시작
모든 자료형에 대해서 배열로 구성가능
구성 형태에 따라 1차원 배열 2차원 배열 3차원 배열이 있음
1차원 배열
자료구조 알고리즘 1주 차 (0) | 2024.09.08 |
---|
자료구조
자료구조의 필요성
자료구조의 분류
프로그램에서 사용하기 위한 자료를 기억장치 공간 내에 저장하는 방법과 저장된 그룹 내에
존재하는 자료 간의 관계, 처리 방법 등을 분석
스택
LIFO : Last In First Out 후입선출 방식으로 자료 처리
스택은 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 구조
큐
FIFO : First In First Out 한쪽에서는 삽입 작업이 이루어지고 다른 한쪽에서는 삭제 작업이 이루어지도록
구성한 자료구조 시작과 끝이 존재함
트리 (Tree)
소프트웨어 설계2 (0) | 2024.09.14 |
---|---|
소프트웨어 설계1 (1주 차) (1) | 2024.09.08 |
객체지향 소프트웨어의 필요성
객체 = 하나의 오브젝트
데이터와 데이터를 처리하는 함수를(메소드)를 묶어 놓은 하나의 소프트웨어 모듈
객체의 특성
객체의 메소드는 다른 객체로부터 메세지를 받았을 때 정해진 기능을 수행
클래스
공통된 속성솨 연산(행위)을 갖는 객체의 집합으로, 객체의 일반적인 타입(Type)의미
각가의 객체들이 갖는 속성과 연산을 정의하고 있는 틀
객체지향 프로그램에서 데이터를 추상화하는 단위
클래스에서 속한 각각의 객체를 인스턴스(Instance)라 하며, 클래스로부터 새로운 객체를 생성하는 것을
인스턴스화(Instantiation)
캡슐화
데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것
캡슐화된 객체는 인터페이스를 제외한 세부 내용이 은폐(정보은닉) 되어 외부에서의 접근니 제한적이기 떄문에 외부
묘듈의 변경으로 인한 파급 효과가 적다.
상속 (Ingeritance)
이미 정의된 상위 클래스 (부모 클래스)의 모든 속성과 연산을 하위 클래스 (자식 클래스가) 물려받는 것
다형성 (Polymorphism)
메시지에 의해 객체(클래스)가 연산을 수행하게 될 떄 하나의 메세지에 대해 각가의 객체(클래스가) 가지고 있는
고유한 방법 (특성)으로 응답할 수 있는 능력
객체지향 설계
재새용성을 높힘
객재체향 분석의 방법론
Rumbaugh : 가장 일반적으로 사용되는 방법으로 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행하는 방법
Booch : 미시적(Micro) 개발 프로세스와 거시적 ( Macro) 개발 프로세스를 모두 사용 하는 분석 방법으로, 클래스와 객체들을 분석 및 식벽하고 클래스의 속성과 연산을 정의
Jacobson : Use Cas를 강조하여 사용하는 분석 방법
Coad와 Yourdon 방법 : E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주제 정의, 속성과
인스턴스 연결 정의, 연산과 메세지 연결 정의 등의 과정으로 구성하는 기법
Wirfs-Brock 방법 : 분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법
객체지향 설계 원칙
단일 책임 원칙 ( SRP, Single Responsibility Rinciple ) | 객체는 단 하나의 책임만 가져야 한다는 원칙 |
개방-폐쇄 원칙 ( OCP, Open-Closed Principle ) | 기존의 코드를 변경하지 않고 기능을 추가할 수 있도록 설계해야 한다는 원칙 |
리스코프 치환 원칙 ( LSP, Liskov Substiution Principle ) | 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다는 설계 원칙 |
인터페이스 분리 원칙 ( ISP, Interface Segregation Principle ) | 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 한다는 원칙 |
의존 역전 원칙 ( DIP, Dependency Inversion Principle ) | 각 객체들 간의 의존 관계가 성립될 때, 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존 관계를 맺어야 한다는 원칙 |
디자인 패턴 (Design Pattern) 의 개요
생성 패턴 : 객체를 어떻게 생성할 것인가
구조 패턴 : 생성된 객체를 어떻게 조합/ 합성 할 것인가
행동 패턴 : 객체들을 어떻게 상호작용하고 어떻게 책임을 가져가는가
정보처리기사 3주차 (0) | 2024.09.22 |
---|---|
소프트웨어 설계1 (1주 차) (1) | 2024.09.08 |
자료 구조
컴퓨터가 효율적으로 문제를 처리하기 위해 문제를 정의하고 분석하여
그에 대한 최적의 프로그램을 작성해야하기 때문
자료구조에 대한 개념과 활용 능력 필요
자료구조란?
자료를 효율적으로 처리할 수 있도록, 표현하고 저장하고 정리하는 것
자료구조의 형태에 따른 분류
자료의 표현
컴퓨터에서의 자료 표현과 단위
숫자, 문자, 그림, 소리, 기호 등 모든 형식의 자료를 2진수 코드로 표현하여 저장및 처리
2진수 코드란?
1과 0, On과 Off 참(true) 거짓(false)
디지털 시스템에서의 자료 표현 개수
자료의 종류
수치 자료
문자 자료
논리 자료
포인터 자료
문자열 자료
수치 자료의 표현
부호가와 절댓값 형식 가산기와 감산기를 다 사용함
1의 보수 형식 감산기를 사용함
2의 보수형식 간단한 형식 현존하는 컴퓨터는 이것만
자료구조란
자료를 효율적으로 처리할 수 있도록, 표현하고 저장하고 정리하는 것
알고리즘
문제해결 방법을 추상화하여 단계적 절차를 논리적으로 기술해 놓은 명세서
알고리즘의 조건
알고리즘의 표현 방법
알고리즘의 표현방법
순서도를 이용한 도식화
순서도는 특정기호를 상요하여 알고리즘의 실행단계를 표현함
자료구조와 알고리즘 2주차 (0) | 2024.09.22 |
---|
소프트웨어 설계 객체지향 디자인 패턴 UML
소프트웨어 설계 1
파트가 5개로 나뉘어 있음
소프트웨어 설계의 개념
객체지향 설계 기법 디자인 패턴
UML (Unitied Modeling Language) 을 이용한 시스템 설계
소프트웨어 아키텍처 설계
시스템 품질과 성능에 대한 설계 고려 사항
객체지향 설계 기법 디자인 패턴 복잡한 시스템을 구조화 하고 유지보수 가능한 설계를 수립 할 수 있도록 함
UML 요구사항을 분석하고 설계 문서를 작성할 수 있도록 함
소프트웨어 설계 중요 고려사항은?
이용자의 요구사항을 분석 설계관점 투영
1. 요구사항 분석 및 명세화 (다큐메이션해야함) 그림, 토표 다양한 방법으로 명세화 할 수있음
2. 시스템 아키텍처 설계
3. 묘둘화 및 인터페이스 정의
4. 데이터 구조 및 알고리즘 설계
5. 보안 및 안정성 고려
6. 성능 및 사용성 최적화
요구사항 확인
소프트웨어 공학
개념
소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문
여러 가지 방법과 도구, 관리 기법들을 통하여 소프트웨어의 품질과 생상성 향상 목적
기본원칙
개발된 소프트웨어의 품질이 유지되도록 지속적 검증
소프트웨어 개발 관련 사항 및 결과에 대해 명확한 기록 유지
라이프 사이클로 개발
기획 분석 설계 반영 구현
소프트웨어 생명 주기
개발 방법론 정의 운용 유지보수 각 과정을 단계별로 나눈 것 단계별로 주요활동 활동의 결과에 대한
산출물로 표현
소프트웨어 생명주기 모형에는 폭포수, 프로토타입, 나선형모형, 에자일 모형 등이 있음
폭포수 모형 (Waterfall Model)
나선형 모형 (Spiral Model, 점진적 모형)
애자일 모형(Agile Model)
매해 시험에 나옴 고객과 소통 초점을 맞춘 방법론
애자일 방식
스크럼 (Scrum)
보통 5~7명의 스크럼팀으로 이뤄짐
XP(eXtreme Programming)
테스트 소프트웨어를 스파이크라고 함
나선형의 위험분석과 동일한 것
요구사항
개발 대상에 대한 요구사항을 체계적으로 도출하고 이를 분석한 후 분석 결과를 명세서(Specification Document)에
정리한 다음 마지막으로 이를 확인 및 검증하는 일련의 구조화된 활동
자료흐름도
정보처리기사 3주차 (0) | 2024.09.22 |
---|---|
소프트웨어 설계2 (0) | 2024.09.14 |